@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,171 @@
1
+ /**
2
+ * Background Execution Tutorial
3
+ *
4
+ * Covers running agents in background, /bg, /fg, /kill, /pending, /filter.
5
+ */
6
+ export const backgroundExecutionTutorial = (s) => ({
7
+ id: 'background-execution',
8
+ title: 'Background Execution',
9
+ description: 'Run agents in parallel',
10
+ pages: [
11
+ // Page 1: Introduction
12
+ {
13
+ title: 'Background Execution',
14
+ lines: [
15
+ '',
16
+ ` Run agents in the ${s.primaryBold('background')} while you keep working`,
17
+ ` in the foreground. Great for parallel tasks.`,
18
+ '',
19
+ ` ${s.secondary('The & suffix:')}`,
20
+ '',
21
+ ` ${s.primary('$qa review the auth module &')}`,
22
+ ` ${s.primary('review the work items &')}`,
23
+ '',
24
+ ` Add ${s.primaryBold('&')} at the end of any message to run it in the`,
25
+ ` background. The agent processes your request while`,
26
+ ` you continue working.`,
27
+ '',
28
+ ` ${s.muted('[⊡_⊡] $myagent Started in background')}`,
29
+ ` ${s.muted('[⊡_⊡] $myagent: Running: workitem_query')}`,
30
+ ` ${s.muted('[⊡_⊡] $myagent: Backlog Review Summary...')}`,
31
+ ` ${s.muted('[⊡_⊡] $myagent Finished')} ${s.success('✓')}`,
32
+ '',
33
+ ],
34
+ },
35
+ // Page 2: Managing Background Agents
36
+ {
37
+ title: 'Managing Background Agents',
38
+ lines: [
39
+ '',
40
+ ` The status bar shows active background agents:`,
41
+ '',
42
+ ` ${s.warning('bg: 2')} ${s.muted('[↓]')}`,
43
+ '',
44
+ ` Press ${s.primaryBold('Down arrow')} to select, then ${s.primaryBold('Enter')} to open /bg.`,
45
+ '',
46
+ ` ${s.primaryBold('/bg')} — View all running background agents`,
47
+ '',
48
+ ` ${s.muted('[⊡_⊡] $myagent — Running: read_file')}`,
49
+ ` ${s.muted('[◉_◉] $qa — Queued (1 pending)')}`,
50
+ ` ${s.muted('f = foreground · k = kill')}`,
51
+ '',
52
+ ` ${s.primaryBold('/fg <agent>')} — Bring agent to foreground`,
53
+ ` ${s.primaryBold('/kill <agent>')} — Stop a background agent`,
54
+ '',
55
+ ` Background agents run independently — their messages`,
56
+ ` appear inline as they complete.`,
57
+ '',
58
+ ],
59
+ },
60
+ // Page 3: Pending Requests
61
+ {
62
+ title: 'Pending Requests',
63
+ lines: [
64
+ '',
65
+ ` When a background agent needs your input, indicators`,
66
+ ` appear in the status bar:`,
67
+ '',
68
+ ` ${s.warning('pending: 1')} ${s.muted('[↓]')}`,
69
+ '',
70
+ ` Press ${s.primaryBold('Down arrow')} to select, then ${s.primaryBold('Enter')} to open.`,
71
+ ` Or run ${s.primary('/pending')} (or ${s.primary('/p')}) to see requests:`,
72
+ '',
73
+ ` ${s.muted('Pending Requests (1 total)')}`,
74
+ '',
75
+ ` ${s.primary('>')} ${s.muted('[⊡_⊡] $myagent: bash: Execute command')}`,
76
+ ` ${s.muted('Type: Permission request')}`,
77
+ ` ${s.muted('[a]pprove [d]eny')}`,
78
+ '',
79
+ ` ${s.secondary('Request types:')}`,
80
+ '',
81
+ ` ${s.primaryBold('Permission')} — Agent needs approval for an action`,
82
+ ` ${s.muted('Press')} ${s.primaryBold('a')} ${s.muted('to approve,')} ${s.primaryBold('d')} ${s.muted('to deny')}`,
83
+ '',
84
+ ` ${s.primaryBold('Question')} — Agent needs your answer to proceed`,
85
+ ` ${s.muted('Press')} ${s.primaryBold('r')} ${s.muted('or Enter to respond')}`,
86
+ '',
87
+ ],
88
+ },
89
+ // Page 4: Conversation Filtering
90
+ {
91
+ title: 'Conversation Filtering',
92
+ lines: [
93
+ '',
94
+ ` With multiple agents, conversations can get busy.`,
95
+ ` Use ${s.primary('/filter')} to focus on specific agents:`,
96
+ '',
97
+ ` ${s.primary('/filter $arch')} Show only $arch messages`,
98
+ ` ${s.primary('/filter $arch $dev')} Show $arch and $dev`,
99
+ ` ${s.primary('/filter --clear')} Show all messages again`,
100
+ '',
101
+ ` Or use the overlay:`,
102
+ '',
103
+ ` ${s.primary('/filter')} (no args) opens a checkbox overlay`,
104
+ '',
105
+ ` ${s.muted('[x] $default')}`,
106
+ ` ${s.muted('[ ] $pm')}`,
107
+ ` ${s.muted('[x] $dev')}`,
108
+ '',
109
+ ` ${s.muted('Space = toggle · a = all · n = none · Enter = apply')}`,
110
+ '',
111
+ ` Filtering is ${s.primaryBold('display-only')} — the full history is`,
112
+ ` preserved. Agents still see all context.`,
113
+ '',
114
+ ],
115
+ },
116
+ // Page 5: Practical Examples
117
+ {
118
+ title: 'Practical Examples',
119
+ lines: [
120
+ '',
121
+ ` ${s.secondary('Parallel code review:')}`,
122
+ '',
123
+ ` ${s.primary('$qa review the auth module &')}`,
124
+ ` ${s.primary('$arch check the API design &')}`,
125
+ ` ${s.muted('...continue working while they review...')}`,
126
+ '',
127
+ ` ${s.secondary('Background research:')}`,
128
+ '',
129
+ ` ${s.primary('$pm review the backlog priorities &')}`,
130
+ ` ${s.muted('...ask $dev about implementation...')}`,
131
+ '',
132
+ ` ${s.secondary('Queue multiple tasks:')}`,
133
+ '',
134
+ ` ${s.primary('$dev fix the login bug &')}`,
135
+ ` ${s.primary('$dev then update the tests &')}`,
136
+ ` ${s.muted('Tasks queue up — second runs after first finishes')}`,
137
+ '',
138
+ ` ${s.warning('TIP:')} Messages to the same background agent queue up.`,
139
+ ` Messages to different agents run in parallel.`,
140
+ '',
141
+ ],
142
+ },
143
+ // Page 6: Commands Reference
144
+ {
145
+ title: 'Commands Reference',
146
+ lines: [
147
+ '',
148
+ ` ${s.secondary('Background execution:')}`,
149
+ '',
150
+ ` ${s.primary('message &')} Run current agent in background`,
151
+ ` ${s.primary('$agent msg &')} Switch agent and run in background`,
152
+ '',
153
+ ` ${s.secondary('Management:')}`,
154
+ '',
155
+ ` ${s.primary('/bg')} View background agents`,
156
+ ` ${s.primary('/fg <agent>')} Bring to foreground`,
157
+ ` ${s.primary('/kill <agent>')} Stop background agent`,
158
+ ` ${s.primary('/pending')} View pending requests`,
159
+ ` ${s.primary('/filter')} Filter conversation by agent`,
160
+ '',
161
+ ` ${s.secondary('Shortcuts:')}`,
162
+ '',
163
+ ` ${s.primary('Down arrow')} Select status bar indicators`,
164
+ ` ${s.primary('/p')} Short for /pending`,
165
+ ` ${s.primary('/f')} Short for /filter`,
166
+ ` ${s.primary('/f --clear')} Clear filter`,
167
+ '',
168
+ ],
169
+ },
170
+ ],
171
+ });
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Multi-Terminal Sessions Tutorial
3
+ *
4
+ * Covers multi-terminal awareness, /terminals overlay, session resume,
5
+ * cross-terminal notifications, and agent collision prevention.
6
+ */
7
+ import type { TutorialBuilder } from '../../tutorial-types.js';
8
+ export declare const multiTerminalTutorial: TutorialBuilder;
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Multi-Terminal Sessions Tutorial
3
+ *
4
+ * Covers multi-terminal awareness, /terminals overlay, session resume,
5
+ * cross-terminal notifications, and agent collision prevention.
6
+ */
7
+ export const multiTerminalTutorial = (s) => ({
8
+ id: 'multi-terminal',
9
+ title: 'Multi-Terminal Sessions',
10
+ description: 'Work across multiple terminals',
11
+ pages: [
12
+ // Page 1: Overview
13
+ {
14
+ title: 'Multi-Terminal Sessions',
15
+ lines: [
16
+ '',
17
+ ` Each CLI instance ${s.primaryBold('registers')} in a shared database,`,
18
+ ` so terminals are aware of each other.`,
19
+ '',
20
+ ` ${s.secondary('Status bar indicator:')}`,
21
+ '',
22
+ ` ${s.warning('terminals: 2')} ${s.muted('[↓]')}`,
23
+ '',
24
+ ` When more than one terminal is active, the status bar`,
25
+ ` shows the count. Press ${s.primaryBold('Down arrow')} to select it.`,
26
+ '',
27
+ ` ${s.secondary('View sessions:')}`,
28
+ '',
29
+ ` ${s.primary('/terminals')} Open the terminals overlay`,
30
+ ` ${s.primary('/sessions')} Alias for /terminals`,
31
+ '',
32
+ ` The overlay shows each terminal's ID, PID, active agent,`,
33
+ ` label, and last heartbeat. Press Enter for details.`,
34
+ '',
35
+ ],
36
+ },
37
+ // Page 2: Terminal Awareness
38
+ {
39
+ title: 'Terminal Awareness',
40
+ lines: [
41
+ '',
42
+ ` ${s.secondary('What each terminal knows:')}`,
43
+ '',
44
+ ` ${s.muted('•')} ${s.primaryBold('Agent roster')} — see which agents run in other terminals`,
45
+ ` ${s.muted('•')} ${s.primaryBold('Active agent')} — know what each terminal is working on`,
46
+ ` ${s.muted('•')} ${s.primaryBold('Session files')} — per-terminal files prevent clobbering`,
47
+ '',
48
+ ` ${s.secondary('Agent collision prevention:')}`,
49
+ '',
50
+ ` If Terminal 1 has a ${s.primary('$pm')} agent and you run ${s.primary('/add pm')}`,
51
+ ` in Terminal 2, the CLI detects the collision:`,
52
+ '',
53
+ ` ${s.info('Agent \'pm\' is active in another terminal. Using \'pm_2\' instead.')}`,
54
+ '',
55
+ ` Each terminal gets a unique agent ID automatically.`,
56
+ '',
57
+ ` ${s.secondary('Session cleanup:')}`,
58
+ '',
59
+ ` When a terminal exits, its session files are cleaned up.`,
60
+ ` Stale sessions (no heartbeat for 2+ minutes) are removed`,
61
+ ` automatically by other terminals.`,
62
+ '',
63
+ ],
64
+ },
65
+ // Page 3: Session Resume
66
+ {
67
+ title: 'Session Resume',
68
+ lines: [
69
+ '',
70
+ ` When you switch projects or restart, the CLI can restore`,
71
+ ` your previous conversation.`,
72
+ '',
73
+ ` ${s.secondary('Three resume modes (set in /config):')}`,
74
+ '',
75
+ ` ${s.primaryBold('Auto')} Immediately restores the previous session`,
76
+ ` ${s.primaryBold('Ask')} Prompts whether to restore or start fresh`,
77
+ ` ${s.primaryBold('Fresh')} Always starts with a clean conversation`,
78
+ '',
79
+ ` ${s.secondary('Use /resume to manually pick a session:')}`,
80
+ '',
81
+ ` ${s.primary('/resume')} Browse available sessions`,
82
+ '',
83
+ ` The overlay shows sessions from:`,
84
+ ` ${s.muted('•')} Current terminal (most recent)`,
85
+ ` ${s.muted('•')} Other terminals (can be claimed)`,
86
+ ` ${s.muted('•')} History (older sessions)`,
87
+ '',
88
+ ],
89
+ },
90
+ // Page 4: Session Claiming
91
+ {
92
+ title: 'Session Claiming',
93
+ lines: [
94
+ '',
95
+ ` You can ${s.primaryBold('claim')} a session from another terminal.`,
96
+ ` This transfers ownership to your current terminal.`,
97
+ '',
98
+ ` ${s.secondary('How it works:')}`,
99
+ '',
100
+ ` ${s.muted('1.')} Open ${s.primary('/resume')} and find the session`,
101
+ ` ${s.muted('2.')} Select it and press ${s.primaryBold('Enter')}`,
102
+ ` ${s.muted('3.')} Session files are moved to your terminal`,
103
+ ` ${s.muted('4.')} Team state and conversation are restored`,
104
+ '',
105
+ ` ${s.secondary('Session isolation:')}`,
106
+ '',
107
+ ` Each terminal has a unique 8-character prefix.`,
108
+ ` Session files like ${s.muted('current-a1b2c3d4.json')} belong to`,
109
+ ` that specific terminal. Claiming renames the file`,
110
+ ` to your terminal's prefix.`,
111
+ '',
112
+ ` ${s.warning('TIP:')} Sessions from exited terminals are fair game.`,
113
+ ` Active terminals keep their sessions locked.`,
114
+ '',
115
+ ],
116
+ },
117
+ // Page 5: Cross-Terminal Notifications
118
+ {
119
+ title: 'Cross-Terminal Notifications',
120
+ lines: [
121
+ '',
122
+ ` Terminals communicate via the shared database.`,
123
+ '',
124
+ ` ${s.secondary('Notification types:')}`,
125
+ '',
126
+ ` ${s.primaryBold('pending_request')} Approval requests from agents`,
127
+ ` ${s.primaryBold('agent_finished')} Background agent completed work`,
128
+ '',
129
+ ` ${s.secondary('How notifications arrive:')}`,
130
+ '',
131
+ ` Each terminal polls every 5 seconds for new events.`,
132
+ ` When a notification arrives, it appears in the`,
133
+ ` status bar as a navigable indicator.`,
134
+ '',
135
+ ` ${s.secondary('Status bar navigation:')}`,
136
+ '',
137
+ ` ${s.primaryBold('Down arrow')} Enter status bar from input`,
138
+ ` ${s.primaryBold('Left/Right')} Move between indicators`,
139
+ ` ${s.primaryBold('Enter')} Open the relevant overlay`,
140
+ ` ${s.primaryBold('Escape')} Exit status bar navigation`,
141
+ '',
142
+ ` Indicators: ${s.warning('pending')} ${s.info('bg-agents')} ${s.success('terminals')} ${s.primary('notifications')}`,
143
+ '',
144
+ ],
145
+ },
146
+ ],
147
+ });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Task Assignment Tutorial
3
+ *
4
+ * Covers work item and todo assignment, handoffs, artifacts, and coordinator.
5
+ */
6
+ import type { TutorialBuilder } from '../../tutorial-types.js';
7
+ export declare const taskAssignmentTutorial: TutorialBuilder;
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Task Assignment Tutorial
3
+ *
4
+ * Covers work item and todo assignment, handoffs, artifacts, and coordinator.
5
+ */
6
+ export const taskAssignmentTutorial = (s) => ({
7
+ id: 'task-assignment',
8
+ title: 'Task Assignment',
9
+ description: 'Assign work to agents',
10
+ pages: [
11
+ // Page 1: Introduction
12
+ {
13
+ title: 'Task Assignment',
14
+ lines: [
15
+ '',
16
+ ` Agents can ${s.primaryBold('claim')} and ${s.primaryBold('hand off')} tasks to each other,`,
17
+ ` giving your team structured ownership of work.`,
18
+ '',
19
+ ` ${s.secondary('Two types of tasks can be assigned:')}`,
20
+ '',
21
+ ` ${s.primaryBold('Work Items')} — Backlog items (persistent, in database)`,
22
+ ` ${s.muted(' "Implement user authentication" (REQ-001)')}`,
23
+ '',
24
+ ` ${s.primaryBold('Todos')} — Session tasks (temporary, current session)`,
25
+ ` ${s.muted(' "Fix type errors" "Run tests"')}`,
26
+ '',
27
+ ` ${s.secondary('The basic flow:')}`,
28
+ '',
29
+ ` ${s.muted('1.')} Agent claims a task → status: ${s.primaryBold('in_progress')}`,
30
+ ` ${s.muted('2.')} Agent does the work`,
31
+ ` ${s.muted('3.')} Agent hands off or completes`,
32
+ '',
33
+ ],
34
+ },
35
+ // Page 2: Work Item Assignment
36
+ {
37
+ title: 'Work Item Assignment',
38
+ lines: [
39
+ '',
40
+ ` Agents use tools to claim and hand off backlog items:`,
41
+ '',
42
+ ` ${s.primaryBold('Claiming:')}`,
43
+ '',
44
+ ` ${s.muted('● workitem_claim({ workitem_id: 5, owner: "self" })')}`,
45
+ ` ${s.muted('⎿ Work item claimed by $dev')}`,
46
+ '',
47
+ ` Sets status to ${s.primaryBold('in_progress')} and assigns the owner.`,
48
+ '',
49
+ ` ${s.primaryBold('Handing off:')}`,
50
+ '',
51
+ ` ${s.muted('● workitem_handoff({')}`,
52
+ ` ${s.muted(' workitem_id: 5,')}`,
53
+ ` ${s.muted(' to_agent: "qa",')}`,
54
+ ` ${s.muted(' note: "Ready for testing"')}`,
55
+ ` ${s.muted(' })')}`,
56
+ '',
57
+ ` ${s.primaryBold('Querying by owner:')}`,
58
+ '',
59
+ ` ${s.muted('workitem_query({ owner: "self" })')} My items`,
60
+ ` ${s.muted('workitem_query({ owner: "unassigned" })')} Free items`,
61
+ '',
62
+ ],
63
+ },
64
+ // Page 3: Todo Assignment
65
+ {
66
+ title: 'Todo Assignment',
67
+ lines: [
68
+ '',
69
+ ` Session todos work the same way:`,
70
+ '',
71
+ ` ${s.primaryBold('Claiming a todo:')}`,
72
+ '',
73
+ ` ${s.muted('● todo_claim({ todo_index: 2, owner: "self" })')}`,
74
+ ` ${s.muted('⎿ Todo claimed by $dev')}`,
75
+ '',
76
+ ` ${s.primaryBold('Handing off a todo:')}`,
77
+ '',
78
+ ` ${s.muted('● todo_handoff({')}`,
79
+ ` ${s.muted(' todo_index: 2,')}`,
80
+ ` ${s.muted(' to_agent: "qa",')}`,
81
+ ` ${s.muted(' note: "Tests written, please verify"')}`,
82
+ ` ${s.muted(' })')}`,
83
+ '',
84
+ ` ${s.secondary('Typical multi-agent workflow:')}`,
85
+ '',
86
+ ` ${s.muted('$pm creates todo plan with todo_write')}`,
87
+ ` ${s.muted('$dev claims implementation todos')}`,
88
+ ` ${s.muted('$qa claims testing todos')}`,
89
+ ` ${s.muted('$dev hands off to $qa when code is ready')}`,
90
+ '',
91
+ ],
92
+ },
93
+ // Page 4: Team Artifacts
94
+ {
95
+ title: 'Team Artifacts',
96
+ lines: [
97
+ '',
98
+ ` Agents can publish ${s.primaryBold('artifacts')} — named pieces of work`,
99
+ ` that the whole team can reference.`,
100
+ '',
101
+ ` ${s.secondary('Artifact types:')}`,
102
+ '',
103
+ ` ${s.primaryBold('Design')} System designs, API specs`,
104
+ ` ${s.primaryBold('Plan')} Implementation plans, roadmaps`,
105
+ ` ${s.primaryBold('Review')} Code reviews, QA reports`,
106
+ ` ${s.primaryBold('Decision')} Architecture decisions (ADRs)`,
107
+ ` ${s.primaryBold('Note')} General notes, meeting notes`,
108
+ '',
109
+ ` ${s.secondary('Browsing artifacts:')}`,
110
+ '',
111
+ ` ${s.primary('/artifact')} Open the artifacts overlay`,
112
+ '',
113
+ ` ${s.muted('Tabs: All | Design | Plan | Review | Decision | Note')}`,
114
+ '',
115
+ ` Artifacts persist across sessions and are stored`,
116
+ ` per-project. They help agents share structured work.`,
117
+ '',
118
+ ],
119
+ },
120
+ // Page 5: Coordinator Mode
121
+ {
122
+ title: 'Coordinator Mode',
123
+ lines: [
124
+ '',
125
+ ` The ${s.primaryBold('default agent')} acts as ${s.primaryBold('coordinator')} and can`,
126
+ ` delegate tasks to specialists running in the background.`,
127
+ '',
128
+ ` ${s.secondary('How it works:')}`,
129
+ '',
130
+ ` ${s.muted('1.')} Coordinator calls ${s.primary('delegate_background')} tool`,
131
+ ` ${s.muted('2.')} Specialist runs the task in the background`,
132
+ ` ${s.muted('3.')} On completion, coordinator is auto-notified`,
133
+ '',
134
+ ` ${s.secondary('delegate_background parameters:')}`,
135
+ '',
136
+ ` ${s.primaryBold('agentId')} Target specialist (e.g., "dev", "qa")`,
137
+ ` ${s.primaryBold('task')} Detailed task description`,
138
+ ` ${s.primaryBold('todoIndex')} Optional: link to a todo item`,
139
+ ` ${s.primaryBold('expectedOutput')} Optional: what to produce`,
140
+ '',
141
+ ` ${s.secondary('Agent status:')}`,
142
+ '',
143
+ ` ${s.success('running')} — Started immediately (agent was free)`,
144
+ ` ${s.warning('queued')} — Agent busy, starts when free`,
145
+ '',
146
+ ],
147
+ },
148
+ // Page 6: Completion & Auto-Resume
149
+ {
150
+ title: 'Completion & Auto-Resume',
151
+ lines: [
152
+ '',
153
+ ` When a specialist finishes, the coordinator gets a`,
154
+ ` ${s.primaryBold('completion event')} with results and artifacts.`,
155
+ '',
156
+ ` ${s.secondary('Two delivery scenarios:')}`,
157
+ '',
158
+ ` ${s.primaryBold('Immediate')} — Coordinator is idle:`,
159
+ ` Coordinator auto-resumes with the completion summary.`,
160
+ '',
161
+ ` ${s.primaryBold('Deferred')} — Coordinator is busy:`,
162
+ ` Events queue up and are delivered with the next message.`,
163
+ '',
164
+ ` ${s.secondary('Completion message includes:')}`,
165
+ '',
166
+ ` ${s.muted('•')} Agent name and status (completed / failed)`,
167
+ ` ${s.muted('•')} Original task description`,
168
+ ` ${s.muted('•')} Result summary and any artifacts created`,
169
+ '',
170
+ ` ${s.warning('TIP:')} Specialists are scoped — they only work on the`,
171
+ ` delegated task and stop when done. Artifacts persist`,
172
+ ` for the coordinator to reference later.`,
173
+ '',
174
+ ],
175
+ },
176
+ // Page 7: Putting It Together
177
+ {
178
+ title: 'Putting It Together',
179
+ lines: [
180
+ '',
181
+ ` ${s.secondary('Example: Coordinated feature development')}`,
182
+ '',
183
+ ` ${s.muted('1.')} Coordinator delegates architecture to ${s.primary('$arch')}`,
184
+ ` ${s.muted('2.')} ${s.primary('$arch')} publishes artifact, auto-notifies coordinator`,
185
+ ` ${s.muted('3.')} Coordinator delegates implementation to ${s.primary('$dev')}`,
186
+ ` ${s.muted('4.')} Coordinator delegates tests to ${s.primary('$qa')}`,
187
+ ` ${s.muted('5.')} Results flow back as completion events`,
188
+ '',
189
+ ` ${s.secondary('Commands reference:')}`,
190
+ '',
191
+ ` ${s.primary('/team')} Manage your team`,
192
+ ` ${s.primary('/artifact')} Browse team artifacts`,
193
+ ` ${s.primary('/bg')} View background agents`,
194
+ ` ${s.primary('/pending')} Handle agent requests`,
195
+ ` ${s.primary('/filter')} Filter conversation`,
196
+ '',
197
+ ` ${s.warning('TIP:')} You don't need all of this to get started.`,
198
+ ` Most users just need ${s.primary('$agent')} switching and`,
199
+ ` the occasional ${s.primary('&')} for background work.`,
200
+ '',
201
+ ],
202
+ },
203
+ ],
204
+ });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Team Overview Tutorial
3
+ *
4
+ * Introduction to multi-agent teams and the /team command.
5
+ */
6
+ import type { TutorialBuilder } from '../../tutorial-types.js';
7
+ export declare const teamOverviewTutorial: TutorialBuilder;