@cleocode/cleo 2026.10.4 → 2026.10.5
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,437 @@
|
|
|
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
|
+
errorResult,
|
|
18
|
+
unsupportedOp,
|
|
19
|
+
wrapResult
|
|
20
|
+
} from "./chunk-XHRZ7OYZ.js";
|
|
21
|
+
|
|
22
|
+
// packages/cleo/src/dispatch/domains/service.ts
|
|
23
|
+
import {
|
|
24
|
+
connectService,
|
|
25
|
+
deleteConnectionCascade,
|
|
26
|
+
listConnections
|
|
27
|
+
} from "@cleocode/core";
|
|
28
|
+
import {
|
|
29
|
+
buildAuthUrl,
|
|
30
|
+
exchangeCode,
|
|
31
|
+
selfHealConnection
|
|
32
|
+
} from "@cleocode/core/internal";
|
|
33
|
+
var ServiceHandler = class {
|
|
34
|
+
/**
|
|
35
|
+
* Handle service queries.
|
|
36
|
+
*
|
|
37
|
+
* Supported: `auth-url` — build a PKCE OAuth authorization URL. The result
|
|
38
|
+
* carries the `codeVerifier` + `state` the caller round-trips into `exchange`;
|
|
39
|
+
* these are NOT persisted secrets (they are short-lived flow material the user
|
|
40
|
+
* already controls), so returning them is the contract of the verb.
|
|
41
|
+
*/
|
|
42
|
+
async query(operation, params) {
|
|
43
|
+
const startTime = Date.now();
|
|
44
|
+
switch (operation) {
|
|
45
|
+
case "auth-url": {
|
|
46
|
+
const provider = typeof params?.provider === "string" ? params.provider : void 0;
|
|
47
|
+
if (!provider) {
|
|
48
|
+
return errorResult(
|
|
49
|
+
"query",
|
|
50
|
+
"service",
|
|
51
|
+
operation,
|
|
52
|
+
"E_INVALID_INPUT",
|
|
53
|
+
"provider is required",
|
|
54
|
+
startTime
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
const opts = {
|
|
58
|
+
...typeof params?.state === "string" ? { state: params.state } : {},
|
|
59
|
+
...typeof params?.scope === "string" ? { scope: params.scope } : {},
|
|
60
|
+
...typeof params?.redirectUri === "string" ? { redirectUri: params.redirectUri } : {}
|
|
61
|
+
};
|
|
62
|
+
try {
|
|
63
|
+
const result = await buildAuthUrl(provider, opts);
|
|
64
|
+
return wrapResult(
|
|
65
|
+
{ success: true, data: result },
|
|
66
|
+
"query",
|
|
67
|
+
"service",
|
|
68
|
+
operation,
|
|
69
|
+
startTime
|
|
70
|
+
);
|
|
71
|
+
} catch (err) {
|
|
72
|
+
return errorResult(
|
|
73
|
+
"query",
|
|
74
|
+
"service",
|
|
75
|
+
operation,
|
|
76
|
+
"E_INTERNAL",
|
|
77
|
+
messageOf(err),
|
|
78
|
+
startTime
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
case "list":
|
|
83
|
+
return this.list(params, startTime);
|
|
84
|
+
case "status":
|
|
85
|
+
return this.status(params, startTime);
|
|
86
|
+
default:
|
|
87
|
+
return unsupportedOp("query", "service", operation, startTime);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/** Delegate `service.list` to CORE `listConnections` — redacted views only. */
|
|
91
|
+
async list(params, startTime) {
|
|
92
|
+
const provider = typeof params?.provider === "string" ? params.provider : void 0;
|
|
93
|
+
try {
|
|
94
|
+
const connections = await listConnections(provider);
|
|
95
|
+
return wrapResult(
|
|
96
|
+
{ success: true, data: { connections } },
|
|
97
|
+
"query",
|
|
98
|
+
"service",
|
|
99
|
+
"list",
|
|
100
|
+
startTime
|
|
101
|
+
);
|
|
102
|
+
} catch (err) {
|
|
103
|
+
return errorResult("query", "service", "list", "E_INTERNAL", messageOf(err), startTime);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/** Delegate `service.status` to CORE `listConnections` + map to health views. */
|
|
107
|
+
async status(params, startTime) {
|
|
108
|
+
const provider = typeof params?.provider === "string" ? params.provider : void 0;
|
|
109
|
+
try {
|
|
110
|
+
const views = await listConnections(provider);
|
|
111
|
+
const connections = views.map((v) => toHealthView(v));
|
|
112
|
+
return wrapResult(
|
|
113
|
+
{ success: true, data: { connections } },
|
|
114
|
+
"query",
|
|
115
|
+
"service",
|
|
116
|
+
"status",
|
|
117
|
+
startTime
|
|
118
|
+
);
|
|
119
|
+
} catch (err) {
|
|
120
|
+
return errorResult("query", "service", "status", "E_INTERNAL", messageOf(err), startTime);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Handle service mutations.
|
|
125
|
+
*
|
|
126
|
+
* Supported: `exchange` (persist tokens), `refresh` (renew tokens),
|
|
127
|
+
* `self-heal` (resolve + transparent refresh). All delegate to CORE and return
|
|
128
|
+
* the NON-SECRET result — the plaintext token NEVER crosses this boundary.
|
|
129
|
+
*/
|
|
130
|
+
async mutate(operation, params) {
|
|
131
|
+
const startTime = Date.now();
|
|
132
|
+
switch (operation) {
|
|
133
|
+
case "connect":
|
|
134
|
+
return this.connect(params, startTime);
|
|
135
|
+
case "exchange":
|
|
136
|
+
return this.exchange(params, startTime);
|
|
137
|
+
case "refresh":
|
|
138
|
+
return this.refresh(params, startTime);
|
|
139
|
+
case "revoke":
|
|
140
|
+
return this.revoke(params, startTime);
|
|
141
|
+
case "self-heal":
|
|
142
|
+
return this.selfHeal(params, startTime);
|
|
143
|
+
default:
|
|
144
|
+
return unsupportedOp("mutate", "service", operation, startTime);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Delegate `service.connect` — store a credential. Two modes:
|
|
149
|
+
* - token-direct: `token` (+ optional refreshToken/expiresAt/scopes) →
|
|
150
|
+
* CORE `connectService` encrypts + persists the blob.
|
|
151
|
+
* - paste-code: `code` + `codeVerifier` + `redirectUri` → CORE `exchangeCode`
|
|
152
|
+
* runs the OAuth dance. The plaintext token NEVER crosses this boundary.
|
|
153
|
+
*/
|
|
154
|
+
async connect(params, startTime) {
|
|
155
|
+
const provider = typeof params?.provider === "string" ? params.provider : void 0;
|
|
156
|
+
if (!provider) {
|
|
157
|
+
return errorResult(
|
|
158
|
+
"mutate",
|
|
159
|
+
"service",
|
|
160
|
+
"connect",
|
|
161
|
+
"E_INVALID_INPUT",
|
|
162
|
+
"provider is required",
|
|
163
|
+
startTime
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
const label = typeof params?.label === "string" ? params.label : "default";
|
|
167
|
+
const token = typeof params?.token === "string" ? params.token : void 0;
|
|
168
|
+
const code = typeof params?.code === "string" ? params.code : void 0;
|
|
169
|
+
try {
|
|
170
|
+
if (token !== void 0) {
|
|
171
|
+
const connectionId = await connectService(
|
|
172
|
+
buildConnectParams(provider, label, params, token)
|
|
173
|
+
);
|
|
174
|
+
return wrapResult(
|
|
175
|
+
{
|
|
176
|
+
success: true,
|
|
177
|
+
data: {
|
|
178
|
+
count: 1,
|
|
179
|
+
created: [String(connectionId)],
|
|
180
|
+
connection: { connectionId, provider, label, expiresAt: expiryOf(params) }
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"mutate",
|
|
184
|
+
"service",
|
|
185
|
+
"connect",
|
|
186
|
+
startTime
|
|
187
|
+
);
|
|
188
|
+
}
|
|
189
|
+
if (code !== void 0) {
|
|
190
|
+
const opts = buildExchangeOpts(params, code, label);
|
|
191
|
+
if (opts === null) {
|
|
192
|
+
return errorResult(
|
|
193
|
+
"mutate",
|
|
194
|
+
"service",
|
|
195
|
+
"connect",
|
|
196
|
+
"E_INVALID_INPUT",
|
|
197
|
+
"paste-code mode requires --code, --code-verifier, and --redirect-uri",
|
|
198
|
+
startTime
|
|
199
|
+
);
|
|
200
|
+
}
|
|
201
|
+
const result = await exchangeCode(provider, opts);
|
|
202
|
+
return wrapResult(
|
|
203
|
+
{
|
|
204
|
+
success: true,
|
|
205
|
+
data: { count: 1, created: [String(result.connectionId)], connection: result }
|
|
206
|
+
},
|
|
207
|
+
"mutate",
|
|
208
|
+
"service",
|
|
209
|
+
"connect",
|
|
210
|
+
startTime
|
|
211
|
+
);
|
|
212
|
+
}
|
|
213
|
+
return errorResult(
|
|
214
|
+
"mutate",
|
|
215
|
+
"service",
|
|
216
|
+
"connect",
|
|
217
|
+
"E_INVALID_INPUT",
|
|
218
|
+
"connect requires either --token (token-direct) or --code + --code-verifier + --redirect-uri (paste-code)",
|
|
219
|
+
startTime
|
|
220
|
+
);
|
|
221
|
+
} catch (err) {
|
|
222
|
+
return errorResult("mutate", "service", "connect", "E_INTERNAL", messageOf(err), startTime);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
/** Delegate `service.revoke` to CORE `deleteConnectionCascade` (hard delete + cascade). */
|
|
226
|
+
async revoke(params, startTime) {
|
|
227
|
+
const provider = typeof params?.provider === "string" ? params.provider : void 0;
|
|
228
|
+
const label = typeof params?.label === "string" ? params.label : void 0;
|
|
229
|
+
if (!provider || !label) {
|
|
230
|
+
return errorResult(
|
|
231
|
+
"mutate",
|
|
232
|
+
"service",
|
|
233
|
+
"revoke",
|
|
234
|
+
"E_INVALID_INPUT",
|
|
235
|
+
"provider and label are required",
|
|
236
|
+
startTime
|
|
237
|
+
);
|
|
238
|
+
}
|
|
239
|
+
try {
|
|
240
|
+
const result = await deleteConnectionCascade(provider, label);
|
|
241
|
+
return wrapResult(
|
|
242
|
+
{
|
|
243
|
+
success: true,
|
|
244
|
+
data: {
|
|
245
|
+
count: result.deleted ? 1 : 0,
|
|
246
|
+
deleted: result.deleted ? [`${provider}:${label}`] : [],
|
|
247
|
+
grantsRemoved: result.grantsRemoved
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
"mutate",
|
|
251
|
+
"service",
|
|
252
|
+
"revoke",
|
|
253
|
+
startTime
|
|
254
|
+
);
|
|
255
|
+
} catch (err) {
|
|
256
|
+
return errorResult("mutate", "service", "revoke", "E_INTERNAL", messageOf(err), startTime);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
/** Delegate `service.exchange` to CORE `exchangeCode`. */
|
|
260
|
+
async exchange(params, startTime) {
|
|
261
|
+
const provider = typeof params?.provider === "string" ? params.provider : void 0;
|
|
262
|
+
const code = typeof params?.code === "string" ? params.code : void 0;
|
|
263
|
+
const codeVerifier = typeof params?.codeVerifier === "string" ? params.codeVerifier : void 0;
|
|
264
|
+
const redirectUri = typeof params?.redirectUri === "string" ? params.redirectUri : void 0;
|
|
265
|
+
if (!provider || !code || !codeVerifier || !redirectUri) {
|
|
266
|
+
return errorResult(
|
|
267
|
+
"mutate",
|
|
268
|
+
"service",
|
|
269
|
+
"exchange",
|
|
270
|
+
"E_INVALID_INPUT",
|
|
271
|
+
"provider, code, codeVerifier, redirectUri are required",
|
|
272
|
+
startTime
|
|
273
|
+
);
|
|
274
|
+
}
|
|
275
|
+
const opts = {
|
|
276
|
+
code,
|
|
277
|
+
codeVerifier,
|
|
278
|
+
redirectUri,
|
|
279
|
+
...typeof params?.label === "string" ? { label: params.label } : {}
|
|
280
|
+
};
|
|
281
|
+
try {
|
|
282
|
+
const result = await exchangeCode(provider, opts);
|
|
283
|
+
return wrapResult(
|
|
284
|
+
{
|
|
285
|
+
success: true,
|
|
286
|
+
data: { count: 1, created: [String(result.connectionId)], connection: result }
|
|
287
|
+
},
|
|
288
|
+
"mutate",
|
|
289
|
+
"service",
|
|
290
|
+
"exchange",
|
|
291
|
+
startTime
|
|
292
|
+
);
|
|
293
|
+
} catch (err) {
|
|
294
|
+
return errorResult("mutate", "service", "exchange", "E_INTERNAL", messageOf(err), startTime);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
/** Delegate `service.refresh` to CORE `refreshAccessToken` via the self-heal persist path. */
|
|
298
|
+
async refresh(params, startTime) {
|
|
299
|
+
const agentId = typeof params?.agentId === "string" ? params.agentId : void 0;
|
|
300
|
+
const provider = typeof params?.provider === "string" ? params.provider : void 0;
|
|
301
|
+
const label = typeof params?.label === "string" ? params.label : void 0;
|
|
302
|
+
if (!agentId || !provider || !label) {
|
|
303
|
+
return errorResult(
|
|
304
|
+
"mutate",
|
|
305
|
+
"service",
|
|
306
|
+
"refresh",
|
|
307
|
+
"E_INVALID_INPUT",
|
|
308
|
+
"agentId, provider, label are required",
|
|
309
|
+
startTime
|
|
310
|
+
);
|
|
311
|
+
}
|
|
312
|
+
try {
|
|
313
|
+
const result = await selfHealConnection({
|
|
314
|
+
agentId,
|
|
315
|
+
provider,
|
|
316
|
+
label,
|
|
317
|
+
skewSeconds: Number.MAX_SAFE_INTEGER / 1e3,
|
|
318
|
+
...params?.approved === true ? { approved: true } : {}
|
|
319
|
+
});
|
|
320
|
+
if (result.sealed === null) {
|
|
321
|
+
return errorResult(
|
|
322
|
+
"mutate",
|
|
323
|
+
"service",
|
|
324
|
+
"refresh",
|
|
325
|
+
"E_NOT_FOUND",
|
|
326
|
+
"connection not found, not active, or access denied",
|
|
327
|
+
startTime
|
|
328
|
+
);
|
|
329
|
+
}
|
|
330
|
+
return wrapResult(
|
|
331
|
+
{
|
|
332
|
+
success: true,
|
|
333
|
+
data: {
|
|
334
|
+
count: 1,
|
|
335
|
+
updated: [`${provider}:${label}`],
|
|
336
|
+
refreshed: result.refreshed,
|
|
337
|
+
expiresAt: result.expiresAt
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
"mutate",
|
|
341
|
+
"service",
|
|
342
|
+
"refresh",
|
|
343
|
+
startTime
|
|
344
|
+
);
|
|
345
|
+
} catch (err) {
|
|
346
|
+
return errorResult("mutate", "service", "refresh", "E_INTERNAL", messageOf(err), startTime);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
/** Delegate `service.self-heal` to CORE `selfHealConnection`. */
|
|
350
|
+
async selfHeal(params, startTime) {
|
|
351
|
+
const agentId = typeof params?.agentId === "string" ? params.agentId : void 0;
|
|
352
|
+
const provider = typeof params?.provider === "string" ? params.provider : void 0;
|
|
353
|
+
const label = typeof params?.label === "string" ? params.label : void 0;
|
|
354
|
+
if (!agentId || !provider || !label) {
|
|
355
|
+
return errorResult(
|
|
356
|
+
"mutate",
|
|
357
|
+
"service",
|
|
358
|
+
"self-heal",
|
|
359
|
+
"E_INVALID_INPUT",
|
|
360
|
+
"agentId, provider, label are required",
|
|
361
|
+
startTime
|
|
362
|
+
);
|
|
363
|
+
}
|
|
364
|
+
try {
|
|
365
|
+
const result = await selfHealConnection({
|
|
366
|
+
agentId,
|
|
367
|
+
provider,
|
|
368
|
+
label,
|
|
369
|
+
...params?.approved === true ? { approved: true } : {}
|
|
370
|
+
});
|
|
371
|
+
return wrapResult(
|
|
372
|
+
{
|
|
373
|
+
success: true,
|
|
374
|
+
data: {
|
|
375
|
+
count: result.refreshed ? 1 : 0,
|
|
376
|
+
updated: result.refreshed ? [`${provider}:${label}`] : [],
|
|
377
|
+
resolved: result.sealed !== null,
|
|
378
|
+
refreshed: result.refreshed,
|
|
379
|
+
expiresAt: result.expiresAt
|
|
380
|
+
}
|
|
381
|
+
},
|
|
382
|
+
"mutate",
|
|
383
|
+
"service",
|
|
384
|
+
"self-heal",
|
|
385
|
+
startTime
|
|
386
|
+
);
|
|
387
|
+
} catch (err) {
|
|
388
|
+
return errorResult("mutate", "service", "self-heal", "E_INTERNAL", messageOf(err), startTime);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
/** Return declared operations for introspection and registry validation. */
|
|
392
|
+
getSupportedOperations() {
|
|
393
|
+
return {
|
|
394
|
+
query: ["auth-url", "list", "status"],
|
|
395
|
+
mutate: ["connect", "exchange", "refresh", "revoke", "self-heal"]
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
};
|
|
399
|
+
function messageOf(err) {
|
|
400
|
+
return err instanceof Error ? err.message : String(err);
|
|
401
|
+
}
|
|
402
|
+
function expiryOf(params) {
|
|
403
|
+
return typeof params?.expiresAt === "string" ? params.expiresAt : null;
|
|
404
|
+
}
|
|
405
|
+
function buildConnectParams(provider, label, params, token) {
|
|
406
|
+
const refreshToken = typeof params?.refreshToken === "string" ? params.refreshToken : void 0;
|
|
407
|
+
const scopes = Array.isArray(params?.scopes) ? params.scopes.filter((s) => typeof s === "string") : void 0;
|
|
408
|
+
return {
|
|
409
|
+
provider,
|
|
410
|
+
label,
|
|
411
|
+
tokens: { accessToken: token, ...refreshToken !== void 0 ? { refreshToken } : {} },
|
|
412
|
+
...scopes !== void 0 ? { scopes } : {},
|
|
413
|
+
...typeof params?.expiresAt === "string" ? { expiresAt: params.expiresAt } : {}
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
function buildExchangeOpts(params, code, label) {
|
|
417
|
+
const codeVerifier = typeof params?.codeVerifier === "string" ? params.codeVerifier : void 0;
|
|
418
|
+
const redirectUri = typeof params?.redirectUri === "string" ? params.redirectUri : void 0;
|
|
419
|
+
if (codeVerifier === void 0 || redirectUri === void 0) return null;
|
|
420
|
+
return { code, codeVerifier, redirectUri, label };
|
|
421
|
+
}
|
|
422
|
+
function toHealthView(v) {
|
|
423
|
+
const expired = v.status === "expired" || v.expiresAt !== null && Number.isFinite(Date.parse(v.expiresAt)) && Date.parse(v.expiresAt) <= Date.now();
|
|
424
|
+
return {
|
|
425
|
+
provider: v.provider,
|
|
426
|
+
label: v.label,
|
|
427
|
+
status: v.status,
|
|
428
|
+
expiresAt: v.expiresAt,
|
|
429
|
+
expired,
|
|
430
|
+
needsRefresh: expired && v.hasCredentials,
|
|
431
|
+
hasCredentials: v.hasCredentials
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
export {
|
|
435
|
+
ServiceHandler
|
|
436
|
+
};
|
|
437
|
+
//# sourceMappingURL=service-GLOMZWPQ.js.map
|
|
@@ -13,25 +13,26 @@
|
|
|
13
13
|
return _origEmitWarning.call(process, warning, type, code, ctor);
|
|
14
14
|
};
|
|
15
15
|
})();
|
|
16
|
-
import {
|
|
17
|
-
defineCommand,
|
|
18
|
-
showUsage
|
|
19
|
-
} from "./chunk-PKKZPOOP.js";
|
|
20
16
|
import {
|
|
21
17
|
dispatchFromCli,
|
|
22
18
|
dispatchRaw,
|
|
23
19
|
handleRawError
|
|
24
|
-
} from "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import
|
|
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
28
|
import {
|
|
29
29
|
cliError,
|
|
30
30
|
cliOutput,
|
|
31
31
|
humanWarn
|
|
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/session.ts
|
|
37
38
|
import { ExitCode } from "@cleocode/contracts";
|
|
@@ -704,4 +705,4 @@ var sessionCommand = defineCommand({
|
|
|
704
705
|
export {
|
|
705
706
|
sessionCommand
|
|
706
707
|
};
|
|
707
|
-
//# sourceMappingURL=session-
|
|
708
|
+
//# sourceMappingURL=session-HYUXAQGC.js.map
|