@compilr-dev/cli 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +236 -68
- package/dist/.tsbuildinfo.app +1 -0
- package/dist/.tsbuildinfo.data +1 -0
- package/dist/.tsbuildinfo.domain +1 -0
- package/dist/.tsbuildinfo.foundation +1 -0
- package/dist/agent.d.ts +61 -4
- package/dist/agent.js +241 -245
- package/dist/anchors/index.d.ts +1 -1
- package/dist/anchors/index.js +1 -1
- package/dist/anchors/project-anchors.d.ts +2 -2
- package/dist/anchors/project-anchors.js +1 -1
- package/dist/auth/api-client.d.ts +124 -0
- package/dist/auth/api-client.js +261 -0
- package/dist/auth/index.d.ts +172 -0
- package/dist/auth/index.js +545 -0
- package/dist/auth/storage.d.ts +52 -0
- package/dist/auth/storage.js +118 -0
- package/dist/changelog/index.d.ts +16 -0
- package/dist/changelog/index.js +24 -0
- package/dist/changelog/releases.d.ts +17 -0
- package/dist/changelog/releases.js +63 -0
- package/dist/commands-v2/handlers/auth.d.ts +10 -0
- package/dist/commands-v2/handlers/auth.js +118 -0
- package/dist/commands-v2/handlers/background.d.ts +14 -0
- package/dist/commands-v2/handlers/background.js +276 -0
- package/dist/commands-v2/handlers/context.js +266 -81
- package/dist/commands-v2/handlers/core.d.ts +1 -0
- package/dist/commands-v2/handlers/core.js +133 -8
- package/dist/commands-v2/handlers/debug.js +18 -0
- package/dist/commands-v2/handlers/delegations.d.ts +8 -0
- package/dist/commands-v2/handlers/delegations.js +29 -0
- package/dist/commands-v2/handlers/files.d.ts +8 -0
- package/dist/commands-v2/handlers/files.js +162 -0
- package/dist/commands-v2/handlers/filter.d.ts +9 -0
- package/dist/commands-v2/handlers/filter.js +130 -0
- package/dist/commands-v2/handlers/games.d.ts +7 -0
- package/dist/commands-v2/handlers/games.js +57 -0
- package/dist/commands-v2/handlers/index.d.ts +13 -0
- package/dist/commands-v2/handlers/index.js +39 -0
- package/dist/commands-v2/handlers/mcp.d.ts +8 -0
- package/dist/commands-v2/handlers/mcp.js +39 -0
- package/dist/commands-v2/handlers/notifications.d.ts +9 -0
- package/dist/commands-v2/handlers/notifications.js +34 -0
- package/dist/commands-v2/handlers/project.js +244 -23
- package/dist/commands-v2/handlers/reset.d.ts +11 -0
- package/dist/commands-v2/handlers/reset.js +118 -0
- package/dist/commands-v2/handlers/session.d.ts +161 -0
- package/dist/commands-v2/handlers/session.js +805 -0
- package/dist/commands-v2/handlers/settings.d.ts +2 -0
- package/dist/commands-v2/handlers/settings.js +217 -35
- package/dist/commands-v2/handlers/tasks.d.ts +5 -0
- package/dist/commands-v2/handlers/tasks.js +36 -0
- package/dist/commands-v2/handlers/team.d.ts +9 -0
- package/dist/commands-v2/handlers/team.js +549 -0
- package/dist/commands-v2/handlers/terminals.d.ts +9 -0
- package/dist/commands-v2/handlers/terminals.js +34 -0
- package/dist/commands-v2/index.d.ts +3 -2
- package/dist/commands-v2/index.js +4 -1
- package/dist/commands-v2/registry.d.ts +15 -0
- package/dist/commands-v2/registry.js +34 -0
- package/dist/commands-v2/types.d.ts +81 -3
- package/dist/commands.js +13 -0
- package/dist/compilr-diff-companion.vsix +0 -0
- package/dist/db/index.js +98 -4
- package/dist/db/repositories/document-repository.d.ts +2 -0
- package/dist/db/repositories/document-repository.js +5 -1
- package/dist/db/repositories/index.d.ts +2 -0
- package/dist/db/repositories/index.js +1 -0
- package/dist/db/repositories/plan-repository.d.ts +101 -0
- package/dist/db/repositories/plan-repository.js +275 -0
- package/dist/db/repositories/project-repository.d.ts +6 -0
- package/dist/db/repositories/project-repository.js +41 -0
- package/dist/db/repositories/work-item-repository.d.ts +15 -0
- package/dist/db/repositories/work-item-repository.js +69 -4
- package/dist/db/schema.d.ts +40 -3
- package/dist/db/schema.js +66 -3
- package/dist/episodes/index.d.ts +20 -0
- package/dist/episodes/index.js +27 -0
- package/dist/episodes/recorder.d.ts +51 -0
- package/dist/episodes/recorder.js +195 -0
- package/dist/episodes/significant-work.d.ts +21 -0
- package/dist/episodes/significant-work.js +56 -0
- package/dist/episodes/store.d.ts +38 -0
- package/dist/episodes/store.js +199 -0
- package/dist/episodes/types.d.ts +35 -0
- package/dist/episodes/types.js +6 -0
- package/dist/episodes/work-at-risk.d.ts +12 -0
- package/dist/episodes/work-at-risk.js +38 -0
- package/dist/episodes/work-summary-anchor.d.ts +23 -0
- package/dist/episodes/work-summary-anchor.js +73 -0
- package/dist/games/coins.d.ts +66 -0
- package/dist/games/coins.js +165 -0
- package/dist/games/game-base.d.ts +84 -0
- package/dist/games/game-base.js +204 -0
- package/dist/games/index.d.ts +16 -0
- package/dist/games/index.js +49 -0
- package/dist/games/scores.d.ts +69 -0
- package/dist/games/scores.js +191 -0
- package/dist/games/tetris/board.d.ts +59 -0
- package/dist/games/tetris/board.js +170 -0
- package/dist/games/tetris/index.d.ts +109 -0
- package/dist/games/tetris/index.js +610 -0
- package/dist/games/tetris/pieces.d.ts +44 -0
- package/dist/games/tetris/pieces.js +271 -0
- package/dist/games/tetris/renderer.d.ts +26 -0
- package/dist/games/tetris/renderer.js +77 -0
- package/dist/guide/guide-content.d.ts +23 -0
- package/dist/guide/guide-content.js +196 -0
- package/dist/guide/index.d.ts +8 -0
- package/dist/guide/index.js +7 -0
- package/dist/guide/shared-content.d.ts +37 -0
- package/dist/guide/shared-content.js +1272 -0
- package/dist/guide/tutorial-helpers.d.ts +57 -0
- package/dist/guide/tutorial-helpers.js +147 -0
- package/dist/handlers/ask-user-handlers.d.ts +32 -0
- package/dist/handlers/ask-user-handlers.js +104 -0
- package/dist/handlers/delegation-handlers.d.ts +34 -0
- package/dist/handlers/delegation-handlers.js +291 -0
- package/dist/handlers/permission-handler.d.ts +30 -0
- package/dist/handlers/permission-handler.js +205 -0
- package/dist/index.d.ts +11 -1
- package/dist/index.js +448 -271
- package/dist/input-handlers/memory-handler.d.ts +1 -1
- package/dist/input-handlers/memory-handler.js +2 -1
- package/dist/models/index.d.ts +10 -0
- package/dist/models/index.js +12 -0
- package/dist/models/model-registry.d.ts +38 -0
- package/dist/models/model-registry.js +69 -0
- package/dist/models/model-tiers.d.ts +28 -0
- package/dist/models/model-tiers.js +71 -0
- package/dist/models/model-validation.d.ts +25 -0
- package/dist/models/model-validation.js +291 -0
- package/dist/models/ollama-models.d.ts +73 -0
- package/dist/models/ollama-models.js +178 -0
- package/dist/models/provider-types.d.ts +6 -0
- package/dist/models/provider-types.js +1 -0
- package/dist/models/providers.d.ts +35 -0
- package/dist/models/providers.js +58 -0
- package/dist/models/types.d.ts +4 -0
- package/dist/models/types.js +4 -0
- package/dist/multi-agent/activity.d.ts +21 -0
- package/dist/multi-agent/activity.js +34 -0
- package/dist/multi-agent/agent-selection.d.ts +55 -0
- package/dist/multi-agent/agent-selection.js +90 -0
- package/dist/multi-agent/artifacts.d.ts +197 -0
- package/dist/multi-agent/artifacts.js +379 -0
- package/dist/multi-agent/checkpointer.d.ts +138 -0
- package/dist/multi-agent/checkpointer.js +471 -0
- package/dist/multi-agent/collision-utils.d.ts +16 -0
- package/dist/multi-agent/collision-utils.js +28 -0
- package/dist/multi-agent/context-resolver.d.ts +97 -0
- package/dist/multi-agent/context-resolver.js +316 -0
- package/dist/multi-agent/custom-agents.d.ts +83 -0
- package/dist/multi-agent/custom-agents.js +227 -0
- package/dist/multi-agent/delegation-tracker.d.ts +157 -0
- package/dist/multi-agent/delegation-tracker.js +243 -0
- package/dist/multi-agent/file-lock-hook.d.ts +29 -0
- package/dist/multi-agent/file-lock-hook.js +97 -0
- package/dist/multi-agent/file-locks.d.ts +58 -0
- package/dist/multi-agent/file-locks.js +194 -0
- package/dist/multi-agent/index.d.ts +24 -0
- package/dist/multi-agent/index.js +30 -0
- package/dist/multi-agent/mention-parser.d.ts +64 -0
- package/dist/multi-agent/mention-parser.js +146 -0
- package/dist/multi-agent/notification-manager.d.ts +84 -0
- package/dist/multi-agent/notification-manager.js +224 -0
- package/dist/multi-agent/pending-requests.d.ts +122 -0
- package/dist/multi-agent/pending-requests.js +155 -0
- package/dist/multi-agent/session-registry.d.ts +139 -0
- package/dist/multi-agent/session-registry.js +514 -0
- package/dist/multi-agent/shared-context.d.ts +293 -0
- package/dist/multi-agent/shared-context.js +671 -0
- package/dist/multi-agent/skill-requirements.d.ts +66 -0
- package/dist/multi-agent/skill-requirements.js +178 -0
- package/dist/multi-agent/task-assignment.d.ts +69 -0
- package/dist/multi-agent/task-assignment.js +123 -0
- package/dist/multi-agent/task-suggestion.d.ts +31 -0
- package/dist/multi-agent/task-suggestion.js +72 -0
- package/dist/multi-agent/team-agent.d.ts +201 -0
- package/dist/multi-agent/team-agent.js +488 -0
- package/dist/multi-agent/team.d.ts +286 -0
- package/dist/multi-agent/team.js +610 -0
- package/dist/multi-agent/tool-config.d.ts +110 -0
- package/dist/multi-agent/tool-config.js +661 -0
- package/dist/multi-agent/types.d.ts +211 -0
- package/dist/multi-agent/types.js +617 -0
- package/dist/prompts/plan-mode-prompt.d.ts +11 -0
- package/dist/prompts/plan-mode-prompt.js +95 -0
- package/dist/repl-helpers.js +3 -2
- package/dist/repl-v2.d.ts +401 -2
- package/dist/repl-v2.js +2577 -65
- package/dist/session/index.d.ts +6 -0
- package/dist/session/index.js +6 -0
- package/dist/session/project-session-manager.d.ts +158 -0
- package/dist/session/project-session-manager.js +650 -0
- package/dist/settings/index.d.ts +133 -13
- package/dist/settings/index.js +329 -24
- package/dist/settings/mcp-config.d.ts +76 -0
- package/dist/settings/mcp-config.js +143 -0
- package/dist/settings/paths.d.ts +4 -0
- package/dist/settings/paths.js +6 -0
- package/dist/shared-handlers.d.ts +62 -0
- package/dist/shared-handlers.js +48 -0
- package/dist/system-prompt/builder.d.ts +5 -0
- package/dist/system-prompt/builder.js +4 -0
- package/dist/system-prompt/index.d.ts +18 -0
- package/dist/system-prompt/index.js +18 -0
- package/dist/system-prompt/modules.d.ts +5 -0
- package/dist/system-prompt/modules.js +4 -0
- package/dist/tabbed-menu.js +2 -1
- package/dist/templates/compilr-md-import.d.ts +16 -0
- package/dist/templates/compilr-md-import.js +241 -0
- package/dist/templates/compilr-md.js +10 -61
- package/dist/templates/config-json.d.ts +1 -25
- package/dist/templates/index.d.ts +2 -0
- package/dist/templates/index.js +34 -73
- package/dist/tool-names.d.ts +108 -0
- package/dist/tool-names.js +227 -0
- package/dist/tools/anchor-tools.d.ts +4 -4
- package/dist/tools/anchor-tools.js +1 -1
- package/dist/tools/artifact-tools.d.ts +42 -0
- package/dist/tools/artifact-tools.js +328 -0
- package/dist/tools/ask-user-simple.d.ts +1 -1
- package/dist/tools/ask-user-simple.js +2 -1
- package/dist/tools/ask-user.d.ts +1 -1
- package/dist/tools/ask-user.js +2 -1
- package/dist/tools/backlog-wrappers.d.ts +5 -3
- package/dist/tools/backlog-wrappers.js +16 -1
- package/dist/tools/backlog.d.ts +2 -2
- package/dist/tools/backlog.js +1 -1
- package/dist/tools/db-tools.d.ts +8 -61
- package/dist/tools/db-tools.js +8 -13
- package/dist/tools/delegate-background.d.ts +27 -0
- package/dist/tools/delegate-background.js +115 -0
- package/dist/tools/delegate.d.ts +22 -0
- package/dist/tools/delegate.js +97 -0
- package/dist/tools/delegation-status.d.ts +16 -0
- package/dist/tools/delegation-status.js +128 -0
- package/dist/tools/document-db.d.ts +5 -5
- package/dist/tools/document-db.js +1 -1
- package/dist/tools/guide-tool.d.ts +12 -0
- package/dist/tools/guide-tool.js +59 -0
- package/dist/tools/handoff.d.ts +25 -0
- package/dist/tools/handoff.js +99 -0
- package/dist/tools/meta-tools.d.ts +26 -0
- package/dist/tools/meta-tools.js +47 -0
- package/dist/tools/plan-tools.d.ts +54 -0
- package/dist/tools/plan-tools.js +338 -0
- package/dist/tools/platform-adapter.d.ts +29 -0
- package/dist/tools/platform-adapter.js +394 -0
- package/dist/tools/project-db.d.ts +5 -73
- package/dist/tools/project-db.js +5 -336
- package/dist/tools/recall-work-tool.d.ts +18 -0
- package/dist/tools/recall-work-tool.js +82 -0
- package/dist/tools/workitem-db.d.ts +43 -11
- package/dist/tools/workitem-db.js +186 -5
- package/dist/tools.d.ts +67 -2
- package/dist/tools.js +237 -47
- package/dist/ui/autocomplete-controller.d.ts +42 -0
- package/dist/ui/autocomplete-controller.js +384 -0
- package/dist/ui/base/index.d.ts +1 -1
- package/dist/ui/base/index.js +1 -1
- package/dist/ui/base/overlay-base-v2.d.ts +10 -0
- package/dist/ui/base/overlay-base-v2.js +14 -0
- package/dist/ui/base/render-utils.d.ts +19 -0
- package/dist/ui/base/render-utils.js +25 -0
- package/dist/ui/base/tabbed-list-overlay-v2.d.ts +16 -1
- package/dist/ui/base/tabbed-list-overlay-v2.js +19 -1
- package/dist/ui/constants/labels.d.ts +14 -0
- package/dist/ui/constants/labels.js +51 -0
- package/dist/ui/conversation-store.d.ts +55 -0
- package/dist/ui/conversation-store.js +107 -0
- package/dist/ui/conversation.js +11 -13
- package/dist/ui/diff.d.ts +7 -1
- package/dist/ui/diff.js +85 -48
- package/dist/ui/ephemeral.js +3 -9
- package/dist/ui/file-autocomplete.d.ts +24 -0
- package/dist/ui/file-autocomplete.js +56 -0
- package/dist/ui/footer-renderer.d.ts +69 -0
- package/dist/ui/footer-renderer.js +431 -0
- package/dist/ui/footer.d.ts +74 -7
- package/dist/ui/footer.js +173 -16
- package/dist/ui/input-controller.d.ts +51 -0
- package/dist/ui/input-controller.js +176 -0
- package/dist/ui/input-prompt.d.ts +19 -0
- package/dist/ui/input-prompt.js +206 -14
- package/dist/ui/keyboard-handler.d.ts +57 -0
- package/dist/ui/keyboard-handler.js +557 -0
- package/dist/ui/live-region-facade.d.ts +42 -0
- package/dist/ui/live-region-facade.js +205 -0
- package/dist/ui/live-region.d.ts +0 -4
- package/dist/ui/live-region.js +6 -14
- package/dist/ui/mascot/renderer.d.ts +1 -1
- package/dist/ui/mascot/renderer.js +37 -2
- package/dist/ui/overlay/data/tutorial-content.d.ts +9 -0
- package/dist/ui/overlay/data/tutorial-content.js +9 -0
- package/dist/ui/overlay/data/tutorial-registry.d.ts +12 -0
- package/dist/ui/overlay/data/tutorial-registry.js +116 -0
- package/dist/ui/overlay/data/tutorial-types.d.ts +35 -0
- package/dist/ui/overlay/data/tutorial-types.js +6 -0
- package/dist/ui/overlay/data/tutorials/basics/first-conversation.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/basics/first-conversation.js +220 -0
- package/dist/ui/overlay/data/tutorials/basics/first-project.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/basics/first-project.js +284 -0
- package/dist/ui/overlay/data/tutorials/basics/navigation.d.ts +8 -0
- package/dist/ui/overlay/data/tutorials/basics/navigation.js +22 -0
- package/dist/ui/overlay/data/tutorials/basics/welcome.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/basics/welcome.js +174 -0
- package/dist/ui/overlay/data/tutorials/config/context-management.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/config/context-management.js +158 -0
- package/dist/ui/overlay/data/tutorials/config/mcp-servers.d.ts +8 -0
- package/dist/ui/overlay/data/tutorials/config/mcp-servers.js +155 -0
- package/dist/ui/overlay/data/tutorials/config/model-selection.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/config/model-selection.js +162 -0
- package/dist/ui/overlay/data/tutorials/config/permissions-safety.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/config/permissions-safety.js +163 -0
- package/dist/ui/overlay/data/tutorials/config/settings-config.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/config/settings-config.js +166 -0
- package/dist/ui/overlay/data/tutorials/planning/arch.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/arch.js +168 -0
- package/dist/ui/overlay/data/tutorials/planning/backlog.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/backlog.js +103 -0
- package/dist/ui/overlay/data/tutorials/planning/build.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/build.js +173 -0
- package/dist/ui/overlay/data/tutorials/planning/design.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/design.js +205 -0
- package/dist/ui/overlay/data/tutorials/planning/docs.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/docs.js +143 -0
- package/dist/ui/overlay/data/tutorials/planning/prd.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/prd.js +173 -0
- package/dist/ui/overlay/data/tutorials/planning/scaffold.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/scaffold.js +164 -0
- package/dist/ui/overlay/data/tutorials/planning/sketch.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/sketch.js +58 -0
- package/dist/ui/overlay/data/tutorials/projects/anchors.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/projects/anchors.js +248 -0
- package/dist/ui/overlay/data/tutorials/projects/import-project.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/projects/import-project.js +172 -0
- package/dist/ui/overlay/data/tutorials/projects/managing-projects.d.ts +8 -0
- package/dist/ui/overlay/data/tutorials/projects/managing-projects.js +212 -0
- package/dist/ui/overlay/data/tutorials/projects/new-project.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/projects/new-project.js +251 -0
- package/dist/ui/overlay/data/tutorials/projects/session-management.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/projects/session-management.js +169 -0
- package/dist/ui/overlay/data/tutorials/teams/background-execution.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/teams/background-execution.js +171 -0
- package/dist/ui/overlay/data/tutorials/teams/multi-terminal.d.ts +8 -0
- package/dist/ui/overlay/data/tutorials/teams/multi-terminal.js +147 -0
- package/dist/ui/overlay/data/tutorials/teams/task-assignment.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/teams/task-assignment.js +204 -0
- package/dist/ui/overlay/data/tutorials/teams/team-overview.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/teams/team-overview.js +165 -0
- package/dist/ui/overlay/data/tutorials/teams/working-with-agents.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/teams/working-with-agents.js +172 -0
- package/dist/ui/overlay/impl/agents-overlay-v2.js +6 -17
- package/dist/ui/overlay/impl/anchors-overlay-v2.js +30 -64
- package/dist/ui/overlay/impl/artifact-detail-overlay-v2.d.ts +43 -0
- package/dist/ui/overlay/impl/artifact-detail-overlay-v2.js +232 -0
- package/dist/ui/overlay/impl/artifact-overlay-v2.d.ts +40 -0
- package/dist/ui/overlay/impl/artifact-overlay-v2.js +115 -0
- package/dist/ui/overlay/impl/ask-user-overlay-v2.js +2 -5
- package/dist/ui/overlay/impl/background-overlay-v2.d.ts +40 -0
- package/dist/ui/overlay/impl/background-overlay-v2.js +147 -0
- package/dist/ui/overlay/impl/backlog-overlay-v2.d.ts +4 -1
- package/dist/ui/overlay/impl/backlog-overlay-v2.js +55 -16
- package/dist/ui/overlay/impl/changelog-overlay-v2.d.ts +44 -0
- package/dist/ui/overlay/impl/changelog-overlay-v2.js +165 -0
- package/dist/ui/overlay/impl/commands-overlay-v2.js +4 -6
- package/dist/ui/overlay/impl/config-overlay-v2.d.ts +12 -1
- package/dist/ui/overlay/impl/config-overlay-v2.js +164 -100
- package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.d.ts +83 -0
- package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.js +711 -0
- package/dist/ui/overlay/impl/dashboard-overlay-v2.d.ts +2 -0
- package/dist/ui/overlay/impl/dashboard-overlay-v2.js +26 -3
- package/dist/ui/overlay/impl/delegations-overlay-v2.d.ts +28 -0
- package/dist/ui/overlay/impl/delegations-overlay-v2.js +279 -0
- package/dist/ui/overlay/impl/docs-overlay-v2.js +12 -9
- package/dist/ui/overlay/impl/document-detail-overlay-v2.d.ts +7 -0
- package/dist/ui/overlay/impl/document-detail-overlay-v2.js +119 -78
- package/dist/ui/overlay/impl/filter-overlay-v2.d.ts +41 -0
- package/dist/ui/overlay/impl/filter-overlay-v2.js +110 -0
- package/dist/ui/overlay/impl/games-overlay-v2.d.ts +31 -0
- package/dist/ui/overlay/impl/games-overlay-v2.js +135 -0
- package/dist/ui/overlay/impl/help-overlay-v2.d.ts +26 -3
- package/dist/ui/overlay/impl/help-overlay-v2.js +20 -42
- package/dist/ui/overlay/impl/login-overlay-v2.d.ts +49 -0
- package/dist/ui/overlay/impl/login-overlay-v2.js +277 -0
- package/dist/ui/overlay/impl/mcp-overlay-v2.d.ts +63 -0
- package/dist/ui/overlay/impl/mcp-overlay-v2.js +907 -0
- package/dist/ui/overlay/impl/model-overlay-v2.d.ts +57 -13
- package/dist/ui/overlay/impl/model-overlay-v2.js +1086 -61
- package/dist/ui/overlay/impl/new-overlay-v2.d.ts +37 -6
- package/dist/ui/overlay/impl/new-overlay-v2.js +715 -65
- package/dist/ui/overlay/impl/notifications-overlay-v2.d.ts +20 -0
- package/dist/ui/overlay/impl/notifications-overlay-v2.js +116 -0
- package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.d.ts +76 -0
- package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.js +728 -0
- package/dist/ui/overlay/impl/pending-overlay-v2.d.ts +51 -0
- package/dist/ui/overlay/impl/pending-overlay-v2.js +445 -0
- package/dist/ui/overlay/impl/permission-overlay-v2.js +5 -5
- package/dist/ui/overlay/impl/permissions-overlay-v2.d.ts +85 -0
- package/dist/ui/overlay/impl/permissions-overlay-v2.js +820 -0
- package/dist/ui/overlay/impl/plan-approval-overlay-v2.d.ts +35 -0
- package/dist/ui/overlay/impl/plan-approval-overlay-v2.js +181 -0
- package/dist/ui/overlay/impl/project-edit-overlay-v2.d.ts +36 -0
- package/dist/ui/overlay/impl/project-edit-overlay-v2.js +195 -0
- package/dist/ui/overlay/impl/projects-overlay-v2.d.ts +1 -0
- package/dist/ui/overlay/impl/projects-overlay-v2.js +278 -44
- package/dist/ui/overlay/impl/reset-overlay-v2.d.ts +39 -0
- package/dist/ui/overlay/impl/reset-overlay-v2.js +107 -0
- package/dist/ui/overlay/impl/resume-overlay-v2.d.ts +60 -0
- package/dist/ui/overlay/impl/resume-overlay-v2.js +414 -0
- package/dist/ui/overlay/impl/session-mode-overlay-v2.d.ts +43 -0
- package/dist/ui/overlay/impl/session-mode-overlay-v2.js +124 -0
- package/dist/ui/overlay/impl/tasks-overlay-v2.d.ts +28 -0
- package/dist/ui/overlay/impl/tasks-overlay-v2.js +283 -0
- package/dist/ui/overlay/impl/team-overlay-v2.d.ts +86 -0
- package/dist/ui/overlay/impl/team-overlay-v2.js +692 -0
- package/dist/ui/overlay/impl/terminals-overlay-v2.d.ts +26 -0
- package/dist/ui/overlay/impl/terminals-overlay-v2.js +217 -0
- package/dist/ui/overlay/impl/tools-overlay-v2.js +3 -7
- package/dist/ui/overlay/impl/tutorial-overlay-v2.d.ts +30 -16
- package/dist/ui/overlay/impl/tutorial-overlay-v2.js +133 -956
- package/dist/ui/overlay/impl/workflow-overlay-v2.js +5 -1
- package/dist/ui/overlay/index.d.ts +20 -1
- package/dist/ui/overlay/index.js +19 -0
- package/dist/ui/overlay/types.d.ts +5 -0
- package/dist/ui/overlay-manager.d.ts +43 -0
- package/dist/ui/overlay-manager.js +238 -0
- package/dist/ui/overlays.js +4 -16
- package/dist/ui/permission-overlay.js +6 -5
- package/dist/ui/status-bar-controller.d.ts +33 -0
- package/dist/ui/status-bar-controller.js +99 -0
- package/dist/ui/subagent-renderer.js +3 -19
- package/dist/ui/terminal-autocomplete-utils.d.ts +23 -0
- package/dist/ui/terminal-autocomplete-utils.js +83 -0
- package/dist/ui/terminal-line-builders.d.ts +17 -0
- package/dist/ui/terminal-line-builders.js +42 -0
- package/dist/ui/terminal-render-item.d.ts +16 -0
- package/dist/ui/terminal-render-item.js +267 -0
- package/dist/ui/terminal-renderer.d.ts +7 -8
- package/dist/ui/terminal-renderer.js +7 -8
- package/dist/ui/terminal-types.d.ts +179 -0
- package/dist/ui/terminal-types.js +34 -0
- package/dist/ui/terminal-ui.d.ts +144 -276
- package/dist/ui/terminal-ui.js +384 -1861
- package/dist/ui/todo-zone.d.ts +19 -1
- package/dist/ui/todo-zone.js +71 -13
- package/dist/ui/tool-formatters.js +512 -1
- package/dist/ui/turn-metrics.d.ts +56 -0
- package/dist/ui/turn-metrics.js +75 -0
- package/dist/ui/types.d.ts +28 -0
- package/dist/ui/types.js +1 -0
- package/dist/ui/vscode-diff-ipc.d.ts +102 -0
- package/dist/ui/vscode-diff-ipc.js +385 -0
- package/dist/utils/credentials.d.ts +24 -5
- package/dist/utils/credentials.js +123 -9
- package/dist/utils/format-tokens.d.ts +13 -0
- package/dist/utils/format-tokens.js +18 -0
- package/dist/utils/git-config.d.ts +26 -0
- package/dist/utils/git-config.js +54 -0
- package/dist/utils/message-utils.d.ts +61 -0
- package/dist/utils/message-utils.js +72 -0
- package/dist/utils/model-tiers.d.ts +8 -1
- package/dist/utils/model-tiers.js +38 -16
- package/dist/utils/open-browser.d.ts +5 -0
- package/dist/utils/open-browser.js +32 -0
- package/dist/utils/path-safety.js +3 -2
- package/dist/utils/project-detection.d.ts +58 -0
- package/dist/utils/project-detection.js +424 -0
- package/dist/utils/project-memory.js +2 -1
- package/dist/utils/project-status.d.ts +2 -2
- package/dist/utils/startup-perf.d.ts +18 -0
- package/dist/utils/startup-perf.js +60 -0
- package/dist/utils/token-tracker.d.ts +62 -0
- package/dist/utils/token-tracker.js +150 -0
- package/dist/utils/token-types.d.ts +23 -0
- package/dist/utils/token-types.js +18 -0
- package/dist/utils/types/config-types.d.ts +32 -0
- package/dist/utils/types/config-types.js +8 -0
- package/dist/utils/update-checker.d.ts +28 -0
- package/dist/utils/update-checker.js +106 -0
- package/dist/utils/version.d.ts +7 -0
- package/dist/utils/version.js +10 -0
- package/dist/utils/vscode-detect.d.ts +39 -0
- package/dist/utils/vscode-detect.js +137 -0
- package/package.json +25 -12
- package/dist/commands/handler-types.d.ts +0 -68
- package/dist/commands/handler-types.js +0 -8
- package/dist/commands/handlers/agent-commands.d.ts +0 -13
- package/dist/commands/handlers/agent-commands.js +0 -305
- package/dist/commands/handlers/design-commands.d.ts +0 -15
- package/dist/commands/handlers/design-commands.js +0 -334
- package/dist/commands/handlers/index.d.ts +0 -20
- package/dist/commands/handlers/index.js +0 -43
- package/dist/commands/handlers/overlay-commands.d.ts +0 -21
- package/dist/commands/handlers/overlay-commands.js +0 -287
- package/dist/commands/handlers/project-commands.d.ts +0 -11
- package/dist/commands/handlers/project-commands.js +0 -167
- package/dist/commands/handlers/simple-commands.d.ts +0 -19
- package/dist/commands/handlers/simple-commands.js +0 -144
- package/dist/commands/registry.d.ts +0 -50
- package/dist/commands/registry.js +0 -75
- package/dist/index.old.d.ts +0 -7
- package/dist/index.old.js +0 -1014
- package/dist/repl.d.ts +0 -149
- package/dist/repl.js +0 -1151
- package/dist/templates/claude-md.d.ts +0 -7
- package/dist/templates/claude-md.js +0 -189
- package/dist/test-autocomplete.d.ts +0 -7
- package/dist/test-autocomplete.js +0 -85
- package/dist/test-tabbed-menu.d.ts +0 -7
- package/dist/test-tabbed-menu.js +0 -25
- package/dist/tool-selector.d.ts +0 -71
- package/dist/tool-selector.js +0 -184
- package/dist/ui/agents-overlay-v2.d.ts +0 -43
- package/dist/ui/agents-overlay-v2.js +0 -809
- package/dist/ui/agents-overlay.d.ts +0 -12
- package/dist/ui/agents-overlay.js +0 -863
- package/dist/ui/anchors-overlay.d.ts +0 -12
- package/dist/ui/anchors-overlay.js +0 -775
- package/dist/ui/arch-type-overlay.d.ts +0 -15
- package/dist/ui/arch-type-overlay.js +0 -201
- package/dist/ui/ask-user-overlay-v2.d.ts +0 -26
- package/dist/ui/ask-user-overlay-v2.js +0 -555
- package/dist/ui/ask-user-simple-overlay-v2.d.ts +0 -25
- package/dist/ui/ask-user-simple-overlay-v2.js +0 -215
- package/dist/ui/backlog-overlay.d.ts +0 -32
- package/dist/ui/backlog-overlay.js +0 -652
- package/dist/ui/commands-overlay-v2.d.ts +0 -33
- package/dist/ui/commands-overlay-v2.js +0 -441
- package/dist/ui/commands-overlay.d.ts +0 -16
- package/dist/ui/commands-overlay.js +0 -439
- package/dist/ui/config-overlay.d.ts +0 -35
- package/dist/ui/config-overlay.js +0 -707
- package/dist/ui/docs-overlay.d.ts +0 -17
- package/dist/ui/docs-overlay.js +0 -303
- package/dist/ui/footer-v2.d.ts +0 -222
- package/dist/ui/footer-v2.js +0 -1349
- package/dist/ui/help-overlay-v2.d.ts +0 -34
- package/dist/ui/help-overlay-v2.js +0 -309
- package/dist/ui/help-overlay.d.ts +0 -16
- package/dist/ui/help-overlay.js +0 -316
- package/dist/ui/init-overlay-v2.d.ts +0 -34
- package/dist/ui/init-overlay-v2.js +0 -600
- package/dist/ui/init-overlay.d.ts +0 -34
- package/dist/ui/init-overlay.js +0 -604
- package/dist/ui/input-prompt-v2.d.ts +0 -180
- package/dist/ui/input-prompt-v2.js +0 -999
- package/dist/ui/iteration-limit-overlay-v2.d.ts +0 -21
- package/dist/ui/iteration-limit-overlay-v2.js +0 -114
- package/dist/ui/keys-overlay-v2.d.ts +0 -41
- package/dist/ui/keys-overlay-v2.js +0 -248
- package/dist/ui/mascot-overlay-v2.d.ts +0 -41
- package/dist/ui/mascot-overlay-v2.js +0 -138
- package/dist/ui/mascot-overlay.d.ts +0 -21
- package/dist/ui/mascot-overlay.js +0 -146
- package/dist/ui/model-overlay-v2.d.ts +0 -49
- package/dist/ui/model-overlay-v2.js +0 -118
- package/dist/ui/model-overlay.d.ts +0 -27
- package/dist/ui/model-overlay.js +0 -221
- package/dist/ui/model-warning-overlay.d.ts +0 -30
- package/dist/ui/model-warning-overlay.js +0 -169
- package/dist/ui/new-overlay.d.ts +0 -34
- package/dist/ui/new-overlay.js +0 -604
- package/dist/ui/overlay/impl/init-overlay-v2.d.ts +0 -77
- package/dist/ui/overlay/impl/init-overlay-v2.js +0 -593
- package/dist/ui/overlay/overlay-types.d.ts +0 -128
- package/dist/ui/overlay/overlay-types.js +0 -22
- package/dist/ui/overlays/help-overlay-v2.d.ts +0 -28
- package/dist/ui/overlays/help-overlay-v2.js +0 -198
- package/dist/ui/overlays/index.d.ts +0 -11
- package/dist/ui/overlays/index.js +0 -11
- package/dist/ui/permission-overlay-v2.d.ts +0 -36
- package/dist/ui/permission-overlay-v2.js +0 -380
- package/dist/ui/projects-overlay.d.ts +0 -19
- package/dist/ui/projects-overlay.js +0 -484
- package/dist/ui/theme-overlay-v2.d.ts +0 -42
- package/dist/ui/theme-overlay-v2.js +0 -135
- package/dist/ui/theme-overlay.d.ts +0 -24
- package/dist/ui/theme-overlay.js +0 -127
- package/dist/ui/tools-overlay-v2.d.ts +0 -47
- package/dist/ui/tools-overlay-v2.js +0 -218
- package/dist/ui/tools-overlay.d.ts +0 -34
- package/dist/ui/tools-overlay.js +0 -230
- package/dist/ui/tutorial-overlay-v2.d.ts +0 -31
- package/dist/ui/tutorial-overlay-v2.js +0 -1035
- package/dist/ui/tutorial-overlay.d.ts +0 -11
- package/dist/ui/tutorial-overlay.js +0 -1034
- package/dist/ui/workflow-overlay.d.ts +0 -22
- package/dist/ui/workflow-overlay.js +0 -636
|
@@ -3,16 +3,20 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Tools for managing work items (backlog items, tasks, bugs) in the database.
|
|
5
5
|
*/
|
|
6
|
-
import { defineTool, createSuccessResult, createErrorResult } from '@compilr-dev/
|
|
6
|
+
import { defineTool, createSuccessResult, createErrorResult } from '@compilr-dev/sdk';
|
|
7
7
|
import { workItemRepository } from '../db/repositories/index.js';
|
|
8
8
|
import { getActiveProject } from './project-db.js';
|
|
9
9
|
import { getNextStep, isValidTransition, getStepCriteria, formatStepDisplay, STEP_ORDER, } from '../workflow/index.js';
|
|
10
|
+
import { awardWorkItemCompletion } from '../games/coins.js';
|
|
11
|
+
import { getActiveSharedContext } from '../multi-agent/activity.js';
|
|
10
12
|
/**
|
|
11
13
|
* workitem_query - Query work items with filters
|
|
12
14
|
*/
|
|
13
15
|
export const workitemQueryTool = defineTool({
|
|
14
16
|
name: 'workitem_query',
|
|
15
|
-
description: 'Query work items from the backlog
|
|
17
|
+
description: 'Query PERSISTENT work items from the project backlog (stored in database). ' +
|
|
18
|
+
'For session todos shown in footer, use todo_read. ' +
|
|
19
|
+
'Supports filtering by status, type, priority, owner, and search.',
|
|
16
20
|
inputSchema: {
|
|
17
21
|
type: 'object',
|
|
18
22
|
properties: {
|
|
@@ -35,6 +39,10 @@ export const workitemQueryTool = defineTool({
|
|
|
35
39
|
enum: ['critical', 'high', 'medium', 'low', 'all'],
|
|
36
40
|
description: 'Filter by priority (default: all)',
|
|
37
41
|
},
|
|
42
|
+
owner: {
|
|
43
|
+
type: 'string',
|
|
44
|
+
description: 'Filter by owner: agent ID, "self" for your own items, "unassigned" for unowned, or "all" (default: all)',
|
|
45
|
+
},
|
|
38
46
|
search: {
|
|
39
47
|
type: 'string',
|
|
40
48
|
description: 'Search in title and description',
|
|
@@ -57,11 +65,30 @@ export const workitemQueryTool = defineTool({
|
|
|
57
65
|
if (!projectId) {
|
|
58
66
|
return createErrorResult('No project specified and no active project. Use project_get or /projects to select a project first.');
|
|
59
67
|
}
|
|
68
|
+
// Resolve "self" to the active agent ID
|
|
69
|
+
// TODO(Phase 3): This uses the FOREGROUND agent's ID from SharedContext.
|
|
70
|
+
// When background agents are implemented, each agent session needs its own
|
|
71
|
+
// identity. The tool execution context should include the caller's agent ID,
|
|
72
|
+
// so background agents can correctly resolve "self" to their own ID.
|
|
73
|
+
// See: background-agents-spec.md - Tool Execution Context section
|
|
74
|
+
let resolvedOwner = input.owner;
|
|
75
|
+
if (input.owner === 'self') {
|
|
76
|
+
const sharedContext = getActiveSharedContext();
|
|
77
|
+
const activeAgent = sharedContext?.getTeam().activeAgent;
|
|
78
|
+
if (activeAgent && activeAgent !== 'default') {
|
|
79
|
+
resolvedOwner = activeAgent;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
// No active team agent, treat as "all" or return empty
|
|
83
|
+
resolvedOwner = undefined;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
60
86
|
const queryInput = {
|
|
61
87
|
project_id: projectId,
|
|
62
88
|
status: input.status,
|
|
63
89
|
type: input.type,
|
|
64
90
|
priority: input.priority,
|
|
91
|
+
owner: resolvedOwner,
|
|
65
92
|
search: input.search,
|
|
66
93
|
limit: input.limit || 50,
|
|
67
94
|
offset: input.offset || 0,
|
|
@@ -73,6 +100,7 @@ export const workitemQueryTool = defineTool({
|
|
|
73
100
|
type: item.type,
|
|
74
101
|
status: item.status,
|
|
75
102
|
priority: item.priority,
|
|
103
|
+
owner: item.owner,
|
|
76
104
|
guidedStep: item.guidedStep,
|
|
77
105
|
title: item.title,
|
|
78
106
|
description: item.description,
|
|
@@ -99,7 +127,8 @@ export const workitemQueryTool = defineTool({
|
|
|
99
127
|
*/
|
|
100
128
|
export const workitemAddTool = defineTool({
|
|
101
129
|
name: 'workitem_add',
|
|
102
|
-
description: 'Add a
|
|
130
|
+
description: 'Add a PERSISTENT work item to the project backlog (stored in database). ' +
|
|
131
|
+
'For session-level tasks shown in footer, use todo_write.',
|
|
103
132
|
inputSchema: {
|
|
104
133
|
type: 'object',
|
|
105
134
|
properties: {
|
|
@@ -130,6 +159,10 @@ export const workitemAddTool = defineTool({
|
|
|
130
159
|
enum: ['low', 'medium', 'high'],
|
|
131
160
|
description: 'Estimated effort',
|
|
132
161
|
},
|
|
162
|
+
owner: {
|
|
163
|
+
type: 'string',
|
|
164
|
+
description: 'Owner agent ID (e.g., "dev", "pm", "arch"). Omit for unassigned.',
|
|
165
|
+
},
|
|
133
166
|
},
|
|
134
167
|
required: ['type', 'title'],
|
|
135
168
|
},
|
|
@@ -147,17 +180,19 @@ export const workitemAddTool = defineTool({
|
|
|
147
180
|
description: input.description,
|
|
148
181
|
priority: input.priority,
|
|
149
182
|
estimated_effort: input.estimated_effort,
|
|
183
|
+
owner: input.owner,
|
|
150
184
|
};
|
|
151
185
|
const item = workItemRepository.create(createInput);
|
|
152
186
|
return createSuccessResult({
|
|
153
187
|
success: true,
|
|
154
|
-
message: `Work item ${item.itemId} created: "${item.title}"`,
|
|
188
|
+
message: `Work item ${item.itemId} created: "${item.title}"${item.owner ? ` (owner: ${item.owner})` : ''}`,
|
|
155
189
|
item: {
|
|
156
190
|
id: item.id,
|
|
157
191
|
itemId: item.itemId,
|
|
158
192
|
type: item.type,
|
|
159
193
|
status: item.status,
|
|
160
194
|
priority: item.priority,
|
|
195
|
+
owner: item.owner,
|
|
161
196
|
title: item.title,
|
|
162
197
|
},
|
|
163
198
|
});
|
|
@@ -172,7 +207,8 @@ export const workitemAddTool = defineTool({
|
|
|
172
207
|
*/
|
|
173
208
|
export const workitemUpdateTool = defineTool({
|
|
174
209
|
name: 'workitem_update',
|
|
175
|
-
description: 'Update
|
|
210
|
+
description: 'Update a PERSISTENT work item in the project backlog (stored in database). ' +
|
|
211
|
+
'Can update status, priority, owner, title, description, and more.',
|
|
176
212
|
inputSchema: {
|
|
177
213
|
type: 'object',
|
|
178
214
|
properties: {
|
|
@@ -194,6 +230,10 @@ export const workitemUpdateTool = defineTool({
|
|
|
194
230
|
enum: ['critical', 'high', 'medium', 'low'],
|
|
195
231
|
description: 'Priority',
|
|
196
232
|
},
|
|
233
|
+
owner: {
|
|
234
|
+
type: 'string',
|
|
235
|
+
description: 'Owner agent ID. Set to empty string to unassign.',
|
|
236
|
+
},
|
|
197
237
|
guided_step: {
|
|
198
238
|
type: 'string',
|
|
199
239
|
enum: ['plan', 'implement', 'test', 'commit', 'review'],
|
|
@@ -231,6 +271,10 @@ export const workitemUpdateTool = defineTool({
|
|
|
231
271
|
updateInput.status = input.status;
|
|
232
272
|
if (input.priority)
|
|
233
273
|
updateInput.priority = input.priority;
|
|
274
|
+
if (input.owner !== undefined) {
|
|
275
|
+
// Empty string means unassign
|
|
276
|
+
updateInput.owner = input.owner === '' ? null : input.owner;
|
|
277
|
+
}
|
|
234
278
|
if (input.guided_step !== undefined)
|
|
235
279
|
updateInput.guided_step = input.guided_step;
|
|
236
280
|
if (input.title)
|
|
@@ -243,6 +287,10 @@ export const workitemUpdateTool = defineTool({
|
|
|
243
287
|
if (!item) {
|
|
244
288
|
return createErrorResult(`Failed to update work item "${input.item_id}"`);
|
|
245
289
|
}
|
|
290
|
+
// Award coin if work item was just completed
|
|
291
|
+
if (input.status === 'completed' && existingItem.status !== 'completed') {
|
|
292
|
+
awardWorkItemCompletion();
|
|
293
|
+
}
|
|
246
294
|
return createSuccessResult({
|
|
247
295
|
success: true,
|
|
248
296
|
message: `Work item ${item.itemId} updated`,
|
|
@@ -252,6 +300,7 @@ export const workitemUpdateTool = defineTool({
|
|
|
252
300
|
type: item.type,
|
|
253
301
|
status: item.status,
|
|
254
302
|
priority: item.priority,
|
|
303
|
+
owner: item.owner,
|
|
255
304
|
guidedStep: item.guidedStep,
|
|
256
305
|
title: item.title,
|
|
257
306
|
completedAt: item.completedAt?.toISOString(),
|
|
@@ -474,6 +523,8 @@ The agent should explicitly call this to advance - it provides visibility and au
|
|
|
474
523
|
if (!updatedItem) {
|
|
475
524
|
return createErrorResult('Failed to update work item');
|
|
476
525
|
}
|
|
526
|
+
// Award coin for completing work item
|
|
527
|
+
awardWorkItemCompletion();
|
|
477
528
|
return createSuccessResult({
|
|
478
529
|
success: true,
|
|
479
530
|
item: {
|
|
@@ -535,6 +586,134 @@ The agent should explicitly call this to advance - it provides visibility and au
|
|
|
535
586
|
}
|
|
536
587
|
},
|
|
537
588
|
});
|
|
589
|
+
/**
|
|
590
|
+
* workitem_claim - Claim an unassigned work item
|
|
591
|
+
*/
|
|
592
|
+
export const workitemClaimTool = defineTool({
|
|
593
|
+
name: 'workitem_claim',
|
|
594
|
+
description: 'Claim an unassigned PERSISTENT work item from project backlog. ' +
|
|
595
|
+
'For session todos in footer, use todo_claim.',
|
|
596
|
+
inputSchema: {
|
|
597
|
+
type: 'object',
|
|
598
|
+
properties: {
|
|
599
|
+
item_id: {
|
|
600
|
+
type: 'string',
|
|
601
|
+
description: 'Work item ID (e.g., "REQ-001", "BUG-002")',
|
|
602
|
+
},
|
|
603
|
+
agent_id: {
|
|
604
|
+
type: 'string',
|
|
605
|
+
description: 'The agent ID claiming the work item',
|
|
606
|
+
},
|
|
607
|
+
project_id: {
|
|
608
|
+
type: 'number',
|
|
609
|
+
description: 'Project ID (uses active project if not provided)',
|
|
610
|
+
},
|
|
611
|
+
},
|
|
612
|
+
required: ['item_id', 'agent_id'],
|
|
613
|
+
},
|
|
614
|
+
execute: async (input) => {
|
|
615
|
+
await Promise.resolve();
|
|
616
|
+
try {
|
|
617
|
+
const projectId = input.project_id || getActiveProject()?.id;
|
|
618
|
+
if (!projectId) {
|
|
619
|
+
return createErrorResult('No project specified and no active project.');
|
|
620
|
+
}
|
|
621
|
+
const existingItem = workItemRepository.getByItemId(projectId, input.item_id);
|
|
622
|
+
if (!existingItem) {
|
|
623
|
+
return createErrorResult(`Work item "${input.item_id}" not found in current project`);
|
|
624
|
+
}
|
|
625
|
+
if (existingItem.owner) {
|
|
626
|
+
return createErrorResult(`Work item "${input.item_id}" is already owned by "${existingItem.owner}". Use workitem_handoff to transfer ownership.`);
|
|
627
|
+
}
|
|
628
|
+
const item = workItemRepository.update(existingItem.id, { owner: input.agent_id });
|
|
629
|
+
if (!item) {
|
|
630
|
+
return createErrorResult(`Failed to claim work item "${input.item_id}"`);
|
|
631
|
+
}
|
|
632
|
+
return createSuccessResult({
|
|
633
|
+
success: true,
|
|
634
|
+
message: `Work item ${item.itemId} claimed by ${input.agent_id}`,
|
|
635
|
+
item: {
|
|
636
|
+
id: item.id,
|
|
637
|
+
itemId: item.itemId,
|
|
638
|
+
type: item.type,
|
|
639
|
+
status: item.status,
|
|
640
|
+
priority: item.priority,
|
|
641
|
+
owner: item.owner,
|
|
642
|
+
title: item.title,
|
|
643
|
+
},
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
catch (error) {
|
|
647
|
+
return createErrorResult(`Failed to claim work item: ${error instanceof Error ? error.message : String(error)}`);
|
|
648
|
+
}
|
|
649
|
+
},
|
|
650
|
+
});
|
|
651
|
+
/**
|
|
652
|
+
* workitem_handoff - Hand off a work item to another agent
|
|
653
|
+
*/
|
|
654
|
+
export const workitemHandoffTool = defineTool({
|
|
655
|
+
name: 'workitem_handoff',
|
|
656
|
+
description: 'Hand off a PERSISTENT work item (from project backlog) to another agent. ' +
|
|
657
|
+
'For session todos in footer, use todo_handoff.',
|
|
658
|
+
inputSchema: {
|
|
659
|
+
type: 'object',
|
|
660
|
+
properties: {
|
|
661
|
+
item_id: {
|
|
662
|
+
type: 'string',
|
|
663
|
+
description: 'Work item ID (e.g., "REQ-001", "BUG-002")',
|
|
664
|
+
},
|
|
665
|
+
to_agent_id: {
|
|
666
|
+
type: 'string',
|
|
667
|
+
description: 'The agent ID to hand off to',
|
|
668
|
+
},
|
|
669
|
+
notes: {
|
|
670
|
+
type: 'string',
|
|
671
|
+
description: 'Optional notes about the handoff (context, status, blockers)',
|
|
672
|
+
},
|
|
673
|
+
project_id: {
|
|
674
|
+
type: 'number',
|
|
675
|
+
description: 'Project ID (uses active project if not provided)',
|
|
676
|
+
},
|
|
677
|
+
},
|
|
678
|
+
required: ['item_id', 'to_agent_id'],
|
|
679
|
+
},
|
|
680
|
+
execute: async (input) => {
|
|
681
|
+
await Promise.resolve();
|
|
682
|
+
try {
|
|
683
|
+
const projectId = input.project_id || getActiveProject()?.id;
|
|
684
|
+
if (!projectId) {
|
|
685
|
+
return createErrorResult('No project specified and no active project.');
|
|
686
|
+
}
|
|
687
|
+
const existingItem = workItemRepository.getByItemId(projectId, input.item_id);
|
|
688
|
+
if (!existingItem) {
|
|
689
|
+
return createErrorResult(`Work item "${input.item_id}" not found in current project`);
|
|
690
|
+
}
|
|
691
|
+
const previousOwner = existingItem.owner;
|
|
692
|
+
const item = workItemRepository.update(existingItem.id, { owner: input.to_agent_id });
|
|
693
|
+
if (!item) {
|
|
694
|
+
return createErrorResult(`Failed to hand off work item "${input.item_id}"`);
|
|
695
|
+
}
|
|
696
|
+
return createSuccessResult({
|
|
697
|
+
success: true,
|
|
698
|
+
message: `Work item ${item.itemId} handed off from "${previousOwner ?? 'unassigned'}" to "${input.to_agent_id}"`,
|
|
699
|
+
item: {
|
|
700
|
+
id: item.id,
|
|
701
|
+
itemId: item.itemId,
|
|
702
|
+
type: item.type,
|
|
703
|
+
status: item.status,
|
|
704
|
+
priority: item.priority,
|
|
705
|
+
owner: item.owner,
|
|
706
|
+
title: item.title,
|
|
707
|
+
},
|
|
708
|
+
previousOwner,
|
|
709
|
+
notes: input.notes,
|
|
710
|
+
});
|
|
711
|
+
}
|
|
712
|
+
catch (error) {
|
|
713
|
+
return createErrorResult(`Failed to hand off work item: ${error instanceof Error ? error.message : String(error)}`);
|
|
714
|
+
}
|
|
715
|
+
},
|
|
716
|
+
});
|
|
538
717
|
/**
|
|
539
718
|
* All work item tools
|
|
540
719
|
*/
|
|
@@ -546,4 +725,6 @@ export const workitemDbTools = [
|
|
|
546
725
|
workitemDeleteTool,
|
|
547
726
|
workitemStatusCountsTool,
|
|
548
727
|
workitemAdvanceStepTool,
|
|
728
|
+
workitemClaimTool,
|
|
729
|
+
workitemHandoffTool,
|
|
549
730
|
];
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,15 +1,80 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tool Registry Setup
|
|
3
3
|
*
|
|
4
|
-
* Configures all available tools from @compilr-dev/
|
|
5
|
-
* and @compilr-dev/agents-coding
|
|
4
|
+
* Configures all available tools from @compilr-dev/sdk
|
|
5
|
+
* (which re-exports from @compilr-dev/agents and @compilr-dev/agents-coding).
|
|
6
|
+
*
|
|
7
|
+
* ARCHITECTURE (Meta-Tools):
|
|
8
|
+
* - DIRECT TOOLS: Always available, called by name (most common operations)
|
|
9
|
+
* - META-REGISTRY TOOLS: Available via use_tool() (specialized operations)
|
|
10
|
+
*
|
|
11
|
+
* This reduces token overhead from ~15K to ~2K per request.
|
|
12
|
+
*
|
|
13
|
+
* SINGLE SOURCE OF TRUTH:
|
|
14
|
+
* Tool names are defined in tool-names.ts (a dependency-free module).
|
|
15
|
+
* This file re-exports them for convenience. Import from here or tool-names.ts.
|
|
6
16
|
*/
|
|
17
|
+
export { TOOL_NAMES, type ToolName, DIRECT_TOOL_NAMES, META_TOOL_NAMES, META_REGISTRY_TOOL_NAMES, getAllToolNames, } from './tool-names.js';
|
|
18
|
+
import { TodoStore, type Tool } from '@compilr-dev/sdk';
|
|
19
|
+
export declare const todoStore: TodoStore;
|
|
20
|
+
import { setMetaToolFilter, getRegisteredMetaTools } from './tools/meta-tools.js';
|
|
21
|
+
export { setMetaToolFilter, getRegisteredMetaTools };
|
|
7
22
|
/**
|
|
8
23
|
* Creates the tool registry with all available tools.
|
|
9
24
|
* Returns tools as-is - the Agent.registerTools() method handles typing.
|
|
25
|
+
*
|
|
26
|
+
* @deprecated Use createDirectToolRegistry() + initializeMetaTools() instead
|
|
10
27
|
*/
|
|
11
28
|
export declare function createToolRegistry(): unknown[];
|
|
12
29
|
/**
|
|
13
30
|
* Returns a minimal set of tools for basic testing.
|
|
14
31
|
*/
|
|
15
32
|
export declare function createMinimalToolRegistry(): unknown[];
|
|
33
|
+
/**
|
|
34
|
+
* Get direct tools that are always available.
|
|
35
|
+
* These are declared normally and can be called by name.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getDirectTools(): Tool[];
|
|
38
|
+
/**
|
|
39
|
+
* Get meta-tools for agent registration.
|
|
40
|
+
* Only get_tool_info is kept as a direct tool — use_tool and list_tools
|
|
41
|
+
* are no longer needed since the fallback handler routes calls transparently.
|
|
42
|
+
*/
|
|
43
|
+
export declare function getMetaTools(): Tool[];
|
|
44
|
+
/**
|
|
45
|
+
* Create a fallback handler for the tool registry.
|
|
46
|
+
* When the agent calls a tool not in the direct registry, this handler
|
|
47
|
+
* checks the meta-registry and executes it transparently.
|
|
48
|
+
*/
|
|
49
|
+
export declare function createToolFallback(): (name: string, input: Record<string, unknown>) => Promise<import('@compilr-dev/sdk').ToolExecutionResult | null>;
|
|
50
|
+
/**
|
|
51
|
+
* Initialize the meta-tool registry with specialized tools.
|
|
52
|
+
* Call this once at startup.
|
|
53
|
+
*/
|
|
54
|
+
export declare function initializeMetaTools(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Get the tool index for the system prompt.
|
|
57
|
+
* This lists all meta-registry tools with their signatures.
|
|
58
|
+
*/
|
|
59
|
+
export declare function getToolIndexForSystemPrompt(): string;
|
|
60
|
+
/**
|
|
61
|
+
* Get count of meta-registry tools.
|
|
62
|
+
*/
|
|
63
|
+
export declare function getMetaToolsCount(): number;
|
|
64
|
+
/**
|
|
65
|
+
* Check if meta-tools mode is enabled.
|
|
66
|
+
* Returns true if the meta-tool registry has been initialized.
|
|
67
|
+
*/
|
|
68
|
+
export declare function isMetaToolsEnabled(): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Get tool statistics for debugging/display.
|
|
71
|
+
*/
|
|
72
|
+
export declare function getToolStats(): {
|
|
73
|
+
directTools: number;
|
|
74
|
+
metaRegistryTools: number;
|
|
75
|
+
totalTools: number;
|
|
76
|
+
estimatedDirectTokens: number;
|
|
77
|
+
estimatedMetaTokens: number;
|
|
78
|
+
estimatedLegacyTokens: number;
|
|
79
|
+
tokenSavings: number;
|
|
80
|
+
};
|