@compilr-dev/cli 0.5.0 → 0.5.2
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/LICENSE +108 -0
- package/README.md +237 -69
- 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 +286 -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 +295 -31
- 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 +6 -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 +5 -2
- package/dist/repl-v2.d.ts +401 -2
- package/dist/repl-v2.js +2588 -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 +113 -0
- package/dist/tool-names.js +239 -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.d.ts +2 -2
- package/dist/tools/backlog.js +1 -1
- package/dist/tools/db-tools.d.ts +13 -61
- package/dist/tools/db-tools.js +12 -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/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/platform-adapter.d.ts +35 -0
- package/dist/tools/platform-adapter.js +404 -0
- package/dist/tools/project-db.d.ts +5 -73
- package/dist/tools/project-db.js +5 -336
- package/dist/tools.d.ts +67 -2
- package/dist/tools.js +240 -48
- 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 +52 -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.d.ts +1 -0
- package/dist/ui/overlay/impl/workflow-overlay-v2.js +10 -4
- 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 +696 -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 +27 -13
- 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/tools/anchor-tools.d.ts +0 -31
- package/dist/tools/anchor-tools.js +0 -255
- package/dist/tools/backlog-wrappers.d.ts +0 -54
- package/dist/tools/backlog-wrappers.js +0 -338
- package/dist/tools/document-db.d.ts +0 -43
- package/dist/tools/document-db.js +0 -220
- package/dist/tools/workitem-db.d.ts +0 -103
- package/dist/tools/workitem-db.js +0 -549
- 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
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Anchor Tools - Agent tools for managing anchors
|
|
3
|
-
*
|
|
4
|
-
* Provides anchor_add and anchor_remove tools that allow
|
|
5
|
-
* the agent to add critical context that survives compaction.
|
|
6
|
-
*/
|
|
7
|
-
import { defineTool } from '@compilr-dev/agents';
|
|
8
|
-
import { getGlobalAnchorManager, getAnchorManager, } from '../anchors/index.js';
|
|
9
|
-
import { getActiveProject } from './project-db.js';
|
|
10
|
-
// =============================================================================
|
|
11
|
-
// anchor_add Tool
|
|
12
|
-
// =============================================================================
|
|
13
|
-
export const anchorAddTool = defineTool({
|
|
14
|
-
name: 'anchor_add',
|
|
15
|
-
description: 'Add critical information that must survive context compaction. ' +
|
|
16
|
-
'Use this for: project context, important decisions, user preferences, ' +
|
|
17
|
-
'architectural constraints, or any information that should persist across the entire conversation. ' +
|
|
18
|
-
'Anchors are always included at the top of the context window.',
|
|
19
|
-
inputSchema: {
|
|
20
|
-
type: 'object',
|
|
21
|
-
properties: {
|
|
22
|
-
content: {
|
|
23
|
-
type: 'string',
|
|
24
|
-
description: 'The critical information to preserve. Keep it concise but complete.',
|
|
25
|
-
},
|
|
26
|
-
priority: {
|
|
27
|
-
type: 'string',
|
|
28
|
-
enum: ['critical', 'safety', 'info'],
|
|
29
|
-
description: 'Priority level. "critical" for must-never-forget info (user preferences, key constraints), ' +
|
|
30
|
-
'"safety" for safety-related context, "info" for general helpful context.',
|
|
31
|
-
},
|
|
32
|
-
scope: {
|
|
33
|
-
type: 'string',
|
|
34
|
-
enum: ['global', 'project'],
|
|
35
|
-
description: 'Scope for the anchor. "global" persists across all projects, ' +
|
|
36
|
-
'"project" is specific to the current project (requires active project).',
|
|
37
|
-
},
|
|
38
|
-
tags: {
|
|
39
|
-
type: 'array',
|
|
40
|
-
items: { type: 'string' },
|
|
41
|
-
description: 'Optional tags for categorization (e.g., ["architecture", "decision"])',
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
required: ['content'],
|
|
45
|
-
},
|
|
46
|
-
execute: (input) => {
|
|
47
|
-
try {
|
|
48
|
-
// Validate content
|
|
49
|
-
if (!input.content || input.content.trim().length === 0) {
|
|
50
|
-
return Promise.resolve({
|
|
51
|
-
success: false,
|
|
52
|
-
error: 'Anchor content is required and cannot be empty',
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
const content = input.content.trim();
|
|
56
|
-
const priority = input.priority ?? 'info';
|
|
57
|
-
const activeProject = getActiveProject();
|
|
58
|
-
// Determine scope
|
|
59
|
-
let scope = input.scope;
|
|
60
|
-
if (!scope) {
|
|
61
|
-
scope = activeProject ? 'project' : 'global';
|
|
62
|
-
}
|
|
63
|
-
// Validate project scope
|
|
64
|
-
if (scope === 'project' && !activeProject) {
|
|
65
|
-
return Promise.resolve({
|
|
66
|
-
success: false,
|
|
67
|
-
error: 'Cannot add project-scoped anchor: no active project. Use scope: "global" instead.',
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
// Get project ID for project-scoped anchors (validated above that activeProject exists)
|
|
71
|
-
const projectId = scope === 'project' && activeProject
|
|
72
|
-
? String(activeProject.id)
|
|
73
|
-
: undefined;
|
|
74
|
-
// Get the appropriate manager
|
|
75
|
-
const manager = scope === 'global'
|
|
76
|
-
? getGlobalAnchorManager()
|
|
77
|
-
: getAnchorManager(projectId ?? '');
|
|
78
|
-
// Add the anchor
|
|
79
|
-
const anchor = manager.add({
|
|
80
|
-
content,
|
|
81
|
-
priority,
|
|
82
|
-
scope: 'persistent', // Anchors persist across sessions
|
|
83
|
-
tags: input.tags,
|
|
84
|
-
projectId,
|
|
85
|
-
});
|
|
86
|
-
return Promise.resolve({
|
|
87
|
-
success: true,
|
|
88
|
-
result: {
|
|
89
|
-
id: anchor.id,
|
|
90
|
-
content: anchor.content,
|
|
91
|
-
priority: anchor.priority,
|
|
92
|
-
scope: scope,
|
|
93
|
-
tags: anchor.tags,
|
|
94
|
-
message: `Anchor added successfully (${scope} scope, ${priority} priority)`,
|
|
95
|
-
},
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
catch (err) {
|
|
99
|
-
return Promise.resolve({
|
|
100
|
-
success: false,
|
|
101
|
-
error: `Failed to add anchor: ${err instanceof Error ? err.message : String(err)}`,
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
});
|
|
106
|
-
// =============================================================================
|
|
107
|
-
// anchor_remove Tool
|
|
108
|
-
// =============================================================================
|
|
109
|
-
export const anchorRemoveTool = defineTool({
|
|
110
|
-
name: 'anchor_remove',
|
|
111
|
-
description: 'Remove an anchor by its ID. Use this to clean up outdated or no longer relevant anchors. ' +
|
|
112
|
-
'Use anchor_list first to see available anchors and their IDs.',
|
|
113
|
-
inputSchema: {
|
|
114
|
-
type: 'object',
|
|
115
|
-
properties: {
|
|
116
|
-
id: {
|
|
117
|
-
type: 'string',
|
|
118
|
-
description: 'The ID of the anchor to remove',
|
|
119
|
-
},
|
|
120
|
-
},
|
|
121
|
-
required: ['id'],
|
|
122
|
-
},
|
|
123
|
-
execute: (input) => {
|
|
124
|
-
try {
|
|
125
|
-
if (!input.id || input.id.trim().length === 0) {
|
|
126
|
-
return Promise.resolve({
|
|
127
|
-
success: false,
|
|
128
|
-
error: 'Anchor ID is required',
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
const id = input.id.trim();
|
|
132
|
-
const activeProject = getActiveProject();
|
|
133
|
-
// Try to remove from project anchors first, then global
|
|
134
|
-
let removed = false;
|
|
135
|
-
let scope = 'unknown';
|
|
136
|
-
if (activeProject) {
|
|
137
|
-
const projectManager = getAnchorManager(String(activeProject.id));
|
|
138
|
-
if (projectManager.has(id)) {
|
|
139
|
-
removed = projectManager.remove(id);
|
|
140
|
-
scope = 'project';
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
if (!removed) {
|
|
144
|
-
const globalManager = getGlobalAnchorManager();
|
|
145
|
-
if (globalManager.has(id)) {
|
|
146
|
-
removed = globalManager.remove(id);
|
|
147
|
-
scope = 'global';
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
if (!removed) {
|
|
151
|
-
return Promise.resolve({
|
|
152
|
-
success: false,
|
|
153
|
-
error: `Anchor with ID "${id}" not found`,
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
return Promise.resolve({
|
|
157
|
-
success: true,
|
|
158
|
-
result: {
|
|
159
|
-
id,
|
|
160
|
-
scope,
|
|
161
|
-
message: `Anchor removed successfully (was ${scope} scope)`,
|
|
162
|
-
},
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
catch (err) {
|
|
166
|
-
return Promise.resolve({
|
|
167
|
-
success: false,
|
|
168
|
-
error: `Failed to remove anchor: ${err instanceof Error ? err.message : String(err)}`,
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
});
|
|
173
|
-
// =============================================================================
|
|
174
|
-
// anchor_list Tool
|
|
175
|
-
// =============================================================================
|
|
176
|
-
export const anchorListTool = defineTool({
|
|
177
|
-
name: 'anchor_list',
|
|
178
|
-
description: 'List all anchors. Returns anchor IDs, content, priority, and scope. ' +
|
|
179
|
-
'Use this to see what persistent context is available before adding or removing anchors.',
|
|
180
|
-
inputSchema: {
|
|
181
|
-
type: 'object',
|
|
182
|
-
properties: {
|
|
183
|
-
scope: {
|
|
184
|
-
type: 'string',
|
|
185
|
-
enum: ['global', 'project', 'all'],
|
|
186
|
-
description: 'Filter by scope: "global", "project", or "all" (default: "all")',
|
|
187
|
-
},
|
|
188
|
-
priority: {
|
|
189
|
-
type: 'string',
|
|
190
|
-
enum: ['critical', 'safety', 'info'],
|
|
191
|
-
description: 'Filter by priority level',
|
|
192
|
-
},
|
|
193
|
-
},
|
|
194
|
-
},
|
|
195
|
-
execute: (input) => {
|
|
196
|
-
try {
|
|
197
|
-
const activeProject = getActiveProject();
|
|
198
|
-
const scope = input.scope ?? 'all';
|
|
199
|
-
const anchors = [];
|
|
200
|
-
// Collect global anchors
|
|
201
|
-
if (scope === 'global' || scope === 'all') {
|
|
202
|
-
const globalManager = getGlobalAnchorManager();
|
|
203
|
-
const globalAnchors = globalManager.getAll({ priority: input.priority });
|
|
204
|
-
for (const anchor of globalAnchors) {
|
|
205
|
-
anchors.push({
|
|
206
|
-
id: anchor.id,
|
|
207
|
-
content: anchor.content,
|
|
208
|
-
priority: anchor.priority,
|
|
209
|
-
scope: 'global',
|
|
210
|
-
tags: anchor.tags,
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
// Collect project anchors
|
|
215
|
-
if ((scope === 'project' || scope === 'all') && activeProject) {
|
|
216
|
-
const projectManager = getAnchorManager(String(activeProject.id));
|
|
217
|
-
const projectAnchors = projectManager.getAll({ priority: input.priority });
|
|
218
|
-
for (const anchor of projectAnchors) {
|
|
219
|
-
anchors.push({
|
|
220
|
-
id: anchor.id,
|
|
221
|
-
content: anchor.content,
|
|
222
|
-
priority: anchor.priority,
|
|
223
|
-
scope: 'project',
|
|
224
|
-
tags: anchor.tags,
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
// Sort by priority (critical first)
|
|
229
|
-
const priorityOrder = { critical: 0, safety: 1, info: 2 };
|
|
230
|
-
anchors.sort((a, b) => {
|
|
231
|
-
const pa = priorityOrder[a.priority] ?? 2;
|
|
232
|
-
const pb = priorityOrder[b.priority] ?? 2;
|
|
233
|
-
return pa - pb;
|
|
234
|
-
});
|
|
235
|
-
return Promise.resolve({
|
|
236
|
-
success: true,
|
|
237
|
-
result: {
|
|
238
|
-
count: anchors.length,
|
|
239
|
-
activeProject: activeProject?.displayName ?? null,
|
|
240
|
-
anchors,
|
|
241
|
-
},
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
catch (err) {
|
|
245
|
-
return Promise.resolve({
|
|
246
|
-
success: false,
|
|
247
|
-
error: `Failed to list anchors: ${err instanceof Error ? err.message : String(err)}`,
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
},
|
|
251
|
-
});
|
|
252
|
-
// =============================================================================
|
|
253
|
-
// Export all anchor tools
|
|
254
|
-
// =============================================================================
|
|
255
|
-
export const allAnchorTools = [anchorAddTool, anchorRemoveTool, anchorListTool];
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Backlog Tool Wrappers
|
|
3
|
-
*
|
|
4
|
-
* These wrappers provide `backlog_read` and `backlog_write` tools that skills expect,
|
|
5
|
-
* but internally delegate to the `workitem_*` database tools.
|
|
6
|
-
*
|
|
7
|
-
* This allows library skills (which reference backlog_*) to work seamlessly
|
|
8
|
-
* with the CLI's database-backed workitem system.
|
|
9
|
-
*/
|
|
10
|
-
interface BacklogReadInput {
|
|
11
|
-
/** Get a specific item by ID */
|
|
12
|
-
id?: string;
|
|
13
|
-
/** Filter by status */
|
|
14
|
-
status?: 'backlog' | 'in-progress' | 'done' | 'blocked';
|
|
15
|
-
/** Filter by type */
|
|
16
|
-
type?: 'feature' | 'bug' | 'chore' | 'spike';
|
|
17
|
-
/** Filter by priority */
|
|
18
|
-
priority?: 'critical' | 'high' | 'medium' | 'low';
|
|
19
|
-
/** Search in title and description */
|
|
20
|
-
search?: string;
|
|
21
|
-
/** Maximum items to return (default: 20) */
|
|
22
|
-
limit?: number;
|
|
23
|
-
}
|
|
24
|
-
export declare const backlogReadTool: import("@compilr-dev/agents").Tool<BacklogReadInput>;
|
|
25
|
-
interface BacklogWriteInput {
|
|
26
|
-
/** Action to perform */
|
|
27
|
-
action: 'add' | 'update' | 'delete' | 'replace';
|
|
28
|
-
/** Item to add or update (required for add/update) */
|
|
29
|
-
item?: {
|
|
30
|
-
id?: string;
|
|
31
|
-
type?: 'feature' | 'bug' | 'chore' | 'spike';
|
|
32
|
-
title?: string;
|
|
33
|
-
description?: string;
|
|
34
|
-
status?: 'backlog' | 'in-progress' | 'done' | 'blocked';
|
|
35
|
-
priority?: 'critical' | 'high' | 'medium' | 'low';
|
|
36
|
-
};
|
|
37
|
-
/** Item ID to delete (required for delete) */
|
|
38
|
-
deleteId?: string;
|
|
39
|
-
/** Full list of items (required for replace action) */
|
|
40
|
-
items?: Array<{
|
|
41
|
-
id?: string;
|
|
42
|
-
type: 'feature' | 'bug' | 'chore' | 'spike';
|
|
43
|
-
title: string;
|
|
44
|
-
description?: string;
|
|
45
|
-
status?: 'backlog' | 'in-progress' | 'done' | 'blocked';
|
|
46
|
-
priority?: 'critical' | 'high' | 'medium' | 'low';
|
|
47
|
-
}>;
|
|
48
|
-
}
|
|
49
|
-
export declare const backlogWriteTool: import("@compilr-dev/agents").Tool<BacklogWriteInput>;
|
|
50
|
-
/**
|
|
51
|
-
* All backlog wrapper tools
|
|
52
|
-
*/
|
|
53
|
-
export declare const backlogWrapperTools: (import("@compilr-dev/agents").Tool<BacklogReadInput> | import("@compilr-dev/agents").Tool<BacklogWriteInput>)[];
|
|
54
|
-
export {};
|
|
@@ -1,338 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Backlog Tool Wrappers
|
|
3
|
-
*
|
|
4
|
-
* These wrappers provide `backlog_read` and `backlog_write` tools that skills expect,
|
|
5
|
-
* but internally delegate to the `workitem_*` database tools.
|
|
6
|
-
*
|
|
7
|
-
* This allows library skills (which reference backlog_*) to work seamlessly
|
|
8
|
-
* with the CLI's database-backed workitem system.
|
|
9
|
-
*/
|
|
10
|
-
import { defineTool, createSuccessResult, createErrorResult } from '@compilr-dev/agents';
|
|
11
|
-
import { workItemRepository } from '../db/repositories/index.js';
|
|
12
|
-
import { getActiveProject } from './project-db.js';
|
|
13
|
-
// =============================================================================
|
|
14
|
-
// Type Mappings (Library ↔ CLI)
|
|
15
|
-
// =============================================================================
|
|
16
|
-
// Library status → CLI status
|
|
17
|
-
const STATUS_TO_CLI = {
|
|
18
|
-
'backlog': 'backlog',
|
|
19
|
-
'in-progress': 'in_progress',
|
|
20
|
-
'done': 'completed',
|
|
21
|
-
'blocked': 'skipped', // closest match
|
|
22
|
-
};
|
|
23
|
-
// CLI status → Library status
|
|
24
|
-
const STATUS_TO_LIBRARY = {
|
|
25
|
-
'backlog': 'backlog',
|
|
26
|
-
'in_progress': 'in-progress',
|
|
27
|
-
'completed': 'done',
|
|
28
|
-
'skipped': 'blocked',
|
|
29
|
-
};
|
|
30
|
-
// Library type → CLI type
|
|
31
|
-
const TYPE_TO_CLI = {
|
|
32
|
-
'feature': 'feature',
|
|
33
|
-
'bug': 'bug',
|
|
34
|
-
'chore': 'chore',
|
|
35
|
-
'spike': 'tech-debt', // closest match
|
|
36
|
-
};
|
|
37
|
-
// CLI type → Library type
|
|
38
|
-
const TYPE_TO_LIBRARY = {
|
|
39
|
-
'feature': 'feature',
|
|
40
|
-
'bug': 'bug',
|
|
41
|
-
'chore': 'chore',
|
|
42
|
-
'tech-debt': 'spike',
|
|
43
|
-
};
|
|
44
|
-
export const backlogReadTool = defineTool({
|
|
45
|
-
name: 'backlog_read',
|
|
46
|
-
description: 'Read backlog items from the project. ' +
|
|
47
|
-
'Use filters to narrow results. Use id parameter to get a specific item. ' +
|
|
48
|
-
'Returns items sorted by priority (critical first) then by creation date.',
|
|
49
|
-
inputSchema: {
|
|
50
|
-
type: 'object',
|
|
51
|
-
properties: {
|
|
52
|
-
id: {
|
|
53
|
-
type: 'string',
|
|
54
|
-
description: 'Get a specific item by ID (e.g., "FEAT-001")',
|
|
55
|
-
},
|
|
56
|
-
status: {
|
|
57
|
-
type: 'string',
|
|
58
|
-
enum: ['backlog', 'in-progress', 'done', 'blocked'],
|
|
59
|
-
description: 'Filter by status',
|
|
60
|
-
},
|
|
61
|
-
type: {
|
|
62
|
-
type: 'string',
|
|
63
|
-
enum: ['feature', 'bug', 'chore', 'spike'],
|
|
64
|
-
description: 'Filter by item type',
|
|
65
|
-
},
|
|
66
|
-
search: {
|
|
67
|
-
type: 'string',
|
|
68
|
-
description: 'Search in title and description',
|
|
69
|
-
},
|
|
70
|
-
priority: {
|
|
71
|
-
type: 'string',
|
|
72
|
-
enum: ['critical', 'high', 'medium', 'low'],
|
|
73
|
-
description: 'Filter by priority',
|
|
74
|
-
},
|
|
75
|
-
limit: {
|
|
76
|
-
type: 'number',
|
|
77
|
-
description: 'Maximum items to return (default: 20)',
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
execute: async (input) => {
|
|
82
|
-
try {
|
|
83
|
-
// Note: workItemRepository methods are synchronous, but we keep async for interface consistency
|
|
84
|
-
await Promise.resolve();
|
|
85
|
-
const projectId = getActiveProject()?.id;
|
|
86
|
-
if (!projectId) {
|
|
87
|
-
return createSuccessResult({
|
|
88
|
-
items: [],
|
|
89
|
-
total: 0,
|
|
90
|
-
filtered: 0,
|
|
91
|
-
message: 'No active project. Use /projects to select a project first.',
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
// If specific ID requested, look it up directly
|
|
95
|
-
if (input.id) {
|
|
96
|
-
const item = workItemRepository.getByItemId(projectId, input.id);
|
|
97
|
-
if (!item) {
|
|
98
|
-
return createErrorResult(`Item not found: ${input.id}`);
|
|
99
|
-
}
|
|
100
|
-
return createSuccessResult({
|
|
101
|
-
items: [{
|
|
102
|
-
id: item.itemId,
|
|
103
|
-
type: TYPE_TO_LIBRARY[item.type],
|
|
104
|
-
title: item.title,
|
|
105
|
-
description: item.description || '',
|
|
106
|
-
status: STATUS_TO_LIBRARY[item.status],
|
|
107
|
-
priority: item.priority,
|
|
108
|
-
}],
|
|
109
|
-
total: 1,
|
|
110
|
-
filtered: 1,
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
// Build query
|
|
114
|
-
const queryInput = {
|
|
115
|
-
project_id: projectId,
|
|
116
|
-
status: input.status ? STATUS_TO_CLI[input.status] : 'all',
|
|
117
|
-
type: input.type ? TYPE_TO_CLI[input.type] : 'all',
|
|
118
|
-
priority: input.priority || 'all',
|
|
119
|
-
search: input.search,
|
|
120
|
-
limit: input.limit || 20,
|
|
121
|
-
offset: 0,
|
|
122
|
-
};
|
|
123
|
-
const result = workItemRepository.query(queryInput);
|
|
124
|
-
// Map items to library format
|
|
125
|
-
const items = result.items.map((item) => ({
|
|
126
|
-
id: item.itemId,
|
|
127
|
-
type: TYPE_TO_LIBRARY[item.type],
|
|
128
|
-
title: item.title,
|
|
129
|
-
description: item.description || '',
|
|
130
|
-
status: STATUS_TO_LIBRARY[item.status],
|
|
131
|
-
priority: item.priority,
|
|
132
|
-
createdAt: item.createdAt.toISOString(),
|
|
133
|
-
updatedAt: item.createdAt.toISOString(), // DB doesn't track updatedAt separately
|
|
134
|
-
}));
|
|
135
|
-
return createSuccessResult({
|
|
136
|
-
items,
|
|
137
|
-
total: result.total,
|
|
138
|
-
filtered: items.length,
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
catch (error) {
|
|
142
|
-
return createErrorResult(error instanceof Error ? error.message : String(error));
|
|
143
|
-
}
|
|
144
|
-
},
|
|
145
|
-
});
|
|
146
|
-
export const backlogWriteTool = defineTool({
|
|
147
|
-
name: 'backlog_write',
|
|
148
|
-
description: 'Create, update, or delete backlog items. ' +
|
|
149
|
-
'Actions: add (new item), update (modify existing), delete (remove), replace (full list). ' +
|
|
150
|
-
'IDs are auto-generated for new items based on type (e.g., FEAT-001, BUG-002).',
|
|
151
|
-
inputSchema: {
|
|
152
|
-
type: 'object',
|
|
153
|
-
properties: {
|
|
154
|
-
action: {
|
|
155
|
-
type: 'string',
|
|
156
|
-
enum: ['add', 'update', 'delete', 'replace'],
|
|
157
|
-
description: 'Action to perform',
|
|
158
|
-
},
|
|
159
|
-
item: {
|
|
160
|
-
type: 'object',
|
|
161
|
-
description: 'Item to add or update (for add/update actions)',
|
|
162
|
-
properties: {
|
|
163
|
-
id: { type: 'string', description: 'Item ID (required for update)' },
|
|
164
|
-
type: {
|
|
165
|
-
type: 'string',
|
|
166
|
-
enum: ['feature', 'bug', 'chore', 'spike'],
|
|
167
|
-
description: 'Item type (required for add)',
|
|
168
|
-
},
|
|
169
|
-
title: { type: 'string', description: 'Item title' },
|
|
170
|
-
description: { type: 'string', description: 'Detailed description' },
|
|
171
|
-
status: {
|
|
172
|
-
type: 'string',
|
|
173
|
-
enum: ['backlog', 'in-progress', 'done', 'blocked'],
|
|
174
|
-
description: 'Item status',
|
|
175
|
-
},
|
|
176
|
-
priority: {
|
|
177
|
-
type: 'string',
|
|
178
|
-
enum: ['critical', 'high', 'medium', 'low'],
|
|
179
|
-
description: 'Priority level',
|
|
180
|
-
},
|
|
181
|
-
},
|
|
182
|
-
},
|
|
183
|
-
deleteId: {
|
|
184
|
-
type: 'string',
|
|
185
|
-
description: 'Item ID to delete (for delete action)',
|
|
186
|
-
},
|
|
187
|
-
items: {
|
|
188
|
-
type: 'array',
|
|
189
|
-
description: 'Full list of items (for replace action)',
|
|
190
|
-
items: {
|
|
191
|
-
type: 'object',
|
|
192
|
-
},
|
|
193
|
-
},
|
|
194
|
-
},
|
|
195
|
-
required: ['action'],
|
|
196
|
-
},
|
|
197
|
-
execute: async (input) => {
|
|
198
|
-
try {
|
|
199
|
-
// Note: workItemRepository methods are synchronous, but we keep async for interface consistency
|
|
200
|
-
await Promise.resolve();
|
|
201
|
-
const projectId = getActiveProject()?.id;
|
|
202
|
-
if (!projectId) {
|
|
203
|
-
return createErrorResult('No active project. Use /projects to select a project first.');
|
|
204
|
-
}
|
|
205
|
-
switch (input.action) {
|
|
206
|
-
case 'add': {
|
|
207
|
-
if (!input.item) {
|
|
208
|
-
return createErrorResult('Item is required for add action');
|
|
209
|
-
}
|
|
210
|
-
if (!input.item.type) {
|
|
211
|
-
return createErrorResult('Item type is required for add action');
|
|
212
|
-
}
|
|
213
|
-
if (!input.item.title) {
|
|
214
|
-
return createErrorResult('Item title is required for add action');
|
|
215
|
-
}
|
|
216
|
-
const createInput = {
|
|
217
|
-
project_id: projectId,
|
|
218
|
-
type: TYPE_TO_CLI[input.item.type],
|
|
219
|
-
title: input.item.title,
|
|
220
|
-
description: input.item.description,
|
|
221
|
-
priority: input.item.priority,
|
|
222
|
-
};
|
|
223
|
-
const item = workItemRepository.create(createInput);
|
|
224
|
-
return createSuccessResult({
|
|
225
|
-
success: true,
|
|
226
|
-
action: 'add',
|
|
227
|
-
itemId: item.itemId,
|
|
228
|
-
message: `Created ${item.itemId}: "${item.title}"`,
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
case 'update': {
|
|
232
|
-
if (!input.item?.id) {
|
|
233
|
-
return createErrorResult('Item ID is required for update action');
|
|
234
|
-
}
|
|
235
|
-
const existingItem = workItemRepository.getByItemId(projectId, input.item.id);
|
|
236
|
-
if (!existingItem) {
|
|
237
|
-
return createErrorResult(`Item not found: ${input.item.id}`);
|
|
238
|
-
}
|
|
239
|
-
const updateInput = {};
|
|
240
|
-
if (input.item.status) {
|
|
241
|
-
updateInput.status = STATUS_TO_CLI[input.item.status];
|
|
242
|
-
}
|
|
243
|
-
if (input.item.priority) {
|
|
244
|
-
updateInput.priority = input.item.priority;
|
|
245
|
-
}
|
|
246
|
-
if (input.item.title) {
|
|
247
|
-
updateInput.title = input.item.title;
|
|
248
|
-
}
|
|
249
|
-
if (input.item.description !== undefined) {
|
|
250
|
-
updateInput.description = input.item.description;
|
|
251
|
-
}
|
|
252
|
-
const updated = workItemRepository.update(existingItem.id, updateInput);
|
|
253
|
-
if (!updated) {
|
|
254
|
-
return createErrorResult(`Failed to update item: ${input.item.id}`);
|
|
255
|
-
}
|
|
256
|
-
return createSuccessResult({
|
|
257
|
-
success: true,
|
|
258
|
-
action: 'update',
|
|
259
|
-
itemId: input.item.id,
|
|
260
|
-
message: `Updated ${input.item.id}`,
|
|
261
|
-
});
|
|
262
|
-
}
|
|
263
|
-
case 'delete': {
|
|
264
|
-
const deleteId = input.deleteId || input.item?.id;
|
|
265
|
-
if (!deleteId) {
|
|
266
|
-
return createErrorResult('deleteId or item.id is required for delete action');
|
|
267
|
-
}
|
|
268
|
-
const existingItem = workItemRepository.getByItemId(projectId, deleteId);
|
|
269
|
-
if (!existingItem) {
|
|
270
|
-
return createErrorResult(`Item not found: ${deleteId}`);
|
|
271
|
-
}
|
|
272
|
-
const deleted = workItemRepository.delete(existingItem.id);
|
|
273
|
-
if (!deleted) {
|
|
274
|
-
return createErrorResult(`Failed to delete item: ${deleteId}`);
|
|
275
|
-
}
|
|
276
|
-
return createSuccessResult({
|
|
277
|
-
success: true,
|
|
278
|
-
action: 'delete',
|
|
279
|
-
itemId: deleteId,
|
|
280
|
-
message: `Deleted ${deleteId}`,
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
case 'replace': {
|
|
284
|
-
if (!input.items) {
|
|
285
|
-
return createErrorResult('Items array is required for replace action');
|
|
286
|
-
}
|
|
287
|
-
// Delete all existing items
|
|
288
|
-
const existing = workItemRepository.query({
|
|
289
|
-
project_id: projectId,
|
|
290
|
-
limit: 1000,
|
|
291
|
-
offset: 0,
|
|
292
|
-
});
|
|
293
|
-
for (const item of existing.items) {
|
|
294
|
-
workItemRepository.delete(item.id);
|
|
295
|
-
}
|
|
296
|
-
// Add all new items
|
|
297
|
-
const newIds = [];
|
|
298
|
-
for (const newItem of input.items) {
|
|
299
|
-
const createInput = {
|
|
300
|
-
project_id: projectId,
|
|
301
|
-
type: TYPE_TO_CLI[newItem.type],
|
|
302
|
-
title: newItem.title,
|
|
303
|
-
description: newItem.description,
|
|
304
|
-
priority: newItem.priority,
|
|
305
|
-
};
|
|
306
|
-
const created = workItemRepository.create(createInput);
|
|
307
|
-
newIds.push(created.itemId);
|
|
308
|
-
// Update status if not backlog
|
|
309
|
-
if (newItem.status && newItem.status !== 'backlog') {
|
|
310
|
-
workItemRepository.update(created.id, {
|
|
311
|
-
status: STATUS_TO_CLI[newItem.status],
|
|
312
|
-
});
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
return createSuccessResult({
|
|
316
|
-
success: true,
|
|
317
|
-
action: 'replace',
|
|
318
|
-
itemCount: input.items.length,
|
|
319
|
-
newIds,
|
|
320
|
-
message: `Replaced backlog with ${String(input.items.length)} items`,
|
|
321
|
-
});
|
|
322
|
-
}
|
|
323
|
-
default:
|
|
324
|
-
return createErrorResult(`Unknown action: ${input.action}`);
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
catch (error) {
|
|
328
|
-
return createErrorResult(error instanceof Error ? error.message : String(error));
|
|
329
|
-
}
|
|
330
|
-
},
|
|
331
|
-
});
|
|
332
|
-
/**
|
|
333
|
-
* All backlog wrapper tools
|
|
334
|
-
*/
|
|
335
|
-
export const backlogWrapperTools = [
|
|
336
|
-
backlogReadTool,
|
|
337
|
-
backlogWriteTool,
|
|
338
|
-
];
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Document Database Tools
|
|
3
|
-
*
|
|
4
|
-
* Tools for managing project documents (PRD, architecture, design notes) in the database.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* project_document_add - Add or update a project document
|
|
8
|
-
*/
|
|
9
|
-
export declare const projectDocumentAddTool: import("@compilr-dev/agents").Tool<{
|
|
10
|
-
project_id?: number;
|
|
11
|
-
doc_type: string;
|
|
12
|
-
title: string;
|
|
13
|
-
content: string;
|
|
14
|
-
}>;
|
|
15
|
-
/**
|
|
16
|
-
* project_document_get - Get a project document
|
|
17
|
-
*/
|
|
18
|
-
export declare const projectDocumentGetTool: import("@compilr-dev/agents").Tool<{
|
|
19
|
-
project_id?: number;
|
|
20
|
-
doc_type: string;
|
|
21
|
-
}>;
|
|
22
|
-
/**
|
|
23
|
-
* project_document_list - List all documents for a project
|
|
24
|
-
*/
|
|
25
|
-
export declare const projectDocumentListTool: import("@compilr-dev/agents").Tool<{
|
|
26
|
-
project_id?: number;
|
|
27
|
-
}>;
|
|
28
|
-
/**
|
|
29
|
-
* project_document_delete - Delete a project document
|
|
30
|
-
*/
|
|
31
|
-
export declare const projectDocumentDeleteTool: import("@compilr-dev/agents").Tool<{
|
|
32
|
-
project_id?: number;
|
|
33
|
-
doc_type: string;
|
|
34
|
-
}>;
|
|
35
|
-
/**
|
|
36
|
-
* All document tools
|
|
37
|
-
*/
|
|
38
|
-
export declare const documentDbTools: import("@compilr-dev/agents").Tool<{
|
|
39
|
-
project_id?: number;
|
|
40
|
-
doc_type: string;
|
|
41
|
-
title: string;
|
|
42
|
-
content: string;
|
|
43
|
-
}>[];
|