@compilr-dev/cli 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/README.md +236 -68
  2. package/dist/.tsbuildinfo.app +1 -0
  3. package/dist/.tsbuildinfo.data +1 -0
  4. package/dist/.tsbuildinfo.domain +1 -0
  5. package/dist/.tsbuildinfo.foundation +1 -0
  6. package/dist/agent.d.ts +61 -4
  7. package/dist/agent.js +241 -245
  8. package/dist/anchors/index.d.ts +1 -1
  9. package/dist/anchors/index.js +1 -1
  10. package/dist/anchors/project-anchors.d.ts +2 -2
  11. package/dist/anchors/project-anchors.js +1 -1
  12. package/dist/auth/api-client.d.ts +124 -0
  13. package/dist/auth/api-client.js +261 -0
  14. package/dist/auth/index.d.ts +172 -0
  15. package/dist/auth/index.js +545 -0
  16. package/dist/auth/storage.d.ts +52 -0
  17. package/dist/auth/storage.js +118 -0
  18. package/dist/changelog/index.d.ts +16 -0
  19. package/dist/changelog/index.js +24 -0
  20. package/dist/changelog/releases.d.ts +17 -0
  21. package/dist/changelog/releases.js +63 -0
  22. package/dist/commands-v2/handlers/auth.d.ts +10 -0
  23. package/dist/commands-v2/handlers/auth.js +118 -0
  24. package/dist/commands-v2/handlers/background.d.ts +14 -0
  25. package/dist/commands-v2/handlers/background.js +276 -0
  26. package/dist/commands-v2/handlers/context.js +266 -81
  27. package/dist/commands-v2/handlers/core.d.ts +1 -0
  28. package/dist/commands-v2/handlers/core.js +133 -8
  29. package/dist/commands-v2/handlers/debug.js +18 -0
  30. package/dist/commands-v2/handlers/delegations.d.ts +8 -0
  31. package/dist/commands-v2/handlers/delegations.js +29 -0
  32. package/dist/commands-v2/handlers/files.d.ts +8 -0
  33. package/dist/commands-v2/handlers/files.js +162 -0
  34. package/dist/commands-v2/handlers/filter.d.ts +9 -0
  35. package/dist/commands-v2/handlers/filter.js +130 -0
  36. package/dist/commands-v2/handlers/games.d.ts +7 -0
  37. package/dist/commands-v2/handlers/games.js +57 -0
  38. package/dist/commands-v2/handlers/index.d.ts +13 -0
  39. package/dist/commands-v2/handlers/index.js +39 -0
  40. package/dist/commands-v2/handlers/mcp.d.ts +8 -0
  41. package/dist/commands-v2/handlers/mcp.js +39 -0
  42. package/dist/commands-v2/handlers/notifications.d.ts +9 -0
  43. package/dist/commands-v2/handlers/notifications.js +34 -0
  44. package/dist/commands-v2/handlers/project.js +244 -23
  45. package/dist/commands-v2/handlers/reset.d.ts +11 -0
  46. package/dist/commands-v2/handlers/reset.js +118 -0
  47. package/dist/commands-v2/handlers/session.d.ts +161 -0
  48. package/dist/commands-v2/handlers/session.js +805 -0
  49. package/dist/commands-v2/handlers/settings.d.ts +2 -0
  50. package/dist/commands-v2/handlers/settings.js +217 -35
  51. package/dist/commands-v2/handlers/tasks.d.ts +5 -0
  52. package/dist/commands-v2/handlers/tasks.js +36 -0
  53. package/dist/commands-v2/handlers/team.d.ts +9 -0
  54. package/dist/commands-v2/handlers/team.js +549 -0
  55. package/dist/commands-v2/handlers/terminals.d.ts +9 -0
  56. package/dist/commands-v2/handlers/terminals.js +34 -0
  57. package/dist/commands-v2/index.d.ts +3 -2
  58. package/dist/commands-v2/index.js +4 -1
  59. package/dist/commands-v2/registry.d.ts +15 -0
  60. package/dist/commands-v2/registry.js +34 -0
  61. package/dist/commands-v2/types.d.ts +81 -3
  62. package/dist/commands.js +13 -0
  63. package/dist/compilr-diff-companion.vsix +0 -0
  64. package/dist/db/index.js +98 -4
  65. package/dist/db/repositories/document-repository.d.ts +2 -0
  66. package/dist/db/repositories/document-repository.js +5 -1
  67. package/dist/db/repositories/index.d.ts +2 -0
  68. package/dist/db/repositories/index.js +1 -0
  69. package/dist/db/repositories/plan-repository.d.ts +101 -0
  70. package/dist/db/repositories/plan-repository.js +275 -0
  71. package/dist/db/repositories/project-repository.d.ts +6 -0
  72. package/dist/db/repositories/project-repository.js +41 -0
  73. package/dist/db/repositories/work-item-repository.d.ts +15 -0
  74. package/dist/db/repositories/work-item-repository.js +69 -4
  75. package/dist/db/schema.d.ts +40 -3
  76. package/dist/db/schema.js +66 -3
  77. package/dist/episodes/index.d.ts +20 -0
  78. package/dist/episodes/index.js +27 -0
  79. package/dist/episodes/recorder.d.ts +51 -0
  80. package/dist/episodes/recorder.js +195 -0
  81. package/dist/episodes/significant-work.d.ts +21 -0
  82. package/dist/episodes/significant-work.js +56 -0
  83. package/dist/episodes/store.d.ts +38 -0
  84. package/dist/episodes/store.js +199 -0
  85. package/dist/episodes/types.d.ts +35 -0
  86. package/dist/episodes/types.js +6 -0
  87. package/dist/episodes/work-at-risk.d.ts +12 -0
  88. package/dist/episodes/work-at-risk.js +38 -0
  89. package/dist/episodes/work-summary-anchor.d.ts +23 -0
  90. package/dist/episodes/work-summary-anchor.js +73 -0
  91. package/dist/games/coins.d.ts +66 -0
  92. package/dist/games/coins.js +165 -0
  93. package/dist/games/game-base.d.ts +84 -0
  94. package/dist/games/game-base.js +204 -0
  95. package/dist/games/index.d.ts +16 -0
  96. package/dist/games/index.js +49 -0
  97. package/dist/games/scores.d.ts +69 -0
  98. package/dist/games/scores.js +191 -0
  99. package/dist/games/tetris/board.d.ts +59 -0
  100. package/dist/games/tetris/board.js +170 -0
  101. package/dist/games/tetris/index.d.ts +109 -0
  102. package/dist/games/tetris/index.js +610 -0
  103. package/dist/games/tetris/pieces.d.ts +44 -0
  104. package/dist/games/tetris/pieces.js +271 -0
  105. package/dist/games/tetris/renderer.d.ts +26 -0
  106. package/dist/games/tetris/renderer.js +77 -0
  107. package/dist/guide/guide-content.d.ts +23 -0
  108. package/dist/guide/guide-content.js +196 -0
  109. package/dist/guide/index.d.ts +8 -0
  110. package/dist/guide/index.js +7 -0
  111. package/dist/guide/shared-content.d.ts +37 -0
  112. package/dist/guide/shared-content.js +1272 -0
  113. package/dist/guide/tutorial-helpers.d.ts +57 -0
  114. package/dist/guide/tutorial-helpers.js +147 -0
  115. package/dist/handlers/ask-user-handlers.d.ts +32 -0
  116. package/dist/handlers/ask-user-handlers.js +104 -0
  117. package/dist/handlers/delegation-handlers.d.ts +34 -0
  118. package/dist/handlers/delegation-handlers.js +291 -0
  119. package/dist/handlers/permission-handler.d.ts +30 -0
  120. package/dist/handlers/permission-handler.js +205 -0
  121. package/dist/index.d.ts +11 -1
  122. package/dist/index.js +448 -271
  123. package/dist/input-handlers/memory-handler.d.ts +1 -1
  124. package/dist/input-handlers/memory-handler.js +2 -1
  125. package/dist/models/index.d.ts +10 -0
  126. package/dist/models/index.js +12 -0
  127. package/dist/models/model-registry.d.ts +38 -0
  128. package/dist/models/model-registry.js +69 -0
  129. package/dist/models/model-tiers.d.ts +28 -0
  130. package/dist/models/model-tiers.js +71 -0
  131. package/dist/models/model-validation.d.ts +25 -0
  132. package/dist/models/model-validation.js +291 -0
  133. package/dist/models/ollama-models.d.ts +73 -0
  134. package/dist/models/ollama-models.js +178 -0
  135. package/dist/models/provider-types.d.ts +6 -0
  136. package/dist/models/provider-types.js +1 -0
  137. package/dist/models/providers.d.ts +35 -0
  138. package/dist/models/providers.js +58 -0
  139. package/dist/models/types.d.ts +4 -0
  140. package/dist/models/types.js +4 -0
  141. package/dist/multi-agent/activity.d.ts +21 -0
  142. package/dist/multi-agent/activity.js +34 -0
  143. package/dist/multi-agent/agent-selection.d.ts +55 -0
  144. package/dist/multi-agent/agent-selection.js +90 -0
  145. package/dist/multi-agent/artifacts.d.ts +197 -0
  146. package/dist/multi-agent/artifacts.js +379 -0
  147. package/dist/multi-agent/checkpointer.d.ts +138 -0
  148. package/dist/multi-agent/checkpointer.js +471 -0
  149. package/dist/multi-agent/collision-utils.d.ts +16 -0
  150. package/dist/multi-agent/collision-utils.js +28 -0
  151. package/dist/multi-agent/context-resolver.d.ts +97 -0
  152. package/dist/multi-agent/context-resolver.js +316 -0
  153. package/dist/multi-agent/custom-agents.d.ts +83 -0
  154. package/dist/multi-agent/custom-agents.js +227 -0
  155. package/dist/multi-agent/delegation-tracker.d.ts +157 -0
  156. package/dist/multi-agent/delegation-tracker.js +243 -0
  157. package/dist/multi-agent/file-lock-hook.d.ts +29 -0
  158. package/dist/multi-agent/file-lock-hook.js +97 -0
  159. package/dist/multi-agent/file-locks.d.ts +58 -0
  160. package/dist/multi-agent/file-locks.js +194 -0
  161. package/dist/multi-agent/index.d.ts +24 -0
  162. package/dist/multi-agent/index.js +30 -0
  163. package/dist/multi-agent/mention-parser.d.ts +64 -0
  164. package/dist/multi-agent/mention-parser.js +146 -0
  165. package/dist/multi-agent/notification-manager.d.ts +84 -0
  166. package/dist/multi-agent/notification-manager.js +224 -0
  167. package/dist/multi-agent/pending-requests.d.ts +122 -0
  168. package/dist/multi-agent/pending-requests.js +155 -0
  169. package/dist/multi-agent/session-registry.d.ts +139 -0
  170. package/dist/multi-agent/session-registry.js +514 -0
  171. package/dist/multi-agent/shared-context.d.ts +293 -0
  172. package/dist/multi-agent/shared-context.js +671 -0
  173. package/dist/multi-agent/skill-requirements.d.ts +66 -0
  174. package/dist/multi-agent/skill-requirements.js +178 -0
  175. package/dist/multi-agent/task-assignment.d.ts +69 -0
  176. package/dist/multi-agent/task-assignment.js +123 -0
  177. package/dist/multi-agent/task-suggestion.d.ts +31 -0
  178. package/dist/multi-agent/task-suggestion.js +72 -0
  179. package/dist/multi-agent/team-agent.d.ts +201 -0
  180. package/dist/multi-agent/team-agent.js +488 -0
  181. package/dist/multi-agent/team.d.ts +286 -0
  182. package/dist/multi-agent/team.js +610 -0
  183. package/dist/multi-agent/tool-config.d.ts +110 -0
  184. package/dist/multi-agent/tool-config.js +661 -0
  185. package/dist/multi-agent/types.d.ts +211 -0
  186. package/dist/multi-agent/types.js +617 -0
  187. package/dist/prompts/plan-mode-prompt.d.ts +11 -0
  188. package/dist/prompts/plan-mode-prompt.js +95 -0
  189. package/dist/repl-helpers.js +3 -2
  190. package/dist/repl-v2.d.ts +401 -2
  191. package/dist/repl-v2.js +2577 -65
  192. package/dist/session/index.d.ts +6 -0
  193. package/dist/session/index.js +6 -0
  194. package/dist/session/project-session-manager.d.ts +158 -0
  195. package/dist/session/project-session-manager.js +650 -0
  196. package/dist/settings/index.d.ts +133 -13
  197. package/dist/settings/index.js +329 -24
  198. package/dist/settings/mcp-config.d.ts +76 -0
  199. package/dist/settings/mcp-config.js +143 -0
  200. package/dist/settings/paths.d.ts +4 -0
  201. package/dist/settings/paths.js +6 -0
  202. package/dist/shared-handlers.d.ts +62 -0
  203. package/dist/shared-handlers.js +48 -0
  204. package/dist/system-prompt/builder.d.ts +5 -0
  205. package/dist/system-prompt/builder.js +4 -0
  206. package/dist/system-prompt/index.d.ts +18 -0
  207. package/dist/system-prompt/index.js +18 -0
  208. package/dist/system-prompt/modules.d.ts +5 -0
  209. package/dist/system-prompt/modules.js +4 -0
  210. package/dist/tabbed-menu.js +2 -1
  211. package/dist/templates/compilr-md-import.d.ts +16 -0
  212. package/dist/templates/compilr-md-import.js +241 -0
  213. package/dist/templates/compilr-md.js +10 -61
  214. package/dist/templates/config-json.d.ts +1 -25
  215. package/dist/templates/index.d.ts +2 -0
  216. package/dist/templates/index.js +34 -73
  217. package/dist/tool-names.d.ts +108 -0
  218. package/dist/tool-names.js +227 -0
  219. package/dist/tools/anchor-tools.d.ts +4 -4
  220. package/dist/tools/anchor-tools.js +1 -1
  221. package/dist/tools/artifact-tools.d.ts +42 -0
  222. package/dist/tools/artifact-tools.js +328 -0
  223. package/dist/tools/ask-user-simple.d.ts +1 -1
  224. package/dist/tools/ask-user-simple.js +2 -1
  225. package/dist/tools/ask-user.d.ts +1 -1
  226. package/dist/tools/ask-user.js +2 -1
  227. package/dist/tools/backlog-wrappers.d.ts +5 -3
  228. package/dist/tools/backlog-wrappers.js +16 -1
  229. package/dist/tools/backlog.d.ts +2 -2
  230. package/dist/tools/backlog.js +1 -1
  231. package/dist/tools/db-tools.d.ts +8 -61
  232. package/dist/tools/db-tools.js +8 -13
  233. package/dist/tools/delegate-background.d.ts +27 -0
  234. package/dist/tools/delegate-background.js +115 -0
  235. package/dist/tools/delegate.d.ts +22 -0
  236. package/dist/tools/delegate.js +97 -0
  237. package/dist/tools/delegation-status.d.ts +16 -0
  238. package/dist/tools/delegation-status.js +128 -0
  239. package/dist/tools/document-db.d.ts +5 -5
  240. package/dist/tools/document-db.js +1 -1
  241. package/dist/tools/guide-tool.d.ts +12 -0
  242. package/dist/tools/guide-tool.js +59 -0
  243. package/dist/tools/handoff.d.ts +25 -0
  244. package/dist/tools/handoff.js +99 -0
  245. package/dist/tools/meta-tools.d.ts +26 -0
  246. package/dist/tools/meta-tools.js +47 -0
  247. package/dist/tools/plan-tools.d.ts +54 -0
  248. package/dist/tools/plan-tools.js +338 -0
  249. package/dist/tools/platform-adapter.d.ts +29 -0
  250. package/dist/tools/platform-adapter.js +394 -0
  251. package/dist/tools/project-db.d.ts +5 -73
  252. package/dist/tools/project-db.js +5 -336
  253. package/dist/tools/recall-work-tool.d.ts +18 -0
  254. package/dist/tools/recall-work-tool.js +82 -0
  255. package/dist/tools/workitem-db.d.ts +43 -11
  256. package/dist/tools/workitem-db.js +186 -5
  257. package/dist/tools.d.ts +67 -2
  258. package/dist/tools.js +237 -47
  259. package/dist/ui/autocomplete-controller.d.ts +42 -0
  260. package/dist/ui/autocomplete-controller.js +384 -0
  261. package/dist/ui/base/index.d.ts +1 -1
  262. package/dist/ui/base/index.js +1 -1
  263. package/dist/ui/base/overlay-base-v2.d.ts +10 -0
  264. package/dist/ui/base/overlay-base-v2.js +14 -0
  265. package/dist/ui/base/render-utils.d.ts +19 -0
  266. package/dist/ui/base/render-utils.js +25 -0
  267. package/dist/ui/base/tabbed-list-overlay-v2.d.ts +16 -1
  268. package/dist/ui/base/tabbed-list-overlay-v2.js +19 -1
  269. package/dist/ui/constants/labels.d.ts +14 -0
  270. package/dist/ui/constants/labels.js +51 -0
  271. package/dist/ui/conversation-store.d.ts +55 -0
  272. package/dist/ui/conversation-store.js +107 -0
  273. package/dist/ui/conversation.js +11 -13
  274. package/dist/ui/diff.d.ts +7 -1
  275. package/dist/ui/diff.js +85 -48
  276. package/dist/ui/ephemeral.js +3 -9
  277. package/dist/ui/file-autocomplete.d.ts +24 -0
  278. package/dist/ui/file-autocomplete.js +56 -0
  279. package/dist/ui/footer-renderer.d.ts +69 -0
  280. package/dist/ui/footer-renderer.js +431 -0
  281. package/dist/ui/footer.d.ts +74 -7
  282. package/dist/ui/footer.js +173 -16
  283. package/dist/ui/input-controller.d.ts +51 -0
  284. package/dist/ui/input-controller.js +176 -0
  285. package/dist/ui/input-prompt.d.ts +19 -0
  286. package/dist/ui/input-prompt.js +206 -14
  287. package/dist/ui/keyboard-handler.d.ts +57 -0
  288. package/dist/ui/keyboard-handler.js +557 -0
  289. package/dist/ui/live-region-facade.d.ts +42 -0
  290. package/dist/ui/live-region-facade.js +205 -0
  291. package/dist/ui/live-region.d.ts +0 -4
  292. package/dist/ui/live-region.js +6 -14
  293. package/dist/ui/mascot/renderer.d.ts +1 -1
  294. package/dist/ui/mascot/renderer.js +37 -2
  295. package/dist/ui/overlay/data/tutorial-content.d.ts +9 -0
  296. package/dist/ui/overlay/data/tutorial-content.js +9 -0
  297. package/dist/ui/overlay/data/tutorial-registry.d.ts +12 -0
  298. package/dist/ui/overlay/data/tutorial-registry.js +116 -0
  299. package/dist/ui/overlay/data/tutorial-types.d.ts +35 -0
  300. package/dist/ui/overlay/data/tutorial-types.js +6 -0
  301. package/dist/ui/overlay/data/tutorials/basics/first-conversation.d.ts +7 -0
  302. package/dist/ui/overlay/data/tutorials/basics/first-conversation.js +220 -0
  303. package/dist/ui/overlay/data/tutorials/basics/first-project.d.ts +7 -0
  304. package/dist/ui/overlay/data/tutorials/basics/first-project.js +284 -0
  305. package/dist/ui/overlay/data/tutorials/basics/navigation.d.ts +8 -0
  306. package/dist/ui/overlay/data/tutorials/basics/navigation.js +22 -0
  307. package/dist/ui/overlay/data/tutorials/basics/welcome.d.ts +7 -0
  308. package/dist/ui/overlay/data/tutorials/basics/welcome.js +174 -0
  309. package/dist/ui/overlay/data/tutorials/config/context-management.d.ts +7 -0
  310. package/dist/ui/overlay/data/tutorials/config/context-management.js +158 -0
  311. package/dist/ui/overlay/data/tutorials/config/mcp-servers.d.ts +8 -0
  312. package/dist/ui/overlay/data/tutorials/config/mcp-servers.js +155 -0
  313. package/dist/ui/overlay/data/tutorials/config/model-selection.d.ts +7 -0
  314. package/dist/ui/overlay/data/tutorials/config/model-selection.js +162 -0
  315. package/dist/ui/overlay/data/tutorials/config/permissions-safety.d.ts +7 -0
  316. package/dist/ui/overlay/data/tutorials/config/permissions-safety.js +163 -0
  317. package/dist/ui/overlay/data/tutorials/config/settings-config.d.ts +7 -0
  318. package/dist/ui/overlay/data/tutorials/config/settings-config.js +166 -0
  319. package/dist/ui/overlay/data/tutorials/planning/arch.d.ts +7 -0
  320. package/dist/ui/overlay/data/tutorials/planning/arch.js +168 -0
  321. package/dist/ui/overlay/data/tutorials/planning/backlog.d.ts +7 -0
  322. package/dist/ui/overlay/data/tutorials/planning/backlog.js +103 -0
  323. package/dist/ui/overlay/data/tutorials/planning/build.d.ts +7 -0
  324. package/dist/ui/overlay/data/tutorials/planning/build.js +173 -0
  325. package/dist/ui/overlay/data/tutorials/planning/design.d.ts +7 -0
  326. package/dist/ui/overlay/data/tutorials/planning/design.js +205 -0
  327. package/dist/ui/overlay/data/tutorials/planning/docs.d.ts +7 -0
  328. package/dist/ui/overlay/data/tutorials/planning/docs.js +143 -0
  329. package/dist/ui/overlay/data/tutorials/planning/prd.d.ts +7 -0
  330. package/dist/ui/overlay/data/tutorials/planning/prd.js +173 -0
  331. package/dist/ui/overlay/data/tutorials/planning/scaffold.d.ts +7 -0
  332. package/dist/ui/overlay/data/tutorials/planning/scaffold.js +164 -0
  333. package/dist/ui/overlay/data/tutorials/planning/sketch.d.ts +7 -0
  334. package/dist/ui/overlay/data/tutorials/planning/sketch.js +58 -0
  335. package/dist/ui/overlay/data/tutorials/projects/anchors.d.ts +7 -0
  336. package/dist/ui/overlay/data/tutorials/projects/anchors.js +248 -0
  337. package/dist/ui/overlay/data/tutorials/projects/import-project.d.ts +7 -0
  338. package/dist/ui/overlay/data/tutorials/projects/import-project.js +172 -0
  339. package/dist/ui/overlay/data/tutorials/projects/managing-projects.d.ts +8 -0
  340. package/dist/ui/overlay/data/tutorials/projects/managing-projects.js +212 -0
  341. package/dist/ui/overlay/data/tutorials/projects/new-project.d.ts +7 -0
  342. package/dist/ui/overlay/data/tutorials/projects/new-project.js +251 -0
  343. package/dist/ui/overlay/data/tutorials/projects/session-management.d.ts +7 -0
  344. package/dist/ui/overlay/data/tutorials/projects/session-management.js +169 -0
  345. package/dist/ui/overlay/data/tutorials/teams/background-execution.d.ts +7 -0
  346. package/dist/ui/overlay/data/tutorials/teams/background-execution.js +171 -0
  347. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.d.ts +8 -0
  348. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.js +147 -0
  349. package/dist/ui/overlay/data/tutorials/teams/task-assignment.d.ts +7 -0
  350. package/dist/ui/overlay/data/tutorials/teams/task-assignment.js +204 -0
  351. package/dist/ui/overlay/data/tutorials/teams/team-overview.d.ts +7 -0
  352. package/dist/ui/overlay/data/tutorials/teams/team-overview.js +165 -0
  353. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.d.ts +7 -0
  354. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.js +172 -0
  355. package/dist/ui/overlay/impl/agents-overlay-v2.js +6 -17
  356. package/dist/ui/overlay/impl/anchors-overlay-v2.js +30 -64
  357. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.d.ts +43 -0
  358. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.js +232 -0
  359. package/dist/ui/overlay/impl/artifact-overlay-v2.d.ts +40 -0
  360. package/dist/ui/overlay/impl/artifact-overlay-v2.js +115 -0
  361. package/dist/ui/overlay/impl/ask-user-overlay-v2.js +2 -5
  362. package/dist/ui/overlay/impl/background-overlay-v2.d.ts +40 -0
  363. package/dist/ui/overlay/impl/background-overlay-v2.js +147 -0
  364. package/dist/ui/overlay/impl/backlog-overlay-v2.d.ts +4 -1
  365. package/dist/ui/overlay/impl/backlog-overlay-v2.js +55 -16
  366. package/dist/ui/overlay/impl/changelog-overlay-v2.d.ts +44 -0
  367. package/dist/ui/overlay/impl/changelog-overlay-v2.js +165 -0
  368. package/dist/ui/overlay/impl/commands-overlay-v2.js +4 -6
  369. package/dist/ui/overlay/impl/config-overlay-v2.d.ts +12 -1
  370. package/dist/ui/overlay/impl/config-overlay-v2.js +164 -100
  371. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.d.ts +83 -0
  372. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.js +711 -0
  373. package/dist/ui/overlay/impl/dashboard-overlay-v2.d.ts +2 -0
  374. package/dist/ui/overlay/impl/dashboard-overlay-v2.js +26 -3
  375. package/dist/ui/overlay/impl/delegations-overlay-v2.d.ts +28 -0
  376. package/dist/ui/overlay/impl/delegations-overlay-v2.js +279 -0
  377. package/dist/ui/overlay/impl/docs-overlay-v2.js +12 -9
  378. package/dist/ui/overlay/impl/document-detail-overlay-v2.d.ts +7 -0
  379. package/dist/ui/overlay/impl/document-detail-overlay-v2.js +119 -78
  380. package/dist/ui/overlay/impl/filter-overlay-v2.d.ts +41 -0
  381. package/dist/ui/overlay/impl/filter-overlay-v2.js +110 -0
  382. package/dist/ui/overlay/impl/games-overlay-v2.d.ts +31 -0
  383. package/dist/ui/overlay/impl/games-overlay-v2.js +135 -0
  384. package/dist/ui/overlay/impl/help-overlay-v2.d.ts +26 -3
  385. package/dist/ui/overlay/impl/help-overlay-v2.js +20 -42
  386. package/dist/ui/overlay/impl/login-overlay-v2.d.ts +49 -0
  387. package/dist/ui/overlay/impl/login-overlay-v2.js +277 -0
  388. package/dist/ui/overlay/impl/mcp-overlay-v2.d.ts +63 -0
  389. package/dist/ui/overlay/impl/mcp-overlay-v2.js +907 -0
  390. package/dist/ui/overlay/impl/model-overlay-v2.d.ts +57 -13
  391. package/dist/ui/overlay/impl/model-overlay-v2.js +1086 -61
  392. package/dist/ui/overlay/impl/new-overlay-v2.d.ts +37 -6
  393. package/dist/ui/overlay/impl/new-overlay-v2.js +715 -65
  394. package/dist/ui/overlay/impl/notifications-overlay-v2.d.ts +20 -0
  395. package/dist/ui/overlay/impl/notifications-overlay-v2.js +116 -0
  396. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.d.ts +76 -0
  397. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.js +728 -0
  398. package/dist/ui/overlay/impl/pending-overlay-v2.d.ts +51 -0
  399. package/dist/ui/overlay/impl/pending-overlay-v2.js +445 -0
  400. package/dist/ui/overlay/impl/permission-overlay-v2.js +5 -5
  401. package/dist/ui/overlay/impl/permissions-overlay-v2.d.ts +85 -0
  402. package/dist/ui/overlay/impl/permissions-overlay-v2.js +820 -0
  403. package/dist/ui/overlay/impl/plan-approval-overlay-v2.d.ts +35 -0
  404. package/dist/ui/overlay/impl/plan-approval-overlay-v2.js +181 -0
  405. package/dist/ui/overlay/impl/project-edit-overlay-v2.d.ts +36 -0
  406. package/dist/ui/overlay/impl/project-edit-overlay-v2.js +195 -0
  407. package/dist/ui/overlay/impl/projects-overlay-v2.d.ts +1 -0
  408. package/dist/ui/overlay/impl/projects-overlay-v2.js +278 -44
  409. package/dist/ui/overlay/impl/reset-overlay-v2.d.ts +39 -0
  410. package/dist/ui/overlay/impl/reset-overlay-v2.js +107 -0
  411. package/dist/ui/overlay/impl/resume-overlay-v2.d.ts +60 -0
  412. package/dist/ui/overlay/impl/resume-overlay-v2.js +414 -0
  413. package/dist/ui/overlay/impl/session-mode-overlay-v2.d.ts +43 -0
  414. package/dist/ui/overlay/impl/session-mode-overlay-v2.js +124 -0
  415. package/dist/ui/overlay/impl/tasks-overlay-v2.d.ts +28 -0
  416. package/dist/ui/overlay/impl/tasks-overlay-v2.js +283 -0
  417. package/dist/ui/overlay/impl/team-overlay-v2.d.ts +86 -0
  418. package/dist/ui/overlay/impl/team-overlay-v2.js +692 -0
  419. package/dist/ui/overlay/impl/terminals-overlay-v2.d.ts +26 -0
  420. package/dist/ui/overlay/impl/terminals-overlay-v2.js +217 -0
  421. package/dist/ui/overlay/impl/tools-overlay-v2.js +3 -7
  422. package/dist/ui/overlay/impl/tutorial-overlay-v2.d.ts +30 -16
  423. package/dist/ui/overlay/impl/tutorial-overlay-v2.js +133 -956
  424. package/dist/ui/overlay/impl/workflow-overlay-v2.js +5 -1
  425. package/dist/ui/overlay/index.d.ts +20 -1
  426. package/dist/ui/overlay/index.js +19 -0
  427. package/dist/ui/overlay/types.d.ts +5 -0
  428. package/dist/ui/overlay-manager.d.ts +43 -0
  429. package/dist/ui/overlay-manager.js +238 -0
  430. package/dist/ui/overlays.js +4 -16
  431. package/dist/ui/permission-overlay.js +6 -5
  432. package/dist/ui/status-bar-controller.d.ts +33 -0
  433. package/dist/ui/status-bar-controller.js +99 -0
  434. package/dist/ui/subagent-renderer.js +3 -19
  435. package/dist/ui/terminal-autocomplete-utils.d.ts +23 -0
  436. package/dist/ui/terminal-autocomplete-utils.js +83 -0
  437. package/dist/ui/terminal-line-builders.d.ts +17 -0
  438. package/dist/ui/terminal-line-builders.js +42 -0
  439. package/dist/ui/terminal-render-item.d.ts +16 -0
  440. package/dist/ui/terminal-render-item.js +267 -0
  441. package/dist/ui/terminal-renderer.d.ts +7 -8
  442. package/dist/ui/terminal-renderer.js +7 -8
  443. package/dist/ui/terminal-types.d.ts +179 -0
  444. package/dist/ui/terminal-types.js +34 -0
  445. package/dist/ui/terminal-ui.d.ts +144 -276
  446. package/dist/ui/terminal-ui.js +384 -1861
  447. package/dist/ui/todo-zone.d.ts +19 -1
  448. package/dist/ui/todo-zone.js +71 -13
  449. package/dist/ui/tool-formatters.js +512 -1
  450. package/dist/ui/turn-metrics.d.ts +56 -0
  451. package/dist/ui/turn-metrics.js +75 -0
  452. package/dist/ui/types.d.ts +28 -0
  453. package/dist/ui/types.js +1 -0
  454. package/dist/ui/vscode-diff-ipc.d.ts +102 -0
  455. package/dist/ui/vscode-diff-ipc.js +385 -0
  456. package/dist/utils/credentials.d.ts +24 -5
  457. package/dist/utils/credentials.js +123 -9
  458. package/dist/utils/format-tokens.d.ts +13 -0
  459. package/dist/utils/format-tokens.js +18 -0
  460. package/dist/utils/git-config.d.ts +26 -0
  461. package/dist/utils/git-config.js +54 -0
  462. package/dist/utils/message-utils.d.ts +61 -0
  463. package/dist/utils/message-utils.js +72 -0
  464. package/dist/utils/model-tiers.d.ts +8 -1
  465. package/dist/utils/model-tiers.js +38 -16
  466. package/dist/utils/open-browser.d.ts +5 -0
  467. package/dist/utils/open-browser.js +32 -0
  468. package/dist/utils/path-safety.js +3 -2
  469. package/dist/utils/project-detection.d.ts +58 -0
  470. package/dist/utils/project-detection.js +424 -0
  471. package/dist/utils/project-memory.js +2 -1
  472. package/dist/utils/project-status.d.ts +2 -2
  473. package/dist/utils/startup-perf.d.ts +18 -0
  474. package/dist/utils/startup-perf.js +60 -0
  475. package/dist/utils/token-tracker.d.ts +62 -0
  476. package/dist/utils/token-tracker.js +150 -0
  477. package/dist/utils/token-types.d.ts +23 -0
  478. package/dist/utils/token-types.js +18 -0
  479. package/dist/utils/types/config-types.d.ts +32 -0
  480. package/dist/utils/types/config-types.js +8 -0
  481. package/dist/utils/update-checker.d.ts +28 -0
  482. package/dist/utils/update-checker.js +106 -0
  483. package/dist/utils/version.d.ts +7 -0
  484. package/dist/utils/version.js +10 -0
  485. package/dist/utils/vscode-detect.d.ts +39 -0
  486. package/dist/utils/vscode-detect.js +137 -0
  487. package/package.json +25 -12
  488. package/dist/commands/handler-types.d.ts +0 -68
  489. package/dist/commands/handler-types.js +0 -8
  490. package/dist/commands/handlers/agent-commands.d.ts +0 -13
  491. package/dist/commands/handlers/agent-commands.js +0 -305
  492. package/dist/commands/handlers/design-commands.d.ts +0 -15
  493. package/dist/commands/handlers/design-commands.js +0 -334
  494. package/dist/commands/handlers/index.d.ts +0 -20
  495. package/dist/commands/handlers/index.js +0 -43
  496. package/dist/commands/handlers/overlay-commands.d.ts +0 -21
  497. package/dist/commands/handlers/overlay-commands.js +0 -287
  498. package/dist/commands/handlers/project-commands.d.ts +0 -11
  499. package/dist/commands/handlers/project-commands.js +0 -167
  500. package/dist/commands/handlers/simple-commands.d.ts +0 -19
  501. package/dist/commands/handlers/simple-commands.js +0 -144
  502. package/dist/commands/registry.d.ts +0 -50
  503. package/dist/commands/registry.js +0 -75
  504. package/dist/index.old.d.ts +0 -7
  505. package/dist/index.old.js +0 -1014
  506. package/dist/repl.d.ts +0 -149
  507. package/dist/repl.js +0 -1151
  508. package/dist/templates/claude-md.d.ts +0 -7
  509. package/dist/templates/claude-md.js +0 -189
  510. package/dist/test-autocomplete.d.ts +0 -7
  511. package/dist/test-autocomplete.js +0 -85
  512. package/dist/test-tabbed-menu.d.ts +0 -7
  513. package/dist/test-tabbed-menu.js +0 -25
  514. package/dist/tool-selector.d.ts +0 -71
  515. package/dist/tool-selector.js +0 -184
  516. package/dist/ui/agents-overlay-v2.d.ts +0 -43
  517. package/dist/ui/agents-overlay-v2.js +0 -809
  518. package/dist/ui/agents-overlay.d.ts +0 -12
  519. package/dist/ui/agents-overlay.js +0 -863
  520. package/dist/ui/anchors-overlay.d.ts +0 -12
  521. package/dist/ui/anchors-overlay.js +0 -775
  522. package/dist/ui/arch-type-overlay.d.ts +0 -15
  523. package/dist/ui/arch-type-overlay.js +0 -201
  524. package/dist/ui/ask-user-overlay-v2.d.ts +0 -26
  525. package/dist/ui/ask-user-overlay-v2.js +0 -555
  526. package/dist/ui/ask-user-simple-overlay-v2.d.ts +0 -25
  527. package/dist/ui/ask-user-simple-overlay-v2.js +0 -215
  528. package/dist/ui/backlog-overlay.d.ts +0 -32
  529. package/dist/ui/backlog-overlay.js +0 -652
  530. package/dist/ui/commands-overlay-v2.d.ts +0 -33
  531. package/dist/ui/commands-overlay-v2.js +0 -441
  532. package/dist/ui/commands-overlay.d.ts +0 -16
  533. package/dist/ui/commands-overlay.js +0 -439
  534. package/dist/ui/config-overlay.d.ts +0 -35
  535. package/dist/ui/config-overlay.js +0 -707
  536. package/dist/ui/docs-overlay.d.ts +0 -17
  537. package/dist/ui/docs-overlay.js +0 -303
  538. package/dist/ui/footer-v2.d.ts +0 -222
  539. package/dist/ui/footer-v2.js +0 -1349
  540. package/dist/ui/help-overlay-v2.d.ts +0 -34
  541. package/dist/ui/help-overlay-v2.js +0 -309
  542. package/dist/ui/help-overlay.d.ts +0 -16
  543. package/dist/ui/help-overlay.js +0 -316
  544. package/dist/ui/init-overlay-v2.d.ts +0 -34
  545. package/dist/ui/init-overlay-v2.js +0 -600
  546. package/dist/ui/init-overlay.d.ts +0 -34
  547. package/dist/ui/init-overlay.js +0 -604
  548. package/dist/ui/input-prompt-v2.d.ts +0 -180
  549. package/dist/ui/input-prompt-v2.js +0 -999
  550. package/dist/ui/iteration-limit-overlay-v2.d.ts +0 -21
  551. package/dist/ui/iteration-limit-overlay-v2.js +0 -114
  552. package/dist/ui/keys-overlay-v2.d.ts +0 -41
  553. package/dist/ui/keys-overlay-v2.js +0 -248
  554. package/dist/ui/mascot-overlay-v2.d.ts +0 -41
  555. package/dist/ui/mascot-overlay-v2.js +0 -138
  556. package/dist/ui/mascot-overlay.d.ts +0 -21
  557. package/dist/ui/mascot-overlay.js +0 -146
  558. package/dist/ui/model-overlay-v2.d.ts +0 -49
  559. package/dist/ui/model-overlay-v2.js +0 -118
  560. package/dist/ui/model-overlay.d.ts +0 -27
  561. package/dist/ui/model-overlay.js +0 -221
  562. package/dist/ui/model-warning-overlay.d.ts +0 -30
  563. package/dist/ui/model-warning-overlay.js +0 -169
  564. package/dist/ui/new-overlay.d.ts +0 -34
  565. package/dist/ui/new-overlay.js +0 -604
  566. package/dist/ui/overlay/impl/init-overlay-v2.d.ts +0 -77
  567. package/dist/ui/overlay/impl/init-overlay-v2.js +0 -593
  568. package/dist/ui/overlay/overlay-types.d.ts +0 -128
  569. package/dist/ui/overlay/overlay-types.js +0 -22
  570. package/dist/ui/overlays/help-overlay-v2.d.ts +0 -28
  571. package/dist/ui/overlays/help-overlay-v2.js +0 -198
  572. package/dist/ui/overlays/index.d.ts +0 -11
  573. package/dist/ui/overlays/index.js +0 -11
  574. package/dist/ui/permission-overlay-v2.d.ts +0 -36
  575. package/dist/ui/permission-overlay-v2.js +0 -380
  576. package/dist/ui/projects-overlay.d.ts +0 -19
  577. package/dist/ui/projects-overlay.js +0 -484
  578. package/dist/ui/theme-overlay-v2.d.ts +0 -42
  579. package/dist/ui/theme-overlay-v2.js +0 -135
  580. package/dist/ui/theme-overlay.d.ts +0 -24
  581. package/dist/ui/theme-overlay.js +0 -127
  582. package/dist/ui/tools-overlay-v2.d.ts +0 -47
  583. package/dist/ui/tools-overlay-v2.js +0 -218
  584. package/dist/ui/tools-overlay.d.ts +0 -34
  585. package/dist/ui/tools-overlay.js +0 -230
  586. package/dist/ui/tutorial-overlay-v2.d.ts +0 -31
  587. package/dist/ui/tutorial-overlay-v2.js +0 -1035
  588. package/dist/ui/tutorial-overlay.d.ts +0 -11
  589. package/dist/ui/tutorial-overlay.js +0 -1034
  590. package/dist/ui/workflow-overlay.d.ts +0 -22
  591. package/dist/ui/workflow-overlay.js +0 -636
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Plan Mode System Prompt Addition
3
+ *
4
+ * Appended to the system prompt when Plan Mode is active.
5
+ * Instructs the agent to explore, create plans, and wait for approval.
6
+ */
7
+ export const PLAN_MODE_PROMPT = `## PLAN MODE ACTIVE
8
+
9
+ You are currently in **Plan Mode**. In this mode, you must:
10
+
11
+ 1. **Gather Context from Database FIRST**:
12
+ - Use \`project_document_get\` to read PRD and architecture docs
13
+ - Use \`workitem_query\` to read backlog items
14
+ - Use \`plan_list\` to see existing plans
15
+ - Only read actual source files when you need specific implementation details
16
+
17
+ 2. **Ask Questions**: Use \`ask_user\` to clarify requirements, constraints, and preferences. Don't assume.
18
+
19
+ 3. **Create a Plan**: Use \`plan_create\` to document your approach before implementing:
20
+ - Name: kebab-case, descriptive (e.g., "auth-jwt-migration")
21
+ - Content: Follow the standard plan format (Context, Goals, Steps, Verification)
22
+ - Link to work item if one was mentioned
23
+
24
+ 4. **Request Approval**: After creating the plan, summarize it and ask for approval:
25
+ - List 3-5 key points
26
+ - Mention files that will be modified
27
+ - End with: "Ready for your review. [PLAN_READY:plan_id:plan_name]"
28
+
29
+ 5. **Wait for Approval**: Do NOT implement until the user approves the plan.
30
+
31
+ 6. **Track Status**: After approval, update the plan status:
32
+ - Use \`plan_update\` with status: 'approved' when user approves
33
+ - Use \`plan_update\` with status: 'in_progress' when you start implementing
34
+ - Use \`plan_update\` with status: 'completed' when all steps are done
35
+
36
+ ### Plan Format
37
+
38
+ Use this structure when creating plans:
39
+
40
+ \`\`\`markdown
41
+ # Plan: [Name]
42
+
43
+ ## Context
44
+ [Why this plan exists, what problem it solves]
45
+ [Link to work item if applicable]
46
+
47
+ ## Goals
48
+ - [ ] Primary goal 1
49
+ - [ ] Primary goal 2
50
+
51
+ ## Approach
52
+ [High-level description of the implementation approach]
53
+
54
+ ## Steps
55
+ 1. **Step 1 Title**
56
+ - Details about step 1
57
+ - Files to modify: \`src/foo.ts\`
58
+
59
+ 2. **Step 2 Title**
60
+ - Details about step 2
61
+
62
+ ## Verification
63
+ - [ ] How to verify completion
64
+ - [ ] Tests pass
65
+ \`\`\`
66
+
67
+ ### DO NOT in Plan Mode:
68
+ - Skip planning for non-trivial tasks
69
+ - Make code changes without an approved plan
70
+ - Assume requirements without asking
71
+ - Read files in .compilr/requirements/ (use project_document_get instead)
72
+ - Scan the filesystem before checking database for project docs
73
+
74
+ ### Available Plan Tools:
75
+ - \`plan_create\` - Create a new plan (starts as 'draft')
76
+ - \`plan_update\` - Update plan content or status
77
+ - \`plan_get\` - Get plan details by ID or name
78
+ - \`plan_list\` - List plans for the project
79
+ - \`plan_delete\` - Delete a plan
80
+ `;
81
+ /**
82
+ * Get the plan mode prompt for a specific active plan (if any)
83
+ */
84
+ export function getPlanModePrompt(activePlanId, activePlanName) {
85
+ let prompt = PLAN_MODE_PROMPT;
86
+ if (activePlanId && activePlanName) {
87
+ prompt += `\n### Current Active Plan
88
+
89
+ You are continuing work on plan **"${activePlanName}"** (ID: ${String(activePlanId)}).
90
+
91
+ Use \`plan_get\` with plan_id: ${String(activePlanId)} to load the plan details and continue from where you left off.
92
+ `;
93
+ }
94
+ return prompt;
95
+ }
@@ -5,7 +5,7 @@
5
5
  * and improve maintainability. These functions support the REPL but don't
