@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
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Team Overview Tutorial
|
|
3
|
+
*
|
|
4
|
+
* Introduction to multi-agent teams and the /team command.
|
|
5
|
+
*/
|
|
6
|
+
export const teamOverviewTutorial = (s) => ({
|
|
7
|
+
id: 'team-overview',
|
|
8
|
+
title: 'Multi-Agent Teams',
|
|
9
|
+
description: 'Specialized AI assistants',
|
|
10
|
+
pages: [
|
|
11
|
+
// Page 1: Introduction
|
|
12
|
+
{
|
|
13
|
+
title: 'Multi-Agent Teams',
|
|
14
|
+
lines: [
|
|
15
|
+
'',
|
|
16
|
+
` Teams let you add ${s.primaryBold('specialized AI agents')} to your project,`,
|
|
17
|
+
` each with different expertise, tools, and model tiers.`,
|
|
18
|
+
'',
|
|
19
|
+
` ${s.secondary('Why use teams?')}`,
|
|
20
|
+
'',
|
|
21
|
+
` ${s.muted('•')} ${s.primaryBold('Focused expertise')} — each agent knows its role`,
|
|
22
|
+
` ${s.muted('•')} ${s.primaryBold('Cost control')} — use fast models for simple tasks`,
|
|
23
|
+
` ${s.muted('•')} ${s.primaryBold('Parallel work')} — run agents in the background`,
|
|
24
|
+
` ${s.muted('•')} ${s.primaryBold('Tool isolation')} — agents only see relevant tools`,
|
|
25
|
+
'',
|
|
26
|
+
` ${s.secondary('Quick start:')}`,
|
|
27
|
+
'',
|
|
28
|
+
` ${s.primary('/team')} Open the team management overlay`,
|
|
29
|
+
` ${s.primary('$arch')} Switch to the Architect agent`,
|
|
30
|
+
` ${s.primary('$dev fix it')} Send a message to the Developer`,
|
|
31
|
+
'',
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
// Page 2: The /team Overlay
|
|
35
|
+
{
|
|
36
|
+
title: 'The /team Overlay',
|
|
37
|
+
lines: [
|
|
38
|
+
'',
|
|
39
|
+
` The ${s.primary('/team')} command opens an overlay with 3 tabs:`,
|
|
40
|
+
'',
|
|
41
|
+
` ${s.primaryBold('Members')} — Your current team`,
|
|
42
|
+
'',
|
|
43
|
+
` ${s.muted('Team Management [1/1]')}`,
|
|
44
|
+
'',
|
|
45
|
+
` ${s.primary('>')} ${s.muted('[•_•] $default (Assistant) [Balanced]')} ${s.success('●')}`,
|
|
46
|
+
'',
|
|
47
|
+
` ${s.primaryBold('Add Agent')} — Available roles to add`,
|
|
48
|
+
'',
|
|
49
|
+
` ${s.muted('[▣_▣] PM [Planner] [Fast]')}`,
|
|
50
|
+
` ${s.muted('[◈_◈] Solution Architect [Architect] [Powerful]')}`,
|
|
51
|
+
` ${s.muted('[◉_◉] QA Engineer [QA / Testing] [Fast]')}`,
|
|
52
|
+
` ${s.muted('[▲_▲] Developer [Developer] [Balanced]')}`,
|
|
53
|
+
` ${s.muted('...')}`,
|
|
54
|
+
'',
|
|
55
|
+
` ${s.primaryBold('Context')} — Per-agent token usage`,
|
|
56
|
+
'',
|
|
57
|
+
` ${s.secondary('Navigation:')} Enter = view/add, Tab = switch tabs`,
|
|
58
|
+
'',
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
// Page 3: Predefined Roles
|
|
62
|
+
{
|
|
63
|
+
title: 'Predefined Roles',
|
|
64
|
+
lines: [
|
|
65
|
+
'',
|
|
66
|
+
` 7 specialized roles are available out of the box:`,
|
|
67
|
+
'',
|
|
68
|
+
` ${s.muted('[▣_▣]')} ${s.primaryBold('$pm')} PM — planning, task tracking`,
|
|
69
|
+
` ${s.muted('[◈_◈]')} ${s.primaryBold('$arch')} Architect — system design, patterns`,
|
|
70
|
+
` ${s.muted('[◉_◉]')} ${s.primaryBold('$qa')} QA — testing, code review`,
|
|
71
|
+
` ${s.muted('[▲_▲]')} ${s.primaryBold('$dev')} Developer — implementation, debugging`,
|
|
72
|
+
` ${s.muted('[◆_◆]')} ${s.primaryBold('$ops')} DevOps — deployment, CI/CD`,
|
|
73
|
+
` ${s.muted('[○_○]')} ${s.primaryBold('$docs')} Writer — documentation, guides`,
|
|
74
|
+
` ${s.muted('[◇_◇]')} ${s.primaryBold('$ba')} Analyst — requirements, metrics`,
|
|
75
|
+
'',
|
|
76
|
+
` Each role comes with:`,
|
|
77
|
+
'',
|
|
78
|
+
` ${s.muted('•')} A default ${s.primaryBold('tool profile')} (what tools it can use)`,
|
|
79
|
+
` ${s.muted('•')} A default ${s.primaryBold('model tier')} (fast/balanced/powerful)`,
|
|
80
|
+
` ${s.muted('•')} A ${s.primaryBold('system prompt')} with role-specific guidance`,
|
|
81
|
+
'',
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
// Page 4: Adding an Agent
|
|
85
|
+
{
|
|
86
|
+
title: 'Adding an Agent',
|
|
87
|
+
lines: [
|
|
88
|
+
'',
|
|
89
|
+
` Go to the ${s.primaryBold('Add Agent')} tab and select a role:`,
|
|
90
|
+
'',
|
|
91
|
+
` ${s.muted('Add [▣_▣] PM')}`,
|
|
92
|
+
'',
|
|
93
|
+
` ${s.muted(' Project planning, task tracking')}`,
|
|
94
|
+
'',
|
|
95
|
+
` ${s.muted('▶ Agent ID: $pm (default)')}`,
|
|
96
|
+
'',
|
|
97
|
+
` ${s.muted(' Model Tier: [Fast (default)]')}`,
|
|
98
|
+
'',
|
|
99
|
+
` ${s.muted(' [ ] Set as default for PM')}`,
|
|
100
|
+
'',
|
|
101
|
+
` You can customize:`,
|
|
102
|
+
'',
|
|
103
|
+
` ${s.muted('•')} ${s.primaryBold('Agent ID')} — custom name (e.g., $sarah)`,
|
|
104
|
+
` ${s.muted('•')} ${s.primaryBold('Model Tier')} — override the default tier`,
|
|
105
|
+
'',
|
|
106
|
+
` Press ${s.primaryBold('Enter')} to add the agent to your team.`,
|
|
107
|
+
'',
|
|
108
|
+
` ${s.success('[^_^]')} ${s.muted('Added [▣_▣] $pm (PM) to team')}`,
|
|
109
|
+
'',
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
// Page 5: Agent Details
|
|
113
|
+
{
|
|
114
|
+
title: 'Agent Details',
|
|
115
|
+
lines: [
|
|
116
|
+
'',
|
|
117
|
+
` In the ${s.primaryBold('Members')} tab, press Enter on an agent to see details:`,
|
|
118
|
+
'',
|
|
119
|
+
` ${s.muted('•')} Agent ID, role, display name`,
|
|
120
|
+
` ${s.muted('•')} Model tier and actual model ID`,
|
|
121
|
+
` ${s.muted('•')} Status (active, idle)`,
|
|
122
|
+
'',
|
|
123
|
+
` ${s.secondary('Actions in the detail view:')}`,
|
|
124
|
+
'',
|
|
125
|
+
` ${s.primaryBold('Enter')} Switch to this agent`,
|
|
126
|
+
` ${s.primaryBold('t')} Change model tier (fast/balanced/powerful)`,
|
|
127
|
+
` ${s.primaryBold('d')} Remove from team (except $default)`,
|
|
128
|
+
` ${s.primaryBold('Esc')} Go back`,
|
|
129
|
+
'',
|
|
130
|
+
` ${s.secondary('From the command line:')}`,
|
|
131
|
+
'',
|
|
132
|
+
` ${s.primary('/team add dev')} Add developer agent`,
|
|
133
|
+
` ${s.primary('/team remove qa')} Remove QA agent`,
|
|
134
|
+
` ${s.primary('/team status')} Quick team overview`,
|
|
135
|
+
'',
|
|
136
|
+
],
|
|
137
|
+
},
|
|
138
|
+
// Page 6: The Default Agent
|
|
139
|
+
{
|
|
140
|
+
title: 'The Default Agent',
|
|
141
|
+
lines: [
|
|
142
|
+
'',
|
|
143
|
+
` Every project starts with ${s.primaryBold('$default')} — a general-purpose`,
|
|
144
|
+
` agent with full tool access and balanced model tier.`,
|
|
145
|
+
'',
|
|
146
|
+
` ${s.secondary('Key facts:')}`,
|
|
147
|
+
'',
|
|
148
|
+
` ${s.muted('•')} Cannot be removed`,
|
|
149
|
+
` ${s.muted('•')} Has access to all tools and skills`,
|
|
150
|
+
` ${s.muted('•')} Good for general tasks and exploration`,
|
|
151
|
+
` ${s.muted('•')} When you start a conversation, $default is active`,
|
|
152
|
+
'',
|
|
153
|
+
` ${s.secondary('When to add specialized agents:')}`,
|
|
154
|
+
'',
|
|
155
|
+
` ${s.muted('•')} You want a focused perspective (QA, architecture)`,
|
|
156
|
+
` ${s.muted('•')} You want to use a cheaper model for simple tasks`,
|
|
157
|
+
` ${s.muted('•')} You want agents working in parallel`,
|
|
158
|
+
'',
|
|
159
|
+
` ${s.warning('TIP:')} Start with just $default. Add agents as needed`,
|
|
160
|
+
` — you don't have to set up a full team upfront.`,
|
|
161
|
+
'',
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
});
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Working with Agents Tutorial
|
|
3
|
+
*
|
|
4
|
+
* Covers $ prefix switching, autocomplete, custom agents, and tool profiles.
|
|
5
|
+
*/
|
|
6
|
+
export const workingWithAgentsTutorial = (s) => ({
|
|
7
|
+
id: 'working-with-agents',
|
|
8
|
+
title: 'Working with Agents',
|
|
9
|
+
description: 'Switch, mention, and customize',
|
|
10
|
+
pages: [
|
|
11
|
+
// Page 1: The $ Prefix
|
|
12
|
+
{
|
|
13
|
+
title: 'The $ Prefix',
|
|
14
|
+
lines: [
|
|
15
|
+
'',
|
|
16
|
+
` The ${s.primaryBold('$')} prefix is how you interact with team agents.`,
|
|
17
|
+
'',
|
|
18
|
+
` ${s.secondary('Switch to an agent:')}`,
|
|
19
|
+
'',
|
|
20
|
+
` ${s.primary('$arch')} Switch to the Architect`,
|
|
21
|
+
` ${s.primary('$dev fix the bug')} Switch to Dev and send message`,
|
|
22
|
+
'',
|
|
23
|
+
` ${s.secondary('Autocomplete:')}`,
|
|
24
|
+
` Type ${s.primaryBold('$')} and a dropdown shows your team:`,
|
|
25
|
+
'',
|
|
26
|
+
` ${s.primary('>')} ${s.muted('[•_•] $default - Assistant')}`,
|
|
27
|
+
` ${s.muted('[▣_▣] $pm - PM')}`,
|
|
28
|
+
` ${s.muted('[▲_▲] $dev - Developer')}`,
|
|
29
|
+
` ${s.muted('[⊡_⊡] $myagent - hal9000')}`,
|
|
30
|
+
'',
|
|
31
|
+
` Keep typing to filter, then press Enter to select.`,
|
|
32
|
+
'',
|
|
33
|
+
` The footer shows the active agent:`,
|
|
34
|
+
` ${s.muted('[⊡_⊡] $myagent (hal9000) Project: My App')}`,
|
|
35
|
+
'',
|
|
36
|
+
],
|
|
37
|
+
},
|
|
38
|
+
// Page 2: Agent Awareness
|
|
39
|
+
{
|
|
40
|
+
title: 'Agent Awareness',
|
|
41
|
+
lines: [
|
|
42
|
+
'',
|
|
43
|
+
` Each agent knows its role and expertise:`,
|
|
44
|
+
'',
|
|
45
|
+
` ${s.primary('$myagent')} ${s.muted('what is your specialty?')}`,
|
|
46
|
+
'',
|
|
47
|
+
` ${s.muted('[⊡_⊡] > I specialize in quality assurance')}`,
|
|
48
|
+
` ${s.muted('and testing. My approach is accurate and')}`,
|
|
49
|
+
` ${s.muted('detail-oriented.')}`,
|
|
50
|
+
'',
|
|
51
|
+
` Agents also know about their teammates and can`,
|
|
52
|
+
` suggest delegation:`,
|
|
53
|
+
'',
|
|
54
|
+
` ${s.muted('[⊡_⊡] > This is outside my specialty.')}`,
|
|
55
|
+
` ${s.muted('Try $dev for implementation details')}`,
|
|
56
|
+
` ${s.muted('or $pm for task prioritization.')}`,
|
|
57
|
+
'',
|
|
58
|
+
` ${s.secondary('Mention agents in messages:')}`,
|
|
59
|
+
'',
|
|
60
|
+
` ${s.muted('"What did $arch propose for the API?"')}`,
|
|
61
|
+
` ${s.muted('"Based on $pm\'s plan, estimate effort"')}`,
|
|
62
|
+
'',
|
|
63
|
+
],
|
|
64
|
+
},
|
|
65
|
+
// Page 3: Tool Profiles
|
|
66
|
+
{
|
|
67
|
+
title: 'Tool Profiles',
|
|
68
|
+
lines: [
|
|
69
|
+
'',
|
|
70
|
+
` Each agent has a ${s.primaryBold('tool profile')} that controls what`,
|
|
71
|
+
` tools it can access:`,
|
|
72
|
+
'',
|
|
73
|
+
` ${s.primaryBold('Full Access')} All tools (default agent)`,
|
|
74
|
+
` ${s.primaryBold('Developer')} File access, git, runners`,
|
|
75
|
+
` ${s.primaryBold('Planner')} Planning, backlog, documents`,
|
|
76
|
+
` ${s.primaryBold('Architect')} Read code, design tools`,
|
|
77
|
+
` ${s.primaryBold('QA / Testing')} Read code, run tests`,
|
|
78
|
+
` ${s.primaryBold('DevOps')} Shell, git, runners`,
|
|
79
|
+
` ${s.primaryBold('Documentation')} Read code, documents`,
|
|
80
|
+
` ${s.primaryBold('Read Only')} File reading only`,
|
|
81
|
+
'',
|
|
82
|
+
` A QA agent can read code and run tests, but ${s.warning('cannot')}`,
|
|
83
|
+
` modify files. A planner can manage backlog but`,
|
|
84
|
+
` ${s.warning('cannot')} run shell commands.`,
|
|
85
|
+
'',
|
|
86
|
+
` This keeps agents focused and safe.`,
|
|
87
|
+
'',
|
|
88
|
+
],
|
|
89
|
+
},
|
|
90
|
+
// Page 4: Model Tiers
|
|
91
|
+
{
|
|
92
|
+
title: 'Model Tiers',
|
|
93
|
+
lines: [
|
|
94
|
+
'',
|
|
95
|
+
` Each agent has a ${s.primaryBold('model tier')} setting:`,
|
|
96
|
+
'',
|
|
97
|
+
` ${s.primaryBold('Fast')} Quick responses, low cost`,
|
|
98
|
+
` ${s.muted(' Claude Haiku, GPT-4o Mini, Gemini Flash')}`,
|
|
99
|
+
'',
|
|
100
|
+
` ${s.primaryBold('Balanced')} Good quality/speed balance (default)`,
|
|
101
|
+
` ${s.muted(' Claude Sonnet, GPT-4o, Gemini Pro')}`,
|
|
102
|
+
'',
|
|
103
|
+
` ${s.primaryBold('Powerful')} Maximum capability`,
|
|
104
|
+
` ${s.muted(' Claude Opus, GPT-4, Gemini Ultra')}`,
|
|
105
|
+
'',
|
|
106
|
+
` ${s.secondary('Default tiers per role:')}`,
|
|
107
|
+
'',
|
|
108
|
+
` ${s.muted('PM, QA, Docs')} → Fast (simple tasks)`,
|
|
109
|
+
` ${s.muted('Dev, Ops, BA')} → Balanced (general work)`,
|
|
110
|
+
` ${s.muted('Architect')} → Powerful (complex reasoning)`,
|
|
111
|
+
'',
|
|
112
|
+
` Change an agent's tier: press ${s.primaryBold('t')} in the agent detail`,
|
|
113
|
+
` view, or in the team overlay.`,
|
|
114
|
+
'',
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
// Page 5: Custom Agents
|
|
118
|
+
{
|
|
119
|
+
title: 'Custom Agents',
|
|
120
|
+
lines: [
|
|
121
|
+
'',
|
|
122
|
+
` Create your own agent with the 4-step wizard:`,
|
|
123
|
+
` ${s.muted('(select "Create Custom Agent..." in Add Agent tab)')}`,
|
|
124
|
+
'',
|
|
125
|
+
` ${s.primaryBold('Step 1: Basic Info')}`,
|
|
126
|
+
` ${s.muted('Agent ID, display name, specialty, personality')}`,
|
|
127
|
+
'',
|
|
128
|
+
` ${s.primaryBold('Step 2: Tool Profile')}`,
|
|
129
|
+
` ${s.muted('Full Access, Developer, QA, Custom, etc.')}`,
|
|
130
|
+
'',
|
|
131
|
+
` ${s.primaryBold('Step 3: Skills')}`,
|
|
132
|
+
` ${s.muted('Select specific skills or leave empty for all')}`,
|
|
133
|
+
` ${s.muted('[x] code-review [x] debug [ ] refactor')}`,
|
|
134
|
+
'',
|
|
135
|
+
` ${s.primaryBold('Step 4: Model Tier')}`,
|
|
136
|
+
` ${s.muted('Fast / Balanced / Powerful')}`,
|
|
137
|
+
'',
|
|
138
|
+
` ${s.success('Created $myagent (hal9000, QA, Balanced)')}`,
|
|
139
|
+
'',
|
|
140
|
+
` Custom agents are saved per-project and persist`,
|
|
141
|
+
` across sessions.`,
|
|
142
|
+
'',
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
// Page 6: Tips
|
|
146
|
+
{
|
|
147
|
+
title: 'Tips & Best Practices',
|
|
148
|
+
lines: [
|
|
149
|
+
'',
|
|
150
|
+
` ${s.secondary('Start small:')}`,
|
|
151
|
+
` Don't add all 7 agents at once. Add them as needed.`,
|
|
152
|
+
'',
|
|
153
|
+
` ${s.secondary('Use fast models for review tasks:')}`,
|
|
154
|
+
` QA, docs, and planning don't need powerful models.`,
|
|
155
|
+
'',
|
|
156
|
+
` ${s.secondary('Use $ autocomplete:')}`,
|
|
157
|
+
` Type ${s.primaryBold('$')} to see your team at a glance.`,
|
|
158
|
+
'',
|
|
159
|
+
` ${s.secondary('Let agents suggest delegation:')}`,
|
|
160
|
+
` Ask one agent and they'll recommend the right teammate.`,
|
|
161
|
+
'',
|
|
162
|
+
` ${s.secondary('Context is isolated:')}`,
|
|
163
|
+
` Each agent has its own conversation history.`,
|
|
164
|
+
` Use ${s.primary('/team')} Context tab to monitor token usage.`,
|
|
165
|
+
'',
|
|
166
|
+
` ${s.secondary('Next:')} Learn about ${s.primary('Background Execution')}`,
|
|
167
|
+
` to run agents in parallel.`,
|
|
168
|
+
'',
|
|
169
|
+
],
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
});
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* - Wizard mode: Step-by-step agent creation
|
|
11
11
|
*/
|
|
12
12
|
import * as terminal from '../../terminal.js';
|
|
13
|
-
import { TabbedListOverlayV2, BaseScreen, stay, popScreen, closeOverlay, isEscape, isCtrlC, isEnter, isNavigateUp, isNavigateDown, isBackspace, isClose, extractPrintable, renderBorder, wrapText, } from '../../base/index.js';
|
|
13
|
+
import { TabbedListOverlayV2, BaseScreen, stay, popScreen, closeOverlay, isEscape, isCtrlC, isEnter, isNavigateUp, isNavigateDown, isBackspace, isClose, extractPrintable, renderBorder, wrapText, truncate, } from '../../base/index.js';
|
|
14
14
|
import { getAgentRegistry } from '../../../agents/registry.js';
|
|
15
15
|
const TABS = [
|
|
16
16
|
{ id: 'builtin', label: 'Built-in' },
|
|
@@ -68,7 +68,7 @@ class DetailScreen extends BaseScreen {
|
|
|
68
68
|
// Show first few lines of system prompt
|
|
69
69
|
const promptLines = this.item.systemPrompt.split('\n').slice(0, 5);
|
|
70
70
|
for (const line of promptLines) {
|
|
71
|
-
const truncated = line
|
|
71
|
+
const truncated = truncate(line, cols - 6);
|
|
72
72
|
lines.push(` ${s.secondary(truncated)}`);
|
|
73
73
|
}
|
|
74
74
|
if (this.item.systemPrompt.split('\n').length > 5) {
|
|
@@ -169,8 +169,8 @@ class EditScreen extends BaseScreen {
|
|
|
169
169
|
lines.push('');
|
|
170
170
|
const fields = [
|
|
171
171
|
{ id: 'model', label: 'Model', value: this.editedAgent.model },
|
|
172
|
-
{ id: 'description', label: 'Description', value:
|
|
173
|
-
{ id: 'prompt', label: 'System Prompt', value:
|
|
172
|
+
{ id: 'description', label: 'Description', value: truncate(this.editedAgent.description, 40) },
|
|
173
|
+
{ id: 'prompt', label: 'System Prompt', value: truncate(this.editedAgent.prompt, 40) },
|
|
174
174
|
{ id: 'save', label: 'Save Changes', value: '' },
|
|
175
175
|
{ id: 'delete', label: 'Delete Agent', value: '' },
|
|
176
176
|
{ id: 'cancel', label: 'Cancel', value: '' },
|
|
@@ -415,13 +415,6 @@ class EditScreen extends BaseScreen {
|
|
|
415
415
|
return stay();
|
|
416
416
|
}
|
|
417
417
|
}
|
|
418
|
-
truncate(text, max) {
|
|
419
|
-
if (!text)
|
|
420
|
-
return '';
|
|
421
|
-
if (text.length <= max)
|
|
422
|
-
return text;
|
|
423
|
-
return text.slice(0, max - 3) + '...';
|
|
424
|
-
}
|
|
425
418
|
/**
|
|
426
419
|
* Minimum height for stable rendering.
|
|
427
420
|
*/
|
|
@@ -533,15 +526,11 @@ class WizardScreen extends BaseScreen {
|
|
|
533
526
|
lines.push(` Model: ${s.primary(this.newAgent.model)}`);
|
|
534
527
|
lines.push('');
|
|
535
528
|
lines.push(` ${s.secondary('Description:')}`);
|
|
536
|
-
const descPreview = this.newAgent.description
|
|
537
|
-
? this.newAgent.description.slice(0, 57) + '...'
|
|
538
|
-
: this.newAgent.description;
|
|
529
|
+
const descPreview = truncate(this.newAgent.description, 60);
|
|
539
530
|
lines.push(` ${s.muted(descPreview)}`);
|
|
540
531
|
lines.push('');
|
|
541
532
|
lines.push(` ${s.secondary('System prompt:')}`);
|
|
542
|
-
const promptPreview = this.newAgent.prompt
|
|
543
|
-
? this.newAgent.prompt.slice(0, 57) + '...'
|
|
544
|
-
: this.newAgent.prompt;
|
|
533
|
+
const promptPreview = truncate(this.newAgent.prompt, 60);
|
|
545
534
|
lines.push(` ${s.muted(promptPreview)}`);
|
|
546
535
|
lines.push('');
|
|
547
536
|
lines.push(this.selectedOption === 0
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
* Uses TabbedListOverlayV2 for consistent tabbed list behavior.
|
|
11
11
|
*/
|
|
12
12
|
import { TabbedListOverlayV2 } from '../../base/tabbed-list-overlay-v2.js';
|
|
13
|
-
import { BaseScreen, stay, popScreen, closeOverlay, renderBorder,
|
|
13
|
+
import { BaseScreen, stay, popScreen, closeOverlay, renderBorder, truncate,
|
|
14
|
+
// Key detection functions (consolidated from ui-core)
|
|
15
|
+
isCtrlC, isEscape, isEnter, isBackspace, isTab, isShiftTab, isNavigateUp, isNavigateDown, isLeftArrow, isRightArrow, extractPrintable, } from '../../base/index.js';
|
|
14
16
|
import { getGlobalAnchorManager, getAnchorManager, } from '../../../anchors/index.js';
|
|
15
17
|
import { getActiveProject } from '../../../tools/project-db.js';
|
|
16
18
|
import * as terminal from '../../terminal.js';
|
|
@@ -66,47 +68,7 @@ function loadAnchors(activeProjectId) {
|
|
|
66
68
|
});
|
|
67
69
|
return items;
|
|
68
70
|
}
|
|
69
|
-
//
|
|
70
|
-
// Key Detection Helpers
|
|
71
|
-
// =============================================================================
|
|
72
|
-
function isCtrlC(data) {
|
|
73
|
-
return data.length === 1 && data[0] === 0x03;
|
|
74
|
-
}
|
|
75
|
-
function isEscape(data) {
|
|
76
|
-
return data.length === 1 && data[0] === 0x1b;
|
|
77
|
-
}
|
|
78
|
-
function isEnter(data) {
|
|
79
|
-
return data.length === 1 && (data[0] === 0x0d || data[0] === 0x0a);
|
|
80
|
-
}
|
|
81
|
-
function isBackspace(data) {
|
|
82
|
-
return data.length === 1 && (data[0] === 0x7f || data[0] === 0x08);
|
|
83
|
-
}
|
|
84
|
-
function isTab(data) {
|
|
85
|
-
return data.length === 1 && data[0] === 0x09;
|
|
86
|
-
}
|
|
87
|
-
function isShiftTab(data) {
|
|
88
|
-
return data.toString() === '\x1b[Z';
|
|
89
|
-
}
|
|
90
|
-
function isNavigateUp(data) {
|
|
91
|
-
const str = data.toString();
|
|
92
|
-
return str === '\x1b[A' || str === 'k';
|
|
93
|
-
}
|
|
94
|
-
function isNavigateDown(data) {
|
|
95
|
-
const str = data.toString();
|
|
96
|
-
return str === '\x1b[B' || str === 'j';
|
|
97
|
-
}
|
|
98
|
-
function isLeftArrow(data) {
|
|
99
|
-
return data.toString() === '\x1b[D';
|
|
100
|
-
}
|
|
101
|
-
function isRightArrow(data) {
|
|
102
|
-
return data.toString() === '\x1b[C';
|
|
103
|
-
}
|
|
104
|
-
function extractPrintable(data) {
|
|
105
|
-
if (data.length === 1 && data[0] >= 0x20 && data[0] < 0x7f) {
|
|
106
|
-
return String.fromCharCode(data[0]);
|
|
107
|
-
}
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
71
|
+
// Key detection functions are imported from '../../base/index.js'
|
|
110
72
|
// =============================================================================
|
|
111
73
|
// Add Anchor Screen
|
|
112
74
|
// =============================================================================
|
|
@@ -290,25 +252,33 @@ class EditAnchorScreen extends BaseScreen {
|
|
|
290
252
|
this.onComplete = onComplete;
|
|
291
253
|
}
|
|
292
254
|
wrapText(text, maxWidth) {
|
|
293
|
-
|
|
294
|
-
|
|
255
|
+
// Split on newlines first, then wrap each segment by width.
|
|
256
|
+
// This prevents \n chars from producing extra physical lines
|
|
257
|
+
// that the overlay system doesn't account for.
|
|
295
258
|
const wrapped = [];
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
if (
|
|
299
|
-
wrapped.push(
|
|
300
|
-
|
|
259
|
+
const paragraphs = text.split('\n');
|
|
260
|
+
for (const paragraph of paragraphs) {
|
|
261
|
+
if (paragraph.length <= maxWidth) {
|
|
262
|
+
wrapped.push(paragraph);
|
|
263
|
+
continue;
|
|
301
264
|
}
|
|
302
|
-
let
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
breakPoint = i + 1;
|
|
265
|
+
let remaining = paragraph;
|
|
266
|
+
while (remaining.length > 0) {
|
|
267
|
+
if (remaining.length <= maxWidth) {
|
|
268
|
+
wrapped.push(remaining);
|
|
307
269
|
break;
|
|
308
270
|
}
|
|
271
|
+
let breakPoint = maxWidth;
|
|
272
|
+
const searchStart = Math.max(0, maxWidth - 20);
|
|
273
|
+
for (let i = maxWidth - 1; i >= searchStart; i--) {
|
|
274
|
+
if (remaining[i] === ' ') {
|
|
275
|
+
breakPoint = i + 1;
|
|
276
|
+
break;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
wrapped.push(remaining.slice(0, breakPoint));
|
|
280
|
+
remaining = remaining.slice(breakPoint);
|
|
309
281
|
}
|
|
310
|
-
wrapped.push(remaining.slice(0, breakPoint));
|
|
311
|
-
remaining = remaining.slice(breakPoint);
|
|
312
282
|
}
|
|
313
283
|
return wrapped;
|
|
314
284
|
}
|
|
@@ -545,10 +515,8 @@ class DeleteConfirmScreen extends BaseScreen {
|
|
|
545
515
|
lines.push(s.muted(` Scope: ${item.scope}`));
|
|
546
516
|
lines.push('');
|
|
547
517
|
const maxContentLen = cols - 14;
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
content = content.slice(0, maxContentLen - 3) + '...';
|
|
551
|
-
}
|
|
518
|
+
const singleLine = item.anchor.content.replace(/\n+/g, ' ').replace(/\s+/g, ' ').trim();
|
|
519
|
+
const content = truncate(singleLine, maxContentLen);
|
|
552
520
|
lines.push(` Content: ${content}`);
|
|
553
521
|
lines.push('');
|
|
554
522
|
lines.push(s.warning(' Are you sure you want to delete this anchor?'));
|
|
@@ -636,10 +604,8 @@ export class AnchorsOverlayV2 extends TabbedListOverlayV2 {
|
|
|
636
604
|
const scopeBadge = item.scope === 'global' ? s.muted('[G]') : s.info('[P]');
|
|
637
605
|
const prefixLen = 15;
|
|
638
606
|
const maxContentLen = Math.max(20, cols - prefixLen - 8);
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
content = content.slice(0, maxContentLen - 3) + '...';
|
|
642
|
-
}
|
|
607
|
+
const singleLine = item.anchor.content.replace(/\n+/g, ' ').replace(/\s+/g, ' ').trim();
|
|
608
|
+
const content = truncate(singleLine, maxContentLen);
|
|
643
609
|
const cursor = isSelected ? s.primary('❯ ') : ' ';
|
|
644
610
|
const line = `${priorityBadge} ${scopeBadge} ${content}`;
|
|
645
611
|
if (isSelected) {
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Artifact Detail Overlay V2
|
|
3
|
+
*
|
|
4
|
+
* Fullscreen markdown artifact viewer with vim-style navigation.
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - Full-screen artifact viewing with markdown rendering
|
|
8
|
+
* - Vim-style navigation (j/k, g/G, PgUp/PgDn)
|
|
9
|
+
* - Metadata display (type, agent, version, timestamps)
|
|
10
|
+
*/
|
|
11
|
+
import { BaseOverlayV2 } from '../../base/overlay-base-v2.js';
|
|
12
|
+
import type { RenderContext, OverlayAction, KeyEvent } from '../types.js';
|
|
13
|
+
import type { Artifact } from '../../../multi-agent/index.js';
|
|
14
|
+
export interface ArtifactDetailOverlayV2Result {
|
|
15
|
+
/** Whether user pressed Esc/q to go back to list */
|
|
16
|
+
goBack: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface ArtifactDetailState {
|
|
19
|
+
renderedLines: string[];
|
|
20
|
+
scrollOffset: number;
|
|
21
|
+
maxScroll: number;
|
|
22
|
+
}
|
|
23
|
+
export declare class ArtifactDetailOverlayV2 extends BaseOverlayV2<ArtifactDetailState, ArtifactDetailOverlayV2Result> {
|
|
24
|
+
readonly type: "inline";
|
|
25
|
+
readonly id = "artifact-detail-overlay-v2";
|
|
26
|
+
readonly usesAlternateScreen = true;
|
|
27
|
+
private readonly artifact;
|
|
28
|
+
constructor(artifact: Artifact);
|
|
29
|
+
/**
|
|
30
|
+
* Enter alternate screen buffer when overlay mounts.
|
|
31
|
+
*/
|
|
32
|
+
onMount(): void;
|
|
33
|
+
/**
|
|
34
|
+
* Exit alternate screen buffer when overlay unmounts.
|
|
35
|
+
*/
|
|
36
|
+
onUnmount(): void;
|
|
37
|
+
protected renderContent(context: RenderContext): string[];
|
|
38
|
+
/**
|
|
39
|
+
* Handle key events
|
|
40
|
+
*/
|
|
41
|
+
handleKey(key: KeyEvent): OverlayAction<ArtifactDetailOverlayV2Result>;
|
|
42
|
+
}
|
|
43
|
+
export {};
|