@compilr-dev/cli 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (634) hide show
  1. package/README.md +254 -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 +134 -4
  7. package/dist/agent.js +345 -166
  8. package/dist/anchors/index.d.ts +9 -0
  9. package/dist/anchors/index.js +9 -0
  10. package/dist/anchors/project-anchors.d.ts +79 -0
  11. package/dist/anchors/project-anchors.js +202 -0
  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/index.d.ts +2 -1
  23. package/dist/commands-v2/handlers/auth.d.ts +10 -0
  24. package/dist/commands-v2/handlers/auth.js +118 -0
  25. package/dist/commands-v2/handlers/background.d.ts +14 -0
  26. package/dist/commands-v2/handlers/background.js +276 -0
  27. package/dist/commands-v2/handlers/context.d.ts +13 -0
  28. package/dist/commands-v2/handlers/context.js +533 -0
  29. package/dist/commands-v2/handlers/core.d.ts +14 -0
  30. package/dist/commands-v2/handlers/core.js +290 -0
  31. package/dist/commands-v2/handlers/debug.d.ts +11 -0
  32. package/dist/commands-v2/handlers/debug.js +177 -0
  33. package/dist/commands-v2/handlers/delegations.d.ts +8 -0
  34. package/dist/commands-v2/handlers/delegations.js +29 -0
  35. package/dist/commands-v2/handlers/files.d.ts +8 -0
  36. package/dist/commands-v2/handlers/files.js +162 -0
  37. package/dist/commands-v2/handlers/filter.d.ts +9 -0
  38. package/dist/commands-v2/handlers/filter.js +130 -0
  39. package/dist/commands-v2/handlers/games.d.ts +7 -0
  40. package/dist/commands-v2/handlers/games.js +57 -0
  41. package/dist/commands-v2/handlers/index.d.ts +25 -0
  42. package/dist/commands-v2/handlers/index.js +63 -0
  43. package/dist/commands-v2/handlers/mcp.d.ts +8 -0
  44. package/dist/commands-v2/handlers/mcp.js +39 -0
  45. package/dist/commands-v2/handlers/notifications.d.ts +9 -0
  46. package/dist/commands-v2/handlers/notifications.js +34 -0
  47. package/dist/commands-v2/handlers/project.d.ts +22 -0
  48. package/dist/commands-v2/handlers/project.js +1035 -0
  49. package/dist/commands-v2/handlers/reset.d.ts +11 -0
  50. package/dist/commands-v2/handlers/reset.js +118 -0
  51. package/dist/commands-v2/handlers/session.d.ts +161 -0
  52. package/dist/commands-v2/handlers/session.js +805 -0
  53. package/dist/commands-v2/handlers/settings.d.ts +17 -0
  54. package/dist/commands-v2/handlers/settings.js +417 -0
  55. package/dist/commands-v2/handlers/tasks.d.ts +5 -0
  56. package/dist/commands-v2/handlers/tasks.js +36 -0
  57. package/dist/commands-v2/handlers/team.d.ts +9 -0
  58. package/dist/commands-v2/handlers/team.js +549 -0
  59. package/dist/commands-v2/handlers/terminals.d.ts +9 -0
  60. package/dist/commands-v2/handlers/terminals.js +34 -0
  61. package/dist/commands-v2/index.d.ts +14 -0
  62. package/dist/commands-v2/index.js +18 -0
  63. package/dist/commands-v2/registry.d.ts +52 -0
  64. package/dist/commands-v2/registry.js +114 -0
  65. package/dist/commands-v2/types.d.ts +153 -0
  66. package/dist/commands-v2/types.js +7 -0
  67. package/dist/commands.js +123 -7
  68. package/dist/compilr-diff-companion.vsix +0 -0
  69. package/dist/db/index.js +98 -4
  70. package/dist/db/repositories/document-repository.d.ts +2 -0
  71. package/dist/db/repositories/document-repository.js +5 -1
  72. package/dist/db/repositories/index.d.ts +2 -0
  73. package/dist/db/repositories/index.js +1 -0
  74. package/dist/db/repositories/plan-repository.d.ts +101 -0
  75. package/dist/db/repositories/plan-repository.js +275 -0
  76. package/dist/db/repositories/project-repository.d.ts +6 -0
  77. package/dist/db/repositories/project-repository.js +41 -0
  78. package/dist/db/repositories/work-item-repository.d.ts +15 -0
  79. package/dist/db/repositories/work-item-repository.js +69 -4
  80. package/dist/db/schema.d.ts +40 -3
  81. package/dist/db/schema.js +66 -3
  82. package/dist/episodes/index.d.ts +20 -0
  83. package/dist/episodes/index.js +27 -0
  84. package/dist/episodes/recorder.d.ts +51 -0
  85. package/dist/episodes/recorder.js +195 -0
  86. package/dist/episodes/significant-work.d.ts +21 -0
  87. package/dist/episodes/significant-work.js +56 -0
  88. package/dist/episodes/store.d.ts +38 -0
  89. package/dist/episodes/store.js +199 -0
  90. package/dist/episodes/types.d.ts +35 -0
  91. package/dist/episodes/types.js +6 -0
  92. package/dist/episodes/work-at-risk.d.ts +12 -0
  93. package/dist/episodes/work-at-risk.js +38 -0
  94. package/dist/episodes/work-summary-anchor.d.ts +23 -0
  95. package/dist/episodes/work-summary-anchor.js +73 -0
  96. package/dist/games/coins.d.ts +66 -0
  97. package/dist/games/coins.js +165 -0
  98. package/dist/games/game-base.d.ts +84 -0
  99. package/dist/games/game-base.js +204 -0
  100. package/dist/games/index.d.ts +16 -0
  101. package/dist/games/index.js +49 -0
  102. package/dist/games/scores.d.ts +69 -0
  103. package/dist/games/scores.js +191 -0
  104. package/dist/games/tetris/board.d.ts +59 -0
  105. package/dist/games/tetris/board.js +170 -0
  106. package/dist/games/tetris/index.d.ts +109 -0
  107. package/dist/games/tetris/index.js +610 -0
  108. package/dist/games/tetris/pieces.d.ts +44 -0
  109. package/dist/games/tetris/pieces.js +271 -0
  110. package/dist/games/tetris/renderer.d.ts +26 -0
  111. package/dist/games/tetris/renderer.js +77 -0
  112. package/dist/guide/guide-content.d.ts +23 -0
  113. package/dist/guide/guide-content.js +196 -0
  114. package/dist/guide/index.d.ts +8 -0
  115. package/dist/guide/index.js +7 -0
  116. package/dist/guide/shared-content.d.ts +37 -0
  117. package/dist/guide/shared-content.js +1272 -0
  118. package/dist/guide/tutorial-helpers.d.ts +57 -0
  119. package/dist/guide/tutorial-helpers.js +147 -0
  120. package/dist/handlers/ask-user-handlers.d.ts +32 -0
  121. package/dist/handlers/ask-user-handlers.js +104 -0
  122. package/dist/handlers/delegation-handlers.d.ts +34 -0
  123. package/dist/handlers/delegation-handlers.js +291 -0
  124. package/dist/handlers/permission-handler.d.ts +30 -0
  125. package/dist/handlers/permission-handler.js +205 -0
  126. package/dist/index.d.ts +11 -1
  127. package/dist/index.js +615 -179
  128. package/dist/input-handlers/index.d.ts +7 -0
  129. package/dist/input-handlers/index.js +7 -0
  130. package/dist/input-handlers/memory-handler.d.ts +26 -0
  131. package/dist/input-handlers/memory-handler.js +69 -0
  132. package/dist/models/index.d.ts +10 -0
  133. package/dist/models/index.js +12 -0
  134. package/dist/models/model-registry.d.ts +38 -0
  135. package/dist/models/model-registry.js +69 -0
  136. package/dist/models/model-tiers.d.ts +28 -0
  137. package/dist/models/model-tiers.js +71 -0
  138. package/dist/models/model-validation.d.ts +25 -0
  139. package/dist/models/model-validation.js +291 -0
  140. package/dist/models/ollama-models.d.ts +73 -0
  141. package/dist/models/ollama-models.js +178 -0
  142. package/dist/models/provider-types.d.ts +6 -0
  143. package/dist/models/provider-types.js +1 -0
  144. package/dist/models/providers.d.ts +35 -0
  145. package/dist/models/providers.js +58 -0
  146. package/dist/models/types.d.ts +4 -0
  147. package/dist/models/types.js +4 -0
  148. package/dist/multi-agent/activity.d.ts +21 -0
  149. package/dist/multi-agent/activity.js +34 -0
  150. package/dist/multi-agent/agent-selection.d.ts +55 -0
  151. package/dist/multi-agent/agent-selection.js +90 -0
  152. package/dist/multi-agent/artifacts.d.ts +197 -0
  153. package/dist/multi-agent/artifacts.js +379 -0
  154. package/dist/multi-agent/checkpointer.d.ts +138 -0
  155. package/dist/multi-agent/checkpointer.js +471 -0
  156. package/dist/multi-agent/collision-utils.d.ts +16 -0
  157. package/dist/multi-agent/collision-utils.js +28 -0
  158. package/dist/multi-agent/context-resolver.d.ts +97 -0
  159. package/dist/multi-agent/context-resolver.js +316 -0
  160. package/dist/multi-agent/custom-agents.d.ts +83 -0
  161. package/dist/multi-agent/custom-agents.js +227 -0
  162. package/dist/multi-agent/delegation-tracker.d.ts +157 -0
  163. package/dist/multi-agent/delegation-tracker.js +243 -0
  164. package/dist/multi-agent/file-lock-hook.d.ts +29 -0
  165. package/dist/multi-agent/file-lock-hook.js +97 -0
  166. package/dist/multi-agent/file-locks.d.ts +58 -0
  167. package/dist/multi-agent/file-locks.js +194 -0
  168. package/dist/multi-agent/index.d.ts +24 -0
  169. package/dist/multi-agent/index.js +30 -0
  170. package/dist/multi-agent/mention-parser.d.ts +64 -0
  171. package/dist/multi-agent/mention-parser.js +146 -0
  172. package/dist/multi-agent/notification-manager.d.ts +84 -0
  173. package/dist/multi-agent/notification-manager.js +224 -0
  174. package/dist/multi-agent/pending-requests.d.ts +122 -0
  175. package/dist/multi-agent/pending-requests.js +155 -0
  176. package/dist/multi-agent/session-registry.d.ts +139 -0
  177. package/dist/multi-agent/session-registry.js +514 -0
  178. package/dist/multi-agent/shared-context.d.ts +293 -0
  179. package/dist/multi-agent/shared-context.js +671 -0
  180. package/dist/multi-agent/skill-requirements.d.ts +66 -0
  181. package/dist/multi-agent/skill-requirements.js +178 -0
  182. package/dist/multi-agent/task-assignment.d.ts +69 -0
  183. package/dist/multi-agent/task-assignment.js +123 -0
  184. package/dist/multi-agent/task-suggestion.d.ts +31 -0
  185. package/dist/multi-agent/task-suggestion.js +72 -0
  186. package/dist/multi-agent/team-agent.d.ts +201 -0
  187. package/dist/multi-agent/team-agent.js +488 -0
  188. package/dist/multi-agent/team.d.ts +286 -0
  189. package/dist/multi-agent/team.js +610 -0
  190. package/dist/multi-agent/tool-config.d.ts +110 -0
  191. package/dist/multi-agent/tool-config.js +661 -0
  192. package/dist/multi-agent/types.d.ts +211 -0
  193. package/dist/multi-agent/types.js +617 -0
  194. package/dist/prompts/plan-mode-prompt.d.ts +11 -0
  195. package/dist/prompts/plan-mode-prompt.js +95 -0
  196. package/dist/repl-helpers.d.ts +63 -0
  197. package/dist/repl-helpers.js +319 -0
  198. package/dist/repl-v2.d.ts +554 -0
  199. package/dist/repl-v2.js +3286 -0
  200. package/dist/session/index.d.ts +6 -0
  201. package/dist/session/index.js +6 -0
  202. package/dist/session/project-session-manager.d.ts +158 -0
  203. package/dist/session/project-session-manager.js +650 -0
  204. package/dist/settings/index.d.ts +156 -13
  205. package/dist/settings/index.js +377 -24
  206. package/dist/settings/mcp-config.d.ts +76 -0
  207. package/dist/settings/mcp-config.js +143 -0
  208. package/dist/settings/paths.d.ts +114 -0
  209. package/dist/settings/paths.js +270 -0
  210. package/dist/shared-handlers.d.ts +62 -0
  211. package/dist/shared-handlers.js +48 -0
  212. package/dist/system-prompt/builder.d.ts +5 -0
  213. package/dist/system-prompt/builder.js +4 -0
  214. package/dist/system-prompt/index.d.ts +18 -0
  215. package/dist/system-prompt/index.js +18 -0
  216. package/dist/system-prompt/modules.d.ts +5 -0
  217. package/dist/system-prompt/modules.js +4 -0
  218. package/dist/tabbed-menu.js +2 -1
  219. package/dist/templates/compilr-md-import.d.ts +16 -0
  220. package/dist/templates/compilr-md-import.js +241 -0
  221. package/dist/templates/compilr-md.js +10 -58
  222. package/dist/templates/config-json.d.ts +1 -25
  223. package/dist/templates/index.d.ts +2 -0
  224. package/dist/templates/index.js +35 -75
  225. package/dist/themes/colors.js +3 -1
  226. package/dist/themes/registry.d.ts +5 -36
  227. package/dist/themes/registry.js +11 -95
  228. package/dist/themes/types.d.ts +3 -38
  229. package/dist/themes/types.js +2 -2
  230. package/dist/tool-names.d.ts +108 -0
  231. package/dist/tool-names.js +227 -0
  232. package/dist/tools/anchor-tools.d.ts +31 -0
  233. package/dist/tools/anchor-tools.js +255 -0
  234. package/dist/tools/artifact-tools.d.ts +42 -0
  235. package/dist/tools/artifact-tools.js +328 -0
  236. package/dist/tools/ask-user-simple.d.ts +1 -1
  237. package/dist/tools/ask-user-simple.js +2 -1
  238. package/dist/tools/ask-user.d.ts +1 -1
  239. package/dist/tools/ask-user.js +2 -1
  240. package/dist/tools/backlog-wrappers.d.ts +56 -0
  241. package/dist/tools/backlog-wrappers.js +353 -0
  242. package/dist/tools/backlog.d.ts +2 -2
  243. package/dist/tools/backlog.js +2 -2
  244. package/dist/tools/db-tools.d.ts +12 -0
  245. package/dist/tools/db-tools.js +14 -0
  246. package/dist/tools/delegate-background.d.ts +27 -0
  247. package/dist/tools/delegate-background.js +115 -0
  248. package/dist/tools/delegate.d.ts +22 -0
  249. package/dist/tools/delegate.js +97 -0
  250. package/dist/tools/delegation-status.d.ts +16 -0
  251. package/dist/tools/delegation-status.js +128 -0
  252. package/dist/tools/document-db.d.ts +43 -0
  253. package/dist/tools/document-db.js +220 -0
  254. package/dist/tools/guide-tool.d.ts +12 -0
  255. package/dist/tools/guide-tool.js +59 -0
  256. package/dist/tools/handoff.d.ts +25 -0
  257. package/dist/tools/handoff.js +99 -0
  258. package/dist/tools/meta-tools.d.ts +26 -0
  259. package/dist/tools/meta-tools.js +47 -0
  260. package/dist/tools/plan-tools.d.ts +54 -0
  261. package/dist/tools/plan-tools.js +338 -0
  262. package/dist/tools/platform-adapter.d.ts +29 -0
  263. package/dist/tools/platform-adapter.js +394 -0
  264. package/dist/tools/project-db.d.ts +34 -0
  265. package/dist/tools/project-db.js +39 -0
  266. package/dist/tools/recall-work-tool.d.ts +18 -0
  267. package/dist/tools/recall-work-tool.js +82 -0
  268. package/dist/tools/workitem-db.d.ts +135 -0
  269. package/dist/tools/workitem-db.js +730 -0
  270. package/dist/tools.d.ts +67 -2
  271. package/dist/tools.js +238 -38
  272. package/dist/ui/ask-user-overlay.d.ts +2 -2
  273. package/dist/ui/ask-user-overlay.js +443 -535
  274. package/dist/ui/ask-user-simple-overlay.d.ts +2 -2
  275. package/dist/ui/ask-user-simple-overlay.js +182 -209
  276. package/dist/ui/autocomplete-controller.d.ts +42 -0
  277. package/dist/ui/autocomplete-controller.js +384 -0
  278. package/dist/ui/base/index.d.ts +26 -0
  279. package/dist/ui/base/index.js +33 -0
  280. package/dist/ui/base/inline-overlay-utils.d.ts +217 -0
  281. package/dist/ui/base/inline-overlay-utils.js +320 -0
  282. package/dist/ui/base/inline-overlay.d.ts +159 -0
  283. package/dist/ui/base/inline-overlay.js +257 -0
  284. package/dist/ui/base/key-utils.d.ts +15 -0
  285. package/dist/ui/base/key-utils.js +30 -0
  286. package/dist/ui/base/overlay-base-v2.d.ts +203 -0
  287. package/dist/ui/base/overlay-base-v2.js +260 -0
  288. package/dist/ui/base/overlay-base.d.ts +156 -0
  289. package/dist/ui/base/overlay-base.js +238 -0
  290. package/dist/ui/base/overlay-lifecycle.d.ts +65 -0
  291. package/dist/ui/base/overlay-lifecycle.js +159 -0
  292. package/dist/ui/base/overlay-types.d.ts +185 -0
  293. package/dist/ui/base/overlay-types.js +7 -0
  294. package/dist/ui/base/render-utils.d.ts +27 -0
  295. package/dist/ui/base/render-utils.js +36 -0
  296. package/dist/ui/base/screen-stack.d.ts +148 -0
  297. package/dist/ui/base/screen-stack.js +184 -0
  298. package/dist/ui/base/tabbed-list-overlay-v2.d.ts +118 -0
  299. package/dist/ui/base/tabbed-list-overlay-v2.js +335 -0
  300. package/dist/ui/base/tabbed-list-overlay.d.ts +153 -0
  301. package/dist/ui/base/tabbed-list-overlay.js +369 -0
  302. package/dist/ui/constants/labels.d.ts +14 -0
  303. package/dist/ui/constants/labels.js +51 -0
  304. package/dist/ui/conversation-store.d.ts +55 -0
  305. package/dist/ui/conversation-store.js +107 -0
  306. package/dist/ui/conversation.d.ts +75 -4
  307. package/dist/ui/conversation.js +376 -165
  308. package/dist/ui/diff.d.ts +7 -1
  309. package/dist/ui/diff.js +85 -48
  310. package/dist/ui/ephemeral.d.ts +1 -1
  311. package/dist/ui/ephemeral.js +4 -10
  312. package/dist/ui/features/index.d.ts +34 -0
  313. package/dist/ui/features/index.js +34 -0
  314. package/dist/ui/features/input-feature.d.ts +85 -0
  315. package/dist/ui/features/input-feature.js +238 -0
  316. package/dist/ui/features/list-feature.d.ts +155 -0
  317. package/dist/ui/features/list-feature.js +244 -0
  318. package/dist/ui/features/pagination-feature.d.ts +154 -0
  319. package/dist/ui/features/pagination-feature.js +238 -0
  320. package/dist/ui/features/search-feature.d.ts +148 -0
  321. package/dist/ui/features/search-feature.js +185 -0
  322. package/dist/ui/features/tab-feature.d.ts +194 -0
  323. package/dist/ui/features/tab-feature.js +307 -0
  324. package/dist/ui/file-autocomplete.d.ts +24 -0
  325. package/dist/ui/file-autocomplete.js +56 -0
  326. package/dist/ui/footer-renderer.d.ts +69 -0
  327. package/dist/ui/footer-renderer.js +431 -0
  328. package/dist/ui/footer.d.ts +181 -7
  329. package/dist/ui/footer.js +523 -74
  330. package/dist/ui/guardrail-overlay.d.ts +29 -0
  331. package/dist/ui/guardrail-overlay.js +145 -0
  332. package/dist/ui/index.d.ts +1 -1
  333. package/dist/ui/index.js +1 -3
  334. package/dist/ui/input-controller.d.ts +51 -0
  335. package/dist/ui/input-controller.js +176 -0
  336. package/dist/ui/input-prompt.d.ts +135 -33
  337. package/dist/ui/input-prompt.js +728 -337
  338. package/dist/ui/iteration-limit-overlay.d.ts +2 -2
  339. package/dist/ui/iteration-limit-overlay.js +92 -128
  340. package/dist/ui/keyboard-handler.d.ts +57 -0
  341. package/dist/ui/keyboard-handler.js +557 -0
  342. package/dist/ui/keys-overlay.d.ts +1 -0
  343. package/dist/ui/keys-overlay.js +203 -141
  344. package/dist/ui/line-utils.d.ts +88 -0
  345. package/dist/ui/line-utils.js +150 -0
  346. package/dist/ui/live-region-facade.d.ts +42 -0
  347. package/dist/ui/live-region-facade.js +205 -0
  348. package/dist/ui/live-region.d.ts +157 -0
  349. package/dist/ui/live-region.js +379 -0
  350. package/dist/ui/mascot/expressions.d.ts +32 -0
  351. package/dist/ui/mascot/expressions.js +213 -0
  352. package/dist/ui/mascot/index.d.ts +8 -0
  353. package/dist/ui/mascot/index.js +8 -0
  354. package/dist/ui/mascot/renderer.d.ts +19 -0
  355. package/dist/ui/mascot/renderer.js +132 -0
  356. package/dist/ui/overlay/data/tutorial-content.d.ts +9 -0
  357. package/dist/ui/overlay/data/tutorial-content.js +9 -0
  358. package/dist/ui/overlay/data/tutorial-registry.d.ts +12 -0
  359. package/dist/ui/overlay/data/tutorial-registry.js +116 -0
  360. package/dist/ui/overlay/data/tutorial-types.d.ts +35 -0
  361. package/dist/ui/overlay/data/tutorial-types.js +6 -0
  362. package/dist/ui/overlay/data/tutorials/basics/first-conversation.d.ts +7 -0
  363. package/dist/ui/overlay/data/tutorials/basics/first-conversation.js +220 -0
  364. package/dist/ui/overlay/data/tutorials/basics/first-project.d.ts +7 -0
  365. package/dist/ui/overlay/data/tutorials/basics/first-project.js +284 -0
  366. package/dist/ui/overlay/data/tutorials/basics/navigation.d.ts +8 -0
  367. package/dist/ui/overlay/data/tutorials/basics/navigation.js +22 -0
  368. package/dist/ui/overlay/data/tutorials/basics/welcome.d.ts +7 -0
  369. package/dist/ui/overlay/data/tutorials/basics/welcome.js +174 -0
  370. package/dist/ui/overlay/data/tutorials/config/context-management.d.ts +7 -0
  371. package/dist/ui/overlay/data/tutorials/config/context-management.js +158 -0
  372. package/dist/ui/overlay/data/tutorials/config/mcp-servers.d.ts +8 -0
  373. package/dist/ui/overlay/data/tutorials/config/mcp-servers.js +155 -0
  374. package/dist/ui/overlay/data/tutorials/config/model-selection.d.ts +7 -0
  375. package/dist/ui/overlay/data/tutorials/config/model-selection.js +162 -0
  376. package/dist/ui/overlay/data/tutorials/config/permissions-safety.d.ts +7 -0
  377. package/dist/ui/overlay/data/tutorials/config/permissions-safety.js +163 -0
  378. package/dist/ui/overlay/data/tutorials/config/settings-config.d.ts +7 -0
  379. package/dist/ui/overlay/data/tutorials/config/settings-config.js +166 -0
  380. package/dist/ui/overlay/data/tutorials/planning/arch.d.ts +7 -0
  381. package/dist/ui/overlay/data/tutorials/planning/arch.js +168 -0
  382. package/dist/ui/overlay/data/tutorials/planning/backlog.d.ts +7 -0
  383. package/dist/ui/overlay/data/tutorials/planning/backlog.js +103 -0
  384. package/dist/ui/overlay/data/tutorials/planning/build.d.ts +7 -0
  385. package/dist/ui/overlay/data/tutorials/planning/build.js +173 -0
  386. package/dist/ui/overlay/data/tutorials/planning/design.d.ts +7 -0
  387. package/dist/ui/overlay/data/tutorials/planning/design.js +205 -0
  388. package/dist/ui/overlay/data/tutorials/planning/docs.d.ts +7 -0
  389. package/dist/ui/overlay/data/tutorials/planning/docs.js +143 -0
  390. package/dist/ui/overlay/data/tutorials/planning/prd.d.ts +7 -0
  391. package/dist/ui/overlay/data/tutorials/planning/prd.js +173 -0
  392. package/dist/ui/overlay/data/tutorials/planning/scaffold.d.ts +7 -0
  393. package/dist/ui/overlay/data/tutorials/planning/scaffold.js +164 -0
  394. package/dist/ui/overlay/data/tutorials/planning/sketch.d.ts +7 -0
  395. package/dist/ui/overlay/data/tutorials/planning/sketch.js +58 -0
  396. package/dist/ui/overlay/data/tutorials/projects/anchors.d.ts +7 -0
  397. package/dist/ui/overlay/data/tutorials/projects/anchors.js +248 -0
  398. package/dist/ui/overlay/data/tutorials/projects/import-project.d.ts +7 -0
  399. package/dist/ui/overlay/data/tutorials/projects/import-project.js +172 -0
  400. package/dist/ui/overlay/data/tutorials/projects/managing-projects.d.ts +8 -0
  401. package/dist/ui/overlay/data/tutorials/projects/managing-projects.js +212 -0
  402. package/dist/ui/overlay/data/tutorials/projects/new-project.d.ts +7 -0
  403. package/dist/ui/overlay/data/tutorials/projects/new-project.js +251 -0
  404. package/dist/ui/overlay/data/tutorials/projects/session-management.d.ts +7 -0
  405. package/dist/ui/overlay/data/tutorials/projects/session-management.js +169 -0
  406. package/dist/ui/overlay/data/tutorials/teams/background-execution.d.ts +7 -0
  407. package/dist/ui/overlay/data/tutorials/teams/background-execution.js +171 -0
  408. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.d.ts +8 -0
  409. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.js +147 -0
  410. package/dist/ui/overlay/data/tutorials/teams/task-assignment.d.ts +7 -0
  411. package/dist/ui/overlay/data/tutorials/teams/task-assignment.js +204 -0
  412. package/dist/ui/overlay/data/tutorials/teams/team-overview.d.ts +7 -0
  413. package/dist/ui/overlay/data/tutorials/teams/team-overview.js +165 -0
  414. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.d.ts +7 -0
  415. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.js +172 -0
  416. package/dist/ui/overlay/impl/agents-overlay-v2.d.ts +45 -0
  417. package/dist/ui/overlay/impl/agents-overlay-v2.js +814 -0
  418. package/dist/ui/overlay/impl/anchors-overlay-v2.d.ts +47 -0
  419. package/dist/ui/overlay/impl/anchors-overlay-v2.js +749 -0
  420. package/dist/ui/overlay/impl/arch-type-overlay-v2.d.ts +37 -0
  421. package/dist/ui/overlay/impl/arch-type-overlay-v2.js +240 -0
  422. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.d.ts +43 -0
  423. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.js +232 -0
  424. package/dist/ui/overlay/impl/artifact-overlay-v2.d.ts +40 -0
  425. package/dist/ui/overlay/impl/artifact-overlay-v2.js +115 -0
  426. package/dist/ui/overlay/impl/ask-user-overlay-v2.d.ts +72 -0
  427. package/dist/ui/overlay/impl/ask-user-overlay-v2.js +581 -0
  428. package/dist/ui/overlay/impl/ask-user-simple-overlay-v2.d.ts +46 -0
  429. package/dist/ui/overlay/impl/ask-user-simple-overlay-v2.js +204 -0
  430. package/dist/ui/overlay/impl/background-overlay-v2.d.ts +40 -0
  431. package/dist/ui/overlay/impl/background-overlay-v2.js +147 -0
  432. package/dist/ui/overlay/impl/backlog-overlay-v2.d.ts +52 -0
  433. package/dist/ui/overlay/impl/backlog-overlay-v2.js +681 -0
  434. package/dist/ui/overlay/impl/changelog-overlay-v2.d.ts +44 -0
  435. package/dist/ui/overlay/impl/changelog-overlay-v2.js +165 -0
  436. package/dist/ui/overlay/impl/commands-overlay-v2.d.ts +33 -0
  437. package/dist/ui/overlay/impl/commands-overlay-v2.js +439 -0
  438. package/dist/ui/overlay/impl/config-overlay-v2.d.ts +111 -0
  439. package/dist/ui/overlay/impl/config-overlay-v2.js +718 -0
  440. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.d.ts +83 -0
  441. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.js +711 -0
  442. package/dist/ui/overlay/impl/dashboard-overlay-v2.d.ts +57 -0
  443. package/dist/ui/overlay/impl/dashboard-overlay-v2.js +382 -0
  444. package/dist/ui/overlay/impl/delegations-overlay-v2.d.ts +28 -0
  445. package/dist/ui/overlay/impl/delegations-overlay-v2.js +279 -0
  446. package/dist/ui/overlay/impl/docs-overlay-v2.d.ts +45 -0
  447. package/dist/ui/overlay/impl/docs-overlay-v2.js +117 -0
  448. package/dist/ui/overlay/impl/document-detail-overlay-v2.d.ts +84 -0
  449. package/dist/ui/overlay/impl/document-detail-overlay-v2.js +1112 -0
  450. package/dist/ui/overlay/impl/filter-overlay-v2.d.ts +41 -0
  451. package/dist/ui/overlay/impl/filter-overlay-v2.js +110 -0
  452. package/dist/ui/overlay/impl/games-overlay-v2.d.ts +31 -0
  453. package/dist/ui/overlay/impl/games-overlay-v2.js +135 -0
  454. package/dist/ui/overlay/impl/guardrail-overlay-v2.d.ts +43 -0
  455. package/dist/ui/overlay/impl/guardrail-overlay-v2.js +114 -0
  456. package/dist/ui/overlay/impl/help-overlay-v2.d.ts +57 -0
  457. package/dist/ui/overlay/impl/help-overlay-v2.js +287 -0
  458. package/dist/ui/overlay/impl/init-setup-overlay-v2.d.ts +25 -0
  459. package/dist/ui/overlay/impl/init-setup-overlay-v2.js +97 -0
  460. package/dist/ui/overlay/impl/iteration-limit-overlay-v2.d.ts +35 -0
  461. package/dist/ui/overlay/impl/iteration-limit-overlay-v2.js +105 -0
  462. package/dist/ui/overlay/impl/keys-overlay-v2.d.ts +41 -0
  463. package/dist/ui/overlay/impl/keys-overlay-v2.js +248 -0
  464. package/dist/ui/overlay/impl/login-overlay-v2.d.ts +49 -0
  465. package/dist/ui/overlay/impl/login-overlay-v2.js +277 -0
  466. package/dist/ui/overlay/impl/mascot-overlay-v2.d.ts +41 -0
  467. package/dist/ui/overlay/impl/mascot-overlay-v2.js +138 -0
  468. package/dist/ui/overlay/impl/mcp-overlay-v2.d.ts +63 -0
  469. package/dist/ui/overlay/impl/mcp-overlay-v2.js +907 -0
  470. package/dist/ui/overlay/impl/model-overlay-v2.d.ts +93 -0
  471. package/dist/ui/overlay/impl/model-overlay-v2.js +1143 -0
  472. package/dist/ui/overlay/impl/model-warning-overlay-v2.d.ts +46 -0
  473. package/dist/ui/overlay/impl/model-warning-overlay-v2.js +132 -0
  474. package/dist/ui/overlay/impl/new-overlay-v2.d.ts +108 -0
  475. package/dist/ui/overlay/impl/new-overlay-v2.js +1243 -0
  476. package/dist/ui/overlay/impl/notifications-overlay-v2.d.ts +20 -0
  477. package/dist/ui/overlay/impl/notifications-overlay-v2.js +116 -0
  478. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.d.ts +76 -0
  479. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.js +728 -0
  480. package/dist/ui/overlay/impl/pending-overlay-v2.d.ts +51 -0
  481. package/dist/ui/overlay/impl/pending-overlay-v2.js +445 -0
  482. package/dist/ui/overlay/impl/permission-overlay-v2.d.ts +36 -0
  483. package/dist/ui/overlay/impl/permission-overlay-v2.js +380 -0
  484. package/dist/ui/overlay/impl/permissions-overlay-v2.d.ts +85 -0
  485. package/dist/ui/overlay/impl/permissions-overlay-v2.js +820 -0
  486. package/dist/ui/overlay/impl/plan-approval-overlay-v2.d.ts +35 -0
  487. package/dist/ui/overlay/impl/plan-approval-overlay-v2.js +181 -0
  488. package/dist/ui/overlay/impl/project-edit-overlay-v2.d.ts +36 -0
  489. package/dist/ui/overlay/impl/project-edit-overlay-v2.js +195 -0
  490. package/dist/ui/overlay/impl/projects-overlay-v2.d.ts +37 -0
  491. package/dist/ui/overlay/impl/projects-overlay-v2.js +733 -0
  492. package/dist/ui/overlay/impl/reset-overlay-v2.d.ts +39 -0
  493. package/dist/ui/overlay/impl/reset-overlay-v2.js +107 -0
  494. package/dist/ui/overlay/impl/resume-overlay-v2.d.ts +60 -0
  495. package/dist/ui/overlay/impl/resume-overlay-v2.js +414 -0
  496. package/dist/ui/overlay/impl/session-mode-overlay-v2.d.ts +43 -0
  497. package/dist/ui/overlay/impl/session-mode-overlay-v2.js +124 -0
  498. package/dist/ui/overlay/impl/tasks-overlay-v2.d.ts +28 -0
  499. package/dist/ui/overlay/impl/tasks-overlay-v2.js +283 -0
  500. package/dist/ui/overlay/impl/team-overlay-v2.d.ts +86 -0
  501. package/dist/ui/overlay/impl/team-overlay-v2.js +692 -0
  502. package/dist/ui/overlay/impl/terminals-overlay-v2.d.ts +26 -0
  503. package/dist/ui/overlay/impl/terminals-overlay-v2.js +217 -0
  504. package/dist/ui/overlay/impl/theme-overlay-v2.d.ts +42 -0
  505. package/dist/ui/overlay/impl/theme-overlay-v2.js +135 -0
  506. package/dist/ui/overlay/impl/tools-overlay-v2.d.ts +47 -0
  507. package/dist/ui/overlay/impl/tools-overlay-v2.js +214 -0
  508. package/dist/ui/overlay/impl/tutorial-overlay-v2.d.ts +45 -0
  509. package/dist/ui/overlay/impl/tutorial-overlay-v2.js +212 -0
  510. package/dist/ui/overlay/impl/workflow-overlay-v2.d.ts +80 -0
  511. package/dist/ui/overlay/impl/workflow-overlay-v2.js +641 -0
  512. package/dist/ui/overlay/index.d.ts +52 -0
  513. package/dist/ui/overlay/index.js +54 -0
  514. package/dist/ui/overlay/key-utils.d.ts +6 -0
  515. package/dist/ui/overlay/key-utils.js +6 -0
  516. package/dist/ui/overlay/types.d.ts +140 -0
  517. package/dist/ui/overlay/types.js +22 -0
  518. package/dist/ui/overlay-manager.d.ts +43 -0
  519. package/dist/ui/overlay-manager.js +238 -0
  520. package/dist/ui/overlays.d.ts +0 -4
  521. package/dist/ui/overlays.js +4 -460
  522. package/dist/ui/permission-overlay.d.ts +1 -1
  523. package/dist/ui/permission-overlay.js +189 -300
  524. package/dist/ui/providers/types.d.ts +178 -0
  525. package/dist/ui/providers/types.js +9 -0
  526. package/dist/ui/render-modes.d.ts +36 -0
  527. package/dist/ui/render-modes.js +44 -0
  528. package/dist/ui/startup-menu.d.ts +36 -0
  529. package/dist/ui/startup-menu.js +236 -0
  530. package/dist/ui/status-bar-controller.d.ts +33 -0
  531. package/dist/ui/status-bar-controller.js +99 -0
  532. package/dist/ui/subagent-renderer.d.ts +117 -0
  533. package/dist/ui/subagent-renderer.js +318 -0
  534. package/dist/ui/terminal-autocomplete-utils.d.ts +23 -0
  535. package/dist/ui/terminal-autocomplete-utils.js +83 -0
  536. package/dist/ui/terminal-codes.d.ts +94 -0
  537. package/dist/ui/terminal-codes.js +124 -0
  538. package/dist/ui/terminal-line-builders.d.ts +17 -0
  539. package/dist/ui/terminal-line-builders.js +42 -0
  540. package/dist/ui/terminal-render-item.d.ts +16 -0
  541. package/dist/ui/terminal-render-item.js +267 -0
  542. package/dist/ui/terminal-renderer.d.ts +220 -0
  543. package/dist/ui/terminal-renderer.js +750 -0
  544. package/dist/ui/terminal-types.d.ts +179 -0
  545. package/dist/ui/terminal-types.js +34 -0
  546. package/dist/ui/terminal-ui.d.ts +331 -0
  547. package/dist/ui/terminal-ui.js +819 -0
  548. package/dist/ui/terminal.d.ts +20 -0
  549. package/dist/ui/terminal.js +72 -0
  550. package/dist/ui/todo-zone.d.ts +19 -1
  551. package/dist/ui/todo-zone.js +124 -38
  552. package/dist/ui/tool-formatters.d.ts +16 -0
  553. package/dist/ui/tool-formatters.js +1027 -0
  554. package/dist/ui/turn-metrics.d.ts +56 -0
  555. package/dist/ui/turn-metrics.js +75 -0
  556. package/dist/ui/types.d.ts +28 -0
  557. package/dist/ui/types.js +1 -0
  558. package/dist/ui/vscode-diff-ipc.d.ts +102 -0
  559. package/dist/ui/vscode-diff-ipc.js +385 -0
  560. package/dist/utils/credentials.d.ts +24 -5
  561. package/dist/utils/credentials.js +123 -9
  562. package/dist/utils/debug-log.d.ts +28 -0
  563. package/dist/utils/debug-log.js +57 -0
  564. package/dist/utils/format-tokens.d.ts +13 -0
  565. package/dist/utils/format-tokens.js +18 -0
  566. package/dist/utils/git-config.d.ts +26 -0
  567. package/dist/utils/git-config.js +54 -0
  568. package/dist/utils/message-utils.d.ts +61 -0
  569. package/dist/utils/message-utils.js +72 -0
  570. package/dist/utils/model-tiers.d.ts +8 -1
  571. package/dist/utils/model-tiers.js +39 -17
  572. package/dist/utils/open-browser.d.ts +5 -0
  573. package/dist/utils/open-browser.js +32 -0
  574. package/dist/utils/path-safety.d.ts +56 -0
  575. package/dist/utils/path-safety.js +240 -0
  576. package/dist/utils/project-detection.d.ts +58 -0
  577. package/dist/utils/project-detection.js +424 -0
  578. package/dist/utils/project-memory.js +2 -1
  579. package/dist/utils/project-status.d.ts +2 -2
  580. package/dist/utils/startup-perf.d.ts +18 -0
  581. package/dist/utils/startup-perf.js +60 -0
  582. package/dist/utils/token-tracker.d.ts +62 -0
  583. package/dist/utils/token-tracker.js +150 -0
  584. package/dist/utils/token-types.d.ts +23 -0
  585. package/dist/utils/token-types.js +18 -0
  586. package/dist/utils/types/config-types.d.ts +32 -0
  587. package/dist/utils/types/config-types.js +8 -0
  588. package/dist/utils/update-checker.d.ts +28 -0
  589. package/dist/utils/update-checker.js +106 -0
  590. package/dist/utils/version.d.ts +7 -0
  591. package/dist/utils/version.js +10 -0
  592. package/dist/utils/vscode-detect.d.ts +39 -0
  593. package/dist/utils/vscode-detect.js +137 -0
  594. package/dist/workflow/guided-mode-injector.d.ts +42 -0
  595. package/dist/workflow/guided-mode-injector.js +191 -0
  596. package/dist/workflow/index.d.ts +8 -0
  597. package/dist/workflow/index.js +8 -0
  598. package/dist/workflow/step-criteria.d.ts +62 -0
  599. package/dist/workflow/step-criteria.js +150 -0
  600. package/dist/workflow/step-tracker.d.ts +92 -0
  601. package/dist/workflow/step-tracker.js +141 -0
  602. package/package.json +32 -12
  603. package/dist/index.old.d.ts +0 -7
  604. package/dist/index.old.js +0 -1014
  605. package/dist/repl.d.ts +0 -121
  606. package/dist/repl.js +0 -1878
  607. package/dist/templates/claude-md.d.ts +0 -7
  608. package/dist/templates/claude-md.js +0 -189
  609. package/dist/test-autocomplete.d.ts +0 -7
  610. package/dist/test-autocomplete.js +0 -85
  611. package/dist/test-tabbed-menu.d.ts +0 -7
  612. package/dist/test-tabbed-menu.js +0 -25
  613. package/dist/tool-selector.d.ts +0 -71
  614. package/dist/tool-selector.js +0 -184
  615. package/dist/ui/agents-overlay.d.ts +0 -12
  616. package/dist/ui/agents-overlay.js +0 -501
  617. package/dist/ui/arch-type-overlay.d.ts +0 -20
  618. package/dist/ui/arch-type-overlay.js +0 -229
  619. package/dist/ui/backlog-overlay.d.ts +0 -17
  620. package/dist/ui/backlog-overlay.js +0 -786
  621. package/dist/ui/commands-overlay.d.ts +0 -11
  622. package/dist/ui/commands-overlay.js +0 -410
  623. package/dist/ui/config-overlay.d.ts +0 -34
  624. package/dist/ui/config-overlay.js +0 -977
  625. package/dist/ui/init-overlay.d.ts +0 -24
  626. package/dist/ui/init-overlay.js +0 -525
  627. package/dist/ui/input-prompt-v2.d.ts +0 -179
  628. package/dist/ui/input-prompt-v2.js +0 -991
  629. package/dist/ui/model-warning-overlay.d.ts +0 -30
  630. package/dist/ui/model-warning-overlay.js +0 -171
  631. package/dist/ui/tools-overlay.d.ts +0 -26
  632. package/dist/ui/tools-overlay.js +0 -278
  633. package/dist/ui/tutorial-overlay.d.ts +0 -10
  634. package/dist/ui/tutorial-overlay.js +0 -936
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Files Command for REPL V2
3
+ *
4
+ * Shows files tracked during the session (read, modified, referenced).
5
+ * Supports multi-agent teams: shows files per agent.
6
+ */
7
+ import pc from 'picocolors';
8
+ // =============================================================================
9
+ // Helpers
10
+ // =============================================================================
11
+ const TYPE_LABELS = {
12
+ read: pc.cyan('read'),
13
+ modified: pc.yellow('modified'),
14
+ referenced: pc.dim('referenced'),
15
+ };
16
+ const TYPE_ICONS = {
17
+ read: pc.cyan('R'),
18
+ modified: pc.yellow('M'),
19
+ referenced: pc.dim('~'),
20
+ };
21
+ function formatPath(filePath) {
22
+ const cwd = process.cwd();
23
+ if (filePath.startsWith(cwd + '/')) {
24
+ return filePath.slice(cwd.length + 1);
25
+ }
26
+ return filePath;
27
+ }
28
+ function formatFileEntry(access) {
29
+ const icon = TYPE_ICONS[access.type];
30
+ const displayPath = formatPath(access.path);
31
+ const parts = [` [${icon}] ${displayPath}`];
32
+ if (access.lineCount !== undefined) {
33
+ parts.push(pc.dim(` (${String(access.lineCount)} lines)`));
34
+ }
35
+ if ('content' in access && access.content !== undefined) {
36
+ parts.push(pc.dim(' [cached]'));
37
+ }
38
+ return parts.join('');
39
+ }
40
+ function printFilesForAgent(ctx, agent, label, typeFilter) {
41
+ const tracker = agent.getFileTracker();
42
+ if (!tracker || tracker.size === 0) {
43
+ ctx.ui.print({ type: 'info', message: `${label}: No tracked files` });
44
+ return;
45
+ }
46
+ const filterOpts = typeFilter ? { type: typeFilter } : undefined;
47
+ const accesses = tracker.getAccesses(filterOpts);
48
+ if (accesses.length === 0) {
49
+ ctx.ui.print({
50
+ type: 'info',
51
+ message: `${label}: No ${typeFilter ?? ''} files`,
52
+ });
53
+ return;
54
+ }
55
+ const stats = tracker.getStats();
56
+ const lines = [];
57
+ lines.push('');
58
+ lines.push(pc.bold(label));
59
+ lines.push(pc.dim(` ${String(stats.read)} read, ${String(stats.modified)} modified, ${String(stats.referenced)} referenced`));
60
+ lines.push('');
61
+ if (typeFilter) {
62
+ lines.push(` ${TYPE_LABELS[typeFilter]} files:`);
63
+ for (const access of accesses) {
64
+ lines.push(formatFileEntry(access));
65
+ }
66
+ }
67
+ else {
68
+ // Group by type: modified first, then read, then referenced
69
+ const modified = accesses.filter((a) => a.type === 'modified');
70
+ const read = accesses.filter((a) => a.type === 'read');
71
+ const referenced = accesses.filter((a) => a.type === 'referenced');
72
+ if (modified.length > 0) {
73
+ lines.push(` ${TYPE_LABELS.modified} (${String(modified.length)}):`);
74
+ for (const access of modified) {
75
+ lines.push(formatFileEntry(access));
76
+ }
77
+ lines.push('');
78
+ }
79
+ if (read.length > 0) {
80
+ lines.push(` ${TYPE_LABELS.read} (${String(read.length)}):`);
81
+ for (const access of read) {
82
+ lines.push(formatFileEntry(access));
83
+ }
84
+ lines.push('');
85
+ }
86
+ if (referenced.length > 0) {
87
+ lines.push(` ${TYPE_LABELS.referenced} (${String(referenced.length)}):`);
88
+ for (const access of referenced) {
89
+ lines.push(formatFileEntry(access));
90
+ }
91
+ }
92
+ }
93
+ ctx.ui.print({ type: 'raw-lines', lines });
94
+ }
95
+ // =============================================================================
96
+ // /files Command
97
+ // =============================================================================
98
+ const filesCommand = {
99
+ name: 'files',
100
+ description: 'Show tracked file accesses',
101
+ details: 'Display files read, modified, or referenced during this session. ' +
102
+ 'In multi-agent teams, shows files per agent.',
103
+ examples: [
104
+ { code: '/files', description: 'Show all tracked files' },
105
+ { code: '/files read', description: 'Show only files that were read' },
106
+ { code: '/files modified', description: 'Show only modified files' },
107
+ { code: '/files referenced', description: 'Show only referenced files' },
108
+ ],
109
+ execute(args, ctx) {
110
+ // Parse optional type filter
111
+ const trimmed = args.trim().toLowerCase();
112
+ let typeFilter;
113
+ if (trimmed === 'read' || trimmed === 'modified' || trimmed === 'referenced') {
114
+ typeFilter = trimmed;
115
+ }
116
+ else if (trimmed && trimmed !== '') {
117
+ ctx.ui.print({
118
+ type: 'warning',
119
+ message: `Unknown filter: "${trimmed}". Use: read, modified, referenced`,
120
+ });
121
+ return Promise.resolve(true);
122
+ }
123
+ // Collect all unique Agent instances (dedup by object identity)
124
+ const agentEntries = [];
125
+ const seen = new Set();
126
+ // Multi-agent: iterate all team agents
127
+ if (ctx.team) {
128
+ for (const teamAgent of ctx.team.getAll()) {
129
+ if (!teamAgent.agent)
130
+ continue;
131
+ seen.add(teamAgent.agent);
132
+ const label = teamAgent.id === 'default'
133
+ ? 'Lead Agent'
134
+ : `$${teamAgent.id} (${teamAgent.displayName})`;
135
+ agentEntries.push({ label, agent: teamAgent.agent });
136
+ }
137
+ }
138
+ // Always check ctx.agent too — it may differ from team entries
139
+ // (e.g., REPL's active agent reference diverged after reinitialization)
140
+ if (ctx.agent && !seen.has(ctx.agent)) {
141
+ const label = ctx.team ? 'Active Agent' : 'Tracked Files';
142
+ agentEntries.push({ label, agent: ctx.agent });
143
+ }
144
+ if (agentEntries.length === 0) {
145
+ ctx.ui.print({ type: 'warning', message: 'Agent not available' });
146
+ return Promise.resolve(true);
147
+ }
148
+ let anyTracked = false;
149
+ for (const entry of agentEntries) {
150
+ const tracker = entry.agent.getFileTracker();
151
+ if (!tracker || tracker.size === 0)
152
+ continue;
153
+ anyTracked = true;
154
+ printFilesForAgent(ctx, entry.agent, entry.label, typeFilter);
155
+ }
156
+ if (!anyTracked) {
157
+ ctx.ui.print({ type: 'info', message: 'No tracked files' });
158
+ }
159
+ return Promise.resolve(true);
160
+ },
161
+ };
162
+ export const filesCommands = [filesCommand];
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Conversation Filter Command Handler
3
+ *
4
+ * Filters the conversation display to show only specific agents.
5
+ * The filter is display-only - full history is preserved.
6
+ */
7
+ import type { CommandHandlerV2 } from '../types.js';
8
+ export declare const filterCommand: CommandHandlerV2;
9
+ export declare const filterCommands: CommandHandlerV2[];
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Conversation Filter Command Handler
3
+ *
4
+ * Filters the conversation display to show only specific agents.
5
+ * The filter is display-only - full history is preserved.
6
+ */
7
+ import { FilterOverlayV2 } from '../../ui/overlay/impl/filter-overlay-v2.js';
8
+ // =============================================================================
9
+ // Filter Command
10
+ // =============================================================================
11
+ export const filterCommand = {
12
+ name: 'filter',
13
+ aliases: ['f'],
14
+ description: 'Filter conversation to show only specific agents',
15
+ details: 'Shows only messages from selected agents. The filter is display-only - full history is preserved. Use /filter --clear or /f to show all messages again.',
16
+ examples: [
17
+ { code: '/filter', description: 'Open filter overlay' },
18
+ { code: '/f', description: 'Open filter overlay (alias)' },
19
+ { code: '/filter $arch', description: 'Show only $arch messages' },
20
+ { code: '/filter $arch $dev', description: 'Show $arch and $dev messages' },
21
+ { code: '/filter --clear', description: 'Clear filter, show all messages' },
22
+ ],
23
+ interactions: [
24
+ 'Space to toggle agent selection',
25
+ 'a to select all agents',
26
+ 'n to deselect all agents',
27
+ 'Enter to apply filter',
28
+ 'Esc to cancel',
29
+ ],
30
+ async execute(args, ctx) {
31
+ // Handle --clear flag
32
+ if (args.trim() === '--clear') {
33
+ ctx.ui.clearConversationFilter();
34
+ ctx.ui.print({
35
+ type: 'info',
36
+ message: 'Conversation filter cleared - showing all messages',
37
+ });
38
+ return true;
39
+ }
40
+ // Handle quick filter with agent names: /filter $arch $dev
41
+ const agentArgs = args.trim();
42
+ if (agentArgs) {
43
+ // Parse agent IDs from args (e.g., "$arch $dev" or "arch dev")
44
+ const agentIds = agentArgs
45
+ .split(/\s+/)
46
+ .map(arg => arg.replace(/^\$/, '').toLowerCase())
47
+ .filter(id => id.length > 0);
48
+ if (agentIds.length > 0) {
49
+ // Validate agent IDs exist in team
50
+ if (ctx.team) {
51
+ const validIds = agentIds.filter(id => ctx.team?.has(id));
52
+ const invalidIds = agentIds.filter(id => !ctx.team?.has(id));
53
+ if (invalidIds.length > 0) {
54
+ ctx.ui.print({
55
+ type: 'warning',
56
+ message: `Unknown agents: ${invalidIds.map(id => `$${id}`).join(', ')}`,
57
+ });
58
+ }
59
+ if (validIds.length > 0) {
60
+ ctx.ui.setConversationFilter(validIds);
61
+ ctx.ui.print({
62
+ type: 'info',
63
+ message: `Filtering to: ${validIds.map(id => `$${id}`).join(', ')}`,
64
+ });
65
+ return true;
66
+ }
67
+ }
68
+ else {
69
+ // No team, just apply filter
70
+ ctx.ui.setConversationFilter(agentIds);
71
+ ctx.ui.print({
72
+ type: 'info',
73
+ message: `Filtering to: ${agentIds.map(id => `$${id}`).join(', ')}`,
74
+ });
75
+ return true;
76
+ }
77
+ }
78
+ }
79
+ // No args - show overlay
80
+ if (!ctx.team) {
81
+ ctx.ui.print({
82
+ type: 'warning',
83
+ message: 'No team agents available. Use /filter $agent to filter manually.',
84
+ });
85
+ return true;
86
+ }
87
+ // Get current filter state
88
+ const currentFilter = ctx.ui.getConversationFilter();
89
+ // Get all agent IDs from team
90
+ const allAgents = ctx.team.getAgentIds().map(id => {
91
+ const agent = ctx.team?.get(id);
92
+ return {
93
+ id,
94
+ displayName: agent?.displayName ?? id,
95
+ mascot: agent?.mascot ?? '[•_•]',
96
+ selected: currentFilter.isActive ? currentFilter.agentIds.includes(id) : true,
97
+ };
98
+ });
99
+ // Show overlay
100
+ const overlay = new FilterOverlayV2({
101
+ agents: allAgents,
102
+ currentFilter: currentFilter.agentIds,
103
+ });
104
+ const result = await ctx.ui.showOverlay(overlay);
105
+ if (result && result.type === 'apply') {
106
+ if (result.agentIds.length === 0 || result.agentIds.length === allAgents.length) {
107
+ // All or none selected = clear filter
108
+ ctx.ui.clearConversationFilter();
109
+ ctx.ui.print({
110
+ type: 'info',
111
+ message: 'Conversation filter cleared - showing all messages',
112
+ });
113
+ }
114
+ else {
115
+ ctx.ui.setConversationFilter(result.agentIds);
116
+ ctx.ui.print({
117
+ type: 'info',
118
+ message: `Filtering to: ${result.agentIds.map(id => `$${id}`).join(', ')}`,
119
+ });
120
+ }
121
+ }
122
+ return true;
123
+ },
124
+ };
125
+ // =============================================================================
126
+ // Export
127
+ // =============================================================================
128
+ export const filterCommands = [
129
+ filterCommand,
130
+ ];
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Games Command Handler
3
+ *
4
+ * Hidden easter egg - terminal arcade games!
5
+ */
6
+ import type { CommandHandlerV2 } from '../types.js';
7
+ export declare const gamesCommand: CommandHandlerV2;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Games Command Handler
3
+ *
4
+ * Hidden easter egg - terminal arcade games!
5
+ */
6
+ import { GamesOverlayV2 } from '../../ui/overlay/index.js';
7
+ import { checkDailyBonus } from '../../games/index.js';
8
+ // =============================================================================
9
+ // Games Command
10
+ // =============================================================================
11
+ export const gamesCommand = {
12
+ name: 'games',
13
+ aliases: ['arcade', 'play'],
14
+ description: 'Open the arcade',
15
+ details: 'Hidden easter egg! Play classic arcade games. Earn coins by being productive with the CLI.',
16
+ examples: [
17
+ { code: '/games', description: 'Open the arcade menu' },
18
+ { code: '/arcade', description: 'Alias' },
19
+ ],
20
+ interactions: [
21
+ '↑/↓ to select a game',
22
+ 'Enter to play (costs 1 coin)',
23
+ 'Q to exit',
24
+ ],
25
+ // Note: Easter egg - could add hidden flag to CommandHandlerV2 if needed
26
+ async execute(_args, ctx) {
27
+ // Check for daily bonus (only on first open)
28
+ let gotDailyBonus = checkDailyBonus();
29
+ let keepPlaying = true;
30
+ // Loop: show arcade, play game, return to arcade
31
+ while (keepPlaying) {
32
+ // Show overlay (displays coins, bonus notification, and game selection)
33
+ const overlay = new GamesOverlayV2({ gotDailyBonus });
34
+ const result = await ctx.ui.showOverlay(overlay);
35
+ // Clear daily bonus notification after first display
36
+ gotDailyBonus = false;
37
+ if (result?.action === 'play' && result.game) {
38
+ // Pause the UI completely - game will take over stdin
39
+ ctx.ui.pauseAnimation();
40
+ try {
41
+ // Play the game (runs in alternate screen with its own input handling)
42
+ await result.game.play();
43
+ }
44
+ finally {
45
+ // Resume UI input handling
46
+ ctx.ui.resumeAnimation();
47
+ }
48
+ // After game ends, loop back to show arcade again
49
+ }
50
+ else {
51
+ // User closed arcade (pressed Q or Escape)
52
+ keepPlaying = false;
53
+ }
54
+ }
55
+ return true;
56
+ },
57
+ };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Command Handlers Index for REPL V2
3
+ *
4
+ * Re-exports all handler modules and provides allCommands array.
5
+ */
6
+ import type { CommandHandlerV2 } from '../types.js';
7
+ export * from './core.js';
8
+ export * from './settings.js';
9
+ export * from './context.js';
10
+ export * from './project.js';
11
+ export * from './debug.js';
12
+ export * from './session.js';
13
+ export * from './reset.js';
14
+ export * from './team.js';
15
+ export * from './games.js';
16
+ export * from './tasks.js';
17
+ export * from './background.js';
18
+ export * from './filter.js';
19
+ export * from './auth.js';
20
+ export * from './files.js';
21
+ export * from './terminals.js';
22
+ export * from './notifications.js';
23
+ export * from './mcp.js';
24
+ export * from './delegations.js';
25
+ export declare const allCommands: CommandHandlerV2[];
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Command Handlers Index for REPL V2
3
+ *
4
+ * Re-exports all handler modules and provides allCommands array.
5
+ */
6
+ import { coreCommands } from './core.js';
7
+ import { settingsCommands } from './settings.js';
8
+ import { contextCommands } from './context.js';
9
+ import { projectCommands } from './project.js';
10
+ import { debugCommands } from './debug.js';
11
+ import { sessionCommands } from './session.js';
12
+ import { resetCommands } from './reset.js';
13
+ import { teamCommands } from './team.js';
14
+ import { gamesCommand } from './games.js';
15
+ import { tasksCommand } from './tasks.js';
16
+ import { backgroundCommands } from './background.js';
17
+ import { filterCommands } from './filter.js';
18
+ import { authCommands } from './auth.js';
19
+ import { filesCommands } from './files.js';
20
+ import { terminalsCommands } from './terminals.js';
21
+ import { notificationsCommands } from './notifications.js';
22
+ import { mcpCommands } from './mcp.js';
23
+ import { delegationsCommands } from './delegations.js';
24
+ // Re-export individual modules
25
+ export * from './core.js';
26
+ export * from './settings.js';
27
+ export * from './context.js';
28
+ export * from './project.js';
29
+ export * from './debug.js';
30
+ export * from './session.js';
31
+ export * from './reset.js';
32
+ export * from './team.js';
33
+ export * from './games.js';
34
+ export * from './tasks.js';
35
+ export * from './background.js';
36
+ export * from './filter.js';
37
+ export * from './auth.js';
38
+ export * from './files.js';
39
+ export * from './terminals.js';
40
+ export * from './notifications.js';
41
+ export * from './mcp.js';
42
+ export * from './delegations.js';
43
+ // All commands combined
44
+ export const allCommands = [
45
+ ...coreCommands,
46
+ ...settingsCommands,
47
+ ...contextCommands,
48
+ ...projectCommands,
49
+ ...debugCommands,
50
+ ...sessionCommands,
51
+ ...resetCommands,
52
+ ...teamCommands,
53
+ gamesCommand,
54
+ tasksCommand,
55
+ ...backgroundCommands,
56
+ ...filterCommands,
57
+ ...authCommands,
58
+ ...filesCommands,
59
+ ...terminalsCommands,
60
+ ...notificationsCommands,
61
+ ...mcpCommands,
62
+ ...delegationsCommands,
63
+ ];
@@ -0,0 +1,8 @@
1
+ /**
2
+ * MCP Command for REPL V2
3
+ *
4
+ * Shows the MCP servers overlay for viewing connected servers,
5
+ * their tools, and managing connections.
6
+ */
7
+ import type { CommandHandlerV2 } from '../types.js';
8
+ export declare const mcpCommands: CommandHandlerV2[];
@@ -0,0 +1,39 @@
1
+ /**
2
+ * MCP Command for REPL V2
3
+ *
4
+ * Shows the MCP servers overlay for viewing connected servers,
5
+ * their tools, and managing connections.
6
+ */
7
+ import { MCPOverlayV2 } from '../../ui/overlay/impl/mcp-overlay-v2.js';
8
+ import { getMCPManager, ensureMCPManager } from '../../index.js';
9
+ import { getMCPConfigPath } from '../../settings/mcp-config.js';
10
+ import { getActiveProject } from '../../tools/project-db.js';
11
+ // =============================================================================
12
+ // /mcp Command
13
+ // =============================================================================
14
+ const mcpCommand = {
15
+ name: 'mcp',
16
+ description: 'View MCP servers and tools',
17
+ details: 'Opens the MCP (Model Context Protocol) servers overlay. ' +
18
+ 'View connected servers, their discovered tools, and manage connections. ' +
19
+ `Configure servers in ${getMCPConfigPath()}.`,
20
+ examples: [
21
+ { code: '/mcp', description: 'Show MCP servers dashboard' },
22
+ ],
23
+ interactions: [
24
+ 'Enter to view server details and tools',
25
+ 'a to add a new server',
26
+ 'r to restart a server',
27
+ 'd to disconnect a server',
28
+ '/ to search',
29
+ 'Esc to close',
30
+ ],
31
+ async execute(_args, ctx) {
32
+ const manager = getMCPManager();
33
+ const project = getActiveProject();
34
+ const overlay = new MCPOverlayV2(manager, ctx.agent ?? null, ensureMCPManager, project?.path);
35
+ await ctx.ui.showOverlay(overlay);
36
+ return true;
37
+ },
38
+ };
39
+ export const mcpCommands = [mcpCommand];
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Notifications Command Handler
3
+ *
4
+ * Shows cross-session notifications from other terminals.
5
+ * Opens an interactive overlay when unread notifications exist.
6
+ */
7
+ import type { CommandHandlerV2 } from '../types.js';
8
+ export declare const notificationsCommand: CommandHandlerV2;
9
+ export declare const notificationsCommands: CommandHandlerV2[];
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Notifications Command Handler
3
+ *
4
+ * Shows cross-session notifications from other terminals.
5
+ * Opens an interactive overlay when unread notifications exist.
6
+ */
7
+ import { getNotificationManager } from '../../multi-agent/notification-manager.js';
8
+ import { NotificationsOverlayV2 } from '../../ui/overlay/impl/notifications-overlay-v2.js';
9
+ export const notificationsCommand = {
10
+ name: 'notifications',
11
+ aliases: ['notif'],
12
+ description: 'Show cross-session notifications',
13
+ details: 'Lists unread notifications from other terminal sessions (e.g. background agent completions, pending approval requests).',
14
+ examples: [
15
+ { code: '/notifications', description: 'View unread notifications' },
16
+ { code: '/notif', description: 'Alias for /notifications' },
17
+ ],
18
+ async execute(_args, ctx) {
19
+ const manager = getNotificationManager();
20
+ if (!manager) {
21
+ ctx.ui.print({ type: 'info', message: 'Notification manager not available.' });
22
+ return true;
23
+ }
24
+ const count = manager.getUnreadCount();
25
+ if (count === 0) {
26
+ ctx.ui.print({ type: 'info', message: 'No unread notifications.' });
27
+ return true;
28
+ }
29
+ const overlay = new NotificationsOverlayV2();
30
+ await ctx.ui.showOverlay(overlay);
31
+ return true;
32
+ },
33
+ };
34
+ export const notificationsCommands = [notificationsCommand];
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Project Commands for REPL V2
3
+ *
4
+ * Commands for project management: init, backlog, workflow, anchors, design, sketch, refine
5
+ */
6
+ import type { CommandHandlerV2 } from '../types.js';
7
+ export declare const newCommand: CommandHandlerV2;
8
+ export declare const initCommand: CommandHandlerV2;
9
+ export declare const backlogCommand: CommandHandlerV2;
10
+ export declare const workflowCommand: CommandHandlerV2;
11
+ export declare const anchorsCommand: CommandHandlerV2;
12
+ export declare const designCommand: CommandHandlerV2;
13
+ export declare const sketchCommand: CommandHandlerV2;
14
+ export declare const refineCommand: CommandHandlerV2;
15
+ export declare const buildCommand: CommandHandlerV2;
16
+ export declare const noteCommand: CommandHandlerV2;
17
+ export declare const prdCommand: CommandHandlerV2;
18
+ export declare const scaffoldCommand: CommandHandlerV2;
19
+ export declare const archCommand: CommandHandlerV2;
20
+ export declare const docsCommand: CommandHandlerV2;
21
+ export declare const projectsCommand: CommandHandlerV2;
22
+ export declare const projectCommands: CommandHandlerV2[];