@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
|
@@ -12,14 +12,17 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import * as fs from 'fs';
|
|
14
14
|
import * as path from 'path';
|
|
15
|
-
import {
|
|
15
|
+
import { execSync } from 'child_process';
|
|
16
|
+
import { BaseOverlayV2, isEscape, isTab, isShiftTab, isEnter, isSpace, isCtrlC, isNavigateUp, isNavigateDown, isBackspace, getNumberKey, isPrintable, extractPrintable, renderProgressBar, formatTokens, truncate, } from '../../base/index.js';
|
|
16
17
|
import { getCurrentTheme, } from '../../../themes/index.js';
|
|
17
|
-
import { getSettings, setSetting, permissionModeToDisplay, displayToPermissionMode, notificationModeToDisplay, displayToNotificationMode, projectStartupModeToDisplay, displayToProjectStartupMode, } from '../../../settings/index.js';
|
|
18
|
+
import { getSettings, setSetting, permissionModeToDisplay, displayToPermissionMode, notificationModeToDisplay, displayToNotificationMode, projectStartupModeToDisplay, displayToProjectStartupMode, projectSessionModeToDisplay, displayToProjectSessionMode, sessionRetentionToDisplay, displayToSessionRetention, compactModeToDisplay, displayToCompactMode, } from '../../../settings/index.js';
|
|
18
19
|
import { getResolvedPathConfig, setDeleteProtection, setProjectMatchRequired, setWorkspacePath, setProjectsPath, setDataPath, } from '../../../settings/paths.js';
|
|
19
20
|
import { MASCOT_LABELS, } from '../../mascot/index.js';
|
|
20
21
|
import { ThemeOverlayV2 } from './theme-overlay-v2.js';
|
|
21
22
|
import { ModelOverlayV2 } from './model-overlay-v2.js';
|
|
22
23
|
import { MascotOverlayV2 } from './mascot-overlay-v2.js';
|
|
24
|
+
import { getDefaultModelsForUI } from '../../../models/index.js';
|
|
25
|
+
import { isInVSCode, ensureExtensionInstalled } from '../../../utils/vscode-detect.js';
|
|
23
26
|
// =============================================================================
|
|
24
27
|
// Constants
|
|
25
28
|
// =============================================================================
|
|
@@ -28,26 +31,16 @@ const TARGET_HEIGHT = 25;
|
|
|
28
31
|
const TABS = [
|
|
29
32
|
{ id: 'status', label: 'Status' },
|
|
30
33
|
{ id: 'config', label: 'Config' },
|
|
31
|
-
{ id: 'paths', label: '
|
|
34
|
+
{ id: 'paths', label: 'Environment' },
|
|
32
35
|
{ id: 'usage', label: 'Usage' },
|
|
33
36
|
];
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
{ id: 'gpt-4o-mini', name: 'GPT-4o Mini', description: 'Fast and affordable', provider: 'openai' },
|
|
42
|
-
// Gemini
|
|
43
|
-
{ id: 'gemini-2.0-flash', name: 'Gemini 2.0 Flash', description: 'Fast multimodal', provider: 'gemini' },
|
|
44
|
-
{ id: 'gemini-2.5-flash', name: 'Gemini 2.5 Flash', description: 'Latest stable flash', provider: 'gemini' },
|
|
45
|
-
{ id: 'gemini-2.5-pro', name: 'Gemini 2.5 Pro', description: 'Most capable Gemini', provider: 'gemini' },
|
|
46
|
-
// Ollama
|
|
47
|
-
{ id: 'llama3.2', name: 'Llama 3.2', description: 'Local model', provider: 'ollama' },
|
|
48
|
-
{ id: 'mistral', name: 'Mistral', description: 'Local model', provider: 'ollama' },
|
|
49
|
-
{ id: 'codellama', name: 'Code Llama', description: 'Code-focused local model', provider: 'ollama' },
|
|
50
|
-
];
|
|
37
|
+
// =============================================================================
|
|
38
|
+
// Model Options (from registry - single source of truth)
|
|
39
|
+
// =============================================================================
|
|
40
|
+
// Get model options from registry for display name lookup
|
|
41
|
+
function getModelOptions() {
|
|
42
|
+
return getDefaultModelsForUI();
|
|
43
|
+
}
|
|
51
44
|
// =============================================================================
|
|
52
45
|
// Helper Functions
|
|
53
46
|
// =============================================================================
|
|
@@ -88,16 +81,53 @@ function findMemoryFile(cwd) {
|
|
|
88
81
|
}
|
|
89
82
|
return null;
|
|
90
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Get git config value, returns null if not set
|
|
86
|
+
*/
|
|
87
|
+
function getGitConfigValue(key) {
|
|
88
|
+
try {
|
|
89
|
+
const value = execSync(`git config --global ${key}`, {
|
|
90
|
+
encoding: 'utf-8',
|
|
91
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
92
|
+
}).trim();
|
|
93
|
+
return value || null;
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Set git config value
|
|
101
|
+
*/
|
|
102
|
+
function setGitConfigValue(key, value) {
|
|
103
|
+
try {
|
|
104
|
+
execSync(`git config --global ${key} "${value.replace(/"/g, '\\"')}"`, {
|
|
105
|
+
encoding: 'utf-8',
|
|
106
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
107
|
+
});
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
91
114
|
function getConfigItems(currentModel) {
|
|
92
115
|
const currentTheme = getCurrentTheme();
|
|
93
116
|
const settings = getSettings();
|
|
94
|
-
// Find display name for current model
|
|
95
|
-
const
|
|
117
|
+
// Find display name for current model (from registry)
|
|
118
|
+
const modelOptions = getModelOptions();
|
|
119
|
+
const modelOption = modelOptions.find(m => m.id === currentModel);
|
|
96
120
|
const modelDisplay = modelOption ? modelOption.name : currentModel || 'Default';
|
|
97
121
|
return [
|
|
98
122
|
{ id: 'autoCompact', label: 'Auto-compact', type: 'boolean', value: settings.autoCompact },
|
|
99
|
-
{ id: '
|
|
100
|
-
|
|
123
|
+
{ id: 'delegation', label: 'Auto-delegate large results', type: 'boolean', value: settings.delegation },
|
|
124
|
+
// VS Code diff toggle — only visible when running inside VS Code
|
|
125
|
+
...(isInVSCode() ? [{ id: 'vsDiffExtension', label: 'VS Code diff view', type: 'boolean', value: settings.vsDiffExtension }] : []),
|
|
126
|
+
{ id: 'compactMode', label: 'Default compact mode', type: 'cycle', value: compactModeToDisplay(settings.compactMode), options: ['Active agent', 'All agents', 'Auto (>70%)'] },
|
|
127
|
+
// TODO: Implement show tips feature
|
|
128
|
+
// { id: 'showTips', label: 'Show tips', type: 'boolean', value: settings.showTips },
|
|
129
|
+
// TODO: Implement checkpoints/rewind feature (Claude Code v2.0)
|
|
130
|
+
// { id: 'reviseCode', label: 'Revise code (checkpoints)', type: 'boolean', value: settings.reviseCode },
|
|
101
131
|
{ id: 'verbose', label: 'Verbose output', type: 'boolean', value: settings.verbose },
|
|
102
132
|
{ id: 'progressBar', label: 'Terminal progress bar', type: 'boolean', value: settings.progressBar },
|
|
103
133
|
{
|
|
@@ -105,33 +135,18 @@ function getConfigItems(currentModel) {
|
|
|
105
135
|
label: 'Default permission mode',
|
|
106
136
|
type: 'cycle',
|
|
107
137
|
value: permissionModeToDisplay(settings.permissionMode),
|
|
108
|
-
options: ['Default', 'Plan', '
|
|
138
|
+
options: ['Default', 'Plan mode', 'Accept edits', "Don't ask"],
|
|
109
139
|
},
|
|
110
|
-
{ id: 'gitignore', label: 'Respect .gitignore in file picker', type: 'boolean', value: settings.gitignore },
|
|
111
140
|
{ id: 'theme', label: 'Theme', type: 'submenu', value: currentTheme.name },
|
|
112
141
|
{ id: 'model', label: 'Model', type: 'submenu', value: modelDisplay },
|
|
113
142
|
{
|
|
114
143
|
id: 'notifications',
|
|
115
|
-
label: '
|
|
144
|
+
label: 'Terminal notifications',
|
|
116
145
|
type: 'cycle',
|
|
117
146
|
value: notificationModeToDisplay(settings.notifications),
|
|
118
|
-
options: ['Auto', '
|
|
147
|
+
options: ['Auto', 'Terminal Bell', 'Disabled'],
|
|
119
148
|
},
|
|
120
|
-
{
|
|
121
|
-
id: 'outputStyle',
|
|
122
|
-
label: 'Output style',
|
|
123
|
-
type: 'cycle',
|
|
124
|
-
value: settings.outputStyle,
|
|
125
|
-
options: ['default', 'compact', 'verbose'],
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
id: 'editorMode',
|
|
129
|
-
label: 'Editor mode',
|
|
130
|
-
type: 'cycle',
|
|
131
|
-
value: settings.editorMode,
|
|
132
|
-
options: ['normal', 'vim', 'emacs'],
|
|
133
|
-
},
|
|
134
|
-
{ id: 'autoInstall', label: 'Auto-install IDE extension', type: 'boolean', value: settings.autoInstall },
|
|
149
|
+
{ id: 'checkUpdates', label: 'Check for updates on startup', type: 'boolean', value: settings.checkUpdates },
|
|
135
150
|
{
|
|
136
151
|
id: 'startupMode',
|
|
137
152
|
label: 'Startup behavior',
|
|
@@ -146,6 +161,20 @@ function getConfigItems(currentModel) {
|
|
|
146
161
|
value: projectStartupModeToDisplay(settings.projectStartup),
|
|
147
162
|
options: ['Last opened', 'Off'],
|
|
148
163
|
},
|
|
164
|
+
{
|
|
165
|
+
id: 'projectSessionMode',
|
|
166
|
+
label: 'Session restore mode',
|
|
167
|
+
type: 'cycle',
|
|
168
|
+
value: projectSessionModeToDisplay(settings.projectSessionMode),
|
|
169
|
+
options: ['Auto', 'Ask', 'Fresh'],
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
id: 'sessionRetentionDays',
|
|
173
|
+
label: 'Session history retention',
|
|
174
|
+
type: 'cycle',
|
|
175
|
+
value: sessionRetentionToDisplay(settings.sessionRetentionDays),
|
|
176
|
+
options: ['7 days', '14 days', '30 days', '60 days', '90 days', 'Forever'],
|
|
177
|
+
},
|
|
149
178
|
{ id: 'mascot', label: 'Mascot', type: 'submenu', value: MASCOT_LABELS[settings.mascot] },
|
|
150
179
|
];
|
|
151
180
|
}
|
|
@@ -174,6 +203,9 @@ export class ConfigOverlayV2 extends BaseOverlayV2 {
|
|
|
174
203
|
model: options.model || 'unknown',
|
|
175
204
|
provider: options.provider || 'unknown',
|
|
176
205
|
toolCount: options.toolCount ?? 0,
|
|
206
|
+
directToolCount: options.directToolCount,
|
|
207
|
+
metaToolCount: options.metaToolCount,
|
|
208
|
+
hasTeam: options.hasTeam,
|
|
177
209
|
startTime: options.startTime || new Date(),
|
|
178
210
|
memoryFile: findMemoryFile(options.cwd),
|
|
179
211
|
},
|
|
@@ -251,8 +283,16 @@ export class ConfigOverlayV2 extends BaseOverlayV2 {
|
|
|
251
283
|
lines.push(` Uptime: ${s.muted(uptimeStr)}`);
|
|
252
284
|
lines.push('');
|
|
253
285
|
lines.push(` Provider: ${s.primary(info.provider)}`);
|
|
254
|
-
|
|
255
|
-
|
|
286
|
+
// Show model with "(default)" label when team is active
|
|
287
|
+
const modelLabel = info.hasTeam ? 'Model (default agent)' : 'Model';
|
|
288
|
+
lines.push(` ${modelLabel}: ${s.primary(info.model)}`);
|
|
289
|
+
// Show tool count with breakdown if available
|
|
290
|
+
if (info.directToolCount !== undefined && info.metaToolCount !== undefined) {
|
|
291
|
+
lines.push(` Tools: ${s.muted(String(info.toolCount))} ${s.muted(`(${String(info.directToolCount)} direct + ${String(info.metaToolCount)} via use_tool)`)}`);
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
lines.push(` Tools: ${s.muted(String(info.toolCount))}`);
|
|
295
|
+
}
|
|
256
296
|
lines.push('');
|
|
257
297
|
lines.push(` Cwd: ${s.muted(info.cwd)}`);
|
|
258
298
|
lines.push(` Memory: ${s.muted(info.memoryFile || 'none')}`);
|
|
@@ -293,12 +333,16 @@ export class ConfigOverlayV2 extends BaseOverlayV2 {
|
|
|
293
333
|
// Layout constants
|
|
294
334
|
const labelWidth = 24;
|
|
295
335
|
const valueWidth = Math.max(30, cols - labelWidth - 8);
|
|
336
|
+
// Get git config
|
|
337
|
+
const gitUserName = getGitConfigValue('user.name');
|
|
338
|
+
const gitUserEmail = getGitConfigValue('user.email');
|
|
296
339
|
lines.push(s.primaryBold(' Path Configuration'));
|
|
297
340
|
lines.push('');
|
|
298
|
-
// Helper to render a path item
|
|
299
|
-
const
|
|
341
|
+
// Helper to render a path/text item
|
|
342
|
+
const renderEditableItem = (index, label, value, placeholder) => {
|
|
300
343
|
const isSelected = this.state.pathSelectedItem === index;
|
|
301
344
|
const prefix = isSelected ? s.primary(' ❯ ') : ' ';
|
|
345
|
+
const displayValue = value || placeholder || 'not set';
|
|
302
346
|
if (this.state.pathEditMode && isSelected) {
|
|
303
347
|
// Edit mode - show input field
|
|
304
348
|
const labelStyled = s.primary(label.padEnd(labelWidth));
|
|
@@ -308,15 +352,23 @@ export class ConfigOverlayV2 extends BaseOverlayV2 {
|
|
|
308
352
|
else {
|
|
309
353
|
// Normal mode - show value
|
|
310
354
|
const labelStyled = isSelected ? s.primary(label.padEnd(labelWidth)) : label.padEnd(labelWidth);
|
|
311
|
-
const truncatedValue =
|
|
312
|
-
const valueStyled =
|
|
355
|
+
const truncatedValue = truncate(displayValue, valueWidth);
|
|
356
|
+
const valueStyled = value
|
|
357
|
+
? (isSelected ? s.primary(truncatedValue) : s.muted(truncatedValue))
|
|
358
|
+
: s.warning(truncatedValue);
|
|
313
359
|
lines.push(`${prefix}${labelStyled}${valueStyled}`);
|
|
314
360
|
}
|
|
315
361
|
};
|
|
316
362
|
// Path items (0-2)
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
363
|
+
renderEditableItem(0, 'Workspace path', pathConfig.workspacePath);
|
|
364
|
+
renderEditableItem(1, 'Projects path', pathConfig.projectsPath);
|
|
365
|
+
renderEditableItem(2, 'Data path', pathConfig.dataPath);
|
|
366
|
+
lines.push('');
|
|
367
|
+
lines.push(s.primaryBold(' Git Configuration'));
|
|
368
|
+
lines.push('');
|
|
369
|
+
// Git config items (3-4)
|
|
370
|
+
renderEditableItem(3, 'Git user name', gitUserName, 'not set');
|
|
371
|
+
renderEditableItem(4, 'Git user email', gitUserEmail, 'not set');
|
|
320
372
|
lines.push('');
|
|
321
373
|
lines.push(s.primaryBold(' Safety Settings'));
|
|
322
374
|
lines.push('');
|
|
@@ -329,9 +381,9 @@ export class ConfigOverlayV2 extends BaseOverlayV2 {
|
|
|
329
381
|
lines.push(`${prefix}${labelStyled}${valueStyled}`);
|
|
330
382
|
lines.push(s.muted(` ${hint}`));
|
|
331
383
|
};
|
|
332
|
-
// Toggle items (
|
|
333
|
-
renderToggleItem(
|
|
334
|
-
renderToggleItem(
|
|
384
|
+
// Toggle items (5-6)
|
|
385
|
+
renderToggleItem(5, 'Delete protection', pathConfig.deleteProtection, 'Only allow file deletion within projects path');
|
|
386
|
+
renderToggleItem(6, 'CWD mismatch warning', pathConfig.requireProjectMatch, 'Warn when current directory differs from active project');
|
|
335
387
|
lines.push('');
|
|
336
388
|
// Allowed paths (if any)
|
|
337
389
|
if (pathConfig.allowedPaths.length > 0) {
|
|
@@ -347,38 +399,22 @@ export class ConfigOverlayV2 extends BaseOverlayV2 {
|
|
|
347
399
|
const s = context.styles;
|
|
348
400
|
const lines = [];
|
|
349
401
|
const stats = this.state.usageStats;
|
|
350
|
-
// Format numbers with K suffix
|
|
351
|
-
const formatNum = (n) => {
|
|
352
|
-
if (n >= 1000)
|
|
353
|
-
return `${(n / 1000).toFixed(1)}k`;
|
|
354
|
-
return String(n);
|
|
355
|
-
};
|
|
356
402
|
lines.push(s.primaryBold(' Session Tokens'));
|
|
357
|
-
lines.push(` Input: ${s.primary(
|
|
358
|
-
lines.push(` Output: ${s.primary(
|
|
359
|
-
lines.push(` Total: ${s.primary(
|
|
403
|
+
lines.push(` Input: ${s.primary(formatTokens(stats.inputTokens).padStart(8))}`);
|
|
404
|
+
lines.push(` Output: ${s.primary(formatTokens(stats.outputTokens).padStart(8))}`);
|
|
405
|
+
lines.push(` Total: ${s.primary(formatTokens(stats.inputTokens + stats.outputTokens).padStart(8))}`);
|
|
360
406
|
lines.push('');
|
|
361
407
|
lines.push(s.primaryBold(' Context Window'));
|
|
362
408
|
const contextPct = stats.contextMax > 0 ? stats.contextUsed / stats.contextMax : 0;
|
|
363
409
|
const contextPctDisplay = Math.round(contextPct * 100);
|
|
364
|
-
lines.push(` ${
|
|
365
|
-
lines.push(s.muted(` ${
|
|
410
|
+
lines.push(` ${renderProgressBar(contextPct, 30, s)} ${String(contextPctDisplay)}% used`);
|
|
411
|
+
lines.push(s.muted(` ${formatTokens(Math.round(stats.contextUsed))} / ${formatTokens(stats.contextMax)} tokens`));
|
|
366
412
|
lines.push('');
|
|
367
413
|
lines.push(s.primaryBold(' Session Activity'));
|
|
368
414
|
lines.push(` Requests: ${s.primary(String(stats.requests))}`);
|
|
369
415
|
lines.push(` Messages: ${s.primary(String(stats.messageCount))}`);
|
|
370
416
|
return lines;
|
|
371
417
|
}
|
|
372
|
-
renderProgressBar(value, width, s) {
|
|
373
|
-
const filled = Math.round(value * width);
|
|
374
|
-
const empty = width - filled;
|
|
375
|
-
let colorFn = s.success;
|
|
376
|
-
if (value > 0.8)
|
|
377
|
-
colorFn = s.error;
|
|
378
|
-
else if (value > 0.6)
|
|
379
|
-
colorFn = s.warning;
|
|
380
|
-
return colorFn('█'.repeat(filled)) + s.muted('░'.repeat(empty));
|
|
381
|
-
}
|
|
382
418
|
renderTabFooter(context) {
|
|
383
419
|
const s = context.styles;
|
|
384
420
|
const lines = [];
|
|
@@ -466,7 +502,7 @@ export class ConfigOverlayV2 extends BaseOverlayV2 {
|
|
|
466
502
|
return this.noAction();
|
|
467
503
|
}
|
|
468
504
|
handlePathsTabKey(data) {
|
|
469
|
-
const pathItemCount =
|
|
505
|
+
const pathItemCount = 7; // 3 paths + 2 git config + 2 toggles
|
|
470
506
|
// Navigation
|
|
471
507
|
if (isNavigateUp(data) && this.state.pathSelectedItem > 0) {
|
|
472
508
|
this.state.pathSelectedItem--;
|
|
@@ -496,12 +532,24 @@ export class ConfigOverlayV2 extends BaseOverlayV2 {
|
|
|
496
532
|
return this.rerender();
|
|
497
533
|
}
|
|
498
534
|
else if (this.state.pathSelectedItem === 3) {
|
|
535
|
+
// Git user name - enter edit mode
|
|
536
|
+
this.state.pathEditMode = true;
|
|
537
|
+
this.state.pathEditInput = getGitConfigValue('user.name') || '';
|
|
538
|
+
return this.rerender();
|
|
539
|
+
}
|
|
540
|
+
else if (this.state.pathSelectedItem === 4) {
|
|
541
|
+
// Git user email - enter edit mode
|
|
542
|
+
this.state.pathEditMode = true;
|
|
543
|
+
this.state.pathEditInput = getGitConfigValue('user.email') || '';
|
|
544
|
+
return this.rerender();
|
|
545
|
+
}
|
|
546
|
+
else if (this.state.pathSelectedItem === 5) {
|
|
499
547
|
// Toggle delete protection
|
|
500
548
|
setDeleteProtection(!currentConfig.deleteProtection);
|
|
501
549
|
this.settingsChanged = true;
|
|
502
550
|
return this.rerender();
|
|
503
551
|
}
|
|
504
|
-
else if (this.state.pathSelectedItem ===
|
|
552
|
+
else if (this.state.pathSelectedItem === 6) {
|
|
505
553
|
// Toggle CWD match warning
|
|
506
554
|
setProjectMatchRequired(!currentConfig.requireProjectMatch);
|
|
507
555
|
this.settingsChanged = true;
|
|
@@ -518,18 +566,24 @@ export class ConfigOverlayV2 extends BaseOverlayV2 {
|
|
|
518
566
|
return this.rerender();
|
|
519
567
|
}
|
|
520
568
|
if (isEnter(data)) {
|
|
521
|
-
// Save the
|
|
522
|
-
const
|
|
523
|
-
if (
|
|
569
|
+
// Save the value
|
|
570
|
+
const newValue = this.state.pathEditInput.trim();
|
|
571
|
+
if (newValue) {
|
|
524
572
|
switch (this.state.pathSelectedItem) {
|
|
525
573
|
case 0:
|
|
526
|
-
setWorkspacePath(
|
|
574
|
+
setWorkspacePath(newValue);
|
|
527
575
|
break;
|
|
528
576
|
case 1:
|
|
529
|
-
setProjectsPath(
|
|
577
|
+
setProjectsPath(newValue);
|
|
530
578
|
break;
|
|
531
579
|
case 2:
|
|
532
|
-
setDataPath(
|
|
580
|
+
setDataPath(newValue);
|
|
581
|
+
break;
|
|
582
|
+
case 3:
|
|
583
|
+
setGitConfigValue('user.name', newValue);
|
|
584
|
+
break;
|
|
585
|
+
case 4:
|
|
586
|
+
setGitConfigValue('user.email', newValue);
|
|
533
587
|
break;
|
|
534
588
|
}
|
|
535
589
|
this.settingsChanged = true;
|
|
@@ -569,23 +623,30 @@ export class ConfigOverlayV2 extends BaseOverlayV2 {
|
|
|
569
623
|
case 'autoCompact':
|
|
570
624
|
setSetting('autoCompact', newValue);
|
|
571
625
|
break;
|
|
572
|
-
case 'showTips':
|
|
573
|
-
setSetting('showTips', newValue);
|
|
574
|
-
break;
|
|
575
|
-
case 'reviseCode':
|
|
576
|
-
setSetting('reviseCode', newValue);
|
|
577
|
-
break;
|
|
578
626
|
case 'verbose':
|
|
579
627
|
setSetting('verbose', newValue);
|
|
580
628
|
break;
|
|
581
629
|
case 'progressBar':
|
|
582
630
|
setSetting('progressBar', newValue);
|
|
583
631
|
break;
|
|
584
|
-
case '
|
|
585
|
-
setSetting('
|
|
632
|
+
case 'checkUpdates':
|
|
633
|
+
setSetting('checkUpdates', newValue);
|
|
586
634
|
break;
|
|
587
|
-
case '
|
|
588
|
-
setSetting('
|
|
635
|
+
case 'delegation':
|
|
636
|
+
setSetting('delegation', newValue);
|
|
637
|
+
break;
|
|
638
|
+
case 'vsDiffExtension':
|
|
639
|
+
setSetting('vsDiffExtension', newValue);
|
|
640
|
+
// On enable, ensure the extension is installed
|
|
641
|
+
if (newValue) {
|
|
642
|
+
void ensureExtensionInstalled().then(result => {
|
|
643
|
+
if (result.needsReload) {
|
|
644
|
+
process.stderr.write('\n \x1b[33m⚠ VS Code diff extension installed.\x1b[0m\n' +
|
|
645
|
+
' \x1b[2mReload VS Code window (Ctrl+Shift+P → "Developer: Reload Window") to activate.\x1b[0m\n' +
|
|
646
|
+
' \x1b[2mRestart the CLI after reload.\x1b[0m\n\n');
|
|
647
|
+
}
|
|
648
|
+
});
|
|
649
|
+
}
|
|
589
650
|
break;
|
|
590
651
|
}
|
|
591
652
|
return null;
|
|
@@ -604,18 +665,21 @@ export class ConfigOverlayV2 extends BaseOverlayV2 {
|
|
|
604
665
|
case 'notifications':
|
|
605
666
|
setSetting('notifications', displayToNotificationMode(newValue));
|
|
606
667
|
break;
|
|
607
|
-
case 'outputStyle':
|
|
608
|
-
setSetting('outputStyle', newValue);
|
|
609
|
-
break;
|
|
610
|
-
case 'editorMode':
|
|
611
|
-
setSetting('editorMode', newValue);
|
|
612
|
-
break;
|
|
613
668
|
case 'startupMode':
|
|
614
669
|
setSetting('startupMode', newValue === 'Show menu' ? 'menu' : 'repl');
|
|
615
670
|
break;
|
|
616
671
|
case 'projectStartup':
|
|
617
672
|
setSetting('projectStartup', displayToProjectStartupMode(newValue));
|
|
618
673
|
break;
|
|
674
|
+
case 'projectSessionMode':
|
|
675
|
+
setSetting('projectSessionMode', displayToProjectSessionMode(newValue));
|
|
676
|
+
break;
|
|
677
|
+
case 'sessionRetentionDays':
|
|
678
|
+
setSetting('sessionRetentionDays', displayToSessionRetention(newValue));
|
|
679
|
+
break;
|
|
680
|
+
case 'compactMode':
|
|
681
|
+
setSetting('compactMode', displayToCompactMode(newValue));
|
|
682
|
+
break;
|
|
619
683
|
}
|
|
620
684
|
return null;
|
|
621
685
|
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom Agent Form Overlay V2
|
|
3
|
+
*
|
|
4
|
+
* Multi-step wizard for creating custom agents.
|
|
5
|
+
* Step 1: Basic Info (Agent ID, Display Name, Specialty, Personality)
|
|
6
|
+
* Step 2: Tool Profile (select profile or customize tool groups)
|
|
7
|
+
* Step 3: Skills (select which skills to enable)
|
|
8
|
+
* Step 4: Model Tier (select fast/balanced/powerful)
|
|
9
|
+
*/
|
|
10
|
+
import { BaseOverlayV2 } from '../../base/index.js';
|
|
11
|
+
import type { RenderContext, OverlayAction, KeyEvent } from '../types.js';
|
|
12
|
+
import { type CustomAgentDefinition, type ToolConfig, type ToolProfile } from '../../../multi-agent/custom-agents.js';
|
|
13
|
+
import { type ModelTier } from '../../../models/index.js';
|
|
14
|
+
interface FormField {
|
|
15
|
+
id: string;
|
|
16
|
+
label: string;
|
|
17
|
+
hint: string;
|
|
18
|
+
required: boolean;
|
|
19
|
+
maxLength: number;
|
|
20
|
+
value: string;
|
|
21
|
+
error?: string;
|
|
22
|
+
}
|
|
23
|
+
type WizardStep = 'basic' | 'tools' | 'skills' | 'tier';
|
|
24
|
+
interface FormState {
|
|
25
|
+
fields: FormField[];
|
|
26
|
+
activeFieldIndex: number;
|
|
27
|
+
cursorPos: number;
|
|
28
|
+
currentStep: WizardStep;
|
|
29
|
+
selectedProfile: ToolProfile;
|
|
30
|
+
customGroups: Set<string>;
|
|
31
|
+
profileListIndex: number;
|
|
32
|
+
groupListIndex: number;
|
|
33
|
+
inGroupSelection: boolean;
|
|
34
|
+
enabledSkills: Set<string>;
|
|
35
|
+
skillListIndex: number;
|
|
36
|
+
selectedModelTier: ModelTier;
|
|
37
|
+
tierListIndex: number;
|
|
38
|
+
}
|
|
39
|
+
export interface CustomAgentFormOptions {
|
|
40
|
+
/** Existing custom agents (for duplicate check) */
|
|
41
|
+
existingCustomAgents: CustomAgentDefinition[];
|
|
42
|
+
/** Current team agent IDs (for duplicate check) */
|
|
43
|
+
teamAgentIds: string[];
|
|
44
|
+
}
|
|
45
|
+
export interface CustomAgentFormResult {
|
|
46
|
+
cancelled: boolean;
|
|
47
|
+
agent?: {
|
|
48
|
+
id: string;
|
|
49
|
+
displayName: string;
|
|
50
|
+
specialty: string;
|
|
51
|
+
personality?: string;
|
|
52
|
+
toolConfig: ToolConfig;
|
|
53
|
+
enabledSkills: string[];
|
|
54
|
+
modelTier: ModelTier;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export declare class CustomAgentFormOverlayV2 extends BaseOverlayV2<FormState, CustomAgentFormResult> {
|
|
58
|
+
readonly type: "inline";
|
|
59
|
+
readonly id = "custom-agent-form-overlay-v2";
|
|
60
|
+
private readonly existingCustomAgents;
|
|
61
|
+
private readonly teamAgentIds;
|
|
62
|
+
constructor(options: CustomAgentFormOptions);
|
|
63
|
+
protected renderContent(context: RenderContext): string[];
|
|
64
|
+
private renderBasicStep;
|
|
65
|
+
private renderToolsStep;
|
|
66
|
+
private renderGroupItem;
|
|
67
|
+
private renderSkillsStep;
|
|
68
|
+
private getAvailableTools;
|
|
69
|
+
handleKey(key: KeyEvent): OverlayAction<CustomAgentFormResult>;
|
|
70
|
+
private handleBasicStepKey;
|
|
71
|
+
private handleToolsStepKey;
|
|
72
|
+
private handleSkillsStepKey;
|
|
73
|
+
private renderTierStep;
|
|
74
|
+
private handleTierStepKey;
|
|
75
|
+
private nextField;
|
|
76
|
+
private prevField;
|
|
77
|
+
private validateBasicInfo;
|
|
78
|
+
private validateAndContinue;
|
|
79
|
+
private submitWithDefaults;
|
|
80
|
+
private submit;
|
|
81
|
+
getCloseSummary(result: CustomAgentFormResult): string | null;
|
|
82
|
+
}
|
|
83
|
+
export {};
|