@swarmify/agents-cli 1.12.0 → 1.13.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 (539) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/LICENSE +21 -0
  3. package/README.md +212 -232
  4. package/dist/commands/__tests__/sessions.test.js +90 -20
  5. package/dist/commands/__tests__/sessions.test.js.map +1 -1
  6. package/dist/commands/cloud.d.ts +11 -0
  7. package/dist/commands/cloud.d.ts.map +1 -0
  8. package/dist/commands/cloud.js +363 -0
  9. package/dist/commands/cloud.js.map +1 -0
  10. package/dist/commands/commands.d.ts +9 -0
  11. package/dist/commands/commands.d.ts.map +1 -1
  12. package/dist/commands/commands.js +330 -139
  13. package/dist/commands/commands.js.map +1 -1
  14. package/dist/commands/daemon.d.ts +8 -0
  15. package/dist/commands/daemon.d.ts.map +1 -1
  16. package/dist/commands/daemon.js +38 -222
  17. package/dist/commands/daemon.js.map +1 -1
  18. package/dist/commands/drive.d.ts +8 -0
  19. package/dist/commands/drive.d.ts.map +1 -1
  20. package/dist/commands/drive.js +70 -7
  21. package/dist/commands/drive.js.map +1 -1
  22. package/dist/commands/exec.d.ts +9 -1
  23. package/dist/commands/exec.d.ts.map +1 -1
  24. package/dist/commands/exec.js +198 -24
  25. package/dist/commands/exec.js.map +1 -1
  26. package/dist/commands/factory.d.ts +11 -0
  27. package/dist/commands/factory.d.ts.map +1 -0
  28. package/dist/commands/factory.js +445 -0
  29. package/dist/commands/factory.js.map +1 -0
  30. package/dist/commands/fork.d.ts +8 -0
  31. package/dist/commands/fork.d.ts.map +1 -1
  32. package/dist/commands/fork.js +38 -4
  33. package/dist/commands/fork.js.map +1 -1
  34. package/dist/commands/hooks.d.ts +9 -0
  35. package/dist/commands/hooks.d.ts.map +1 -1
  36. package/dist/commands/hooks.js +252 -18
  37. package/dist/commands/hooks.js.map +1 -1
  38. package/dist/commands/init.d.ts +15 -0
  39. package/dist/commands/init.d.ts.map +1 -0
  40. package/dist/commands/init.js +137 -0
  41. package/dist/commands/init.js.map +1 -0
  42. package/dist/commands/mcp.d.ts +9 -0
  43. package/dist/commands/mcp.d.ts.map +1 -1
  44. package/dist/commands/mcp.js +250 -169
  45. package/dist/commands/mcp.js.map +1 -1
  46. package/dist/commands/models.d.ts +11 -0
  47. package/dist/commands/models.d.ts.map +1 -0
  48. package/dist/commands/models.js +170 -0
  49. package/dist/commands/models.js.map +1 -0
  50. package/dist/commands/packages.d.ts +8 -0
  51. package/dist/commands/packages.d.ts.map +1 -1
  52. package/dist/commands/packages.js +155 -14
  53. package/dist/commands/packages.js.map +1 -1
  54. package/dist/commands/permissions.d.ts +9 -0
  55. package/dist/commands/permissions.d.ts.map +1 -1
  56. package/dist/commands/permissions.js +72 -13
  57. package/dist/commands/permissions.js.map +1 -1
  58. package/dist/commands/plugins.d.ts +8 -0
  59. package/dist/commands/plugins.d.ts.map +1 -1
  60. package/dist/commands/plugins.js +265 -44
  61. package/dist/commands/plugins.js.map +1 -1
  62. package/dist/commands/profiles.d.ts +12 -0
  63. package/dist/commands/profiles.d.ts.map +1 -0
  64. package/dist/commands/profiles.js +255 -0
  65. package/dist/commands/profiles.js.map +1 -0
  66. package/dist/commands/pty.d.ts +1 -0
  67. package/dist/commands/pty.d.ts.map +1 -1
  68. package/dist/commands/pty.js +133 -22
  69. package/dist/commands/pty.js.map +1 -1
  70. package/dist/commands/pull.d.ts +8 -0
  71. package/dist/commands/pull.d.ts.map +1 -1
  72. package/dist/commands/pull.js +103 -14
  73. package/dist/commands/pull.js.map +1 -1
  74. package/dist/commands/push.d.ts +8 -0
  75. package/dist/commands/push.d.ts.map +1 -1
  76. package/dist/commands/push.js +37 -3
  77. package/dist/commands/push.js.map +1 -1
  78. package/dist/commands/refresh-memory.d.ts +16 -0
  79. package/dist/commands/refresh-memory.d.ts.map +1 -0
  80. package/dist/commands/refresh-memory.js +52 -0
  81. package/dist/commands/refresh-memory.js.map +1 -0
  82. package/dist/commands/resource-view.d.ts +39 -0
  83. package/dist/commands/resource-view.d.ts.map +1 -0
  84. package/dist/commands/resource-view.js +197 -0
  85. package/dist/commands/resource-view.js.map +1 -0
  86. package/dist/commands/routines.d.ts +8 -0
  87. package/dist/commands/routines.d.ts.map +1 -1
  88. package/dist/commands/routines.js +163 -34
  89. package/dist/commands/routines.js.map +1 -1
  90. package/dist/commands/rules.d.ts +9 -0
  91. package/dist/commands/rules.d.ts.map +1 -1
  92. package/dist/commands/rules.js +83 -12
  93. package/dist/commands/rules.js.map +1 -1
  94. package/dist/commands/secrets.d.ts +11 -0
  95. package/dist/commands/secrets.d.ts.map +1 -0
  96. package/dist/commands/secrets.js +352 -0
  97. package/dist/commands/secrets.js.map +1 -0
  98. package/dist/commands/sessions-picker.d.ts +18 -0
  99. package/dist/commands/sessions-picker.d.ts.map +1 -0
  100. package/dist/commands/sessions-picker.js +265 -0
  101. package/dist/commands/sessions-picker.js.map +1 -0
  102. package/dist/commands/sessions.d.ts +15 -0
  103. package/dist/commands/sessions.d.ts.map +1 -1
  104. package/dist/commands/sessions.js +700 -263
  105. package/dist/commands/sessions.js.map +1 -1
  106. package/dist/commands/skills.d.ts +9 -0
  107. package/dist/commands/skills.d.ts.map +1 -1
  108. package/dist/commands/skills.js +355 -233
  109. package/dist/commands/skills.js.map +1 -1
  110. package/dist/commands/status.d.ts +7 -0
  111. package/dist/commands/status.d.ts.map +1 -1
  112. package/dist/commands/status.js +7 -0
  113. package/dist/commands/status.js.map +1 -1
  114. package/dist/commands/subagents.d.ts +8 -0
  115. package/dist/commands/subagents.d.ts.map +1 -1
  116. package/dist/commands/subagents.js +214 -74
  117. package/dist/commands/subagents.js.map +1 -1
  118. package/dist/commands/sync.d.ts +8 -0
  119. package/dist/commands/sync.d.ts.map +1 -1
  120. package/dist/commands/sync.js +15 -7
  121. package/dist/commands/sync.js.map +1 -1
  122. package/dist/commands/teams-picker.d.ts +18 -0
  123. package/dist/commands/teams-picker.d.ts.map +1 -0
  124. package/dist/commands/teams-picker.js +290 -0
  125. package/dist/commands/teams-picker.js.map +1 -0
  126. package/dist/commands/teams.d.ts +18 -0
  127. package/dist/commands/teams.d.ts.map +1 -0
  128. package/dist/commands/teams.js +1098 -0
  129. package/dist/commands/teams.js.map +1 -0
  130. package/dist/commands/utils.d.ts +20 -0
  131. package/dist/commands/utils.d.ts.map +1 -1
  132. package/dist/commands/utils.js +34 -0
  133. package/dist/commands/utils.js.map +1 -1
  134. package/dist/commands/versions.d.ts +8 -0
  135. package/dist/commands/versions.d.ts.map +1 -1
  136. package/dist/commands/versions.js +71 -8
  137. package/dist/commands/versions.js.map +1 -1
  138. package/dist/commands/view.d.ts +36 -1
  139. package/dist/commands/view.d.ts.map +1 -1
  140. package/dist/commands/view.js +375 -15
  141. package/dist/commands/view.js.map +1 -1
  142. package/dist/index.d.ts +6 -0
  143. package/dist/index.d.ts.map +1 -1
  144. package/dist/index.js +136 -51
  145. package/dist/index.js.map +1 -1
  146. package/dist/lib/__tests__/bugfixes.test.js +3 -3
  147. package/dist/lib/__tests__/bugfixes.test.js.map +1 -1
  148. package/dist/lib/__tests__/exec.test.js +125 -19
  149. package/dist/lib/__tests__/exec.test.js.map +1 -1
  150. package/dist/lib/__tests__/hooks.test.d.ts +2 -0
  151. package/dist/lib/__tests__/hooks.test.d.ts.map +1 -0
  152. package/dist/lib/__tests__/hooks.test.js +203 -0
  153. package/dist/lib/__tests__/hooks.test.js.map +1 -0
  154. package/dist/lib/__tests__/memory-compile.test.d.ts +2 -0
  155. package/dist/lib/__tests__/memory-compile.test.d.ts.map +1 -0
  156. package/dist/lib/__tests__/memory-compile.test.js +95 -0
  157. package/dist/lib/__tests__/memory-compile.test.js.map +1 -0
  158. package/dist/lib/__tests__/models.test.d.ts +2 -0
  159. package/dist/lib/__tests__/models.test.d.ts.map +1 -0
  160. package/dist/lib/__tests__/models.test.js +239 -0
  161. package/dist/lib/__tests__/models.test.js.map +1 -0
  162. package/dist/lib/__tests__/rotate.test.d.ts +2 -0
  163. package/dist/lib/__tests__/rotate.test.d.ts.map +1 -0
  164. package/dist/lib/__tests__/rotate.test.js +80 -0
  165. package/dist/lib/__tests__/rotate.test.js.map +1 -0
  166. package/dist/lib/__tests__/secrets-bundles.test.d.ts +2 -0
  167. package/dist/lib/__tests__/secrets-bundles.test.d.ts.map +1 -0
  168. package/dist/lib/__tests__/secrets-bundles.test.js +104 -0
  169. package/dist/lib/__tests__/secrets-bundles.test.js.map +1 -0
  170. package/dist/lib/__tests__/secrets.test.d.ts +2 -0
  171. package/dist/lib/__tests__/secrets.test.d.ts.map +1 -0
  172. package/dist/lib/__tests__/secrets.test.js +90 -0
  173. package/dist/lib/__tests__/secrets.test.js.map +1 -0
  174. package/dist/lib/__tests__/shims.test.d.ts +2 -0
  175. package/dist/lib/__tests__/shims.test.d.ts.map +1 -0
  176. package/dist/lib/__tests__/shims.test.js +39 -0
  177. package/dist/lib/__tests__/shims.test.js.map +1 -0
  178. package/dist/lib/__tests__/usage.test.js +4 -2
  179. package/dist/lib/__tests__/usage.test.js.map +1 -1
  180. package/dist/lib/__tests__/versions.test.d.ts +2 -0
  181. package/dist/lib/__tests__/versions.test.d.ts.map +1 -0
  182. package/dist/lib/__tests__/versions.test.js +63 -0
  183. package/dist/lib/__tests__/versions.test.js.map +1 -0
  184. package/dist/lib/agents.d.ts +53 -1
  185. package/dist/lib/agents.d.ts.map +1 -1
  186. package/dist/lib/agents.js +178 -37
  187. package/dist/lib/agents.js.map +1 -1
  188. package/dist/lib/artifact-actions.d.ts +8 -3
  189. package/dist/lib/artifact-actions.d.ts.map +1 -1
  190. package/dist/lib/artifact-actions.js +8 -5
  191. package/dist/lib/artifact-actions.js.map +1 -1
  192. package/dist/lib/cloud/codex.d.ts +26 -0
  193. package/dist/lib/cloud/codex.d.ts.map +1 -0
  194. package/dist/lib/cloud/codex.js +237 -0
  195. package/dist/lib/cloud/codex.js.map +1 -0
  196. package/dist/lib/cloud/factory.d.ts +32 -0
  197. package/dist/lib/cloud/factory.d.ts.map +1 -0
  198. package/dist/lib/cloud/factory.js +43 -0
  199. package/dist/lib/cloud/factory.js.map +1 -0
  200. package/dist/lib/cloud/registry.d.ts +16 -0
  201. package/dist/lib/cloud/registry.d.ts.map +1 -0
  202. package/dist/lib/cloud/registry.js +68 -0
  203. package/dist/lib/cloud/registry.js.map +1 -0
  204. package/dist/lib/cloud/rush.d.ts +37 -0
  205. package/dist/lib/cloud/rush.d.ts.map +1 -0
  206. package/dist/lib/cloud/rush.js +230 -0
  207. package/dist/lib/cloud/rush.js.map +1 -0
  208. package/dist/lib/cloud/rush.test.d.ts +2 -0
  209. package/dist/lib/cloud/rush.test.d.ts.map +1 -0
  210. package/dist/lib/cloud/rush.test.js +63 -0
  211. package/dist/lib/cloud/rush.test.js.map +1 -0
  212. package/dist/lib/cloud/store.d.ts +23 -0
  213. package/dist/lib/cloud/store.d.ts.map +1 -0
  214. package/dist/lib/cloud/store.js +116 -0
  215. package/dist/lib/cloud/store.js.map +1 -0
  216. package/dist/lib/cloud/stream.d.ts +24 -0
  217. package/dist/lib/cloud/stream.d.ts.map +1 -0
  218. package/dist/lib/cloud/stream.js +145 -0
  219. package/dist/lib/cloud/stream.js.map +1 -0
  220. package/dist/lib/cloud/types.d.ts +109 -0
  221. package/dist/lib/cloud/types.d.ts.map +1 -0
  222. package/dist/lib/cloud/types.js +33 -0
  223. package/dist/lib/cloud/types.js.map +1 -0
  224. package/dist/lib/cloud/types.test.d.ts +2 -0
  225. package/dist/lib/cloud/types.test.d.ts.map +1 -0
  226. package/dist/lib/cloud/types.test.js +41 -0
  227. package/dist/lib/cloud/types.test.js.map +1 -0
  228. package/dist/lib/commands.d.ts +67 -0
  229. package/dist/lib/commands.d.ts.map +1 -1
  230. package/dist/lib/commands.js +161 -2
  231. package/dist/lib/commands.js.map +1 -1
  232. package/dist/lib/convert.d.ts +10 -0
  233. package/dist/lib/convert.d.ts.map +1 -1
  234. package/dist/lib/convert.js +9 -0
  235. package/dist/lib/convert.js.map +1 -1
  236. package/dist/lib/daemon.d.ts +21 -0
  237. package/dist/lib/daemon.d.ts.map +1 -1
  238. package/dist/lib/daemon.js +21 -0
  239. package/dist/lib/daemon.js.map +1 -1
  240. package/dist/lib/drive-sync.d.ts +18 -0
  241. package/dist/lib/drive-sync.d.ts.map +1 -1
  242. package/dist/lib/drive-sync.js +16 -0
  243. package/dist/lib/drive-sync.js.map +1 -1
  244. package/dist/lib/exec.d.ts +64 -3
  245. package/dist/lib/exec.d.ts.map +1 -1
  246. package/dist/lib/exec.js +218 -80
  247. package/dist/lib/exec.js.map +1 -1
  248. package/dist/lib/factory/__tests__/config.test.d.ts +2 -0
  249. package/dist/lib/factory/__tests__/config.test.d.ts.map +1 -0
  250. package/dist/lib/factory/__tests__/config.test.js +128 -0
  251. package/dist/lib/factory/__tests__/config.test.js.map +1 -0
  252. package/dist/lib/factory/config.d.ts +49 -0
  253. package/dist/lib/factory/config.d.ts.map +1 -0
  254. package/dist/lib/factory/config.js +127 -0
  255. package/dist/lib/factory/config.js.map +1 -0
  256. package/dist/lib/factory.js +1 -1
  257. package/dist/lib/factory.js.map +1 -1
  258. package/dist/lib/git.d.ts +16 -1
  259. package/dist/lib/git.d.ts.map +1 -1
  260. package/dist/lib/git.js +33 -4
  261. package/dist/lib/git.js.map +1 -1
  262. package/dist/lib/help.d.ts +7 -0
  263. package/dist/lib/help.d.ts.map +1 -1
  264. package/dist/lib/help.js +3 -0
  265. package/dist/lib/help.js.map +1 -1
  266. package/dist/lib/hooks.d.ts +59 -3
  267. package/dist/lib/hooks.d.ts.map +1 -1
  268. package/dist/lib/hooks.js +413 -33
  269. package/dist/lib/hooks.js.map +1 -1
  270. package/dist/lib/ledger/__tests__/local.test.d.ts +2 -0
  271. package/dist/lib/ledger/__tests__/local.test.d.ts.map +1 -0
  272. package/dist/lib/ledger/__tests__/local.test.js +177 -0
  273. package/dist/lib/ledger/__tests__/local.test.js.map +1 -0
  274. package/dist/lib/ledger/__tests__/sync.test.d.ts +2 -0
  275. package/dist/lib/ledger/__tests__/sync.test.d.ts.map +1 -0
  276. package/dist/lib/ledger/__tests__/sync.test.js +117 -0
  277. package/dist/lib/ledger/__tests__/sync.test.js.map +1 -0
  278. package/dist/lib/ledger/index.d.ts +18 -0
  279. package/dist/lib/ledger/index.d.ts.map +1 -0
  280. package/dist/lib/ledger/index.js +32 -0
  281. package/dist/lib/ledger/index.js.map +1 -0
  282. package/dist/lib/ledger/local.d.ts +22 -0
  283. package/dist/lib/ledger/local.d.ts.map +1 -0
  284. package/dist/lib/ledger/local.js +333 -0
  285. package/dist/lib/ledger/local.js.map +1 -0
  286. package/dist/lib/ledger/r2.d.ts +41 -0
  287. package/dist/lib/ledger/r2.d.ts.map +1 -0
  288. package/dist/lib/ledger/r2.js +335 -0
  289. package/dist/lib/ledger/r2.js.map +1 -0
  290. package/dist/lib/ledger/sync.d.ts +33 -0
  291. package/dist/lib/ledger/sync.d.ts.map +1 -0
  292. package/dist/lib/ledger/sync.js +106 -0
  293. package/dist/lib/ledger/sync.js.map +1 -0
  294. package/dist/lib/ledger/types.d.ts +100 -0
  295. package/dist/lib/ledger/types.d.ts.map +1 -0
  296. package/dist/lib/ledger/types.js +21 -0
  297. package/dist/lib/ledger/types.js.map +1 -0
  298. package/dist/lib/manifest.d.ts +6 -0
  299. package/dist/lib/manifest.d.ts.map +1 -1
  300. package/dist/lib/manifest.js +12 -0
  301. package/dist/lib/manifest.js.map +1 -1
  302. package/dist/lib/markdown.d.ts.map +1 -1
  303. package/dist/lib/markdown.js +6 -0
  304. package/dist/lib/markdown.js.map +1 -1
  305. package/dist/lib/mcp.d.ts +0 -9
  306. package/dist/lib/mcp.d.ts.map +1 -1
  307. package/dist/lib/mcp.js +0 -20
  308. package/dist/lib/mcp.js.map +1 -1
  309. package/dist/lib/memory-compile.d.ts +65 -0
  310. package/dist/lib/memory-compile.d.ts.map +1 -0
  311. package/dist/lib/memory-compile.js +174 -0
  312. package/dist/lib/memory-compile.js.map +1 -0
  313. package/dist/lib/memory.d.ts +8 -0
  314. package/dist/lib/memory.d.ts.map +1 -1
  315. package/dist/lib/memory.js +8 -0
  316. package/dist/lib/memory.js.map +1 -1
  317. package/dist/lib/models.d.ts +98 -0
  318. package/dist/lib/models.d.ts.map +1 -0
  319. package/dist/lib/models.js +728 -0
  320. package/dist/lib/models.js.map +1 -0
  321. package/dist/lib/permissions.d.ts +24 -1
  322. package/dist/lib/permissions.d.ts.map +1 -1
  323. package/dist/lib/permissions.js +52 -3
  324. package/dist/lib/permissions.js.map +1 -1
  325. package/dist/lib/picker.d.ts +27 -0
  326. package/dist/lib/picker.d.ts.map +1 -0
  327. package/dist/lib/picker.js +110 -0
  328. package/dist/lib/picker.js.map +1 -0
  329. package/dist/lib/plugins.d.ts +22 -0
  330. package/dist/lib/plugins.d.ts.map +1 -1
  331. package/dist/lib/plugins.js +114 -0
  332. package/dist/lib/plugins.js.map +1 -1
  333. package/dist/lib/profiles-keychain.d.ts +11 -0
  334. package/dist/lib/profiles-keychain.d.ts.map +1 -0
  335. package/dist/lib/profiles-keychain.js +14 -0
  336. package/dist/lib/profiles-keychain.js.map +1 -0
  337. package/dist/lib/profiles-presets.d.ts +25 -0
  338. package/dist/lib/profiles-presets.d.ts.map +1 -0
  339. package/dist/lib/profiles-presets.js +104 -0
  340. package/dist/lib/profiles-presets.js.map +1 -0
  341. package/dist/lib/profiles.d.ts +70 -0
  342. package/dist/lib/profiles.d.ts.map +1 -0
  343. package/dist/lib/profiles.js +145 -0
  344. package/dist/lib/profiles.js.map +1 -0
  345. package/dist/lib/pty-client.d.ts +1 -0
  346. package/dist/lib/pty-client.d.ts.map +1 -1
  347. package/dist/lib/pty-client.js.map +1 -1
  348. package/dist/lib/pty-server.d.ts +5 -0
  349. package/dist/lib/pty-server.d.ts.map +1 -1
  350. package/dist/lib/pty-server.js +5 -0
  351. package/dist/lib/pty-server.js.map +1 -1
  352. package/dist/lib/registry.d.ts +17 -0
  353. package/dist/lib/registry.d.ts.map +1 -1
  354. package/dist/lib/registry.js +17 -0
  355. package/dist/lib/registry.js.map +1 -1
  356. package/dist/lib/resources.d.ts +5 -0
  357. package/dist/lib/resources.d.ts.map +1 -1
  358. package/dist/lib/resources.js.map +1 -1
  359. package/dist/lib/rotate.d.ts +58 -0
  360. package/dist/lib/rotate.d.ts.map +1 -0
  361. package/dist/lib/rotate.js +93 -0
  362. package/dist/lib/rotate.js.map +1 -0
  363. package/dist/lib/routines.d.ts +30 -1
  364. package/dist/lib/routines.d.ts.map +1 -1
  365. package/dist/lib/routines.js +31 -4
  366. package/dist/lib/routines.js.map +1 -1
  367. package/dist/lib/runner.d.ts +14 -0
  368. package/dist/lib/runner.d.ts.map +1 -1
  369. package/dist/lib/runner.js +45 -11
  370. package/dist/lib/runner.js.map +1 -1
  371. package/dist/lib/sandbox.d.ts +16 -0
  372. package/dist/lib/sandbox.d.ts.map +1 -1
  373. package/dist/lib/sandbox.js +19 -2
  374. package/dist/lib/sandbox.js.map +1 -1
  375. package/dist/lib/scheduler.d.ts +8 -0
  376. package/dist/lib/scheduler.d.ts.map +1 -1
  377. package/dist/lib/scheduler.js +8 -0
  378. package/dist/lib/scheduler.js.map +1 -1
  379. package/dist/lib/secrets-bundles.d.ts +38 -0
  380. package/dist/lib/secrets-bundles.d.ts.map +1 -0
  381. package/dist/lib/secrets-bundles.js +176 -0
  382. package/dist/lib/secrets-bundles.js.map +1 -0
  383. package/dist/lib/secrets.d.ts +53 -0
  384. package/dist/lib/secrets.d.ts.map +1 -0
  385. package/dist/lib/secrets.js +140 -0
  386. package/dist/lib/secrets.js.map +1 -0
  387. package/dist/lib/session/__tests__/db.test.d.ts +2 -0
  388. package/dist/lib/session/__tests__/db.test.d.ts.map +1 -0
  389. package/dist/lib/session/__tests__/db.test.js +54 -0
  390. package/dist/lib/session/__tests__/db.test.js.map +1 -0
  391. package/dist/lib/session/__tests__/discover.test.js +54 -91
  392. package/dist/lib/session/__tests__/discover.test.js.map +1 -1
  393. package/dist/lib/session/__tests__/prompt.test.d.ts +2 -0
  394. package/dist/lib/session/__tests__/prompt.test.d.ts.map +1 -0
  395. package/dist/lib/session/__tests__/prompt.test.js +44 -0
  396. package/dist/lib/session/__tests__/prompt.test.js.map +1 -0
  397. package/dist/lib/session/__tests__/render.test.d.ts +2 -0
  398. package/dist/lib/session/__tests__/render.test.d.ts.map +1 -0
  399. package/dist/lib/session/__tests__/render.test.js +602 -0
  400. package/dist/lib/session/__tests__/render.test.js.map +1 -0
  401. package/dist/lib/session/artifacts.d.ts +15 -0
  402. package/dist/lib/session/artifacts.d.ts.map +1 -0
  403. package/dist/lib/session/artifacts.js +86 -0
  404. package/dist/lib/session/artifacts.js.map +1 -0
  405. package/dist/lib/session/db.d.ts +140 -0
  406. package/dist/lib/session/db.d.ts.map +1 -0
  407. package/dist/lib/session/db.js +599 -0
  408. package/dist/lib/session/db.js.map +1 -0
  409. package/dist/lib/session/discover.d.ts +44 -32
  410. package/dist/lib/session/discover.d.ts.map +1 -1
  411. package/dist/lib/session/discover.js +418 -464
  412. package/dist/lib/session/discover.js.map +1 -1
  413. package/dist/lib/session/parse.d.ts +11 -0
  414. package/dist/lib/session/parse.d.ts.map +1 -1
  415. package/dist/lib/session/parse.js +50 -0
  416. package/dist/lib/session/parse.js.map +1 -1
  417. package/dist/lib/session/prompt.d.ts +10 -0
  418. package/dist/lib/session/prompt.d.ts.map +1 -1
  419. package/dist/lib/session/prompt.js +38 -2
  420. package/dist/lib/session/prompt.js.map +1 -1
  421. package/dist/lib/session/prompt.test.d.ts +2 -0
  422. package/dist/lib/session/prompt.test.d.ts.map +1 -0
  423. package/dist/lib/session/prompt.test.js +57 -0
  424. package/dist/lib/session/prompt.test.js.map +1 -0
  425. package/dist/lib/session/render.d.ts +91 -10
  426. package/dist/lib/session/render.d.ts.map +1 -1
  427. package/dist/lib/session/render.js +708 -180
  428. package/dist/lib/session/render.js.map +1 -1
  429. package/dist/lib/session/team-filter.d.ts +35 -0
  430. package/dist/lib/session/team-filter.d.ts.map +1 -0
  431. package/dist/lib/session/team-filter.js +75 -0
  432. package/dist/lib/session/team-filter.js.map +1 -0
  433. package/dist/lib/session/team-filter.test.d.ts +2 -0
  434. package/dist/lib/session/team-filter.test.d.ts.map +1 -0
  435. package/dist/lib/session/team-filter.test.js +157 -0
  436. package/dist/lib/session/team-filter.test.js.map +1 -0
  437. package/dist/lib/session/types.d.ts +48 -6
  438. package/dist/lib/session/types.d.ts.map +1 -1
  439. package/dist/lib/session/types.js +9 -0
  440. package/dist/lib/session/types.js.map +1 -1
  441. package/dist/lib/shims.d.ts +101 -2
  442. package/dist/lib/shims.d.ts.map +1 -1
  443. package/dist/lib/shims.js +282 -25
  444. package/dist/lib/shims.js.map +1 -1
  445. package/dist/lib/skills.d.ts +68 -0
  446. package/dist/lib/skills.d.ts.map +1 -1
  447. package/dist/lib/skills.js +267 -1
  448. package/dist/lib/skills.js.map +1 -1
  449. package/dist/lib/state.d.ts +41 -2
  450. package/dist/lib/state.d.ts.map +1 -1
  451. package/dist/lib/state.js +63 -4
  452. package/dist/lib/state.js.map +1 -1
  453. package/dist/lib/subagents.d.ts +9 -0
  454. package/dist/lib/subagents.d.ts.map +1 -1
  455. package/dist/lib/subagents.js +9 -1
  456. package/dist/lib/subagents.js.map +1 -1
  457. package/dist/lib/teams/__tests__/oracle.test.d.ts +2 -0
  458. package/dist/lib/teams/__tests__/oracle.test.d.ts.map +1 -0
  459. package/dist/lib/teams/__tests__/oracle.test.js +89 -0
  460. package/dist/lib/teams/__tests__/oracle.test.js.map +1 -0
  461. package/dist/lib/teams/__tests__/supervisor.test.d.ts +2 -0
  462. package/dist/lib/teams/__tests__/supervisor.test.d.ts.map +1 -0
  463. package/dist/lib/teams/__tests__/supervisor.test.js +179 -0
  464. package/dist/lib/teams/__tests__/supervisor.test.js.map +1 -0
  465. package/dist/lib/teams/agents.d.ts +247 -0
  466. package/dist/lib/teams/agents.d.ts.map +1 -0
  467. package/dist/lib/teams/agents.js +1244 -0
  468. package/dist/lib/teams/agents.js.map +1 -0
  469. package/dist/lib/teams/api.d.ts +91 -0
  470. package/dist/lib/teams/api.d.ts.map +1 -0
  471. package/dist/lib/teams/api.js +239 -0
  472. package/dist/lib/teams/api.js.map +1 -0
  473. package/dist/lib/teams/cloud.d.ts +11 -0
  474. package/dist/lib/teams/cloud.d.ts.map +1 -0
  475. package/dist/lib/teams/cloud.js +169 -0
  476. package/dist/lib/teams/cloud.js.map +1 -0
  477. package/dist/lib/teams/debug.d.ts +8 -0
  478. package/dist/lib/teams/debug.d.ts.map +1 -0
  479. package/dist/lib/teams/debug.js +12 -0
  480. package/dist/lib/teams/debug.js.map +1 -0
  481. package/dist/lib/teams/file_ops.d.ts +13 -0
  482. package/dist/lib/teams/file_ops.d.ts.map +1 -0
  483. package/dist/lib/teams/file_ops.js +66 -0
  484. package/dist/lib/teams/file_ops.js.map +1 -0
  485. package/dist/lib/teams/index.d.ts +16 -0
  486. package/dist/lib/teams/index.d.ts.map +1 -0
  487. package/dist/lib/teams/index.js +15 -0
  488. package/dist/lib/teams/index.js.map +1 -0
  489. package/dist/lib/teams/oracle.d.ts +20 -0
  490. package/dist/lib/teams/oracle.d.ts.map +1 -0
  491. package/dist/lib/teams/oracle.js +59 -0
  492. package/dist/lib/teams/oracle.js.map +1 -0
  493. package/dist/lib/teams/parsers.d.ts +9 -0
  494. package/dist/lib/teams/parsers.d.ts.map +1 -0
  495. package/dist/lib/teams/parsers.js +837 -0
  496. package/dist/lib/teams/parsers.js.map +1 -0
  497. package/dist/lib/teams/persistence.d.ts +43 -0
  498. package/dist/lib/teams/persistence.d.ts.map +1 -0
  499. package/dist/lib/teams/persistence.js +299 -0
  500. package/dist/lib/teams/persistence.js.map +1 -0
  501. package/dist/lib/teams/ralph.d.ts +8 -0
  502. package/dist/lib/teams/ralph.d.ts.map +1 -0
  503. package/dist/lib/teams/ralph.js +59 -0
  504. package/dist/lib/teams/ralph.js.map +1 -0
  505. package/dist/lib/teams/registry.d.ts +18 -0
  506. package/dist/lib/teams/registry.d.ts.map +1 -0
  507. package/dist/lib/teams/registry.js +68 -0
  508. package/dist/lib/teams/registry.js.map +1 -0
  509. package/dist/lib/teams/summarizer.d.ts +73 -0
  510. package/dist/lib/teams/summarizer.d.ts.map +1 -0
  511. package/dist/lib/teams/summarizer.js +780 -0
  512. package/dist/lib/teams/summarizer.js.map +1 -0
  513. package/dist/lib/teams/supervisor.d.ts +49 -0
  514. package/dist/lib/teams/supervisor.d.ts.map +1 -0
  515. package/dist/lib/teams/supervisor.js +74 -0
  516. package/dist/lib/teams/supervisor.js.map +1 -0
  517. package/dist/lib/template.d.ts +8 -5
  518. package/dist/lib/template.d.ts.map +1 -1
  519. package/dist/lib/template.js +8 -5
  520. package/dist/lib/template.js.map +1 -1
  521. package/dist/lib/types.d.ts +58 -1
  522. package/dist/lib/types.d.ts.map +1 -1
  523. package/dist/lib/types.js +16 -1
  524. package/dist/lib/types.js.map +1 -1
  525. package/dist/lib/usage.d.ts +48 -0
  526. package/dist/lib/usage.d.ts.map +1 -1
  527. package/dist/lib/usage.js +106 -14
  528. package/dist/lib/usage.js.map +1 -1
  529. package/dist/lib/versions.d.ts +12 -1
  530. package/dist/lib/versions.d.ts.map +1 -1
  531. package/dist/lib/versions.js +124 -41
  532. package/dist/lib/versions.js.map +1 -1
  533. package/package.json +20 -6
  534. package/scripts/postinstall.js +1 -1
  535. package/scripts/rebuild-sqlite.sh +46 -0
  536. package/dist/commands/sessions.test.d.ts +0 -2
  537. package/dist/commands/sessions.test.d.ts.map +0 -1
  538. package/dist/commands/sessions.test.js +0 -53
  539. package/dist/commands/sessions.test.js.map +0 -1
