Commit Graph

1699 Commits

Author SHA1 Message Date
Timothy 7b1dda7bf3 fix: mcp registry initialization 2026-04-30 19:52:04 -07:00
Timothy 725dd1f410 fix: shell split command 2026-04-30 19:52:01 -07:00
Timothy de4b2dc151 chore: give shell tools to queen 2026-04-30 19:51:57 -07:00
Timothy 0784cea314 fix: initial install 2026-04-30 19:51:55 -07:00
Timothy 20bbf08278 feat: perita manus 2026-04-30 19:51:44 -07:00
Richard Tang 76a7dd4bd5 feat: loose the max token for vision fallback as some models spend output on internal thinking 2026-04-30 13:24:49 -07:00
Richard Tang 73511a3c59 feat: vision fallback with intent 2026-04-30 13:02:57 -07:00
Richard Tang a0817fcde4 feat: vision model retry and fallback 2026-04-30 12:38:30 -07:00
Harshit Shukla 038c5fd807 fix(credentials): align EnvVarStorage exists with load semantics (#5680)
* Return boolean from exists method for credential check

* Add test for empty value handling in EnvVarStorage

Add test to verify exists() and load() consistency for empty values in EnvVarStorage.
2026-04-30 19:40:28 +08:00
Hundao 7881177f1f fix: unbreak main CI — skills HIVE_HOME refactor + run_parallel_workers task text (#7149)
* fix(skills): restore module-level path constants for HIVE_HOME refactor

ae2aa30e replaced module-level USER_SKILLS_DIR / INSTALL_NOTICE_SENTINEL
in installer.py and _NOTICE_SENTINEL_PATH / _TRUSTED_REPOS_PATH in
trust.py with lazy helper functions, but left callers and tests still
referencing the original symbols. CI fails with ImportError /
AttributeError.

Restore them as module-level constants computed from HIVE_HOME so the
desktop-shell override still works, callers in cli.py keep importing
the same names, and existing test monkeypatches stay valid.

Refs #7148

* fix(colony): preserve task text in run_parallel_workers spawn data

run_parallel_workers stamps __template_task_id into spec['data'] before
calling spawn_batch. Once that mutation makes spec['data'] non-empty,
colony_runtime.spawn()'s ``input_data or {"task": task}`` fallback no
longer fires and the task description disappears from the worker's
first user message. Workers loop on empty responses and never emit
SUBAGENT_REPORT.

Hoist the ``setdefault("task")`` step out of the template-publish try
block so task text survives even if the template store fails
non-fatally. Inner loop only stamps __template_task_id.

Refs #7148
2026-04-30 18:43:54 +08:00
Richard Tang 2cfea915f4 chore: ruff format 2026-04-29 19:23:31 -07:00
Richard Tang ac46a1be72 Merge branch 'feat/ask-user-chat-display' 2026-04-29 19:22:51 -07:00
Richard Tang 7b0b472167 chore: lint 2026-04-29 19:16:00 -07:00
Richard Tang 697aae33fe feat: prompts simplification 2026-04-29 19:13:01 -07:00
Richard Tang d26e7f33d2 fix: incubating mode approval guidence injection 2026-04-29 18:43:26 -07:00
Richard Tang 6357597e88 chore: improve llm visibility 2026-04-29 18:37:29 -07:00
Richard Tang 579f1d7512 feat(tasks): refactor task folder 2026-04-29 17:33:34 -07:00
bryan 965264c973 fix: defer ask_user question bubble until user answers 2026-04-29 16:31:19 -07:00
Richard Tang e80d275321 feat(queen): drop redundant _queen_style prompt block 2026-04-29 15:47:18 -07:00
Richard Tang 5b45fac435 feat: prompt improvements 2026-04-29 15:26:58 -07:00
Richard Tang 4794c8b816 chore: log the vision fallback model usage 2026-04-29 13:08:38 -07:00
Timothy 5492366c31 fix: recover frontend 2026-04-29 11:25:29 -07:00
Timothy ae2aa30edf fix: all agent path prefixed by HIVE_HOME 2026-04-28 19:16:35 -07:00
Timothy dd69a53de1 fix: hardcoded hive home 2026-04-28 18:25:21 -07:00
bryan 062a4e3166 feat: new-session navigation with queen warm-up UI 2026-04-28 18:17:25 -07:00
bryan fe9a903928 feat: surface ask_user questions in chat transcript 2026-04-28 18:16:47 -07:00
Timothy 7c3bada70c fix: patch litellm 2026-04-28 18:00:31 -07:00
Timothy 4ef951447d fix: compaction issues 2026-04-28 10:43:54 -07:00
Timothy ccb6556a41 Merge branch 'main' into feature/colony-push 2026-04-27 18:24:41 -07:00
Timothy 5ca5021fc1 feat: colony routes 2026-04-27 18:24:18 -07:00
Richard Tang 9eeba74851 Merge branch 'feat/tasks-system' 2026-04-27 10:55:50 -07:00
Richard Tang facd919371 chore: task list order 2026-04-27 10:55:18 -07:00
Richard Tang cb1484be85 feat: multi task creation 2026-04-27 10:35:02 -07:00
Timothy 82ce6bed68 Merge branch 'feat/api-colonies-import' 2026-04-26 21:13:18 -07:00
Timothy efdb404655 feat: POST /api/colonies/import — onboard a colony from a tarball
Accepts a multipart upload of `tar` / `tar.gz` (any compression
tarfile.open auto-detects) containing a single top-level directory and
unpacks it into HIVE_HOME/colonies/<name>. Lets a desktop client (or any
external tool) hand a colony spec to a remote runtime to run.

Form fields:
  file              (required)  the archive blob
  name              (optional)  override the colony name; defaults to
                                the archive's top-level dir
  replace_existing  (optional)  "true" to overwrite; else 409 if the
                                target dir already exists

Safety:
- 50 MB upload cap (multipart reader streams + caps each part)
- Manual path-traversal validation per member (Python 3.11 compatible —
  tarfile's safe `filter='data'` only landed in 3.12)
- Symlinks, hardlinks, device, fifo entries all rejected
- Colony name validated against the existing [a-z0-9_]+ pattern used by
  routes_colony_workers + queen_lifecycle_tools
- Mode bits masked to 0o755 / 0o644 so a tampered tar can't ship
  world-writable scripts

Tests cover happy path, name override, 409 / 201 around replace_existing,
path traversal, absolute paths, symlinks, multiple top-level dirs,
invalid colony name, missing file part, corrupt tar, non-multipart, and
uncompressed tar.

Future work (not in this PR): export endpoint, colony list/delete via
this same prefix, and an MCP tool wrapper so queens can move colonies
between hosts mid-conversation.
2026-04-26 20:16:10 -07:00
Richard Tang da361f735d chore: lint 2026-04-26 19:45:52 -07:00
Richard Tang eea0429f93 fix: improve prompt 2026-04-26 19:38:14 -07:00
Richard Tang 833aa4bc7a feat): fix structural blockers preventing the queen from using task_* , also enhanced the hook 2026-04-26 19:15:23 -07:00
Richard Tang 0af597881f feat(tasks): file-backed task system with colony template + UI 2026-04-26 18:49:45 -07:00
Hundao de8d6f0946 fix(tests): unblock main CI (#7141)
Two unrelated test failures were keeping main red:

- test_capabilities.py: fixtures referenced deprecated model identifiers
  no longer in model_catalog.json. After the catalog refactor unknown
  models default to vision-capable, so 12 "expect False" assertions
  flipped to True. Replace fixtures with current catalog entries that
  carry an explicit supports_vision flag.

- test_colony_runtime_overseer.py: a 200ms hard sleep racing the
  background worker was flaky on Windows CI. Poll for llm.stream_calls
  with a 5s deadline instead.
2026-04-26 21:34:21 +08:00
Richard Tang 2ab5e6d784 feat: model support 2026-04-24 20:17:41 -07:00
RichardTang-Aden e7f9b7d791 Merge pull request #7132 from vincentjiang777/feat/colony-session-transfer
feat: redesign configuration UI for sidebar, prompts, skills, and tools
2026-04-24 19:02:03 -07:00
Vincent Jiang 3cb0c69a96 feat: redesign configuration UI — sidebar, prompt library, skills, and tools
- Sidebar: rename Library to Configuration, reorder nav (Credentials 3rd, Configuration 4th), reorder sub-items (Prompts, Skills, Tools)
- Prompt Library: separate My Prompts from Community Prompts into distinct sections
- Skills Configuration: rename page title, sort queens by org chart order, group active/inactive skills, style Upload button as primary
- Tool Configuration: rename page title, sort queens by org chart order, add Save/Cancel/Allow all/Reset to defaults workflow, filter lifecycle tool names to fix "Unknown MCP tool name" save errors
- Fix (unknown) tool group label in server fallback catalog

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-24 10:41:38 -07:00
Richard Tang 22d75bfb05 chore: lint format 2026-04-24 10:12:06 -07:00
Richard Tang 386bbd5780 feat: persistent cost tracking 2026-04-24 09:19:57 -07:00
Richard Tang 235022b35d feat: support glm 5.1 2026-04-24 07:45:37 -07:00
Richard Tang 4d8f312c3e Merge remote-tracking branch 'origin/feat/cache-token' into feature/vision-subagent 2026-04-23 22:21:45 -07:00
Timothy 4651a6a85a fix: vision caption 2026-04-23 21:30:59 -07:00
Timothy ea9c163438 feat: image vision fallback 2026-04-23 21:24:56 -07:00
Richard Tang 77cc169606 feat: cost tracking 2026-04-23 15:34:07 -07:00