@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,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;