@@ -0,0 +1,179 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
+ import * as fs from 'fs';
3
+ import * as path from 'path';
4
+ import * as os from 'os';
5
+ import { AgentManager, AgentProcess, AgentStatus, } from '../agents.js';
6
+ import { runSupervisor } from '../supervisor.js';
7
+ let tmpBase;
8
+ let mgr;
9
+ beforeEach(async () => {
10
+ tmpBase = fs.mkdtempSync(path.join(os.tmpdir(), 'sup-test-'));
11
+ mgr = new AgentManager(50, 10, tmpBase);
12
+ await mgr.listAll();
13
+ });
14
+ afterEach(() => {
15
+ fs.rmSync(tmpBase, { recursive: true, force: true });
16
+ });
17
+ /**
18
+ * Plant a fully-formed teammate without invoking the CLI. Used to set up
19
+ * DAG shapes we then drive the supervisor through.
20
+ */
21
+ async function plantAgent(taskName, overrides = {}) {
22
+ const agent = new AgentProcess(overrides.agentId ?? `agent-${Math.random().toString(36).slice(2, 10)}`, taskName, 'claude', 'prompt', null, 'edit', null, overrides.status ?? AgentStatus.COMPLETED, new Date(Date.now() - 10), new Date(), tmpBase, null, null, null, null, null, null, null, overrides.name ?? null, overrides.after ?? [], 'medium', null, null, overrides.taskType ?? null);
23
+ await agent.saveMeta();
24
+ mgr.registerAgent(agent);
25
+ return agent;
26
+ }
27
+ describe('runSupervisor', () => {
28
+ it('drains immediately when the DAG is empty', async () => {
29
+ const events = [];
30
+ const result = await runSupervisor(mgr, {
31
+ team: 'empty',
32
+ intervalMs: 50,
33
+ onWave: (s) => { events.push(s.launched.length); },
34
+ });
35
+ expect(result.stoppedBy).toBe('drained');
36
+ expect(result.waves).toBe(1);
37
+ expect(events).toEqual([0]);
38
+ });
39
+ it('drains when all teammates are already completed', async () => {
40
+ await plantAgent('t1', { name: 'impl-a', status: AgentStatus.COMPLETED, taskType: 'implement' });
41
+ await plantAgent('t1', { name: 'test-a', status: AgentStatus.COMPLETED, taskType: 'test', after: ['impl-a'] });
42
+ const waves = [];
43
+ const result = await runSupervisor(mgr, {
44
+ team: 't1',
45
+ intervalMs: 50,
46
+ onWave: (s) => { waves.push({ pending: s.pending, running: s.running, completed: s.completed }); },
47
+ });
48
+ expect(result.stoppedBy).toBe('drained');
49
+ expect(waves[waves.length - 1]).toEqual({ pending: 0, running: 0, completed: 2 });
50
+ });
51
+ it('picks up a teammate added mid-flight', async () => {
52
+ // Simulate a worker filing a new task during its run. `after` points at
53
+ // a never-completing dep so startReady can't auto-launch it — the
54
+ // teammate stays PENDING for observation, then we flip it to completed
55
+ // on wave 3 to drain.
56
+ let added = false;
57
+ let wavesSeen = 0;
58
+ const waveSnaps = [];
59
+ const result = await runSupervisor(mgr, {
60
+ team: 'dyn',
61
+ intervalMs: 30,
62
+ maxWaves: 15,
63
+ onWave: async (s) => {
64
+ wavesSeen++;
65
+ waveSnaps.push({ pending: s.pending, running: s.running, completed: s.completed });
66
+ if (!added) {
67
+ added = true;
68
+ await plantAgent('dyn', {
69
+ name: 'late-pending',
70
+ status: AgentStatus.PENDING,
71
+ after: ['__never_done__'],
72
+ taskType: 'implement',
73
+ });
74
+ return;
75
+ }
76
+ if (wavesSeen >= 3) {
77
+ // Release the teammate: mark completed so the DAG can drain.
78
+ const all = await mgr.listByTask('dyn');
79
+ for (const a of all) {
80
+ if (a.name === 'late-pending' && a.status !== AgentStatus.COMPLETED) {
81
+ a.status = AgentStatus.COMPLETED;
82
+ a.completedAt = new Date();
83
+ await a.saveMeta();
84
+ }
85
+ }
86
+ }
87
+ },
88
+ });
89
+ expect(result.stoppedBy).toBe('drained');
90
+ expect(result.waves).toBeGreaterThanOrEqual(3);
91
+ // Key invariant: at least one wave observed >=1 pending (the late add
92
+ // was noticed) before drain.
93
+ expect(waveSnaps.some((s) => s.pending >= 1)).toBe(true);
94
+ });
95
+ it('stops when onWave returns false', async () => {
96
+ await plantAgent('t1', { name: 'impl-a', status: AgentStatus.RUNNING, taskType: 'implement' });
97
+ let waveCount = 0;
98
+ const result = await runSupervisor(mgr, {
99
+ team: 't1',
100
+ intervalMs: 50,
101
+ maxWaves: 100,
102
+ onWave: () => {
103
+ waveCount++;
104
+ return waveCount >= 3 ? false : true;
105
+ },
106
+ });
107
+ expect(result.stoppedBy).toBe('callback');
108
+ expect(result.waves).toBe(3);
109
+ });
110
+ it('rescans disk so teammates created by a sibling process get picked up', async () => {
111
+ // Simulate a sibling process writing a meta.json directly to the
112
+ // agents dir. Without rescan, the supervisor would never see it
113
+ // because its in-memory cache wouldn't update.
114
+ let waveCount = 0;
115
+ // Pre-seed a running teammate so the DAG starts live and the
116
+ // supervisor runs multiple waves.
117
+ await plantAgent('cross-proc', {
118
+ name: 'seed',
119
+ status: AgentStatus.RUNNING,
120
+ taskType: 'implement',
121
+ });
122
+ const seenNames = new Set();
123
+ const result = await runSupervisor(mgr, {
124
+ team: 'cross-proc',
125
+ intervalMs: 20,
126
+ maxWaves: 10,
127
+ onWave: async (s) => {
128
+ waveCount++;
129
+ for (const a of await mgr.listByTask('cross-proc')) {
130
+ if (a.name)
131
+ seenNames.add(a.name);
132
+ }
133
+ if (waveCount === 1) {
134
+ // Sibling-process simulation: write meta.json directly.
135
+ const newId = 'cross-proc-alien';
136
+ const dir = path.join(tmpBase, newId);
137
+ fs.mkdirSync(dir, { recursive: true });
138
+ fs.writeFileSync(path.join(dir, 'meta.json'), JSON.stringify({
139
+ agent_id: newId,
140
+ task_name: 'cross-proc',
141
+ agent_type: 'claude',
142
+ prompt: 'p', cwd: null, workspace_dir: null,
143
+ mode: 'edit', pid: null,
144
+ status: 'completed',
145
+ started_at: new Date().toISOString(),
146
+ completed_at: new Date().toISOString(),
147
+ name: 'alien', after: [], task_type: 'implement',
148
+ }));
149
+ }
150
+ if (waveCount === 2) {
151
+ // Release the seed so the DAG can drain.
152
+ const all = await mgr.listByTask('cross-proc');
153
+ for (const a of all) {
154
+ if (a.name === 'seed') {
155
+ a.status = AgentStatus.COMPLETED;
156
+ a.completedAt = new Date();
157
+ await a.saveMeta();
158
+ }
159
+ }
160
+ }
161
+ },
162
+ });
163
+ expect(result.stoppedBy).toBe('drained');
164
+ expect(seenNames.has('alien')).toBe(true);
165
+ expect(seenNames.has('seed')).toBe(true);
166
+ });
167
+ it('stops at --max-waves if the DAG never drains', async () => {
168
+ await plantAgent('t1', { name: 'running', status: AgentStatus.RUNNING, taskType: 'implement' });
169
+ const result = await runSupervisor(mgr, {
170
+ team: 't1',
171
+ intervalMs: 30,
172
+ maxWaves: 4,
173
+ onWave: () => { },
174
+ });
175
+ expect(result.stoppedBy).toBe('max-waves');
176
+ expect(result.waves).toBe(4);
177
+ });
178
+ });
179
+ //# sourceMappingURL=supervisor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervisor.test.js","sourceRoot":"","sources":["../../../../src/lib/teams/__tests__/supervisor.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,247 @@
1
+ import { type AgentConfig } from './persistence.js';
2
+ import { AgentType } from './parsers.js';
3
+ /**
4
+ * Compute the Lowest Common Ancestor (LCA) of multiple file paths.
5
+ * Returns the deepest common directory shared by all paths.
6
+ * Returns null if paths is empty or paths have no common ancestor (different roots).
7
+ */
8
+ export declare function computePathLCA(paths: string[]): string | null;
9
+ /** Lifecycle status of a teammate process. */
10
+ export declare enum AgentStatus {
11
+ PENDING = "pending",// staged with unresolved --after deps
12
+ RUNNING = "running",
13
+ COMPLETED = "completed",
14
+ FAILED = "failed",
15
+ STOPPED = "stopped"
16
+ }
17
+ /**
18
+ * Task type label for Software Factory workflows. Drives planner fan-out and
19
+ * the test-oracle loop (failed `test` tasks emit `bugfix` tasks). Optional —
20
+ * teammates without a task_type work exactly as before.
21
+ */
22
+ export type TaskType = 'plan' | 'implement' | 'test' | 'review' | 'bugfix' | 'docs';
23
+ export declare const VALID_TASK_TYPES: readonly TaskType[];
24
+ export type { AgentType } from './parsers.js';
25
+ export declare const AGENT_COMMANDS: Record<AgentType, string[]>;
26
+ /**
27
+ * Reasoning-intensity knob wired into buildReasoningFlags.
28
+ * Does not select a model; use --model separately to pin a specific model per teammate.
29
+ */
30
+ export type EffortLevel = 'low' | 'medium' | 'high' | 'xhigh' | 'max' | 'auto';
31
+ declare const VALID_MODES: readonly ["plan", "edit", "full"];
32
+ type Mode = typeof VALID_MODES[number];
33
+ /** Resolve a mode string to a validated Mode, falling back to the given default. */
34
+ export declare function resolveMode(requestedMode: string | null | undefined, defaultMode?: Mode): Mode;
35
+ /** Ensure Gemini's settings.json has experimental.plan enabled for headless plan mode. */
36
+ export declare function ensureGeminiPlanMode(): Promise<void>;
37
+ /** Check whether the CLI binary for a given agent type exists in PATH. Returns [available, pathOrError]. */
38
+ export declare function checkCliAvailable(agentType: AgentType): [boolean, string | null];
39
+ /** Check availability of all known agent CLIs. Returns a map of agent type to install status. */
40
+ export declare function checkAllClis(): Record<string, {
41
+ installed: boolean;
42
+ path: string | null;
43
+ error: string | null;
44
+ }>;
45
+ /** Resolve and cache the base directory where teammate process data is stored. */
46
+ export declare function getAgentsDir(): Promise<string>;
47
+ /**
48
+ * Represents a single teammate process within a team.
49
+ *
50
+ * Tracks process metadata (PID, status, timestamps), reads incremental
51
+ * stdout events, persists state to disk as meta.json, and can be
52
+ * reconstituted from disk via loadFromDisk().
53
+ */
54
+ export declare class AgentProcess {
55
+ agentId: string;
56
+ taskName: string;
57
+ agentType: AgentType;
58
+ prompt: string;
59
+ cwd: string | null;
60
+ workspaceDir: string | null;
61
+ mode: Mode;
62
+ pid: number | null;
63
+ status: AgentStatus;
64
+ startedAt: Date;
65
+ completedAt: Date | null;
66
+ parentSessionId: string | null;
67
+ cloudSessionId: string | null;
68
+ cloudProvider: string | null;
69
+ prUrl: string | null;
70
+ version: string | null;
71
+ remoteSessionId: string | null;
72
+ name: string | null;
73
+ after: string[];
74
+ effort: EffortLevel | null;
75
+ model: string | null;
76
+ envOverrides: Record<string, string> | null;
77
+ taskType: TaskType | null;
78
+ cloudRepo: string | null;
79
+ cloudBranch: string | null;
80
+ private eventsCache;
81
+ private lastReadPos;
82
+ private baseDir;
83
+ constructor(agentId: string, taskName: string, agentType: AgentType, prompt: string, cwd?: string | null, mode?: Mode, pid?: number | null, status?: AgentStatus, startedAt?: Date, completedAt?: Date | null, baseDir?: string | null, parentSessionId?: string | null, workspaceDir?: string | null, cloudSessionId?: string | null, cloudProvider?: string | null, prUrl?: string | null, version?: string | null, remoteSessionId?: string | null, name?: string | null, after?: string[], effort?: EffortLevel | null, model?: string | null, envOverrides?: Record<string, string> | null, taskType?: TaskType | null, cloudRepo?: string | null, cloudBranch?: string | null);
84
+ get isEditMode(): boolean;
85
+ getAgentDir(): Promise<string>;
86
+ /**
87
+ * Dump the subset of state the Ledger sync hook needs. Keeps sync.ts
88
+ * free of any teams-internal imports.
89
+ */
90
+ toSnapshot(): Promise<{
91
+ agent_id: string;
92
+ team_id: string;
93
+ teammate_name: string | null;
94
+ agent_type: string;
95
+ task_type: string | null;
96
+ status: string;
97
+ started_at: string;
98
+ completed_at: string | null;
99
+ after: string[];
100
+ cloud_provider: string | null;
101
+ cloud_session_id: string | null;
102
+ cloud_repo: string | null;
103
+ cloud_branch: string | null;
104
+ agent_dir: string;
105
+ cwd: string | null;
106
+ }>;
107
+ getStdoutPath(): Promise<string>;
108
+ getMetaPath(): Promise<string>;
109
+ toDict(): any;
110
+ duration(): string | null;
111
+ get events(): any[];
112
+ /**
113
+ * Return the latest timestamp we have seen in the agent's events.
114
+ * Falls back to null when none are available.
115
+ */
116
+ private getLatestEventTime;
117
+ readNewEvents(): Promise<void>;
118
+ saveMeta(): Promise<void>;
119
+ static loadFromDisk(agentId: string, baseDir?: string | null): Promise<AgentProcess | null>;
120
+ isProcessAlive(): boolean;
121
+ updateStatusFromProcess(): Promise<void>;
122
+ private reapProcess;
123
+ }
124
+ /**
125
+ * Manages the full lifecycle of teammate agent processes.
126
+ *
127
+ * Handles spawning (with DAG dependency resolution), status polling,
128
+ * stopping, and automatic cleanup of old agents. Maintains an in-memory
129
+ * cache backed by on-disk meta.json files.
130
+ */
131
+ /**
132
+ * Callback used to dispatch a cloud-backed teammate when its --after deps
133
+ * resolve. Teams.ts registers one via setCloudDispatcher() at startup; the
134
+ * MCP server path leaves it null (cloud teammates aren't dispatched from MCP).
135
+ */
136
+ export type CloudDispatchFn = (agent: AgentProcess) => Promise<{
137
+ cloudSessionId: string;
138
+ }>;
139
+ /**
140
+ * Called once a teammate transitions into a terminal status (completed,
141
+ * failed, stopped). Teams.ts registers one via setCompletionHook() to push
142
+ * outputs to the team Ledger. MCP package leaves it null.
143
+ */
144
+ export type CompletionHook = (agent: AgentProcess) => Promise<void>;
145
+ export declare class AgentManager {
146
+ private agents;
147
+ private maxAgents;
148
+ private maxConcurrent;
149
+ private agentsDir;
150
+ private filterByCwd;
151
+ private cleanupAgeDays;
152
+ private defaultMode;
153
+ private agentConfigs;
154
+ private constructorAgentConfigs;
155
+ private initPromise;
156
+ private cloudDispatcher;
157
+ private completionHook;
158
+ private syncedAgents;
159
+ private constructorAgentsDir;
160
+ constructor(maxAgents?: number, maxConcurrent?: number, agentsDir?: string | null, defaultMode?: Mode | null, filterByCwd?: string | null, cleanupAgeDays?: number, agentConfigs?: Record<AgentType, AgentConfig> | null);
161
+ private initialize;
162
+ private doInitialize;
163
+ getDefaultMode(): Mode;
164
+ setModelOverrides(agentConfigs: Record<AgentType, AgentConfig>): void;
165
+ /**
166
+ * Register the callback used to dispatch cloud-backed teammates when their
167
+ * --after deps resolve. Called once at CLI startup by `agents teams`.
168
+ */
169
+ setCloudDispatcher(fn: CloudDispatchFn | null): void;
170
+ /**
171
+ * Register a hook to run once per teammate the first time it lands in a
172
+ * terminal status (completed / failed / stopped). The hook fires during
173
+ * listAll() / listByTask() status polling, so any CLI or MCP command that
174
+ * touches status triggers sync automatically.
175
+ */
176
+ setCompletionHook(fn: CompletionHook | null): void;
177
+ registerAgent(agent: AgentProcess): void;
178
+ /**
179
+ * Scan the agents dir for meta.json files not already in the in-memory
180
+ * cache and load them. Needed when another process (e.g. a Planner
181
+ * teammate running `agents teams add`) creates new teammates while this
182
+ * manager is alive — the supervisor loop calls this each wave so
183
+ * dynamically-added teammates get picked up.
184
+ *
185
+ * Does not modify or re-load agents already in the cache; that path is
186
+ * covered by updateStatusFromProcess() which re-reads stdout.log.
187
+ */
188
+ rescanFromDisk(): Promise<number>;
189
+ private loadExistingAgents;
190
+ spawn(taskName: string, agentType: AgentType, prompt: string, cwd?: string | null, mode?: Mode | null, effort?: EffortLevel, parentSessionId?: string | null, workspaceDir?: string | null, version?: string | null, name?: string | null, after?: string[], model?: string | null, envOverrides?: Record<string, string> | null, taskType?: TaskType | null, cloudProvider?: string | null, cloudSessionId?: string | null, cloudRepo?: string | null, cloudBranch?: string | null): Promise<AgentProcess>;
191
+ /**
192
+ * Actually spawn the OS process for a teammate. Extracted from spawn() so
193
+ * staged teammates can be launched later by startReady().
194
+ */
195
+ private launchProcess;
196
+ /**
197
+ * Fire any pending teammates in the given team whose `after` deps have all
198
+ * completed. Returns the list of teammates just launched. Repeatable:
199
+ * call it once per DAG wave. Safe to call on teams with no pending work
200
+ * (returns empty list).
201
+ */
202
+ startReady(taskName: string): Promise<AgentProcess[]>;
203
+ private buildCommand;
204
+ private applyEditMode;
205
+ private applyFullMode;
206
+ get(agentId: string): Promise<AgentProcess | null>;
207
+ /**
208
+ * Resolve a teammate reference to a single agent_id within a team.
209
+ * Accepts (in priority order):
210
+ * 1. exact teammate name ("alice")
211
+ * 2. exact UUID ("b2438499-dc25-4a5e-9e02-9916012580b8")
212
+ * 3. UUID prefix, if unique ("b2438499")
213
+ *
214
+ * Returns:
215
+ * - { kind: 'ok', agentId } when exactly one teammate matches
216
+ * - { kind: 'none' } when nothing matches
217
+ * - { kind: 'ambiguous', matches } when the prefix matches multiple ids
218
+ */
219
+ resolveAgentIdInTask(taskName: string, ref: string): Promise<{
220
+ kind: 'ok';
221
+ agentId: string;
222
+ } | {
223
+ kind: 'none';
224
+ } | {
225
+ kind: 'ambiguous';
226
+ matches: string[];
227
+ }>;
228
+ listAll(): Promise<AgentProcess[]>;
229
+ /**
230
+ * Fire the completion hook exactly once per teammate when it transitions
231
+ * into a terminal state. Errors are logged but never thrown — a ledger
232
+ * backend outage must not break status polling.
233
+ */
234
+ private maybeFireCompletionHook;
235
+ listRunning(): Promise<AgentProcess[]>;
236
+ listCompleted(): Promise<AgentProcess[]>;
237
+ listByTask(taskName: string): Promise<AgentProcess[]>;
238
+ listByParentSession(parentSessionId: string): Promise<AgentProcess[]>;
239
+ stopByTask(taskName: string): Promise<{
240
+ stopped: string[];
241
+ alreadyStopped: string[];
242
+ }>;
243
+ stop(agentId: string): Promise<boolean>;
244
+ private cleanupPartialAgent;
245
+ private cleanupOldAgents;
246
+ }
247
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/lib/teams/agents.ts"],"names":[],"mappings":"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"}