@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,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command Registry for REPL V2
|
|
3
|
+
*
|
|
4
|
+
* Central registry for all V2 command handlers.
|
|
5
|
+
* Handles command resolution (including aliases) and execution.
|
|
6
|
+
*/
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// Registry State
|
|
9
|
+
// =============================================================================
|
|
10
|
+
const handlers = new Map();
|
|
11
|
+
const aliasMap = new Map();
|
|
12
|
+
// =============================================================================
|
|
13
|
+
// Registry Functions
|
|
14
|
+
// =============================================================================
|
|
15
|
+
/**
|
|
16
|
+
* Register a command handler.
|
|
17
|
+
*/
|
|
18
|
+
export function registerCommand(handler) {
|
|
19
|
+
handlers.set(handler.name, handler);
|
|
20
|
+
// Register aliases
|
|
21
|
+
if (handler.aliases) {
|
|
22
|
+
for (const alias of handler.aliases) {
|
|
23
|
+
aliasMap.set(alias, handler.name);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Register multiple command handlers.
|
|
29
|
+
*/
|
|
30
|
+
export function registerCommands(handlerList) {
|
|
31
|
+
for (const handler of handlerList) {
|
|
32
|
+
registerCommand(handler);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get a command handler by name or alias.
|
|
37
|
+
*/
|
|
38
|
+
export function getCommand(nameOrAlias) {
|
|
39
|
+
// Try direct lookup first
|
|
40
|
+
const handler = handlers.get(nameOrAlias);
|
|
41
|
+
if (handler)
|
|
42
|
+
return handler;
|
|
43
|
+
// Try alias lookup
|
|
44
|
+
const resolvedName = aliasMap.get(nameOrAlias);
|
|
45
|
+
if (resolvedName) {
|
|
46
|
+
return handlers.get(resolvedName);
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Execute a command by name or alias.
|
|
52
|
+
*
|
|
53
|
+
* @returns true to continue, false to exit, null if command not found
|
|
54
|
+
*/
|
|
55
|
+
export async function executeCommand(nameOrAlias, args, ctx) {
|
|
56
|
+
const handler = getCommand(nameOrAlias);
|
|
57
|
+
if (!handler) {
|
|
58
|
+
return null; // Command not found
|
|
59
|
+
}
|
|
60
|
+
return handler.execute(args, ctx);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get all registered command names (excluding aliases).
|
|
64
|
+
*/
|
|
65
|
+
export function getCommandNames() {
|
|
66
|
+
return Array.from(handlers.keys());
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Check if a command exists (by name or alias).
|
|
70
|
+
*/
|
|
71
|
+
export function hasCommand(nameOrAlias) {
|
|
72
|
+
return handlers.has(nameOrAlias) || aliasMap.has(nameOrAlias);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Clear all registered commands (for testing).
|
|
76
|
+
*/
|
|
77
|
+
export function clearCommands() {
|
|
78
|
+
handlers.clear();
|
|
79
|
+
aliasMap.clear();
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get all commands formatted for autocomplete.
|
|
83
|
+
* Filters out internal/tool commands (those with underscores or camelCase).
|
|
84
|
+
*/
|
|
85
|
+
export function getAutocompleteCommands() {
|
|
86
|
+
const commands = [];
|
|
87
|
+
for (const [name, handler] of handlers) {
|
|
88
|
+
// Skip internal commands (tools, debug commands with underscores/camelCase)
|
|
89
|
+
if (name.includes('_') || /[A-Z]/.test(name))
|
|
90
|
+
continue;
|
|
91
|
+
commands.push({
|
|
92
|
+
command: `/${name}`,
|
|
93
|
+
description: handler.description,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
return commands.sort((a, b) => a.command.localeCompare(b.command));
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get all commands formatted for help display.
|
|
100
|
+
*/
|
|
101
|
+
export function getHelpCommands() {
|
|
102
|
+
const commands = [];
|
|
103
|
+
for (const [name, handler] of handlers) {
|
|
104
|
+
// Skip internal commands
|
|
105
|
+
if (name.includes('_') || /[A-Z]/.test(name))
|
|
106
|
+
continue;
|
|
107
|
+
const aliases = handler.aliases?.length ? ` (also /${handler.aliases.join(', /')})` : '';
|
|
108
|
+
commands.push({
|
|
109
|
+
name: `/${name}`,
|
|
110
|
+
description: `${handler.description}${aliases}`,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
return commands.sort((a, b) => a.name.localeCompare(b.name));
|
|
114
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command Handler Types for REPL V2
|
|
3
|
+
*
|
|
4
|
+
* Command system for the new TerminalUI-based REPL.
|
|
5
|
+
* Uses TerminalUI instead of Footer, with real agent integration.
|
|
6
|
+
*/
|
|
7
|
+
import type { Agent, ContextManager } from '@compilr-dev/sdk';
|
|
8
|
+
import type { TerminalUI, AgentMessage } from '../ui/terminal-ui.js';
|
|
9
|
+
import type { AgentTeam } from '../multi-agent/index.js';
|
|
10
|
+
import type { BackgroundSessionInfo } from '../multi-agent/types.js';
|
|
11
|
+
export type { BackgroundSessionInfo };
|
|
12
|
+
/**
|
|
13
|
+
* Context passed to V2 command handlers.
|
|
14
|
+
* Provides access to agent, UI, and session information.
|
|
15
|
+
*/
|
|
16
|
+
export interface CommandContextV2 {
|
|
17
|
+
/** TerminalUI instance for output and overlays */
|
|
18
|
+
ui: TerminalUI;
|
|
19
|
+
/** CLI version string */
|
|
20
|
+
version: string;
|
|
21
|
+
/** Update available info (if any) */
|
|
22
|
+
updateAvailable?: {
|
|
23
|
+
current: string;
|
|
24
|
+
latest: string;
|
|
25
|
+
} | null;
|
|
26
|
+
/** Re-print the welcome screen (logo + hints for REPL mode) */
|
|
27
|
+
printWelcome: () => Promise<void>;
|
|
28
|
+
/** Print just the logo (for dashboard mode) */
|
|
29
|
+
printLogo: () => void;
|
|
30
|
+
/** Session restoration info from startup (one-shot, cleared after first read) */
|
|
31
|
+
consumeRestoredSessionInfo: () => string | null;
|
|
32
|
+
/** The main agent instance (may be undefined in simulation mode) */
|
|
33
|
+
agent?: Agent;
|
|
34
|
+
/** The multi-agent team (if multi-agent mode is enabled) */
|
|
35
|
+
team?: AgentTeam;
|
|
36
|
+
/**
|
|
37
|
+
* Replace the current team with a new one (after project switch).
|
|
38
|
+
* Returns the old team so it can be saved if needed.
|
|
39
|
+
*/
|
|
40
|
+
setTeam?: (team: AgentTeam) => AgentTeam | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Agent factory function for creating new agents.
|
|
43
|
+
* Used when switching projects to create new team.
|
|
44
|
+
*/
|
|
45
|
+
agentFactory?: (config: Record<string, unknown>, systemPromptAddition?: string, useMinimalSystemPrompt?: boolean, noTools?: boolean) => Promise<Agent>;
|
|
46
|
+
/**
|
|
47
|
+
* Replace the current agent with a restored one.
|
|
48
|
+
* Used by /resume command to restore from a saved session.
|
|
49
|
+
*/
|
|
50
|
+
restoreAgent?: (agent: Agent) => void;
|
|
51
|
+
/** Current LLM model ID */
|
|
52
|
+
model?: string;
|
|
53
|
+
/** Current LLM provider (claude, openai, gemini, ollama) */
|
|
54
|
+
provider?: string;
|
|
55
|
+
/** Get the context manager from agent (for token/context stats) */
|
|
56
|
+
getContextManager?: () => ContextManager | null;
|
|
57
|
+
/** Get conversation history from agent */
|
|
58
|
+
getHistory?: () => Array<{
|
|
59
|
+
role: string;
|
|
60
|
+
content: unknown;
|
|
61
|
+
}>;
|
|
62
|
+
/**
|
|
63
|
+
* Queue a message to be sent to the agent after the command returns.
|
|
64
|
+
* The displayMessage (if provided) is shown to the user, while the
|
|
65
|
+
* full message is sent to the agent.
|
|
66
|
+
*/
|
|
67
|
+
queueAgentMessage: (options: AgentMessage) => void;
|
|
68
|
+
/** Session start time */
|
|
69
|
+
startTime?: Date;
|
|
70
|
+
/** Total input tokens used in session */
|
|
71
|
+
sessionInputTokens?: number;
|
|
72
|
+
/** Total output tokens used in session */
|
|
73
|
+
sessionOutputTokens?: number;
|
|
74
|
+
/** Total requests in session */
|
|
75
|
+
sessionRequests?: number;
|
|
76
|
+
/**
|
|
77
|
+
* Get information about all running background sessions.
|
|
78
|
+
*/
|
|
79
|
+
getBackgroundSessions?: () => BackgroundSessionInfo[];
|
|
80
|
+
/**
|
|
81
|
+
* Bring a background agent to the foreground.
|
|
82
|
+
* The current foreground agent (if any) will continue running but output will be minimized.
|
|
83
|
+
* @param agentId - The agent to bring to foreground
|
|
84
|
+
* @returns true if successful, false if agent not found
|
|
85
|
+
*/
|
|
86
|
+
bringToForeground?: (agentId: string) => Promise<boolean>;
|
|
87
|
+
/**
|
|
88
|
+
* Switch the active agent (consolidated switching).
|
|
89
|
+
* Performs team switch, agent ref update, tool filter, footer, session tracking, telemetry.
|
|
90
|
+
* Callers handle their own messaging.
|
|
91
|
+
* @param agentId - The agent to switch to
|
|
92
|
+
*/
|
|
93
|
+
switchAgent?: (agentId: string) => Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* Kill/cancel a background agent.
|
|
96
|
+
* @param agentId - The agent to kill
|
|
97
|
+
* @returns true if successful, false if agent not found
|
|
98
|
+
*/
|
|
99
|
+
killBackgroundAgent?: (agentId: string) => boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Send the current foreground agent to background without aborting it.
|
|
102
|
+
* The agent continues running; the user regains the input prompt.
|
|
103
|
+
* @returns The agent ID that was sent to background, or null if no foreground session
|
|
104
|
+
*/
|
|
105
|
+
sendForegroundToBackground?: () => string | null;
|
|
106
|
+
/**
|
|
107
|
+
* Clear all message queues for all agents.
|
|
108
|
+
* Used by /reset to clear queued messages along with conversation history.
|
|
109
|
+
* @returns Total number of messages cleared
|
|
110
|
+
*/
|
|
111
|
+
clearAllQueues?: () => number;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Example usage for a command.
|
|
115
|
+
*/
|
|
116
|
+
export interface CommandExample {
|
|
117
|
+
/** The command to run (e.g., '/backlog') */
|
|
118
|
+
code: string;
|
|
119
|
+
/** What this example demonstrates */
|
|
120
|
+
description?: string;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Interface for a V2 command handler.
|
|
124
|
+
*/
|
|
125
|
+
export interface CommandHandlerV2 {
|
|
126
|
+
/** Primary command name (without leading slash) */
|
|
127
|
+
name: string;
|
|
128
|
+
/** Optional aliases that resolve to this command */
|
|
129
|
+
aliases?: string[];
|
|
130
|
+
/** Short description for help text and autocomplete */
|
|
131
|
+
description: string;
|
|
132
|
+
/** Detailed explanation of what the command does (for help detail view) */
|
|
133
|
+
details?: string;
|
|
134
|
+
/** Usage examples with optional descriptions */
|
|
135
|
+
examples?: CommandExample[];
|
|
136
|
+
/** UI interaction hints (keyboard shortcuts, navigation) */
|
|
137
|
+
interactions?: string[];
|
|
138
|
+
/**
|
|
139
|
+
* Execute the command.
|
|
140
|
+
*
|
|
141
|
+
* @param args - Arguments passed after the command
|
|
142
|
+
* @param ctx - Command context with dependencies
|
|
143
|
+
* @returns true to continue REPL, false to exit
|
|
144
|
+
*/
|
|
145
|
+
execute(args: string, ctx: CommandContextV2): Promise<boolean>;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Result of executing a command.
|
|
149
|
+
* - true: Command handled successfully, continue REPL
|
|
150
|
+
* - false: Exit REPL (e.g., /exit command)
|
|
151
|
+
* - null: Command not found in registry
|
|
152
|
+
*/
|
|
153
|
+
export type CommandResultV2 = boolean | null;
|
package/dist/commands.js
CHANGED
|
@@ -21,6 +21,20 @@ export const COMMANDS = [
|
|
|
21
21
|
'Esc to close',
|
|
22
22
|
],
|
|
23
23
|
},
|
|
24
|
+
{
|
|
25
|
+
name: 'anchors',
|
|
26
|
+
description: 'View and manage anchors (persistent context)',
|
|
27
|
+
details: 'Anchors are critical pieces of information that survive context compaction. They are always included at the top of the context window. Manage both global anchors and project-specific anchors.',
|
|
28
|
+
examples: [{ code: '/anchors' }],
|
|
29
|
+
interactions: [
|
|
30
|
+
'↑/↓ to navigate anchors',
|
|
31
|
+
'[a] Add new anchor',
|
|
32
|
+
'[e] or Enter to edit',
|
|
33
|
+
'[d] to delete',
|
|
34
|
+
'[r] to refresh',
|
|
35
|
+
'Esc to close',
|
|
36
|
+
],
|
|
37
|
+
},
|
|
24
38
|
{
|
|
25
39
|
name: 'arch',
|
|
26
40
|
description: 'Create architecture documentation (ADRs, diagrams, etc.)',
|
|
@@ -103,9 +117,23 @@ export const COMMANDS = [
|
|
|
103
117
|
{
|
|
104
118
|
name: 'design',
|
|
105
119
|
description: 'Design your project and populate the backlog',
|
|
106
|
-
details: 'Comprehensive requirements gathering workflow. The agent guides you through vision, features, and technical context phases, then creates a PRD and populates the backlog with 5-15 items. Best used after /
|
|
120
|
+
details: 'Comprehensive requirements gathering workflow. The agent guides you through vision, features, and technical context phases, then creates a PRD and populates the backlog with 5-15 items. Best used after /new.',
|
|
107
121
|
examples: [{ code: '/design' }],
|
|
108
122
|
},
|
|
123
|
+
{
|
|
124
|
+
name: 'docs',
|
|
125
|
+
description: 'View project documents (PRD, architecture, etc.)',
|
|
126
|
+
details: 'Opens an overlay to browse and read documents stored in the database for the active project. Documents are created by /design, /arch, and other workflow commands.',
|
|
127
|
+
examples: [
|
|
128
|
+
{ code: '/docs', description: 'List all documents' },
|
|
129
|
+
],
|
|
130
|
+
interactions: [
|
|
131
|
+
'↑/↓ or j/k to navigate',
|
|
132
|
+
'Enter to view document',
|
|
133
|
+
'↑/↓ to scroll content',
|
|
134
|
+
'Esc to go back or close',
|
|
135
|
+
],
|
|
136
|
+
},
|
|
109
137
|
{
|
|
110
138
|
name: 'exit',
|
|
111
139
|
description: 'Exit the REPL',
|
|
@@ -152,21 +180,70 @@ export const COMMANDS = [
|
|
|
152
180
|
],
|
|
153
181
|
},
|
|
154
182
|
{
|
|
155
|
-
name: '
|
|
156
|
-
description: '
|
|
183
|
+
name: 'menu',
|
|
184
|
+
description: 'Return to Project Dashboard',
|
|
185
|
+
details: 'Opens the Project Dashboard where you can see current project info, switch projects, or start new work. From the dashboard you can create new projects, open existing ones, or start Quick Chat mode.',
|
|
186
|
+
examples: [{ code: '/menu' }],
|
|
187
|
+
interactions: [
|
|
188
|
+
'↑/↓ or j/k to navigate',
|
|
189
|
+
'←/→ or h/l to switch tabs (Dashboard ↔ More)',
|
|
190
|
+
'Enter to select, q/Esc to exit',
|
|
191
|
+
'n for /new, p for projects, c for chat, w for workflow',
|
|
192
|
+
],
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
name: 'new',
|
|
196
|
+
description: 'Create a new project with structured workflow',
|
|
157
197
|
details: 'Interactive wizard to scaffold a new project. Asks about project name, type, tech stack, and documentation preferences. Creates project structure with COMPILR.md, backlog, and optional separate docs repo.',
|
|
158
|
-
examples: [{ code: '/
|
|
198
|
+
examples: [{ code: '/new' }],
|
|
159
199
|
interactions: [
|
|
160
200
|
'8-step wizard (0-7)',
|
|
161
201
|
'↑/↓ for selection steps, type for input steps',
|
|
162
202
|
'Enter to confirm, Esc to go back',
|
|
163
203
|
],
|
|
164
204
|
},
|
|
205
|
+
{
|
|
206
|
+
name: 'init',
|
|
207
|
+
description: 'View CLI setup status (placeholder)',
|
|
208
|
+
details: 'Shows current CLI configuration status including API keys, provider settings, and startup preferences. Directs users to /config, /keys, and other commands for configuration. Full setup wizard coming in a future release.',
|
|
209
|
+
examples: [{ code: '/init' }],
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
name: 'mascot',
|
|
213
|
+
description: 'Select mascot expression',
|
|
214
|
+
details: 'Opens the mascot selector overlay. Choose the mascot expression shown in the CLI. Options include various expressions, random (changes each startup), or none.',
|
|
215
|
+
examples: [{ code: '/mascot' }],
|
|
216
|
+
interactions: [
|
|
217
|
+
'↑/↓ or j/k to navigate options',
|
|
218
|
+
'Enter/Space to select mascot',
|
|
219
|
+
'q/Esc to close without changing',
|
|
220
|
+
],
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
name: 'mcp',
|
|
224
|
+
description: 'View MCP servers and tools',
|
|
225
|
+
details: 'Opens the MCP (Model Context Protocol) servers overlay. View connected external tool servers, their discovered tools, and manage connections (restart/disconnect). Configure servers in ~/.compilr-dev/mcp.json.',
|
|
226
|
+
examples: [{ code: '/mcp' }],
|
|
227
|
+
interactions: [
|
|
228
|
+
'Enter to view server details and tools',
|
|
229
|
+
'r to restart a server',
|
|
230
|
+
'd to disconnect a server',
|
|
231
|
+
'/ to search',
|
|
232
|
+
'Esc to close',
|
|
233
|
+
],
|
|
234
|
+
},
|
|
165
235
|
{
|
|
166
236
|
name: 'model',
|
|
167
|
-
description: '
|
|
168
|
-
details: '
|
|
237
|
+
description: 'Select LLM model',
|
|
238
|
+
details: 'Opens the model selector overlay. Choose from Claude, OpenAI, Gemini, or Ollama models. Changes within the same provider apply immediately; switching providers requires restart.',
|
|
169
239
|
examples: [{ code: '/model' }],
|
|
240
|
+
interactions: [
|
|
241
|
+
'Tab/Shift+Tab to switch providers',
|
|
242
|
+
'1-4 for quick provider selection',
|
|
243
|
+
'↑/↓ or j/k to navigate models',
|
|
244
|
+
'Enter to select model',
|
|
245
|
+
'Esc to close',
|
|
246
|
+
],
|
|
170
247
|
},
|
|
171
248
|
{
|
|
172
249
|
name: 'note',
|
|
@@ -193,6 +270,21 @@ export const COMMANDS = [
|
|
|
193
270
|
{ code: '/prd scope', description: 'Update scope section' },
|
|
194
271
|
],
|
|
195
272
|
},
|
|
273
|
+
{
|
|
274
|
+
name: 'projects',
|
|
275
|
+
description: 'View and manage projects',
|
|
276
|
+
details: 'Opens an interactive overlay to browse, filter, and manage projects tracked in the database. You can view details, open projects, archive, restore, or delete them.',
|
|
277
|
+
examples: [{ code: '/projects' }],
|
|
278
|
+
interactions: [
|
|
279
|
+
'Tab cycles: All → Active → Paused → Completed → Archived',
|
|
280
|
+
'↑/↓ or j/k to navigate',
|
|
281
|
+
'Enter to view details and actions',
|
|
282
|
+
'x to archive/restore project',
|
|
283
|
+
'd to delete project',
|
|
284
|
+
'a to show/hide archived',
|
|
285
|
+
'Esc to close',
|
|
286
|
+
],
|
|
287
|
+
},
|
|
196
288
|
{
|
|
197
289
|
name: 'refine',
|
|
198
290
|
description: 'Refine and expand existing requirements',
|
|
@@ -220,6 +312,19 @@ export const COMMANDS = [
|
|
|
220
312
|
details: 'Displays current session status including CLI version, active model, mode, and context usage.',
|
|
221
313
|
examples: [{ code: '/status' }],
|
|
222
314
|
},
|
|
315
|
+
{
|
|
316
|
+
name: 'theme',
|
|
317
|
+
description: 'Select UI theme',
|
|
318
|
+
details: 'Opens the theme selector overlay. Browse themes with tabs for Curated, All, Dark, and Light. Themes are terminal color schemes that change the UI appearance.',
|
|
319
|
+
examples: [{ code: '/theme' }],
|
|
320
|
+
interactions: [
|
|
321
|
+
'Tab cycles: Curated → All → Dark → Light',
|
|
322
|
+
'↑/↓ or j/k to navigate, ←/→ for pages',
|
|
323
|
+
'/ to search themes by name',
|
|
324
|
+
'1-9,0 for quick selection (Curated tab)',
|
|
325
|
+
'Enter/Space to select, q/Esc to close',
|
|
326
|
+
],
|
|
327
|
+
},
|
|
223
328
|
{
|
|
224
329
|
name: 'todos',
|
|
225
330
|
description: 'List current todo items',
|
|
@@ -238,10 +343,21 @@ export const COMMANDS = [
|
|
|
238
343
|
details: 'Shows all tools available to the agent including file operations, bash, git, and custom tools.',
|
|
239
344
|
examples: [{ code: '/tools' }],
|
|
240
345
|
},
|
|
346
|
+
{
|
|
347
|
+
name: 'workflow',
|
|
348
|
+
description: 'Show workflow status and next steps',
|
|
349
|
+
details: 'Displays the current project workflow status, progress through phases (init → design → backlog → scaffold → build), and recommended next actions. Helps you understand where you are in the development process.',
|
|
350
|
+
examples: [{ code: '/workflow' }],
|
|
351
|
+
interactions: [
|
|
352
|
+
'↑/↓ to navigate actions',
|
|
353
|
+
'Enter to run selected action',
|
|
354
|
+
'Esc to close',
|
|
355
|
+
],
|
|
356
|
+
},
|
|
241
357
|
{
|
|
242
358
|
name: 'tutorial',
|
|
243
359
|
description: 'Interactive tutorial for the workflow',
|
|
244
|
-
details: 'Opens an interactive tutorial that guides you through the compilr.dev workflow. Choose a guided tour to learn everything step-by-step, or jump directly to specific topics like /
|
|
360
|
+
details: 'Opens an interactive tutorial that guides you through the compilr.dev workflow. Choose a guided tour to learn everything step-by-step, or jump directly to specific topics like /new, /design, or /build.',
|
|
245
361
|
examples: [{ code: '/tutorial' }],
|
|
246
362
|
interactions: [
|
|
247
363
|
'↑/↓ to navigate options and topics',
|
|
Binary file
|
package/dist/db/index.js
CHANGED
|
@@ -49,6 +49,8 @@ export function getDb() {
|
|
|
49
49
|
dbInstance.pragma('foreign_keys = ON');
|
|
50
50
|
// Enable WAL mode for better concurrency
|
|
51
51
|
dbInstance.pragma('journal_mode = WAL');
|
|
52
|
+
// Prevent SQLITE_BUSY under concurrent access (multi-terminal)
|
|
53
|
+
dbInstance.pragma('busy_timeout = 5000');
|
|
52
54
|
// Initialize schema if needed
|
|
53
55
|
initializeSchema(dbInstance);
|
|
54
56
|
return dbInstance;
|
|
@@ -81,10 +83,102 @@ function initializeSchema(db) {
|
|
|
81
83
|
* Run database migrations from one version to another
|
|
82
84
|
*/
|
|
83
85
|
function runMigrations(db, fromVersion, toVersion) {
|
|
84
|
-
//
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
db.
|
|
86
|
+
// Migration from v1 to v2: Add plan columns to project_documents
|
|
87
|
+
if (fromVersion < 2 && toVersion >= 2) {
|
|
88
|
+
// Add status column (for plans)
|
|
89
|
+
db.exec(`
|
|
90
|
+
ALTER TABLE project_documents ADD COLUMN status TEXT;
|
|
91
|
+
`);
|
|
92
|
+
// Add work_item_id column (for linking plans to work items)
|
|
93
|
+
db.exec(`
|
|
94
|
+
ALTER TABLE project_documents ADD COLUMN work_item_id INTEGER
|
|
95
|
+
REFERENCES work_items(id) ON DELETE SET NULL;
|
|
96
|
+
`);
|
|
97
|
+
// Add indexes for the new columns
|
|
98
|
+
db.exec(`
|
|
99
|
+
CREATE INDEX IF NOT EXISTS idx_project_documents_status ON project_documents(status);
|
|
100
|
+
CREATE INDEX IF NOT EXISTS idx_project_documents_work_item ON project_documents(work_item_id);
|
|
101
|
+
`);
|
|
102
|
+
db.prepare('INSERT INTO schema_version (version) VALUES (?)').run(2);
|
|
103
|
+
}
|
|
104
|
+
// Migration from v2 to v3: Add owner column to work_items
|
|
105
|
+
if (fromVersion < 3 && toVersion >= 3) {
|
|
106
|
+
// Add owner column for multi-agent task assignment
|
|
107
|
+
db.exec(`
|
|
108
|
+
ALTER TABLE work_items ADD COLUMN owner TEXT;
|
|
109
|
+
`);
|
|
110
|
+
// Add index for owner queries
|
|
111
|
+
db.exec(`
|
|
112
|
+
CREATE INDEX IF NOT EXISTS idx_work_items_owner ON work_items(owner);
|
|
113
|
+
`);
|
|
114
|
+
db.prepare('INSERT INTO schema_version (version) VALUES (?)').run(3);
|
|
115
|
+
}
|
|
116
|
+
// Migration from v3 to v4: Add terminal_sessions table (multi-terminal awareness)
|
|
117
|
+
if (fromVersion < 4 && toVersion >= 4) {
|
|
118
|
+
db.exec(`
|
|
119
|
+
CREATE TABLE IF NOT EXISTS terminal_sessions (
|
|
120
|
+
id TEXT PRIMARY KEY,
|
|
121
|
+
project_id INTEGER,
|
|
122
|
+
pid INTEGER NOT NULL,
|
|
123
|
+
tty_path TEXT,
|
|
124
|
+
label TEXT,
|
|
125
|
+
started_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
126
|
+
last_heartbeat DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
127
|
+
active_agent TEXT DEFAULT 'default',
|
|
128
|
+
agents_json TEXT DEFAULT '[]',
|
|
129
|
+
status TEXT DEFAULT 'active',
|
|
130
|
+
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE SET NULL
|
|
131
|
+
);
|
|
132
|
+
`);
|
|
133
|
+
db.exec(`
|
|
134
|
+
CREATE INDEX IF NOT EXISTS idx_terminal_sessions_project ON terminal_sessions(project_id);
|
|
135
|
+
CREATE INDEX IF NOT EXISTS idx_terminal_sessions_status ON terminal_sessions(status);
|
|
136
|
+
`);
|
|
137
|
+
db.prepare('INSERT INTO schema_version (version) VALUES (?)').run(4);
|
|
138
|
+
}
|
|
139
|
+
// Migration from v4 to v5: Add file_locks table (multi-terminal file lock awareness)
|
|
140
|
+
if (fromVersion < 5 && toVersion >= 5) {
|
|
141
|
+
db.exec(`
|
|
142
|
+
CREATE TABLE IF NOT EXISTS file_locks (
|
|
143
|
+
path TEXT NOT NULL,
|
|
144
|
+
project_id INTEGER NOT NULL,
|
|
145
|
+
session_id TEXT NOT NULL,
|
|
146
|
+
agent_id TEXT NOT NULL,
|
|
147
|
+
locked_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
148
|
+
PRIMARY KEY (path, project_id),
|
|
149
|
+
FOREIGN KEY (session_id) REFERENCES terminal_sessions(id) ON DELETE CASCADE,
|
|
150
|
+
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
|
|
151
|
+
);
|
|
152
|
+
`);
|
|
153
|
+
db.exec(`
|
|
154
|
+
CREATE INDEX IF NOT EXISTS idx_file_locks_session ON file_locks(session_id);
|
|
155
|
+
`);
|
|
156
|
+
db.prepare('INSERT INTO schema_version (version) VALUES (?)').run(5);
|
|
157
|
+
}
|
|
158
|
+
// Migration from v5 to v6: Add session_notifications table (cross-session notifications)
|
|
159
|
+
if (fromVersion < 6 && toVersion >= 6) {
|
|
160
|
+
db.exec(`
|
|
161
|
+
CREATE TABLE IF NOT EXISTS session_notifications (
|
|
162
|
+
id TEXT PRIMARY KEY,
|
|
163
|
+
project_id INTEGER NOT NULL,
|
|
164
|
+
from_session_id TEXT NOT NULL,
|
|
165
|
+
to_session_id TEXT,
|
|
166
|
+
type TEXT NOT NULL,
|
|
167
|
+
title TEXT NOT NULL,
|
|
168
|
+
message TEXT,
|
|
169
|
+
payload_json TEXT,
|
|
170
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
171
|
+
read_at DATETIME,
|
|
172
|
+
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
|
|
173
|
+
FOREIGN KEY (from_session_id) REFERENCES terminal_sessions(id) ON DELETE CASCADE
|
|
174
|
+
);
|
|
175
|
+
`);
|
|
176
|
+
db.exec(`
|
|
177
|
+
CREATE INDEX IF NOT EXISTS idx_session_notifications_project ON session_notifications(project_id);
|
|
178
|
+
CREATE INDEX IF NOT EXISTS idx_session_notifications_to_session ON session_notifications(to_session_id);
|
|
179
|
+
CREATE INDEX IF NOT EXISTS idx_session_notifications_unread ON session_notifications(read_at);
|
|
180
|
+
`);
|
|
181
|
+
db.prepare('INSERT INTO schema_version (version) VALUES (?)').run(6);
|
|
88
182
|
}
|
|
89
183
|
}
|
|
90
184
|
/**
|
|
@@ -16,6 +16,8 @@ function recordToDocument(record) {
|
|
|
16
16
|
content: record.content,
|
|
17
17
|
createdAt: new Date(record.created_at),
|
|
18
18
|
updatedAt: new Date(record.updated_at),
|
|
19
|
+
status: record.status,
|
|
20
|
+
workItemId: record.work_item_id,
|
|
19
21
|
};
|
|
20
22
|
}
|
|
21
23
|
export const documentRepository = {
|
|
@@ -105,7 +107,8 @@ export const documentRepository = {
|
|
|
105
107
|
WHEN 'architecture' THEN 2
|
|
106
108
|
WHEN 'design' THEN 3
|
|
107
109
|
WHEN 'notes' THEN 4
|
|
108
|
-
|
|
110
|
+
WHEN 'plan' THEN 5
|
|
111
|
+
ELSE 6
|
|
109
112
|
END,
|
|
110
113
|
created_at ASC
|
|
111
114
|
`)
|
|
@@ -175,6 +178,7 @@ export const documentRepository = {
|
|
|
175
178
|
architecture: 0,
|
|
176
179
|
design: 0,
|
|
177
180
|
notes: 0,
|
|
181
|
+
plan: 0,
|
|
178
182
|
};
|
|
179
183
|
for (const row of results) {
|
|
180
184
|
counts[row.doc_type] = row.count;
|
|
@@ -7,3 +7,5 @@ export { workItemRepository } from './work-item-repository.js';
|
|
|
7
7
|
export type { CreateWorkItemInput, UpdateWorkItemInput, QueryWorkItemsInput, WorkItem, } from './work-item-repository.js';
|
|
8
8
|
export { documentRepository } from './document-repository.js';
|
|
9
9
|
export type { CreateDocumentInput, UpdateDocumentInput, ProjectDocument, } from './document-repository.js';
|
|
10
|
+
export { planRepository } from './plan-repository.js';
|
|
11
|
+
export type { CreatePlanInput, UpdatePlanInput, ListPlansOptions, Plan, PlanSummary, PlanWithWorkItem, } from './plan-repository.js';
|