@swarmify/agents-cli 1.13.4 → 1.14.0

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 (567) hide show
  1. package/README.md +2 -319
  2. package/bin/agents.js +2 -0
  3. package/package.json +13 -79
  4. package/scripts/postinstall.js +4 -71
  5. package/CHANGELOG.md +0 -316
  6. package/LICENSE +0 -21
  7. package/dist/commands/__tests__/sessions-tail.test.d.ts +0 -2
  8. package/dist/commands/__tests__/sessions-tail.test.d.ts.map +0 -1
  9. package/dist/commands/__tests__/sessions-tail.test.js +0 -108
  10. package/dist/commands/__tests__/sessions-tail.test.js.map +0 -1
  11. package/dist/commands/__tests__/sessions.test.d.ts +0 -2
  12. package/dist/commands/__tests__/sessions.test.d.ts.map +0 -1
  13. package/dist/commands/__tests__/sessions.test.js +0 -636
  14. package/dist/commands/__tests__/sessions.test.js.map +0 -1
  15. package/dist/commands/cloud.d.ts +0 -11
  16. package/dist/commands/cloud.d.ts.map +0 -1
  17. package/dist/commands/cloud.js +0 -363
  18. package/dist/commands/cloud.js.map +0 -1
  19. package/dist/commands/commands.d.ts +0 -12
  20. package/dist/commands/commands.d.ts.map +0 -1
  21. package/dist/commands/commands.js +0 -629
  22. package/dist/commands/commands.js.map +0 -1
  23. package/dist/commands/daemon.d.ts +0 -11
  24. package/dist/commands/daemon.d.ts.map +0 -1
  25. package/dist/commands/daemon.js +0 -119
  26. package/dist/commands/daemon.js.map +0 -1
  27. package/dist/commands/drive.d.ts +0 -11
  28. package/dist/commands/drive.d.ts.map +0 -1
  29. package/dist/commands/drive.js +0 -175
  30. package/dist/commands/drive.js.map +0 -1
  31. package/dist/commands/exec.d.ts +0 -11
  32. package/dist/commands/exec.d.ts.map +0 -1
  33. package/dist/commands/exec.js +0 -251
  34. package/dist/commands/exec.js.map +0 -1
  35. package/dist/commands/factory.d.ts +0 -11
  36. package/dist/commands/factory.d.ts.map +0 -1
  37. package/dist/commands/factory.js +0 -445
  38. package/dist/commands/factory.js.map +0 -1
  39. package/dist/commands/fork.d.ts +0 -11
  40. package/dist/commands/fork.d.ts.map +0 -1
  41. package/dist/commands/fork.js +0 -147
  42. package/dist/commands/fork.js.map +0 -1
  43. package/dist/commands/hooks.d.ts +0 -12
  44. package/dist/commands/hooks.d.ts.map +0 -1
  45. package/dist/commands/hooks.js +0 -690
  46. package/dist/commands/hooks.js.map +0 -1
  47. package/dist/commands/init.d.ts +0 -15
  48. package/dist/commands/init.d.ts.map +0 -1
  49. package/dist/commands/init.js +0 -137
  50. package/dist/commands/init.js.map +0 -1
  51. package/dist/commands/mcp.d.ts +0 -12
  52. package/dist/commands/mcp.d.ts.map +0 -1
  53. package/dist/commands/mcp.js +0 -583
  54. package/dist/commands/mcp.js.map +0 -1
  55. package/dist/commands/models.d.ts +0 -11
  56. package/dist/commands/models.d.ts.map +0 -1
  57. package/dist/commands/models.js +0 -170
  58. package/dist/commands/models.js.map +0 -1
  59. package/dist/commands/packages.d.ts +0 -11
  60. package/dist/commands/packages.d.ts.map +0 -1
  61. package/dist/commands/packages.js +0 -551
  62. package/dist/commands/packages.js.map +0 -1
  63. package/dist/commands/permissions.d.ts +0 -12
  64. package/dist/commands/permissions.d.ts.map +0 -1
  65. package/dist/commands/permissions.js +0 -724
  66. package/dist/commands/permissions.js.map +0 -1
  67. package/dist/commands/plugins.d.ts +0 -11
  68. package/dist/commands/plugins.d.ts.map +0 -1
  69. package/dist/commands/plugins.js +0 -393
  70. package/dist/commands/plugins.js.map +0 -1
  71. package/dist/commands/profiles.d.ts +0 -12
  72. package/dist/commands/profiles.d.ts.map +0 -1
  73. package/dist/commands/profiles.js +0 -255
  74. package/dist/commands/profiles.js.map +0 -1
  75. package/dist/commands/pty.d.ts +0 -21
  76. package/dist/commands/pty.d.ts.map +0 -1
  77. package/dist/commands/pty.js +0 -391
  78. package/dist/commands/pty.js.map +0 -1
  79. package/dist/commands/pull.d.ts +0 -11
  80. package/dist/commands/pull.d.ts.map +0 -1
  81. package/dist/commands/pull.js +0 -456
  82. package/dist/commands/pull.js.map +0 -1
  83. package/dist/commands/push.d.ts +0 -11
  84. package/dist/commands/push.d.ts.map +0 -1
  85. package/dist/commands/push.js +0 -188
  86. package/dist/commands/push.js.map +0 -1
  87. package/dist/commands/refresh-memory.d.ts +0 -16
  88. package/dist/commands/refresh-memory.d.ts.map +0 -1
  89. package/dist/commands/refresh-memory.js +0 -52
  90. package/dist/commands/refresh-memory.js.map +0 -1
  91. package/dist/commands/resource-view.d.ts +0 -39
  92. package/dist/commands/resource-view.d.ts.map +0 -1
  93. package/dist/commands/resource-view.js +0 -197
  94. package/dist/commands/resource-view.js.map +0 -1
  95. package/dist/commands/routines.d.ts +0 -11
  96. package/dist/commands/routines.d.ts.map +0 -1
  97. package/dist/commands/routines.js +0 -590
  98. package/dist/commands/routines.js.map +0 -1
  99. package/dist/commands/rules.d.ts +0 -12
  100. package/dist/commands/rules.d.ts.map +0 -1
  101. package/dist/commands/rules.js +0 -489
  102. package/dist/commands/rules.js.map +0 -1
  103. package/dist/commands/secrets.d.ts +0 -11
  104. package/dist/commands/secrets.d.ts.map +0 -1
  105. package/dist/commands/secrets.js +0 -352
  106. package/dist/commands/secrets.js.map +0 -1
  107. package/dist/commands/sessions-picker.d.ts +0 -18
  108. package/dist/commands/sessions-picker.d.ts.map +0 -1
  109. package/dist/commands/sessions-picker.js +0 -265
  110. package/dist/commands/sessions-picker.js.map +0 -1
  111. package/dist/commands/sessions-tail.d.ts +0 -20
  112. package/dist/commands/sessions-tail.d.ts.map +0 -1
  113. package/dist/commands/sessions-tail.js +0 -236
  114. package/dist/commands/sessions-tail.js.map +0 -1
  115. package/dist/commands/sessions.d.ts +0 -18
  116. package/dist/commands/sessions.d.ts.map +0 -1
  117. package/dist/commands/sessions.js +0 -1173
  118. package/dist/commands/sessions.js.map +0 -1
  119. package/dist/commands/skills.d.ts +0 -12
  120. package/dist/commands/skills.d.ts.map +0 -1
  121. package/dist/commands/skills.js +0 -717
  122. package/dist/commands/skills.js.map +0 -1
  123. package/dist/commands/status.d.ts +0 -10
  124. package/dist/commands/status.d.ts.map +0 -1
  125. package/dist/commands/status.js +0 -26
  126. package/dist/commands/status.js.map +0 -1
  127. package/dist/commands/subagents.d.ts +0 -11
  128. package/dist/commands/subagents.d.ts.map +0 -1
  129. package/dist/commands/subagents.js +0 -361
  130. package/dist/commands/subagents.js.map +0 -1
  131. package/dist/commands/sync.d.ts +0 -11
  132. package/dist/commands/sync.d.ts.map +0 -1
  133. package/dist/commands/sync.js +0 -70
  134. package/dist/commands/sync.js.map +0 -1
  135. package/dist/commands/teams-picker.d.ts +0 -18
  136. package/dist/commands/teams-picker.d.ts.map +0 -1
  137. package/dist/commands/teams-picker.js +0 -290
  138. package/dist/commands/teams-picker.js.map +0 -1
  139. package/dist/commands/teams.d.ts +0 -18
  140. package/dist/commands/teams.d.ts.map +0 -1
  141. package/dist/commands/teams.js +0 -1144
  142. package/dist/commands/teams.js.map +0 -1
  143. package/dist/commands/utils.d.ts +0 -45
  144. package/dist/commands/utils.d.ts.map +0 -1
  145. package/dist/commands/utils.js +0 -106
  146. package/dist/commands/utils.js.map +0 -1
  147. package/dist/commands/versions.d.ts +0 -11
  148. package/dist/commands/versions.d.ts.map +0 -1
  149. package/dist/commands/versions.js +0 -701
  150. package/dist/commands/versions.js.map +0 -1
  151. package/dist/commands/view.d.ts +0 -43
  152. package/dist/commands/view.d.ts.map +0 -1
  153. package/dist/commands/view.js +0 -894
  154. package/dist/commands/view.js.map +0 -1
  155. package/dist/index.d.ts +0 -9
  156. package/dist/index.d.ts.map +0 -1
  157. package/dist/index.js +0 -496
  158. package/dist/index.js.map +0 -1
  159. package/dist/lib/__tests__/bugfixes.test.d.ts +0 -2
  160. package/dist/lib/__tests__/bugfixes.test.d.ts.map +0 -1
  161. package/dist/lib/__tests__/bugfixes.test.js +0 -192
  162. package/dist/lib/__tests__/bugfixes.test.js.map +0 -1
  163. package/dist/lib/__tests__/exec.test.d.ts +0 -2
  164. package/dist/lib/__tests__/exec.test.d.ts.map +0 -1
  165. package/dist/lib/__tests__/exec.test.js +0 -446
  166. package/dist/lib/__tests__/exec.test.js.map +0 -1
  167. package/dist/lib/__tests__/git-sync.test.d.ts +0 -2
  168. package/dist/lib/__tests__/git-sync.test.d.ts.map +0 -1
  169. package/dist/lib/__tests__/git-sync.test.js +0 -138
  170. package/dist/lib/__tests__/git-sync.test.js.map +0 -1
  171. package/dist/lib/__tests__/hooks.test.d.ts +0 -2
  172. package/dist/lib/__tests__/hooks.test.d.ts.map +0 -1
  173. package/dist/lib/__tests__/hooks.test.js +0 -203
  174. package/dist/lib/__tests__/hooks.test.js.map +0 -1
  175. package/dist/lib/__tests__/memory-compile.test.d.ts +0 -2
  176. package/dist/lib/__tests__/memory-compile.test.d.ts.map +0 -1
  177. package/dist/lib/__tests__/memory-compile.test.js +0 -95
  178. package/dist/lib/__tests__/memory-compile.test.js.map +0 -1
  179. package/dist/lib/__tests__/models.test.d.ts +0 -2
  180. package/dist/lib/__tests__/models.test.d.ts.map +0 -1
  181. package/dist/lib/__tests__/models.test.js +0 -239
  182. package/dist/lib/__tests__/models.test.js.map +0 -1
  183. package/dist/lib/__tests__/rotate.test.d.ts +0 -2
  184. package/dist/lib/__tests__/rotate.test.d.ts.map +0 -1
  185. package/dist/lib/__tests__/rotate.test.js +0 -80
  186. package/dist/lib/__tests__/rotate.test.js.map +0 -1
  187. package/dist/lib/__tests__/secrets-bundles.test.d.ts +0 -2
  188. package/dist/lib/__tests__/secrets-bundles.test.d.ts.map +0 -1
  189. package/dist/lib/__tests__/secrets-bundles.test.js +0 -104
  190. package/dist/lib/__tests__/secrets-bundles.test.js.map +0 -1
  191. package/dist/lib/__tests__/secrets.test.d.ts +0 -2
  192. package/dist/lib/__tests__/secrets.test.d.ts.map +0 -1
  193. package/dist/lib/__tests__/secrets.test.js +0 -90
  194. package/dist/lib/__tests__/secrets.test.js.map +0 -1
  195. package/dist/lib/__tests__/shims.test.d.ts +0 -2
  196. package/dist/lib/__tests__/shims.test.d.ts.map +0 -1
  197. package/dist/lib/__tests__/shims.test.js +0 -57
  198. package/dist/lib/__tests__/shims.test.js.map +0 -1
  199. package/dist/lib/__tests__/usage.test.d.ts +0 -2
  200. package/dist/lib/__tests__/usage.test.d.ts.map +0 -1
  201. package/dist/lib/__tests__/usage.test.js +0 -220
  202. package/dist/lib/__tests__/usage.test.js.map +0 -1
  203. package/dist/lib/__tests__/versions.test.d.ts +0 -2
  204. package/dist/lib/__tests__/versions.test.d.ts.map +0 -1
  205. package/dist/lib/__tests__/versions.test.js +0 -63
  206. package/dist/lib/__tests__/versions.test.js.map +0 -1
  207. package/dist/lib/agents.d.ts +0 -158
  208. package/dist/lib/agents.d.ts.map +0 -1
  209. package/dist/lib/agents.js +0 -1159
  210. package/dist/lib/agents.js.map +0 -1
  211. package/dist/lib/artifact-actions.d.ts +0 -27
  212. package/dist/lib/artifact-actions.d.ts.map +0 -1
  213. package/dist/lib/artifact-actions.js +0 -58
  214. package/dist/lib/artifact-actions.js.map +0 -1
  215. package/dist/lib/cloud/codex.d.ts +0 -26
  216. package/dist/lib/cloud/codex.d.ts.map +0 -1
  217. package/dist/lib/cloud/codex.js +0 -237
  218. package/dist/lib/cloud/codex.js.map +0 -1
  219. package/dist/lib/cloud/factory.d.ts +0 -32
  220. package/dist/lib/cloud/factory.d.ts.map +0 -1
  221. package/dist/lib/cloud/factory.js +0 -43
  222. package/dist/lib/cloud/factory.js.map +0 -1
  223. package/dist/lib/cloud/registry.d.ts +0 -16
  224. package/dist/lib/cloud/registry.d.ts.map +0 -1
  225. package/dist/lib/cloud/registry.js +0 -68
  226. package/dist/lib/cloud/registry.js.map +0 -1
  227. package/dist/lib/cloud/rush.d.ts +0 -37
  228. package/dist/lib/cloud/rush.d.ts.map +0 -1
  229. package/dist/lib/cloud/rush.js +0 -230
  230. package/dist/lib/cloud/rush.js.map +0 -1
  231. package/dist/lib/cloud/rush.test.d.ts +0 -2
  232. package/dist/lib/cloud/rush.test.d.ts.map +0 -1
  233. package/dist/lib/cloud/rush.test.js +0 -63
  234. package/dist/lib/cloud/rush.test.js.map +0 -1
  235. package/dist/lib/cloud/store.d.ts +0 -23
  236. package/dist/lib/cloud/store.d.ts.map +0 -1
  237. package/dist/lib/cloud/store.js +0 -116
  238. package/dist/lib/cloud/store.js.map +0 -1
  239. package/dist/lib/cloud/stream.d.ts +0 -24
  240. package/dist/lib/cloud/stream.d.ts.map +0 -1
  241. package/dist/lib/cloud/stream.js +0 -145
  242. package/dist/lib/cloud/stream.js.map +0 -1
  243. package/dist/lib/cloud/types.d.ts +0 -109
  244. package/dist/lib/cloud/types.d.ts.map +0 -1
  245. package/dist/lib/cloud/types.js +0 -33
  246. package/dist/lib/cloud/types.js.map +0 -1
  247. package/dist/lib/cloud/types.test.d.ts +0 -2
  248. package/dist/lib/cloud/types.test.d.ts.map +0 -1
  249. package/dist/lib/cloud/types.test.js +0 -41
  250. package/dist/lib/cloud/types.test.js.map +0 -1
  251. package/dist/lib/commands.d.ts +0 -141
  252. package/dist/lib/commands.d.ts.map +0 -1
  253. package/dist/lib/commands.js +0 -514
  254. package/dist/lib/commands.js.map +0 -1
  255. package/dist/lib/convert.d.ts +0 -21
  256. package/dist/lib/convert.d.ts.map +0 -1
  257. package/dist/lib/convert.js +0 -54
  258. package/dist/lib/convert.js.map +0 -1
  259. package/dist/lib/daemon.d.ts +0 -43
  260. package/dist/lib/daemon.d.ts.map +0 -1
  261. package/dist/lib/daemon.js +0 -332
  262. package/dist/lib/daemon.js.map +0 -1
  263. package/dist/lib/drive-sync.d.ts +0 -46
  264. package/dist/lib/drive-sync.d.ts.map +0 -1
  265. package/dist/lib/drive-sync.js +0 -209
  266. package/dist/lib/drive-sync.js.map +0 -1
  267. package/dist/lib/exec.d.ts +0 -101
  268. package/dist/lib/exec.d.ts.map +0 -1
  269. package/dist/lib/exec.js +0 -450
  270. package/dist/lib/exec.js.map +0 -1
  271. package/dist/lib/factory/__tests__/config.test.d.ts +0 -2
  272. package/dist/lib/factory/__tests__/config.test.d.ts.map +0 -1
  273. package/dist/lib/factory/__tests__/config.test.js +0 -128
  274. package/dist/lib/factory/__tests__/config.test.js.map +0 -1
  275. package/dist/lib/factory/config.d.ts +0 -49
  276. package/dist/lib/factory/config.d.ts.map +0 -1
  277. package/dist/lib/factory/config.js +0 -127
  278. package/dist/lib/factory/config.js.map +0 -1
  279. package/dist/lib/factory.d.ts +0 -57
  280. package/dist/lib/factory.d.ts.map +0 -1
  281. package/dist/lib/factory.js +0 -107
  282. package/dist/lib/factory.js.map +0 -1
  283. package/dist/lib/git.d.ts +0 -157
  284. package/dist/lib/git.d.ts.map +0 -1
  285. package/dist/lib/git.js +0 -647
  286. package/dist/lib/git.js.map +0 -1
  287. package/dist/lib/help.d.ts +0 -10
  288. package/dist/lib/help.d.ts.map +0 -1
  289. package/dist/lib/help.js +0 -66
  290. package/dist/lib/help.js.map +0 -1
  291. package/dist/lib/hooks.d.ts +0 -125
  292. package/dist/lib/hooks.d.ts.map +0 -1
  293. package/dist/lib/hooks.js +0 -846
  294. package/dist/lib/hooks.js.map +0 -1
  295. package/dist/lib/ledger/__tests__/local.test.d.ts +0 -2
  296. package/dist/lib/ledger/__tests__/local.test.d.ts.map +0 -1
  297. package/dist/lib/ledger/__tests__/local.test.js +0 -177
  298. package/dist/lib/ledger/__tests__/local.test.js.map +0 -1
  299. package/dist/lib/ledger/__tests__/sync.test.d.ts +0 -2
  300. package/dist/lib/ledger/__tests__/sync.test.d.ts.map +0 -1
  301. package/dist/lib/ledger/__tests__/sync.test.js +0 -117
  302. package/dist/lib/ledger/__tests__/sync.test.js.map +0 -1
  303. package/dist/lib/ledger/index.d.ts +0 -18
  304. package/dist/lib/ledger/index.d.ts.map +0 -1
  305. package/dist/lib/ledger/index.js +0 -32
  306. package/dist/lib/ledger/index.js.map +0 -1
  307. package/dist/lib/ledger/local.d.ts +0 -22
  308. package/dist/lib/ledger/local.d.ts.map +0 -1
  309. package/dist/lib/ledger/local.js +0 -333
  310. package/dist/lib/ledger/local.js.map +0 -1
  311. package/dist/lib/ledger/r2.d.ts +0 -41
  312. package/dist/lib/ledger/r2.d.ts.map +0 -1
  313. package/dist/lib/ledger/r2.js +0 -335
  314. package/dist/lib/ledger/r2.js.map +0 -1
  315. package/dist/lib/ledger/sync.d.ts +0 -33
  316. package/dist/lib/ledger/sync.d.ts.map +0 -1
  317. package/dist/lib/ledger/sync.js +0 -106
  318. package/dist/lib/ledger/sync.js.map +0 -1
  319. package/dist/lib/ledger/types.d.ts +0 -100
  320. package/dist/lib/ledger/types.d.ts.map +0 -1
  321. package/dist/lib/ledger/types.js +0 -21
  322. package/dist/lib/ledger/types.js.map +0 -1
  323. package/dist/lib/manifest.d.ts +0 -14
  324. package/dist/lib/manifest.d.ts.map +0 -1
  325. package/dist/lib/manifest.js +0 -48
  326. package/dist/lib/manifest.js.map +0 -1
  327. package/dist/lib/markdown.d.ts +0 -5
  328. package/dist/lib/markdown.d.ts.map +0 -1
  329. package/dist/lib/markdown.js +0 -17
  330. package/dist/lib/markdown.js.map +0 -1
  331. package/dist/lib/mcp.d.ts +0 -64
  332. package/dist/lib/mcp.d.ts.map +0 -1
  333. package/dist/lib/mcp.js +0 -327
  334. package/dist/lib/mcp.js.map +0 -1
  335. package/dist/lib/memory-compile.d.ts +0 -65
  336. package/dist/lib/memory-compile.d.ts.map +0 -1
  337. package/dist/lib/memory-compile.js +0 -174
  338. package/dist/lib/memory-compile.js.map +0 -1
  339. package/dist/lib/memory.d.ts +0 -64
  340. package/dist/lib/memory.d.ts.map +0 -1
  341. package/dist/lib/memory.js +0 -275
  342. package/dist/lib/memory.js.map +0 -1
  343. package/dist/lib/models.d.ts +0 -98
  344. package/dist/lib/models.d.ts.map +0 -1
  345. package/dist/lib/models.js +0 -728
  346. package/dist/lib/models.js.map +0 -1
  347. package/dist/lib/permissions.d.ts +0 -227
  348. package/dist/lib/permissions.d.ts.map +0 -1
  349. package/dist/lib/permissions.js +0 -1085
  350. package/dist/lib/permissions.js.map +0 -1
  351. package/dist/lib/picker.d.ts +0 -27
  352. package/dist/lib/picker.d.ts.map +0 -1
  353. package/dist/lib/picker.js +0 -110
  354. package/dist/lib/picker.js.map +0 -1
  355. package/dist/lib/plugins.d.ts +0 -80
  356. package/dist/lib/plugins.d.ts.map +0 -1
  357. package/dist/lib/plugins.js +0 -556
  358. package/dist/lib/plugins.js.map +0 -1
  359. package/dist/lib/profiles-keychain.d.ts +0 -11
  360. package/dist/lib/profiles-keychain.d.ts.map +0 -1
  361. package/dist/lib/profiles-keychain.js +0 -14
  362. package/dist/lib/profiles-keychain.js.map +0 -1
  363. package/dist/lib/profiles-presets.d.ts +0 -25
  364. package/dist/lib/profiles-presets.d.ts.map +0 -1
  365. package/dist/lib/profiles-presets.js +0 -104
  366. package/dist/lib/profiles-presets.js.map +0 -1
  367. package/dist/lib/profiles.d.ts +0 -70
  368. package/dist/lib/profiles.d.ts.map +0 -1
  369. package/dist/lib/profiles.js +0 -145
  370. package/dist/lib/profiles.js.map +0 -1
  371. package/dist/lib/pty-client.d.ts +0 -23
  372. package/dist/lib/pty-client.d.ts.map +0 -1
  373. package/dist/lib/pty-client.js +0 -181
  374. package/dist/lib/pty-client.js.map +0 -1
  375. package/dist/lib/pty-server.d.ts +0 -21
  376. package/dist/lib/pty-server.d.ts.map +0 -1
  377. package/dist/lib/pty-server.js +0 -427
  378. package/dist/lib/pty-server.js.map +0 -1
  379. package/dist/lib/registry.d.ts +0 -45
  380. package/dist/lib/registry.d.ts.map +0 -1
  381. package/dist/lib/registry.js +0 -220
  382. package/dist/lib/registry.js.map +0 -1
  383. package/dist/lib/resources.d.ts +0 -55
  384. package/dist/lib/resources.d.ts.map +0 -1
  385. package/dist/lib/resources.js +0 -103
  386. package/dist/lib/resources.js.map +0 -1
  387. package/dist/lib/rotate.d.ts +0 -58
  388. package/dist/lib/rotate.d.ts.map +0 -1
  389. package/dist/lib/rotate.js +0 -93
  390. package/dist/lib/rotate.js.map +0 -1
  391. package/dist/lib/routines.d.ts +0 -99
  392. package/dist/lib/routines.d.ts.map +0 -1
  393. package/dist/lib/routines.js +0 -352
  394. package/dist/lib/routines.js.map +0 -1
  395. package/dist/lib/runner.d.ts +0 -26
  396. package/dist/lib/runner.d.ts.map +0 -1
  397. package/dist/lib/runner.js +0 -325
  398. package/dist/lib/runner.js.map +0 -1
  399. package/dist/lib/sandbox.d.ts +0 -26
  400. package/dist/lib/sandbox.d.ts.map +0 -1
  401. package/dist/lib/sandbox.js +0 -218
  402. package/dist/lib/sandbox.js.map +0 -1
  403. package/dist/lib/scheduler.d.ts +0 -26
  404. package/dist/lib/scheduler.d.ts.map +0 -1
  405. package/dist/lib/scheduler.js +0 -77
  406. package/dist/lib/scheduler.js.map +0 -1
  407. package/dist/lib/secrets-bundles.d.ts +0 -38
  408. package/dist/lib/secrets-bundles.d.ts.map +0 -1
  409. package/dist/lib/secrets-bundles.js +0 -176
  410. package/dist/lib/secrets-bundles.js.map +0 -1
  411. package/dist/lib/secrets.d.ts +0 -53
  412. package/dist/lib/secrets.d.ts.map +0 -1
  413. package/dist/lib/secrets.js +0 -140
  414. package/dist/lib/secrets.js.map +0 -1
  415. package/dist/lib/session/__tests__/db.test.d.ts +0 -2
  416. package/dist/lib/session/__tests__/db.test.d.ts.map +0 -1
  417. package/dist/lib/session/__tests__/db.test.js +0 -54
  418. package/dist/lib/session/__tests__/db.test.js.map +0 -1
  419. package/dist/lib/session/__tests__/discover.test.d.ts +0 -2
  420. package/dist/lib/session/__tests__/discover.test.d.ts.map +0 -1
  421. package/dist/lib/session/__tests__/discover.test.js +0 -63
  422. package/dist/lib/session/__tests__/discover.test.js.map +0 -1
  423. package/dist/lib/session/__tests__/prompt.test.d.ts +0 -2
  424. package/dist/lib/session/__tests__/prompt.test.d.ts.map +0 -1
  425. package/dist/lib/session/__tests__/prompt.test.js +0 -44
  426. package/dist/lib/session/__tests__/prompt.test.js.map +0 -1
  427. package/dist/lib/session/__tests__/render.test.d.ts +0 -2
  428. package/dist/lib/session/__tests__/render.test.d.ts.map +0 -1
  429. package/dist/lib/session/__tests__/render.test.js +0 -602
  430. package/dist/lib/session/__tests__/render.test.js.map +0 -1
  431. package/dist/lib/session/active.d.ts +0 -44
  432. package/dist/lib/session/active.d.ts.map +0 -1
  433. package/dist/lib/session/active.js +0 -379
  434. package/dist/lib/session/active.js.map +0 -1
  435. package/dist/lib/session/artifacts.d.ts +0 -15
  436. package/dist/lib/session/artifacts.d.ts.map +0 -1
  437. package/dist/lib/session/artifacts.js +0 -86
  438. package/dist/lib/session/artifacts.js.map +0 -1
  439. package/dist/lib/session/db.d.ts +0 -140
  440. package/dist/lib/session/db.d.ts.map +0 -1
  441. package/dist/lib/session/db.js +0 -599
  442. package/dist/lib/session/db.js.map +0 -1
  443. package/dist/lib/session/discover.d.ts +0 -72
  444. package/dist/lib/session/discover.d.ts.map +0 -1
  445. package/dist/lib/session/discover.js +0 -1315
  446. package/dist/lib/session/discover.js.map +0 -1
  447. package/dist/lib/session/parse.d.ts +0 -34
  448. package/dist/lib/session/parse.d.ts.map +0 -1
  449. package/dist/lib/session/parse.js +0 -663
  450. package/dist/lib/session/parse.js.map +0 -1
  451. package/dist/lib/session/prompt.d.ts +0 -13
  452. package/dist/lib/session/prompt.d.ts.map +0 -1
  453. package/dist/lib/session/prompt.js +0 -79
  454. package/dist/lib/session/prompt.js.map +0 -1
  455. package/dist/lib/session/prompt.test.d.ts +0 -2
  456. package/dist/lib/session/prompt.test.d.ts.map +0 -1
  457. package/dist/lib/session/prompt.test.js +0 -57
  458. package/dist/lib/session/prompt.test.js.map +0 -1
  459. package/dist/lib/session/render.d.ts +0 -103
  460. package/dist/lib/session/render.d.ts.map +0 -1
  461. package/dist/lib/session/render.js +0 -798
  462. package/dist/lib/session/render.js.map +0 -1
  463. package/dist/lib/session/team-filter.d.ts +0 -35
  464. package/dist/lib/session/team-filter.d.ts.map +0 -1
  465. package/dist/lib/session/team-filter.js +0 -75
  466. package/dist/lib/session/team-filter.js.map +0 -1
  467. package/dist/lib/session/team-filter.test.d.ts +0 -2
  468. package/dist/lib/session/team-filter.test.d.ts.map +0 -1
  469. package/dist/lib/session/team-filter.test.js +0 -157
  470. package/dist/lib/session/team-filter.test.js.map +0 -1
  471. package/dist/lib/session/types.d.ts +0 -84
  472. package/dist/lib/session/types.d.ts.map +0 -1
  473. package/dist/lib/session/types.js +0 -11
  474. package/dist/lib/session/types.js.map +0 -1
  475. package/dist/lib/shims.d.ts +0 -272
  476. package/dist/lib/shims.d.ts.map +0 -1
  477. package/dist/lib/shims.js +0 -1322
  478. package/dist/lib/shims.js.map +0 -1
  479. package/dist/lib/skills.d.ts +0 -142
  480. package/dist/lib/skills.d.ts.map +0 -1
  481. package/dist/lib/skills.js +0 -791
  482. package/dist/lib/skills.js.map +0 -1
  483. package/dist/lib/state.d.ts +0 -87
  484. package/dist/lib/state.d.ts.map +0 -1
  485. package/dist/lib/state.js +0 -333
  486. package/dist/lib/state.js.map +0 -1
  487. package/dist/lib/subagents.d.ts +0 -84
  488. package/dist/lib/subagents.d.ts.map +0 -1
  489. package/dist/lib/subagents.js +0 -410
  490. package/dist/lib/subagents.js.map +0 -1
  491. package/dist/lib/teams/__tests__/oracle.test.d.ts +0 -2
  492. package/dist/lib/teams/__tests__/oracle.test.d.ts.map +0 -1
  493. package/dist/lib/teams/__tests__/oracle.test.js +0 -89
  494. package/dist/lib/teams/__tests__/oracle.test.js.map +0 -1
  495. package/dist/lib/teams/__tests__/supervisor.test.d.ts +0 -2
  496. package/dist/lib/teams/__tests__/supervisor.test.d.ts.map +0 -1
  497. package/dist/lib/teams/__tests__/supervisor.test.js +0 -179
  498. package/dist/lib/teams/__tests__/supervisor.test.js.map +0 -1
  499. package/dist/lib/teams/agents.d.ts +0 -247
  500. package/dist/lib/teams/agents.d.ts.map +0 -1
  501. package/dist/lib/teams/agents.js +0 -1244
  502. package/dist/lib/teams/agents.js.map +0 -1
  503. package/dist/lib/teams/api.d.ts +0 -91
  504. package/dist/lib/teams/api.d.ts.map +0 -1
  505. package/dist/lib/teams/api.js +0 -239
  506. package/dist/lib/teams/api.js.map +0 -1
  507. package/dist/lib/teams/cloud.d.ts +0 -11
  508. package/dist/lib/teams/cloud.d.ts.map +0 -1
  509. package/dist/lib/teams/cloud.js +0 -169
  510. package/dist/lib/teams/cloud.js.map +0 -1
  511. package/dist/lib/teams/debug.d.ts +0 -8
  512. package/dist/lib/teams/debug.d.ts.map +0 -1
  513. package/dist/lib/teams/debug.js +0 -12
  514. package/dist/lib/teams/debug.js.map +0 -1
  515. package/dist/lib/teams/file_ops.d.ts +0 -13
  516. package/dist/lib/teams/file_ops.d.ts.map +0 -1
  517. package/dist/lib/teams/file_ops.js +0 -66
  518. package/dist/lib/teams/file_ops.js.map +0 -1
  519. package/dist/lib/teams/index.d.ts +0 -16
  520. package/dist/lib/teams/index.d.ts.map +0 -1
  521. package/dist/lib/teams/index.js +0 -15
  522. package/dist/lib/teams/index.js.map +0 -1
  523. package/dist/lib/teams/oracle.d.ts +0 -20
  524. package/dist/lib/teams/oracle.d.ts.map +0 -1
  525. package/dist/lib/teams/oracle.js +0 -59
  526. package/dist/lib/teams/oracle.js.map +0 -1
  527. package/dist/lib/teams/parsers.d.ts +0 -9
  528. package/dist/lib/teams/parsers.d.ts.map +0 -1
  529. package/dist/lib/teams/parsers.js +0 -837
  530. package/dist/lib/teams/parsers.js.map +0 -1
  531. package/dist/lib/teams/persistence.d.ts +0 -43
  532. package/dist/lib/teams/persistence.d.ts.map +0 -1
  533. package/dist/lib/teams/persistence.js +0 -299
  534. package/dist/lib/teams/persistence.js.map +0 -1
  535. package/dist/lib/teams/ralph.d.ts +0 -8
  536. package/dist/lib/teams/ralph.d.ts.map +0 -1
  537. package/dist/lib/teams/ralph.js +0 -59
  538. package/dist/lib/teams/ralph.js.map +0 -1
  539. package/dist/lib/teams/registry.d.ts +0 -18
  540. package/dist/lib/teams/registry.d.ts.map +0 -1
  541. package/dist/lib/teams/registry.js +0 -68
  542. package/dist/lib/teams/registry.js.map +0 -1
  543. package/dist/lib/teams/summarizer.d.ts +0 -73
  544. package/dist/lib/teams/summarizer.d.ts.map +0 -1
  545. package/dist/lib/teams/summarizer.js +0 -780
  546. package/dist/lib/teams/summarizer.js.map +0 -1
  547. package/dist/lib/teams/supervisor.d.ts +0 -49
  548. package/dist/lib/teams/supervisor.d.ts.map +0 -1
  549. package/dist/lib/teams/supervisor.js +0 -74
  550. package/dist/lib/teams/supervisor.js.map +0 -1
  551. package/dist/lib/template.d.ts +0 -27
  552. package/dist/lib/template.d.ts.map +0 -1
  553. package/dist/lib/template.js +0 -60
  554. package/dist/lib/template.js.map +0 -1
  555. package/dist/lib/types.d.ts +0 -331
  556. package/dist/lib/types.d.ts.map +0 -1
  557. package/dist/lib/types.js +0 -29
  558. package/dist/lib/types.js.map +0 -1
  559. package/dist/lib/usage.d.ts +0 -105
  560. package/dist/lib/usage.d.ts.map +0 -1
  561. package/dist/lib/usage.js +0 -686
  562. package/dist/lib/usage.js.map +0 -1
  563. package/dist/lib/versions.d.ts +0 -253
  564. package/dist/lib/versions.d.ts.map +0 -1
  565. package/dist/lib/versions.js +0 -1796
  566. package/dist/lib/versions.js.map +0 -1
  567. package/scripts/rebuild-sqlite.sh +0 -46
