@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
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import chalk from 'chalk';
|
|
16
16
|
import * as terminal from '../../terminal.js';
|
|
17
|
-
import { TabbedListOverlayV2, BaseScreen, stay, popScreen, closeOverlay, isEscape, isCtrlC, isEnter, isSpace, isNavigateUp, isNavigateDown, isLeftArrow, isRightArrow, isVimLeft, isVimRight, isBackspace, extractPrintable, renderBorder, wrapText, } from '../../base/index.js';
|
|
17
|
+
import { TabbedListOverlayV2, BaseScreen, stay, popScreen, closeOverlay, isEscape, isCtrlC, isEnter, isSpace, isNavigateUp, isNavigateDown, isLeftArrow, isRightArrow, isVimLeft, isVimRight, isBackspace, extractPrintable, renderBorder, wrapText, truncate, } from '../../base/index.js';
|
|
18
18
|
import { workItemRepository } from '../../../db/repositories/work-item-repository.js';
|
|
19
19
|
import { getActiveProject } from '../../../tools/project-db.js';
|
|
20
20
|
// =============================================================================
|
|
@@ -83,6 +83,7 @@ function workItemToBacklogItem(item) {
|
|
|
83
83
|
title: item.title,
|
|
84
84
|
description: item.description ?? '',
|
|
85
85
|
commit: item.commitHash ?? undefined,
|
|
86
|
+
owner: item.owner ?? undefined,
|
|
86
87
|
};
|
|
87
88
|
}
|
|
88
89
|
// =============================================================================
|
|
@@ -118,6 +119,12 @@ function updateItemType(dbId, type) {
|
|
|
118
119
|
function updateItemPriority(dbId, priority) {
|
|
119
120
|
workItemRepository.update(dbId, { priority });
|
|
120
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Update an item's owner in the database
|
|
124
|
+
*/
|
|
125
|
+
function updateItemOwner(dbId, owner) {
|
|
126
|
+
workItemRepository.update(dbId, { owner });
|
|
127
|
+
}
|
|
121
128
|
/**
|
|
122
129
|
* Create a new item in the database
|
|
123
130
|
*/
|
|
@@ -146,19 +153,22 @@ function getStatusLabel(status) {
|
|
|
146
153
|
// Detail Screen (In-Place Editing)
|
|
147
154
|
// =============================================================================
|
|
148
155
|
/**
|
|
149
|
-
* Screen for editing item type, status, and
|
|
156
|
+
* Screen for editing item type, status, priority, and owner.
|
|
150
157
|
* Renders in-place over the list.
|
|
151
158
|
*/
|
|
152
159
|
class DetailScreen extends BaseScreen {
|
|
153
160
|
item;
|
|
154
161
|
editState;
|
|
155
162
|
styles;
|
|
156
|
-
selectedField = 0; // 0=type, 1=status, 2=priority
|
|
157
|
-
|
|
163
|
+
selectedField = 0; // 0=type, 1=status, 2=priority, 3=owner
|
|
164
|
+
ownerOptions; // null = unassigned, then team agents
|
|
165
|
+
constructor(item, editState, styles, teamAgentIds = []) {
|
|
158
166
|
super();
|
|
159
167
|
this.item = item;
|
|
160
168
|
this.editState = editState;
|
|
161
169
|
this.styles = styles;
|
|
170
|
+
// Owner options: unassigned (null) + team agents
|
|
171
|
+
this.ownerOptions = [null, ...teamAgentIds];
|
|
162
172
|
}
|
|
163
173
|
render() {
|
|
164
174
|
const s = this.styles;
|
|
@@ -183,6 +193,11 @@ class DetailScreen extends BaseScreen {
|
|
|
183
193
|
const priPrefix = this.selectedField === 2 ? s.primary('❯ Priority: ') : s.muted(' Priority: ');
|
|
184
194
|
const priValue = this.selectedField === 2 ? s.primary(PRIORITY_LABELS[this.item.priority]) : PRIORITY_LABELS[this.item.priority];
|
|
185
195
|
lines.push(` ${priPrefix}${priValue}`);
|
|
196
|
+
// Owner field
|
|
197
|
+
const ownerDisplay = this.item.owner ? `@${this.item.owner}` : 'unassigned';
|
|
198
|
+
const ownerPrefix = this.selectedField === 3 ? s.primary('❯ Owner: ') : s.muted(' Owner: ');
|
|
199
|
+
const ownerValue = this.selectedField === 3 ? s.primary(ownerDisplay) : ownerDisplay;
|
|
200
|
+
lines.push(` ${ownerPrefix}${ownerValue}`);
|
|
186
201
|
lines.push('');
|
|
187
202
|
// Description
|
|
188
203
|
lines.push(` ${s.muted('Description:')}`);
|
|
@@ -210,12 +225,12 @@ class DetailScreen extends BaseScreen {
|
|
|
210
225
|
if (isEscape(data)) {
|
|
211
226
|
return popScreen();
|
|
212
227
|
}
|
|
213
|
-
// Up/Down or k/j - navigate fields
|
|
228
|
+
// Up/Down or k/j - navigate fields (0=type, 1=status, 2=priority, 3=owner)
|
|
214
229
|
if (isNavigateUp(data) && this.selectedField > 0) {
|
|
215
230
|
this.selectedField = (this.selectedField - 1);
|
|
216
231
|
return stay();
|
|
217
232
|
}
|
|
218
|
-
if (isNavigateDown(data) && this.selectedField <
|
|
233
|
+
if (isNavigateDown(data) && this.selectedField < 3) {
|
|
219
234
|
this.selectedField = (this.selectedField + 1);
|
|
220
235
|
return stay();
|
|
221
236
|
}
|
|
@@ -240,7 +255,7 @@ class DetailScreen extends BaseScreen {
|
|
|
240
255
|
updateItemStatus(this.item.dbId, newStatus);
|
|
241
256
|
this.item.status = newStatus;
|
|
242
257
|
}
|
|
243
|
-
else {
|
|
258
|
+
else if (this.selectedField === 2) {
|
|
244
259
|
// Priority
|
|
245
260
|
const currentIdx = PRIORITY_OPTIONS.indexOf(this.item.priority);
|
|
246
261
|
const newIdx = (currentIdx + direction + PRIORITY_OPTIONS.length) % PRIORITY_OPTIONS.length;
|
|
@@ -248,6 +263,16 @@ class DetailScreen extends BaseScreen {
|
|
|
248
263
|
updateItemPriority(this.item.dbId, newPriority);
|
|
249
264
|
this.item.priority = newPriority;
|
|
250
265
|
}
|
|
266
|
+
else {
|
|
267
|
+
// Owner - cycle through ownerOptions (null = unassigned, then team agents)
|
|
268
|
+
const currentOwner = this.item.owner ?? null;
|
|
269
|
+
const currentIdx = this.ownerOptions.indexOf(currentOwner);
|
|
270
|
+
const safeIdx = currentIdx === -1 ? 0 : currentIdx;
|
|
271
|
+
const newIdx = (safeIdx + direction + this.ownerOptions.length) % this.ownerOptions.length;
|
|
272
|
+
const newOwner = this.ownerOptions[newIdx];
|
|
273
|
+
updateItemOwner(this.item.dbId, newOwner);
|
|
274
|
+
this.item.owner = newOwner ?? undefined;
|
|
275
|
+
}
|
|
251
276
|
this.editState.modified = true;
|
|
252
277
|
this.editState.reloadItems();
|
|
253
278
|
return stay();
|
|
@@ -507,12 +532,16 @@ export class BacklogOverlayV2 extends TabbedListOverlayV2 {
|
|
|
507
532
|
type = 'inline';
|
|
508
533
|
id = 'backlog-overlay-v2';
|
|
509
534
|
editState;
|
|
535
|
+
teamAgentIds;
|
|
510
536
|
/**
|
|
511
537
|
* @param projectId - Optional project ID to view backlog for.
|
|
512
538
|
* If not provided, uses the active project.
|
|
513
539
|
* Pass this when opening from workflow overlay for a specific project.
|
|
540
|
+
* @param teamAgentIds - List of agent IDs in the team for owner selection.
|
|
514
541
|
*/
|
|
515
|
-
constructor(projectId) {
|
|
542
|
+
constructor(projectId, teamAgentIds = []) {
|
|
543
|
+
// Filter out 'default' from team agents for owner selection
|
|
544
|
+
const validOwners = teamAgentIds.filter(id => id !== 'default');
|
|
516
545
|
// Use provided projectId, or fall back to active project
|
|
517
546
|
const activeProject = getActiveProject();
|
|
518
547
|
const resolvedProjectId = projectId ?? activeProject?.id ?? null;
|
|
@@ -531,16 +560,21 @@ export class BacklogOverlayV2 extends TabbedListOverlayV2 {
|
|
|
531
560
|
}
|
|
532
561
|
return item.type === tabId;
|
|
533
562
|
},
|
|
534
|
-
getSearchText: (item) => `${item.id} ${item.title} ${item.description}`,
|
|
563
|
+
getSearchText: (item) => `${item.id} ${item.title} ${item.description} ${item.owner ?? ''}`,
|
|
535
564
|
renderItem: (item, isSelected, styles) => {
|
|
536
565
|
const cols = terminal.getTerminalWidth();
|
|
537
566
|
const prefix = isSelected ? styles.primary('❯ ') : ' ';
|
|
567
|
+
// Fixed column widths - owner as 3rd column for visibility
|
|
538
568
|
const idW = 10;
|
|
539
569
|
const typeW = 10;
|
|
570
|
+
const ownerW = 12; // "unassigned" = 10 chars + padding
|
|
540
571
|
const statusW = 4;
|
|
541
|
-
const priW =
|
|
542
|
-
const titleW = Math.max(20, cols - idW - typeW - statusW - priW -
|
|
543
|
-
const
|
|
572
|
+
const priW = 9;
|
|
573
|
+
const titleW = Math.max(20, cols - idW - typeW - ownerW - statusW - priW - 6);
|
|
574
|
+
const ownerDisplay = (item.owner ?? 'unassigned').padEnd(ownerW);
|
|
575
|
+
const titleDisplay = item.title.slice(0, titleW);
|
|
576
|
+
// Order: id, type, owner, status, priority, title
|
|
577
|
+
const row = `${item.id.padEnd(idW)}${item.type.padEnd(typeW)}${ownerDisplay}${item.status.padEnd(statusW)}${item.priority.padEnd(priW)}${titleDisplay}`;
|
|
544
578
|
if (isSelected) {
|
|
545
579
|
return `${prefix}${styles.primary(row)}`;
|
|
546
580
|
}
|
|
@@ -555,10 +589,13 @@ export class BacklogOverlayV2 extends TabbedListOverlayV2 {
|
|
|
555
589
|
const cols = terminal.getTerminalWidth();
|
|
556
590
|
const descPrefix = ' Desc: ';
|
|
557
591
|
const maxDescLen = cols - descPrefix.length - 2;
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
592
|
+
// Replace newlines with spaces to prevent height changes
|
|
593
|
+
const normalizedDesc = item.description.replace(/\n+/g, ' ').replace(/\s+/g, ' ').trim();
|
|
594
|
+
const truncatedDesc = truncate(normalizedDesc, maxDescLen);
|
|
561
595
|
const lines = [styles.muted(descPrefix) + truncatedDesc];
|
|
596
|
+
if (item.owner) {
|
|
597
|
+
lines.push(styles.muted(' Owner: ') + `@${item.owner}`);
|
|
598
|
+
}
|
|
562
599
|
if (item.commit) {
|
|
563
600
|
lines.push(styles.muted(' Commit: ') + item.commit);
|
|
564
601
|
}
|
|
@@ -592,9 +629,11 @@ export class BacklogOverlayV2 extends TabbedListOverlayV2 {
|
|
|
592
629
|
}
|
|
593
630
|
},
|
|
594
631
|
};
|
|
632
|
+
// Store team agent IDs for owner selection (excluding 'default')
|
|
633
|
+
this.teamAgentIds = validOwners;
|
|
595
634
|
}
|
|
596
635
|
createDetailScreen(item) {
|
|
597
|
-
return new DetailScreen(item, this.editState, this.getStyles());
|
|
636
|
+
return new DetailScreen(item, this.editState, this.getStyles(), this.teamAgentIds);
|
|
598
637
|
}
|
|
599
638
|
/**
|
|
600
639
|
* Override handleKey to add custom behavior (Space toggle, 'a' add).
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Changelog Overlay V2
|
|
3
|
+
*
|
|
4
|
+
* Browsable release notes overlay.
|
|
5
|
+
* Extends TabbedListOverlayV2 for consistent UI with other overlays.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Single tab (all releases)
|
|
9
|
+
* - Searchable release list
|
|
10
|
+
* - Detail view with categorized changes (added/changed/fixed)
|
|
11
|
+
*/
|
|
12
|
+
import { TabbedListOverlayV2, BaseScreen } from '../../base/index.js';
|
|
13
|
+
import { type Release } from '../../../changelog/releases.js';
|
|
14
|
+
export interface ChangelogOverlayV2Result {
|
|
15
|
+
viewed: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Release list item with tab association for filtering.
|
|
19
|
+
*/
|
|
20
|
+
interface ReleaseListItem extends Release {
|
|
21
|
+
tabId: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Changelog overlay with release list and categorized detail views.
|
|
25
|
+
* Extends TabbedListOverlayV2 for consistent look with other overlays.
|
|
26
|
+
*/
|
|
27
|
+
export declare class ChangelogOverlayV2 extends TabbedListOverlayV2<ReleaseListItem, ChangelogOverlayV2Result> {
|
|
28
|
+
readonly type: "inline";
|
|
29
|
+
readonly id = "changelog-overlay-v2";
|
|
30
|
+
constructor();
|
|
31
|
+
/**
|
|
32
|
+
* Build items on first render.
|
|
33
|
+
*/
|
|
34
|
+
private buildItemsIfNeeded;
|
|
35
|
+
/**
|
|
36
|
+
* Override render to build items on first call.
|
|
37
|
+
*/
|
|
38
|
+
render(context: import('../index.js').RenderContext): {
|
|
39
|
+
lines: string[];
|
|
40
|
+
minHeight?: number;
|
|
41
|
+
};
|
|
42
|
+
protected createDetailScreen(item: ReleaseListItem): BaseScreen | null;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Changelog Overlay V2
|
|
3
|
+
*
|
|
4
|
+
* Browsable release notes overlay.
|
|
5
|
+
* Extends TabbedListOverlayV2 for consistent UI with other overlays.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Single tab (all releases)
|
|
9
|
+
* - Searchable release list
|
|
10
|
+
* - Detail view with categorized changes (added/changed/fixed)
|
|
11
|
+
*/
|
|
12
|
+
import { TabbedListOverlayV2, BaseScreen, stay, popScreen, closeOverlay, isEscape, isCtrlC, isQuit, renderBorder, } from '../../base/index.js';
|
|
13
|
+
import { RELEASES } from '../../../changelog/releases.js';
|
|
14
|
+
// =============================================================================
|
|
15
|
+
// Constants
|
|
16
|
+
// =============================================================================
|
|
17
|
+
const PAGE_SIZE = 8;
|
|
18
|
+
// =============================================================================
|
|
19
|
+
// Detail Screen (Categorized Changes)
|
|
20
|
+
// =============================================================================
|
|
21
|
+
/**
|
|
22
|
+
* Shows categorized changes for a single release.
|
|
23
|
+
*/
|
|
24
|
+
class ViewingScreen extends BaseScreen {
|
|
25
|
+
release;
|
|
26
|
+
styles;
|
|
27
|
+
getWidth;
|
|
28
|
+
constructor(release, styles, getWidth) {
|
|
29
|
+
super();
|
|
30
|
+
this.release = release;
|
|
31
|
+
this.styles = styles;
|
|
32
|
+
this.getWidth = getWidth;
|
|
33
|
+
}
|
|
34
|
+
getMinHeight() {
|
|
35
|
+
return 20;
|
|
36
|
+
}
|
|
37
|
+
render() {
|
|
38
|
+
const s = this.styles;
|
|
39
|
+
const cols = this.getWidth();
|
|
40
|
+
const border = renderBorder(cols, s);
|
|
41
|
+
const lines = [];
|
|
42
|
+
// Header
|
|
43
|
+
const titleText = `v${this.release.version} — ${this.release.date}`;
|
|
44
|
+
const titleStyled = s.primaryBold(titleText);
|
|
45
|
+
lines.push(border);
|
|
46
|
+
lines.push(` ${titleStyled}`);
|
|
47
|
+
lines.push('');
|
|
48
|
+
// Group changes by category
|
|
49
|
+
const added = this.release.changes.filter((c) => c.category === 'added');
|
|
50
|
+
const changed = this.release.changes.filter((c) => c.category === 'changed');
|
|
51
|
+
const fixed = this.release.changes.filter((c) => c.category === 'fixed');
|
|
52
|
+
if (added.length > 0) {
|
|
53
|
+
lines.push(s.secondary(' Added:'));
|
|
54
|
+
for (const change of added) {
|
|
55
|
+
lines.push(` ${s.muted('+')} ${change.text}`);
|
|
56
|
+
}
|
|
57
|
+
lines.push('');
|
|
58
|
+
}
|
|
59
|
+
if (changed.length > 0) {
|
|
60
|
+
lines.push(s.secondary(' Changed:'));
|
|
61
|
+
for (const change of changed) {
|
|
62
|
+
lines.push(` ${s.muted('~')} ${change.text}`);
|
|
63
|
+
}
|
|
64
|
+
lines.push('');
|
|
65
|
+
}
|
|
66
|
+
if (fixed.length > 0) {
|
|
67
|
+
lines.push(s.secondary(' Fixed:'));
|
|
68
|
+
for (const change of fixed) {
|
|
69
|
+
lines.push(` ${s.muted('*')} ${change.text}`);
|
|
70
|
+
}
|
|
71
|
+
lines.push('');
|
|
72
|
+
}
|
|
73
|
+
// Pad to consistent height
|
|
74
|
+
while (lines.length < 16) {
|
|
75
|
+
lines.push('');
|
|
76
|
+
}
|
|
77
|
+
// Navigation footer
|
|
78
|
+
lines.push(border);
|
|
79
|
+
lines.push(s.muted(' q/Esc back'));
|
|
80
|
+
return lines;
|
|
81
|
+
}
|
|
82
|
+
handleKey(data) {
|
|
83
|
+
// Ctrl+C closes overlay completely
|
|
84
|
+
if (isCtrlC(data)) {
|
|
85
|
+
return closeOverlay({ viewed: true });
|
|
86
|
+
}
|
|
87
|
+
// Back to release list
|
|
88
|
+
if (isEscape(data) || isQuit(data)) {
|
|
89
|
+
return popScreen();
|
|
90
|
+
}
|
|
91
|
+
return stay(false);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// =============================================================================
|
|
95
|
+
// Changelog Overlay V2 Class
|
|
96
|
+
// =============================================================================
|
|
97
|
+
/**
|
|
98
|
+
* Changelog overlay with release list and categorized detail views.
|
|
99
|
+
* Extends TabbedListOverlayV2 for consistent look with other overlays.
|
|
100
|
+
*/
|
|
101
|
+
export class ChangelogOverlayV2 extends TabbedListOverlayV2 {
|
|
102
|
+
type = 'inline';
|
|
103
|
+
id = 'changelog-overlay-v2';
|
|
104
|
+
constructor() {
|
|
105
|
+
const tabs = [
|
|
106
|
+
{ id: 'all', label: 'All' },
|
|
107
|
+
];
|
|
108
|
+
super({
|
|
109
|
+
title: 'Changelog',
|
|
110
|
+
tabs,
|
|
111
|
+
items: [], // Will be populated on first render
|
|
112
|
+
pageSize: PAGE_SIZE,
|
|
113
|
+
filterByTab: () => true,
|
|
114
|
+
getSearchText: (item) => `${item.version} ${item.date} ${item.highlights.join(' ')}`,
|
|
115
|
+
renderItem: (item, isSelected, styles) => {
|
|
116
|
+
const prefix = isSelected ? styles.primary(' ► ') : ' ';
|
|
117
|
+
// Pad raw text BEFORE applying styles to ensure consistent column widths
|
|
118
|
+
const versionPadded = `v${item.version}`.padEnd(10);
|
|
119
|
+
const datePadded = item.date.padEnd(14);
|
|
120
|
+
const summary = item.highlights.slice(0, 2).join(', ');
|
|
121
|
+
// Apply styles after padding
|
|
122
|
+
const version = isSelected ? styles.primary(versionPadded) : versionPadded;
|
|
123
|
+
const date = styles.muted(datePadded);
|
|
124
|
+
const desc = styles.muted(summary);
|
|
125
|
+
return `${prefix}${version} ${date} ${desc}`;
|
|
126
|
+
},
|
|
127
|
+
footerHints: (searchMode) => {
|
|
128
|
+
if (searchMode) {
|
|
129
|
+
return 'Type to filter · ↑↓/jk Navigate · Enter View · Esc Exit search';
|
|
130
|
+
}
|
|
131
|
+
return '↑↓/jk · / Search · Enter View · q/Esc Close';
|
|
132
|
+
},
|
|
133
|
+
emptyMessage: 'No releases available.',
|
|
134
|
+
noResultsMessage: 'No releases match the search.',
|
|
135
|
+
showCount: false,
|
|
136
|
+
});
|
|
137
|
+
this.minHeight = 18;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Build items on first render.
|
|
141
|
+
*/
|
|
142
|
+
buildItemsIfNeeded() {
|
|
143
|
+
if (this.state.items.length > 0)
|
|
144
|
+
return;
|
|
145
|
+
const items = RELEASES.map((release) => ({
|
|
146
|
+
...release,
|
|
147
|
+
tabId: 'all',
|
|
148
|
+
}));
|
|
149
|
+
this.state.items = items;
|
|
150
|
+
this.state.filteredItems = [...items];
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Override render to build items on first call.
|
|
154
|
+
*/
|
|
155
|
+
render(context) {
|
|
156
|
+
this.styles = context.styles;
|
|
157
|
+
this.termWidth = context.width;
|
|
158
|
+
this.buildItemsIfNeeded();
|
|
159
|
+
return super.render(context);
|
|
160
|
+
}
|
|
161
|
+
createDetailScreen(item) {
|
|
162
|
+
const styles = this.getStyles();
|
|
163
|
+
return new ViewingScreen(item, styles, () => this.termWidth);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
import chalk from 'chalk';
|
|
14
14
|
import * as terminal from '../../terminal.js';
|
|
15
15
|
import { getCustomCommandRegistry, } from '../../../commands/index.js';
|
|
16
|
-
import { TabbedListOverlayV2, BaseScreen, stay, popScreen, closeOverlay, isEscape, isEnter, isCtrlC, isNavigateUp, isNavigateDown, isBackspace, renderBorder, wrapText, } from '../../base/index.js';
|
|
16
|
+
import { TabbedListOverlayV2, BaseScreen, stay, popScreen, closeOverlay, isEscape, isEnter, isCtrlC, isNavigateUp, isNavigateDown, isBackspace, renderBorder, truncate, wrapText, } from '../../base/index.js';
|
|
17
17
|
import { InputFeature } from '../../features/index.js';
|
|
18
18
|
// =============================================================================
|
|
19
19
|
// Constants
|
|
@@ -193,13 +193,11 @@ class WizardScreen extends BaseScreen {
|
|
|
193
193
|
lines.push(` Location: ${s.primary(locationPath)}${this.state.name}.md`);
|
|
194
194
|
lines.push('');
|
|
195
195
|
lines.push(chalk.bold(' Description:'));
|
|
196
|
-
const descPreview = this.state.description
|
|
197
|
-
(this.state.description.length > 60 ? '...' : '');
|
|
196
|
+
const descPreview = truncate(this.state.description, 60);
|
|
198
197
|
lines.push(s.muted(` ${descPreview}`));
|
|
199
198
|
lines.push('');
|
|
200
199
|
lines.push(chalk.bold(' Prompt template:'));
|
|
201
|
-
const promptPreview = this.state.prompt
|
|
202
|
-
(this.state.prompt.length > 60 ? '...' : '');
|
|
200
|
+
const promptPreview = truncate(this.state.prompt, 60);
|
|
203
201
|
lines.push(s.muted(` ${promptPreview}`));
|
|
204
202
|
lines.push('');
|
|
205
203
|
lines.push(this.state.selectedOption === 0
|
|
@@ -416,7 +414,7 @@ export class CommandsOverlayV2 extends TabbedListOverlayV2 {
|
|
|
416
414
|
const name = `/${cmd.name}`;
|
|
417
415
|
const nameStyled = isSelected ? styles.primary(name.padEnd(25)) : name.padEnd(25);
|
|
418
416
|
const maxDesc = Math.max(20, cols - 45);
|
|
419
|
-
const desc = cmd.description
|
|
417
|
+
const desc = truncate(cmd.description, maxDesc);
|
|
420
418
|
const descStyled = styles.muted(desc);
|
|
421
419
|
const location = styles.muted(` (${cmd.location})`);
|
|
422
420
|
return prefix + nameStyled + descStyled + location;
|
|
@@ -28,6 +28,12 @@ interface StatusInfo {
|
|
|
28
28
|
provider: string;
|
|
29
29
|
memoryFile: string | null;
|
|
30
30
|
toolCount: number;
|
|
31
|
+
/** Number of direct (always-available) tools */
|
|
32
|
+
directToolCount?: number;
|
|
33
|
+
/** Number of meta-registry tools (accessed via use_tool) */
|
|
34
|
+
metaToolCount?: number;
|
|
35
|
+
/** Whether a multi-agent team is active */
|
|
36
|
+
hasTeam?: boolean;
|
|
31
37
|
startTime: Date;
|
|
32
38
|
}
|
|
33
39
|
interface UsageStats {
|
|
@@ -56,6 +62,12 @@ export interface ConfigOverlayV2Options {
|
|
|
56
62
|
model?: string;
|
|
57
63
|
provider?: string;
|
|
58
64
|
toolCount?: number;
|
|
65
|
+
/** Number of direct (always-available) tools */
|
|
66
|
+
directToolCount?: number;
|
|
67
|
+
/** Number of meta-registry tools (accessed via use_tool) */
|
|
68
|
+
metaToolCount?: number;
|
|
69
|
+
/** Whether a multi-agent team is active */
|
|
70
|
+
hasTeam?: boolean;
|
|
59
71
|
startTime?: Date;
|
|
60
72
|
inputTokens?: number;
|
|
61
73
|
outputTokens?: number;
|
|
@@ -80,7 +92,6 @@ export declare class ConfigOverlayV2 extends BaseOverlayV2<ConfigState, ConfigOv
|
|
|
80
92
|
private renderConfigTab;
|
|
81
93
|
private renderPathsTab;
|
|
82
94
|
private renderUsageTab;
|
|
83
|
-
private renderProgressBar;
|
|
84
95
|
private renderTabFooter;
|
|
85
96
|
handleKey(key: KeyEvent): OverlayAction<ConfigOverlayV2Result>;
|
|
86
97
|
private handleConfigTabKey;
|