@compilr-dev/cli 0.4.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +254 -68
- package/dist/.tsbuildinfo.app +1 -0
- package/dist/.tsbuildinfo.data +1 -0
- package/dist/.tsbuildinfo.domain +1 -0
- package/dist/.tsbuildinfo.foundation +1 -0
- package/dist/agent.d.ts +134 -4
- package/dist/agent.js +345 -166
- package/dist/anchors/index.d.ts +9 -0
- package/dist/anchors/index.js +9 -0
- package/dist/anchors/project-anchors.d.ts +79 -0
- package/dist/anchors/project-anchors.js +202 -0
- 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/index.d.ts +2 -1
- 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.d.ts +13 -0
- package/dist/commands-v2/handlers/context.js +533 -0
- package/dist/commands-v2/handlers/core.d.ts +14 -0
- package/dist/commands-v2/handlers/core.js +290 -0
- package/dist/commands-v2/handlers/debug.d.ts +11 -0
- package/dist/commands-v2/handlers/debug.js +177 -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 +25 -0
- package/dist/commands-v2/handlers/index.js +63 -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.d.ts +22 -0
- package/dist/commands-v2/handlers/project.js +1035 -0
- 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 +17 -0
- package/dist/commands-v2/handlers/settings.js +417 -0
- 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 +14 -0
- package/dist/commands-v2/index.js +18 -0
- package/dist/commands-v2/registry.d.ts +52 -0
- package/dist/commands-v2/registry.js +114 -0
- package/dist/commands-v2/types.d.ts +153 -0
- package/dist/commands-v2/types.js +7 -0
- package/dist/commands.js +123 -7
- package/dist/compilr-diff-companion.vsix +0 -0
- package/dist/db/index.js +98 -4
- package/dist/db/repositories/document-repository.d.ts +2 -0
- package/dist/db/repositories/document-repository.js +5 -1
- package/dist/db/repositories/index.d.ts +2 -0
- package/dist/db/repositories/index.js +1 -0
- package/dist/db/repositories/plan-repository.d.ts +101 -0
- package/dist/db/repositories/plan-repository.js +275 -0
- package/dist/db/repositories/project-repository.d.ts +6 -0
- package/dist/db/repositories/project-repository.js +41 -0
- package/dist/db/repositories/work-item-repository.d.ts +15 -0
- package/dist/db/repositories/work-item-repository.js +69 -4
- package/dist/db/schema.d.ts +40 -3
- package/dist/db/schema.js +66 -3
- package/dist/episodes/index.d.ts +20 -0
- package/dist/episodes/index.js +27 -0
- package/dist/episodes/recorder.d.ts +51 -0
- package/dist/episodes/recorder.js +195 -0
- package/dist/episodes/significant-work.d.ts +21 -0
- package/dist/episodes/significant-work.js +56 -0
- package/dist/episodes/store.d.ts +38 -0
- package/dist/episodes/store.js +199 -0
- package/dist/episodes/types.d.ts +35 -0
- package/dist/episodes/types.js +6 -0
- package/dist/episodes/work-at-risk.d.ts +12 -0
- package/dist/episodes/work-at-risk.js +38 -0
- package/dist/episodes/work-summary-anchor.d.ts +23 -0
- package/dist/episodes/work-summary-anchor.js +73 -0
- package/dist/games/coins.d.ts +66 -0
- package/dist/games/coins.js +165 -0
- package/dist/games/game-base.d.ts +84 -0
- package/dist/games/game-base.js +204 -0
- package/dist/games/index.d.ts +16 -0
- package/dist/games/index.js +49 -0
- package/dist/games/scores.d.ts +69 -0
- package/dist/games/scores.js +191 -0
- package/dist/games/tetris/board.d.ts +59 -0
- package/dist/games/tetris/board.js +170 -0
- package/dist/games/tetris/index.d.ts +109 -0
- package/dist/games/tetris/index.js +610 -0
- package/dist/games/tetris/pieces.d.ts +44 -0
- package/dist/games/tetris/pieces.js +271 -0
- package/dist/games/tetris/renderer.d.ts +26 -0
- package/dist/games/tetris/renderer.js +77 -0
- package/dist/guide/guide-content.d.ts +23 -0
- package/dist/guide/guide-content.js +196 -0
- package/dist/guide/index.d.ts +8 -0
- package/dist/guide/index.js +7 -0
- package/dist/guide/shared-content.d.ts +37 -0
- package/dist/guide/shared-content.js +1272 -0
- package/dist/guide/tutorial-helpers.d.ts +57 -0
- package/dist/guide/tutorial-helpers.js +147 -0
- package/dist/handlers/ask-user-handlers.d.ts +32 -0
- package/dist/handlers/ask-user-handlers.js +104 -0
- package/dist/handlers/delegation-handlers.d.ts +34 -0
- package/dist/handlers/delegation-handlers.js +291 -0
- package/dist/handlers/permission-handler.d.ts +30 -0
- package/dist/handlers/permission-handler.js +205 -0
- package/dist/index.d.ts +11 -1
- package/dist/index.js +615 -179
- package/dist/input-handlers/index.d.ts +7 -0
- package/dist/input-handlers/index.js +7 -0
- package/dist/input-handlers/memory-handler.d.ts +26 -0
- package/dist/input-handlers/memory-handler.js +69 -0
- 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.d.ts +63 -0
- package/dist/repl-helpers.js +319 -0
- package/dist/repl-v2.d.ts +554 -0
- package/dist/repl-v2.js +3286 -0
- 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 +156 -13
- package/dist/settings/index.js +377 -24
- package/dist/settings/mcp-config.d.ts +76 -0
- package/dist/settings/mcp-config.js +143 -0
- package/dist/settings/paths.d.ts +114 -0
- package/dist/settings/paths.js +270 -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 -58
- package/dist/templates/config-json.d.ts +1 -25
- package/dist/templates/index.d.ts +2 -0
- package/dist/templates/index.js +35 -75
- package/dist/themes/colors.js +3 -1
- package/dist/themes/registry.d.ts +5 -36
- package/dist/themes/registry.js +11 -95
- package/dist/themes/types.d.ts +3 -38
- package/dist/themes/types.js +2 -2
- package/dist/tool-names.d.ts +108 -0
- package/dist/tool-names.js +227 -0
- package/dist/tools/anchor-tools.d.ts +31 -0
- package/dist/tools/anchor-tools.js +255 -0
- package/dist/tools/artifact-tools.d.ts +42 -0
- package/dist/tools/artifact-tools.js +328 -0
- package/dist/tools/ask-user-simple.d.ts +1 -1
- package/dist/tools/ask-user-simple.js +2 -1
- package/dist/tools/ask-user.d.ts +1 -1
- package/dist/tools/ask-user.js +2 -1
- package/dist/tools/backlog-wrappers.d.ts +56 -0
- package/dist/tools/backlog-wrappers.js +353 -0
- package/dist/tools/backlog.d.ts +2 -2
- package/dist/tools/backlog.js +2 -2
- package/dist/tools/db-tools.d.ts +12 -0
- package/dist/tools/db-tools.js +14 -0
- package/dist/tools/delegate-background.d.ts +27 -0
- package/dist/tools/delegate-background.js +115 -0
- package/dist/tools/delegate.d.ts +22 -0
- package/dist/tools/delegate.js +97 -0
- package/dist/tools/delegation-status.d.ts +16 -0
- package/dist/tools/delegation-status.js +128 -0
- package/dist/tools/document-db.d.ts +43 -0
- package/dist/tools/document-db.js +220 -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/plan-tools.d.ts +54 -0
- package/dist/tools/plan-tools.js +338 -0
- package/dist/tools/platform-adapter.d.ts +29 -0
- package/dist/tools/platform-adapter.js +394 -0
- package/dist/tools/project-db.d.ts +34 -0
- package/dist/tools/project-db.js +39 -0
- package/dist/tools/recall-work-tool.d.ts +18 -0
- package/dist/tools/recall-work-tool.js +82 -0
- package/dist/tools/workitem-db.d.ts +135 -0
- package/dist/tools/workitem-db.js +730 -0
- package/dist/tools.d.ts +67 -2
- package/dist/tools.js +238 -38
- package/dist/ui/ask-user-overlay.d.ts +2 -2
- package/dist/ui/ask-user-overlay.js +443 -535
- package/dist/ui/ask-user-simple-overlay.d.ts +2 -2
- package/dist/ui/ask-user-simple-overlay.js +182 -209
- package/dist/ui/autocomplete-controller.d.ts +42 -0
- package/dist/ui/autocomplete-controller.js +384 -0
- package/dist/ui/base/index.d.ts +26 -0
- package/dist/ui/base/index.js +33 -0
- package/dist/ui/base/inline-overlay-utils.d.ts +217 -0
- package/dist/ui/base/inline-overlay-utils.js +320 -0
- package/dist/ui/base/inline-overlay.d.ts +159 -0
- package/dist/ui/base/inline-overlay.js +257 -0
- package/dist/ui/base/key-utils.d.ts +15 -0
- package/dist/ui/base/key-utils.js +30 -0
- package/dist/ui/base/overlay-base-v2.d.ts +203 -0
- package/dist/ui/base/overlay-base-v2.js +260 -0
- package/dist/ui/base/overlay-base.d.ts +156 -0
- package/dist/ui/base/overlay-base.js +238 -0
- package/dist/ui/base/overlay-lifecycle.d.ts +65 -0
- package/dist/ui/base/overlay-lifecycle.js +159 -0
- package/dist/ui/base/overlay-types.d.ts +185 -0
- package/dist/ui/base/overlay-types.js +7 -0
- package/dist/ui/base/render-utils.d.ts +27 -0
- package/dist/ui/base/render-utils.js +36 -0
- package/dist/ui/base/screen-stack.d.ts +148 -0
- package/dist/ui/base/screen-stack.js +184 -0
- package/dist/ui/base/tabbed-list-overlay-v2.d.ts +118 -0
- package/dist/ui/base/tabbed-list-overlay-v2.js +335 -0
- package/dist/ui/base/tabbed-list-overlay.d.ts +153 -0
- package/dist/ui/base/tabbed-list-overlay.js +369 -0
- package/dist/ui/constants/labels.d.ts +14 -0
- package/dist/ui/constants/labels.js +51 -0
- package/dist/ui/conversation-store.d.ts +55 -0
- package/dist/ui/conversation-store.js +107 -0
- package/dist/ui/conversation.d.ts +75 -4
- package/dist/ui/conversation.js +376 -165
- package/dist/ui/diff.d.ts +7 -1
- package/dist/ui/diff.js +85 -48
- package/dist/ui/ephemeral.d.ts +1 -1
- package/dist/ui/ephemeral.js +4 -10
- package/dist/ui/features/index.d.ts +34 -0
- package/dist/ui/features/index.js +34 -0
- package/dist/ui/features/input-feature.d.ts +85 -0
- package/dist/ui/features/input-feature.js +238 -0
- package/dist/ui/features/list-feature.d.ts +155 -0
- package/dist/ui/features/list-feature.js +244 -0
- package/dist/ui/features/pagination-feature.d.ts +154 -0
- package/dist/ui/features/pagination-feature.js +238 -0
- package/dist/ui/features/search-feature.d.ts +148 -0
- package/dist/ui/features/search-feature.js +185 -0
- package/dist/ui/features/tab-feature.d.ts +194 -0
- package/dist/ui/features/tab-feature.js +307 -0
- 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 +181 -7
- package/dist/ui/footer.js +523 -74
- package/dist/ui/guardrail-overlay.d.ts +29 -0
- package/dist/ui/guardrail-overlay.js +145 -0
- package/dist/ui/index.d.ts +1 -1
- package/dist/ui/index.js +1 -3
- package/dist/ui/input-controller.d.ts +51 -0
- package/dist/ui/input-controller.js +176 -0
- package/dist/ui/input-prompt.d.ts +135 -33
- package/dist/ui/input-prompt.js +728 -337
- package/dist/ui/iteration-limit-overlay.d.ts +2 -2
- package/dist/ui/iteration-limit-overlay.js +92 -128
- package/dist/ui/keyboard-handler.d.ts +57 -0
- package/dist/ui/keyboard-handler.js +557 -0
- package/dist/ui/keys-overlay.d.ts +1 -0
- package/dist/ui/keys-overlay.js +203 -141
- package/dist/ui/line-utils.d.ts +88 -0
- package/dist/ui/line-utils.js +150 -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 +157 -0
- package/dist/ui/live-region.js +379 -0
- package/dist/ui/mascot/expressions.d.ts +32 -0
- package/dist/ui/mascot/expressions.js +213 -0
- package/dist/ui/mascot/index.d.ts +8 -0
- package/dist/ui/mascot/index.js +8 -0
- package/dist/ui/mascot/renderer.d.ts +19 -0
- package/dist/ui/mascot/renderer.js +132 -0
- 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.d.ts +45 -0
- package/dist/ui/overlay/impl/agents-overlay-v2.js +814 -0
- package/dist/ui/overlay/impl/anchors-overlay-v2.d.ts +47 -0
- package/dist/ui/overlay/impl/anchors-overlay-v2.js +749 -0
- package/dist/ui/overlay/impl/arch-type-overlay-v2.d.ts +37 -0
- package/dist/ui/overlay/impl/arch-type-overlay-v2.js +240 -0
- 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.d.ts +72 -0
- package/dist/ui/overlay/impl/ask-user-overlay-v2.js +581 -0
- package/dist/ui/overlay/impl/ask-user-simple-overlay-v2.d.ts +46 -0
- package/dist/ui/overlay/impl/ask-user-simple-overlay-v2.js +204 -0
- 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 +52 -0
- package/dist/ui/overlay/impl/backlog-overlay-v2.js +681 -0
- 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.d.ts +33 -0
- package/dist/ui/overlay/impl/commands-overlay-v2.js +439 -0
- package/dist/ui/overlay/impl/config-overlay-v2.d.ts +111 -0
- package/dist/ui/overlay/impl/config-overlay-v2.js +718 -0
- 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 +57 -0
- package/dist/ui/overlay/impl/dashboard-overlay-v2.js +382 -0
- 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.d.ts +45 -0
- package/dist/ui/overlay/impl/docs-overlay-v2.js +117 -0
- package/dist/ui/overlay/impl/document-detail-overlay-v2.d.ts +84 -0
- package/dist/ui/overlay/impl/document-detail-overlay-v2.js +1112 -0
- 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/guardrail-overlay-v2.d.ts +43 -0
- package/dist/ui/overlay/impl/guardrail-overlay-v2.js +114 -0
- package/dist/ui/overlay/impl/help-overlay-v2.d.ts +57 -0
- package/dist/ui/overlay/impl/help-overlay-v2.js +287 -0
- package/dist/ui/overlay/impl/init-setup-overlay-v2.d.ts +25 -0
- package/dist/ui/overlay/impl/init-setup-overlay-v2.js +97 -0
- package/dist/ui/overlay/impl/iteration-limit-overlay-v2.d.ts +35 -0
- package/dist/ui/overlay/impl/iteration-limit-overlay-v2.js +105 -0
- package/dist/ui/overlay/impl/keys-overlay-v2.d.ts +41 -0
- package/dist/ui/overlay/impl/keys-overlay-v2.js +248 -0
- 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/mascot-overlay-v2.d.ts +41 -0
- package/dist/ui/overlay/impl/mascot-overlay-v2.js +138 -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 +93 -0
- package/dist/ui/overlay/impl/model-overlay-v2.js +1143 -0
- package/dist/ui/overlay/impl/model-warning-overlay-v2.d.ts +46 -0
- package/dist/ui/overlay/impl/model-warning-overlay-v2.js +132 -0
- package/dist/ui/overlay/impl/new-overlay-v2.d.ts +108 -0
- package/dist/ui/overlay/impl/new-overlay-v2.js +1243 -0
- 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.d.ts +36 -0
- package/dist/ui/overlay/impl/permission-overlay-v2.js +380 -0
- 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 +37 -0
- package/dist/ui/overlay/impl/projects-overlay-v2.js +733 -0
- 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/theme-overlay-v2.d.ts +42 -0
- package/dist/ui/overlay/impl/theme-overlay-v2.js +135 -0
- package/dist/ui/overlay/impl/tools-overlay-v2.d.ts +47 -0
- package/dist/ui/overlay/impl/tools-overlay-v2.js +214 -0
- package/dist/ui/overlay/impl/tutorial-overlay-v2.d.ts +45 -0
- package/dist/ui/overlay/impl/tutorial-overlay-v2.js +212 -0
- package/dist/ui/overlay/impl/workflow-overlay-v2.d.ts +80 -0
- package/dist/ui/overlay/impl/workflow-overlay-v2.js +641 -0
- package/dist/ui/overlay/index.d.ts +52 -0
- package/dist/ui/overlay/index.js +54 -0
- package/dist/ui/overlay/key-utils.d.ts +6 -0
- package/dist/ui/overlay/key-utils.js +6 -0
- package/dist/ui/overlay/types.d.ts +140 -0
- package/dist/ui/overlay/types.js +22 -0
- package/dist/ui/overlay-manager.d.ts +43 -0
- package/dist/ui/overlay-manager.js +238 -0
- package/dist/ui/overlays.d.ts +0 -4
- package/dist/ui/overlays.js +4 -460
- package/dist/ui/permission-overlay.d.ts +1 -1
- package/dist/ui/permission-overlay.js +189 -300
- package/dist/ui/providers/types.d.ts +178 -0
- package/dist/ui/providers/types.js +9 -0
- package/dist/ui/render-modes.d.ts +36 -0
- package/dist/ui/render-modes.js +44 -0
- package/dist/ui/startup-menu.d.ts +36 -0
- package/dist/ui/startup-menu.js +236 -0
- package/dist/ui/status-bar-controller.d.ts +33 -0
- package/dist/ui/status-bar-controller.js +99 -0
- package/dist/ui/subagent-renderer.d.ts +117 -0
- package/dist/ui/subagent-renderer.js +318 -0
- package/dist/ui/terminal-autocomplete-utils.d.ts +23 -0
- package/dist/ui/terminal-autocomplete-utils.js +83 -0
- package/dist/ui/terminal-codes.d.ts +94 -0
- package/dist/ui/terminal-codes.js +124 -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 +220 -0
- package/dist/ui/terminal-renderer.js +750 -0
- package/dist/ui/terminal-types.d.ts +179 -0
- package/dist/ui/terminal-types.js +34 -0
- package/dist/ui/terminal-ui.d.ts +331 -0
- package/dist/ui/terminal-ui.js +819 -0
- package/dist/ui/terminal.d.ts +20 -0
- package/dist/ui/terminal.js +72 -0
- package/dist/ui/todo-zone.d.ts +19 -1
- package/dist/ui/todo-zone.js +124 -38
- package/dist/ui/tool-formatters.d.ts +16 -0
- package/dist/ui/tool-formatters.js +1027 -0
- 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/debug-log.d.ts +28 -0
- package/dist/utils/debug-log.js +57 -0
- 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 +39 -17
- package/dist/utils/open-browser.d.ts +5 -0
- package/dist/utils/open-browser.js +32 -0
- package/dist/utils/path-safety.d.ts +56 -0
- package/dist/utils/path-safety.js +240 -0
- 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/dist/workflow/guided-mode-injector.d.ts +42 -0
- package/dist/workflow/guided-mode-injector.js +191 -0
- package/dist/workflow/index.d.ts +8 -0
- package/dist/workflow/index.js +8 -0
- package/dist/workflow/step-criteria.d.ts +62 -0
- package/dist/workflow/step-criteria.js +150 -0
- package/dist/workflow/step-tracker.d.ts +92 -0
- package/dist/workflow/step-tracker.js +141 -0
- package/package.json +32 -12
- package/dist/index.old.d.ts +0 -7
- package/dist/index.old.js +0 -1014
- package/dist/repl.d.ts +0 -121
- package/dist/repl.js +0 -1878
- package/dist/templates/claude-md.d.ts +0 -7
- package/dist/templates/claude-md.js +0 -189
- package/dist/test-autocomplete.d.ts +0 -7
- package/dist/test-autocomplete.js +0 -85
- package/dist/test-tabbed-menu.d.ts +0 -7
- package/dist/test-tabbed-menu.js +0 -25
- package/dist/tool-selector.d.ts +0 -71
- package/dist/tool-selector.js +0 -184
- package/dist/ui/agents-overlay.d.ts +0 -12
- package/dist/ui/agents-overlay.js +0 -501
- package/dist/ui/arch-type-overlay.d.ts +0 -20
- package/dist/ui/arch-type-overlay.js +0 -229
- package/dist/ui/backlog-overlay.d.ts +0 -17
- package/dist/ui/backlog-overlay.js +0 -786
- package/dist/ui/commands-overlay.d.ts +0 -11
- package/dist/ui/commands-overlay.js +0 -410
- package/dist/ui/config-overlay.d.ts +0 -34
- package/dist/ui/config-overlay.js +0 -977
- package/dist/ui/init-overlay.d.ts +0 -24
- package/dist/ui/init-overlay.js +0 -525
- package/dist/ui/input-prompt-v2.d.ts +0 -179
- package/dist/ui/input-prompt-v2.js +0 -991
- package/dist/ui/model-warning-overlay.d.ts +0 -30
- package/dist/ui/model-warning-overlay.js +0 -171
- package/dist/ui/tools-overlay.d.ts +0 -26
- package/dist/ui/tools-overlay.js +0 -278
- package/dist/ui/tutorial-overlay.d.ts +0 -10
- package/dist/ui/tutorial-overlay.js +0 -936
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Files Command for REPL V2
|
|
3
|
+
*
|
|
4
|
+
* Shows files tracked during the session (read, modified, referenced).
|
|
5
|
+
* Supports multi-agent teams: shows files per agent.
|
|
6
|
+
*/
|
|
7
|
+
import pc from 'picocolors';
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Helpers
|
|
10
|
+
// =============================================================================
|
|
11
|
+
const TYPE_LABELS = {
|
|
12
|
+
read: pc.cyan('read'),
|
|
13
|
+
modified: pc.yellow('modified'),
|
|
14
|
+
referenced: pc.dim('referenced'),
|
|
15
|
+
};
|
|
16
|
+
const TYPE_ICONS = {
|
|
17
|
+
read: pc.cyan('R'),
|
|
18
|
+
modified: pc.yellow('M'),
|
|
19
|
+
referenced: pc.dim('~'),
|
|
20
|
+
};
|
|
21
|
+
function formatPath(filePath) {
|
|
22
|
+
const cwd = process.cwd();
|
|
23
|
+
if (filePath.startsWith(cwd + '/')) {
|
|
24
|
+
return filePath.slice(cwd.length + 1);
|
|
25
|
+
}
|
|
26
|
+
return filePath;
|
|
27
|
+
}
|
|
28
|
+
function formatFileEntry(access) {
|
|
29
|
+
const icon = TYPE_ICONS[access.type];
|
|
30
|
+
const displayPath = formatPath(access.path);
|
|
31
|
+
const parts = [` [${icon}] ${displayPath}`];
|
|
32
|
+
if (access.lineCount !== undefined) {
|
|
33
|
+
parts.push(pc.dim(` (${String(access.lineCount)} lines)`));
|
|
34
|
+
}
|
|
35
|
+
if ('content' in access && access.content !== undefined) {
|
|
36
|
+
parts.push(pc.dim(' [cached]'));
|
|
37
|
+
}
|
|
38
|
+
return parts.join('');
|
|
39
|
+
}
|
|
40
|
+
function printFilesForAgent(ctx, agent, label, typeFilter) {
|
|
41
|
+
const tracker = agent.getFileTracker();
|
|
42
|
+
if (!tracker || tracker.size === 0) {
|
|
43
|
+
ctx.ui.print({ type: 'info', message: `${label}: No tracked files` });
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const filterOpts = typeFilter ? { type: typeFilter } : undefined;
|
|
47
|
+
const accesses = tracker.getAccesses(filterOpts);
|
|
48
|
+
if (accesses.length === 0) {
|
|
49
|
+
ctx.ui.print({
|
|
50
|
+
type: 'info',
|
|
51
|
+
message: `${label}: No ${typeFilter ?? ''} files`,
|
|
52
|
+
});
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const stats = tracker.getStats();
|
|
56
|
+
const lines = [];
|
|
57
|
+
lines.push('');
|
|
58
|
+
lines.push(pc.bold(label));
|
|
59
|
+
lines.push(pc.dim(` ${String(stats.read)} read, ${String(stats.modified)} modified, ${String(stats.referenced)} referenced`));
|
|
60
|
+
lines.push('');
|
|
61
|
+
if (typeFilter) {
|
|
62
|
+
lines.push(` ${TYPE_LABELS[typeFilter]} files:`);
|
|
63
|
+
for (const access of accesses) {
|
|
64
|
+
lines.push(formatFileEntry(access));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
// Group by type: modified first, then read, then referenced
|
|
69
|
+
const modified = accesses.filter((a) => a.type === 'modified');
|
|
70
|
+
const read = accesses.filter((a) => a.type === 'read');
|
|
71
|
+
const referenced = accesses.filter((a) => a.type === 'referenced');
|
|
72
|
+
if (modified.length > 0) {
|
|
73
|
+
lines.push(` ${TYPE_LABELS.modified} (${String(modified.length)}):`);
|
|
74
|
+
for (const access of modified) {
|
|
75
|
+
lines.push(formatFileEntry(access));
|
|
76
|
+
}
|
|
77
|
+
lines.push('');
|
|
78
|
+
}
|
|
79
|
+
if (read.length > 0) {
|
|
80
|
+
lines.push(` ${TYPE_LABELS.read} (${String(read.length)}):`);
|
|
81
|
+
for (const access of read) {
|
|
82
|
+
lines.push(formatFileEntry(access));
|
|
83
|
+
}
|
|
84
|
+
lines.push('');
|
|
85
|
+
}
|
|
86
|
+
if (referenced.length > 0) {
|
|
87
|
+
lines.push(` ${TYPE_LABELS.referenced} (${String(referenced.length)}):`);
|
|
88
|
+
for (const access of referenced) {
|
|
89
|
+
lines.push(formatFileEntry(access));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
ctx.ui.print({ type: 'raw-lines', lines });
|
|
94
|
+
}
|
|
95
|
+
// =============================================================================
|
|
96
|
+
// /files Command
|
|
97
|
+
// =============================================================================
|
|
98
|
+
const filesCommand = {
|
|
99
|
+
name: 'files',
|
|
100
|
+
description: 'Show tracked file accesses',
|
|
101
|
+
details: 'Display files read, modified, or referenced during this session. ' +
|
|
102
|
+
'In multi-agent teams, shows files per agent.',
|
|
103
|
+
examples: [
|
|
104
|
+
{ code: '/files', description: 'Show all tracked files' },
|
|
105
|
+
{ code: '/files read', description: 'Show only files that were read' },
|
|
106
|
+
{ code: '/files modified', description: 'Show only modified files' },
|
|
107
|
+
{ code: '/files referenced', description: 'Show only referenced files' },
|
|
108
|
+
],
|
|
109
|
+
execute(args, ctx) {
|
|
110
|
+
// Parse optional type filter
|
|
111
|
+
const trimmed = args.trim().toLowerCase();
|
|
112
|
+
let typeFilter;
|
|
113
|
+
if (trimmed === 'read' || trimmed === 'modified' || trimmed === 'referenced') {
|
|
114
|
+
typeFilter = trimmed;
|
|
115
|
+
}
|
|
116
|
+
else if (trimmed && trimmed !== '') {
|
|
117
|
+
ctx.ui.print({
|
|
118
|
+
type: 'warning',
|
|
119
|
+
message: `Unknown filter: "${trimmed}". Use: read, modified, referenced`,
|
|
120
|
+
});
|
|
121
|
+
return Promise.resolve(true);
|
|
122
|
+
}
|
|
123
|
+
// Collect all unique Agent instances (dedup by object identity)
|
|
124
|
+
const agentEntries = [];
|
|
125
|
+
const seen = new Set();
|
|
126
|
+
// Multi-agent: iterate all team agents
|
|
127
|
+
if (ctx.team) {
|
|
128
|
+
for (const teamAgent of ctx.team.getAll()) {
|
|
129
|
+
if (!teamAgent.agent)
|
|
130
|
+
continue;
|
|
131
|
+
seen.add(teamAgent.agent);
|
|
132
|
+
const label = teamAgent.id === 'default'
|
|
133
|
+
? 'Lead Agent'
|
|
134
|
+
: `$${teamAgent.id} (${teamAgent.displayName})`;
|
|
135
|
+
agentEntries.push({ label, agent: teamAgent.agent });
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// Always check ctx.agent too — it may differ from team entries
|
|
139
|
+
// (e.g., REPL's active agent reference diverged after reinitialization)
|
|
140
|
+
if (ctx.agent && !seen.has(ctx.agent)) {
|
|
141
|
+
const label = ctx.team ? 'Active Agent' : 'Tracked Files';
|
|
142
|
+
agentEntries.push({ label, agent: ctx.agent });
|
|
143
|
+
}
|
|
144
|
+
if (agentEntries.length === 0) {
|
|
145
|
+
ctx.ui.print({ type: 'warning', message: 'Agent not available' });
|
|
146
|
+
return Promise.resolve(true);
|
|
147
|
+
}
|
|
148
|
+
let anyTracked = false;
|
|
149
|
+
for (const entry of agentEntries) {
|
|
150
|
+
const tracker = entry.agent.getFileTracker();
|
|
151
|
+
if (!tracker || tracker.size === 0)
|
|
152
|
+
continue;
|
|
153
|
+
anyTracked = true;
|
|
154
|
+
printFilesForAgent(ctx, entry.agent, entry.label, typeFilter);
|
|
155
|
+
}
|
|
156
|
+
if (!anyTracked) {
|
|
157
|
+
ctx.ui.print({ type: 'info', message: 'No tracked files' });
|
|
158
|
+
}
|
|
159
|
+
return Promise.resolve(true);
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
export const filesCommands = [filesCommand];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversation Filter Command Handler
|
|
3
|
+
*
|
|
4
|
+
* Filters the conversation display to show only specific agents.
|
|
5
|
+
* The filter is display-only - full history is preserved.
|
|
6
|
+
*/
|
|
7
|
+
import type { CommandHandlerV2 } from '../types.js';
|
|
8
|
+
export declare const filterCommand: CommandHandlerV2;
|
|
9
|
+
export declare const filterCommands: CommandHandlerV2[];
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversation Filter Command Handler
|
|
3
|
+
*
|
|
4
|
+
* Filters the conversation display to show only specific agents.
|
|
5
|
+
* The filter is display-only - full history is preserved.
|
|
6
|
+
*/
|
|
7
|
+
import { FilterOverlayV2 } from '../../ui/overlay/impl/filter-overlay-v2.js';
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Filter Command
|
|
10
|
+
// =============================================================================
|
|
11
|
+
export const filterCommand = {
|
|
12
|
+
name: 'filter',
|
|
13
|
+
aliases: ['f'],
|
|
14
|
+
description: 'Filter conversation to show only specific agents',
|
|
15
|
+
details: 'Shows only messages from selected agents. The filter is display-only - full history is preserved. Use /filter --clear or /f to show all messages again.',
|
|
16
|
+
examples: [
|
|
17
|
+
{ code: '/filter', description: 'Open filter overlay' },
|
|
18
|
+
{ code: '/f', description: 'Open filter overlay (alias)' },
|
|
19
|
+
{ code: '/filter $arch', description: 'Show only $arch messages' },
|
|
20
|
+
{ code: '/filter $arch $dev', description: 'Show $arch and $dev messages' },
|
|
21
|
+
{ code: '/filter --clear', description: 'Clear filter, show all messages' },
|
|
22
|
+
],
|
|
23
|
+
interactions: [
|
|
24
|
+
'Space to toggle agent selection',
|
|
25
|
+
'a to select all agents',
|
|
26
|
+
'n to deselect all agents',
|
|
27
|
+
'Enter to apply filter',
|
|
28
|
+
'Esc to cancel',
|
|
29
|
+
],
|
|
30
|
+
async execute(args, ctx) {
|
|
31
|
+
// Handle --clear flag
|
|
32
|
+
if (args.trim() === '--clear') {
|
|
33
|
+
ctx.ui.clearConversationFilter();
|
|
34
|
+
ctx.ui.print({
|
|
35
|
+
type: 'info',
|
|
36
|
+
message: 'Conversation filter cleared - showing all messages',
|
|
37
|
+
});
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
// Handle quick filter with agent names: /filter $arch $dev
|
|
41
|
+
const agentArgs = args.trim();
|
|
42
|
+
if (agentArgs) {
|
|
43
|
+
// Parse agent IDs from args (e.g., "$arch $dev" or "arch dev")
|
|
44
|
+
const agentIds = agentArgs
|
|
45
|
+
.split(/\s+/)
|
|
46
|
+
.map(arg => arg.replace(/^\$/, '').toLowerCase())
|
|
47
|
+
.filter(id => id.length > 0);
|
|
48
|
+
if (agentIds.length > 0) {
|
|
49
|
+
// Validate agent IDs exist in team
|
|
50
|
+
if (ctx.team) {
|
|
51
|
+
const validIds = agentIds.filter(id => ctx.team?.has(id));
|
|
52
|
+
const invalidIds = agentIds.filter(id => !ctx.team?.has(id));
|
|
53
|
+
if (invalidIds.length > 0) {
|
|
54
|
+
ctx.ui.print({
|
|
55
|
+
type: 'warning',
|
|
56
|
+
message: `Unknown agents: ${invalidIds.map(id => `$${id}`).join(', ')}`,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
if (validIds.length > 0) {
|
|
60
|
+
ctx.ui.setConversationFilter(validIds);
|
|
61
|
+
ctx.ui.print({
|
|
62
|
+
type: 'info',
|
|
63
|
+
message: `Filtering to: ${validIds.map(id => `$${id}`).join(', ')}`,
|
|
64
|
+
});
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// No team, just apply filter
|
|
70
|
+
ctx.ui.setConversationFilter(agentIds);
|
|
71
|
+
ctx.ui.print({
|
|
72
|
+
type: 'info',
|
|
73
|
+
message: `Filtering to: ${agentIds.map(id => `$${id}`).join(', ')}`,
|
|
74
|
+
});
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// No args - show overlay
|
|
80
|
+
if (!ctx.team) {
|
|
81
|
+
ctx.ui.print({
|
|
82
|
+
type: 'warning',
|
|
83
|
+
message: 'No team agents available. Use /filter $agent to filter manually.',
|
|
84
|
+
});
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
// Get current filter state
|
|
88
|
+
const currentFilter = ctx.ui.getConversationFilter();
|
|
89
|
+
// Get all agent IDs from team
|
|
90
|
+
const allAgents = ctx.team.getAgentIds().map(id => {
|
|
91
|
+
const agent = ctx.team?.get(id);
|
|
92
|
+
return {
|
|
93
|
+
id,
|
|
94
|
+
displayName: agent?.displayName ?? id,
|
|
95
|
+
mascot: agent?.mascot ?? '[•_•]',
|
|
96
|
+
selected: currentFilter.isActive ? currentFilter.agentIds.includes(id) : true,
|
|
97
|
+
};
|
|
98
|
+
});
|
|
99
|
+
// Show overlay
|
|
100
|
+
const overlay = new FilterOverlayV2({
|
|
101
|
+
agents: allAgents,
|
|
102
|
+
currentFilter: currentFilter.agentIds,
|
|
103
|
+
});
|
|
104
|
+
const result = await ctx.ui.showOverlay(overlay);
|
|
105
|
+
if (result && result.type === 'apply') {
|
|
106
|
+
if (result.agentIds.length === 0 || result.agentIds.length === allAgents.length) {
|
|
107
|
+
// All or none selected = clear filter
|
|
108
|
+
ctx.ui.clearConversationFilter();
|
|
109
|
+
ctx.ui.print({
|
|
110
|
+
type: 'info',
|
|
111
|
+
message: 'Conversation filter cleared - showing all messages',
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
ctx.ui.setConversationFilter(result.agentIds);
|
|
116
|
+
ctx.ui.print({
|
|
117
|
+
type: 'info',
|
|
118
|
+
message: `Filtering to: ${result.agentIds.map(id => `$${id}`).join(', ')}`,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return true;
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
// =============================================================================
|
|
126
|
+
// Export
|
|
127
|
+
// =============================================================================
|
|
128
|
+
export const filterCommands = [
|
|
129
|
+
filterCommand,
|
|
130
|
+
];
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Games Command Handler
|
|
3
|
+
*
|
|
4
|
+
* Hidden easter egg - terminal arcade games!
|
|
5
|
+
*/
|
|
6
|
+
import { GamesOverlayV2 } from '../../ui/overlay/index.js';
|
|
7
|
+
import { checkDailyBonus } from '../../games/index.js';
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Games Command
|
|
10
|
+
// =============================================================================
|
|
11
|
+
export const gamesCommand = {
|
|
12
|
+
name: 'games',
|
|
13
|
+
aliases: ['arcade', 'play'],
|
|
14
|
+
description: 'Open the arcade',
|
|
15
|
+
details: 'Hidden easter egg! Play classic arcade games. Earn coins by being productive with the CLI.',
|
|
16
|
+
examples: [
|
|
17
|
+
{ code: '/games', description: 'Open the arcade menu' },
|
|
18
|
+
{ code: '/arcade', description: 'Alias' },
|
|
19
|
+
],
|
|
20
|
+
interactions: [
|
|
21
|
+
'↑/↓ to select a game',
|
|
22
|
+
'Enter to play (costs 1 coin)',
|
|
23
|
+
'Q to exit',
|
|
24
|
+
],
|
|
25
|
+
// Note: Easter egg - could add hidden flag to CommandHandlerV2 if needed
|
|
26
|
+
async execute(_args, ctx) {
|
|
27
|
+
// Check for daily bonus (only on first open)
|
|
28
|
+
let gotDailyBonus = checkDailyBonus();
|
|
29
|
+
let keepPlaying = true;
|
|
30
|
+
// Loop: show arcade, play game, return to arcade
|
|
31
|
+
while (keepPlaying) {
|
|
32
|
+
// Show overlay (displays coins, bonus notification, and game selection)
|
|
33
|
+
const overlay = new GamesOverlayV2({ gotDailyBonus });
|
|
34
|
+
const result = await ctx.ui.showOverlay(overlay);
|
|
35
|
+
// Clear daily bonus notification after first display
|
|
36
|
+
gotDailyBonus = false;
|
|
37
|
+
if (result?.action === 'play' && result.game) {
|
|
38
|
+
// Pause the UI completely - game will take over stdin
|
|
39
|
+
ctx.ui.pauseAnimation();
|
|
40
|
+
try {
|
|
41
|
+
// Play the game (runs in alternate screen with its own input handling)
|
|
42
|
+
await result.game.play();
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
// Resume UI input handling
|
|
46
|
+
ctx.ui.resumeAnimation();
|
|
47
|
+
}
|
|
48
|
+
// After game ends, loop back to show arcade again
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// User closed arcade (pressed Q or Escape)
|
|
52
|
+
keepPlaying = false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return true;
|
|
56
|
+
},
|
|
57
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command Handlers Index for REPL V2
|
|
3
|
+
*
|
|
4
|
+
* Re-exports all handler modules and provides allCommands array.
|
|
5
|
+
*/
|
|
6
|
+
import type { CommandHandlerV2 } from '../types.js';
|
|
7
|
+
export * from './core.js';
|
|
8
|
+
export * from './settings.js';
|
|
9
|
+
export * from './context.js';
|
|
10
|
+
export * from './project.js';
|
|
11
|
+
export * from './debug.js';
|
|
12
|
+
export * from './session.js';
|
|
13
|
+
export * from './reset.js';
|
|
14
|
+
export * from './team.js';
|
|
15
|
+
export * from './games.js';
|
|
16
|
+
export * from './tasks.js';
|
|
17
|
+
export * from './background.js';
|
|
18
|
+
export * from './filter.js';
|
|
19
|
+
export * from './auth.js';
|
|
20
|
+
export * from './files.js';
|
|
21
|
+
export * from './terminals.js';
|
|
22
|
+
export * from './notifications.js';
|
|
23
|
+
export * from './mcp.js';
|
|
24
|
+
export * from './delegations.js';
|
|
25
|
+
export declare const allCommands: CommandHandlerV2[];
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command Handlers Index for REPL V2
|
|
3
|
+
*
|
|
4
|
+
* Re-exports all handler modules and provides allCommands array.
|
|
5
|
+
*/
|
|
6
|
+
import { coreCommands } from './core.js';
|
|
7
|
+
import { settingsCommands } from './settings.js';
|
|
8
|
+
import { contextCommands } from './context.js';
|
|
9
|
+
import { projectCommands } from './project.js';
|
|
10
|
+
import { debugCommands } from './debug.js';
|
|
11
|
+
import { sessionCommands } from './session.js';
|
|
12
|
+
import { resetCommands } from './reset.js';
|
|
13
|
+
import { teamCommands } from './team.js';
|
|
14
|
+
import { gamesCommand } from './games.js';
|
|
15
|
+
import { tasksCommand } from './tasks.js';
|
|
16
|
+
import { backgroundCommands } from './background.js';
|
|
17
|
+
import { filterCommands } from './filter.js';
|
|
18
|
+
import { authCommands } from './auth.js';
|
|
19
|
+
import { filesCommands } from './files.js';
|
|
20
|
+
import { terminalsCommands } from './terminals.js';
|
|
21
|
+
import { notificationsCommands } from './notifications.js';
|
|
22
|
+
import { mcpCommands } from './mcp.js';
|
|
23
|
+
import { delegationsCommands } from './delegations.js';
|
|
24
|
+
// Re-export individual modules
|
|
25
|
+
export * from './core.js';
|
|
26
|
+
export * from './settings.js';
|
|
27
|
+
export * from './context.js';
|
|
28
|
+
export * from './project.js';
|
|
29
|
+
export * from './debug.js';
|
|
30
|
+
export * from './session.js';
|
|
31
|
+
export * from './reset.js';
|
|
32
|
+
export * from './team.js';
|
|
33
|
+
export * from './games.js';
|
|
34
|
+
export * from './tasks.js';
|
|
35
|
+
export * from './background.js';
|
|
36
|
+
export * from './filter.js';
|
|
37
|
+
export * from './auth.js';
|
|
38
|
+
export * from './files.js';
|
|
39
|
+
export * from './terminals.js';
|
|
40
|
+
export * from './notifications.js';
|
|
41
|
+
export * from './mcp.js';
|
|
42
|
+
export * from './delegations.js';
|
|
43
|
+
// All commands combined
|
|
44
|
+
export const allCommands = [
|
|
45
|
+
...coreCommands,
|
|
46
|
+
...settingsCommands,
|
|
47
|
+
...contextCommands,
|
|
48
|
+
...projectCommands,
|
|
49
|
+
...debugCommands,
|
|
50
|
+
...sessionCommands,
|
|
51
|
+
...resetCommands,
|
|
52
|
+
...teamCommands,
|
|
53
|
+
gamesCommand,
|
|
54
|
+
tasksCommand,
|
|
55
|
+
...backgroundCommands,
|
|
56
|
+
...filterCommands,
|
|
57
|
+
...authCommands,
|
|
58
|
+
...filesCommands,
|
|
59
|
+
...terminalsCommands,
|
|
60
|
+
...notificationsCommands,
|
|
61
|
+
...mcpCommands,
|
|
62
|
+
...delegationsCommands,
|
|
63
|
+
];
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Command for REPL V2
|
|
3
|
+
*
|
|
4
|
+
* Shows the MCP servers overlay for viewing connected servers,
|
|
5
|
+
* their tools, and managing connections.
|
|
6
|
+
*/
|
|
7
|
+
import { MCPOverlayV2 } from '../../ui/overlay/impl/mcp-overlay-v2.js';
|
|
8
|
+
import { getMCPManager, ensureMCPManager } from '../../index.js';
|
|
9
|
+
import { getMCPConfigPath } from '../../settings/mcp-config.js';
|
|
10
|
+
import { getActiveProject } from '../../tools/project-db.js';
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// /mcp Command
|
|
13
|
+
// =============================================================================
|
|
14
|
+
const mcpCommand = {
|
|
15
|
+
name: 'mcp',
|
|
16
|
+
description: 'View MCP servers and tools',
|
|
17
|
+
details: 'Opens the MCP (Model Context Protocol) servers overlay. ' +
|
|
18
|
+
'View connected servers, their discovered tools, and manage connections. ' +
|
|
19
|
+
`Configure servers in ${getMCPConfigPath()}.`,
|
|
20
|
+
examples: [
|
|
21
|
+
{ code: '/mcp', description: 'Show MCP servers dashboard' },
|
|
22
|
+
],
|
|
23
|
+
interactions: [
|
|
24
|
+
'Enter to view server details and tools',
|
|
25
|
+
'a to add a new server',
|
|
26
|
+
'r to restart a server',
|
|
27
|
+
'd to disconnect a server',
|
|
28
|
+
'/ to search',
|
|
29
|
+
'Esc to close',
|
|
30
|
+
],
|
|
31
|
+
async execute(_args, ctx) {
|
|
32
|
+
const manager = getMCPManager();
|
|
33
|
+
const project = getActiveProject();
|
|
34
|
+
const overlay = new MCPOverlayV2(manager, ctx.agent ?? null, ensureMCPManager, project?.path);
|
|
35
|
+
await ctx.ui.showOverlay(overlay);
|
|
36
|
+
return true;
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
export const mcpCommands = [mcpCommand];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Notifications Command Handler
|
|
3
|
+
*
|
|
4
|
+
* Shows cross-session notifications from other terminals.
|
|
5
|
+
* Opens an interactive overlay when unread notifications exist.
|
|
6
|
+
*/
|
|
7
|
+
import type { CommandHandlerV2 } from '../types.js';
|
|
8
|
+
export declare const notificationsCommand: CommandHandlerV2;
|
|
9
|
+
export declare const notificationsCommands: CommandHandlerV2[];
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Notifications Command Handler
|
|
3
|
+
*
|
|
4
|
+
* Shows cross-session notifications from other terminals.
|
|
5
|
+
* Opens an interactive overlay when unread notifications exist.
|
|
6
|
+
*/
|
|
7
|
+
import { getNotificationManager } from '../../multi-agent/notification-manager.js';
|
|
8
|
+
import { NotificationsOverlayV2 } from '../../ui/overlay/impl/notifications-overlay-v2.js';
|
|
9
|
+
export const notificationsCommand = {
|
|
10
|
+
name: 'notifications',
|
|
11
|
+
aliases: ['notif'],
|
|
12
|
+
description: 'Show cross-session notifications',
|
|
13
|
+
details: 'Lists unread notifications from other terminal sessions (e.g. background agent completions, pending approval requests).',
|
|
14
|
+
examples: [
|
|
15
|
+
{ code: '/notifications', description: 'View unread notifications' },
|
|
16
|
+
{ code: '/notif', description: 'Alias for /notifications' },
|
|
17
|
+
],
|
|
18
|
+
async execute(_args, ctx) {
|
|
19
|
+
const manager = getNotificationManager();
|
|
20
|
+
if (!manager) {
|
|
21
|
+
ctx.ui.print({ type: 'info', message: 'Notification manager not available.' });
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
const count = manager.getUnreadCount();
|
|
25
|
+
if (count === 0) {
|
|
26
|
+
ctx.ui.print({ type: 'info', message: 'No unread notifications.' });
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
const overlay = new NotificationsOverlayV2();
|
|
30
|
+
await ctx.ui.showOverlay(overlay);
|
|
31
|
+
return true;
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
export const notificationsCommands = [notificationsCommand];
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project Commands for REPL V2
|
|
3
|
+
*
|
|
4
|
+
* Commands for project management: init, backlog, workflow, anchors, design, sketch, refine
|
|
5
|
+
*/
|
|
6
|
+
import type { CommandHandlerV2 } from '../types.js';
|
|
7
|
+
export declare const newCommand: CommandHandlerV2;
|
|
8
|
+
export declare const initCommand: CommandHandlerV2;
|
|
9
|
+
export declare const backlogCommand: CommandHandlerV2;
|
|
10
|
+
export declare const workflowCommand: CommandHandlerV2;
|
|
11
|
+
export declare const anchorsCommand: CommandHandlerV2;
|
|
12
|
+
export declare const designCommand: CommandHandlerV2;
|
|
13
|
+
export declare const sketchCommand: CommandHandlerV2;
|
|
14
|
+
export declare const refineCommand: CommandHandlerV2;
|
|
15
|
+
export declare const buildCommand: CommandHandlerV2;
|
|
16
|
+
export declare const noteCommand: CommandHandlerV2;
|
|
17
|
+
export declare const prdCommand: CommandHandlerV2;
|
|
18
|
+
export declare const scaffoldCommand: CommandHandlerV2;
|
|
19
|
+
export declare const archCommand: CommandHandlerV2;
|
|
20
|
+
export declare const docsCommand: CommandHandlerV2;
|
|
21
|
+
export declare const projectsCommand: CommandHandlerV2;
|
|
22
|
+
export declare const projectCommands: CommandHandlerV2[];
|