@cleocode/cleo 2026.10.3 → 2026.10.5-rc.ci.672

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 (352) hide show
  1. package/README.md +7 -0
  2. package/bin/cleo.js +11 -1
  3. package/dist/cli/adapter-OUQRSFZL.js +159 -0
  4. package/dist/cli/add-4SRRJL4U.js +443 -0
  5. package/dist/cli/add-batch-TSWICA5J.js +164 -0
  6. package/dist/cli/admin-L3F6CDYH.js +1428 -0
  7. package/dist/cli/admin-YMU55YCU.js +341 -0
  8. package/dist/cli/adr-XESRMFMP.js +172 -0
  9. package/dist/cli/agent-TAFPIYUU.js +2404 -0
  10. package/dist/cli/agent-outputs-HVJJIPS4.js +84 -0
  11. package/dist/cli/analyze-YQ22QVGW.js +49 -0
  12. package/dist/cli/archive-W5XX6AH7.js +65 -0
  13. package/dist/cli/archive-stats-HP2KPAJU.js +101 -0
  14. package/dist/cli/attention-7JBDCRZX.js +124 -0
  15. package/dist/cli/attention-ZXZANHKC.js +168 -0
  16. package/dist/cli/audit-ICA2SEFN.js +122 -0
  17. package/dist/cli/auth-DXIG5OG7.js +491 -0
  18. package/dist/cli/backfill-LBSYBWLR.js +156 -0
  19. package/dist/cli/backup-NUGBZ7NA.js +588 -0
  20. package/dist/cli/backup-inspect-PDRXI45A.js +26 -0
  21. package/dist/cli/backup-recover-TVKAPERB.js +29 -0
  22. package/dist/cli/blockers-ZOPCGHDW.js +55 -0
  23. package/dist/cli/brain-EJOBKL4A.js +397 -0
  24. package/dist/cli/briefing-RDQJ6WHS.js +213 -0
  25. package/dist/cli/caamp-Z3XPKEHB.js +181 -0
  26. package/dist/cli/cancel-S7EHLCJN.js +85 -0
  27. package/dist/cli/canon-NPF5RODM.js +142 -0
  28. package/dist/cli/canon-docs-2GTOLF7Y.js +26 -0
  29. package/dist/cli/cant-CHNN6O57.js +239 -0
  30. package/dist/cli/changeset-RYPHPN2B.js +246 -0
  31. package/dist/cli/check-C67YAU7W.js +759 -0
  32. package/dist/cli/check-DHMURGHC.js +924 -0
  33. package/dist/cli/checkpoint-UWDFOGYQ.js +128 -0
  34. package/dist/cli/chunk-22YPFZYB.js +91 -0
  35. package/dist/cli/chunk-2MGFDMDF.js +272 -0
  36. package/dist/cli/chunk-47JYZAMS.js +30 -0
  37. package/dist/cli/chunk-4JYHPP4C.js +76 -0
  38. package/dist/cli/chunk-4PEODTHY.js +278 -0
  39. package/dist/cli/chunk-4RGSNUUP.js +950 -0
  40. package/dist/cli/chunk-4VASFLUW.js +35 -0
  41. package/dist/cli/chunk-5PNI276X.js +124 -0
  42. package/dist/cli/chunk-6JSJNYH2.js +114 -0
  43. package/dist/cli/chunk-6N6WGLXE.js +63 -0
  44. package/dist/cli/chunk-75UH3BLS.js +210 -0
  45. package/dist/cli/chunk-7ACK4EIN.js +92 -0
  46. package/dist/cli/chunk-7NMKLVMI.js +107 -0
  47. package/dist/cli/chunk-7SINJXB6.js +110 -0
  48. package/dist/cli/chunk-7UARFJYS.js +46 -0
  49. package/dist/cli/chunk-7ZYPQV4N.js +90 -0
  50. package/dist/cli/chunk-AQCYT3L4.js +72 -0
  51. package/dist/cli/chunk-BQK6XTOH.js +57 -0
  52. package/dist/cli/chunk-C3B7C43W.js +16 -0
  53. package/dist/cli/chunk-CAPAGD5E.js +98 -0
  54. package/dist/cli/chunk-CHGEDCKG.js +77 -0
  55. package/dist/cli/chunk-COXFJ3PT.js +74 -0
  56. package/dist/cli/chunk-D7BAQNV2.js +55 -0
  57. package/dist/cli/chunk-EIUXVHNF.js +258 -0
  58. package/dist/cli/chunk-EUGB6P5V.js +173 -0
  59. package/dist/cli/chunk-EW2CKNNZ.js +304 -0
  60. package/dist/cli/chunk-FSKN4DWC.js +108 -0
  61. package/dist/cli/chunk-FVKLULL7.js +48 -0
  62. package/dist/cli/chunk-GAGUBU4Z.js +280 -0
  63. package/dist/cli/chunk-GKRFH2YG.js +171 -0
  64. package/dist/cli/chunk-GRU74UE4.js +270 -0
  65. package/dist/cli/chunk-GZFVDR44.js +320 -0
  66. package/dist/cli/chunk-HFLLZE6A.js +83 -0
  67. package/dist/cli/chunk-HXRXT3XU.js +78 -0
  68. package/dist/cli/chunk-IIOGUY3B.js +258 -0
  69. package/dist/cli/chunk-ILWWL462.js +60 -0
  70. package/dist/cli/chunk-J5USPJKZ.js +48 -0
  71. package/dist/cli/chunk-KEQS36GD.js +88 -0
  72. package/dist/cli/chunk-L7ONYSV6.js +2497 -0
  73. package/dist/cli/chunk-LVGIFMCV.js +163 -0
  74. package/dist/cli/chunk-NEFMQYLE.js +656 -0
  75. package/dist/cli/chunk-NU6CQQVB.js +4501 -0
  76. package/dist/cli/chunk-OILHT47L.js +252 -0
  77. package/dist/cli/chunk-PKKZPOOP.js +352 -0
  78. package/dist/cli/chunk-PN4WW5VX.js +66 -0
  79. package/dist/cli/chunk-PSJ33WVO.js +56 -0
  80. package/dist/cli/chunk-QA6T2LQ5.js +71 -0
  81. package/dist/cli/chunk-QJJWWCIC.js +288 -0
  82. package/dist/cli/chunk-QKMBWYAS.js +93 -0
  83. package/dist/cli/chunk-QWNKLLLG.js +84 -0
  84. package/dist/cli/chunk-QWUFFDL3.js +85 -0
  85. package/dist/cli/chunk-QY76BRUZ.js +35 -0
  86. package/dist/cli/chunk-R45KVF5Y.js +117 -0
  87. package/dist/cli/chunk-RRKP7HLU.js +66 -0
  88. package/dist/cli/chunk-SXXOC6KZ.js +209 -0
  89. package/dist/cli/chunk-T6GZJYL3.js +108 -0
  90. package/dist/cli/chunk-TLQ37HRE.js +67 -0
  91. package/dist/cli/chunk-TPTNEJZJ.js +52 -0
  92. package/dist/cli/chunk-TYC7G5LF.js +100 -0
  93. package/dist/cli/chunk-UWCZY52R.js +766 -0
  94. package/dist/cli/chunk-VB3LDPL5.js +46 -0
  95. package/dist/cli/chunk-VLEYOOPH.js +31 -0
  96. package/dist/cli/chunk-W3JLYKKY.js +140 -0
  97. package/dist/cli/chunk-WWCYZYSN.js +56 -0
  98. package/dist/cli/chunk-XA5WISNV.js +52 -0
  99. package/dist/cli/chunk-XHRZ7OYZ.js +132 -0
  100. package/dist/cli/chunk-XLPMIGJJ.js +148 -0
  101. package/dist/cli/chunk-YY66LFZF.js +29 -0
  102. package/dist/cli/chunk-ZMGDZMSJ.js +210 -0
  103. package/dist/cli/claim-IGOG2QOC.js +97 -0
  104. package/dist/cli/classify-MG4N7GMQ.js +117 -0
  105. package/dist/cli/cli-A23Q335V.js +51 -0
  106. package/dist/cli/cloud-SILYJVKO.js +731 -0
  107. package/dist/cli/cockpit-RZKLGYPN.js +790 -0
  108. package/dist/cli/code-H2FQCVMW.js +178 -0
  109. package/dist/cli/complete-JLX7NBI4.js +35 -0
  110. package/dist/cli/complexity-OKV7PVZH.js +57 -0
  111. package/dist/cli/compliance-QMGZHJNQ.js +277 -0
  112. package/dist/cli/conduit-4H32UYEA.js +308 -0
  113. package/dist/cli/conduit-EY54WTZA.js +535 -0
  114. package/dist/cli/config-TDYOC7XO.js +519 -0
  115. package/dist/cli/consensus-4XCOFPPT.js +122 -0
  116. package/dist/cli/context-FN4YTGHD.js +142 -0
  117. package/dist/cli/contribution-7RWFBJLC.js +112 -0
  118. package/dist/cli/curator-HKZJCVRL.js +139 -0
  119. package/dist/cli/current-B2NU7V3G.js +43 -0
  120. package/dist/cli/daemon-GBD4TVCD.js +452 -0
  121. package/dist/cli/dash-IGDANIE5.js +71 -0
  122. package/dist/cli/decide-26SXC2V6.js +416 -0
  123. package/dist/cli/decompose-LQ76TEZG.js +78 -0
  124. package/dist/cli/decomposition-WFRWNUSJ.js +122 -0
  125. package/dist/cli/delete-T5DUQHOX.js +69 -0
  126. package/dist/cli/deps-UTPZJBXL.js +462 -0
  127. package/dist/cli/detect-FFZSMVDT.js +46 -0
  128. package/dist/cli/detect-drift-TVCJOFYJ.js +408 -0
  129. package/dist/cli/diagnostics-GN5CVD3N.js +93 -0
  130. package/dist/cli/diagnostics-ZNBKH6GX.js +133 -0
  131. package/dist/cli/docs-CLQKEEUK.js +1710 -0
  132. package/dist/cli/docs-DPPDFTWR.js +3098 -0
  133. package/dist/cli/doctor-GPENOP4N.js +1270 -0
  134. package/dist/cli/doctor-ac-bindings-S3IOEFP4.js +26 -0
  135. package/dist/cli/doctor-acceptance-drift-VNFKPBSQ.js +26 -0
  136. package/dist/cli/doctor-credentials-A5H4JMTF.js +26 -0
  137. package/dist/cli/doctor-db-substrate-FGCISE4Z.js +27 -0
  138. package/dist/cli/doctor-dep-cycles-BKKKHHYG.js +26 -0
  139. package/dist/cli/doctor-exodus-ND2DH2KP.js +26 -0
  140. package/dist/cli/doctor-exodus-residue-4EMRYMEQ.js +26 -0
  141. package/dist/cli/doctor-fk-check-VY3RIQV3.js +26 -0
  142. package/dist/cli/doctor-global-delivery-JN6IGHUL.js +26 -0
  143. package/dist/cli/doctor-heavy-command-hook-XSN44WXU.js +26 -0
  144. package/dist/cli/doctor-legacy-backups-QAG5NHYP.js +26 -0
  145. package/dist/cli/doctor-legacy-reaper-CIRGFE6R.js +26 -0
  146. package/dist/cli/doctor-malformed-ids-WL7HT4TB.js +26 -0
  147. package/dist/cli/doctor-manifest-rows-SMQCKJ2T.js +26 -0
  148. package/dist/cli/doctor-memory-guard-LJDOJG76.js +26 -0
  149. package/dist/cli/doctor-migrations-ETQPFNUP.js +26 -0
  150. package/dist/cli/doctor-nexus-residency-A4JMKBEJ.js +26 -0
  151. package/dist/cli/doctor-project-identity-FFQJ5LNX.js +26 -0
  152. package/dist/cli/doctor-projects-MFUTKRHP.js +30 -0
  153. package/dist/cli/doctor-projects-registry-76X6VTGM.js +26 -0
  154. package/dist/cli/doctor-release-readiness-QJCOPFTK.js +26 -0
  155. package/dist/cli/doctor-repair-AU76FIKY.js +26 -0
  156. package/dist/cli/doctor-row-identity-KW6JYZQE.js +26 -0
  157. package/dist/cli/doctor-skill-fixtures-G3T7JUHS.js +26 -0
  158. package/dist/cli/doctor-split-brain-FUW6L7FS.js +26 -0
  159. package/dist/cli/doctor-superseded-store-DUHGSBLC.js +26 -0
  160. package/dist/cli/doctor-sync-journal-SXMUIKF7.js +26 -0
  161. package/dist/cli/doctor-sync-triggers-6WNJZFRM.js +26 -0
  162. package/dist/cli/doctor-tool-locks-66LSLUBN.js +26 -0
  163. package/dist/cli/doctor-twin-collapse-AYBYBFC4.js +26 -0
  164. package/dist/cli/doctor-worktree-stores-C5XEH5OG.js +26 -0
  165. package/dist/cli/done-R64XRZ32.js +196 -0
  166. package/dist/cli/dynamic-RR4HB7BB.js +29 -0
  167. package/dist/cli/entities-3JIHDIOK.js +361 -0
  168. package/dist/cli/event-45KEWV5H.js +372 -0
  169. package/dist/cli/exists-BEDZS5RI.js +65 -0
  170. package/dist/cli/exodus-DUX62344.js +401 -0
  171. package/dist/cli/export-C5PQIQ5O.js +93 -0
  172. package/dist/cli/export-tasks-CUXDZPJB.js +97 -0
  173. package/dist/cli/federation-ESM35EGG.js +145 -0
  174. package/dist/cli/find-5EUZHHQJ.js +178 -0
  175. package/dist/cli/focus-6AH4KLRO.js +368 -0
  176. package/dist/cli/focus-ANKAIRO5.js +56 -0
  177. package/dist/cli/gateway-2GW2KTK3.js +77 -0
  178. package/dist/cli/gateway-auto-start-EDK7XI6E.js +36 -0
  179. package/dist/cli/gc-CTOQLUSA.js +291 -0
  180. package/dist/cli/go-YJPNHHYT.js +206 -0
  181. package/dist/cli/goal-4GW4G77D.js +213 -0
  182. package/dist/cli/grade-25WSZH4X.js +57 -0
  183. package/dist/cli/graph-JUO3TMF3.js +879 -0
  184. package/dist/cli/history-NACNUQTC.js +138 -0
  185. package/dist/cli/hook-UF7J7R6D.js +57 -0
  186. package/dist/cli/hook-entry.js +244 -19
  187. package/dist/cli/hygiene-3QZ2NI7P.js +55 -0
  188. package/dist/cli/import-7ESGL5SS.js +89 -0
  189. package/dist/cli/import-tasks-FLE2RPBR.js +109 -0
  190. package/dist/cli/index.js +601 -94637
  191. package/dist/cli/init-AN4DZ2XO.js +40 -0
  192. package/dist/cli/inject-HQWA5GWY.js +83 -0
  193. package/dist/cli/install-global-YQV4W5OG.js +95 -0
  194. package/dist/cli/intelligence-OFFNQGHE.js +238 -0
  195. package/dist/cli/intelligence-QIC4SN4X.js +182 -0
  196. package/dist/cli/issue-P5RNMRDG.js +159 -0
  197. package/dist/cli/janitor-ZNCFQ7E3.js +111 -0
  198. package/dist/cli/labels-ORBM3T57.js +88 -0
  199. package/dist/cli/lifecycle-MHR22TVI.js +273 -0
  200. package/dist/cli/list-LB6GCYYU.js +109 -0
  201. package/dist/cli/llm-H7LZWQKX.js +130 -0
  202. package/dist/cli/llm-OTJWPMGI.js +704 -0
  203. package/dist/cli/llm-cost-MLMXEAR4.js +25 -0
  204. package/dist/cli/llm-stream-AAEUNKRP.js +27 -0
  205. package/dist/cli/log-W2A5M2NA.js +76 -0
  206. package/dist/cli/login-SIXFFZSP.js +45 -0
  207. package/dist/cli/logout-G3KVLQQM.js +74 -0
  208. package/dist/cli/manifest-G4T6EBSI.js +354 -0
  209. package/dist/cli/map-VU5M72TK.js +53 -0
  210. package/dist/cli/memory-2E27G2G5.js +1952 -0
  211. package/dist/cli/memory-IAEYKXG6.js +1895 -0
  212. package/dist/cli/migrate-agents-v2-A52QIYNJ.js +33 -0
  213. package/dist/cli/migrate-claude-mem-TPDW3R4Z.js +206 -0
  214. package/dist/cli/next-SVH4LIDY.js +57 -0
  215. package/dist/cli/nexus-FPQV2EAF.js +1059 -0
  216. package/dist/cli/nexus-XSFXN5E6.js +2924 -0
  217. package/dist/cli/ops-K6LHY5J6.js +52 -0
  218. package/dist/cli/orchestrate-CZ2J6W3L.js +1650 -0
  219. package/dist/cli/orchestrate-HURUCQFT.js +950 -0
  220. package/dist/cli/otel-JCNPVJLZ.js +188 -0
  221. package/dist/cli/phase-VDFRASSO.js +221 -0
  222. package/dist/cli/pipeline-TCZPOEDR.js +697 -0
  223. package/dist/cli/pivot-V5MSQZ7L.js +88 -0
  224. package/dist/cli/plan-SQUGCKSM.js +49 -0
  225. package/dist/cli/playbook-L47GLDQD.js +230 -0
  226. package/dist/cli/playbook-NJVO4R6P.js +33 -0
  227. package/dist/cli/project-YZEC7GYF.js +331 -0
  228. package/dist/cli/promote-FINF4HVK.js +53 -0
  229. package/dist/cli/provenance-3TUWVBFR.js +141 -0
  230. package/dist/cli/provenance-YZG33JGM.js +129 -0
  231. package/dist/cli/provider-23JVLLG3.js +213 -0
  232. package/dist/cli/reason-FHN54O7O.js +138 -0
  233. package/dist/cli/reconcile-MOM5T4AX.js +128 -0
  234. package/dist/cli/refresh-memory-3OSTRAVK.js +45 -0
  235. package/dist/cli/relates-6FWUFUS2.js +260 -0
  236. package/dist/cli/release-G2DPSG5M.js +347 -0
  237. package/dist/cli/release-URX6JHZ2.js +525 -0
  238. package/dist/cli/remote-VIULU2T5.js +279 -0
  239. package/dist/cli/renderers-TGSW77J4.js +37 -0
  240. package/dist/cli/reorder-UIPN6TQY.js +87 -0
  241. package/dist/cli/reparent-ALOWWUIU.js +59 -0
  242. package/dist/cli/req-RH2Y3H7A.js +130 -0
  243. package/dist/cli/research-G2Y72HRC.js +366 -0
  244. package/dist/cli/restore-VBR5XNML.js +470 -0
  245. package/dist/cli/revert-32LDNSGP.js +240 -0
  246. package/dist/cli/roadmap-LFU3AG7D.js +62 -0
  247. package/dist/cli/run-HXRILSR7.js +245 -0
  248. package/dist/cli/safestop-Z5UC7NGQ.js +89 -0
  249. package/dist/cli/saga-Y6FZS6AM.js +286 -0
  250. package/dist/cli/schema-OOOKLWUE.js +195 -0
  251. package/dist/cli/self-update-26SOTJMH.js +504 -0
  252. package/dist/cli/selfimprove-4SMOCLUV.js +89 -0
  253. package/dist/cli/selfimprove-EB4RQLP4.js +139 -0
  254. package/dist/cli/sentient-QPETVE53.js +254 -0
  255. package/dist/cli/sentient-RGMWR4XJ.js +1088 -0
  256. package/dist/cli/sequence-H7DSAJPF.js +94 -0
  257. package/dist/cli/service-EK5MGB2D.js +156 -0
  258. package/dist/cli/service-GLOMZWPQ.js +437 -0
  259. package/dist/cli/session-HYUXAQGC.js +708 -0
  260. package/dist/cli/session-N5ISU56W.js +568 -0
  261. package/dist/cli/setup-L3YYV53D.js +323 -0
  262. package/dist/cli/show-364V3KY2.js +123 -0
  263. package/dist/cli/skill-F2KR6HW5.js +84 -0
  264. package/dist/cli/skills-FS3DCP6E.js +929 -0
  265. package/dist/cli/smoke-provider-SKUFMZXU.js +218 -0
  266. package/dist/cli/snapshot-EGXEQ5PR.js +120 -0
  267. package/dist/cli/src-LYLXHXHH.js +80 -0
  268. package/dist/cli/start-6DXOCCKL.js +68 -0
  269. package/dist/cli/stats-UVUQEGYC.js +96 -0
  270. package/dist/cli/status-XLKYLN42.js +157 -0
  271. package/dist/cli/sticky-VSTQ2I2O.js +264 -0
  272. package/dist/cli/sticky-XZXZDCFW.js +339 -0
  273. package/dist/cli/stop-VNOAFWNB.js +43 -0
  274. package/dist/cli/sync-YYPARW3A.js +155 -0
  275. package/dist/cli/tasks-C24KHTFF.js +1118 -0
  276. package/dist/cli/tasks-LBJC7CZV.js +175 -0
  277. package/dist/cli/telemetry-CU7W5WAY.js +120 -0
  278. package/dist/cli/templates-G42JBUY4.js +609 -0
  279. package/dist/cli/testing-HSRITHEY.js +147 -0
  280. package/dist/cli/token-J74E7TSU.js +221 -0
  281. package/dist/cli/tools-BI74W7VE.js +652 -0
  282. package/dist/cli/transcript-RGK7RSGQ.js +440 -0
  283. package/dist/cli/tui-BPUFHYKK.js +51 -0
  284. package/dist/cli/update-2KQWA27S.js +478 -0
  285. package/dist/cli/update-check-entry.js +124 -0
  286. package/dist/cli/update-notice-6SQ6WPQG.js +68 -0
  287. package/dist/cli/upgrade-E2MJAPC7.js +136 -0
  288. package/dist/cli/upgrade-XRSQ4RWH.js +243 -0
  289. package/dist/cli/verify-WASRGDBA.js +191 -0
  290. package/dist/cli/web-NJ3P67EU.js +275 -0
  291. package/dist/cli/workgraph-OHJ2VKJD.js +232 -0
  292. package/dist/cli/worktree-FVQLORFY.js +371 -0
  293. package/dist/cli/worktree-ZJ6JTQNG.js +287 -0
  294. package/package.json +13 -13
  295. package/studio-dist/client/_app/immutable/chunks/{DMj27Pxj.js → AH7dIemv.js} +1 -1
  296. package/studio-dist/client/_app/immutable/chunks/{Dc2owyvE.js → BDgH40i3.js} +1 -1
  297. package/studio-dist/client/_app/immutable/chunks/BXDCSJ7U.js +1 -0
  298. package/studio-dist/client/_app/immutable/chunks/{qq3pe1aT.js → Gg4iYl59.js} +1 -1
  299. package/studio-dist/client/_app/immutable/entry/{app.CHWXLeE9.js → app.DUDNK-37.js} +2 -2
  300. package/studio-dist/client/_app/immutable/entry/start.DNmZ0pA4.js +1 -0
  301. package/studio-dist/client/_app/immutable/nodes/{0.DmKQGvFh.js → 0.DWqP3ail.js} +1 -1
  302. package/studio-dist/client/_app/immutable/nodes/{1.DqJk_REO.js → 1.CZGVUP5B.js} +1 -1
  303. package/studio-dist/client/_app/immutable/nodes/{15.GUy6kdW1.js → 15.DGaflZRS.js} +1 -1
  304. package/studio-dist/client/_app/immutable/nodes/{16.CcnKZ8f9.js → 16.uYlarGXl.js} +1 -1
  305. package/studio-dist/client/_app/immutable/nodes/{17.DAlQF3lQ.js → 17.CZMR0E47.js} +1 -1
  306. package/studio-dist/client/_app/immutable/nodes/{18.vQFr-vFj.js → 18.CBC-AKH_.js} +1 -1
  307. package/studio-dist/client/_app/immutable/nodes/{20.GVOj5j_r.js → 20.BGi43MvQ.js} +1 -1
  308. package/studio-dist/client/_app/immutable/nodes/{24.2-wC6DOh.js → 24.Dv8ftCyR.js} +1 -1
  309. package/studio-dist/client/_app/immutable/nodes/25.DQPVlTDQ.js +39 -0
  310. package/studio-dist/client/_app/immutable/nodes/{26.C3rNqzZF.js → 26.Cl800304.js} +1 -1
  311. package/studio-dist/client/_app/immutable/nodes/{3.b-7pzc3M.js → 3.D_fQKj9f.js} +1 -1
  312. package/studio-dist/client/_app/version.json +1 -1
  313. package/studio-dist/server/chunks/{0-BaCce-O1.js → 0-BpOagOst.js} +3 -3
  314. package/studio-dist/server/chunks/1-D0oRGR-C.js +9 -0
  315. package/studio-dist/server/chunks/{15-DRMOSIC9.js → 15-BcjHz7Tv.js} +3 -3
  316. package/studio-dist/server/chunks/{16-BulXhoZZ.js → 16-CXm8TUk7.js} +3 -3
  317. package/studio-dist/server/chunks/{17-DUEOCM0H.js → 17-mSgUK-cp.js} +3 -3
  318. package/studio-dist/server/chunks/{18-DP7Q8zPs.js → 18-BtfnIw1d.js} +3 -3
  319. package/studio-dist/server/chunks/{20-9ta6MI7q.js → 20-By1e4QDS.js} +3 -3
  320. package/studio-dist/server/chunks/{24-DysdL1ab.js → 24-0i2YLVxG.js} +3 -3
  321. package/studio-dist/server/chunks/{dist-CdoCt9zT.js → 25-DPsrqbrh.js} +797 -10736
  322. package/studio-dist/server/chunks/{26-Df4YXgg0.js → 26-P0XkOibm.js} +3 -3
  323. package/studio-dist/server/chunks/{3-BEhOhYpL.js → 3-WudjUK7e.js} +3 -3
  324. package/studio-dist/server/chunks/{_layout.svelte-CnLcXYG-.js → _layout.svelte-D9m81Rle.js} +4 -4
  325. package/studio-dist/server/chunks/{_page.svelte-DGhXqeRc.js → _page.svelte-2PDLOF83.js} +3 -3
  326. package/studio-dist/server/chunks/{_page.svelte-Dv8tmDEC.js → _page.svelte-BjE3jm2K.js} +3 -3
  327. package/studio-dist/server/chunks/{_page.svelte-C0qgUvzA.js → _page.svelte-Clc0vmiZ.js} +4 -4
  328. package/studio-dist/server/chunks/{_page.svelte-ui7LnWkL.js → _page.svelte-DABdRT3h.js} +3 -3
  329. package/studio-dist/server/chunks/{_page.svelte-HUqTICJR.js → _page.svelte-DG3PjiHj.js} +3 -3
  330. package/studio-dist/server/chunks/{_page.svelte-DzcZljiy.js → _page.svelte-Edy9CaE8.js} +20 -7
  331. package/studio-dist/server/chunks/{_page.svelte-DOl0DGOO.js → _page.svelte-Hrf3-ZR8.js} +3 -3
  332. package/studio-dist/server/chunks/{_page.svelte-Da4q5l93.js → _page.svelte-VB4O4Nl5.js} +3 -3
  333. package/studio-dist/server/chunks/{_page.svelte-CbyEPj2j.js → _page.svelte-d3jEgjsI.js} +3 -3
  334. package/studio-dist/server/chunks/{_server.ts-P4wVVksg.js → _server.ts-BcRFsyo3.js} +4 -5
  335. package/studio-dist/server/chunks/{_server.ts-Cr57EKWf.js → _server.ts-CEWpIFrj.js} +6 -5
  336. package/studio-dist/server/chunks/{_server.ts-CnKVmf_s.js → _server.ts-CLVdVIF9.js} +2 -2
  337. package/studio-dist/server/chunks/{_server.ts-C0evMKCk.js → _server.ts-D_j7aSy5.js} +6 -5
  338. package/studio-dist/server/chunks/{_server.ts-2BazvYRP.js → _server.ts-QEZF8h2q.js} +4 -5
  339. package/studio-dist/server/chunks/{client-CPM4LrO2.js → client-Kp1dP1od.js} +2 -2
  340. package/studio-dist/server/chunks/{error.svelte-ShcZo43D.js → error.svelte-WOCioJVX.js} +3 -3
  341. package/studio-dist/server/chunks/{hooks.server-D2qbf3Zp.js → hooks.server-DH9zkIrJ.js} +3 -1
  342. package/studio-dist/server/chunks/{http-BiQjEmVU.js → http-DT5kxaWk.js} +5 -4
  343. package/studio-dist/server/chunks/{internal-Cgsrya1j.js → internal-z0vqd5_u.js} +3 -3
  344. package/studio-dist/server/chunks/operations-registry-DdzmYzqX.js +10584 -0
  345. package/studio-dist/server/chunks/{stores-BGrpEDMK.js → stores-s2kaL315.js} +2 -2
  346. package/studio-dist/server/index.js +1 -1
  347. package/studio-dist/server/manifest.js +17 -17
  348. package/studio-dist/client/_app/immutable/chunks/Bw6J8NDM.js +0 -1
  349. package/studio-dist/client/_app/immutable/entry/start.C9bwPpvc.js +0 -1
  350. package/studio-dist/client/_app/immutable/nodes/25.D1vYaH8g.js +0 -39
  351. package/studio-dist/server/chunks/1-CVo7Nk6d.js +0 -9
  352. package/studio-dist/server/chunks/25-CYsps38R.js +0 -366
