@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
@@ -1,7 +0,0 @@
1
- /**
2
- * CLAUDE.md Template Generator
3
- *
4
- * Generates the AI assistant context file.
5
- */
6
- import type { ProjectConfig } from './types.js';
7
- export declare function generateClaudeMd(config: ProjectConfig): string;
@@ -1,189 +0,0 @@
1
- /**
2
- * CLAUDE.md Template Generator
3
- *
4
- * Generates the AI assistant context file.
5
- */
6
- export function generateClaudeMd(config) {
7
- const techStackSection = generateTechStackSection(config);
8
- const codingStandardsSection = generateCodingStandardsSection(config);
9
- return `# CLAUDE.md
10
-
11
- This file provides guidance to AI coding assistants when working with this project.
12
-
13
- ---
14
-
15
- ## Project Overview
16
-
17
- **Project:** ${config.name}
18
- **Description:** ${config.description}
19
-
20
- ---
21
-
22
- ${techStackSection}
23
-
24
- ---
25
-
26
- ${codingStandardsSection}
27
-
28
- ---
29
-
30
- ## Project Structure
31
-
32
- ${config.repoPattern === 'single' ? generateSingleRepoStructure() : generateTwoRepoStructure(config.name)}
33
-
34
- ---
35
-
36
- ## Architecture Decisions
37
-
38
- Key architectural decisions are documented in:
39
- - ${config.repoPattern === 'single' ? '`.compilr/architecture/decisions/`' : '`02-architecture/decisions/`'}
40
-
41
- When making significant technical choices, create an ADR (Architecture Decision Record).
42
-
43
- ---
44
-
45
- ## Current Focus
46
-
47
- *Updated by session management - tracks current sprint/milestone*
48
-
49
- ---
50
-
51
- ## Key Files
52
-
53
- *Auto-populated based on usage - frequently referenced files appear here*
54
-
55
- ---
56
-
57
- ## Development Commands
58
-
59
- \`\`\`bash
60
- # Development
61
- npm run dev # Start development server
62
- npm run build # Production build
63
- npm run lint # Lint code
64
- npm run test # Run tests
65
-
66
- # Project workflow
67
- compilr start # Begin coding session with context
68
- compilr save # Save session progress
69
- compilr backlog # View/manage tasks
70
- \`\`\`
71
-
72
- ---
73
-
74
- ## Notes for AI Assistants
75
-
76
- 1. **Always read this file first** when starting a session
77
- 2. **Check the backlog** before starting new work
78
- 3. **Follow coding standards** defined in this project
79
- 4. **Document decisions** when making architectural choices
80
- 5. **Update session notes** at the end of each session
81
-
82
- ---
83
-
84
- *Last Updated: ${new Date().toISOString().split('T')[0]}*
85
- `;
86
- }
87
- function generateTechStackSection(config) {
88
- if (config.techStack === 'custom') {
89
- return `## Tech Stack
90
-
91
- *To be configured - update this section with your chosen technologies*
92
-
93
- | Component | Technology | Notes |
94
- |-----------|------------|-------|
95
- | Frontend | TBD | |
96
- | Backend | TBD | |
97
- | Database | TBD | |
98
- | Hosting | TBD | |`;
99
- }
100
- const stacks = {
101
- 'react-node-pg': `## Tech Stack
102
-
103
- | Component | Technology | Notes |
104
- |-----------|------------|-------|
105
- | Frontend | React 18 + Vite | TypeScript, modern React |
106
- | Backend | Node.js + Express | TypeScript, REST API |
107
- | Database | PostgreSQL | Relational, ACID compliant |
108
- | ORM | Prisma | Type-safe database access |`,
109
- 'react-python-pg': `## Tech Stack
110
-
111
- | Component | Technology | Notes |
112
- |-----------|------------|-------|
113
- | Frontend | React 18 + Vite | TypeScript, modern React |
114
- | Backend | Python + FastAPI | Async, auto-docs |
115
- | Database | PostgreSQL | Relational, ACID compliant |
116
- | ORM | SQLAlchemy | Python ORM |`,
117
- 'vue-node-pg': `## Tech Stack
118
-
119
- | Component | Technology | Notes |
120
- |-----------|------------|-------|
121
- | Frontend | Vue 3 + Vite | TypeScript, Composition API |
122
- | Backend | Node.js + Express | TypeScript, REST API |
123
- | Database | PostgreSQL | Relational, ACID compliant |
124
- | ORM | Prisma | Type-safe database access |`,
125
- };
126
- return stacks[config.techStack] ?? stacks['react-node-pg'];
127
- }
128
- function generateCodingStandardsSection(config) {
129
- if (config.codingStandards === 'custom') {
130
- return `## Coding Standards
131
-
132
- *To be configured - update this section with your coding standards*
133
-
134
- See ${config.repoPattern === 'single' ? '`.compilr/architecture/coding-standards.md`' : '`02-architecture/coding-standards.md`'} for details.`;
135
- }
136
- const standards = config.codingStandards === 'strict'
137
- ? `## Coding Standards
138
-
139
- **Preset:** TypeScript Strict
140
-
141
- - TypeScript strict mode enabled
142
- - ESLint + Prettier configured
143
- - Conventional commits required
144
- - No \`any\` types allowed
145
- - Explicit return types required
146
- - Comprehensive error handling
147
-
148
- See ${config.repoPattern === 'single' ? '`.compilr/architecture/coding-standards.md`' : '`02-architecture/coding-standards.md`'} for full details.`
149
- : `## Coding Standards
150
-
151
- **Preset:** TypeScript Relaxed
152
-
153
- - TypeScript with relaxed settings
154
- - ESLint + Prettier configured
155
- - Conventional commits encouraged
156
- - \`any\` types discouraged but allowed
157
- - Implicit return types allowed
158
-
159
- See ${config.repoPattern === 'single' ? '`.compilr/architecture/coding-standards.md`' : '`02-architecture/coding-standards.md`'} for full details.`;
160
- return standards;
161
- }
162
- function generateSingleRepoStructure() {
163
- return `\`\`\`
164
- {project}/
165
- ├── .compilr/ # Workflow files
166
- │ ├── backlog.md # Task tracking
167
- │ ├── architecture/ # ADRs, coding standards
168
- │ └── sessions/ # Session notes
169
- ├── src/ # Source code
170
- ├── CLAUDE.md # This file
171
- ├── package.json
172
- └── README.md
173
- \`\`\``;
174
- }
175
- function generateTwoRepoStructure(name) {
176
- return `\`\`\`
177
- ${name}/ # Code repository
178
- ├── src/
179
- ├── package.json
180
- └── README.md
181
-
182
- ${name}-docs/ # Documentation repository
183
- ├── .compilr/
184
- ├── CLAUDE.md # This file
185
- ├── 01-planning/ # Backlog, roadmap
186
- ├── 02-architecture/ # ADRs, standards
187
- └── 04-session-notes/ # Session history
188
- \`\`\``;
189
- }
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Test script for slash command autocomplete
4
- *
5
- * Run with: npx tsx src/test-autocomplete.ts
6
- */
7
- export {};
@@ -1,85 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Test script for slash command autocomplete
4
- *
5
- * Run with: npx tsx src/test-autocomplete.ts
6
- */
7
- import pc from 'picocolors';
8
- import { createInteractiveInput, SLASH_COMMANDS } from './slash-autocomplete.js';
9
- console.log(pc.bold(pc.cyan('Slash Command Autocomplete Test')));
10
- console.log(pc.dim('─'.repeat(40)));
11
- console.log('');
12
- console.log(pc.dim('Available commands:'));
13
- for (const cmd of SLASH_COMMANDS) {
14
- console.log(pc.dim(` ${cmd.name.padEnd(12)} ${cmd.description}`));
15
- }
16
- console.log('');
17
- console.log(pc.dim('Instructions:'));
18
- console.log(pc.dim(' • Type "/" to see autocomplete dropdown'));
19
- console.log(pc.dim(' • Use ↑↓ arrows to navigate'));
20
- console.log(pc.dim(' • Press Tab to autocomplete selected'));
21
- console.log(pc.dim(' • Press Enter to execute'));
22
- console.log(pc.dim(' • Press Esc to close dropdown'));
23
- console.log(pc.dim(' • Type "quit" to exit'));
24
- console.log('');
25
- const prompt = pc.bold(pc.blue('Test> '));
26
- const handleSubmit = (input) => {
27
- if (input.trim().toLowerCase() === 'quit') {
28
- console.log(pc.dim('Goodbye!'));
29
- inputHandler.stop();
30
- process.exit(0);
31
- }
32
- if (input.trim()) {
33
- console.log(pc.green('Received: ') + pc.cyan(input));
34
- // Handle the command
35
- if (input.startsWith('/')) {
36
- const cmd = input.slice(1).toLowerCase();
37
- switch (cmd) {
38
- case 'exit':
39
- case 'quit':
40
- case 'q':
41
- console.log(pc.dim('Goodbye!'));
42
- inputHandler.stop();
43
- process.exit(0);
44
- break;
45
- case 'help':
46
- case '?':
47
- console.log(pc.bold('\nAvailable commands:'));
48
- for (const c of SLASH_COMMANDS) {
49
- console.log(` ${pc.cyan(c.name.padEnd(12))} ${c.description}`);
50
- }
51
- break;
52
- case 'clear':
53
- console.log(pc.green('✓') + ' History cleared');
54
- break;
55
- case 'tools':
56
- console.log(pc.green('✓') + ' Would list tools here');
57
- break;
58
- case 'tokens':
59
- console.log(pc.green('✓') + ' Would show token usage here');
60
- break;
61
- case 'context':
62
- console.log(pc.green('✓') + ' Would show context info here');
63
- break;
64
- case 'compact':
65
- console.log(pc.green('✓') + ' Would compact context here');
66
- break;
67
- default:
68
- console.log(pc.yellow(`Unknown command: ${input}`));
69
- }
70
- }
71
- }
72
- console.log('');
73
- // Show prompt for next input (handler stays running)
74
- process.stdout.write(prompt);
75
- };
76
- // Don't show separator for test - simpler continuous REPL
77
- const inputHandler = createInteractiveInput(prompt, handleSubmit, false);
78
- // Handle Ctrl+C
79
- process.on('SIGINT', () => {
80
- console.log('\n' + pc.dim('Interrupted.'));
81
- inputHandler.stop();
82
- process.exit(0);
83
- });
84
- // Start
85
- inputHandler.start();
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Test script for tabbed help menu (Claude Code-style)
4
- *
5
- * Run with: npx tsx src/test-tabbed-menu.ts
6
- */
7
- export {};
@@ -1,25 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Test script for tabbed help menu (Claude Code-style)
4
- *
5
- * Run with: npx tsx src/test-tabbed-menu.ts
6
- */
7
- import { showHelpMenu } from './tabbed-menu.js';
8
- import pc from 'picocolors';
9
- console.log(pc.bold(pc.cyan('Tabbed Help Menu Test')));
10
- console.log(pc.dim('─'.repeat(40)));
11
- console.log('');
12
- console.log(pc.dim('This is some terminal history that should remain visible.'));
13
- console.log(pc.dim('The help menu will appear below without clearing this.'));
14
- console.log('');
15
- console.log(pc.dim('Instructions:'));
16
- console.log(pc.dim(' • Press Tab to cycle through tabs'));
17
- console.log(pc.dim(' • Press ↑/↓ to navigate commands list'));
18
- console.log(pc.dim(' • Press Esc to close the menu'));
19
- console.log('');
20
- // Show the help menu
21
- showHelpMenu().then(() => {
22
- console.log(pc.green('✓') + ' Help menu closed');
23
- console.log(pc.dim('Notice how the history above is preserved!'));
24
- process.exit(0);
25
- });
@@ -1,71 +0,0 @@
1
- /**
2
- * Tool Selector - Category-based tool filtering
3
- *
4
- * Reduces token usage by selecting only relevant tools based on user intent.
5
- * This is a PoC implementation to validate the approach before adding to the library.
6
- */
7
- import type { Tool } from '@compilr-dev/agents';
8
- /**
9
- * Tool categories for grouping related tools
10
- */
11
- export declare const TOOL_CATEGORIES: Record<string, string[]>;
12
- /**
13
- * Intent detection rules - maps keywords to relevant categories
14
- */
15
- export declare const INTENT_RULES: Array<{
16
- keywords: string[];
17
- categories: string[];
18
- }>;
19
- /**
20
- * Default tools to always include (core functionality)
21
- */
22
- export declare const CORE_TOOLS: string[];
23
- /**
24
- * Select relevant tool names based on user message intent
25
- */
26
- export declare function selectToolNamesByIntent(userMessage: string): string[];
27
- /**
28
- * Filter tools array to only include selected tool names
29
- */
30
- export declare function filterTools(allTools: Tool[], selectedNames: string[]): Tool[];
31
- /**
32
- * Get a human-readable summary of selected tools
33
- */
34
- export declare function getToolSelectionSummary(selectedNames: string[], totalTools: number): string;
35
- /**
36
- * Estimate token savings from tool filtering
37
- */
38
- export declare function estimateTokenSavings(selectedCount: number, totalCount: number, avgTokensPerTool?: number): {
39
- selected: number;
40
- total: number;
41
- saved: number;
42
- percentage: number;
43
- };
44
- /**
45
- * ToolSelector class for stateful tool selection
46
- */
47
- export declare class ToolSelector {
48
- private readonly allTools;
49
- private readonly toolsByName;
50
- constructor(tools: Tool[]);
51
- /**
52
- * Select tools based on user message
53
- */
54
- select(userMessage: string): Tool[];
55
- /**
56
- * Get tools by name
57
- */
58
- getToolsByNames(names: string[]): Tool[];
59
- /**
60
- * Get all tools
61
- */
62
- getAll(): Tool[];
63
- /**
64
- * Get tool count
65
- */
66
- get count(): number;
67
- /**
68
- * Get selection summary for a message
69
- */
70
- getSummary(userMessage: string): string;
71
- }
@@ -1,184 +0,0 @@
1
- /**
2
- * Tool Selector - Category-based tool filtering
3
- *
4
- * Reduces token usage by selecting only relevant tools based on user intent.
5
- * This is a PoC implementation to validate the approach before adding to the library.
6
- */
7
- /**
8
- * Tool categories for grouping related tools
9
- */
10
- export const TOOL_CATEGORIES = {
11
- file_ops: ['read_file', 'write_file', 'edit', 'glob'],
12
- shell: ['bash'],
13
- git: ['git_status', 'git_diff', 'git_log', 'git_commit', 'git_branch'],
14
- search: ['grep', 'glob'],
15
- project: ['detect_project', 'find_project_root', 'run_tests', 'run_lint'],
16
- task_mgmt: ['todo_write', 'todo_read'],
17
- delegation: ['task'],
18
- };
19
- /**
20
- * Intent detection rules - maps keywords to relevant categories
21
- */
22
- export const INTENT_RULES = [
23
- // Git operations
24
- {
25
- keywords: ['git', 'commit', 'branch', 'diff', 'status', 'log', 'push', 'pull'],
26
- categories: ['git'],
27
- },
28
- // Search operations
29
- {
30
- keywords: ['search', 'find', 'grep', 'look for', 'where is', 'locate'],
31
- categories: ['search', 'file_ops'],
32
- },
33
- // Shell/command operations
34
- {
35
- keywords: ['run', 'execute', 'command', 'shell', 'echo', 'npm', 'node'],
36
- categories: ['shell'],
37
- },
38
- // Project operations
39
- {
40
- keywords: ['test', 'lint', 'build', 'project', 'framework', 'type of'],
41
- categories: ['project', 'shell'],
42
- },
43
- // File operations
44
- {
45
- keywords: ['file', 'read', 'write', 'edit', 'create', 'modify', 'replace', 'content'],
46
- categories: ['file_ops'],
47
- },
48
- // Todo operations
49
- {
50
- keywords: ['todo', 'task', 'list', 'add item', 'show todos'],
51
- categories: ['task_mgmt'],
52
- },
53
- // Directory/file listing
54
- {
55
- keywords: ['list', 'files', 'directory', 'folder', 'typescript', '*.ts'],
56
- categories: ['file_ops', 'search'],
57
- },
58
- // Delegation / sub-agents
59
- {
60
- keywords: [
61
- 'explore',
62
- 'investigate',
63
- 'analyze',
64
- 'review code',
65
- 'code review',
66
- 'security audit',
67
- 'refactor',
68
- 'help me find',
69
- 'search the codebase',
70
- 'look through',
71
- 'scan for',
72
- 'debug',
73
- 'figure out',
74
- 'understand',
75
- 'complex task',
76
- 'multi-step',
77
- 'delegate',
78
- 'sub-agent',
79
- 'agent',
80
- ],
81
- categories: ['delegation', 'search', 'file_ops'],
82
- },
83
- ];
84
- /**
85
- * Default tools to always include (core functionality)
86
- */
87
- export const CORE_TOOLS = ['bash', 'read_file'];
88
- /**
89
- * Select relevant tool names based on user message intent
90
- */
91
- export function selectToolNamesByIntent(userMessage) {
92
- const message = userMessage.toLowerCase();
93
- const selectedCategories = new Set();
94
- // Match intent rules
95
- for (const rule of INTENT_RULES) {
96
- if (rule.keywords.some((kw) => message.includes(kw))) {
97
- rule.categories.forEach((cat) => selectedCategories.add(cat));
98
- }
99
- }
100
- // If no categories matched, use default
101
- if (selectedCategories.size === 0) {
102
- return [...CORE_TOOLS];
103
- }
104
- // Flatten categories to tool names
105
- const toolNames = new Set(CORE_TOOLS);
106
- for (const category of selectedCategories) {
107
- const tools = TOOL_CATEGORIES[category];
108
- // Always execute - tools is guaranteed to exist by categoryNames definition
109
- tools.forEach((t) => toolNames.add(t));
110
- }
111
- return Array.from(toolNames);
112
- }
113
- /**
114
- * Filter tools array to only include selected tool names
115
- */
116
- export function filterTools(allTools, selectedNames) {
117
- const nameSet = new Set(selectedNames);
118
- return allTools.filter((tool) => nameSet.has(tool.definition.name));
119
- }
120
- /**
121
- * Get a human-readable summary of selected tools
122
- */
123
- export function getToolSelectionSummary(selectedNames, totalTools) {
124
- const savings = Math.round((1 - selectedNames.length / totalTools) * 100);
125
- return `[Tools: ${String(selectedNames.length)}/${String(totalTools)} selected (${String(savings)}% reduction): ${selectedNames.join(', ')}]`;
126
- }
127
- /**
128
- * Estimate token savings from tool filtering
129
- */
130
- export function estimateTokenSavings(selectedCount, totalCount, avgTokensPerTool = 200) {
131
- const selected = selectedCount * avgTokensPerTool;
132
- const total = totalCount * avgTokensPerTool;
133
- const saved = total - selected;
134
- const percentage = Math.round((saved / total) * 100);
135
- return { selected, total, saved, percentage };
136
- }
137
- /**
138
- * ToolSelector class for stateful tool selection
139
- */
140
- export class ToolSelector {
141
- allTools;
142
- toolsByName;
143
- constructor(tools) {
144
- this.allTools = tools;
145
- this.toolsByName = new Map();
146
- for (const tool of tools) {
147
- this.toolsByName.set(tool.definition.name, tool);
148
- }
149
- }
150
- /**
151
- * Select tools based on user message
152
- */
153
- select(userMessage) {
154
- const names = selectToolNamesByIntent(userMessage);
155
- return this.getToolsByNames(names);
156
- }
157
- /**
158
- * Get tools by name
159
- */
160
- getToolsByNames(names) {
161
- return names
162
- .map((name) => this.toolsByName.get(name))
163
- .filter((tool) => tool !== undefined);
164
- }
165
- /**
166
- * Get all tools
167
- */
168
- getAll() {
169
- return this.allTools;
170
- }
171
- /**
172
- * Get tool count
173
- */
174
- get count() {
175
- return this.allTools.length;
176
- }
177
- /**
178
- * Get selection summary for a message
179
- */
180
- getSummary(userMessage) {
181
- const selected = selectToolNamesByIntent(userMessage);
182
- return getToolSelectionSummary(selected, this.allTools.length);
183
- }
184
- }
@@ -1,43 +0,0 @@
1
- /**
2
- * Agents Overlay V2
3
- *
4
- * Modal overlay for viewing and managing agent configurations.
5
- * Uses TabbedListOverlayV2 for consistent navigation patterns.
6
- *
7
- * Features:
8
- * - Built-in tab: Lists predefined agent types with detail view
9
- * - Custom tab: Lists user-defined agents with detail/edit + create new
10
- * - Wizard mode: Step-by-step agent creation
11
- */
12
- import { TabbedListOverlayV2, BaseScreen } from './base/index.js';
13
- import type { AgentLocation } from '../agents/types.js';
14
- export interface AgentsOverlayV2Result {
15
- /** Agent that was created (if any) */
16
- created?: string;
17
- /** Agent that was edited (if any) */
18
- edited?: string;
19
- /** Agent that was deleted (if any) */
20
- deleted?: string;
21
- }
22
- interface AgentItem {
23
- name: string;
24
- model: string;
25
- description: string;
26
- location?: AgentLocation;
27
- systemPrompt?: string;
28
- filePath?: string;
29
- isBuiltin: boolean;
30
- isCreateNew?: boolean;
31
- }
32
- /**
33
- * Agents overlay using TabbedListOverlayV2.
34
- * Displays agents in a searchable, tabbed list.
35
- */
36
- export declare class AgentsOverlayV2 extends TabbedListOverlayV2<AgentItem, AgentsOverlayV2Result> {
37
- readonly type: "inline";
38
- readonly id = "agents-overlay-v2";
39
- private readonly registry;
40
- constructor();
41
- protected createDetailScreen(item: AgentItem): BaseScreen | null;
42
- }
43
- export {};