6
6
  * depend on REPL instance state.
7
7
  */
8
- import { builtinSkills } from '@compilr-dev/agents';
8
+ import { builtinSkills, platformSkills } from '@compilr-dev/sdk';
9
9
  import { codingSkills } from '@compilr-dev/agents-coding';
10
10
  import * as fs from 'fs';
11
11
  import * as path from 'path';
@@ -202,7 +202,8 @@ export function hasBacklogItems(backlogPath) {
202
202
  * Get skill prompt by name from builtinSkills or codingSkills.
203
203
  */
204
204
  export function getSkillPrompt(name) {
205
- const skill = builtinSkills.find((s) => s.name === name)
205
+ const skill = platformSkills.find((s) => s.name === name)
206
+ ?? builtinSkills.find((s) => s.name === name)
206
207
  ?? codingSkills.find((s) => s.name === name);
207
208
  return skill?.prompt ?? null;
208
209
  }
package/dist/repl-v2.d.ts CHANGED
@@ -9,21 +9,40 @@
9
9
  * Can be run standalone: npx tsx src/repl-v2.ts
10
10
  * Or imported and used with a real agent from index.ts
11
11
  */
12
- import type { Agent } from '@compilr-dev/agents';
12
+ import type { Agent } from '@compilr-dev/sdk';
13
+ import type { AgentTeam } from './multi-agent/index.js';
13
14
  import { type PermissionResult, type PermissionOverlayV2Options } from './ui/overlay/impl/permission-overlay-v2.js';
14
15
  import { type AskUserSimpleOptionsV2, type AskUserSimpleResultV2 } from './ui/overlay/impl/ask-user-simple-overlay-v2.js';
15
16
  import { type GuardrailConfirmOptionsV2, type GuardrailConfirmResultV2 } from './ui/overlay/impl/guardrail-overlay-v2.js';
16
17
  import { type AskUserOptionsV2, type AskUserResultV2 } from './ui/overlay/impl/ask-user-overlay-v2.js';
17
18
  import { type IterationLimitOptionsV2, type IterationLimitResultV2 } from './ui/overlay/impl/iteration-limit-overlay-v2.js';
19
+ export interface DelegateOverlayOptions {
20
+ agentId: string;
21
+ agentDisplayName: string;
22
+ task: string;
23
+ reason?: string;
24
+ }
25
+ export interface DelegateOverlayResult {
26
+ approved: boolean;
27
+ }
18
28
  export interface ReplV2Options {
19
29
  /** Agent instance (optional - uses simulation if not provided) */
20
30
  agent?: Agent;
31
+ /** Multi-agent team (optional - for team management) */
32
+ team?: AgentTeam;
33
+ /** Agent factory function for creating new agents (for team switching) */
34
+ agentFactory?: (config: Record<string, unknown>, systemPromptAddition?: string, useMinimalSystemPrompt?: boolean, noTools?: boolean) => Promise<Agent>;
21
35
  /** Current model ID */
22
36
  model?: string;
23
37
  /** Current provider */
24
38
  provider?: string;
25
39
  /** CLI version */
26
40
  version?: string;
41
+ /** Update available info (if any) */
42
+ updateAvailable?: {
43
+ current: string;
44
+ latest: string;
45
+ } | null;
27
46
  /** Initial project name */
28
47
  projectName?: string;
29
48
  /**
@@ -81,13 +100,106 @@ export interface ReplV2Options {
81
100
  * Called at the start of each agent run to prevent stale data.
82
101
  */
83
102
  clearSubagentTracking?: () => void;
103
+ /**
104
+ * Whether to show the onboarding wizard on startup.
105
+ * Set to true for first-run experience.
106
+ */
107
+ showOnboarding?: boolean;
108
+ /**
109
+ * Whether to show the login overlay on startup.
110
+ * Set to true when user is not authenticated.
111
+ */
112
+ showLogin?: boolean;
113
+ /**
114
+ * Callback invoked when delegate overlay is ready.
115
+ * Allows index.ts to use V2 overlay for delegation approval.
116
+ */
117
+ onDelegateReady?: (showOverlay: (options: DelegateOverlayOptions) => Promise<DelegateOverlayResult>) => void;
118
+ /**
119
+ * Callback to get and clear pending delegation.
120
+ * Returns the pending delegation info if any, and clears it.
121
+ */
122
+ onPendingDelegation?: () => {
123
+ agentId: string;
124
+ task: string;
125
+ } | null;
126
+ /**
127
+ * Callback invoked when background agent tracking is ready.
128
+ * Allows index.ts to check if an agent is running in background and route
129
+ * permission requests to the pending requests queue.
130
+ *
131
+ * Phase 3b: Background Agents
132
+ */
133
+ onBackgroundAgentReady?: (callbacks: {
134
+ isBackgroundAgent: (agentId?: string) => boolean;
135
+ getActiveBackgroundAgentId: () => string | null;
136
+ getBackgroundAgentInfo: (agentId: string) => {
137
+ mascot: string;
138
+ } | null;
139
+ }) => void;
140
+ /**
141
+ * Auth-only mode: Only allow /login, /logout, /exit commands.
142
+ * Used when user is not authenticated.
143
+ */
144
+ authOnly?: boolean;
145
+ /**
146
+ * Callback invoked when background delegation support is ready.
147
+ * Allows index.ts to run background delegations via the REPL.
148
+ *
149
+ * Phase 3d-beta: Coordinator Mode
150
+ */
151
+ onBackgroundDelegationReady?: (runDelegation: (agentId: string, message: string) => 'running' | 'queued' | null) => void;
152
+ /**
153
+ * Callback invoked when terminal session is registered.
154
+ * Passes the session ID so index.ts can set sessionPrefix for IPC.
155
+ */
156
+ onSessionRegistered?: (sessionId: string) => void;
157
+ /**
158
+ * Callback invoked when the team is replaced during session restore.
159
+ * Allows index.ts to update sharedState.team so delegation handlers
160
+ * see the restored team (with all agents) instead of the initial one.
161
+ */
162
+ onTeamReplaced?: (newTeam: AgentTeam) => void;
163
+ }
164
+ /**
165
+ * Options for switchAgent().
166
+ * Controls which operations are performed during a switch.
167
+ */
168
+ export interface SwitchAgentOptions {
169
+ /** Demote current foreground agent to background if busy (default: true) */
170
+ demoteCurrentIfBusy?: boolean;
171
+ /** Update foreground session tracking (default: true) */
172
+ trackSession?: boolean;
173
+ /** Record agent switch in telemetry (default: true) */
174
+ recordTelemetry?: boolean;
175
+ }
176
+ /**
177
+ * Result of a switchAgent() call.
178
+ */
179
+ export interface SwitchAgentResult {
180
+ /** The team agent that was switched to */
181
+ teamAgent: {
182
+ id: string;
183
+ displayName: string;
184
+ mascot: string;
185
+ agent: Agent | null;
186
+ toolFilter?: string[] | null;
187
+ };
188
+ /** The agent ID that was demoted to background, or null */
189
+ demotedAgentId: string | null;
84
190
  }
85
191
  export declare class ReplV2 {
86
- private readonly agent?;
192
+ private agent?;
193
+ private team?;
194
+ private readonly agentFactory?;
87
195
  private readonly model;
88
196
  private readonly provider;
89
197
  private readonly version;
198
+ private readonly updateAvailable;
90
199
  private readonly projectName;
200
+ private readonly sessions;
201
+ private foregroundAgentId;
202
+ private readonly agentMessageQueues;
91
203
  private currentSession;
92
204
  private ui;
93
205
  private readonly onUIReady?;
@@ -100,11 +212,23 @@ export declare class ReplV2 {
100
212
  private readonly onSuggestionReady?;
101
213
  private readonly onSubagentReady?;
102
214
  private readonly clearSubagentTracking?;
215
+ private readonly showOnboarding;
216
+ private readonly showLogin;
217
+ private readonly onDelegateReady?;
218
+ private readonly onPendingDelegation?;
219
+ private readonly onBackgroundAgentReady?;
220
+ private readonly onBackgroundDelegationReady?;
221
+ private readonly onSessionRegistered?;
222
+ private readonly onTeamReplaced?;
223
+ private readonly authOnly;
224
+ private restoredSessionInfo;
225
+ private currentExecutingBackgroundAgentId;
103
226
  private readonly startTime;
104
227
  private sessionInputTokens;
105
228
  private sessionOutputTokens;
106
229
  private sessionRequests;
107
230
  private textAccumulator;
231
+ private readonly bashAbortControllers;
108
232
  constructor(options?: ReplV2Options);
109
233
  /**
110
234
  * Flush accumulated agent text to the UI.
@@ -112,13 +236,194 @@ export declare class ReplV2 {
112
236
  * agent's "I'll do X" message appears before the overlay.
113
237
  */
114
238
  private flushTextBuffer;
239
+ /**
240
+ * Get the mascot expression for the currently active agent.
241
+ * Returns the team agent's mascot if active, otherwise default neutral.
242
+ */
243
+ private getActiveAgentMascot;
244
+ /**
245
+ * Start a new agent session (foreground or background).
246
+ * For foreground: sets currentSession and foregroundAgentId
247
+ * For background: only adds to sessions map
248
+ */
249
+ private startSession;
250
+ /**
251
+ * End an agent session.
252
+ * Removes from sessions map, clears currentSession if foreground,
253
+ * and processes any queued messages for this agent.
254
+ */
255
+ private endSession;
256
+ /**
257
+ * Get a session by agent ID.
258
+ */
259
+ private getSession;
260
+ /**
261
+ * Get all background sessions (non-foreground).
262
+ */
263
+ private getBackgroundSessions;
264
+ /**
265
+ * Check if an agent has a running session.
266
+ */
267
+ private hasActiveSession;
268
+ /**
269
+ * Check if any background agents are running.
270
+ */
271
+ private hasBackgroundAgents;
272
+ /**
273
+ * Queue a message for an agent that is currently busy.
274
+ * Returns the queue position (1-based).
275
+ */
276
+ private queueMessage;
277
+ /**
278
+ * Get the number of messages queued for an agent.
279
+ */
280
+ private getQueueLength;
281
+ /**
282
+ * Clear all queued messages for an agent.
283
+ * Returns the number of messages that were cleared.
284
+ */
285
+ private clearQueue;
286
+ /**
287
+ * Clear all message queues for all agents.
288
+ * Returns the total number of messages cleared.
289
+ */
290
+ private clearAllQueues;
291
+ /**
292
+ * Process the next message in an agent's queue.
293
+ * Called after an agent completes a task.
294
+ */
295
+ private processAgentQueue;
296
+ /**
297
+ * Get detailed info about background sessions (for /bg overlay).
298
+ * Phase 3c: Background Status & Control
299
+ */
300
+ private getBackgroundSessionsInfo;
301
+ /**
302
+ * Send the current foreground agent to background without aborting it.
303
+ * The agent continues running; the user regains the input prompt.
304
+ * Returns the agent ID that was sent to background, or null if no foreground session.
305
+ */
306
+ private sendForegroundToBackground;
307
+ /**
308
+ * Consolidated agent-switching method.
309
+ *
310
+ * Performs ALL operations needed to switch the foreground to a different agent:
311
+ * 1. Demote current foreground agent to background (if busy + different agent)
312
+ * 2. team.switchTo(agentId)
313
+ * 3. Update this.agent reference
314
+ * 4. Update meta-tool filter
315
+ * 5. Update footer UI
316
+ * 6. Update foreground session tracking (restore agentRunning/spinner)
317
+ * 7. Record telemetry
318
+ *
319
+ * Callers handle their own messaging (different styles/wording per context).
320
+ */
321
+ private switchAgent;
322
+ /**
323
+ * Bring a background agent to foreground.
324
+ * Validates the agent has a background session, then delegates to switchAgent().
325
+ * Phase 3c: Background Status & Control
326
+ */
327
+ private bringAgentToForeground;
328
+ /**
329
+ * Kill/cancel a background agent.
330
+ * Phase 3c: Background Status & Control
331
+ */
332
+ private killAgent;
333
+ /**
334
+ * Get mascot label for an agent (for output labeling).
335
+ * Format: "[◈_◈] $arch" - mascot followed by agent reference
336
+ */
337
+ private getAgentMascotLabel;
338
+ /**
339
+ * Auto-expand conversation filter if user is sending to an agent not in the filter.
340
+ * Shows info message when filter is expanded.
341
+ * @returns true if filter was expanded, false otherwise
342
+ */
343
+ private autoExpandFilterIfNeeded;
344
+ /**
345
+ * Regex to detect PLAN_READY marker in agent text.
346
+ * Format: [PLAN_READY:plan_id:plan_name]
347
+ */
348
+ private static readonly PLAN_READY_REGEX;
349
+ /**
350
+ * Check if text contains PLAN_READY marker and extract plan info.
351
+ */
352
+ private detectPlanReady;
353
+ /**
354
+ * Handle plan approval flow.
355
+ * Shows the approval overlay and handles the user's choice.
356
+ */
357
+ private handlePlanApproval;
358
+ /**
359
+ * Restore the agent from a previous state.
360
+ * Called by /resume command to swap in a restored agent.
361
+ */
362
+ restoreAgent(newAgent: Agent): void;
363
+ /**
364
+ * Get the current agent instance.
365
+ * Used by commands that need to serialize/checkpoint the agent state.
366
+ */
367
+ getAgent(): Agent | undefined;
115
368
  /**
116
369
  * Start the REPL.
117
370
  */
118
371
  start(): void;
372
+ /**
373
+ * Handle login flow: show branded login overlay, then continue to onboarding or normal startup.
374
+ */
375
+ private handleLoginFlow;
376
+ /**
377
+ * Handle startup sequence: session restoration first, then menu if applicable.
378
+ * This ensures proper ordering of startup overlays.
379
+ */
380
+ private handleStartupSequence;
381
+ /**
382
+ * Restore a persisted team for a given terminal prefix.
383
+ * Replaces the current (fresh) team with the one from disk.
384
+ * Returns true if a team was restored.
385
+ */
386
+ private restoreTeamForPrefix;
387
+ /**
388
+ * Auto-restore session silently (for 'auto' mode).
389
+ * Restores both conversation history AND team roster.
390
+ * Called at startup when projectSessionMode='auto'.
391
+ *
392
+ * Behavior depends on whether other terminals are active on the same project:
393
+ * - Single terminal: silently restore the most recent available session + claim it
394
+ * - Multiple terminals: fall back to 'ask' mode (show overlay)
395
+ */
396
+ private autoRestoreSession;
397
+ /**
398
+ * When this terminal has no session but other terminals do, show the resume
399
+ * overlay so the user can pick one or start fresh.
400
+ */
401
+ private offerOtherTerminalSessions;
402
+ /**
403
+ * Parse session ID format for startup flow (duplicates session handler logic
404
+ * to avoid circular import).
405
+ */
406
+ private parseCurrentSessionIdForStartup;
407
+ /**
408
+ * Handle session mode prompt at startup when projectSessionMode='ask'.
409
+ * Shows overlay to let user choose how to handle existing session.
410
+ */
411
+ private handleSessionModePrompt;
412
+ /**
413
+ * Apply the user's session mode choice.
414
+ */
415
+ private handleSessionModeResult;
416
+ /**
417
+ * Show the onboarding wizard for first-time users.
418
+ * Called on first run, or manually via /init command.
419
+ */
420
+ private showOnboardingWizard;
119
421
  /**
120
422
  * Stop the REPL.
423
+ * Aborts all running sessions (foreground and background).
121
424
  */
425
+ /** Set MCP loading state on the footer status bar. */
426
+ setMCPLoading(loading: boolean, toolCount?: number): void;
122
427
  stop(): void;
123
428
  /**
124
429
  * Print just the logo to the scrolling area.
@@ -137,12 +442,98 @@ export declare class ReplV2 {
137
442
  */
138
443
  private processAgentMessageQueue;
139
444
  private processInput;
445
+ /**
446
+ * Process input in background mode.
447
+ * Starts the agent without blocking, allowing user to continue with foreground work.
448
+ *
449
+ * @param agentId - The agent to run in background
450
+ * @param input - The message to send to the agent
451
+ */
452
+ private processInputBackground;
453
+ /**
454
+ * Parse $name prefix from input.
455
+ * Returns the agent ID, remaining input, and whether this is a background request.
456
+ * Returns null if the agent doesn't exist.
457
+ *
458
+ * Examples:
459
+ * "$arch Design the API" → { agentId: 'arch', remainingInput: 'Design the API', isBackground: false }
460
+ * "$arch Design the API &" → { agentId: 'arch', remainingInput: 'Design the API', isBackground: true }
461
+ * "$pm /backlog" → { agentId: 'pm', remainingInput: '/backlog', isBackground: false }
462
+ * "$arch" → { agentId: 'arch', remainingInput: '', isBackground: false }
463
+ */
464
+ private parseAgentPrefix;
465
+ /**
466
+ * Resolve $agent mention references in input and inject context.
467
+ *
468
+ * This handles mid-sentence mentions like:
469
+ * "What did $arch propose for the API?"
470
+ * "Based on $pm's plan, estimate the timeline"
471
+ *
472
+ * The resolved context is prepended to the message before sending to the agent.
473
+ */
474
+ private resolveAndInjectMentions;
140
475
  /**
141
476
  * Handle memory note input ("# note") - V2 compatible version
142
477
  */
143
478
  private handleMemoryInputV2;
479
+ /**
480
+ * Handle bash command ("!ls", "!git status", etc.)
481
+ * Runs the command directly and displays output.
482
+ * Special handling for 'cd' to change the CLI's working directory.
483
+ */
484
+ private handleBashCommand;
144
485
  private processQueue;
145
486
  private runAgentReal;
487
+ /**
488
+ * Format completion events into a structured message for the coordinator.
489
+ * Groups events by agent and includes task, result summary, and artifact info.
490
+ */
491
+ private formatCompletionMessage;
492
+ /**
493
+ * Check and process delegation completions for an agent that just finished.
494
+ * Marks all running delegations for this agent as completed or failed,
495
+ * then attempts to auto-resume the coordinator if idle.
496
+ *
497
+ * @param agentId - The agent that just finished
498
+ * @param error - If present, the agent failed with this error
499
+ */
500
+ private checkDelegationCompletion;
501
+ /**
502
+ * Auto-resume the coordinator if it's idle and there are pending completion events.
503
+ * If the coordinator is busy, events stay in queue for deferred delivery.
504
+ *
505
+ * Must be async to properly await switchAgent before running the coordinator.
506
+ * Called fire-and-forget from checkDelegationCompletion — this ensures the
507
+ * background agent's endSession() runs independently (no session conflicts).
508
+ */
509
+ private maybeResumeCoordinator;
510
+ /**
511
+ * Run an agent in background (Phase 3 - Background Agents).
512
+ * Similar to runAgentReal but:
513
+ * - Creates a background session (isBackground: true)
514
+ * - Labels all output with agent mascot
515
+ * - Doesn't block the caller
516
+ * - Shows completion notification when done
517
+ *
518
+ * @param agentId - The agent ID to run
519
+ * @param userMessage - The message to send to the agent
520
+ */
521
+ private runAgentBackground;
522
+ /**
523
+ * Handle pending delegation after agent finishes.
524
+ * If a delegation was approved during the agent run, switch to the
525
+ * target agent and inject the task as a user message.
526
+ */
527
+ private handlePendingDelegation;
528
+ /**
529
+ * Auto-save the current session and team state.
530
+ * Called after each successful agent response.
531
+ *
532
+ * Saves two things:
533
+ * 1. Default agent's session state (for /resume - conversation history)
534
+ * 2. Team state (for team persistence - all agent states including roles)
535
+ */
536
+ private autoSaveSession;
146
537
  private formatToolParams;
147
538
  /**
148
539
  * Extract content and summary from tool result.
@@ -151,5 +542,13 @@ export declare class ReplV2 {
151
542
  private extractToolResult;
152
543
  private runAgentSimulation;
153
544
  private sleep;
545
+ /**
546
+ * Print per-turn summary (tokens, duration, tool calls)
547
+ */
548
+ private printTurnSummary;
549
+ /**
550
+ * Cancel the foreground session.
551
+ * Background agents continue running.
552
+ */
154
553
  private cancelSession;
155
554
  }