@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,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types, interfaces, and constants for TerminalUI.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from terminal-ui.ts for modularity.
|
|
5
|
+
* All public symbols are re-exported from terminal-ui.ts for backwards compatibility.
|
|
6
|
+
*/
|
|
7
|
+
import type { CommandOption } from './types.js';
|
|
8
|
+
import type { FileMatch } from './file-autocomplete.js';
|
|
9
|
+
/**
|
|
10
|
+
* Message to be sent to the agent from a command.
|
|
11
|
+
* Allows commands to invoke the agent with a detailed prompt while
|
|
12
|
+
* showing a simpler message to the user.
|
|
13
|
+
*/
|
|
14
|
+
export interface AgentMessage {
|
|
15
|
+
/** Full message to send to the agent */
|
|
16
|
+
message: string;
|
|
17
|
+
/** Optional: Simpler message to display to user (defaults to message) */
|
|
18
|
+
displayMessage?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface TerminalUIEvents {
|
|
21
|
+
submit: (input: string) => void;
|
|
22
|
+
command: (command: string, args: string) => void;
|
|
23
|
+
cancel: () => void;
|
|
24
|
+
escape: () => void;
|
|
25
|
+
interrupt: () => void;
|
|
26
|
+
modeChange: () => void;
|
|
27
|
+
showTasks: () => void;
|
|
28
|
+
showPending: () => void;
|
|
29
|
+
backgroundBash: (info: {
|
|
30
|
+
toolUseId: string;
|
|
31
|
+
command: string;
|
|
32
|
+
partialOutput: string;
|
|
33
|
+
startTime: number;
|
|
34
|
+
}) => void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Configuration for TerminalUI rendering behavior.
|
|
38
|
+
* Can be changed at runtime via setConfig().
|
|
39
|
+
*/
|
|
40
|
+
export interface TerminalUIConfig {
|
|
41
|
+
verbose: boolean;
|
|
42
|
+
theme: string;
|
|
43
|
+
showMascot: boolean;
|
|
44
|
+
}
|
|
45
|
+
export declare const DEFAULT_TERMINAL_UI_CONFIG: TerminalUIConfig;
|
|
46
|
+
export interface TerminalUIOptions {
|
|
47
|
+
prompt?: string;
|
|
48
|
+
initialMode?: import('./types.js').AgentMode;
|
|
49
|
+
config?: Partial<TerminalUIConfig>;
|
|
50
|
+
}
|
|
51
|
+
export interface LineInfo {
|
|
52
|
+
content: string;
|
|
53
|
+
physicalLines: number;
|
|
54
|
+
}
|
|
55
|
+
export interface AutocompleteState {
|
|
56
|
+
active: boolean;
|
|
57
|
+
matches: CommandOption[];
|
|
58
|
+
selectedIndex: number;
|
|
59
|
+
scrollOffset: number;
|
|
60
|
+
}
|
|
61
|
+
export interface FileAutocompleteState {
|
|
62
|
+
active: boolean;
|
|
63
|
+
matches: FileMatch[];
|
|
64
|
+
selectedIndex: number;
|
|
65
|
+
scrollOffset: number;
|
|
66
|
+
partial: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Agent suggestion for $ autocomplete
|
|
70
|
+
*/
|
|
71
|
+
export interface AgentSuggestion {
|
|
72
|
+
id: string;
|
|
73
|
+
displayName: string;
|
|
74
|
+
mascot: string;
|
|
75
|
+
}
|
|
76
|
+
export interface AgentAutocompleteState {
|
|
77
|
+
active: boolean;
|
|
78
|
+
matches: AgentSuggestion[];
|
|
79
|
+
selectedIndex: number;
|
|
80
|
+
scrollOffset: number;
|
|
81
|
+
partial: string;
|
|
82
|
+
startPos: number;
|
|
83
|
+
lineIndex: number;
|
|
84
|
+
}
|
|
85
|
+
export interface KeypressKey {
|
|
86
|
+
name?: string;
|
|
87
|
+
ctrl?: boolean;
|
|
88
|
+
shift?: boolean;
|
|
89
|
+
meta?: boolean;
|
|
90
|
+
sequence?: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Represents a semantic item that can be printed to the scrolling zone.
|
|
94
|
+
* TerminalUI handles all formatting based on the item type and config.
|
|
95
|
+
*
|
|
96
|
+
* Items are stored in conversation history for re-rendering when config changes.
|
|
97
|
+
*/
|
|
98
|
+
export type PrintableItem = {
|
|
99
|
+
type: 'user-message';
|
|
100
|
+
text: string;
|
|
101
|
+
agentId?: string;
|
|
102
|
+
} | {
|
|
103
|
+
type: 'agent-text';
|
|
104
|
+
text: string;
|
|
105
|
+
expression?: string;
|
|
106
|
+
agentId?: string;
|
|
107
|
+
} | {
|
|
108
|
+
type: 'thinking';
|
|
109
|
+
text: string;
|
|
110
|
+
agentId?: string;
|
|
111
|
+
} | {
|
|
112
|
+
type: 'tool-start';
|
|
113
|
+
name: string;
|
|
114
|
+
params: string;
|
|
115
|
+
agentId?: string;
|
|
116
|
+
} | {
|
|
117
|
+
type: 'tool-result';
|
|
118
|
+
name: string;
|
|
119
|
+
params: string;
|
|
120
|
+
summary: string;
|
|
121
|
+
content?: string;
|
|
122
|
+
diffLines?: string[];
|
|
123
|
+
success?: boolean;
|
|
124
|
+
agentId?: string;
|
|
125
|
+
} | {
|
|
126
|
+
type: 'tool-error';
|
|
127
|
+
name: string;
|
|
128
|
+
params: string;
|
|
129
|
+
error: string;
|
|
130
|
+
agentId?: string;
|
|
131
|
+
} | {
|
|
132
|
+
type: 'interrupted';
|
|
133
|
+
action?: string;
|
|
134
|
+
suggestion?: string;
|
|
135
|
+
agentId?: string;
|
|
136
|
+
} | {
|
|
137
|
+
type: 'error';
|
|
138
|
+
message: string;
|
|
139
|
+
} | {
|
|
140
|
+
type: 'success';
|
|
141
|
+
message: string;
|
|
142
|
+
} | {
|
|
143
|
+
type: 'info';
|
|
144
|
+
message: string;
|
|
145
|
+
} | {
|
|
146
|
+
type: 'warning';
|
|
147
|
+
message: string;
|
|
148
|
+
} | {
|
|
149
|
+
type: 'turn-summary';
|
|
150
|
+
parts: string[];
|
|
151
|
+
agentId?: string;
|
|
152
|
+
} | {
|
|
153
|
+
type: 'raw';
|
|
154
|
+
text: string;
|
|
155
|
+
} | {
|
|
156
|
+
type: 'raw-lines';
|
|
157
|
+
lines: string[];
|
|
158
|
+
} | {
|
|
159
|
+
type: 'background-agent';
|
|
160
|
+
agentId: string;
|
|
161
|
+
mascot: string;
|
|
162
|
+
text: string;
|
|
163
|
+
};
|
|
164
|
+
export declare const MAX_VISIBLE_COMMANDS = 10;
|
|
165
|
+
/**
|
|
166
|
+
* Inline mascot expressions for agent identity and state feedback.
|
|
167
|
+
* Used to prefix agent messages and in spinner animations.
|
|
168
|
+
*/
|
|
169
|
+
export declare const MASCOT: {
|
|
170
|
+
readonly neutral: "[•_•]";
|
|
171
|
+
readonly thinking: "[°_°]";
|
|
172
|
+
readonly searching: "[◐_◐]";
|
|
173
|
+
readonly success: "[^_^]";
|
|
174
|
+
readonly error: "[×_×]";
|
|
175
|
+
readonly confused: "[?_?]";
|
|
176
|
+
readonly working: "[•̀_•́]";
|
|
177
|
+
readonly crt: readonly ["[░░░]", "[▒░░]", "[░▒░]", "[░░▒]", "[░▒░]", "[▒░░]"];
|
|
178
|
+
};
|
|
179
|
+
export type MascotExpression = 'neutral' | 'thinking' | 'searching' | 'success' | 'error' | 'confused' | 'working';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types, interfaces, and constants for TerminalUI.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from terminal-ui.ts for modularity.
|
|
5
|
+
* All public symbols are re-exported from terminal-ui.ts for backwards compatibility.
|
|
6
|
+
*/
|
|
7
|
+
export const DEFAULT_TERMINAL_UI_CONFIG = {
|
|
8
|
+
verbose: false,
|
|
9
|
+
theme: 'default',
|
|
10
|
+
showMascot: true,
|
|
11
|
+
};
|
|
12
|
+
// =============================================================================
|
|
13
|
+
// Constants
|
|
14
|
+
// =============================================================================
|
|
15
|
+
export const MAX_VISIBLE_COMMANDS = 10;
|
|
16
|
+
// =============================================================================
|
|
17
|
+
// Mascot Expressions
|
|
18
|
+
// =============================================================================
|
|
19
|
+
/**
|
|
20
|
+
* Inline mascot expressions for agent identity and state feedback.
|
|
21
|
+
* Used to prefix agent messages and in spinner animations.
|
|
22
|
+
*/
|
|
23
|
+
export const MASCOT = {
|
|
24
|
+
// Core expressions
|
|
25
|
+
neutral: '[•_•]', // Default state - regular messages
|
|
26
|
+
thinking: '[°_°]', // Processing/thinking
|
|
27
|
+
searching: '[◐_◐]', // Searching/scanning files
|
|
28
|
+
success: '[^_^]', // Task completed successfully
|
|
29
|
+
error: '[×_×]', // Error occurred
|
|
30
|
+
confused: '[?_?]', // Needs clarification
|
|
31
|
+
working: '[•̀_•́]', // Actively working on task
|
|
32
|
+
// CRT monitor animation frames (subtle scanner effect)
|
|
33
|
+
crt: ['[░░░]', '[▒░░]', '[░▒░]', '[░░▒]', '[░▒░]', '[▒░░]'],
|
|
34
|
+
};
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalUI - Single Renderer for Terminal Applications
|
|
3
|
+
*
|
|
4
|
+
* Single point of control for all terminal UI:
|
|
5
|
+
* - Owns all rendering decisions (when to clear, when to render)
|
|
6
|
+
* - Owns all UI state (agentRunning, todos, currentTool, etc.)
|
|
7
|
+
* - Provides output methods that handle clear/render automatically
|
|
8
|
+
* - Manages overlays (render, input routing)
|
|
9
|
+
* - REPL emits events, doesn't manage rendering timing
|
|
10
|
+
*
|
|
11
|
+
* Key principles:
|
|
12
|
+
* - NO scroll regions (preserves terminal scrollback)
|
|
13
|
+
* - Deterministic render cycle
|
|
14
|
+
* - All output goes through TerminalUI (no external console.log)
|
|
15
|
+
*/
|
|
16
|
+
import { EventEmitter } from 'events';
|
|
17
|
+
import type { TodoItem, AgentMode } from './types.js';
|
|
18
|
+
import type { AgentMessage, TerminalUIConfig, TerminalUIOptions, AgentSuggestion, PrintableItem } from './terminal-types.js';
|
|
19
|
+
export type { AgentMessage, TerminalUIEvents, TerminalUIConfig, TerminalUIOptions, AgentSuggestion, PrintableItem, MascotExpression } from './terminal-types.js';
|
|
20
|
+
export { DEFAULT_TERMINAL_UI_CONFIG, MASCOT } from './terminal-types.js';
|
|
21
|
+
import type { Overlay } from './overlay/index.js';
|
|
22
|
+
import { LiveRegion, type LiveItem, type SubagentLiveItem } from './live-region.js';
|
|
23
|
+
export declare class TerminalUI extends EventEmitter {
|
|
24
|
+
private promptPrefix;
|
|
25
|
+
private promptPrefixLen;
|
|
26
|
+
private config;
|
|
27
|
+
private readonly conversation;
|
|
28
|
+
private readonly input;
|
|
29
|
+
private get lines();
|
|
30
|
+
private set lines(value);
|
|
31
|
+
private get currentLine();
|
|
32
|
+
private set currentLine(value);
|
|
33
|
+
private get cursorPos();
|
|
34
|
+
private set cursorPos(value);
|
|
35
|
+
private get suggestion();
|
|
36
|
+
private set suggestion(value);
|
|
37
|
+
private get queuedInputs();
|
|
38
|
+
private set queuedInputs(value);
|
|
39
|
+
private mode;
|
|
40
|
+
private projectName;
|
|
41
|
+
private todos;
|
|
42
|
+
private activePlanId;
|
|
43
|
+
private activePlanName;
|
|
44
|
+
private spinnerText;
|
|
45
|
+
private agentRunning;
|
|
46
|
+
private agentMessageQueue;
|
|
47
|
+
private currentTool;
|
|
48
|
+
private readonly turnMetrics;
|
|
49
|
+
private readonly live;
|
|
50
|
+
private readonly ac;
|
|
51
|
+
private isRunning;
|
|
52
|
+
private isPaused;
|
|
53
|
+
private renderTimer;
|
|
54
|
+
private needsRender;
|
|
55
|
+
private activeTeamAgent;
|
|
56
|
+
private showTodos;
|
|
57
|
+
private viewMode;
|
|
58
|
+
private readonly statusBar;
|
|
59
|
+
private readonly overlay;
|
|
60
|
+
private readonly footer;
|
|
61
|
+
private readonly keyboard;
|
|
62
|
+
constructor(options?: TerminalUIOptions);
|
|
63
|
+
/** Set background agent count (called by REPL to keep UI in sync). */
|
|
64
|
+
setBackgroundAgentCount(count: number): void;
|
|
65
|
+
/** Set MCP loading state for status bar indicator. */
|
|
66
|
+
setMCPLoading(loading: boolean, toolCount?: number): void;
|
|
67
|
+
start(skipInitialRender?: boolean): void;
|
|
68
|
+
stop(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Print a semantic item to the scrolling zone.
|
|
71
|
+
* Items are stored in conversation history for re-rendering when config changes.
|
|
72
|
+
*
|
|
73
|
+
* IMPORTANT: When an overlay is active, items are buffered and rendered after
|
|
74
|
+
* the overlay closes. This prevents cursor position corruption that causes
|
|
75
|
+
* ghost lines and visual artifacts.
|
|
76
|
+
*/
|
|
77
|
+
print(item: PrintableItem): void;
|
|
78
|
+
/**
|
|
79
|
+
* Render a single item to the console.
|
|
80
|
+
* Config-aware: respects verbose, showMascot settings.
|
|
81
|
+
* Delegates to standalone renderItem() function.
|
|
82
|
+
*/
|
|
83
|
+
private renderItemToConsole;
|
|
84
|
+
/**
|
|
85
|
+
* Execute a callback that outputs to terminal.
|
|
86
|
+
* Handles clear → callback → render automatically.
|
|
87
|
+
* Use this for complex output that needs multiple console.log calls.
|
|
88
|
+
* @deprecated Prefer using print() with PrintableItem
|
|
89
|
+
*/
|
|
90
|
+
output(callback: () => void): void;
|
|
91
|
+
setAgentRunning(running: boolean): void;
|
|
92
|
+
isAgentRunning(): boolean;
|
|
93
|
+
setTodos(todos: TodoItem[]): void;
|
|
94
|
+
getTodos(): TodoItem[];
|
|
95
|
+
setSpinnerText(text: string | null): void;
|
|
96
|
+
setCurrentTool(tool: string | null): void;
|
|
97
|
+
/**
|
|
98
|
+
* Set whether extended thinking mode is active
|
|
99
|
+
* Shows "thinking" indicator in status line
|
|
100
|
+
*/
|
|
101
|
+
setThinking(thinking: boolean): void;
|
|
102
|
+
/**
|
|
103
|
+
* Add input/output tokens for live display
|
|
104
|
+
* @param thinkingTokens - Optional thinking tokens (Gemini 2.5+ models)
|
|
105
|
+
* @param cacheReadTokens - Optional cache read tokens (Anthropic/Gemini)
|
|
106
|
+
* @param debugPayload - Optional debug payload sizes (char counts)
|
|
107
|
+
*/
|
|
108
|
+
addTokens(inputTokens: number, outputTokens: number, thinkingTokens?: number, cacheReadTokens?: number, debugPayload?: {
|
|
109
|
+
systemChars: number;
|
|
110
|
+
contentsChars: number;
|
|
111
|
+
toolsChars: number;
|
|
112
|
+
}): void;
|
|
113
|
+
/**
|
|
114
|
+
* Increment tool call counter
|
|
115
|
+
*/
|
|
116
|
+
incrementToolCalls(): void;
|
|
117
|
+
/**
|
|
118
|
+
* Increment API call counter (called on each LLM request completion)
|
|
119
|
+
*/
|
|
120
|
+
incrementApiCalls(): void;
|
|
121
|
+
/**
|
|
122
|
+
* Reset turn metrics (call when agent starts a new turn)
|
|
123
|
+
*/
|
|
124
|
+
resetTurnMetrics(): void;
|
|
125
|
+
/**
|
|
126
|
+
* Get current turn metrics
|
|
127
|
+
*/
|
|
128
|
+
getTurnMetrics(): {
|
|
129
|
+
inputTokens: number;
|
|
130
|
+
outputTokens: number;
|
|
131
|
+
thinkingTokens: number;
|
|
132
|
+
cacheReadTokens: number;
|
|
133
|
+
durationMs: number;
|
|
134
|
+
toolCalls: number;
|
|
135
|
+
apiCalls: number;
|
|
136
|
+
debugPayload?: {
|
|
137
|
+
systemChars: number;
|
|
138
|
+
contentsChars: number;
|
|
139
|
+
toolsChars: number;
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
setMode(mode: AgentMode): void;
|
|
143
|
+
getMode(): AgentMode;
|
|
144
|
+
setProjectName(name: string | null): void;
|
|
145
|
+
getProjectName(): string | null;
|
|
146
|
+
/**
|
|
147
|
+
* Set the active team agent (displayed in footer)
|
|
148
|
+
* Pass null to clear (default agent or no team)
|
|
149
|
+
*/
|
|
150
|
+
setActiveTeamAgent(agent: {
|
|
151
|
+
id: string;
|
|
152
|
+
displayName: string;
|
|
153
|
+
mascot: string;
|
|
154
|
+
} | null): void;
|
|
155
|
+
/**
|
|
156
|
+
* Get the active team agent
|
|
157
|
+
*/
|
|
158
|
+
getActiveTeamAgent(): {
|
|
159
|
+
id: string;
|
|
160
|
+
displayName: string;
|
|
161
|
+
mascot: string;
|
|
162
|
+
} | null;
|
|
163
|
+
/**
|
|
164
|
+
* Set the callback to get available team agents for $ autocomplete
|
|
165
|
+
*/
|
|
166
|
+
setAgentSuggestionsCallback(callback: (() => AgentSuggestion[]) | undefined): void;
|
|
167
|
+
/**
|
|
168
|
+
* Set the callback to get available commands for / autocomplete
|
|
169
|
+
*/
|
|
170
|
+
setCommandsCallback(callback: (() => {
|
|
171
|
+
command: string;
|
|
172
|
+
description: string;
|
|
173
|
+
}[]) | undefined): void;
|
|
174
|
+
/**
|
|
175
|
+
* Set the active plan (for Plan Mode display in footer)
|
|
176
|
+
*/
|
|
177
|
+
setActivePlan(planId: number | null, planName: string | null): void;
|
|
178
|
+
/**
|
|
179
|
+
* Get the active plan info
|
|
180
|
+
*/
|
|
181
|
+
getActivePlan(): {
|
|
182
|
+
id: number | null;
|
|
183
|
+
name: string | null;
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* Clear the active plan
|
|
187
|
+
*/
|
|
188
|
+
clearActivePlan(): void;
|
|
189
|
+
/**
|
|
190
|
+
* Set ghost text suggestion (shown when input is empty)
|
|
191
|
+
*/
|
|
192
|
+
setSuggestion(text: string | null): void;
|
|
193
|
+
getSuggestion(): string | null;
|
|
194
|
+
clearSuggestion(): void;
|
|
195
|
+
addSubagent(id: string, agentType: string, description: string): void;
|
|
196
|
+
updateSubagentTool(id: string, toolName: string, summary: string): void;
|
|
197
|
+
completeSubagent(id: string, success: boolean, tokenCount?: number, _error?: string): void;
|
|
198
|
+
removeSubagent(id: string): LiveItem | undefined;
|
|
199
|
+
clearLiveRegion(): void;
|
|
200
|
+
toggleLiveRegionExpanded(): void;
|
|
201
|
+
hasLiveItems(): boolean;
|
|
202
|
+
getLiveRegion(): LiveRegion;
|
|
203
|
+
addBashCommand(id: string, command: string): void;
|
|
204
|
+
updateBashOutput(id: string, line: string): void;
|
|
205
|
+
completeBashCommand(id: string, exitCode: number): void;
|
|
206
|
+
commitBashCommand(id: string): void;
|
|
207
|
+
backgroundBashCommand(): void;
|
|
208
|
+
hasActiveBash(): boolean;
|
|
209
|
+
getActiveBashInfo(): {
|
|
210
|
+
toolUseId: string;
|
|
211
|
+
startTime: number;
|
|
212
|
+
} | null;
|
|
213
|
+
commitSubagent(id: string, resultContent: string, success: boolean): SubagentLiveItem | undefined;
|
|
214
|
+
/**
|
|
215
|
+
* Toggle todo list visibility (Ctrl+T)
|
|
216
|
+
*/
|
|
217
|
+
toggleTodos(): void;
|
|
218
|
+
/**
|
|
219
|
+
* Set todo list visibility
|
|
220
|
+
*/
|
|
221
|
+
setShowTodos(show: boolean): void;
|
|
222
|
+
/**
|
|
223
|
+
* Get todo list visibility
|
|
224
|
+
*/
|
|
225
|
+
getShowTodos(): boolean;
|
|
226
|
+
/**
|
|
227
|
+
* Toggle verbose view mode (Ctrl+O)
|
|
228
|
+
* Shows conversation in verbose mode temporarily.
|
|
229
|
+
* Any key returns to normal view.
|
|
230
|
+
*/
|
|
231
|
+
toggleVerboseView(): void;
|
|
232
|
+
/**
|
|
233
|
+
* Re-render conversation with temporary verbose setting.
|
|
234
|
+
*/
|
|
235
|
+
private reRenderConversationVerbose;
|
|
236
|
+
/**
|
|
237
|
+
* Store restored conversation items for Ctrl+R history view.
|
|
238
|
+
* Called when a session is resumed/restored.
|
|
239
|
+
*/
|
|
240
|
+
setRestoredHistory(items: PrintableItem[]): void;
|
|
241
|
+
/**
|
|
242
|
+
* Check if there is restored history available.
|
|
243
|
+
*/
|
|
244
|
+
hasRestoredHistory(): boolean;
|
|
245
|
+
/**
|
|
246
|
+
* Show restored conversation history (Ctrl+R).
|
|
247
|
+
* Renders items permanently into the scrollback buffer.
|
|
248
|
+
* Stays in normal mode — the output persists like any other printed content.
|
|
249
|
+
*/
|
|
250
|
+
private showRestoredHistory;
|
|
251
|
+
/**
|
|
252
|
+
* Update configuration at runtime.
|
|
253
|
+
* If verbose changes, re-renders the entire conversation.
|
|
254
|
+
*/
|
|
255
|
+
setConfig(newConfig: Partial<TerminalUIConfig>): void;
|
|
256
|
+
/**
|
|
257
|
+
* Get current configuration.
|
|
258
|
+
*/
|
|
259
|
+
getConfig(): TerminalUIConfig;
|
|
260
|
+
/**
|
|
261
|
+
* Re-render entire conversation with current config.
|
|
262
|
+
* Called when verbose mode changes.
|
|
263
|
+
*/
|
|
264
|
+
private reRenderConversation;
|
|
265
|
+
/**
|
|
266
|
+
* Clear conversation history.
|
|
267
|
+
* Called by /clear command.
|
|
268
|
+
*/
|
|
269
|
+
clearConversationHistory(): void;
|
|
270
|
+
/**
|
|
271
|
+
* Get conversation history (copy).
|
|
272
|
+
*/
|
|
273
|
+
getConversationHistory(): PrintableItem[];
|
|
274
|
+
setConversationFilter(agentIds: string[]): void;
|
|
275
|
+
clearConversationFilter(): void;
|
|
276
|
+
getConversationFilter(): {
|
|
277
|
+
agentIds: string[];
|
|
278
|
+
isActive: boolean;
|
|
279
|
+
};
|
|
280
|
+
addToConversationFilter(agentId: string): boolean;
|
|
281
|
+
isAgentInFilter(agentId: string): boolean;
|
|
282
|
+
hasActiveOverlay(): boolean;
|
|
283
|
+
getActiveOverlay(): Overlay | null;
|
|
284
|
+
showOverlay<TResult>(overlay: Overlay<unknown, TResult>): Promise<TResult | null>;
|
|
285
|
+
requestOverlayRender(): void;
|
|
286
|
+
getQueuedInputs(): string[];
|
|
287
|
+
popQueuedInput(): string | null;
|
|
288
|
+
hasQueuedInput(): boolean;
|
|
289
|
+
clearQueue(): void;
|
|
290
|
+
/**
|
|
291
|
+
* Queue a message to be sent to the agent.
|
|
292
|
+
* Used by commands that need to invoke the agent programmatically.
|
|
293
|
+
*/
|
|
294
|
+
queueAgentMessage(options: AgentMessage): void;
|
|
295
|
+
/**
|
|
296
|
+
* Pop the next agent message from the queue.
|
|
297
|
+
*/
|
|
298
|
+
popAgentMessage(): AgentMessage | null;
|
|
299
|
+
/**
|
|
300
|
+
* Check if there are queued agent messages.
|
|
301
|
+
*/
|
|
302
|
+
hasAgentMessage(): boolean;
|
|
303
|
+
/**
|
|
304
|
+
* Clear all queued agent messages.
|
|
305
|
+
*/
|
|
306
|
+
clearAgentMessageQueue(): void;
|
|
307
|
+
/**
|
|
308
|
+
* Pause footer completely (for overlays)
|
|
309
|
+
*/
|
|
310
|
+
pauseAnimation(): void;
|
|
311
|
+
/**
|
|
312
|
+
* Resume footer after pause
|
|
313
|
+
*/
|
|
314
|
+
resumeAnimation(): void;
|
|
315
|
+
/**
|
|
316
|
+
* Restart input after command
|
|
317
|
+
*/
|
|
318
|
+
restartInput(): void;
|
|
319
|
+
/**
|
|
320
|
+
* Refresh prompt with theme colors
|
|
321
|
+
*/
|
|
322
|
+
refreshPrompt(): void;
|
|
323
|
+
/**
|
|
324
|
+
* @deprecated Use print() or output() instead
|
|
325
|
+
*/
|
|
326
|
+
clearForOutput(): void;
|
|
327
|
+
/**
|
|
328
|
+
* @deprecated Use print() or output() instead
|
|
329
|
+
*/
|
|
330
|
+
forceRender(): void;
|
|
331
|
+
}
|