@@ -0,0 +1,708 @@
1
+ (() => {
2
+ const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
3
+ if (globalThis[_installed]) return;
4
+ globalThis[_installed] = true;
5
+ const _origEmitWarning = process.emitWarning;
6
+ process.emitWarning = function(warning, type, code, ctor) {
7
+ if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
8
+ return;
9
+ }
10
+ if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
11
+ return;
12
+ }
13
+ return _origEmitWarning.call(process, warning, type, code, ctor);
14
+ };
15
+ })();
16
+ import {
17
+ dispatchFromCli,
18
+ dispatchRaw,
19
+ handleRawError
20
+ } from "./chunk-L7ONYSV6.js";
21
+ import "./chunk-6N6WGLXE.js";
22
+ import "./chunk-4VASFLUW.js";
23
+ import {
24
+ defineCommand,
25
+ showUsage
26
+ } from "./chunk-PKKZPOOP.js";
27
+ import "./chunk-QKMBWYAS.js";
28
+ import {
29
+ cliError,
30
+ cliOutput,
31
+ humanWarn
32
+ } from "./chunk-4RGSNUUP.js";
33
+ import "./chunk-6JSJNYH2.js";
34
+ import "./chunk-D7BAQNV2.js";
35
+ import "./chunk-TYC7G5LF.js";
36
+
37
+ // packages/cleo/src/cli/commands/session.ts
38
+ import { ExitCode } from "@cleocode/contracts";
39
+ var startCommand = defineCommand({
40
+ meta: { name: "start", description: "Start a new session" },
41
+ args: {
42
+ scope: {
43
+ type: "string",
44
+ description: "Session scope (epic:T### or global)",
45
+ required: true
46
+ },
47
+ name: {
48
+ type: "string",
49
+ description: "Session name",
50
+ required: true
51
+ },
52
+ "auto-start": {
53
+ type: "boolean",
54
+ description: "Auto-start on first available task"
55
+ },
56
+ "auto-focus": {
57
+ type: "boolean",
58
+ description: "Auto-focus on first available task (alias for --auto-start)"
59
+ },
60
+ focus: {
61
+ type: "string",
62
+ description: "Set initial task to work on (alias for --start-task)"
63
+ },
64
+ "start-task": {
65
+ type: "string",
66
+ description: "Set initial task to work on"
67
+ },
68
+ agent: {
69
+ type: "string",
70
+ description: "Agent identifier"
71
+ },
72
+ grade: {
73
+ type: "boolean",
74
+ description: "Enable full query+mutation audit logging for behavioral grading"
75
+ },
76
+ "owner-auth": {
77
+ type: "boolean",
78
+ description: "Prompt for a password and store a session HMAC token for owner-override authentication (T1118 L4a)"
79
+ }
80
+ },
81
+ async run({ args }) {
82
+ let ownerAuthToken;
83
+ if (args["owner-auth"]) {
84
+ ownerAuthToken = await promptOwnerAuthPassword(args.name ?? "session");
85
+ if (!ownerAuthToken) {
86
+ cliError(
87
+ "--owner-auth: password prompt cancelled.",
88
+ ExitCode.GENERAL_ERROR,
89
+ { name: "E_PROMPT_CANCELLED" },
90
+ { operation: "session.start" }
91
+ );
92
+ process.exit(ExitCode.GENERAL_ERROR);
93
+ }
94
+ }
95
+ await dispatchFromCli(
96
+ "mutate",
97
+ "session",
98
+ "start",
99
+ {
100
+ scope: args.scope,
101
+ name: args.name,
102
+ autoStart: args["auto-start"] || args["auto-focus"],
103
+ // CLI-level alias normalization: --focus and --start-task both map to startTask (ADR-057 D2)
104
+ startTask: args["start-task"] ?? args.focus,
105
+ grade: args.grade,
106
+ ownerAuthToken,
107
+ // T9975: per-agent handle for multi-agent isolation
108
+ agentHandle: args.agent
109
+ },
110
+ { command: "session", operation: "session.start" }
111
+ );
112
+ }
113
+ });
114
+ async function promptOwnerAuthPassword(sessionName) {
115
+ if (!process.stdin.isTTY || !process.stderr.isTTY) {
116
+ cliError(
117
+ "--owner-auth requires an interactive TTY. stdin.isTTY or stderr.isTTY is false.",
118
+ ExitCode.GENERAL_ERROR,
119
+ { name: "E_TTY_REQUIRED" },
120
+ { operation: "session.start" }
121
+ );
122
+ return null;
123
+ }
124
+ const { createInterface } = await import("node:readline");
125
+ const { deriveOwnerAuthToken } = await import("@cleocode/core/internal");
126
+ const rl = createInterface({
127
+ input: process.stdin,
128
+ output: process.stderr,
129
+ terminal: true
130
+ });
131
+ process.stderr.write(`[cleo] Enter owner-auth password for session "${sessionName}": `);
132
+ const password = await new Promise((resolve) => {
133
+ if (process.stdin.setRawMode) {
134
+ process.stdin.setRawMode(
135
+ true
136
+ );
137
+ }
138
+ let pw = "";
139
+ process.stdin.on("data", function onData(char) {
140
+ const ch = char.toString("utf8");
141
+ if (ch === "\n" || ch === "\r") {
142
+ process.stdin.removeListener("data", onData);
143
+ process.stdin.pause();
144
+ if (process.stdin.setRawMode) {
145
+ process.stdin.setRawMode(
146
+ false
147
+ );
148
+ }
149
+ process.stderr.write("\n");
150
+ resolve(pw);
151
+ } else if (ch === "") {
152
+ process.stderr.write("\n[cleo] Cancelled.\n");
153
+ resolve("");
154
+ } else if (ch === "\x7F" || ch === "\b") {
155
+ pw = pw.slice(0, -1);
156
+ } else {
157
+ pw += ch;
158
+ }
159
+ });
160
+ process.stdin.resume();
161
+ });
162
+ rl.close();
163
+ if (!password) return null;
164
+ const token = deriveOwnerAuthToken(sessionName, password);
165
+ return token;
166
+ }
167
+ var endCommand = defineCommand({
168
+ meta: { name: "end", description: "End the current session" },
169
+ args: {
170
+ session: {
171
+ type: "string",
172
+ description: "Specific session ID to stop"
173
+ },
174
+ note: {
175
+ type: "string",
176
+ description: "Stop note"
177
+ },
178
+ "next-action": {
179
+ type: "string",
180
+ description: "Suggested next action"
181
+ },
182
+ "emit-markdown": {
183
+ type: "string",
184
+ description: "Optional path to write a derived markdown VIEW of the handoff (one-way; never read back by CLEO). Source of truth remains tasks.db + brain.db. Use `cleo briefing` to resume context. (T1593)"
185
+ }
186
+ },
187
+ async run({ args }) {
188
+ const emitMarkdownPath = args["emit-markdown"];
189
+ if (emitMarkdownPath) {
190
+ const response = await dispatchRaw("mutate", "session", "end", {
191
+ note: args.note,
192
+ nextAction: args["next-action"],
193
+ // T12500: an unbound terminal names its target explicitly.
194
+ ...args.session ? { sessionId: args.session } : {}
195
+ });
196
+ if (!response.success) {
197
+ handleRawError(response, { command: "session end", operation: "session.end" });
198
+ }
199
+ try {
200
+ const handoffResp = await dispatchRaw("query", "session", "handoff.show", {});
201
+ const handoffData = handoffResp.success ? handoffResp.data : null;
202
+ if (handoffData?.handoff) {
203
+ const { emitHandoffMarkdown } = await import("@cleocode/core/internal");
204
+ await emitHandoffMarkdown(
205
+ emitMarkdownPath,
206
+ handoffData.handoff,
207
+ { sessionId: handoffData.sessionId }
208
+ );
209
+ }
210
+ } catch (err) {
211
+ humanWarn(`[cleo] session end --emit-markdown failed: ${err.message}`);
212
+ }
213
+ cliOutput(response.data ?? {}, { command: "session", operation: "session.end" });
214
+ return;
215
+ }
216
+ await dispatchFromCli(
217
+ "mutate",
218
+ "session",
219
+ "end",
220
+ {
221
+ note: args.note,
222
+ nextAction: args["next-action"],
223
+ // T12500: an unbound terminal names its target explicitly.
224
+ ...args.session ? { sessionId: args.session } : {}
225
+ },
226
+ { command: "session", operation: "session.end" }
227
+ );
228
+ }
229
+ });
230
+ var handoffCommand = defineCommand({
231
+ meta: { name: "handoff", description: "Show handoff data from the most recent ended session" },
232
+ args: {
233
+ scope: {
234
+ type: "string",
235
+ description: "Filter by scope (epic:T### or global)"
236
+ }
237
+ },
238
+ async run({ args }) {
239
+ const scope = args.scope;
240
+ const response = await dispatchRaw("query", "session", "handoff.show", {
241
+ scope
242
+ });
243
+ if (!response.success) {
244
+ handleRawError(response, { command: "session handoff", operation: "session.handoff.show" });
245
+ }
246
+ const data = response.data;
247
+ if (!data?.handoff) {
248
+ cliOutput(
249
+ { handoff: null },
250
+ {
251
+ command: "session handoff",
252
+ message: "No handoff data available",
253
+ operation: "session.handoff.show"
254
+ }
255
+ );
256
+ process.exit(ExitCode.NO_DATA);
257
+ return;
258
+ }
259
+ const { sessionId, handoff } = data;
260
+ const formattedHandoff = {
261
+ sessionId,
262
+ lastTask: handoff.lastTask ?? "None",
263
+ tasksCompleted: handoff.tasksCompleted ?? [],
264
+ tasksCreated: handoff.tasksCreated ?? [],
265
+ decisionsRecorded: handoff.decisionsRecorded ?? 0,
266
+ nextSuggested: handoff.nextSuggested ?? [],
267
+ openBlockers: handoff.openBlockers ?? [],
268
+ openBugs: handoff.openBugs ?? [],
269
+ // GH #1277 — mirrors computeHandoff: `null` is a recorded answer, an
270
+ // absent key is not. Kept in step with packages/core/src/sessions/handoff.ts.
271
+ note: handoff.note ?? null,
272
+ noteChars: handoff.noteChars ?? (typeof handoff.note === "string" ? handoff.note.length : 0),
273
+ nextAction: handoff.nextAction ?? null,
274
+ nextActionChars: handoff.nextActionChars ?? (typeof handoff.nextAction === "string" ? handoff.nextAction.length : 0)
275
+ };
276
+ cliOutput(
277
+ { handoff: formattedHandoff },
278
+ { command: "session handoff", operation: "session.handoff.show" }
279
+ );
280
+ }
281
+ });
282
+ var statusCommand = defineCommand({
283
+ meta: { name: "status", description: "Show current session status" },
284
+ async run() {
285
+ const response = await dispatchRaw("query", "session", "status");
286
+ if (!response.success) {
287
+ handleRawError(response, { command: "session", operation: "session.status" });
288
+ }
289
+ const data = response.data;
290
+ if (!data || data["session"] === null || data["session"] === void 0 && !data["id"]) {
291
+ cliOutput(
292
+ { session: null },
293
+ { command: "session", message: "No active session", operation: "session.status" }
294
+ );
295
+ process.exit(ExitCode.NO_DATA);
296
+ return;
297
+ }
298
+ cliOutput({ session: data }, { command: "session", operation: "session.status" });
299
+ }
300
+ });
301
+ var resumeCommand = defineCommand({
302
+ meta: { name: "resume", description: "Resume an existing session" },
303
+ args: {
304
+ sessionId: {
305
+ type: "positional",
306
+ description: "Session ID to resume",
307
+ required: true
308
+ }
309
+ },
310
+ async run({ args }) {
311
+ await dispatchFromCli(
312
+ "mutate",
313
+ "session",
314
+ "resume",
315
+ {
316
+ sessionId: args.sessionId
317
+ },
318
+ { command: "session", operation: "session.resume" }
319
+ );
320
+ }
321
+ });
322
+ var findCommand = defineCommand({
323
+ meta: {
324
+ name: "find",
325
+ description: "Find sessions (lightweight discovery \u2014 minimal fields, low context cost)"
326
+ },
327
+ args: {
328
+ status: {
329
+ type: "string",
330
+ description: "Filter by status (active|ended|orphaned)"
331
+ },
332
+ scope: {
333
+ type: "string",
334
+ description: 'Filter by scope (e.g. "epic:T001" or "global")'
335
+ },
336
+ query: {
337
+ type: "string",
338
+ description: "Fuzzy match on session name or ID"
339
+ },
340
+ limit: {
341
+ type: "string",
342
+ description: "Max results"
343
+ }
344
+ },
345
+ async run({ args }) {
346
+ await dispatchFromCli(
347
+ "query",
348
+ "session",
349
+ "find",
350
+ {
351
+ status: args.status,
352
+ scope: args.scope,
353
+ query: args.query,
354
+ limit: args.limit ? Number.parseInt(args.limit, 10) : void 0
355
+ },
356
+ { command: "session", operation: "session.find" }
357
+ );
358
+ }
359
+ });
360
+ var listCommand = defineCommand({
361
+ meta: { name: "list", description: "List sessions" },
362
+ args: {
363
+ status: {
364
+ type: "string",
365
+ description: "Filter by status (active|ended|orphaned)"
366
+ },
367
+ limit: {
368
+ type: "string",
369
+ description: "Max results"
370
+ },
371
+ offset: {
372
+ type: "string",
373
+ description: "Skip first n results"
374
+ },
375
+ /**
376
+ * T9975: surface all per-agent columns (agent, scope, lastActivity).
377
+ * When set, the result includes agentHandle, scopeKind, scopeId, and
378
+ * lastActivity for each session — useful for multi-agent dashboards.
379
+ */
380
+ all: {
381
+ type: "boolean",
382
+ description: "Show all columns including per-agent fields (agent, scope, lastActivity) \u2014 T9975"
383
+ }
384
+ },
385
+ async run({ args }) {
386
+ await dispatchFromCli(
387
+ "query",
388
+ "session",
389
+ "list",
390
+ {
391
+ status: args.status,
392
+ limit: args.limit ? Number.parseInt(args.limit, 10) : void 0,
393
+ offset: args.offset ? Number.parseInt(args.offset, 10) : void 0,
394
+ all: args.all
395
+ },
396
+ { command: "session", operation: "session.list" }
397
+ );
398
+ }
399
+ });
400
+ var gcCommand = defineCommand({
401
+ meta: { name: "gc", description: "Garbage collect old sessions" },
402
+ args: {
403
+ "max-age": {
404
+ type: "string",
405
+ description: "Max age in days for active sessions"
406
+ }
407
+ },
408
+ async run({ args }) {
409
+ await dispatchFromCli(
410
+ "mutate",
411
+ "session",
412
+ "gc",
413
+ {
414
+ maxAgeDays: args["max-age"] ? Number.parseInt(args["max-age"], 10) : void 0
415
+ },
416
+ { command: "session", operation: "session.gc" }
417
+ );
418
+ }
419
+ });
420
+ var showCommand = defineCommand({
421
+ meta: {
422
+ name: "show",
423
+ description: "Show full details for a session (absorbs debrief.show via --include debrief)"
424
+ },
425
+ args: {
426
+ sessionId: {
427
+ type: "positional",
428
+ description: "Session ID to show",
429
+ required: true
430
+ },
431
+ include: {
432
+ type: "string",
433
+ description: "Include extra data (debrief)"
434
+ }
435
+ },
436
+ async run({ args }) {
437
+ await dispatchFromCli(
438
+ "query",
439
+ "session",
440
+ "show",
441
+ {
442
+ sessionId: args.sessionId,
443
+ include: args.include
444
+ },
445
+ { command: "session", operation: "session.show" }
446
+ );
447
+ }
448
+ });
449
+ var driftCommand = defineCommand({
450
+ meta: {
451
+ name: "drift",
452
+ description: "Detect file-scope drift for the active session (project-agnostic)"
453
+ },
454
+ args: {
455
+ "audit-scope": { type: "string", description: "Audit log scope (global|local)" }
456
+ },
457
+ async run({ args }) {
458
+ const { detectSessionDrift, getProjectRoot } = await import("@cleocode/core");
459
+ const projectRoot = await getProjectRoot();
460
+ const scope = args["audit-scope"] === "local" ? "local" : "global";
461
+ const report = await detectSessionDrift({ projectRoot, auditScope: scope });
462
+ cliOutput(report, { command: "session drift", operation: "session.drift" });
463
+ }
464
+ });
465
+ var contextDriftCommand = defineCommand({
466
+ meta: {
467
+ name: "context-drift",
468
+ description: "Detect context drift in the current or specified session"
469
+ },
470
+ args: {
471
+ "session-id": {
472
+ type: "string",
473
+ description: "Session ID to check (defaults to active session)"
474
+ }
475
+ },
476
+ async run({ args }) {
477
+ await dispatchFromCli(
478
+ "query",
479
+ "session",
480
+ "context.drift",
481
+ {
482
+ sessionId: args["session-id"]
483
+ },
484
+ { command: "session", operation: "session.context.drift" }
485
+ );
486
+ }
487
+ });
488
+ var suspendCommand = defineCommand({
489
+ meta: { name: "suspend", description: "Suspend an active session (pause without ending)" },
490
+ args: {
491
+ sessionId: {
492
+ type: "positional",
493
+ description: "Session ID to suspend",
494
+ required: true
495
+ },
496
+ reason: {
497
+ type: "string",
498
+ description: "Reason for suspension"
499
+ }
500
+ },
501
+ async run({ args }) {
502
+ await dispatchFromCli(
503
+ "mutate",
504
+ "session",
505
+ "suspend",
506
+ {
507
+ sessionId: args.sessionId,
508
+ reason: args.reason
509
+ },
510
+ { command: "session", operation: "session.suspend" }
511
+ );
512
+ }
513
+ });
514
+ var recordAssumptionCommand = defineCommand({
515
+ meta: {
516
+ name: "record-assumption",
517
+ description: "Record an assumption made during the current session"
518
+ },
519
+ args: {
520
+ assumption: {
521
+ type: "string",
522
+ description: "Assumption text",
523
+ required: true
524
+ },
525
+ confidence: {
526
+ type: "string",
527
+ description: "Confidence level (high|medium|low)",
528
+ required: true
529
+ },
530
+ "session-id": {
531
+ type: "string",
532
+ description: "Session ID (defaults to active session)"
533
+ },
534
+ "task-id": {
535
+ type: "string",
536
+ description: "Task ID the assumption relates to"
537
+ }
538
+ },
539
+ async run({ args }) {
540
+ await dispatchFromCli(
541
+ "mutate",
542
+ "session",
543
+ "record.assumption",
544
+ {
545
+ sessionId: args["session-id"],
546
+ taskId: args["task-id"],
547
+ assumption: args.assumption,
548
+ confidence: args.confidence
549
+ },
550
+ { command: "session", operation: "session.record.assumption" }
551
+ );
552
+ }
553
+ });
554
+ var recordDecisionCommand = defineCommand({
555
+ meta: {
556
+ name: "record-decision",
557
+ description: "Record a decision made during the current session"
558
+ },
559
+ args: {
560
+ "session-id": {
561
+ type: "string",
562
+ description: "Session ID (defaults to active session)"
563
+ },
564
+ "task-id": {
565
+ type: "string",
566
+ description: "Task ID the decision relates to",
567
+ required: true
568
+ },
569
+ decision: {
570
+ type: "string",
571
+ description: "Decision text",
572
+ required: true
573
+ },
574
+ rationale: {
575
+ type: "string",
576
+ description: "Rationale for the decision",
577
+ required: true
578
+ },
579
+ alternatives: {
580
+ type: "string",
581
+ description: "Alternatives considered"
582
+ }
583
+ },
584
+ async run({ args }) {
585
+ await dispatchFromCli(
586
+ "mutate",
587
+ "session",
588
+ "record.decision",
589
+ {
590
+ sessionId: args["session-id"],
591
+ taskId: args["task-id"],
592
+ decision: args.decision,
593
+ rationale: args.rationale,
594
+ alternatives: args.alternatives
595
+ },
596
+ { command: "session", operation: "session.record.decision" }
597
+ );
598
+ }
599
+ });
600
+ var decisionLogCommand = defineCommand({
601
+ meta: { name: "decision-log", description: "Show decisions recorded in a session" },
602
+ args: {
603
+ "session-id": {
604
+ type: "string",
605
+ description: "Session ID to filter by"
606
+ },
607
+ "task-id": {
608
+ type: "string",
609
+ description: "Task ID to filter by"
610
+ }
611
+ },
612
+ async run({ args }) {
613
+ await dispatchFromCli(
614
+ "query",
615
+ "session",
616
+ "decision.log",
617
+ {
618
+ sessionId: args["session-id"],
619
+ taskId: args["task-id"]
620
+ },
621
+ { command: "session", operation: "session.decision.log" }
622
+ );
623
+ }
624
+ });
625
+ var adoptCommand = defineCommand({
626
+ meta: {
627
+ name: "adopt",
628
+ description: "Rebind env to a specific session \u2014 prints export command to eval (T9975)"
629
+ },
630
+ args: {
631
+ sessionId: {
632
+ type: "positional",
633
+ description: "Session ID to adopt",
634
+ required: true
635
+ }
636
+ },
637
+ async run({ args }) {
638
+ const response = await dispatchRaw("mutate", "session", "adopt", {
639
+ sessionId: args.sessionId
640
+ });
641
+ if (!response.success) {
642
+ handleRawError(response, { command: "session adopt", operation: "session.adopt" });
643
+ return;
644
+ }
645
+ const data = response.data;
646
+ if (data?.exportCommand) {
647
+ process.stdout.write(`${data.exportCommand}
648
+ `);
649
+ } else {
650
+ cliOutput(data ?? {}, { command: "session adopt", operation: "session.adopt" });
651
+ }
652
+ }
653
+ });
654
+ var lintCommand = defineCommand({
655
+ meta: {
656
+ name: "lint",
657
+ description: "Flag raw-md writes to canonical doc paths in a session transcript (T9797 \xB7 agent-accountability)"
658
+ },
659
+ args: {
660
+ transcript: {
661
+ type: "string",
662
+ description: "Absolute path to the *.jsonl transcript to scan",
663
+ required: true
664
+ }
665
+ },
666
+ async run({ args }) {
667
+ await dispatchFromCli(
668
+ "query",
669
+ "session",
670
+ "lint",
671
+ { transcript: args.transcript },
672
+ { command: "session", operation: "session.lint" }
673
+ );
674
+ }
675
+ });
676
+ var sessionCommand = defineCommand({
677
+ meta: { name: "session", description: "Manage work sessions" },
678
+ subCommands: {
679
+ start: startCommand,
680
+ end: endCommand,
681
+ stop: endCommand,
682
+ handoff: handoffCommand,
683
+ status: statusCommand,
684
+ resume: resumeCommand,
685
+ find: findCommand,
686
+ list: listCommand,
687
+ gc: gcCommand,
688
+ show: showCommand,
689
+ "context-drift": contextDriftCommand,
690
+ drift: driftCommand,
691
+ suspend: suspendCommand,
692
+ "record-assumption": recordAssumptionCommand,
693
+ "record-decision": recordDecisionCommand,
694
+ "decision-log": decisionLogCommand,
695
+ lint: lintCommand,
696
+ // T9975 — per-agent session isolation
697
+ adopt: adoptCommand
698
+ },
699
+ async run({ cmd, rawArgs }) {
700
+ const firstArg = rawArgs?.find((a) => !a.startsWith("-"));
701
+ if (firstArg && cmd.subCommands && firstArg in cmd.subCommands) return;
702
+ await showUsage(cmd);
703
+ }
704
+ });
705
+ export {
706
+ sessionCommand
707
+ };
708
+ //# sourceMappingURL=session-HYUXAQGC.js.map