@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
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan Mode System Prompt Addition
|
|
3
|
+
*
|
|
4
|
+
* Appended to the system prompt when Plan Mode is active.
|
|
5
|
+
* Instructs the agent to explore, create plans, and wait for approval.
|
|
6
|
+
*/
|
|
7
|
+
export const PLAN_MODE_PROMPT = `## PLAN MODE ACTIVE
|
|
8
|
+
|
|
9
|
+
You are currently in **Plan Mode**. In this mode, you must:
|
|
10
|
+
|
|
11
|
+
1. **Gather Context from Database FIRST**:
|
|
12
|
+
- Use \`project_document_get\` to read PRD and architecture docs
|
|
13
|
+
- Use \`workitem_query\` to read backlog items
|
|
14
|
+
- Use \`plan_list\` to see existing plans
|
|
15
|
+
- Only read actual source files when you need specific implementation details
|
|
16
|
+
|
|
17
|
+
2. **Ask Questions**: Use \`ask_user\` to clarify requirements, constraints, and preferences. Don't assume.
|
|
18
|
+
|
|
19
|
+
3. **Create a Plan**: Use \`plan_create\` to document your approach before implementing:
|
|
20
|
+
- Name: kebab-case, descriptive (e.g., "auth-jwt-migration")
|
|
21
|
+
- Content: Follow the standard plan format (Context, Goals, Steps, Verification)
|
|
22
|
+
- Link to work item if one was mentioned
|
|
23
|
+
|
|
24
|
+
4. **Request Approval**: After creating the plan, summarize it and ask for approval:
|
|
25
|
+
- List 3-5 key points
|
|
26
|
+
- Mention files that will be modified
|
|
27
|
+
- End with: "Ready for your review. [PLAN_READY:plan_id:plan_name]"
|
|
28
|
+
|
|
29
|
+
5. **Wait for Approval**: Do NOT implement until the user approves the plan.
|
|
30
|
+
|
|
31
|
+
6. **Track Status**: After approval, update the plan status:
|
|
32
|
+
- Use \`plan_update\` with status: 'approved' when user approves
|
|
33
|
+
- Use \`plan_update\` with status: 'in_progress' when you start implementing
|
|
34
|
+
- Use \`plan_update\` with status: 'completed' when all steps are done
|
|
35
|
+
|
|
36
|
+
### Plan Format
|
|
37
|
+
|
|
38
|
+
Use this structure when creating plans:
|
|
39
|
+
|
|
40
|
+
\`\`\`markdown
|
|
41
|
+
# Plan: [Name]
|
|
42
|
+
|
|
43
|
+
## Context
|
|
44
|
+
[Why this plan exists, what problem it solves]
|
|
45
|
+
[Link to work item if applicable]
|
|
46
|
+
|
|
47
|
+
## Goals
|
|
48
|
+
- [ ] Primary goal 1
|
|
49
|
+
- [ ] Primary goal 2
|
|
50
|
+
|
|
51
|
+
## Approach
|
|
52
|
+
[High-level description of the implementation approach]
|
|
53
|
+
|
|
54
|
+
## Steps
|
|
55
|
+
1. **Step 1 Title**
|
|
56
|
+
- Details about step 1
|
|
57
|
+
- Files to modify: \`src/foo.ts\`
|
|
58
|
+
|
|
59
|
+
2. **Step 2 Title**
|
|
60
|
+
- Details about step 2
|
|
61
|
+
|
|
62
|
+
## Verification
|
|
63
|
+
- [ ] How to verify completion
|
|
64
|
+
- [ ] Tests pass
|
|
65
|
+
\`\`\`
|
|
66
|
+
|
|
67
|
+
### DO NOT in Plan Mode:
|
|
68
|
+
- Skip planning for non-trivial tasks
|
|
69
|
+
- Make code changes without an approved plan
|
|
70
|
+
- Assume requirements without asking
|
|
71
|
+
- Read files in .compilr/requirements/ (use project_document_get instead)
|
|
72
|
+
- Scan the filesystem before checking database for project docs
|
|
73
|
+
|
|
74
|
+
### Available Plan Tools:
|
|
75
|
+
- \`plan_create\` - Create a new plan (starts as 'draft')
|
|
76
|
+
- \`plan_update\` - Update plan content or status
|
|
77
|
+
- \`plan_get\` - Get plan details by ID or name
|
|
78
|
+
- \`plan_list\` - List plans for the project
|
|
79
|
+
- \`plan_delete\` - Delete a plan
|
|
80
|
+
`;
|
|
81
|
+
/**
|
|
82
|
+
* Get the plan mode prompt for a specific active plan (if any)
|
|
83
|
+
*/
|
|
84
|
+
export function getPlanModePrompt(activePlanId, activePlanName) {
|
|
85
|
+
let prompt = PLAN_MODE_PROMPT;
|
|
86
|
+
if (activePlanId && activePlanName) {
|
|
87
|
+
prompt += `\n### Current Active Plan
|
|
88
|
+
|
|
89
|
+
You are continuing work on plan **"${activePlanName}"** (ID: ${String(activePlanId)}).
|
|
90
|
+
|
|
91
|
+
Use \`plan_get\` with plan_id: ${String(activePlanId)} to load the plan details and continue from where you left off.
|
|
92
|
+
`;
|
|
93
|
+
}
|
|
94
|
+
return prompt;
|
|
95
|
+
}
|
package/dist/repl-helpers.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* and improve maintainability. These functions support the REPL but don't
|
|
6
6
|
* depend on REPL instance state.
|
|
7
7
|
*/
|
|
8
|
-
import { builtinSkills } from '@compilr-dev/
|
|
8
|
+
import { builtinSkills, platformSkills } from '@compilr-dev/sdk';
|
|
9
9
|
import { codingSkills } from '@compilr-dev/agents-coding';
|
|
10
10
|
import * as fs from 'fs';
|
|
11
11
|
import * as path from 'path';
|
|
@@ -202,7 +202,8 @@ export function hasBacklogItems(backlogPath) {
|
|
|
202
202
|
* Get skill prompt by name from builtinSkills or codingSkills.
|
|
203
203
|
*/
|
|
204
204
|
export function getSkillPrompt(name) {
|
|
205
|
-
const skill =
|
|
205
|
+
const skill = platformSkills.find((s) => s.name === name)
|
|
206
|
+
?? builtinSkills.find((s) => s.name === name)
|
|
206
207
|
?? codingSkills.find((s) => s.name === name);
|
|
207
208
|
return skill?.prompt ?? null;
|
|
208
209
|
}
|
package/dist/repl-v2.d.ts
CHANGED
|
@@ -9,21 +9,40 @@
|
|
|
9
9
|
* Can be run standalone: npx tsx src/repl-v2.ts
|
|
10
10
|
* Or imported and used with a real agent from index.ts
|
|
11
11
|
*/
|
|
12
|
-
import type { Agent } from '@compilr-dev/
|
|
12
|
+
import type { Agent } from '@compilr-dev/sdk';
|
|
13
|
+
import type { AgentTeam } from './multi-agent/index.js';
|
|
13
14
|
import { type PermissionResult, type PermissionOverlayV2Options } from './ui/overlay/impl/permission-overlay-v2.js';
|
|
14
15
|
import { type AskUserSimpleOptionsV2, type AskUserSimpleResultV2 } from './ui/overlay/impl/ask-user-simple-overlay-v2.js';
|
|
15
16
|
import { type GuardrailConfirmOptionsV2, type GuardrailConfirmResultV2 } from './ui/overlay/impl/guardrail-overlay-v2.js';
|
|
16
17
|
import { type AskUserOptionsV2, type AskUserResultV2 } from './ui/overlay/impl/ask-user-overlay-v2.js';
|
|
17
18
|
import { type IterationLimitOptionsV2, type IterationLimitResultV2 } from './ui/overlay/impl/iteration-limit-overlay-v2.js';
|
|
19
|
+
export interface DelegateOverlayOptions {
|
|
20
|
+
agentId: string;
|
|
21
|
+
agentDisplayName: string;
|
|
22
|
+
task: string;
|
|
23
|
+
reason?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface DelegateOverlayResult {
|
|
26
|
+
approved: boolean;
|
|
27
|
+
}
|
|
18
28
|
export interface ReplV2Options {
|
|
19
29
|
/** Agent instance (optional - uses simulation if not provided) */
|
|
20
30
|
agent?: Agent;
|
|
31
|
+
/** Multi-agent team (optional - for team management) */
|
|
32
|
+
team?: AgentTeam;
|
|
33
|
+
/** Agent factory function for creating new agents (for team switching) */
|
|
34
|
+
agentFactory?: (config: Record<string, unknown>, systemPromptAddition?: string, useMinimalSystemPrompt?: boolean, noTools?: boolean) => Promise<Agent>;
|
|
21
35
|
/** Current model ID */
|
|
22
36
|
model?: string;
|
|
23
37
|
/** Current provider */
|
|
24
38
|
provider?: string;
|
|
25
39
|
/** CLI version */
|
|
26
40
|
version?: string;
|
|
41
|
+
/** Update available info (if any) */
|
|
42
|
+
updateAvailable?: {
|
|
43
|
+
current: string;
|
|
44
|
+
latest: string;
|
|
45
|
+
} | null;
|
|
27
46
|
/** Initial project name */
|
|
28
47
|
projectName?: string;
|
|
29
48
|
/**
|
|
@@ -81,13 +100,106 @@ export interface ReplV2Options {
|
|
|
81
100
|
* Called at the start of each agent run to prevent stale data.
|
|
82
101
|
*/
|
|
83
102
|
clearSubagentTracking?: () => void;
|
|
103
|
+
/**
|
|
104
|
+
* Whether to show the onboarding wizard on startup.
|
|
105
|
+
* Set to true for first-run experience.
|
|
106
|
+
*/
|
|
107
|
+
showOnboarding?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Whether to show the login overlay on startup.
|
|
110
|
+
* Set to true when user is not authenticated.
|
|
111
|
+
*/
|
|
112
|
+
showLogin?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Callback invoked when delegate overlay is ready.
|
|
115
|
+
* Allows index.ts to use V2 overlay for delegation approval.
|
|
116
|
+
*/
|
|
117
|
+
onDelegateReady?: (showOverlay: (options: DelegateOverlayOptions) => Promise<DelegateOverlayResult>) => void;
|
|
118
|
+
/**
|
|
119
|
+
* Callback to get and clear pending delegation.
|
|
120
|
+
* Returns the pending delegation info if any, and clears it.
|
|
121
|
+
*/
|
|
122
|
+
onPendingDelegation?: () => {
|
|
123
|
+
agentId: string;
|
|
124
|
+
task: string;
|
|
125
|
+
} | null;
|
|
126
|
+
/**
|
|
127
|
+
* Callback invoked when background agent tracking is ready.
|
|
128
|
+
* Allows index.ts to check if an agent is running in background and route
|
|
129
|
+
* permission requests to the pending requests queue.
|
|
130
|
+
*
|
|
131
|
+
* Phase 3b: Background Agents
|
|
132
|
+
*/
|
|
133
|
+
onBackgroundAgentReady?: (callbacks: {
|
|
134
|
+
isBackgroundAgent: (agentId?: string) => boolean;
|
|
135
|
+
getActiveBackgroundAgentId: () => string | null;
|
|
136
|
+
getBackgroundAgentInfo: (agentId: string) => {
|
|
137
|
+
mascot: string;
|
|
138
|
+
} | null;
|
|
139
|
+
}) => void;
|
|
140
|
+
/**
|
|
141
|
+
* Auth-only mode: Only allow /login, /logout, /exit commands.
|
|
142
|
+
* Used when user is not authenticated.
|
|
143
|
+
*/
|
|
144
|
+
authOnly?: boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Callback invoked when background delegation support is ready.
|
|
147
|
+
* Allows index.ts to run background delegations via the REPL.
|
|
148
|
+
*
|
|
149
|
+
* Phase 3d-beta: Coordinator Mode
|
|
150
|
+
*/
|
|
151
|
+
onBackgroundDelegationReady?: (runDelegation: (agentId: string, message: string) => 'running' | 'queued' | null) => void;
|
|
152
|
+
/**
|
|
153
|
+
* Callback invoked when terminal session is registered.
|
|
154
|
+
* Passes the session ID so index.ts can set sessionPrefix for IPC.
|
|
155
|
+
*/
|
|
156
|
+
onSessionRegistered?: (sessionId: string) => void;
|
|
157
|
+
/**
|
|
158
|
+
* Callback invoked when the team is replaced during session restore.
|
|
159
|
+
* Allows index.ts to update sharedState.team so delegation handlers
|
|
160
|
+
* see the restored team (with all agents) instead of the initial one.
|
|
161
|
+
*/
|
|
162
|
+
onTeamReplaced?: (newTeam: AgentTeam) => void;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Options for switchAgent().
|
|
166
|
+
* Controls which operations are performed during a switch.
|
|
167
|
+
*/
|
|
168
|
+
export interface SwitchAgentOptions {
|
|
169
|
+
/** Demote current foreground agent to background if busy (default: true) */
|
|
170
|
+
demoteCurrentIfBusy?: boolean;
|
|
171
|
+
/** Update foreground session tracking (default: true) */
|
|
172
|
+
trackSession?: boolean;
|
|
173
|
+
/** Record agent switch in telemetry (default: true) */
|
|
174
|
+
recordTelemetry?: boolean;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Result of a switchAgent() call.
|
|
178
|
+
*/
|
|
179
|
+
export interface SwitchAgentResult {
|
|
180
|
+
/** The team agent that was switched to */
|
|
181
|
+
teamAgent: {
|
|
182
|
+
id: string;
|
|
183
|
+
displayName: string;
|
|
184
|
+
mascot: string;
|
|
185
|
+
agent: Agent | null;
|
|
186
|
+
toolFilter?: string[] | null;
|
|
187
|
+
};
|
|
188
|
+
/** The agent ID that was demoted to background, or null */
|
|
189
|
+
demotedAgentId: string | null;
|
|
84
190
|
}
|
|
85
191
|
export declare class ReplV2 {
|
|
86
|
-
private
|
|
192
|
+
private agent?;
|
|
193
|
+
private team?;
|
|
194
|
+
private readonly agentFactory?;
|
|
87
195
|
private readonly model;
|
|
88
196
|
private readonly provider;
|
|
89
197
|
private readonly version;
|
|
198
|
+
private readonly updateAvailable;
|
|
90
199
|
private readonly projectName;
|
|
200
|
+
private readonly sessions;
|
|
201
|
+
private foregroundAgentId;
|
|
202
|
+
private readonly agentMessageQueues;
|
|
91
203
|
private currentSession;
|
|
92
204
|
private ui;
|
|
93
205
|
private readonly onUIReady?;
|
|
@@ -100,11 +212,23 @@ export declare class ReplV2 {
|
|
|
100
212
|
private readonly onSuggestionReady?;
|
|
101
213
|
private readonly onSubagentReady?;
|
|
102
214
|
private readonly clearSubagentTracking?;
|
|
215
|
+
private readonly showOnboarding;
|
|
216
|
+
private readonly showLogin;
|
|
217
|
+
private readonly onDelegateReady?;
|
|
218
|
+
private readonly onPendingDelegation?;
|
|
219
|
+
private readonly onBackgroundAgentReady?;
|
|
220
|
+
private readonly onBackgroundDelegationReady?;
|
|
221
|
+
private readonly onSessionRegistered?;
|
|
222
|
+
private readonly onTeamReplaced?;
|
|
223
|
+
private readonly authOnly;
|
|
224
|
+
private restoredSessionInfo;
|
|
225
|
+
private currentExecutingBackgroundAgentId;
|
|
103
226
|
private readonly startTime;
|
|
104
227
|
private sessionInputTokens;
|
|
105
228
|
private sessionOutputTokens;
|
|
106
229
|
private sessionRequests;
|
|
107
230
|
private textAccumulator;
|
|
231
|
+
private readonly bashAbortControllers;
|
|
108
232
|
constructor(options?: ReplV2Options);
|
|
109
233
|
/**
|
|
110
234
|
* Flush accumulated agent text to the UI.
|
|
@@ -112,13 +236,194 @@ export declare class ReplV2 {
|
|
|
112
236
|
* agent's "I'll do X" message appears before the overlay.
|
|
113
237
|
*/
|
|
114
238
|
private flushTextBuffer;
|
|
239
|
+
/**
|
|
240
|
+
* Get the mascot expression for the currently active agent.
|
|
241
|
+
* Returns the team agent's mascot if active, otherwise default neutral.
|
|
242
|
+
*/
|
|
243
|
+
private getActiveAgentMascot;
|
|
244
|
+
/**
|
|
245
|
+
* Start a new agent session (foreground or background).
|
|
246
|
+
* For foreground: sets currentSession and foregroundAgentId
|
|
247
|
+
* For background: only adds to sessions map
|
|
248
|
+
*/
|
|
249
|
+
private startSession;
|
|
250
|
+
/**
|
|
251
|
+
* End an agent session.
|
|
252
|
+
* Removes from sessions map, clears currentSession if foreground,
|
|
253
|
+
* and processes any queued messages for this agent.
|
|
254
|
+
*/
|
|
255
|
+
private endSession;
|
|
256
|
+
/**
|
|
257
|
+
* Get a session by agent ID.
|
|
258
|
+
*/
|
|
259
|
+
private getSession;
|
|
260
|
+
/**
|
|
261
|
+
* Get all background sessions (non-foreground).
|
|
262
|
+
*/
|
|
263
|
+
private getBackgroundSessions;
|
|
264
|
+
/**
|
|
265
|
+
* Check if an agent has a running session.
|
|
266
|
+
*/
|
|
267
|
+
private hasActiveSession;
|
|
268
|
+
/**
|
|
269
|
+
* Check if any background agents are running.
|
|
270
|
+
*/
|
|
271
|
+
private hasBackgroundAgents;
|
|
272
|
+
/**
|
|
273
|
+
* Queue a message for an agent that is currently busy.
|
|
274
|
+
* Returns the queue position (1-based).
|
|
275
|
+
*/
|
|
276
|
+
private queueMessage;
|
|
277
|
+
/**
|
|
278
|
+
* Get the number of messages queued for an agent.
|
|
279
|
+
*/
|
|
280
|
+
private getQueueLength;
|
|
281
|
+
/**
|
|
282
|
+
* Clear all queued messages for an agent.
|
|
283
|
+
* Returns the number of messages that were cleared.
|
|
284
|
+
*/
|
|
285
|
+
private clearQueue;
|
|
286
|
+
/**
|
|
287
|
+
* Clear all message queues for all agents.
|
|
288
|
+
* Returns the total number of messages cleared.
|
|
289
|
+
*/
|
|
290
|
+
private clearAllQueues;
|
|
291
|
+
/**
|
|
292
|
+
* Process the next message in an agent's queue.
|
|
293
|
+
* Called after an agent completes a task.
|
|
294
|
+
*/
|
|
295
|
+
private processAgentQueue;
|
|
296
|
+
/**
|
|
297
|
+
* Get detailed info about background sessions (for /bg overlay).
|
|
298
|
+
* Phase 3c: Background Status & Control
|
|
299
|
+
*/
|
|
300
|
+
private getBackgroundSessionsInfo;
|
|
301
|
+
/**
|
|
302
|
+
* Send the current foreground agent to background without aborting it.
|
|
303
|
+
* The agent continues running; the user regains the input prompt.
|
|
304
|
+
* Returns the agent ID that was sent to background, or null if no foreground session.
|
|
305
|
+
*/
|
|
306
|
+
private sendForegroundToBackground;
|
|
307
|
+
/**
|
|
308
|
+
* Consolidated agent-switching method.
|
|
309
|
+
*
|
|
310
|
+
* Performs ALL operations needed to switch the foreground to a different agent:
|
|
311
|
+
* 1. Demote current foreground agent to background (if busy + different agent)
|
|
312
|
+
* 2. team.switchTo(agentId)
|
|
313
|
+
* 3. Update this.agent reference
|
|
314
|
+
* 4. Update meta-tool filter
|
|
315
|
+
* 5. Update footer UI
|
|
316
|
+
* 6. Update foreground session tracking (restore agentRunning/spinner)
|
|
317
|
+
* 7. Record telemetry
|
|
318
|
+
*
|
|
319
|
+
* Callers handle their own messaging (different styles/wording per context).
|
|
320
|
+
*/
|
|
321
|
+
private switchAgent;
|
|
322
|
+
/**
|
|
323
|
+
* Bring a background agent to foreground.
|
|
324
|
+
* Validates the agent has a background session, then delegates to switchAgent().
|
|
325
|
+
* Phase 3c: Background Status & Control
|
|
326
|
+
*/
|
|
327
|
+
private bringAgentToForeground;
|
|
328
|
+
/**
|
|
329
|
+
* Kill/cancel a background agent.
|
|
330
|
+
* Phase 3c: Background Status & Control
|
|
331
|
+
*/
|
|
332
|
+
private killAgent;
|
|
333
|
+
/**
|
|
334
|
+
* Get mascot label for an agent (for output labeling).
|
|
335
|
+
* Format: "[◈_◈] $arch" - mascot followed by agent reference
|
|
336
|
+
*/
|
|
337
|
+
private getAgentMascotLabel;
|
|
338
|
+
/**
|
|
339
|
+
* Auto-expand conversation filter if user is sending to an agent not in the filter.
|
|
340
|
+
* Shows info message when filter is expanded.
|
|
341
|
+
* @returns true if filter was expanded, false otherwise
|
|
342
|
+
*/
|
|
343
|
+
private autoExpandFilterIfNeeded;
|
|
344
|
+
/**
|
|
345
|
+
* Regex to detect PLAN_READY marker in agent text.
|
|
346
|
+
* Format: [PLAN_READY:plan_id:plan_name]
|
|
347
|
+
*/
|
|
348
|
+
private static readonly PLAN_READY_REGEX;
|
|
349
|
+
/**
|
|
350
|
+
* Check if text contains PLAN_READY marker and extract plan info.
|
|
351
|
+
*/
|
|
352
|
+
private detectPlanReady;
|
|
353
|
+
/**
|
|
354
|
+
* Handle plan approval flow.
|
|
355
|
+
* Shows the approval overlay and handles the user's choice.
|
|
356
|
+
*/
|
|
357
|
+
private handlePlanApproval;
|
|
358
|
+
/**
|
|
359
|
+
* Restore the agent from a previous state.
|
|
360
|
+
* Called by /resume command to swap in a restored agent.
|
|
361
|
+
*/
|
|
362
|
+
restoreAgent(newAgent: Agent): void;
|
|
363
|
+
/**
|
|
364
|
+
* Get the current agent instance.
|
|
365
|
+
* Used by commands that need to serialize/checkpoint the agent state.
|
|
366
|
+
*/
|
|
367
|
+
getAgent(): Agent | undefined;
|
|
115
368
|
/**
|
|
116
369
|
* Start the REPL.
|
|
117
370
|
*/
|
|
118
371
|
start(): void;
|
|
372
|
+
/**
|
|
373
|
+
* Handle login flow: show branded login overlay, then continue to onboarding or normal startup.
|
|
374
|
+
*/
|
|
375
|
+
private handleLoginFlow;
|
|
376
|
+
/**
|
|
377
|
+
* Handle startup sequence: session restoration first, then menu if applicable.
|
|
378
|
+
* This ensures proper ordering of startup overlays.
|
|
379
|
+
*/
|
|
380
|
+
private handleStartupSequence;
|
|
381
|
+
/**
|
|
382
|
+
* Restore a persisted team for a given terminal prefix.
|
|
383
|
+
* Replaces the current (fresh) team with the one from disk.
|
|
384
|
+
* Returns true if a team was restored.
|
|
385
|
+
*/
|
|
386
|
+
private restoreTeamForPrefix;
|
|
387
|
+
/**
|
|
388
|
+
* Auto-restore session silently (for 'auto' mode).
|
|
389
|
+
* Restores both conversation history AND team roster.
|
|
390
|
+
* Called at startup when projectSessionMode='auto'.
|
|
391
|
+
*
|
|
392
|
+
* Behavior depends on whether other terminals are active on the same project:
|
|
393
|
+
* - Single terminal: silently restore the most recent available session + claim it
|
|
394
|
+
* - Multiple terminals: fall back to 'ask' mode (show overlay)
|
|
395
|
+
*/
|
|
396
|
+
private autoRestoreSession;
|
|
397
|
+
/**
|
|
398
|
+
* When this terminal has no session but other terminals do, show the resume
|
|
399
|
+
* overlay so the user can pick one or start fresh.
|
|
400
|
+
*/
|
|
401
|
+
private offerOtherTerminalSessions;
|
|
402
|
+
/**
|
|
403
|
+
* Parse session ID format for startup flow (duplicates session handler logic
|
|
404
|
+
* to avoid circular import).
|
|
405
|
+
*/
|
|
406
|
+
private parseCurrentSessionIdForStartup;
|
|
407
|
+
/**
|
|
408
|
+
* Handle session mode prompt at startup when projectSessionMode='ask'.
|
|
409
|
+
* Shows overlay to let user choose how to handle existing session.
|
|
410
|
+
*/
|
|
411
|
+
private handleSessionModePrompt;
|
|
412
|
+
/**
|
|
413
|
+
* Apply the user's session mode choice.
|
|
414
|
+
*/
|
|
415
|
+
private handleSessionModeResult;
|
|
416
|
+
/**
|
|
417
|
+
* Show the onboarding wizard for first-time users.
|
|
418
|
+
* Called on first run, or manually via /init command.
|
|
419
|
+
*/
|
|
420
|
+
private showOnboardingWizard;
|
|
119
421
|
/**
|
|
120
422
|
* Stop the REPL.
|
|
423
|
+
* Aborts all running sessions (foreground and background).
|
|
121
424
|
*/
|
|
425
|
+
/** Set MCP loading state on the footer status bar. */
|
|
426
|
+
setMCPLoading(loading: boolean, toolCount?: number): void;
|
|
122
427
|
stop(): void;
|
|
123
428
|
/**
|
|
124
429
|
* Print just the logo to the scrolling area.
|
|
@@ -137,12 +442,98 @@ export declare class ReplV2 {
|
|
|
137
442
|
*/
|
|
138
443
|
private processAgentMessageQueue;
|
|
139
444
|
private processInput;
|
|
445
|
+
/**
|
|
446
|
+
* Process input in background mode.
|
|
447
|
+
* Starts the agent without blocking, allowing user to continue with foreground work.
|
|
448
|
+
*
|
|
449
|
+
* @param agentId - The agent to run in background
|
|
450
|
+
* @param input - The message to send to the agent
|
|
451
|
+
*/
|
|
452
|
+
private processInputBackground;
|
|
453
|
+
/**
|
|
454
|
+
* Parse $name prefix from input.
|
|
455
|
+
* Returns the agent ID, remaining input, and whether this is a background request.
|
|
456
|
+
* Returns null if the agent doesn't exist.
|
|
457
|
+
*
|
|
458
|
+
* Examples:
|
|
459
|
+
* "$arch Design the API" → { agentId: 'arch', remainingInput: 'Design the API', isBackground: false }
|
|
460
|
+
* "$arch Design the API &" → { agentId: 'arch', remainingInput: 'Design the API', isBackground: true }
|
|
461
|
+
* "$pm /backlog" → { agentId: 'pm', remainingInput: '/backlog', isBackground: false }
|
|
462
|
+
* "$arch" → { agentId: 'arch', remainingInput: '', isBackground: false }
|
|
463
|
+
*/
|
|
464
|
+
private parseAgentPrefix;
|
|
465
|
+
/**
|
|
466
|
+
* Resolve $agent mention references in input and inject context.
|
|
467
|
+
*
|
|
468
|
+
* This handles mid-sentence mentions like:
|
|
469
|
+
* "What did $arch propose for the API?"
|
|
470
|
+
* "Based on $pm's plan, estimate the timeline"
|
|
471
|
+
*
|
|
472
|
+
* The resolved context is prepended to the message before sending to the agent.
|
|
473
|
+
*/
|
|
474
|
+
private resolveAndInjectMentions;
|
|
140
475
|
/**
|
|
141
476
|
* Handle memory note input ("# note") - V2 compatible version
|
|
142
477
|
*/
|
|
143
478
|
private handleMemoryInputV2;
|
|
479
|
+
/**
|
|
480
|
+
* Handle bash command ("!ls", "!git status", etc.)
|
|
481
|
+
* Runs the command directly and displays output.
|
|
482
|
+
* Special handling for 'cd' to change the CLI's working directory.
|
|
483
|
+
*/
|
|
484
|
+
private handleBashCommand;
|
|
144
485
|
private processQueue;
|
|
145
486
|
private runAgentReal;
|
|
487
|
+
/**
|
|
488
|
+
* Format completion events into a structured message for the coordinator.
|
|
489
|
+
* Groups events by agent and includes task, result summary, and artifact info.
|
|
490
|
+
*/
|
|
491
|
+
private formatCompletionMessage;
|
|
492
|
+
/**
|
|
493
|
+
* Check and process delegation completions for an agent that just finished.
|
|
494
|
+
* Marks all running delegations for this agent as completed or failed,
|
|
495
|
+
* then attempts to auto-resume the coordinator if idle.
|
|
496
|
+
*
|
|
497
|
+
* @param agentId - The agent that just finished
|
|
498
|
+
* @param error - If present, the agent failed with this error
|
|
499
|
+
*/
|
|
500
|
+
private checkDelegationCompletion;
|
|
501
|
+
/**
|
|
502
|
+
* Auto-resume the coordinator if it's idle and there are pending completion events.
|
|
503
|
+
* If the coordinator is busy, events stay in queue for deferred delivery.
|
|
504
|
+
*
|
|
505
|
+
* Must be async to properly await switchAgent before running the coordinator.
|
|
506
|
+
* Called fire-and-forget from checkDelegationCompletion — this ensures the
|
|
507
|
+
* background agent's endSession() runs independently (no session conflicts).
|
|
508
|
+
*/
|
|
509
|
+
private maybeResumeCoordinator;
|
|
510
|
+
/**
|
|
511
|
+
* Run an agent in background (Phase 3 - Background Agents).
|
|
512
|
+
* Similar to runAgentReal but:
|
|
513
|
+
* - Creates a background session (isBackground: true)
|
|
514
|
+
* - Labels all output with agent mascot
|
|
515
|
+
* - Doesn't block the caller
|
|
516
|
+
* - Shows completion notification when done
|
|
517
|
+
*
|
|
518
|
+
* @param agentId - The agent ID to run
|
|
519
|
+
* @param userMessage - The message to send to the agent
|
|
520
|
+
*/
|
|
521
|
+
private runAgentBackground;
|
|
522
|
+
/**
|
|
523
|
+
* Handle pending delegation after agent finishes.
|
|
524
|
+
* If a delegation was approved during the agent run, switch to the
|
|
525
|
+
* target agent and inject the task as a user message.
|
|
526
|
+
*/
|
|
527
|
+
private handlePendingDelegation;
|
|
528
|
+
/**
|
|
529
|
+
* Auto-save the current session and team state.
|
|
530
|
+
* Called after each successful agent response.
|
|
531
|
+
*
|
|
532
|
+
* Saves two things:
|
|
533
|
+
* 1. Default agent's session state (for /resume - conversation history)
|
|
534
|
+
* 2. Team state (for team persistence - all agent states including roles)
|
|
535
|
+
*/
|
|
536
|
+
private autoSaveSession;
|
|
146
537
|
private formatToolParams;
|
|
147
538
|
/**
|
|
148
539
|
* Extract content and summary from tool result.
|
|
@@ -151,5 +542,13 @@ export declare class ReplV2 {
|
|
|
151
542
|
private extractToolResult;
|
|
152
543
|
private runAgentSimulation;
|
|
153
544
|
private sleep;
|
|
545
|
+
/**
|
|
546
|
+
* Print per-turn summary (tokens, duration, tool calls)
|
|
547
|
+
*/
|
|
548
|
+
private printTurnSummary;
|
|
549
|
+
/**
|
|
550
|
+
* Cancel the foreground session.
|
|
551
|
+
* Background agents continue running.
|
|
552
|
+
*/
|
|
154
553
|
private cancelSession;
|
|
155
554
|
}
|