@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,568 @@
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
+ bindSession,
18
+ unbindSession
19
+ } from "./chunk-D7BAQNV2.js";
20
+ import {
21
+ defineTypedHandler,
22
+ lafsError,
23
+ lafsSuccess,
24
+ typedDispatch,
25
+ wrapCoreResult
26
+ } from "./chunk-QWNKLLLG.js";
27
+ import {
28
+ lazyOperation
29
+ } from "./chunk-TYC7G5LF.js";
30
+ import {
31
+ envelopeToEngineResult,
32
+ handleErrorResult,
33
+ unsupportedOp,
34
+ wrapResult
35
+ } from "./chunk-XHRZ7OYZ.js";
36
+
37
+ // packages/cleo/src/dispatch/domains/session.ts
38
+ import { getLogger } from "@cleocode/core/logger";
39
+ import { getProjectRoot } from "@cleocode/core/project-scope";
40
+ import { eq } from "drizzle-orm";
41
+ var sessionAdopt = lazyOperation(
42
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionAdopt
43
+ );
44
+ var sessionBriefing = lazyOperation(
45
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionBriefing
46
+ );
47
+ var sessionComputeDebrief = lazyOperation(
48
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionComputeDebrief
49
+ );
50
+ var sessionComputeHandoff = lazyOperation(
51
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionComputeHandoff
52
+ );
53
+ var sessionContextDrift = lazyOperation(
54
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionContextDrift
55
+ );
56
+ var sessionDebriefShow = lazyOperation(
57
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionDebriefShow
58
+ );
59
+ var sessionDecisionLog = lazyOperation(
60
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionDecisionLog
61
+ );
62
+ var sessionEnd = lazyOperation(
63
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionEnd
64
+ );
65
+ var sessionFind = lazyOperation(
66
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionFind
67
+ );
68
+ var sessionGc = lazyOperation(
69
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionGc
70
+ );
71
+ var sessionHandoff = lazyOperation(
72
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionHandoff
73
+ );
74
+ var sessionList = lazyOperation(
75
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionList
76
+ );
77
+ var sessionRecordAssumption = lazyOperation(
78
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionRecordAssumption
79
+ );
80
+ var sessionRecordDecision = lazyOperation(
81
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionRecordDecision
82
+ );
83
+ var sessionResume = lazyOperation(
84
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionResume
85
+ );
86
+ var sessionShow = lazyOperation(
87
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionShow
88
+ );
89
+ var sessionStart = lazyOperation(
90
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionStart
91
+ );
92
+ var sessionStatus = lazyOperation(
93
+ async () => (await import("@cleocode/core/session/status-op")).sessionStatus
94
+ );
95
+ var sessionSuspend = lazyOperation(
96
+ async () => (await import("@cleocode/core/session/engine-ops")).sessionSuspend
97
+ );
98
+ async function sessionStatusOp() {
99
+ return sessionStatus(getProjectRoot());
100
+ }
101
+ async function sessionListOp(params) {
102
+ return sessionList(getProjectRoot(), params);
103
+ }
104
+ async function sessionShowOp(params) {
105
+ if (params.include === "debrief") {
106
+ return sessionDebriefShow(getProjectRoot(), params.sessionId);
107
+ }
108
+ return sessionShow(getProjectRoot(), params.sessionId);
109
+ }
110
+ async function sessionFindOp(params) {
111
+ return sessionFind(getProjectRoot(), params);
112
+ }
113
+ async function sessionDecisionLogOp(params) {
114
+ return sessionDecisionLog(getProjectRoot(), params);
115
+ }
116
+ async function sessionContextDriftOp(params) {
117
+ return sessionContextDrift(getProjectRoot(), params);
118
+ }
119
+ async function sessionHandoffShowOp(params) {
120
+ let scopeFilter;
121
+ if (params.scope) {
122
+ if (params.scope === "global") {
123
+ scopeFilter = { type: "global" };
124
+ } else if (params.scope.startsWith("epic:")) {
125
+ scopeFilter = { type: "epic", epicId: params.scope.replace("epic:", "") };
126
+ }
127
+ }
128
+ return sessionHandoff(getProjectRoot(), scopeFilter);
129
+ }
130
+ async function sessionBriefingShowOp(params) {
131
+ return sessionBriefing(getProjectRoot(), params);
132
+ }
133
+ async function sessionStartOp(params) {
134
+ return sessionStart(getProjectRoot(), params);
135
+ }
136
+ async function sessionEndOp(params) {
137
+ return sessionEnd(getProjectRoot(), params.note, {
138
+ sessionSummary: params.sessionSummary,
139
+ ...params.sessionId ? { sessionId: params.sessionId } : {}
140
+ });
141
+ }
142
+ async function sessionResumeOp(params) {
143
+ return sessionResume(getProjectRoot(), params.sessionId);
144
+ }
145
+ async function sessionSuspendOp(params) {
146
+ return sessionSuspend(getProjectRoot(), params.sessionId, params.reason);
147
+ }
148
+ async function sessionGcOp(params) {
149
+ return sessionGc(getProjectRoot(), params.maxAgeDays);
150
+ }
151
+ async function sessionRecordDecisionOp(params) {
152
+ return sessionRecordDecision(getProjectRoot(), params);
153
+ }
154
+ async function sessionRecordAssumptionOp(params) {
155
+ return sessionRecordAssumption(getProjectRoot(), params);
156
+ }
157
+ async function sessionAdoptOp(params) {
158
+ return sessionAdopt(getProjectRoot(), params.sessionId);
159
+ }
160
+ async function sessionLintOp(params) {
161
+ if (!params.transcript) {
162
+ return {
163
+ success: false,
164
+ error: { code: "E_INVALID_INPUT", message: "transcript is required" }
165
+ };
166
+ }
167
+ try {
168
+ const { lintSessionForCanonViolations } = await import("@cleocode/core/session/canon-lint");
169
+ const result = lintSessionForCanonViolations({
170
+ transcriptPath: params.transcript,
171
+ projectRoot: getProjectRoot()
172
+ });
173
+ const wireResult = {
174
+ transcriptPath: result.transcriptPath,
175
+ sessionId: result.sessionId,
176
+ passed: result.passed,
177
+ scanned: result.scanned,
178
+ // Clone to drop readonly modifiers for the wire shape.
179
+ violations: result.violations.map((v) => ({
180
+ sessionId: v.sessionId,
181
+ toolUseId: v.toolUseId,
182
+ tool: v.tool,
183
+ path: v.path,
184
+ docKind: v.docKind,
185
+ matchedPath: v.matchedPath,
186
+ kind: v.kind,
187
+ evidence: v.evidence,
188
+ fix: v.fix
189
+ })),
190
+ warnings: [...result.warnings],
191
+ mode: result.mode
192
+ };
193
+ return { success: true, data: wireResult };
194
+ } catch (err) {
195
+ return {
196
+ success: false,
197
+ error: {
198
+ code: "E_CANON_INVALID",
199
+ message: err instanceof Error ? err.message : String(err)
200
+ }
201
+ };
202
+ }
203
+ }
204
+ var coreOps = {
205
+ status: sessionStatusOp,
206
+ list: sessionListOp,
207
+ show: sessionShowOp,
208
+ find: sessionFindOp,
209
+ "decision.log": sessionDecisionLogOp,
210
+ "context.drift": sessionContextDriftOp,
211
+ "handoff.show": sessionHandoffShowOp,
212
+ "briefing.show": sessionBriefingShowOp,
213
+ start: sessionStartOp,
214
+ end: sessionEndOp,
215
+ resume: sessionResumeOp,
216
+ suspend: sessionSuspendOp,
217
+ gc: sessionGcOp,
218
+ "record.decision": sessionRecordDecisionOp,
219
+ "record.assumption": sessionRecordAssumptionOp,
220
+ lint: sessionLintOp,
221
+ // T9975 — per-agent session isolation
222
+ adopt: sessionAdoptOp
223
+ };
224
+ var _sessionTypedHandler = defineTypedHandler("session", {
225
+ // -------------------------------------------------------------------------
226
+ // Query ops
227
+ // -------------------------------------------------------------------------
228
+ // Engine guarantees data on success; fallback mirrors empty-state shape.
229
+ // overrideCount included per T1501 / P0-5.
230
+ status: async (_params) => wrapCoreResult(await coreOps.status(), "status", {
231
+ hasActiveSession: false,
232
+ session: null,
233
+ taskWork: null,
234
+ overrideCount: 0
235
+ }),
236
+ list: async (params) => wrapCoreResult(await coreOps.list(params), "list"),
237
+ // session.show absorbs debrief.show via include param (T5615)
238
+ show: async (params) => {
239
+ if (!params.sessionId) {
240
+ return lafsError("E_INVALID_INPUT", "sessionId is required", "show");
241
+ }
242
+ const result = await coreOps.show(params);
243
+ if (!result.success) {
244
+ return lafsError(
245
+ String(result.error?.code ?? "E_INTERNAL"),
246
+ result.error?.message ?? "Unknown error",
247
+ "show"
248
+ );
249
+ }
250
+ if (params.include !== "debrief" && !result.data) {
251
+ return lafsError("E_NOT_FOUND", `Session ${params.sessionId} not found`, "show");
252
+ }
253
+ return lafsSuccess(result.data, "show");
254
+ },
255
+ find: async (params) => {
256
+ const result = await coreOps.find(params);
257
+ if (!result.success) {
258
+ return lafsError(
259
+ String(result.error?.code ?? "E_INTERNAL"),
260
+ result.error?.message ?? "Unknown error",
261
+ "find"
262
+ );
263
+ }
264
+ return lafsSuccess({ sessions: result.data ?? [] }, "find");
265
+ },
266
+ "decision.log": async (params) => wrapCoreResult(await coreOps["decision.log"](params), "decision.log", []),
267
+ "context.drift": async (params) => {
268
+ const result = await coreOps["context.drift"](params);
269
+ if (result.success && !result.data) {
270
+ return lafsError("E_INTERNAL", "context.drift returned no data", "context.drift");
271
+ }
272
+ return wrapCoreResult(result, "context.drift");
273
+ },
274
+ "handoff.show": async (params) => wrapCoreResult(await coreOps["handoff.show"](params), "handoff.show", null),
275
+ "briefing.show": async (params) => wrapCoreResult(await coreOps["briefing.show"](params), "briefing.show"),
276
+ // -------------------------------------------------------------------------
277
+ // Mutate ops
278
+ // -------------------------------------------------------------------------
279
+ // SSoT-EXEMPT: storeOwnerAuthToken (DB side-effect requiring post-create sessionId),
280
+ // bindSession (process-scoped context, requires scope-string parsing) — ADR-058
281
+ start: async (params) => {
282
+ const projectRoot = getProjectRoot();
283
+ if (!params.scope) {
284
+ return lafsError("E_INVALID_INPUT", "scope is required", "start");
285
+ }
286
+ const result = await coreOps.start(params);
287
+ if (!result.success) {
288
+ return lafsError(
289
+ String(result.error?.code ?? "E_INTERNAL"),
290
+ result.error?.message ?? "Unknown error",
291
+ "start"
292
+ );
293
+ }
294
+ if (!result.data) {
295
+ return lafsError("E_INTERNAL", "sessionStart returned no data", "start");
296
+ }
297
+ const sessionData = result.data;
298
+ const sessionId = sessionData.id;
299
+ if (params.ownerAuthToken) {
300
+ try {
301
+ await storeSessionOwnerAuthToken(projectRoot, sessionId, params.ownerAuthToken);
302
+ } catch (err) {
303
+ getLogger("domain:session").warn(
304
+ { sessionId, err },
305
+ "Failed to store owner_auth_token \u2014 override auth will not be available"
306
+ );
307
+ }
308
+ }
309
+ Object.assign(sessionData, { sessionId });
310
+ try {
311
+ const scopeParts = params.scope.split(":");
312
+ bindSession({
313
+ sessionId,
314
+ scope: {
315
+ type: scopeParts[0] ?? "global",
316
+ epicId: scopeParts[1]
317
+ },
318
+ gradeMode: params.grade ?? false
319
+ });
320
+ } catch {
321
+ getLogger("domain:session").warn(
322
+ { sessionId },
323
+ "Session context already bound, skipping bindSession"
324
+ );
325
+ }
326
+ return lafsSuccess(sessionData, "start");
327
+ },
328
+ // SSoT-EXEMPT: orchestrated post-op pipeline — sessionComputeDebrief, persistSessionMemory,
329
+ // unbindSession (process-context teardown), refreshMemoryBridge — ADR-058
330
+ end: async (params) => {
331
+ const projectRoot = getProjectRoot();
332
+ const endResult = await coreOps.end(params);
333
+ if (!endResult.success) {
334
+ return lafsError(
335
+ String(endResult.error?.code ?? "E_INTERNAL"),
336
+ endResult.error?.message ?? "Unknown error",
337
+ "end"
338
+ );
339
+ }
340
+ if (endResult.data) {
341
+ const sessionId = endResult.data.sessionId;
342
+ if (sessionId) {
343
+ let debriefResult = null;
344
+ try {
345
+ debriefResult = await sessionComputeDebrief(projectRoot, sessionId, {
346
+ note: params.note,
347
+ nextAction: params.nextAction
348
+ });
349
+ } catch {
350
+ try {
351
+ await sessionComputeHandoff(projectRoot, sessionId, {
352
+ note: params.note,
353
+ nextAction: params.nextAction
354
+ });
355
+ } catch {
356
+ }
357
+ }
358
+ if (debriefResult?.success && debriefResult.data) {
359
+ try {
360
+ const { persistSessionMemory } = await import("@cleocode/core/internal");
361
+ await persistSessionMemory(projectRoot, sessionId, debriefResult.data);
362
+ } catch {
363
+ }
364
+ }
365
+ }
366
+ unbindSession();
367
+ }
368
+ try {
369
+ const { refreshMemoryBridge } = await import("@cleocode/core/internal");
370
+ await refreshMemoryBridge(projectRoot);
371
+ } catch {
372
+ }
373
+ if (!endResult.data) {
374
+ return lafsError("E_INTERNAL", "session.end returned no data", "end");
375
+ }
376
+ return lafsSuccess(endResult.data, "end");
377
+ },
378
+ resume: async (params) => {
379
+ if (!params.sessionId) {
380
+ return lafsError("E_INVALID_INPUT", "sessionId is required", "resume");
381
+ }
382
+ const result = await coreOps.resume(params);
383
+ if (result.success && !result.data) {
384
+ return lafsError("E_NOT_FOUND", `Session ${params.sessionId} not found`, "resume");
385
+ }
386
+ return wrapCoreResult(result, "resume");
387
+ },
388
+ suspend: async (params) => {
389
+ if (!params.sessionId) {
390
+ return lafsError("E_INVALID_INPUT", "sessionId is required", "suspend");
391
+ }
392
+ const result = await coreOps.suspend(params);
393
+ if (result.success && !result.data) {
394
+ return lafsError("E_NOT_FOUND", `Session ${params.sessionId} not found`, "suspend");
395
+ }
396
+ return wrapCoreResult(result, "suspend");
397
+ },
398
+ // Engine guarantees data on success; fallback for safety.
399
+ gc: async (params) => wrapCoreResult(await coreOps.gc(params), "gc", { orphaned: [], removed: [] }),
400
+ "record.decision": async (params) => {
401
+ const result = await coreOps["record.decision"](params);
402
+ if (result.success && !result.data) {
403
+ return lafsError("E_INTERNAL", "record.decision returned no data", "record.decision");
404
+ }
405
+ return wrapCoreResult(result, "record.decision");
406
+ },
407
+ "record.assumption": async (params) => {
408
+ const result = await coreOps["record.assumption"](params);
409
+ if (result.success && !result.data) {
410
+ return lafsError("E_INTERNAL", "record.assumption returned no data", "record.assumption");
411
+ }
412
+ return wrapCoreResult(result, "record.assumption");
413
+ },
414
+ // T9797 — agent-accountability harness. Returns a LAFS envelope whose
415
+ // `data` is a SessionLintResult; `error` is set on E_INVALID_INPUT
416
+ // (missing transcript) or E_CANON_INVALID (malformed canon.yml).
417
+ lint: async (params) => {
418
+ const result = await coreOps.lint(params);
419
+ if (!result.success) {
420
+ return lafsError(
421
+ String(result.error?.code ?? "E_INTERNAL"),
422
+ result.error?.message ?? "Unknown error",
423
+ "lint"
424
+ );
425
+ }
426
+ if (!result.data) {
427
+ return lafsError("E_INTERNAL", "session.lint returned no data", "lint");
428
+ }
429
+ return lafsSuccess(result.data, "lint");
430
+ },
431
+ // T9975 — per-agent session isolation: adopt rebinds env to a specific session.
432
+ adopt: async (params) => {
433
+ if (!params.sessionId) {
434
+ return lafsError("E_INVALID_INPUT", "sessionId is required", "adopt");
435
+ }
436
+ const result = await coreOps.adopt(params);
437
+ if (!result.success) {
438
+ return lafsError(
439
+ String(result.error?.code ?? "E_INTERNAL"),
440
+ result.error?.message ?? "Unknown error",
441
+ "adopt"
442
+ );
443
+ }
444
+ if (!result.data) {
445
+ return lafsError("E_INTERNAL", "session.adopt returned no data", "adopt");
446
+ }
447
+ return lafsSuccess(result.data, "adopt");
448
+ }
449
+ });
450
+ var QUERY_OPS = /* @__PURE__ */ new Set([
451
+ "status",
452
+ "list",
453
+ "show",
454
+ "find",
455
+ "decision.log",
456
+ "context.drift",
457
+ "handoff.show",
458
+ "briefing.show",
459
+ "lint"
460
+ ]);
461
+ var MUTATE_OPS = /* @__PURE__ */ new Set([
462
+ "start",
463
+ "end",
464
+ "resume",
465
+ "suspend",
466
+ "gc",
467
+ "record.decision",
468
+ "record.assumption",
469
+ // T9975 — per-agent session isolation
470
+ "adopt"
471
+ ]);
472
+ var SessionHandler = class {
473
+ // -----------------------------------------------------------------------
474
+ // Query
475
+ // -----------------------------------------------------------------------
476
+ /**
477
+ * Execute a read-only session query operation.
478
+ *
479
+ * @param operation - The session query op name (e.g. 'status', 'list').
480
+ * @param params - Raw params from the dispatcher (narrowed internally).
481
+ */
482
+ async query(operation, params) {
483
+ const startTime = Date.now();
484
+ if (!QUERY_OPS.has(operation)) {
485
+ return unsupportedOp("query", "session", operation, startTime);
486
+ }
487
+ try {
488
+ const envelope = await typedDispatch(
489
+ _sessionTypedHandler,
490
+ operation,
491
+ params ?? {}
492
+ );
493
+ return wrapResult(envelopeToEngineResult(envelope), "query", "session", operation, startTime);
494
+ } catch (error) {
495
+ getLogger("domain:session").error(
496
+ { gateway: "query", domain: "session", operation, err: error },
497
+ error instanceof Error ? error.message : String(error)
498
+ );
499
+ return handleErrorResult("query", "session", operation, error, startTime);
500
+ }
501
+ }
502
+ // -----------------------------------------------------------------------
503
+ // Mutate
504
+ // -----------------------------------------------------------------------
505
+ /**
506
+ * Execute a state-modifying session mutation operation.
507
+ *
508
+ * @param operation - The session mutate op name (e.g. 'start', 'end').
509
+ * @param params - Raw params from the dispatcher (narrowed internally).
510
+ */
511
+ async mutate(operation, params) {
512
+ const startTime = Date.now();
513
+ if (!MUTATE_OPS.has(operation)) {
514
+ return unsupportedOp("mutate", "session", operation, startTime);
515
+ }
516
+ try {
517
+ const envelope = await typedDispatch(
518
+ _sessionTypedHandler,
519
+ operation,
520
+ params ?? {}
521
+ );
522
+ return wrapResult(
523
+ envelopeToEngineResult(envelope),
524
+ "mutate",
525
+ "session",
526
+ operation,
527
+ startTime
528
+ );
529
+ } catch (error) {
530
+ getLogger("domain:session").error(
531
+ { gateway: "mutate", domain: "session", operation, err: error },
532
+ error instanceof Error ? error.message : String(error)
533
+ );
534
+ return handleErrorResult("mutate", "session", operation, error, startTime);
535
+ }
536
+ }
537
+ // -----------------------------------------------------------------------
538
+ // Supported operations
539
+ // -----------------------------------------------------------------------
540
+ /** Declared operations for introspection and validation. */
541
+ getSupportedOperations() {
542
+ return {
543
+ query: [
544
+ "status",
545
+ "list",
546
+ "show",
547
+ "find",
548
+ "decision.log",
549
+ "context.drift",
550
+ "handoff.show",
551
+ "briefing.show"
552
+ ],
553
+ mutate: ["start", "end", "resume", "suspend", "gc", "record.decision", "record.assumption"]
554
+ };
555
+ }
556
+ };
557
+ async function storeSessionOwnerAuthToken(projectRoot, sessionId, token) {
558
+ const [{ getDb }, { sessions }] = await Promise.all([
559
+ import("@cleocode/core/store/sqlite"),
560
+ import("@cleocode/core/store/tasks-schema")
561
+ ]);
562
+ const db = await getDb(projectRoot);
563
+ db.update(sessions).set({ ownerAuthToken: token }).where(eq(sessions.id, sessionId)).run();
564
+ }
565
+ export {
566
+ SessionHandler
567
+ };
568
+ //# sourceMappingURL=session-N5ISU56W.js.map