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