@compilr-dev/cli 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/LICENSE +108 -0
  2. package/README.md +237 -69
  3. package/dist/.tsbuildinfo.app +1 -0
  4. package/dist/.tsbuildinfo.data +1 -0
  5. package/dist/.tsbuildinfo.domain +1 -0
  6. package/dist/.tsbuildinfo.foundation +1 -0
  7. package/dist/agent.d.ts +61 -4
  8. package/dist/agent.js +241 -245
  9. package/dist/anchors/index.d.ts +1 -1
  10. package/dist/anchors/index.js +1 -1
  11. package/dist/anchors/project-anchors.d.ts +2 -2
  12. package/dist/anchors/project-anchors.js +1 -1
  13. package/dist/auth/api-client.d.ts +124 -0
  14. package/dist/auth/api-client.js +261 -0
  15. package/dist/auth/index.d.ts +172 -0
  16. package/dist/auth/index.js +545 -0
  17. package/dist/auth/storage.d.ts +52 -0
  18. package/dist/auth/storage.js +118 -0
  19. package/dist/changelog/index.d.ts +16 -0
  20. package/dist/changelog/index.js +24 -0
  21. package/dist/changelog/releases.d.ts +17 -0
  22. package/dist/changelog/releases.js +63 -0
  23. package/dist/commands-v2/handlers/auth.d.ts +10 -0
  24. package/dist/commands-v2/handlers/auth.js +118 -0
  25. package/dist/commands-v2/handlers/background.d.ts +14 -0
  26. package/dist/commands-v2/handlers/background.js +276 -0
  27. package/dist/commands-v2/handlers/context.js +286 -81
  28. package/dist/commands-v2/handlers/core.d.ts +1 -0
  29. package/dist/commands-v2/handlers/core.js +133 -8
  30. package/dist/commands-v2/handlers/debug.js +18 -0
  31. package/dist/commands-v2/handlers/delegations.d.ts +8 -0
  32. package/dist/commands-v2/handlers/delegations.js +29 -0
  33. package/dist/commands-v2/handlers/files.d.ts +8 -0
  34. package/dist/commands-v2/handlers/files.js +162 -0
  35. package/dist/commands-v2/handlers/filter.d.ts +9 -0
  36. package/dist/commands-v2/handlers/filter.js +130 -0
  37. package/dist/commands-v2/handlers/games.d.ts +7 -0
  38. package/dist/commands-v2/handlers/games.js +57 -0
  39. package/dist/commands-v2/handlers/index.d.ts +13 -0
  40. package/dist/commands-v2/handlers/index.js +39 -0
  41. package/dist/commands-v2/handlers/mcp.d.ts +8 -0
  42. package/dist/commands-v2/handlers/mcp.js +39 -0
  43. package/dist/commands-v2/handlers/notifications.d.ts +9 -0
  44. package/dist/commands-v2/handlers/notifications.js +34 -0
  45. package/dist/commands-v2/handlers/project.js +295 -31
  46. package/dist/commands-v2/handlers/reset.d.ts +11 -0
  47. package/dist/commands-v2/handlers/reset.js +118 -0
  48. package/dist/commands-v2/handlers/session.d.ts +161 -0
  49. package/dist/commands-v2/handlers/session.js +805 -0
  50. package/dist/commands-v2/handlers/settings.d.ts +2 -0
  51. package/dist/commands-v2/handlers/settings.js +217 -35
  52. package/dist/commands-v2/handlers/tasks.d.ts +5 -0
  53. package/dist/commands-v2/handlers/tasks.js +36 -0
  54. package/dist/commands-v2/handlers/team.d.ts +9 -0
  55. package/dist/commands-v2/handlers/team.js +549 -0
  56. package/dist/commands-v2/handlers/terminals.d.ts +9 -0
  57. package/dist/commands-v2/handlers/terminals.js +34 -0
  58. package/dist/commands-v2/index.d.ts +3 -2
  59. package/dist/commands-v2/index.js +4 -1
  60. package/dist/commands-v2/registry.d.ts +15 -0
  61. package/dist/commands-v2/registry.js +34 -0
  62. package/dist/commands-v2/types.d.ts +81 -3
  63. package/dist/commands.js +13 -0
  64. package/dist/compilr-diff-companion.vsix +0 -0
  65. package/dist/db/index.js +98 -4
  66. package/dist/db/repositories/document-repository.d.ts +2 -0
  67. package/dist/db/repositories/document-repository.js +6 -1
  68. package/dist/db/repositories/index.d.ts +2 -0
  69. package/dist/db/repositories/index.js +1 -0
  70. package/dist/db/repositories/plan-repository.d.ts +101 -0
  71. package/dist/db/repositories/plan-repository.js +275 -0
  72. package/dist/db/repositories/project-repository.d.ts +6 -0
  73. package/dist/db/repositories/project-repository.js +41 -0
  74. package/dist/db/repositories/work-item-repository.d.ts +15 -0
  75. package/dist/db/repositories/work-item-repository.js +69 -4
  76. package/dist/db/schema.d.ts +40 -3
  77. package/dist/db/schema.js +66 -3
  78. package/dist/episodes/index.d.ts +20 -0
  79. package/dist/episodes/index.js +27 -0
  80. package/dist/episodes/recorder.d.ts +51 -0
  81. package/dist/episodes/recorder.js +195 -0
  82. package/dist/episodes/significant-work.d.ts +21 -0
  83. package/dist/episodes/significant-work.js +56 -0
  84. package/dist/episodes/store.d.ts +38 -0
  85. package/dist/episodes/store.js +199 -0
  86. package/dist/episodes/types.d.ts +35 -0
  87. package/dist/episodes/types.js +6 -0
  88. package/dist/episodes/work-at-risk.d.ts +12 -0
  89. package/dist/episodes/work-at-risk.js +38 -0
  90. package/dist/episodes/work-summary-anchor.d.ts +23 -0
  91. package/dist/episodes/work-summary-anchor.js +73 -0
  92. package/dist/games/coins.d.ts +66 -0
  93. package/dist/games/coins.js +165 -0
  94. package/dist/games/game-base.d.ts +84 -0
  95. package/dist/games/game-base.js +204 -0
  96. package/dist/games/index.d.ts +16 -0
  97. package/dist/games/index.js +49 -0
  98. package/dist/games/scores.d.ts +69 -0
  99. package/dist/games/scores.js +191 -0
  100. package/dist/games/tetris/board.d.ts +59 -0
  101. package/dist/games/tetris/board.js +170 -0
  102. package/dist/games/tetris/index.d.ts +109 -0
  103. package/dist/games/tetris/index.js +610 -0
  104. package/dist/games/tetris/pieces.d.ts +44 -0
  105. package/dist/games/tetris/pieces.js +271 -0
  106. package/dist/games/tetris/renderer.d.ts +26 -0
  107. package/dist/games/tetris/renderer.js +77 -0
  108. package/dist/guide/guide-content.d.ts +23 -0
  109. package/dist/guide/guide-content.js +196 -0
  110. package/dist/guide/index.d.ts +8 -0
  111. package/dist/guide/index.js +7 -0
  112. package/dist/guide/shared-content.d.ts +37 -0
  113. package/dist/guide/shared-content.js +1272 -0
  114. package/dist/guide/tutorial-helpers.d.ts +57 -0
  115. package/dist/guide/tutorial-helpers.js +147 -0
  116. package/dist/handlers/ask-user-handlers.d.ts +32 -0
  117. package/dist/handlers/ask-user-handlers.js +104 -0
  118. package/dist/handlers/delegation-handlers.d.ts +34 -0
  119. package/dist/handlers/delegation-handlers.js +291 -0
  120. package/dist/handlers/permission-handler.d.ts +30 -0
  121. package/dist/handlers/permission-handler.js +205 -0
  122. package/dist/index.d.ts +11 -1
  123. package/dist/index.js +448 -271
  124. package/dist/input-handlers/memory-handler.d.ts +1 -1
  125. package/dist/input-handlers/memory-handler.js +2 -1
  126. package/dist/models/index.d.ts +10 -0
  127. package/dist/models/index.js +12 -0
  128. package/dist/models/model-registry.d.ts +38 -0
  129. package/dist/models/model-registry.js +69 -0
  130. package/dist/models/model-tiers.d.ts +28 -0
  131. package/dist/models/model-tiers.js +71 -0
  132. package/dist/models/model-validation.d.ts +25 -0
  133. package/dist/models/model-validation.js +291 -0
  134. package/dist/models/ollama-models.d.ts +73 -0
  135. package/dist/models/ollama-models.js +178 -0
  136. package/dist/models/provider-types.d.ts +6 -0
  137. package/dist/models/provider-types.js +1 -0
  138. package/dist/models/providers.d.ts +35 -0
  139. package/dist/models/providers.js +58 -0
  140. package/dist/models/types.d.ts +4 -0
  141. package/dist/models/types.js +4 -0
  142. package/dist/multi-agent/activity.d.ts +21 -0
  143. package/dist/multi-agent/activity.js +34 -0
  144. package/dist/multi-agent/agent-selection.d.ts +55 -0
  145. package/dist/multi-agent/agent-selection.js +90 -0
  146. package/dist/multi-agent/artifacts.d.ts +197 -0
  147. package/dist/multi-agent/artifacts.js +379 -0
  148. package/dist/multi-agent/checkpointer.d.ts +138 -0
  149. package/dist/multi-agent/checkpointer.js +471 -0
  150. package/dist/multi-agent/collision-utils.d.ts +16 -0
  151. package/dist/multi-agent/collision-utils.js +28 -0
  152. package/dist/multi-agent/context-resolver.d.ts +97 -0
  153. package/dist/multi-agent/context-resolver.js +316 -0
  154. package/dist/multi-agent/custom-agents.d.ts +83 -0
  155. package/dist/multi-agent/custom-agents.js +227 -0
  156. package/dist/multi-agent/delegation-tracker.d.ts +157 -0
  157. package/dist/multi-agent/delegation-tracker.js +243 -0
  158. package/dist/multi-agent/file-lock-hook.d.ts +29 -0
  159. package/dist/multi-agent/file-lock-hook.js +97 -0
  160. package/dist/multi-agent/file-locks.d.ts +58 -0
  161. package/dist/multi-agent/file-locks.js +194 -0
  162. package/dist/multi-agent/index.d.ts +24 -0
  163. package/dist/multi-agent/index.js +30 -0
  164. package/dist/multi-agent/mention-parser.d.ts +64 -0
  165. package/dist/multi-agent/mention-parser.js +146 -0
  166. package/dist/multi-agent/notification-manager.d.ts +84 -0
  167. package/dist/multi-agent/notification-manager.js +224 -0
  168. package/dist/multi-agent/pending-requests.d.ts +122 -0
  169. package/dist/multi-agent/pending-requests.js +155 -0
  170. package/dist/multi-agent/session-registry.d.ts +139 -0
  171. package/dist/multi-agent/session-registry.js +514 -0
  172. package/dist/multi-agent/shared-context.d.ts +293 -0
  173. package/dist/multi-agent/shared-context.js +671 -0
  174. package/dist/multi-agent/skill-requirements.d.ts +66 -0
  175. package/dist/multi-agent/skill-requirements.js +178 -0
  176. package/dist/multi-agent/task-assignment.d.ts +69 -0
  177. package/dist/multi-agent/task-assignment.js +123 -0
  178. package/dist/multi-agent/task-suggestion.d.ts +31 -0
  179. package/dist/multi-agent/task-suggestion.js +72 -0
  180. package/dist/multi-agent/team-agent.d.ts +201 -0
  181. package/dist/multi-agent/team-agent.js +488 -0
  182. package/dist/multi-agent/team.d.ts +286 -0
  183. package/dist/multi-agent/team.js +610 -0
  184. package/dist/multi-agent/tool-config.d.ts +110 -0
  185. package/dist/multi-agent/tool-config.js +661 -0
  186. package/dist/multi-agent/types.d.ts +211 -0
  187. package/dist/multi-agent/types.js +617 -0
  188. package/dist/prompts/plan-mode-prompt.d.ts +11 -0
  189. package/dist/prompts/plan-mode-prompt.js +95 -0
  190. package/dist/repl-helpers.js +5 -2
  191. package/dist/repl-v2.d.ts +401 -2
  192. package/dist/repl-v2.js +2588 -65
  193. package/dist/session/index.d.ts +6 -0
  194. package/dist/session/index.js +6 -0
  195. package/dist/session/project-session-manager.d.ts +158 -0
  196. package/dist/session/project-session-manager.js +650 -0
  197. package/dist/settings/index.d.ts +133 -13
  198. package/dist/settings/index.js +329 -24
  199. package/dist/settings/mcp-config.d.ts +76 -0
  200. package/dist/settings/mcp-config.js +143 -0
  201. package/dist/settings/paths.d.ts +4 -0
  202. package/dist/settings/paths.js +6 -0
  203. package/dist/shared-handlers.d.ts +62 -0
  204. package/dist/shared-handlers.js +48 -0
  205. package/dist/system-prompt/builder.d.ts +5 -0
  206. package/dist/system-prompt/builder.js +4 -0
  207. package/dist/system-prompt/index.d.ts +18 -0
  208. package/dist/system-prompt/index.js +18 -0
  209. package/dist/system-prompt/modules.d.ts +5 -0
  210. package/dist/system-prompt/modules.js +4 -0
  211. package/dist/tabbed-menu.js +2 -1
  212. package/dist/templates/compilr-md-import.d.ts +16 -0
  213. package/dist/templates/compilr-md-import.js +241 -0
  214. package/dist/templates/compilr-md.js +10 -61
  215. package/dist/templates/config-json.d.ts +1 -25
  216. package/dist/templates/index.d.ts +2 -0
  217. package/dist/templates/index.js +34 -73
  218. package/dist/tool-names.d.ts +113 -0
  219. package/dist/tool-names.js +239 -0
  220. package/dist/tools/ask-user-simple.d.ts +1 -1
  221. package/dist/tools/ask-user-simple.js +2 -1
  222. package/dist/tools/ask-user.d.ts +1 -1
  223. package/dist/tools/ask-user.js +2 -1
  224. package/dist/tools/backlog.d.ts +2 -2
  225. package/dist/tools/backlog.js +1 -1
  226. package/dist/tools/db-tools.d.ts +13 -61
  227. package/dist/tools/db-tools.js +12 -13
  228. package/dist/tools/delegate-background.d.ts +27 -0
  229. package/dist/tools/delegate-background.js +115 -0
  230. package/dist/tools/delegate.d.ts +22 -0
  231. package/dist/tools/delegate.js +97 -0
  232. package/dist/tools/delegation-status.d.ts +16 -0
  233. package/dist/tools/delegation-status.js +128 -0
  234. package/dist/tools/guide-tool.d.ts +12 -0
  235. package/dist/tools/guide-tool.js +59 -0
  236. package/dist/tools/handoff.d.ts +25 -0
  237. package/dist/tools/handoff.js +99 -0
  238. package/dist/tools/meta-tools.d.ts +26 -0
  239. package/dist/tools/meta-tools.js +47 -0
  240. package/dist/tools/platform-adapter.d.ts +35 -0
  241. package/dist/tools/platform-adapter.js +404 -0
  242. package/dist/tools/project-db.d.ts +5 -73
  243. package/dist/tools/project-db.js +5 -336
  244. package/dist/tools.d.ts +67 -2
  245. package/dist/tools.js +240 -48
  246. package/dist/ui/autocomplete-controller.d.ts +42 -0
  247. package/dist/ui/autocomplete-controller.js +384 -0
  248. package/dist/ui/base/index.d.ts +1 -1
  249. package/dist/ui/base/index.js +1 -1
  250. package/dist/ui/base/overlay-base-v2.d.ts +10 -0
  251. package/dist/ui/base/overlay-base-v2.js +14 -0
  252. package/dist/ui/base/render-utils.d.ts +19 -0
  253. package/dist/ui/base/render-utils.js +25 -0
  254. package/dist/ui/base/tabbed-list-overlay-v2.d.ts +16 -1
  255. package/dist/ui/base/tabbed-list-overlay-v2.js +19 -1
  256. package/dist/ui/constants/labels.d.ts +14 -0
  257. package/dist/ui/constants/labels.js +52 -0
  258. package/dist/ui/conversation-store.d.ts +55 -0
  259. package/dist/ui/conversation-store.js +107 -0
  260. package/dist/ui/conversation.js +11 -13
  261. package/dist/ui/diff.d.ts +7 -1
  262. package/dist/ui/diff.js +85 -48
  263. package/dist/ui/ephemeral.js +3 -9
  264. package/dist/ui/file-autocomplete.d.ts +24 -0
  265. package/dist/ui/file-autocomplete.js +56 -0
  266. package/dist/ui/footer-renderer.d.ts +69 -0
  267. package/dist/ui/footer-renderer.js +431 -0
  268. package/dist/ui/footer.d.ts +74 -7
  269. package/dist/ui/footer.js +173 -16
  270. package/dist/ui/input-controller.d.ts +51 -0
  271. package/dist/ui/input-controller.js +176 -0
  272. package/dist/ui/input-prompt.d.ts +19 -0
  273. package/dist/ui/input-prompt.js +206 -14
  274. package/dist/ui/keyboard-handler.d.ts +57 -0
  275. package/dist/ui/keyboard-handler.js +557 -0
  276. package/dist/ui/live-region-facade.d.ts +42 -0
  277. package/dist/ui/live-region-facade.js +205 -0
  278. package/dist/ui/live-region.d.ts +0 -4
  279. package/dist/ui/live-region.js +6 -14
  280. package/dist/ui/mascot/renderer.d.ts +1 -1
  281. package/dist/ui/mascot/renderer.js +37 -2
  282. package/dist/ui/overlay/data/tutorial-content.d.ts +9 -0
  283. package/dist/ui/overlay/data/tutorial-content.js +9 -0
  284. package/dist/ui/overlay/data/tutorial-registry.d.ts +12 -0
  285. package/dist/ui/overlay/data/tutorial-registry.js +116 -0
  286. package/dist/ui/overlay/data/tutorial-types.d.ts +35 -0
  287. package/dist/ui/overlay/data/tutorial-types.js +6 -0
  288. package/dist/ui/overlay/data/tutorials/basics/first-conversation.d.ts +7 -0
  289. package/dist/ui/overlay/data/tutorials/basics/first-conversation.js +220 -0
  290. package/dist/ui/overlay/data/tutorials/basics/first-project.d.ts +7 -0
  291. package/dist/ui/overlay/data/tutorials/basics/first-project.js +284 -0
  292. package/dist/ui/overlay/data/tutorials/basics/navigation.d.ts +8 -0
  293. package/dist/ui/overlay/data/tutorials/basics/navigation.js +22 -0
  294. package/dist/ui/overlay/data/tutorials/basics/welcome.d.ts +7 -0
  295. package/dist/ui/overlay/data/tutorials/basics/welcome.js +174 -0
  296. package/dist/ui/overlay/data/tutorials/config/context-management.d.ts +7 -0
  297. package/dist/ui/overlay/data/tutorials/config/context-management.js +158 -0
  298. package/dist/ui/overlay/data/tutorials/config/mcp-servers.d.ts +8 -0
  299. package/dist/ui/overlay/data/tutorials/config/mcp-servers.js +155 -0
  300. package/dist/ui/overlay/data/tutorials/config/model-selection.d.ts +7 -0
  301. package/dist/ui/overlay/data/tutorials/config/model-selection.js +162 -0
  302. package/dist/ui/overlay/data/tutorials/config/permissions-safety.d.ts +7 -0
  303. package/dist/ui/overlay/data/tutorials/config/permissions-safety.js +163 -0
  304. package/dist/ui/overlay/data/tutorials/config/settings-config.d.ts +7 -0
  305. package/dist/ui/overlay/data/tutorials/config/settings-config.js +166 -0
  306. package/dist/ui/overlay/data/tutorials/planning/arch.d.ts +7 -0
  307. package/dist/ui/overlay/data/tutorials/planning/arch.js +168 -0
  308. package/dist/ui/overlay/data/tutorials/planning/backlog.d.ts +7 -0
  309. package/dist/ui/overlay/data/tutorials/planning/backlog.js +103 -0
  310. package/dist/ui/overlay/data/tutorials/planning/build.d.ts +7 -0
  311. package/dist/ui/overlay/data/tutorials/planning/build.js +173 -0
  312. package/dist/ui/overlay/data/tutorials/planning/design.d.ts +7 -0
  313. package/dist/ui/overlay/data/tutorials/planning/design.js +205 -0
  314. package/dist/ui/overlay/data/tutorials/planning/docs.d.ts +7 -0
  315. package/dist/ui/overlay/data/tutorials/planning/docs.js +143 -0
  316. package/dist/ui/overlay/data/tutorials/planning/prd.d.ts +7 -0
  317. package/dist/ui/overlay/data/tutorials/planning/prd.js +173 -0
  318. package/dist/ui/overlay/data/tutorials/planning/scaffold.d.ts +7 -0
  319. package/dist/ui/overlay/data/tutorials/planning/scaffold.js +164 -0
  320. package/dist/ui/overlay/data/tutorials/planning/sketch.d.ts +7 -0
  321. package/dist/ui/overlay/data/tutorials/planning/sketch.js +58 -0
  322. package/dist/ui/overlay/data/tutorials/projects/anchors.d.ts +7 -0
  323. package/dist/ui/overlay/data/tutorials/projects/anchors.js +248 -0
  324. package/dist/ui/overlay/data/tutorials/projects/import-project.d.ts +7 -0
  325. package/dist/ui/overlay/data/tutorials/projects/import-project.js +172 -0
  326. package/dist/ui/overlay/data/tutorials/projects/managing-projects.d.ts +8 -0
  327. package/dist/ui/overlay/data/tutorials/projects/managing-projects.js +212 -0
  328. package/dist/ui/overlay/data/tutorials/projects/new-project.d.ts +7 -0
  329. package/dist/ui/overlay/data/tutorials/projects/new-project.js +251 -0
  330. package/dist/ui/overlay/data/tutorials/projects/session-management.d.ts +7 -0
  331. package/dist/ui/overlay/data/tutorials/projects/session-management.js +169 -0
  332. package/dist/ui/overlay/data/tutorials/teams/background-execution.d.ts +7 -0
  333. package/dist/ui/overlay/data/tutorials/teams/background-execution.js +171 -0
  334. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.d.ts +8 -0
  335. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.js +147 -0
  336. package/dist/ui/overlay/data/tutorials/teams/task-assignment.d.ts +7 -0
  337. package/dist/ui/overlay/data/tutorials/teams/task-assignment.js +204 -0
  338. package/dist/ui/overlay/data/tutorials/teams/team-overview.d.ts +7 -0
  339. package/dist/ui/overlay/data/tutorials/teams/team-overview.js +165 -0
  340. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.d.ts +7 -0
  341. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.js +172 -0
  342. package/dist/ui/overlay/impl/agents-overlay-v2.js +6 -17
  343. package/dist/ui/overlay/impl/anchors-overlay-v2.js +30 -64
  344. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.d.ts +43 -0
  345. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.js +232 -0
  346. package/dist/ui/overlay/impl/artifact-overlay-v2.d.ts +40 -0
  347. package/dist/ui/overlay/impl/artifact-overlay-v2.js +115 -0
  348. package/dist/ui/overlay/impl/ask-user-overlay-v2.js +2 -5
  349. package/dist/ui/overlay/impl/background-overlay-v2.d.ts +40 -0
  350. package/dist/ui/overlay/impl/background-overlay-v2.js +147 -0
  351. package/dist/ui/overlay/impl/backlog-overlay-v2.d.ts +4 -1
  352. package/dist/ui/overlay/impl/backlog-overlay-v2.js +55 -16
  353. package/dist/ui/overlay/impl/changelog-overlay-v2.d.ts +44 -0
  354. package/dist/ui/overlay/impl/changelog-overlay-v2.js +165 -0
  355. package/dist/ui/overlay/impl/commands-overlay-v2.js +4 -6
  356. package/dist/ui/overlay/impl/config-overlay-v2.d.ts +12 -1
  357. package/dist/ui/overlay/impl/config-overlay-v2.js +164 -100
  358. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.d.ts +83 -0
  359. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.js +711 -0
  360. package/dist/ui/overlay/impl/dashboard-overlay-v2.d.ts +2 -0
  361. package/dist/ui/overlay/impl/dashboard-overlay-v2.js +26 -3
  362. package/dist/ui/overlay/impl/delegations-overlay-v2.d.ts +28 -0
  363. package/dist/ui/overlay/impl/delegations-overlay-v2.js +279 -0
  364. package/dist/ui/overlay/impl/docs-overlay-v2.js +12 -9
  365. package/dist/ui/overlay/impl/document-detail-overlay-v2.d.ts +7 -0
  366. package/dist/ui/overlay/impl/document-detail-overlay-v2.js +119 -78
  367. package/dist/ui/overlay/impl/filter-overlay-v2.d.ts +41 -0
  368. package/dist/ui/overlay/impl/filter-overlay-v2.js +110 -0
  369. package/dist/ui/overlay/impl/games-overlay-v2.d.ts +31 -0
  370. package/dist/ui/overlay/impl/games-overlay-v2.js +135 -0
  371. package/dist/ui/overlay/impl/help-overlay-v2.d.ts +26 -3
  372. package/dist/ui/overlay/impl/help-overlay-v2.js +20 -42
  373. package/dist/ui/overlay/impl/login-overlay-v2.d.ts +49 -0
  374. package/dist/ui/overlay/impl/login-overlay-v2.js +277 -0
  375. package/dist/ui/overlay/impl/mcp-overlay-v2.d.ts +63 -0
  376. package/dist/ui/overlay/impl/mcp-overlay-v2.js +907 -0
  377. package/dist/ui/overlay/impl/model-overlay-v2.d.ts +57 -13
  378. package/dist/ui/overlay/impl/model-overlay-v2.js +1086 -61
  379. package/dist/ui/overlay/impl/new-overlay-v2.d.ts +37 -6
  380. package/dist/ui/overlay/impl/new-overlay-v2.js +715 -65
  381. package/dist/ui/overlay/impl/notifications-overlay-v2.d.ts +20 -0
  382. package/dist/ui/overlay/impl/notifications-overlay-v2.js +116 -0
  383. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.d.ts +76 -0
  384. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.js +728 -0
  385. package/dist/ui/overlay/impl/pending-overlay-v2.d.ts +51 -0
  386. package/dist/ui/overlay/impl/pending-overlay-v2.js +445 -0
  387. package/dist/ui/overlay/impl/permission-overlay-v2.js +5 -5
  388. package/dist/ui/overlay/impl/permissions-overlay-v2.d.ts +85 -0
  389. package/dist/ui/overlay/impl/permissions-overlay-v2.js +820 -0
  390. package/dist/ui/overlay/impl/plan-approval-overlay-v2.d.ts +35 -0
  391. package/dist/ui/overlay/impl/plan-approval-overlay-v2.js +181 -0
  392. package/dist/ui/overlay/impl/project-edit-overlay-v2.d.ts +36 -0
  393. package/dist/ui/overlay/impl/project-edit-overlay-v2.js +195 -0
  394. package/dist/ui/overlay/impl/projects-overlay-v2.d.ts +1 -0
  395. package/dist/ui/overlay/impl/projects-overlay-v2.js +278 -44
  396. package/dist/ui/overlay/impl/reset-overlay-v2.d.ts +39 -0
  397. package/dist/ui/overlay/impl/reset-overlay-v2.js +107 -0
  398. package/dist/ui/overlay/impl/resume-overlay-v2.d.ts +60 -0
  399. package/dist/ui/overlay/impl/resume-overlay-v2.js +414 -0
  400. package/dist/ui/overlay/impl/session-mode-overlay-v2.d.ts +43 -0
  401. package/dist/ui/overlay/impl/session-mode-overlay-v2.js +124 -0
  402. package/dist/ui/overlay/impl/tasks-overlay-v2.d.ts +28 -0
  403. package/dist/ui/overlay/impl/tasks-overlay-v2.js +283 -0
  404. package/dist/ui/overlay/impl/team-overlay-v2.d.ts +86 -0
  405. package/dist/ui/overlay/impl/team-overlay-v2.js +692 -0
  406. package/dist/ui/overlay/impl/terminals-overlay-v2.d.ts +26 -0
  407. package/dist/ui/overlay/impl/terminals-overlay-v2.js +217 -0
  408. package/dist/ui/overlay/impl/tools-overlay-v2.js +3 -7
  409. package/dist/ui/overlay/impl/tutorial-overlay-v2.d.ts +30 -16
  410. package/dist/ui/overlay/impl/tutorial-overlay-v2.js +133 -956
  411. package/dist/ui/overlay/impl/workflow-overlay-v2.d.ts +1 -0
  412. package/dist/ui/overlay/impl/workflow-overlay-v2.js +10 -4
  413. package/dist/ui/overlay/index.d.ts +20 -1
  414. package/dist/ui/overlay/index.js +19 -0
  415. package/dist/ui/overlay/types.d.ts +5 -0
  416. package/dist/ui/overlay-manager.d.ts +43 -0
  417. package/dist/ui/overlay-manager.js +238 -0
  418. package/dist/ui/overlays.js +4 -16
  419. package/dist/ui/permission-overlay.js +6 -5
  420. package/dist/ui/status-bar-controller.d.ts +33 -0
  421. package/dist/ui/status-bar-controller.js +99 -0
  422. package/dist/ui/subagent-renderer.js +3 -19
  423. package/dist/ui/terminal-autocomplete-utils.d.ts +23 -0
  424. package/dist/ui/terminal-autocomplete-utils.js +83 -0
  425. package/dist/ui/terminal-line-builders.d.ts +17 -0
  426. package/dist/ui/terminal-line-builders.js +42 -0
  427. package/dist/ui/terminal-render-item.d.ts +16 -0
  428. package/dist/ui/terminal-render-item.js +267 -0
  429. package/dist/ui/terminal-renderer.d.ts +7 -8
  430. package/dist/ui/terminal-renderer.js +7 -8
  431. package/dist/ui/terminal-types.d.ts +179 -0
  432. package/dist/ui/terminal-types.js +34 -0
  433. package/dist/ui/terminal-ui.d.ts +144 -276
  434. package/dist/ui/terminal-ui.js +384 -1861
  435. package/dist/ui/todo-zone.d.ts +19 -1
  436. package/dist/ui/todo-zone.js +71 -13
  437. package/dist/ui/tool-formatters.js +696 -1
  438. package/dist/ui/turn-metrics.d.ts +56 -0
  439. package/dist/ui/turn-metrics.js +75 -0
  440. package/dist/ui/types.d.ts +28 -0
  441. package/dist/ui/types.js +1 -0
  442. package/dist/ui/vscode-diff-ipc.d.ts +102 -0
  443. package/dist/ui/vscode-diff-ipc.js +385 -0
  444. package/dist/utils/credentials.d.ts +24 -5
  445. package/dist/utils/credentials.js +123 -9
  446. package/dist/utils/format-tokens.d.ts +13 -0
  447. package/dist/utils/format-tokens.js +18 -0
  448. package/dist/utils/git-config.d.ts +26 -0
  449. package/dist/utils/git-config.js +54 -0
  450. package/dist/utils/message-utils.d.ts +61 -0
  451. package/dist/utils/message-utils.js +72 -0
  452. package/dist/utils/model-tiers.d.ts +8 -1
  453. package/dist/utils/model-tiers.js +38 -16
  454. package/dist/utils/open-browser.d.ts +5 -0
  455. package/dist/utils/open-browser.js +32 -0
  456. package/dist/utils/path-safety.js +3 -2
  457. package/dist/utils/project-detection.d.ts +58 -0
  458. package/dist/utils/project-detection.js +424 -0
  459. package/dist/utils/project-memory.js +2 -1
  460. package/dist/utils/project-status.d.ts +2 -2
  461. package/dist/utils/startup-perf.d.ts +18 -0
  462. package/dist/utils/startup-perf.js +60 -0
  463. package/dist/utils/token-tracker.d.ts +62 -0
  464. package/dist/utils/token-tracker.js +150 -0
  465. package/dist/utils/token-types.d.ts +23 -0
  466. package/dist/utils/token-types.js +18 -0
  467. package/dist/utils/types/config-types.d.ts +32 -0
  468. package/dist/utils/types/config-types.js +8 -0
  469. package/dist/utils/update-checker.d.ts +28 -0
  470. package/dist/utils/update-checker.js +106 -0
  471. package/dist/utils/version.d.ts +7 -0
  472. package/dist/utils/version.js +10 -0
  473. package/dist/utils/vscode-detect.d.ts +39 -0
  474. package/dist/utils/vscode-detect.js +137 -0
  475. package/package.json +27 -13
  476. package/dist/commands/handler-types.d.ts +0 -68
  477. package/dist/commands/handler-types.js +0 -8
  478. package/dist/commands/handlers/agent-commands.d.ts +0 -13
  479. package/dist/commands/handlers/agent-commands.js +0 -305
  480. package/dist/commands/handlers/design-commands.d.ts +0 -15
  481. package/dist/commands/handlers/design-commands.js +0 -334
  482. package/dist/commands/handlers/index.d.ts +0 -20
  483. package/dist/commands/handlers/index.js +0 -43
  484. package/dist/commands/handlers/overlay-commands.d.ts +0 -21
  485. package/dist/commands/handlers/overlay-commands.js +0 -287
  486. package/dist/commands/handlers/project-commands.d.ts +0 -11
  487. package/dist/commands/handlers/project-commands.js +0 -167
  488. package/dist/commands/handlers/simple-commands.d.ts +0 -19
  489. package/dist/commands/handlers/simple-commands.js +0 -144
  490. package/dist/commands/registry.d.ts +0 -50
  491. package/dist/commands/registry.js +0 -75
  492. package/dist/index.old.d.ts +0 -7
  493. package/dist/index.old.js +0 -1014
  494. package/dist/repl.d.ts +0 -149
  495. package/dist/repl.js +0 -1151
  496. package/dist/templates/claude-md.d.ts +0 -7
  497. package/dist/templates/claude-md.js +0 -189
  498. package/dist/test-autocomplete.d.ts +0 -7
  499. package/dist/test-autocomplete.js +0 -85
  500. package/dist/test-tabbed-menu.d.ts +0 -7
  501. package/dist/test-tabbed-menu.js +0 -25
  502. package/dist/tool-selector.d.ts +0 -71
  503. package/dist/tool-selector.js +0 -184
  504. package/dist/tools/anchor-tools.d.ts +0 -31
  505. package/dist/tools/anchor-tools.js +0 -255
  506. package/dist/tools/backlog-wrappers.d.ts +0 -54
  507. package/dist/tools/backlog-wrappers.js +0 -338
  508. package/dist/tools/document-db.d.ts +0 -43
  509. package/dist/tools/document-db.js +0 -220
  510. package/dist/tools/workitem-db.d.ts +0 -103
  511. package/dist/tools/workitem-db.js +0 -549
  512. package/dist/ui/agents-overlay-v2.d.ts +0 -43
  513. package/dist/ui/agents-overlay-v2.js +0 -809
  514. package/dist/ui/agents-overlay.d.ts +0 -12
  515. package/dist/ui/agents-overlay.js +0 -863
  516. package/dist/ui/anchors-overlay.d.ts +0 -12
  517. package/dist/ui/anchors-overlay.js +0 -775
  518. package/dist/ui/arch-type-overlay.d.ts +0 -15
  519. package/dist/ui/arch-type-overlay.js +0 -201
  520. package/dist/ui/ask-user-overlay-v2.d.ts +0 -26
  521. package/dist/ui/ask-user-overlay-v2.js +0 -555
  522. package/dist/ui/ask-user-simple-overlay-v2.d.ts +0 -25
  523. package/dist/ui/ask-user-simple-overlay-v2.js +0 -215
  524. package/dist/ui/backlog-overlay.d.ts +0 -32
  525. package/dist/ui/backlog-overlay.js +0 -652
  526. package/dist/ui/commands-overlay-v2.d.ts +0 -33
  527. package/dist/ui/commands-overlay-v2.js +0 -441
  528. package/dist/ui/commands-overlay.d.ts +0 -16
  529. package/dist/ui/commands-overlay.js +0 -439
  530. package/dist/ui/config-overlay.d.ts +0 -35
  531. package/dist/ui/config-overlay.js +0 -707
  532. package/dist/ui/docs-overlay.d.ts +0 -17
  533. package/dist/ui/docs-overlay.js +0 -303
  534. package/dist/ui/footer-v2.d.ts +0 -222
  535. package/dist/ui/footer-v2.js +0 -1349
  536. package/dist/ui/help-overlay-v2.d.ts +0 -34
  537. package/dist/ui/help-overlay-v2.js +0 -309
  538. package/dist/ui/help-overlay.d.ts +0 -16
  539. package/dist/ui/help-overlay.js +0 -316
  540. package/dist/ui/init-overlay-v2.d.ts +0 -34
  541. package/dist/ui/init-overlay-v2.js +0 -600
  542. package/dist/ui/init-overlay.d.ts +0 -34
  543. package/dist/ui/init-overlay.js +0 -604
  544. package/dist/ui/input-prompt-v2.d.ts +0 -180
  545. package/dist/ui/input-prompt-v2.js +0 -999
  546. package/dist/ui/iteration-limit-overlay-v2.d.ts +0 -21
  547. package/dist/ui/iteration-limit-overlay-v2.js +0 -114
  548. package/dist/ui/keys-overlay-v2.d.ts +0 -41
  549. package/dist/ui/keys-overlay-v2.js +0 -248
  550. package/dist/ui/mascot-overlay-v2.d.ts +0 -41
  551. package/dist/ui/mascot-overlay-v2.js +0 -138
  552. package/dist/ui/mascot-overlay.d.ts +0 -21
  553. package/dist/ui/mascot-overlay.js +0 -146
  554. package/dist/ui/model-overlay-v2.d.ts +0 -49
  555. package/dist/ui/model-overlay-v2.js +0 -118
  556. package/dist/ui/model-overlay.d.ts +0 -27
  557. package/dist/ui/model-overlay.js +0 -221
  558. package/dist/ui/model-warning-overlay.d.ts +0 -30
  559. package/dist/ui/model-warning-overlay.js +0 -169
  560. package/dist/ui/new-overlay.d.ts +0 -34
  561. package/dist/ui/new-overlay.js +0 -604
  562. package/dist/ui/overlay/impl/init-overlay-v2.d.ts +0 -77
  563. package/dist/ui/overlay/impl/init-overlay-v2.js +0 -593
  564. package/dist/ui/overlay/overlay-types.d.ts +0 -128
  565. package/dist/ui/overlay/overlay-types.js +0 -22
  566. package/dist/ui/overlays/help-overlay-v2.d.ts +0 -28
  567. package/dist/ui/overlays/help-overlay-v2.js +0 -198
  568. package/dist/ui/overlays/index.d.ts +0 -11
  569. package/dist/ui/overlays/index.js +0 -11
  570. package/dist/ui/permission-overlay-v2.d.ts +0 -36
  571. package/dist/ui/permission-overlay-v2.js +0 -380
  572. package/dist/ui/projects-overlay.d.ts +0 -19
  573. package/dist/ui/projects-overlay.js +0 -484
  574. package/dist/ui/theme-overlay-v2.d.ts +0 -42
  575. package/dist/ui/theme-overlay-v2.js +0 -135
  576. package/dist/ui/theme-overlay.d.ts +0 -24
  577. package/dist/ui/theme-overlay.js +0 -127
  578. package/dist/ui/tools-overlay-v2.d.ts +0 -47
  579. package/dist/ui/tools-overlay-v2.js +0 -218
  580. package/dist/ui/tools-overlay.d.ts +0 -34
  581. package/dist/ui/tools-overlay.js +0 -230
  582. package/dist/ui/tutorial-overlay-v2.d.ts +0 -31
  583. package/dist/ui/tutorial-overlay-v2.js +0 -1035
  584. package/dist/ui/tutorial-overlay.d.ts +0 -11
  585. package/dist/ui/tutorial-overlay.js +0 -1034
  586. package/dist/ui/workflow-overlay.d.ts +0 -22
  587. package/dist/ui/workflow-overlay.js +0 -636
@@ -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,7 @@
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';
@@ -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[];