@cleocode/cleo 2026.10.4 → 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.
- package/README.md +7 -0
- package/dist/cli/{adapter-LVXHFBC4.js → adapter-OUQRSFZL.js} +10 -9
- package/dist/cli/{add-WUAV7LDT.js → add-4SRRJL4U.js} +18 -18
- package/dist/cli/{add-batch-U2DLKAQC.js → add-batch-TSWICA5J.js} +12 -11
- package/dist/cli/admin-L3F6CDYH.js +1428 -0
- package/dist/cli/{admin-I7BQYVZD.js → admin-YMU55YCU.js} +10 -9
- package/dist/cli/{adr-K2THMQBS.js → adr-XESRMFMP.js} +10 -9
- package/dist/cli/{agent-WQ6XY2DW.js → agent-TAFPIYUU.js} +66 -28
- package/dist/cli/{agent-outputs-BJIYLVTU.js → agent-outputs-HVJJIPS4.js} +3 -3
- package/dist/cli/{analyze-PGQZWGOC.js → analyze-YQ22QVGW.js} +10 -9
- package/dist/cli/{archive-5LZPF7C3.js → archive-W5XX6AH7.js} +10 -9
- package/dist/cli/{archive-stats-U6CYC6JM.js → archive-stats-HP2KPAJU.js} +10 -9
- package/dist/cli/attention-7JBDCRZX.js +124 -0
- package/dist/cli/{attention-SOURWCNI.js → attention-ZXZANHKC.js} +13 -12
- package/dist/cli/{audit-FO2Y4LH2.js → audit-ICA2SEFN.js} +2 -2
- package/dist/cli/{auth-ED7TAIXI.js → auth-DXIG5OG7.js} +5 -5
- package/dist/cli/{backfill-32TRAYRD.js → backfill-LBSYBWLR.js} +2 -2
- package/dist/cli/{backup-LEJMZJKL.js → backup-NUGBZ7NA.js} +17 -16
- package/dist/cli/{backup-inspect-6HPLUEI2.js → backup-inspect-PDRXI45A.js} +3 -3
- package/dist/cli/{backup-recover-2BTYBZU2.js → backup-recover-TVKAPERB.js} +3 -3
- package/dist/cli/{blockers-5JULUJTV.js → blockers-ZOPCGHDW.js} +10 -9
- package/dist/cli/{brain-273N3FW4.js → brain-EJOBKL4A.js} +9 -12
- package/dist/cli/{briefing-7H6OLECX.js → briefing-RDQJ6WHS.js} +11 -10
- package/dist/cli/{caamp-MFQVN6VU.js → caamp-Z3XPKEHB.js} +2 -2
- package/dist/cli/{cancel-SCMJTXZB.js → cancel-S7EHLCJN.js} +10 -9
- package/dist/cli/{cant-46XCUP4P.js → cant-CHNN6O57.js} +2 -2
- package/dist/cli/{changeset-32NMBGG2.js → changeset-RYPHPN2B.js} +4 -6
- package/dist/cli/check-C67YAU7W.js +759 -0
- package/dist/cli/{check-RWJLBCI2.js → check-DHMURGHC.js} +30 -13
- package/dist/cli/{checkpoint-37HMMKD7.js → checkpoint-UWDFOGYQ.js} +3 -3
- package/dist/cli/{chunk-NRKWJLMS.js → chunk-22YPFZYB.js} +2 -2
- package/dist/cli/{chunk-I3CRQQAD.js → chunk-2MGFDMDF.js} +84 -37
- package/dist/cli/{chunk-BCEXRFA2.js → chunk-4JYHPP4C.js} +2 -2
- package/dist/cli/{chunk-A2IUEIM5.js → chunk-4PEODTHY.js} +2 -2
- package/dist/cli/{chunk-3ZO3M37V.js → chunk-4RGSNUUP.js} +118 -170
- package/dist/cli/{chunk-AWCQH2W5.js → chunk-4VASFLUW.js} +2 -2
- package/dist/cli/{chunk-BPEVD37G.js → chunk-5PNI276X.js} +2 -2
- package/dist/cli/{chunk-OGV57L4J.js → chunk-6N6WGLXE.js} +6 -2
- package/dist/cli/{chunk-KHB52JNB.js → chunk-75UH3BLS.js} +4 -3
- package/dist/cli/{chunk-5ZFFUFH7.js → chunk-7ACK4EIN.js} +2 -2
- package/dist/cli/{chunk-MNJRLSEQ.js → chunk-7NMKLVMI.js} +2 -2
- package/dist/cli/{chunk-GFGLLDXX.js → chunk-7SINJXB6.js} +2 -2
- package/dist/cli/{chunk-KJDWWQFY.js → chunk-7UARFJYS.js} +3 -3
- package/dist/cli/{chunk-JNZJPIPJ.js → chunk-7ZYPQV4N.js} +3 -3
- package/dist/cli/{chunk-DVTPIZJM.js → chunk-AQCYT3L4.js} +2 -2
- package/dist/cli/{chunk-EGOTK2HA.js → chunk-BQK6XTOH.js} +2 -2
- package/dist/cli/{chunk-DYABOIHB.js → chunk-CAPAGD5E.js} +6 -4
- package/dist/cli/{chunk-ZZTHTMQP.js → chunk-CHGEDCKG.js} +3 -3
- package/dist/cli/{chunk-QPUY2HQZ.js → chunk-COXFJ3PT.js} +2 -2
- package/dist/cli/chunk-D7BAQNV2.js +55 -0
- package/dist/cli/{chunk-OPTEQKBB.js → chunk-EIUXVHNF.js} +3 -3
- package/dist/cli/{chunk-3PGH67MT.js → chunk-EUGB6P5V.js} +4 -6
- package/dist/cli/chunk-EW2CKNNZ.js +304 -0
- package/dist/cli/{chunk-2JIJD2I7.js → chunk-FSKN4DWC.js} +2 -2
- package/dist/cli/{chunk-NSHV2JNM.js → chunk-FVKLULL7.js} +2 -2
- package/dist/cli/{chunk-GH37QXW5.js → chunk-GAGUBU4Z.js} +2 -2
- package/dist/cli/{chunk-37NU2XDP.js → chunk-GKRFH2YG.js} +2 -2
- package/dist/cli/{chunk-ULN4OKQQ.js → chunk-GRU74UE4.js} +21 -10
- package/dist/cli/{chunk-LKNUA3SB.js → chunk-HFLLZE6A.js} +2 -2
- package/dist/cli/{chunk-YGKEECTI.js → chunk-HXRXT3XU.js} +2 -2
- package/dist/cli/{chunk-REUTEW3O.js → chunk-IIOGUY3B.js} +6 -6
- package/dist/cli/chunk-ILWWL462.js +60 -0
- package/dist/cli/{chunk-XRAX6XFP.js → chunk-J5USPJKZ.js} +2 -2
- package/dist/cli/{chunk-S24YI723.js → chunk-KEQS36GD.js} +4 -4
- package/dist/cli/chunk-L7ONYSV6.js +2497 -0
- package/dist/cli/chunk-NEFMQYLE.js +656 -0
- package/dist/cli/{chunk-QFFQSKRC.js → chunk-NU6CQQVB.js} +6 -2
- package/dist/cli/{chunk-5J2VH3BC.js → chunk-PN4WW5VX.js} +3 -3
- package/dist/cli/{chunk-AYA6F4ZT.js → chunk-PSJ33WVO.js} +3 -3
- package/dist/cli/{chunk-FORFDPP5.js → chunk-QJJWWCIC.js} +3 -3
- package/dist/cli/{chunk-ZBISIPCK.js → chunk-QKMBWYAS.js} +16 -1
- package/dist/cli/chunk-QWNKLLLG.js +84 -0
- package/dist/cli/{chunk-7INMKEAD.js → chunk-QWUFFDL3.js} +2 -2
- package/dist/cli/chunk-QY76BRUZ.js +35 -0
- package/dist/cli/chunk-R45KVF5Y.js +117 -0
- package/dist/cli/{chunk-W33Q3FBH.js → chunk-RRKP7HLU.js} +3 -3
- package/dist/cli/{chunk-YUZJI67I.js → chunk-T6GZJYL3.js} +2 -2
- package/dist/cli/{chunk-LWQBJQSE.js → chunk-TLQ37HRE.js} +3 -3
- package/dist/cli/chunk-TPTNEJZJ.js +52 -0
- package/dist/cli/chunk-TYC7G5LF.js +100 -0
- package/dist/cli/{chunk-J3ZFM3UQ.js → chunk-UWCZY52R.js} +25 -13
- package/dist/cli/{chunk-V5GBGOGM.js → chunk-VB3LDPL5.js} +2 -2
- package/dist/cli/chunk-WWCYZYSN.js +56 -0
- package/dist/cli/{chunk-EBRZ76HS.js → chunk-XA5WISNV.js} +4 -3
- package/dist/cli/chunk-XHRZ7OYZ.js +132 -0
- package/dist/cli/{chunk-EOPQFCSR.js → chunk-XLPMIGJJ.js} +6 -6
- package/dist/cli/{chunk-NWTATTEQ.js → chunk-ZMGDZMSJ.js} +2 -2
- package/dist/cli/{claim-KPENYHIQ.js → claim-IGOG2QOC.js} +10 -9
- package/dist/cli/{classify-DRVMCFQU.js → classify-MG4N7GMQ.js} +2 -2
- package/dist/cli/{cli-T3CR7J57.js → cli-A23Q335V.js} +10 -7
- package/dist/cli/{cloud-PPQ4O5TX.js → cloud-SILYJVKO.js} +194 -28
- package/dist/cli/{code-Z5CTMVTD.js → code-H2FQCVMW.js} +2 -2
- package/dist/cli/{complete-UBOCOBRB.js → complete-JLX7NBI4.js} +9 -8
- package/dist/cli/{complexity-BV2AGQRZ.js → complexity-OKV7PVZH.js} +10 -9
- package/dist/cli/{compliance-32PD5Y47.js → compliance-QMGZHJNQ.js} +10 -9
- package/dist/cli/{conduit-VDKCH33F.js → conduit-4H32UYEA.js} +10 -9
- package/dist/cli/conduit-EY54WTZA.js +535 -0
- package/dist/cli/{config-I72JAXK4.js → config-TDYOC7XO.js} +21 -18
- package/dist/cli/{consensus-LFILLSTK.js → consensus-4XCOFPPT.js} +10 -9
- package/dist/cli/{context-XUUVFVTP.js → context-FN4YTGHD.js} +12 -11
- package/dist/cli/{contribution-37NQ4N5R.js → contribution-7RWFBJLC.js} +10 -9
- package/dist/cli/{curator-TFDXU2EX.js → curator-HKZJCVRL.js} +2 -2
- package/dist/cli/{current-C4SN5BWV.js → current-B2NU7V3G.js} +10 -9
- package/dist/cli/{daemon-DV25JQ62.js → daemon-GBD4TVCD.js} +11 -10
- package/dist/cli/{dash-TFU4RLQW.js → dash-IGDANIE5.js} +10 -9
- package/dist/cli/{decide-5VPMNTSI.js → decide-26SXC2V6.js} +5 -8
- package/dist/cli/{decompose-KOYEZNJL.js → decompose-LQ76TEZG.js} +11 -10
- package/dist/cli/{decomposition-7OHUFIQN.js → decomposition-WFRWNUSJ.js} +10 -9
- package/dist/cli/{delete-Q7YCAFY5.js → delete-T5DUQHOX.js} +11 -10
- package/dist/cli/{deps-6UZKLDGJ.js → deps-UTPZJBXL.js} +17 -18
- package/dist/cli/{detect-FERY35UL.js → detect-FFZSMVDT.js} +10 -9
- package/dist/cli/{detect-drift-UL2JTPUK.js → detect-drift-TVCJOFYJ.js} +7 -7
- package/dist/cli/diagnostics-GN5CVD3N.js +93 -0
- package/dist/cli/{diagnostics-TI5QAZXR.js → diagnostics-ZNBKH6GX.js} +10 -9
- package/dist/cli/docs-CLQKEEUK.js +1710 -0
- package/dist/cli/{docs-QI2PRN3T.js → docs-DPPDFTWR.js} +45 -42
- package/dist/cli/{doctor-AX5TICQO.js → doctor-GPENOP4N.js} +79 -62
- package/dist/cli/{doctor-ac-bindings-YPMYHU2G.js → doctor-ac-bindings-S3IOEFP4.js} +3 -3
- package/dist/cli/{doctor-acceptance-drift-PYNFGMKB.js → doctor-acceptance-drift-VNFKPBSQ.js} +3 -3
- package/dist/cli/{doctor-credentials-UZRIADKM.js → doctor-credentials-A5H4JMTF.js} +3 -3
- package/dist/cli/{doctor-db-substrate-Q2TOYM2S.js → doctor-db-substrate-FGCISE4Z.js} +3 -3
- package/dist/cli/{doctor-dep-cycles-GCVYZY6F.js → doctor-dep-cycles-BKKKHHYG.js} +3 -3
- package/dist/cli/{doctor-exodus-RO5SUTC2.js → doctor-exodus-ND2DH2KP.js} +3 -3
- package/dist/cli/{doctor-exodus-residue-EM2AWQXP.js → doctor-exodus-residue-4EMRYMEQ.js} +3 -3
- package/dist/cli/{doctor-fk-check-Q3FOLECE.js → doctor-fk-check-VY3RIQV3.js} +3 -3
- package/dist/cli/{doctor-global-delivery-TNOAQ3NP.js → doctor-global-delivery-JN6IGHUL.js} +3 -3
- package/dist/cli/{doctor-heavy-command-hook-IO3QAQLG.js → doctor-heavy-command-hook-XSN44WXU.js} +3 -3
- package/dist/cli/{doctor-legacy-backups-O2YH5VLS.js → doctor-legacy-backups-QAG5NHYP.js} +3 -3
- package/dist/cli/{doctor-legacy-reaper-VSEJEIFA.js → doctor-legacy-reaper-CIRGFE6R.js} +3 -3
- package/dist/cli/{doctor-malformed-ids-LQ766V5K.js → doctor-malformed-ids-WL7HT4TB.js} +3 -3
- package/dist/cli/{doctor-manifest-rows-6FQDNHLH.js → doctor-manifest-rows-SMQCKJ2T.js} +3 -3
- package/dist/cli/{doctor-memory-guard-J4PSEKB5.js → doctor-memory-guard-LJDOJG76.js} +3 -3
- package/dist/cli/{doctor-migrations-ONOH56YM.js → doctor-migrations-ETQPFNUP.js} +3 -3
- package/dist/cli/{doctor-nexus-residency-FUQAX7PV.js → doctor-nexus-residency-A4JMKBEJ.js} +3 -3
- package/dist/cli/{doctor-project-identity-GUDK3HYX.js → doctor-project-identity-FFQJ5LNX.js} +3 -3
- package/dist/cli/{doctor-projects-7L3BNL4O.js → doctor-projects-MFUTKRHP.js} +3 -3
- package/dist/cli/{doctor-projects-registry-TEAVHFQU.js → doctor-projects-registry-76X6VTGM.js} +3 -3
- package/dist/cli/{doctor-release-readiness-IEGHX6SL.js → doctor-release-readiness-QJCOPFTK.js} +3 -3
- package/dist/cli/{doctor-repair-NBONOSZU.js → doctor-repair-AU76FIKY.js} +3 -3
- package/dist/cli/doctor-row-identity-KW6JYZQE.js +26 -0
- package/dist/cli/{doctor-skill-fixtures-7Y6L34A3.js → doctor-skill-fixtures-G3T7JUHS.js} +3 -3
- package/dist/cli/{doctor-split-brain-TUKIGVHF.js → doctor-split-brain-FUW6L7FS.js} +3 -3
- package/dist/cli/{doctor-superseded-store-BHZY2B2L.js → doctor-superseded-store-DUHGSBLC.js} +3 -3
- package/dist/cli/doctor-sync-journal-SXMUIKF7.js +26 -0
- package/dist/cli/doctor-sync-triggers-6WNJZFRM.js +26 -0
- package/dist/cli/{doctor-tool-locks-REQMIVYK.js → doctor-tool-locks-66LSLUBN.js} +3 -3
- package/dist/cli/{doctor-twin-collapse-222GOSPE.js → doctor-twin-collapse-AYBYBFC4.js} +3 -3
- package/dist/cli/{doctor-worktree-stores-J7TCRVJ3.js → doctor-worktree-stores-C5XEH5OG.js} +3 -3
- package/dist/cli/{done-V3AOO65B.js → done-R64XRZ32.js} +11 -10
- package/dist/cli/entities-3JIHDIOK.js +361 -0
- package/dist/cli/{event-EGNPGE5A.js → event-45KEWV5H.js} +2 -2
- package/dist/cli/{exists-H4SDCBPL.js → exists-BEDZS5RI.js} +3 -3
- package/dist/cli/{exodus-KALO3B3X.js → exodus-DUX62344.js} +3 -3
- package/dist/cli/{export-ROFOCG4M.js → export-C5PQIQ5O.js} +11 -10
- package/dist/cli/{export-tasks-US3WBIEQ.js → export-tasks-CUXDZPJB.js} +11 -10
- package/dist/cli/{federation-SUIB5QWT.js → federation-ESM35EGG.js} +3 -3
- package/dist/cli/{find-YICG4BG6.js → find-5EUZHHQJ.js} +13 -12
- package/dist/cli/focus-6AH4KLRO.js +368 -0
- package/dist/cli/{focus-TKCZPKOM.js → focus-ANKAIRO5.js} +10 -9
- package/dist/cli/{gateway-H4HFDC3E.js → gateway-2GW2KTK3.js} +2 -2
- package/dist/cli/{gc-5R2TUY5T.js → gc-CTOQLUSA.js} +2 -2
- package/dist/cli/{go-PRQFK5YG.js → go-YJPNHHYT.js} +6 -6
- package/dist/cli/{goal-7CZRMLHC.js → goal-4GW4G77D.js} +4 -3
- package/dist/cli/{grade-PY2YRPUS.js → grade-25WSZH4X.js} +10 -9
- package/dist/cli/{graph-XIXMCFKG.js → graph-JUO3TMF3.js} +11 -10
- package/dist/cli/{history-EIXADPAD.js → history-NACNUQTC.js} +10 -9
- package/dist/cli/{import-R73SO444.js → import-7ESGL5SS.js} +10 -9
- package/dist/cli/{import-tasks-O22FZJ4U.js → import-tasks-FLE2RPBR.js} +10 -9
- package/dist/cli/index.js +395 -238
- package/dist/cli/{init-IHEJDQWU.js → init-AN4DZ2XO.js} +5 -5
- package/dist/cli/{inject-LSRVWNCP.js → inject-HQWA5GWY.js} +10 -9
- package/dist/cli/{install-global-4AZUCH6U.js → install-global-YQV4W5OG.js} +2 -2
- package/dist/cli/intelligence-OFFNQGHE.js +238 -0
- package/dist/cli/{intelligence-2OSFOGD2.js → intelligence-QIC4SN4X.js} +10 -9
- package/dist/cli/{issue-IIWEDNFC.js → issue-P5RNMRDG.js} +10 -9
- package/dist/cli/{janitor-GPMC7VOR.js → janitor-ZNCFQ7E3.js} +2 -2
- package/dist/cli/{labels-5NPOIQXN.js → labels-ORBM3T57.js} +10 -9
- package/dist/cli/{lifecycle-4FFS2K2T.js → lifecycle-MHR22TVI.js} +13 -12
- package/dist/cli/{list-47KEUGPQ.js → list-LB6GCYYU.js} +14 -13
- package/dist/cli/llm-H7LZWQKX.js +130 -0
- package/dist/cli/{llm-G5B3I6GD.js → llm-OTJWPMGI.js} +14 -13
- package/dist/cli/{llm-cost-S7RS6BVA.js → llm-cost-MLMXEAR4.js} +3 -3
- package/dist/cli/{llm-stream-24A45NTS.js → llm-stream-AAEUNKRP.js} +3 -3
- package/dist/cli/{log-XF6H2XSD.js → log-W2A5M2NA.js} +10 -9
- package/dist/cli/{login-LBPLGHYG.js → login-SIXFFZSP.js} +6 -4
- package/dist/cli/{logout-SX4JSJIV.js → logout-G3KVLQQM.js} +5 -5
- package/dist/cli/{manifest-NMCW4PIW.js → manifest-G4T6EBSI.js} +10 -9
- package/dist/cli/{map-BU72KMGF.js → map-VU5M72TK.js} +10 -9
- package/dist/cli/{memory-UHYIVGVM.js → memory-2E27G2G5.js} +17 -21
- package/dist/cli/memory-IAEYKXG6.js +1895 -0
- package/dist/cli/{migrate-agents-v2-OO7OILZK.js → migrate-agents-v2-A52QIYNJ.js} +3 -3
- package/dist/cli/{migrate-claude-mem-EDNYUY3K.js → migrate-claude-mem-TPDW3R4Z.js} +17 -12
- package/dist/cli/{next-RZFRG5X7.js → next-SVH4LIDY.js} +10 -9
- package/dist/cli/nexus-FPQV2EAF.js +1059 -0
- package/dist/cli/{nexus-4S4Z5EVU.js → nexus-XSFXN5E6.js} +14 -13
- package/dist/cli/{ops-KR7AWCG3.js → ops-K6LHY5J6.js} +10 -9
- package/dist/cli/orchestrate-CZ2J6W3L.js +1650 -0
- package/dist/cli/{orchestrate-HOYZY3VX.js → orchestrate-HURUCQFT.js} +13 -11
- package/dist/cli/{otel-U7IIRBCT.js → otel-JCNPVJLZ.js} +2 -2
- package/dist/cli/{phase-NYZFHUE5.js → phase-VDFRASSO.js} +10 -9
- package/dist/cli/pipeline-TCZPOEDR.js +697 -0
- package/dist/cli/{pivot-FF2CVUZL.js → pivot-V5MSQZ7L.js} +10 -9
- package/dist/cli/{plan-3SL2NTRV.js → plan-SQUGCKSM.js} +10 -9
- package/dist/cli/{playbook-2FCBV7N3.js → playbook-L47GLDQD.js} +10 -9
- package/dist/cli/playbook-NJVO4R6P.js +33 -0
- package/dist/cli/{project-WDX2TGMC.js → project-YZEC7GYF.js} +6 -5
- package/dist/cli/{promote-YINYFBZY.js → promote-FINF4HVK.js} +10 -9
- package/dist/cli/provenance-3TUWVBFR.js +141 -0
- package/dist/cli/{provenance-C7AYD7WG.js → provenance-YZG33JGM.js} +10 -9
- package/dist/cli/{provider-QLJEDQBR.js → provider-23JVLLG3.js} +10 -9
- package/dist/cli/{reason-JF5BHBM5.js → reason-FHN54O7O.js} +10 -9
- package/dist/cli/{reconcile-NMISHDGX.js → reconcile-MOM5T4AX.js} +11 -10
- package/dist/cli/{refresh-memory-EY5YNICV.js → refresh-memory-3OSTRAVK.js} +2 -2
- package/dist/cli/{relates-R3ZPICAY.js → relates-6FWUFUS2.js} +10 -9
- package/dist/cli/release-G2DPSG5M.js +347 -0
- package/dist/cli/{release-4ZJTMUUT.js → release-URX6JHZ2.js} +10 -9
- package/dist/cli/{remote-QSONJDIK.js → remote-VIULU2T5.js} +3 -3
- package/dist/cli/{renderers-64OR3IWX.js → renderers-TGSW77J4.js} +2 -2
- package/dist/cli/{reorder-J3DOE7ST.js → reorder-UIPN6TQY.js} +10 -9
- package/dist/cli/{reparent-2OUMKEZX.js → reparent-ALOWWUIU.js} +10 -9
- package/dist/cli/{req-TZB7OFKO.js → req-RH2Y3H7A.js} +10 -9
- package/dist/cli/{research-MTD7EX45.js → research-G2Y72HRC.js} +10 -9
- package/dist/cli/{restore-VEUOX7NF.js → restore-VBR5XNML.js} +62 -15
- package/dist/cli/{revert-3YF2IL5G.js → revert-32LDNSGP.js} +2 -2
- package/dist/cli/{roadmap-7OOQLXKG.js → roadmap-LFU3AG7D.js} +10 -9
- package/dist/cli/{run-2U5NZV5Z.js → run-HXRILSR7.js} +40 -6
- package/dist/cli/{safestop-VR4VK56D.js → safestop-Z5UC7NGQ.js} +10 -9
- package/dist/cli/{saga-SEWPIOX2.js → saga-Y6FZS6AM.js} +12 -11
- package/dist/cli/{schema-C52WZ35V.js → schema-OOOKLWUE.js} +5 -5
- package/dist/cli/{self-update-GQIGUDPS.js → self-update-26SOTJMH.js} +3 -3
- package/dist/cli/{selfimprove-3Y5L4ECT.js → selfimprove-4SMOCLUV.js} +10 -9
- package/dist/cli/selfimprove-EB4RQLP4.js +139 -0
- package/dist/cli/sentient-QPETVE53.js +254 -0
- package/dist/cli/{sentient-M4YMAVGV.js → sentient-RGMWR4XJ.js} +2 -2
- package/dist/cli/{sequence-6UBMA4IF.js → sequence-H7DSAJPF.js} +10 -9
- package/dist/cli/{service-5R7SILZ7.js → service-EK5MGB2D.js} +10 -9
- package/dist/cli/service-GLOMZWPQ.js +437 -0
- package/dist/cli/{session-3C6AAC4Y.js → session-HYUXAQGC.js} +12 -11
- package/dist/cli/session-N5ISU56W.js +568 -0
- package/dist/cli/{setup-BTUBW5PU.js → setup-L3YYV53D.js} +4 -4
- package/dist/cli/{show-MXT2V7TF.js → show-364V3KY2.js} +12 -11
- package/dist/cli/{skill-GFUZOU2C.js → skill-F2KR6HW5.js} +2 -2
- package/dist/cli/{skills-EDWLKAF3.js → skills-FS3DCP6E.js} +13 -12
- package/dist/cli/{snapshot-GUWMURCM.js → snapshot-EGXEQ5PR.js} +12 -11
- package/dist/cli/{src-66GAKPXR.js → src-LYLXHXHH.js} +2 -2
- package/dist/cli/{start-QFG56RGN.js → start-6DXOCCKL.js} +10 -9
- package/dist/cli/{stats-GW55P7RR.js → stats-UVUQEGYC.js} +10 -9
- package/dist/cli/{status-46HTKNRR.js → status-XLKYLN42.js} +3 -3
- package/dist/cli/sticky-VSTQ2I2O.js +264 -0
- package/dist/cli/{sticky-2DUZOUGI.js → sticky-XZXZDCFW.js} +12 -11
- package/dist/cli/{stop-J2QEUKHX.js → stop-VNOAFWNB.js} +10 -9
- package/dist/cli/{sync-GJP2QYT5.js → sync-YYPARW3A.js} +11 -10
- package/dist/cli/tasks-C24KHTFF.js +1118 -0
- package/dist/cli/{tasks-BNXTM7PB.js → tasks-LBJC7CZV.js} +10 -9
- package/dist/cli/{telemetry-55Z2XJWL.js → telemetry-CU7W5WAY.js} +2 -2
- package/dist/cli/{templates-7O77TKPV.js → templates-G42JBUY4.js} +9 -11
- package/dist/cli/{testing-37YTBNKP.js → testing-HSRITHEY.js} +10 -9
- package/dist/cli/{token-UAVJMNUI.js → token-J74E7TSU.js} +10 -9
- package/dist/cli/tools-BI74W7VE.js +652 -0
- package/dist/cli/{transcript-LORQTV5Z.js → transcript-RGK7RSGQ.js} +2 -2
- package/dist/cli/{update-NVCYV2FT.js → update-2KQWA27S.js} +19 -17
- package/dist/cli/update-check-entry.js +124 -0
- package/dist/cli/update-notice-6SQ6WPQG.js +68 -0
- package/dist/cli/upgrade-E2MJAPC7.js +136 -0
- package/dist/cli/{upgrade-OXJXOGEF.js → upgrade-XRSQ4RWH.js} +5 -5
- package/dist/cli/{verify-LYLDHPT2.js → verify-WASRGDBA.js} +10 -9
- package/dist/cli/{web-QP2RP266.js → web-NJ3P67EU.js} +4 -4
- package/dist/cli/{workgraph-FXBSZDQE.js → workgraph-OHJ2VKJD.js} +6 -6
- package/dist/cli/{worktree-6RXAJIST.js → worktree-FVQLORFY.js} +10 -9
- package/dist/cli/worktree-ZJ6JTQNG.js +287 -0
- package/package.json +13 -13
- package/studio-dist/client/_app/immutable/chunks/{Btgeq_wq.js → AH7dIemv.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{DgEKqO6r.js → BDgH40i3.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/BXDCSJ7U.js +1 -0
- package/studio-dist/client/_app/immutable/chunks/{CgBjxmu6.js → Gg4iYl59.js} +1 -1
- package/studio-dist/client/_app/immutable/entry/{app.a02HWaRB.js → app.DUDNK-37.js} +2 -2
- package/studio-dist/client/_app/immutable/entry/start.DNmZ0pA4.js +1 -0
- package/studio-dist/client/_app/immutable/nodes/{0.nTXyRfc-.js → 0.DWqP3ail.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{1.4zrWeHtl.js → 1.CZGVUP5B.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{15.D9mk4JyY.js → 15.DGaflZRS.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{16._-wt-sQf.js → 16.uYlarGXl.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{17.CUu6LQDj.js → 17.CZMR0E47.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{18.Dz4QRTkX.js → 18.CBC-AKH_.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{20.CJ2_EB0U.js → 20.BGi43MvQ.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{24.Igj2FS7k.js → 24.Dv8ftCyR.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/25.DQPVlTDQ.js +39 -0
- package/studio-dist/client/_app/immutable/nodes/{26.6iPyjT44.js → 26.Cl800304.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{3.AA5GwNgP.js → 3.D_fQKj9f.js} +1 -1
- package/studio-dist/client/_app/version.json +1 -1
- package/studio-dist/server/chunks/{0-DGmsoBYm.js → 0-BpOagOst.js} +3 -3
- package/studio-dist/server/chunks/1-D0oRGR-C.js +9 -0
- package/studio-dist/server/chunks/{15-Bg6YTndh.js → 15-BcjHz7Tv.js} +3 -3
- package/studio-dist/server/chunks/{16-BObLwgyD.js → 16-CXm8TUk7.js} +3 -3
- package/studio-dist/server/chunks/{17-BNXGyAHX.js → 17-mSgUK-cp.js} +3 -3
- package/studio-dist/server/chunks/{18-UqQFRIID.js → 18-BtfnIw1d.js} +3 -3
- package/studio-dist/server/chunks/{20-CMn8a_yP.js → 20-By1e4QDS.js} +3 -3
- package/studio-dist/server/chunks/{24-BuOTDzib.js → 24-0i2YLVxG.js} +3 -3
- package/studio-dist/server/chunks/{dist-B8xbIrdB.js → 25-DPsrqbrh.js} +795 -10736
- package/studio-dist/server/chunks/{26-DWGObn2T.js → 26-P0XkOibm.js} +3 -3
- package/studio-dist/server/chunks/{3-CyiffdJZ.js → 3-WudjUK7e.js} +3 -3
- package/studio-dist/server/chunks/{_layout.svelte-DYtClaIk.js → _layout.svelte-D9m81Rle.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-CEATWp_5.js → _page.svelte-2PDLOF83.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-Bip079LT.js → _page.svelte-BjE3jm2K.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-CV3xiD1y.js → _page.svelte-Clc0vmiZ.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-DSSy6LuK.js → _page.svelte-DABdRT3h.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-1h9E6s_f.js → _page.svelte-DG3PjiHj.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BT1EUadj.js → _page.svelte-Edy9CaE8.js} +20 -7
- package/studio-dist/server/chunks/{_page.svelte-BNNF62Nm.js → _page.svelte-Hrf3-ZR8.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-TF795TAS.js → _page.svelte-VB4O4Nl5.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-Cv_KVJDV.js → _page.svelte-d3jEgjsI.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-CzrwbhkQ.js → _server.ts-BcRFsyo3.js} +4 -5
- package/studio-dist/server/chunks/{_server.ts-C4w6UdU0.js → _server.ts-CEWpIFrj.js} +6 -5
- package/studio-dist/server/chunks/{_server.ts-BlhRFLY3.js → _server.ts-CLVdVIF9.js} +2 -2
- package/studio-dist/server/chunks/{_server.ts-Db6mEile.js → _server.ts-D_j7aSy5.js} +6 -5
- package/studio-dist/server/chunks/{_server.ts-DWt8Dziu.js → _server.ts-QEZF8h2q.js} +4 -5
- package/studio-dist/server/chunks/{client-D8f2k-H_.js → client-Kp1dP1od.js} +2 -2
- package/studio-dist/server/chunks/{error.svelte-DbbOwIme.js → error.svelte-WOCioJVX.js} +3 -3
- package/studio-dist/server/chunks/{hooks.server-D2qbf3Zp.js → hooks.server-DH9zkIrJ.js} +3 -1
- package/studio-dist/server/chunks/{http-1ftNGTs5.js → http-DT5kxaWk.js} +5 -4
- package/studio-dist/server/chunks/{internal-CTULuLPB.js → internal-z0vqd5_u.js} +3 -3
- package/studio-dist/server/chunks/operations-registry-DdzmYzqX.js +10584 -0
- package/studio-dist/server/chunks/{stores-CS5XOReX.js → stores-s2kaL315.js} +2 -2
- package/studio-dist/server/index.js +1 -1
- package/studio-dist/server/manifest.js +17 -17
- package/dist/cli/chunk-3IOQVUO7.js +0 -17308
- package/dist/cli/chunk-OAPN46TC.js +0 -89
- package/studio-dist/client/_app/immutable/chunks/t81h7afa.js +0 -1
- package/studio-dist/client/_app/immutable/entry/start.BreMSngo.js +0 -1
- package/studio-dist/client/_app/immutable/nodes/25.BnATjVGN.js +0 -39
- package/studio-dist/server/chunks/1-8PfxPvlK.js +0 -9
- package/studio-dist/server/chunks/25-CIMSmjVx.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
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
})();
|
|
16
16
|
import {
|
|
17
17
|
makeOAuthAcquirer
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-UWCZY52R.js";
|
|
19
19
|
import {
|
|
20
20
|
ReadlineWizardIO,
|
|
21
21
|
StdinClosedError
|
|
22
22
|
} from "./chunk-GZFVDR44.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-GRU74UE4.js";
|
|
24
24
|
import "./chunk-47JYZAMS.js";
|
|
25
25
|
import "./chunk-C3B7C43W.js";
|
|
26
26
|
import {
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
import {
|
|
30
30
|
cliError,
|
|
31
31
|
cliOutput
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-4RGSNUUP.js";
|
|
33
33
|
import "./chunk-6JSJNYH2.js";
|
|
34
34
|
|
|
35
35
|
// packages/cleo/src/cli/commands/setup.ts
|
|
@@ -320,4 +320,4 @@ export {
|
|
|
320
320
|
runSetup,
|
|
321
321
|
setupCommand
|
|
322
322
|
};
|
|
323
|
-
//# sourceMappingURL=setup-
|
|
323
|
+
//# sourceMappingURL=setup-L3YYV53D.js.map
|
|
@@ -16,22 +16,23 @@
|
|
|
16
16
|
import {
|
|
17
17
|
getOperationParams,
|
|
18
18
|
paramsToCittyArgs
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import {
|
|
21
|
-
defineCommand
|
|
22
|
-
} from "./chunk-PKKZPOOP.js";
|
|
19
|
+
} from "./chunk-RRKP7HLU.js";
|
|
23
20
|
import {
|
|
24
21
|
dispatchFromCli,
|
|
25
22
|
dispatchRaw
|
|
26
|
-
} from "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import
|
|
23
|
+
} from "./chunk-L7ONYSV6.js";
|
|
24
|
+
import "./chunk-6N6WGLXE.js";
|
|
25
|
+
import "./chunk-4VASFLUW.js";
|
|
26
|
+
import {
|
|
27
|
+
defineCommand
|
|
28
|
+
} from "./chunk-PKKZPOOP.js";
|
|
29
|
+
import "./chunk-QKMBWYAS.js";
|
|
30
30
|
import {
|
|
31
31
|
cliOutput
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-4RGSNUUP.js";
|
|
33
33
|
import "./chunk-6JSJNYH2.js";
|
|
34
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-D7BAQNV2.js";
|
|
35
|
+
import "./chunk-TYC7G5LF.js";
|
|
35
36
|
|
|
36
37
|
// packages/cleo/src/cli/commands/show.ts
|
|
37
38
|
var showCommand = defineCommand({
|
|
@@ -119,4 +120,4 @@ export {
|
|
|
119
120
|
showCommand,
|
|
120
121
|
unwrapShowRecord
|
|
121
122
|
};
|
|
122
|
-
//# sourceMappingURL=show-
|
|
123
|
+
//# sourceMappingURL=show-364V3KY2.js.map
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
import {
|
|
23
23
|
cliError,
|
|
24
24
|
cliOutput
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-4RGSNUUP.js";
|
|
26
26
|
import "./chunk-6JSJNYH2.js";
|
|
27
27
|
|
|
28
28
|
// packages/cleo/src/cli/commands/skill.ts
|
|
@@ -81,4 +81,4 @@ var skillCommand = defineCommand({
|
|
|
81
81
|
export {
|
|
82
82
|
skillCommand
|
|
83
83
|
};
|
|
84
|
-
//# sourceMappingURL=skill-
|
|
84
|
+
//# sourceMappingURL=skill-F2KR6HW5.js.map
|