@@ -1,636 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import * as fs from 'fs';
3
- import * as os from 'os';
4
- import * as path from 'path';
5
- import * as crypto from 'crypto';
6
- import { spawnSync } from 'child_process';
7
- import { buildResumeCommand } from '../sessions.js';
8
- const repoRoot = process.cwd();
9
- const cliEntry = path.join(repoRoot, 'src', 'index.ts');
10
- const tsxBin = path.join(repoRoot, 'node_modules', '.bin', 'tsx');
11
- function writeUpdateCache(tempHome) {
12
- const packageJson = JSON.parse(fs.readFileSync(path.join(repoRoot, 'package.json'), 'utf-8'));
13
- fs.mkdirSync(path.join(tempHome, '.agents'), { recursive: true });
14
- fs.writeFileSync(path.join(tempHome, '.agents', '.update-check'), JSON.stringify({ lastCheck: Date.now(), latestVersion: packageJson.version }), 'utf-8');
15
- }
16
- function writeClaudeSession(tempHome, projectKey, sessionId, cwd, content, timestamp) {
17
- fs.mkdirSync(cwd, { recursive: true });
18
- const sessionsDir = path.join(tempHome, '.claude', 'projects', projectKey);
19
- fs.mkdirSync(sessionsDir, { recursive: true });
20
- fs.writeFileSync(path.join(sessionsDir, `${sessionId}.jsonl`), JSON.stringify({
21
- type: 'user',
22
- timestamp,
23
- cwd,
24
- sessionId,
25
- version: '2.1.110',
26
- gitBranch: 'main',
27
- message: { role: 'user', content },
28
- }) + '\n', 'utf-8');
29
- }
30
- function writeCodexSession(tempHome, sessionId, cwd, prompt, timestamp) {
31
- fs.mkdirSync(cwd, { recursive: true });
32
- const sessionsDir = path.join(tempHome, '.codex', 'sessions', '2026', '04', '17');
33
- fs.mkdirSync(sessionsDir, { recursive: true });
34
- const filePath = path.join(sessionsDir, `rollout-${timestamp.replace(/[:.]/g, '-')}-${sessionId}.jsonl`);
35
- const lines = [
36
- JSON.stringify({
37
- timestamp,
38
- type: 'session_meta',
39
- payload: {
40
- id: sessionId,
41
- timestamp,
42
- cwd,
43
- originator: 'codex_cli_rs',
44
- cli_version: '0.113.0',
45
- source: 'cli',
46
- },
47
- }),
48
- JSON.stringify({
49
- timestamp,
50
- type: 'response_item',
51
- payload: {
52
- type: 'message',
53
- role: 'developer',
54
- content: [{ type: 'input_text', text: '<permissions instructions>\nFilesystem sandboxing.\n</permissions instructions>' }],
55
- },
56
- }),
57
- JSON.stringify({
58
- timestamp,
59
- type: 'response_item',
60
- payload: {
61
- type: 'message',
62
- role: 'user',
63
- content: [{ type: 'input_text', text: '<environment_context>\n <cwd>/tmp/project</cwd>\n <shell>zsh</shell>\n</environment_context>' }],
64
- },
65
- }),
66
- JSON.stringify({
67
- timestamp,
68
- type: 'response_item',
69
- payload: {
70
- type: 'message',
71
- role: 'user',
72
- content: [{ type: 'input_text', text: '<collaboration_mode># Collaboration Mode: Default\n</collaboration_mode>' }],
73
- },
74
- }),
75
- JSON.stringify({
76
- timestamp,
77
- type: 'response_item',
78
- payload: {
79
- type: 'message',
80
- role: 'user',
81
- content: [{ type: 'input_text', text: '# AGENTS.md instructions for /tmp/project\n\n<INSTRUCTIONS>\nDo work.\n</INSTRUCTIONS>' }],
82
- },
83
- }),
84
- JSON.stringify({
85
- timestamp,
86
- type: 'response_item',
87
- payload: {
88
- type: 'message',
89
- role: 'user',
90
- content: [{ type: 'input_text', text: prompt }],
91
- },
92
- }),
93
- JSON.stringify({
94
- timestamp,
95
- type: 'response_item',
96
- payload: {
97
- type: 'message',
98
- role: 'assistant',
99
- content: [{ type: 'output_text', text: 'Looking into it now.' }],
100
- },
101
- }),
102
- ];
103
- fs.writeFileSync(filePath, lines.join('\n') + '\n', 'utf-8');
104
- }
105
- function writeGeminiSession(tempHome, sessionId, cwd, prompt, timestamp, version = '0.29.5') {
106
- const versionHome = path.join(tempHome, '.agents', 'versions', 'gemini', version, 'home');
107
- const geminiHome = path.join(versionHome, '.gemini');
108
- const projectHash = crypto.createHash('sha256').update(cwd).digest('hex');
109
- const chatsDir = path.join(geminiHome, 'tmp', projectHash, 'chats');
110
- fs.mkdirSync(cwd, { recursive: true });
111
- fs.mkdirSync(chatsDir, { recursive: true });
112
- fs.mkdirSync(path.dirname(path.join(tempHome, '.gemini')), { recursive: true });
113
- const activeGeminiHome = path.join(tempHome, '.gemini');
114
- if (!fs.existsSync(activeGeminiHome)) {
115
- fs.symlinkSync(geminiHome, activeGeminiHome);
116
- }
117
- fs.writeFileSync(path.join(geminiHome, 'projects.json'), JSON.stringify({ projects: [cwd] }), 'utf-8');
118
- fs.writeFileSync(path.join(chatsDir, `session-${timestamp.replace(/[:.]/g, '-')}-${sessionId.slice(0, 8)}.json`), JSON.stringify({
119
- sessionId,
120
- projectHash,
121
- startTime: timestamp,
122
- lastUpdated: timestamp,
123
- messages: [
124
- {
125
- id: `${sessionId}-user`,
126
- timestamp,
127
- type: 'user',
128
- content: [{ text: prompt }],
129
- },
130
- {
131
- id: `${sessionId}-assistant`,
132
- timestamp,
133
- type: 'gemini',
134
- content: 'Investigating now.',
135
- model: 'gemini-3-flash-preview',
136
- tokens: { total: 1234 },
137
- },
138
- ],
139
- }, null, 2), 'utf-8');
140
- }
141
- function writeOpenClawSetup(tempHome, version = '2026.3.8') {
142
- const managedHome = path.join(tempHome, '.agents', 'versions', 'openclaw', version, 'home', '.openclaw');
143
- fs.mkdirSync(managedHome, { recursive: true });
144
- const activeHome = path.join(tempHome, '.openclaw');
145
- fs.mkdirSync(path.dirname(activeHome), { recursive: true });
146
- if (!fs.existsSync(activeHome)) {
147
- fs.symlinkSync(managedHome, activeHome);
148
- }
149
- const managedWorkspace = path.join(managedHome, 'sergey');
150
- fs.mkdirSync(managedWorkspace, { recursive: true });
151
- fs.writeFileSync(path.join(managedHome, 'openclaw.json'), JSON.stringify({
152
- agents: {
153
- list: [
154
- { id: 'sergey', workspace: path.join(activeHome, 'sergey') },
155
- ],
156
- },
157
- }, null, 2), 'utf-8');
158
- const binDir = path.join(tempHome, 'bin');
159
- fs.mkdirSync(binDir, { recursive: true });
160
- const openclawBin = path.join(binDir, 'openclaw');
161
- fs.writeFileSync(openclawBin, `#!/bin/sh
162
- if [ "$1" = "--version" ]; then
163
- echo "openclaw/${version}"
164
- exit 0
165
- fi
166
-
167
- if [ "$1" = "channels" ] && [ "$2" = "status" ]; then
168
- echo "- Telegram sergey (Sergey): enabled, configured, running, out:2h ago, mode:polling, token:config"
169
- exit 0
170
- fi
171
-
172
- if [ "$1" = "cron" ] && [ "$2" = "list" ]; then
173
- echo "ID NAME SCHEDULE NEXT LAST STATUS TARGET AGENT MODEL"
174
- echo "12345678-1234-1234-1234-123456789abc sergey-hourly cron */30 * * * * in 7h 48m ago ok isolated sergey -"
175
- exit 0
176
- fi
177
-
178
- exit 1
179
- `, 'utf-8');
180
- fs.chmodSync(openclawBin, 0o755);
181
- return path.join(activeHome, 'sergey');
182
- }
183
- function runAgents(args, cwd, home) {
184
- return spawnSync(tsxBin, [cliEntry, ...args], {
185
- cwd,
186
- env: {
187
- ...process.env,
188
- HOME: home,
189
- PATH: `${path.join(home, 'bin')}${path.delimiter}${process.env.PATH || ''}`,
190
- },
191
- encoding: 'utf-8',
192
- });
193
- }
194
- function outputOf(result) {
195
- return `${result.stdout}${result.stderr}`;
196
- }
197
- describe('agents sessions', () => {
198
- it('lists only sessions from the current directory by default and shows all with --all', () => {
199
- const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-list-'));
200
- try {
201
- writeUpdateCache(tempHome);
202
- const swarmifyDir = path.join(tempHome, 'work', 'swarmify');
203
- const agentsCliDir = path.join(tempHome, 'work', 'agents-cli');
204
- const swarmifySessionId = '11111111-1111-4111-8111-111111111111';
205
- const agentsCliSessionId = '22222222-2222-4222-8222-222222222222';
206
- writeClaudeSession(tempHome, 'swarmify-test', swarmifySessionId, swarmifyDir, 'Inspect the swarmify session list', '2026-04-17T19:35:30.000Z');
207
- writeClaudeSession(tempHome, 'agents-cli-test', agentsCliSessionId, agentsCliDir, 'Inspect the agents-cli session list', '2026-04-17T19:36:30.000Z');
208
- const localResult = runAgents(['sessions'], swarmifyDir, tempHome);
209
- expect(localResult.status).toBe(0);
210
- const localOutput = outputOf(localResult);
211
- expect(localOutput).toContain(swarmifySessionId.slice(0, 8));
212
- expect(localOutput).not.toContain(agentsCliSessionId.slice(0, 8));
213
- const allResult = runAgents(['sessions', '--all'], swarmifyDir, tempHome);
214
- expect(allResult.status).toBe(0);
215
- const allOutput = outputOf(allResult);
216
- expect(allOutput).toContain(swarmifySessionId.slice(0, 8));
217
- expect(allOutput).toContain(agentsCliSessionId.slice(0, 8));
218
- }
219
- finally {
220
- fs.rmSync(tempHome, { recursive: true, force: true });
221
- }
222
- });
223
- it('shows message and token counts while skipping Claude local-command preambles in the topic', () => {
224
- const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-stats-'));
225
- try {
226
- writeUpdateCache(tempHome);
227
- const repoDir = path.join(tempHome, 'work', 'agents-cli');
228
- const projectKey = 'agents-cli-test';
229
- const sessionId = '77777777-7777-4777-8777-777777777777';
230
- fs.mkdirSync(repoDir, { recursive: true });
231
- fs.mkdirSync(path.join(tempHome, '.claude', 'projects', projectKey), { recursive: true });
232
- fs.writeFileSync(path.join(tempHome, '.claude', 'projects', projectKey, `${sessionId}.jsonl`), [
233
- JSON.stringify({
234
- type: 'user',
235
- timestamp: '2026-04-17T19:00:00.000Z',
236
- cwd: repoDir,
237
- sessionId,
238
- version: '2.1.110',
239
- gitBranch: 'main',
240
- isMeta: true,
241
- message: {
242
- role: 'user',
243
- content: '<local-command-caveat>Caveat: The messages below were generated by the user while running local commands.</local-command-caveat>',
244
- },
245
- }),
246
- JSON.stringify({
247
- type: 'user',
248
- timestamp: '2026-04-17T19:00:01.000Z',
249
- cwd: repoDir,
250
- sessionId,
251
- version: '2.1.110',
252
- gitBranch: 'main',
253
- message: { role: 'user', content: '<bash-input>pwd</bash-input>' },
254
- }),
255
- JSON.stringify({
256
- type: 'user',
257
- timestamp: '2026-04-17T19:00:02.000Z',
258
- cwd: repoDir,
259
- sessionId,
260
- version: '2.1.110',
261
- gitBranch: 'main',
262
- message: { role: 'user', content: 'Inspect session stats' },
263
- }),
264
- JSON.stringify({
265
- type: 'assistant',
266
- timestamp: '2026-04-17T19:00:03.000Z',
267
- cwd: repoDir,
268
- sessionId,
269
- version: '2.1.110',
270
- gitBranch: 'main',
271
- message: {
272
- id: 'msg-stats',
273
- role: 'assistant',
274
- content: [{ type: 'text', text: 'Looking now.' }],
275
- usage: {
276
- input_tokens: 10,
277
- output_tokens: 5,
278
- cache_read_input_tokens: 20,
279
- cache_creation_input_tokens: 0,
280
- },
281
- },
282
- }),
283
- JSON.stringify({
284
- type: 'assistant',
285
- timestamp: '2026-04-17T19:00:04.000Z',
286
- cwd: repoDir,
287
- sessionId,
288
- version: '2.1.110',
289
- gitBranch: 'main',
290
- message: {
291
- id: 'msg-stats',
292
- role: 'assistant',
293
- content: [{ type: 'tool_use', id: 'tool-1', name: 'Read', input: { file_path: '/tmp/example' } }],
294
- usage: {
295
- input_tokens: 10,
296
- output_tokens: 5,
297
- cache_read_input_tokens: 20,
298
- cache_creation_input_tokens: 0,
299
- },
300
- },
301
- }),
302
- ].join('\n') + '\n', 'utf-8');
303
- const result = runAgents(['sessions'], repoDir, tempHome);
304
- expect(result.status).toBe(0);
305
- const output = outputOf(result);
306
- // Core intent of this test: topic rendering skips the Claude
307
- // local-command preamble ("Caveat: ...") and shows the real prompt.
308
- // The Msgs/Tokens column assertion was dropped when the session table
309
- // was simplified to ID / agent / project / topic / when.
310
- const row = output.split('\n').find(line => line.includes(sessionId.slice(0, 8))) || '';
311
- expect(row).toContain('Inspect session stats');
312
- expect(row).not.toContain('Caveat:');
313
- }
314
- finally {
315
- fs.rmSync(tempHome, { recursive: true, force: true });
316
- }
317
- });
318
- it('finds matching projects outside the current directory when --project is provided', () => {
319
- const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-project-'));
320
- try {
321
- writeUpdateCache(tempHome);
322
- const workspaceDir = path.join(tempHome, 'work');
323
- const swarmifyDir = path.join(workspaceDir, 'swarmify');
324
- const agentsCliDir = path.join(workspaceDir, 'agents-cli');
325
- const swarmifySessionId = '55555555-5555-4555-8555-555555555555';
326
- const agentsCliSessionId = '66666666-6666-4666-8666-666666666666';
327
- fs.mkdirSync(workspaceDir, { recursive: true });
328
- writeClaudeSession(tempHome, 'swarmify-test', swarmifySessionId, swarmifyDir, 'Inspect the swarmify session list', '2026-04-17T19:35:30.000Z');
329
- writeClaudeSession(tempHome, 'agents-cli-test', agentsCliSessionId, agentsCliDir, 'Inspect the agents-cli session list', '2026-04-17T19:36:30.000Z');
330
- const result = runAgents(['sessions', '--project', 'agents-cli'], workspaceDir, tempHome);
331
- expect(result.status).toBe(0);
332
- const output = outputOf(result);
333
- expect(output).toContain(agentsCliSessionId.slice(0, 8));
334
- expect(output).not.toContain(swarmifySessionId.slice(0, 8));
335
- expect(output).not.toContain(`No sessions found for ${workspaceDir}`);
336
- }
337
- finally {
338
- fs.rmSync(tempHome, { recursive: true, force: true });
339
- }
340
- });
341
- it('shows the first human Codex prompt instead of injected session scaffolding', () => {
342
- const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-codex-topic-'));
343
- try {
344
- writeUpdateCache(tempHome);
345
- const projectDir = path.join(tempHome, 'work', 'agents-cli');
346
- const sessionId = '99999999-9999-4999-8999-999999999999';
347
- const prompt = 'Search across sessions by prompt text';
348
- writeCodexSession(tempHome, sessionId, projectDir, prompt, '2026-04-17T19:40:30.000Z');
349
- const result = runAgents(['sessions', '--all'], projectDir, tempHome);
350
- expect(result.status).toBe(0);
351
- const output = outputOf(result);
352
- expect(output).toContain(sessionId.slice(0, 8));
353
- expect(output).toContain(prompt);
354
- expect(output).not.toContain('Collaboration Mode: Default');
355
- expect(output).not.toContain('# AGENTS.md instructions');
356
- }
357
- finally {
358
- fs.rmSync(tempHome, { recursive: true, force: true });
359
- }
360
- });
361
- it('lists Codex sessions when filtered by --agent', () => {
362
- const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-codex-version-'));
363
- try {
364
- writeUpdateCache(tempHome);
365
- const projectDir = path.join(tempHome, 'work', 'agents-cli');
366
- writeCodexSession(tempHome, 'abababab-abab-4bab-8bab-abababababab', projectDir, 'Show codex versions in the session list', '2026-04-17T19:42:30.000Z');
367
- const result = runAgents(['sessions', '--agent', 'codex', '--all'], projectDir, tempHome);
368
- expect(result.status).toBe(0);
369
- const output = outputOf(result);
370
- // Table simplification dropped the "codex@<version>" suffix from the
371
- // agent column; still verify the codex session is discovered & listed.
372
- expect(output).toContain('codex');
373
- expect(output).toContain('Show codex versions in the session list');
374
- expect(output).toContain('abababab');
375
- }
376
- finally {
377
- fs.rmSync(tempHome, { recursive: true, force: true });
378
- }
379
- });
380
- it('lists Gemini sessions from a managed version home', () => {
381
- const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-gemini-version-'));
382
- try {
383
- writeUpdateCache(tempHome);
384
- const projectDir = path.join(tempHome, 'work', 'agents-cli');
385
- writeGeminiSession(tempHome, 'f0f0f0f0-f0f0-4f0f-8f0f-f0f0f0f0f0f0', projectDir, 'Show gemini versions in the session list', '2026-04-17T19:43:30.000Z');
386
- const result = runAgents(['sessions', '--agent', 'gemini', '--all'], projectDir, tempHome);
387
- expect(result.status).toBe(0);
388
- const output = outputOf(result);
389
- // Version suffix in the agent column was removed by the table
390
- // simplification. Still verify the session is discovered & listed.
391
- expect(output).toContain('gemini');
392
- expect(output).toContain('Show gemini versions in the session list');
393
- expect(output).toContain('f0f0f0f0');
394
- }
395
- finally {
396
- fs.rmSync(tempHome, { recursive: true, force: true });
397
- }
398
- });
399
- it('shows OpenClaw synthetic sessions from the configured workspace without --all', () => {
400
- const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-openclaw-cwd-'));
401
- try {
402
- writeUpdateCache(tempHome);
403
- const openClawWorkspace = writeOpenClawSetup(tempHome);
404
- const result = runAgents(['sessions', '--agent', 'openclaw'], openClawWorkspace, tempHome);
405
- expect(result.status).toBe(0);
406
- const output = outputOf(result);
407
- // The "openclaw@<version>" suffix was dropped with the table
408
- // simplification; the workspace discovery (Sergey / session id) is the
409
- // actual behavior this test guards.
410
- expect(output).toContain('Sergey');
411
- expect(output).toContain('12345678');
412
- expect(output).not.toContain('No sessions found');
413
- }
414
- finally {
415
- fs.rmSync(tempHome, { recursive: true, force: true });
416
- }
417
- });
418
- });
419
- describe('agents sessions (render-mode)', () => {
420
- it('resolves explicit IDs across directories even when the default listing is scoped to cwd', () => {
421
- const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-render-global-'));
422
- try {
423
- writeUpdateCache(tempHome);
424
- const swarmifyDir = path.join(tempHome, 'work', 'swarmify');
425
- const agentsCliDir = path.join(tempHome, 'work', 'agents-cli');
426
- const siblingSessionId = '33333333-3333-4333-8333-333333333333';
427
- writeClaudeSession(tempHome, 'swarmify-test', '44444444-4444-4444-8444-444444444444', swarmifyDir, 'Inspect the swarmify session list', '2026-04-17T19:35:30.000Z');
428
- writeClaudeSession(tempHome, 'agents-cli-test', siblingSessionId, agentsCliDir, 'Review sibling repo state', '2026-04-17T19:36:30.000Z');
429
- const result = runAgents(['sessions', siblingSessionId, '--markdown'], swarmifyDir, tempHome);
430
- expect(result.status).toBe(0);
431
- const output = outputOf(result);
432
- expect(output).toContain('Review sibling repo state');
433
- expect(output).not.toContain(`No session found matching: ${siblingSessionId}`);
434
- }
435
- finally {
436
- fs.rmSync(tempHome, { recursive: true, force: true });
437
- }
438
- });
439
- it('resolves Claude /resume history IDs to the resumed transcript', () => {
440
- const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-render-history-'));
441
- try {
442
- writeUpdateCache(tempHome);
443
- const projectRoot = path.join(tempHome, 'work', 'swarmify');
444
- const transcriptCwd = path.join(projectRoot, 'extension');
445
- const transcriptId = '92267176-d991-45c2-a8e5-e851e30a203b';
446
- const historyOnlyId = 'f6a6cd2d-2138-41c4-b653-d2881ce9cdd3';
447
- fs.mkdirSync(path.join(tempHome, '.claude', 'projects', 'swarmify-test'), { recursive: true });
448
- fs.writeFileSync(path.join(tempHome, '.claude', 'history.jsonl'), JSON.stringify({
449
- display: '/resume',
450
- timestamp: Date.parse('2026-04-17T19:30:00.000Z'),
451
- project: projectRoot,
452
- sessionId: historyOnlyId,
453
- }) + '\n', 'utf-8');
454
- fs.mkdirSync(transcriptCwd, { recursive: true });
455
- fs.writeFileSync(path.join(tempHome, '.claude', 'projects', 'swarmify-test', `${transcriptId}.jsonl`), [
456
- JSON.stringify({
457
- type: 'user',
458
- timestamp: '2026-04-17T19:00:00.000Z',
459
- cwd: transcriptCwd,
460
- sessionId: transcriptId,
461
- version: '2.1.110',
462
- gitBranch: 'main',
463
- message: { role: 'user', content: 'Earlier context' },
464
- }),
465
- JSON.stringify({
466
- type: 'assistant',
467
- timestamp: '2026-04-17T19:00:05.000Z',
468
- cwd: transcriptCwd,
469
- sessionId: transcriptId,
470
- version: '2.1.110',
471
- gitBranch: 'main',
472
- message: {
473
- role: 'assistant',
474
- content: [{ type: 'text', text: 'Earlier reply' }],
475
- },
476
- }),
477
- JSON.stringify({
478
- type: 'attachment',
479
- timestamp: '2026-04-17T19:30:30.000Z',
480
- cwd: transcriptCwd,
481
- sessionId: transcriptId,
482
- version: '2.1.110',
483
- gitBranch: 'main',
484
- attachment: {
485
- type: 'hook_success',
486
- hookName: 'SessionStart:resume',
487
- hookEvent: 'SessionStart',
488
- },
489
- }),
490
- JSON.stringify({
491
- type: 'user',
492
- timestamp: '2026-04-17T19:30:45.000Z',
493
- cwd: transcriptCwd,
494
- sessionId: transcriptId,
495
- version: '2.1.110',
496
- gitBranch: 'main',
497
- message: { role: 'user', content: 'Continue from where we left off' },
498
- }),
499
- JSON.stringify({
500
- type: 'assistant',
501
- timestamp: '2026-04-17T19:31:00.000Z',
502
- cwd: transcriptCwd,
503
- sessionId: transcriptId,
504
- version: '2.1.110',
505
- gitBranch: 'main',
506
- message: {
507
- role: 'assistant',
508
- content: [{ type: 'text', text: 'Loaded resumed transcript' }],
509
- },
510
- }),
511
- ].join('\n') + '\n', 'utf-8');
512
- const result = runAgents(['sessions', historyOnlyId, '--markdown'], repoRoot, tempHome);
513
- expect(result.status).toBe(0);
514
- const output = outputOf(result);
515
- // The informational "Resolved Claude history entry ... to transcript ..."
516
- // status line was removed; the behavior (history ID → transcript
517
- // content) still works, so we assert on the loaded transcript instead.
518
- expect(output).toContain('Loaded resumed transcript');
519
- expect(output).not.toContain(`No transcript session found matching: ${historyOnlyId}`);
520
- }
521
- finally {
522
- fs.rmSync(tempHome, { recursive: true, force: true });
523
- }
524
- });
525
- it('resolves text queries against session topics, not only IDs', () => {
526
- const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-render-query-'));
527
- try {
528
- writeUpdateCache(tempHome);
529
- const projectDir = path.join(tempHome, 'work', 'agents-cli');
530
- const sessionId = 'aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa';
531
- const prompt = 'Search across sessions by prompt text';
532
- writeCodexSession(tempHome, sessionId, projectDir, prompt, '2026-04-17T19:41:30.000Z');
533
- const result = runAgents(['sessions', 'prompt text', '--markdown'], projectDir, tempHome);
534
- expect(result.status).toBe(0);
535
- const output = outputOf(result);
536
- expect(output).toContain(prompt);
537
- expect(output).not.toContain('No session found matching: prompt text');
538
- }
539
- finally {
540
- fs.rmSync(tempHome, { recursive: true, force: true });
541
- }
542
- });
543
- it('applies --project filters before resolving search queries', () => {
544
- const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-render-project-filter-'));
545
- try {
546
- writeUpdateCache(tempHome);
547
- const workspaceDir = path.join(tempHome, 'work');
548
- const agentsDir = path.join(workspaceDir, 'agents');
549
- const agentsCliDir = path.join(workspaceDir, 'agents-cli');
550
- writeCodexSession(tempHome, 'bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb', agentsDir, 'Filter scoped search target', '2026-04-17T19:42:30.000Z');
551
- writeCodexSession(tempHome, 'cccccccc-cccc-4ccc-8ccc-cccccccccccc', agentsCliDir, 'Filter scoped search decoy', '2026-04-17T19:43:30.000Z');
552
- const result = runAgents(['sessions', '--project', 'agents-cli', 'scoped search', '--markdown'], workspaceDir, tempHome);
553
- expect(result.status).toBe(0);
554
- const output = outputOf(result);
555
- expect(output).toContain('Filter scoped search decoy');
556
- expect(output).not.toContain('Filter scoped search target');
557
- }
558
- finally {
559
- fs.rmSync(tempHome, { recursive: true, force: true });
560
- }
561
- });
562
- it('applies --agent filters before resolving search queries', () => {
563
- const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-render-agent-filter-'));
564
- try {
565
- writeUpdateCache(tempHome);
566
- const projectDir = path.join(tempHome, 'work', 'agents-cli');
567
- writeClaudeSession(tempHome, 'agents-cli-claude', 'dddddddd-dddd-4ddd-8ddd-dddddddddddd', projectDir, 'Shared filter phrase from claude', '2026-04-17T19:44:30.000Z');
568
- writeCodexSession(tempHome, 'eeeeeeee-eeee-4eee-8eee-eeeeeeeeeeee', projectDir, 'Shared filter phrase from codex', '2026-04-17T19:45:30.000Z');
569
- const result = runAgents(['sessions', '--agent', 'codex', 'shared filter phrase', '--markdown'], projectDir, tempHome);
570
- expect(result.status).toBe(0);
571
- const output = outputOf(result);
572
- expect(output).toContain('Shared filter phrase from codex');
573
- expect(output).not.toContain('Shared filter phrase from claude');
574
- }
575
- finally {
576
- fs.rmSync(tempHome, { recursive: true, force: true });
577
- }
578
- });
579
- });
580
- describe('buildResumeCommand cross-version handoff', () => {
581
- const baseSession = (overrides = {}) => ({
582
- id: 'abc12345-def6-7890-1234-567890abcdef',
583
- shortId: 'abc12345',
584
- agent: 'claude',
585
- timestamp: '2026-04-19T12:00:00.000Z',
586
- filePath: '/fake/path.jsonl',
587
- ...overrides,
588
- });
589
- it('uses native --resume when session version matches active version', () => {
590
- const session = baseSession({ version: '2.1.113' });
591
- expect(buildResumeCommand(session, '2.1.113')).toEqual([
592
- 'claude', '--resume', session.id,
593
- ]);
594
- });
595
- it('uses /continue <id> when Claude session version differs from active version', () => {
596
- const session = baseSession({ version: '2.0.65' });
597
- expect(buildResumeCommand(session, '2.1.113')).toEqual([
598
- 'claude', `/continue ${session.id}`,
599
- ]);
600
- });
601
- it('uses /continue <id> when Codex session version differs from active version', () => {
602
- const session = baseSession({ agent: 'codex', version: '0.115.0' });
603
- expect(buildResumeCommand(session, '0.116.0')).toEqual([
604
- 'codex', `/continue ${session.id}`,
605
- ]);
606
- });
607
- it('uses native codex resume when versions match', () => {
608
- const session = baseSession({ agent: 'codex', version: '0.116.0' });
609
- expect(buildResumeCommand(session, '0.116.0')).toEqual([
610
- 'codex', 'resume', session.id,
611
- ]);
612
- });
613
- it('falls back to native resume when session has no recorded version', () => {
614
- const session = baseSession({ version: undefined });
615
- expect(buildResumeCommand(session, '2.1.113')).toEqual([
616
- 'claude', '--resume', session.id,
617
- ]);
618
- });
619
- it('falls back to native resume when active version is unknown', () => {
620
- const session = baseSession({ version: '2.0.65' });
621
- expect(buildResumeCommand(session, undefined)).toEqual([
622
- 'claude', '--resume', session.id,
623
- ]);
624
- });
625
- it('returns null for agents without resume support regardless of version', () => {
626
- expect(buildResumeCommand(baseSession({ agent: 'gemini', version: '1.0.0' }), '2.0.0')).toBeNull();
627
- expect(buildResumeCommand(baseSession({ agent: 'openclaw', version: '1.0.0' }), '2.0.0')).toBeNull();
628
- });
629
- it('opencode ignores version mismatch (shared SQLite DB, not isolated homes)', () => {
630
- const session = baseSession({ agent: 'opencode', version: '0.5.0' });
631
- expect(buildResumeCommand(session, '0.6.0')).toEqual([
632
- 'opencode', '--session', session.id,
633
- ]);
634
- });
635
- });
636
- //# sourceMappingURL=sessions.test.js.map