@compilr-dev/cli 0.5.0 → 0.5.2

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