@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,271 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tetromino Pieces
|
|
3
|
+
*
|
|
4
|
+
* Standard 7 Tetris pieces with rotation states.
|
|
5
|
+
*/
|
|
6
|
+
// =============================================================================
|
|
7
|
+
// Piece Definitions
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Each piece has 4 rotation states
|
|
10
|
+
// Rotation follows SRS (Super Rotation System)
|
|
11
|
+
const PIECES = {
|
|
12
|
+
// I-piece (cyan) - 4x4 bounding box
|
|
13
|
+
I: [
|
|
14
|
+
[
|
|
15
|
+
[0, 0, 0, 0],
|
|
16
|
+
[1, 1, 1, 1],
|
|
17
|
+
[0, 0, 0, 0],
|
|
18
|
+
[0, 0, 0, 0],
|
|
19
|
+
],
|
|
20
|
+
[
|
|
21
|
+
[0, 0, 1, 0],
|
|
22
|
+
[0, 0, 1, 0],
|
|
23
|
+
[0, 0, 1, 0],
|
|
24
|
+
[0, 0, 1, 0],
|
|
25
|
+
],
|
|
26
|
+
[
|
|
27
|
+
[0, 0, 0, 0],
|
|
28
|
+
[0, 0, 0, 0],
|
|
29
|
+
[1, 1, 1, 1],
|
|
30
|
+
[0, 0, 0, 0],
|
|
31
|
+
],
|
|
32
|
+
[
|
|
33
|
+
[0, 1, 0, 0],
|
|
34
|
+
[0, 1, 0, 0],
|
|
35
|
+
[0, 1, 0, 0],
|
|
36
|
+
[0, 1, 0, 0],
|
|
37
|
+
],
|
|
38
|
+
],
|
|
39
|
+
// O-piece (yellow) - 2x2, no rotation needed but we keep 4 states for consistency
|
|
40
|
+
O: [
|
|
41
|
+
[
|
|
42
|
+
[1, 1],
|
|
43
|
+
[1, 1],
|
|
44
|
+
],
|
|
45
|
+
[
|
|
46
|
+
[1, 1],
|
|
47
|
+
[1, 1],
|
|
48
|
+
],
|
|
49
|
+
[
|
|
50
|
+
[1, 1],
|
|
51
|
+
[1, 1],
|
|
52
|
+
],
|
|
53
|
+
[
|
|
54
|
+
[1, 1],
|
|
55
|
+
[1, 1],
|
|
56
|
+
],
|
|
57
|
+
],
|
|
58
|
+
// T-piece (purple)
|
|
59
|
+
T: [
|
|
60
|
+
[
|
|
61
|
+
[0, 1, 0],
|
|
62
|
+
[1, 1, 1],
|
|
63
|
+
[0, 0, 0],
|
|
64
|
+
],
|
|
65
|
+
[
|
|
66
|
+
[0, 1, 0],
|
|
67
|
+
[0, 1, 1],
|
|
68
|
+
[0, 1, 0],
|
|
69
|
+
],
|
|
70
|
+
[
|
|
71
|
+
[0, 0, 0],
|
|
72
|
+
[1, 1, 1],
|
|
73
|
+
[0, 1, 0],
|
|
74
|
+
],
|
|
75
|
+
[
|
|
76
|
+
[0, 1, 0],
|
|
77
|
+
[1, 1, 0],
|
|
78
|
+
[0, 1, 0],
|
|
79
|
+
],
|
|
80
|
+
],
|
|
81
|
+
// S-piece (green)
|
|
82
|
+
S: [
|
|
83
|
+
[
|
|
84
|
+
[0, 1, 1],
|
|
85
|
+
[1, 1, 0],
|
|
86
|
+
[0, 0, 0],
|
|
87
|
+
],
|
|
88
|
+
[
|
|
89
|
+
[0, 1, 0],
|
|
90
|
+
[0, 1, 1],
|
|
91
|
+
[0, 0, 1],
|
|
92
|
+
],
|
|
93
|
+
[
|
|
94
|
+
[0, 0, 0],
|
|
95
|
+
[0, 1, 1],
|
|
96
|
+
[1, 1, 0],
|
|
97
|
+
],
|
|
98
|
+
[
|
|
99
|
+
[1, 0, 0],
|
|
100
|
+
[1, 1, 0],
|
|
101
|
+
[0, 1, 0],
|
|
102
|
+
],
|
|
103
|
+
],
|
|
104
|
+
// Z-piece (red)
|
|
105
|
+
Z: [
|
|
106
|
+
[
|
|
107
|
+
[1, 1, 0],
|
|
108
|
+
[0, 1, 1],
|
|
109
|
+
[0, 0, 0],
|
|
110
|
+
],
|
|
111
|
+
[
|
|
112
|
+
[0, 0, 1],
|
|
113
|
+
[0, 1, 1],
|
|
114
|
+
[0, 1, 0],
|
|
115
|
+
],
|
|
116
|
+
[
|
|
117
|
+
[0, 0, 0],
|
|
118
|
+
[1, 1, 0],
|
|
119
|
+
[0, 1, 1],
|
|
120
|
+
],
|
|
121
|
+
[
|
|
122
|
+
[0, 1, 0],
|
|
123
|
+
[1, 1, 0],
|
|
124
|
+
[1, 0, 0],
|
|
125
|
+
],
|
|
126
|
+
],
|
|
127
|
+
// J-piece (blue)
|
|
128
|
+
J: [
|
|
129
|
+
[
|
|
130
|
+
[1, 0, 0],
|
|
131
|
+
[1, 1, 1],
|
|
132
|
+
[0, 0, 0],
|
|
133
|
+
],
|
|
134
|
+
[
|
|
135
|
+
[0, 1, 1],
|
|
136
|
+
[0, 1, 0],
|
|
137
|
+
[0, 1, 0],
|
|
138
|
+
],
|
|
139
|
+
[
|
|
140
|
+
[0, 0, 0],
|
|
141
|
+
[1, 1, 1],
|
|
142
|
+
[0, 0, 1],
|
|
143
|
+
],
|
|
144
|
+
[
|
|
145
|
+
[0, 1, 0],
|
|
146
|
+
[0, 1, 0],
|
|
147
|
+
[1, 1, 0],
|
|
148
|
+
],
|
|
149
|
+
],
|
|
150
|
+
// L-piece (orange)
|
|
151
|
+
L: [
|
|
152
|
+
[
|
|
153
|
+
[0, 0, 1],
|
|
154
|
+
[1, 1, 1],
|
|
155
|
+
[0, 0, 0],
|
|
156
|
+
],
|
|
157
|
+
[
|
|
158
|
+
[0, 1, 0],
|
|
159
|
+
[0, 1, 0],
|
|
160
|
+
[0, 1, 1],
|
|
161
|
+
],
|
|
162
|
+
[
|
|
163
|
+
[0, 0, 0],
|
|
164
|
+
[1, 1, 1],
|
|
165
|
+
[1, 0, 0],
|
|
166
|
+
],
|
|
167
|
+
[
|
|
168
|
+
[1, 1, 0],
|
|
169
|
+
[0, 1, 0],
|
|
170
|
+
[0, 1, 0],
|
|
171
|
+
],
|
|
172
|
+
],
|
|
173
|
+
};
|
|
174
|
+
// Color mapping (1-7)
|
|
175
|
+
const PIECE_COLORS = {
|
|
176
|
+
I: 1, // Cyan
|
|
177
|
+
O: 2, // Yellow
|
|
178
|
+
T: 3, // Purple
|
|
179
|
+
S: 4, // Green
|
|
180
|
+
Z: 5, // Red
|
|
181
|
+
J: 6, // Blue
|
|
182
|
+
L: 7, // Orange
|
|
183
|
+
};
|
|
184
|
+
// All piece types for random selection
|
|
185
|
+
const PIECE_TYPES = ['I', 'O', 'T', 'S', 'Z', 'J', 'L'];
|
|
186
|
+
// =============================================================================
|
|
187
|
+
// Piece Functions
|
|
188
|
+
// =============================================================================
|
|
189
|
+
/**
|
|
190
|
+
* Get a piece shape at a specific rotation
|
|
191
|
+
*/
|
|
192
|
+
export function getPieceShape(type, rotation) {
|
|
193
|
+
const rotations = PIECES[type];
|
|
194
|
+
return rotations[rotation % rotations.length];
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Get piece color
|
|
198
|
+
*/
|
|
199
|
+
export function getPieceColor(type) {
|
|
200
|
+
return PIECE_COLORS[type];
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Create a new piece
|
|
204
|
+
*/
|
|
205
|
+
export function createPiece(type, rotation = 0) {
|
|
206
|
+
return {
|
|
207
|
+
type,
|
|
208
|
+
shape: getPieceShape(type, rotation),
|
|
209
|
+
color: getPieceColor(type),
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Rotate a piece clockwise
|
|
214
|
+
*/
|
|
215
|
+
export function rotatePiece(piece, rotation) {
|
|
216
|
+
return {
|
|
217
|
+
...piece,
|
|
218
|
+
shape: getPieceShape(piece.type, rotation),
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Get a random piece type
|
|
223
|
+
*/
|
|
224
|
+
export function getRandomPieceType() {
|
|
225
|
+
return PIECE_TYPES[Math.floor(Math.random() * PIECE_TYPES.length)];
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Generate a bag of 7 pieces (one of each type, shuffled)
|
|
229
|
+
* This is the "7-bag" randomizer used in modern Tetris
|
|
230
|
+
*/
|
|
231
|
+
export function generatePieceBag() {
|
|
232
|
+
const bag = [...PIECE_TYPES];
|
|
233
|
+
// Fisher-Yates shuffle
|
|
234
|
+
for (let i = bag.length - 1; i > 0; i--) {
|
|
235
|
+
const j = Math.floor(Math.random() * (i + 1));
|
|
236
|
+
[bag[i], bag[j]] = [bag[j], bag[i]];
|
|
237
|
+
}
|
|
238
|
+
return bag;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Get piece width (for centering)
|
|
242
|
+
*/
|
|
243
|
+
export function getPieceWidth(piece) {
|
|
244
|
+
let minCol = piece.shape[0].length;
|
|
245
|
+
let maxCol = 0;
|
|
246
|
+
for (const row of piece.shape) {
|
|
247
|
+
for (let col = 0; col < row.length; col++) {
|
|
248
|
+
if (row[col]) {
|
|
249
|
+
minCol = Math.min(minCol, col);
|
|
250
|
+
maxCol = Math.max(maxCol, col);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
return maxCol - minCol + 1;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Get piece height (for preview)
|
|
258
|
+
*/
|
|
259
|
+
export function getPieceHeight(piece) {
|
|
260
|
+
let minRow = piece.shape.length;
|
|
261
|
+
let maxRow = 0;
|
|
262
|
+
for (let row = 0; row < piece.shape.length; row++) {
|
|
263
|
+
for (let col = 0; col < piece.shape[row].length; col++) {
|
|
264
|
+
if (piece.shape[row][col]) {
|
|
265
|
+
minRow = Math.min(minRow, row);
|
|
266
|
+
maxRow = Math.max(maxRow, row);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
return maxRow - minRow + 1;
|
|
271
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tetris Renderer
|
|
3
|
+
*
|
|
4
|
+
* Color handling and theme integration for Tetris.
|
|
5
|
+
*/
|
|
6
|
+
export interface GameColors {
|
|
7
|
+
title: (text: string) => string;
|
|
8
|
+
label: (text: string) => string;
|
|
9
|
+
value: (text: string) => string;
|
|
10
|
+
score: (text: string) => string;
|
|
11
|
+
muted: (text: string) => string;
|
|
12
|
+
piece: (color: number, text: string) => string;
|
|
13
|
+
ghost: (text: string) => string;
|
|
14
|
+
overlay: (text: string) => string;
|
|
15
|
+
gameOver: (text: string) => string;
|
|
16
|
+
highScore: (text: string) => string;
|
|
17
|
+
cursor: (text: string) => string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get theme-aware colors for the game
|
|
21
|
+
*/
|
|
22
|
+
export declare function getGameColors(): GameColors;
|
|
23
|
+
/**
|
|
24
|
+
* Get simple ANSI colors (fallback if theme not available)
|
|
25
|
+
*/
|
|
26
|
+
export declare function getDefaultColors(): GameColors;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tetris Renderer
|
|
3
|
+
*
|
|
4
|
+
* Color handling and theme integration for Tetris.
|
|
5
|
+
*/
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import { getThemeColors as getThemeColorsFromTheme, getStyles } from '../../themes/index.js';
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Color Functions
|
|
10
|
+
// =============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* Get theme-aware colors for the game
|
|
13
|
+
*/
|
|
14
|
+
export function getGameColors() {
|
|
15
|
+
const colors = getThemeColorsFromTheme();
|
|
16
|
+
const s = getStyles();
|
|
17
|
+
// Semantic colors (same as in themes/colors.ts)
|
|
18
|
+
const SEMANTIC_SUCCESS = '#50fa7b';
|
|
19
|
+
const SEMANTIC_WARNING = '#f1fa8c';
|
|
20
|
+
const SEMANTIC_ERROR = '#ff5555';
|
|
21
|
+
// Map piece numbers to theme colors
|
|
22
|
+
const pieceColorFns = {
|
|
23
|
+
1: (text) => chalk.hex(colors.primary)(text), // I - cyan/primary
|
|
24
|
+
2: (text) => chalk.hex(SEMANTIC_WARNING)(text), // O - yellow/warning
|
|
25
|
+
3: (text) => chalk.hex(colors.secondary ?? colors.primary)(text), // T - purple/secondary
|
|
26
|
+
4: (text) => chalk.hex(SEMANTIC_SUCCESS)(text), // S - green/success
|
|
27
|
+
5: (text) => chalk.hex(SEMANTIC_ERROR)(text), // Z - red/error
|
|
28
|
+
6: (text) => chalk.hex(colors.primary).bold(text), // J - blue/primary bold
|
|
29
|
+
7: (text) => chalk.hex(SEMANTIC_WARNING).bold(text), // L - orange/warning bold
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
title: (text) => s.primaryBold(text),
|
|
33
|
+
label: (text) => s.secondary(text),
|
|
34
|
+
value: (text) => text,
|
|
35
|
+
score: (text) => s.primaryBold(text),
|
|
36
|
+
muted: (text) => s.muted(text),
|
|
37
|
+
piece: (color, text) => {
|
|
38
|
+
const colorFn = pieceColorFns[color];
|
|
39
|
+
return colorFn ? colorFn(text) : text;
|
|
40
|
+
},
|
|
41
|
+
ghost: (text) => s.muted(text),
|
|
42
|
+
overlay: (text) => chalk.inverse(text),
|
|
43
|
+
gameOver: (text) => s.error(text),
|
|
44
|
+
highScore: (text) => s.warning(text),
|
|
45
|
+
cursor: (text) => chalk.inverse(text),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get simple ANSI colors (fallback if theme not available)
|
|
50
|
+
*/
|
|
51
|
+
export function getDefaultColors() {
|
|
52
|
+
return {
|
|
53
|
+
title: (text) => chalk.cyan.bold(text),
|
|
54
|
+
label: (text) => chalk.white(text),
|
|
55
|
+
value: (text) => chalk.white(text),
|
|
56
|
+
score: (text) => chalk.yellow.bold(text),
|
|
57
|
+
muted: (text) => chalk.gray(text),
|
|
58
|
+
piece: (color, text) => {
|
|
59
|
+
const colorFns = {
|
|
60
|
+
1: (t) => chalk.cyan(t),
|
|
61
|
+
2: (t) => chalk.yellow(t),
|
|
62
|
+
3: (t) => chalk.magenta(t),
|
|
63
|
+
4: (t) => chalk.green(t),
|
|
64
|
+
5: (t) => chalk.red(t),
|
|
65
|
+
6: (t) => chalk.blue(t),
|
|
66
|
+
7: (t) => chalk.rgb(255, 165, 0)(t), // Orange
|
|
67
|
+
};
|
|
68
|
+
const fn = colorFns[color];
|
|
69
|
+
return fn ? fn(text) : text;
|
|
70
|
+
},
|
|
71
|
+
ghost: (text) => chalk.gray(text),
|
|
72
|
+
overlay: (text) => chalk.inverse(text),
|
|
73
|
+
gameOver: (text) => chalk.red.bold(text),
|
|
74
|
+
highScore: (text) => chalk.yellow.bold(text),
|
|
75
|
+
cursor: (text) => chalk.inverse(text),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Guide Content
|
|
3
|
+
*
|
|
4
|
+
* Documentation for the compilr_guide tool.
|
|
5
|
+
* Uses shared content from shared-content.ts for topics that overlap with tutorials.
|
|
6
|
+
*/
|
|
7
|
+
import { searchContentTopics, getAllTopicIds } from './shared-content.js';
|
|
8
|
+
export interface GuideEntry {
|
|
9
|
+
id: string;
|
|
10
|
+
title: string;
|
|
11
|
+
keywords: string[];
|
|
12
|
+
content: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const guideEntries: GuideEntry[];
|
|
15
|
+
/**
|
|
16
|
+
* Search guide entries by keyword or topic.
|
|
17
|
+
*/
|
|
18
|
+
export declare function searchGuide(query: string): GuideEntry[];
|
|
19
|
+
/**
|
|
20
|
+
* Get all available topics for listing.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getGuideTopics(): string[];
|
|
23
|
+
export { searchContentTopics, getAllTopicIds };
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Guide Content
|
|
3
|
+
*
|
|
4
|
+
* Documentation for the compilr_guide tool.
|
|
5
|
+
* Uses shared content from shared-content.ts for topics that overlap with tutorials.
|
|
6
|
+
*/
|
|
7
|
+
import { CONTENT_TOPICS, topicToPlainText, searchContentTopics, getAllTopicIds, } from './shared-content.js';
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Guide-Only Entries (not in tutorials)
|
|
10
|
+
// =============================================================================
|
|
11
|
+
const GUIDE_ONLY_ENTRIES = [
|
|
12
|
+
{
|
|
13
|
+
id: 'overview',
|
|
14
|
+
title: 'Compilr Dev CLI Overview',
|
|
15
|
+
keywords: ['overview', 'what is', 'introduction', 'about', 'compilr'],
|
|
16
|
+
content: `
|
|
17
|
+
Compilr Dev CLI is an AI-powered coding assistant that helps you build software projects.
|
|
18
|
+
|
|
19
|
+
Key features:
|
|
20
|
+
- Multi-LLM support (Claude, OpenAI, Gemini, Ollama)
|
|
21
|
+
- Project management with structured workflows
|
|
22
|
+
- Requirements gathering with /design command
|
|
23
|
+
- Backlog tracking with /backlog command
|
|
24
|
+
- Team agents for specialized assistance ($arch, $pm, $qa, etc.)
|
|
25
|
+
- Session persistence and context management
|
|
26
|
+
|
|
27
|
+
The CLI has two main interfaces:
|
|
28
|
+
1. Dashboard - A menu-based interface for project management
|
|
29
|
+
2. REPL - A command-line interface for chatting with the AI
|
|
30
|
+
|
|
31
|
+
Run "compilr" to start. Use /help to see all commands.
|
|
32
|
+
`.trim(),
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 'workflow-modes',
|
|
36
|
+
title: 'Workflow Modes',
|
|
37
|
+
keywords: ['workflow', 'flexible', 'guided', 'mode'],
|
|
38
|
+
content: `
|
|
39
|
+
Two workflow modes are available:
|
|
40
|
+
|
|
41
|
+
Flexible (recommended):
|
|
42
|
+
- Work at your own pace
|
|
43
|
+
- AI responds to your requests
|
|
44
|
+
- No enforced structure
|
|
45
|
+
- Best for experienced developers
|
|
46
|
+
|
|
47
|
+
Guided:
|
|
48
|
+
- AI suggests next steps
|
|
49
|
+
- Tracks work item progress
|
|
50
|
+
- More structured approach
|
|
51
|
+
- Best for learning the workflow
|
|
52
|
+
|
|
53
|
+
Switch modes with /workflow command.
|
|
54
|
+
|
|
55
|
+
The footer shows current mode: "mode: Normal" or "mode: Guided"
|
|
56
|
+
`.trim(),
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: 'workflow-recommended',
|
|
60
|
+
title: 'Recommended Workflow',
|
|
61
|
+
keywords: ['workflow', 'how to', 'best practice', 'process'],
|
|
62
|
+
content: `
|
|
63
|
+
Recommended workflow for new projects:
|
|
64
|
+
|
|
65
|
+
1. Create project with /new
|
|
66
|
+
- Choose your tech stack
|
|
67
|
+
- Set up git repository
|
|
68
|
+
|
|
69
|
+
2. Plan with /design
|
|
70
|
+
- Describe what you want to build
|
|
71
|
+
- AI asks clarifying questions
|
|
72
|
+
- Generates PRD and backlog items
|
|
73
|
+
|
|
74
|
+
3. Review backlog with /backlog
|
|
75
|
+
- See all work items
|
|
76
|
+
- Prioritize tasks
|
|
77
|
+
- Pick one to start
|
|
78
|
+
|
|
79
|
+
4. Build features
|
|
80
|
+
- Ask AI to implement from backlog
|
|
81
|
+
- "Build REQ-001: User authentication"
|
|
82
|
+
- Review and iterate
|
|
83
|
+
|
|
84
|
+
5. Manage context
|
|
85
|
+
- Use /compact when context fills up
|
|
86
|
+
- Add /anchors for important decisions
|
|
87
|
+
- Use /resume to continue later
|
|
88
|
+
`.trim(),
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
id: 'command-resume',
|
|
92
|
+
title: '/resume Command',
|
|
93
|
+
keywords: ['/resume', 'resume', 'session', 'continue', 'previous'],
|
|
94
|
+
content: `
|
|
95
|
+
/resume - Continue a previous session.
|
|
96
|
+
|
|
97
|
+
Sessions are auto-saved after each AI response.
|
|
98
|
+
|
|
99
|
+
The overlay shows:
|
|
100
|
+
- Recent: Sessions from current project
|
|
101
|
+
- All: Sessions from all projects
|
|
102
|
+
- Session date, message count, and preview
|
|
103
|
+
|
|
104
|
+
Actions:
|
|
105
|
+
j/k Navigate sessions
|
|
106
|
+
/ Search sessions
|
|
107
|
+
Enter Resume selected session
|
|
108
|
+
d Delete session
|
|
109
|
+
q/Esc Close
|
|
110
|
+
|
|
111
|
+
What's saved in a session:
|
|
112
|
+
- Conversation history (all messages)
|
|
113
|
+
- Todo list items
|
|
114
|
+
- Workflow state (mode, current work item)
|
|
115
|
+
- Token usage
|
|
116
|
+
|
|
117
|
+
What's NOT in sessions (per-project instead):
|
|
118
|
+
- Anchors (persistent across sessions)
|
|
119
|
+
- Team agent configurations
|
|
120
|
+
- Documents (PRD, backlog, etc.)
|
|
121
|
+
|
|
122
|
+
Cross-project sessions show a warning before resuming.
|
|
123
|
+
`.trim(),
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
id: 'command-team',
|
|
127
|
+
title: '/team Command',
|
|
128
|
+
keywords: ['/team', 'team', 'agents', 'manage'],
|
|
129
|
+
content: `
|
|
130
|
+
/team - View and manage team agents.
|
|
131
|
+
|
|
132
|
+
The overlay shows:
|
|
133
|
+
- All available agents
|
|
134
|
+
- Current agent (marked with ★)
|
|
135
|
+
- Agent status and context usage
|
|
136
|
+
|
|
137
|
+
Tabs:
|
|
138
|
+
Agents List of all agents
|
|
139
|
+
Context Per-agent token usage
|
|
140
|
+
|
|
141
|
+
Switch agents by selecting one and pressing Enter.
|
|
142
|
+
Or use $ prefix in REPL: $arch, $pm, $qa, etc.
|
|
143
|
+
`.trim(),
|
|
144
|
+
},
|
|
145
|
+
];
|
|
146
|
+
// =============================================================================
|
|
147
|
+
// Combined Guide Entries
|
|
148
|
+
// =============================================================================
|
|
149
|
+
/**
|
|
150
|
+
* Build guide entries from shared content and guide-only entries.
|
|
151
|
+
*/
|
|
152
|
+
function buildGuideEntries() {
|
|
153
|
+
const entries = [...GUIDE_ONLY_ENTRIES];
|
|
154
|
+
// Convert shared content topics to guide entries
|
|
155
|
+
for (const topic of CONTENT_TOPICS) {
|
|
156
|
+
entries.push({
|
|
157
|
+
id: topic.id,
|
|
158
|
+
title: topic.title,
|
|
159
|
+
keywords: topic.keywords,
|
|
160
|
+
content: topicToPlainText(topic),
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
return entries;
|
|
164
|
+
}
|
|
165
|
+
export const guideEntries = buildGuideEntries();
|
|
166
|
+
// =============================================================================
|
|
167
|
+
// Search Functions
|
|
168
|
+
// =============================================================================
|
|
169
|
+
/**
|
|
170
|
+
* Search guide entries by keyword or topic.
|
|
171
|
+
*/
|
|
172
|
+
export function searchGuide(query) {
|
|
173
|
+
const q = query.toLowerCase().trim();
|
|
174
|
+
// Exact ID match
|
|
175
|
+
const exactMatch = guideEntries.find((e) => e.id === q);
|
|
176
|
+
if (exactMatch)
|
|
177
|
+
return [exactMatch];
|
|
178
|
+
// Command match (e.g., "/design" or "design")
|
|
179
|
+
const cmdQuery = q.startsWith('/') ? q : `/${q}`;
|
|
180
|
+
const cmdMatch = guideEntries.find((e) => e.keywords.includes(cmdQuery) || e.keywords.includes(q));
|
|
181
|
+
if (cmdMatch)
|
|
182
|
+
return [cmdMatch];
|
|
183
|
+
// Keyword search
|
|
184
|
+
const matches = guideEntries.filter((e) => e.keywords.some((k) => k.includes(q) || q.includes(k)) ||
|
|
185
|
+
e.title.toLowerCase().includes(q) ||
|
|
186
|
+
e.content.toLowerCase().includes(q));
|
|
187
|
+
return matches.slice(0, 3); // Return top 3 matches
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Get all available topics for listing.
|
|
191
|
+
*/
|
|
192
|
+
export function getGuideTopics() {
|
|
193
|
+
return guideEntries.map((e) => e.id);
|
|
194
|
+
}
|
|
195
|
+
// Re-export shared content helpers for use elsewhere
|
|
196
|
+
export { searchContentTopics, getAllTopicIds };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compilr Guide Module
|
|
3
|
+
*
|
|
4
|
+
* Provides documentation for the AI agent to answer user questions
|
|
5
|
+
* about how to use the CLI.
|
|
6
|
+
*/
|
|
7
|
+
export { searchGuide, getGuideTopics, guideEntries } from './guide-content.js';
|
|
8
|
+
export type { GuideEntry } from './guide-content.js';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Content - Single Source of Truth
|
|
3
|
+
*
|
|
4
|
+
* Raw text content used by both:
|
|
5
|
+
* - compilr_guide tool (for AI agent)
|
|
6
|
+
* - /tutorial overlay (for user)
|
|
7
|
+
*
|
|
8
|
+
* Content is stored as plain text with simple structure.
|
|
9
|
+
* Styling is applied at render time by each consumer.
|
|
10
|
+
*/
|
|
11
|
+
export interface ContentSection {
|
|
12
|
+
title?: string;
|
|
13
|
+
items: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface ContentTopic {
|
|
16
|
+
id: string;
|
|
17
|
+
title: string;
|
|
18
|
+
keywords: string[];
|
|
19
|
+
sections: ContentSection[];
|
|
20
|
+
}
|
|
21
|
+
export declare const CONTENT_TOPICS: ContentTopic[];
|
|
22
|
+
/**
|
|
23
|
+
* Find a content topic by ID.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getContentTopic(id: string): ContentTopic | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Find content topics by keyword.
|
|
28
|
+
*/
|
|
29
|
+
export declare function searchContentTopics(query: string): ContentTopic[];
|
|
30
|
+
/**
|
|
31
|
+
* Convert a content topic to plain text (for guide tool).
|
|
32
|
+
*/
|
|
33
|
+
export declare function topicToPlainText(topic: ContentTopic): string;
|
|
34
|
+
/**
|
|
35
|
+
* Get all topic IDs.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getAllTopicIds(): string[];
|