@cleocode/cleo 2026.10.6 → 2026.10.7-rc.ci.674
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/bin/cleo.js +1 -1
- package/dist/cli/{adapter-Y4ZS3MZM.js → adapter-CJUZSXBA.js} +3 -3
- package/dist/cli/{add-FYGNKFWA.js → add-T66ILGKK.js} +3 -3
- package/dist/cli/{add-batch-FJ3GD6SG.js → add-batch-DEYCTR2Z.js} +3 -3
- package/dist/cli/{admin-PLLDZIWA.js → admin-3WA33TW4.js} +3 -3
- package/dist/cli/{admin-5YIFRMZZ.js → admin-73MG7LAS.js} +3 -3
- package/dist/cli/{adr-4IIMGGFA.js → adr-N4VVNKYB.js} +3 -3
- package/dist/cli/{analyze-YSHOIQ4T.js → analyze-H2BLBQWF.js} +3 -3
- package/dist/cli/{archive-RFOVSQGW.js → archive-QHBLYODR.js} +3 -3
- package/dist/cli/{archive-stats-FEUN3QWW.js → archive-stats-Q6H6ZFSG.js} +3 -3
- package/dist/cli/ask-enforce-entry-ZYO5MVS6.js +202 -0
- package/dist/cli/{attention-6NLKIGCS.js → attention-YBJI3WYQ.js} +3 -3
- package/dist/cli/{backup-BCUO6KBW.js → backup-DSZLYUH6.js} +3 -3
- package/dist/cli/{blockers-6PQXRJWZ.js → blockers-M6MVTIVB.js} +3 -3
- package/dist/cli/{briefing-WCXYBJD6.js → briefing-5NFD2GD5.js} +3 -3
- package/dist/cli/{cancel-ONC4BAS4.js → cancel-WOEDIY2T.js} +3 -3
- package/dist/cli/{check-3LHQAZVM.js → check-ROHPOXED.js} +2 -2
- package/dist/cli/{check-PEQ6IW4U.js → check-WLUNOQVL.js} +3 -3
- package/dist/cli/{cloud-WATCKPXU.js → chunk-4TUBOOUH.js} +43 -261
- package/dist/cli/{chunk-GRM2FBX3.js → chunk-7M7ZEQXG.js} +20 -1
- package/dist/cli/chunk-DICDL2YM.js +52 -0
- package/dist/cli/{chunk-WM5PF6U2.js → chunk-FWTSORSA.js} +2 -2
- package/dist/cli/{chunk-6C5WLJTV.js → chunk-V72T73VU.js} +2 -2
- package/dist/cli/{chunk-2SE64OPI.js → chunk-YM7SWWQX.js} +11 -11
- package/dist/cli/{claim-2KQRCWDM.js → claim-YKXOKBF2.js} +3 -3
- package/dist/cli/{cli-N3Z5FJRH.js → cli-B4M45YP3.js} +3 -3
- package/dist/cli/cloud-Q4EF25BE.js +312 -0
- package/dist/cli/{complete-662MT5HA.js → complete-L5OOUHNR.js} +4 -4
- package/dist/cli/{complexity-NBAKSTTI.js → complexity-YI4SSAQV.js} +3 -3
- package/dist/cli/{compliance-TO7UMLRO.js → compliance-NE6GAMII.js} +3 -3
- package/dist/cli/{conduit-PKOQOCIS.js → conduit-P2HBLN3F.js} +3 -3
- package/dist/cli/{config-NEO6I4J2.js → config-L4TAOKTC.js} +3 -3
- package/dist/cli/{consensus-NPBBB7DY.js → consensus-2YQHSOAL.js} +3 -3
- package/dist/cli/{context-73476UI5.js → context-4TMGAKEQ.js} +3 -3
- package/dist/cli/{contribution-3YXKRZ7R.js → contribution-GPIBWOCD.js} +3 -3
- package/dist/cli/{current-K3KLM5S3.js → current-HQ74FPKC.js} +3 -3
- package/dist/cli/{daemon-O5O53VKD.js → daemon-BXBXQ543.js} +3 -3
- package/dist/cli/{dash-WRM6KIQ7.js → dash-7OTBKSAX.js} +3 -3
- package/dist/cli/{decompose-Z2ICSJOC.js → decompose-QQDHU57R.js} +3 -3
- package/dist/cli/{decomposition-44KY5BJY.js → decomposition-UHPP47WC.js} +3 -3
- package/dist/cli/{delete-U3B5GMVW.js → delete-DULSLVKJ.js} +3 -3
- package/dist/cli/{deps-F2WHEBDL.js → deps-YQBUN2FE.js} +3 -3
- package/dist/cli/{detect-ICA3K6DT.js → detect-FUC5Y647.js} +3 -3
- package/dist/cli/{diagnostics-V5N6D4JO.js → diagnostics-SE2GUEIQ.js} +3 -3
- package/dist/cli/{docs-CIKVG5Q3.js → docs-CR46FNQN.js} +44 -3
- package/dist/cli/{docs-RCKGENBN.js → docs-DNNQIKRX.js} +57 -7
- package/dist/cli/{doctor-G34EXNNN.js → doctor-5T4SOSJT.js} +20 -15
- package/dist/cli/doctor-system-HN7KUBUO.js +26 -0
- package/dist/cli/{done-FKTAVLGO.js → done-ZSUWISRY.js} +4 -4
- package/dist/cli/{export-2TA24G2M.js → export-VUSCRB5H.js} +3 -3
- package/dist/cli/{export-tasks-5CO3JHLZ.js → export-tasks-5OFFZTAW.js} +3 -3
- package/dist/cli/{find-O4MUQDEQ.js → find-IO57ZCAV.js} +3 -3
- package/dist/cli/{focus-PHQMGVNK.js → focus-BHZPAPVM.js} +3 -3
- package/dist/cli/{grade-Z3YNRWC3.js → grade-BTQY5Y66.js} +3 -3
- package/dist/cli/{graph-LQSRJ6T2.js → graph-6PQZQCM5.js} +3 -3
- package/dist/cli/{history-YZ2H73G4.js → history-B2FQPJ7F.js} +3 -3
- package/dist/cli/{hook-UF7J7R6D.js → hook-BNQLJ3IB.js} +21 -3
- package/dist/cli/hook-entry.js +29 -3
- package/dist/cli/{import-FXDJYQ55.js → import-P3PCQ7RG.js} +3 -3
- package/dist/cli/{import-tasks-GGBCGUXV.js → import-tasks-VBM3PG3Y.js} +3 -3
- package/dist/cli/index.js +112 -106
- package/dist/cli/{init-YRZQVU5X.js → init-3SJPZ6MM.js} +2 -2
- package/dist/cli/{inject-NHV2R23E.js → inject-OYEUNYKE.js} +3 -3
- package/dist/cli/{intelligence-G2UXUU72.js → intelligence-ZDINRJ6L.js} +3 -3
- package/dist/cli/{issue-BKYXDW32.js → issue-6SLGC2WA.js} +12 -7
- package/dist/cli/{labels-5LE2NIQR.js → labels-3VPUVHTW.js} +3 -3
- package/dist/cli/{lifecycle-QVCLERE6.js → lifecycle-4OWR4VQA.js} +3 -3
- package/dist/cli/{list-NXMOSHJE.js → list-DEWOUSD4.js} +3 -3
- package/dist/cli/{llm-Q3OJP7GR.js → llm-KSUDYWTY.js} +3 -3
- package/dist/cli/{log-IX7IPH5F.js → log-QMVCW2VD.js} +3 -3
- package/dist/cli/{manifest-YGNDR5T3.js → manifest-7TYRMBFO.js} +3 -3
- package/dist/cli/{map-HDXQ73QC.js → map-GYBUA3IZ.js} +3 -3
- package/dist/cli/{memory-AOLE6XQY.js → memory-7ZERUVUK.js} +2 -2
- package/dist/cli/{memory-6XDLEGCN.js → memory-LCVEGACN.js} +3 -3
- package/dist/cli/{migrate-claude-mem-7RE62AGF.js → migrate-claude-mem-W53LP7RD.js} +3 -3
- package/dist/cli/{next-JNZKJKWS.js → next-JDP45FHE.js} +3 -3
- package/dist/cli/{nexus-YENNDLUD.js → nexus-DXUDR7T5.js} +3 -3
- package/dist/cli/{nexus-4BGEPUGU.js → nexus-J2MW66ID.js} +2 -2
- package/dist/cli/nexus-vault-cli-SMFRAY2N.js +50 -0
- package/dist/cli/{ops-SKH57WXE.js → ops-UOVT64GJ.js} +3 -3
- package/dist/cli/{orchestrate-COJLY3BQ.js → orchestrate-C56ZTIG6.js} +2 -2
- package/dist/cli/{orchestrate-FDHT627K.js → orchestrate-GPC7WBZG.js} +3 -3
- package/dist/cli/{phase-JUE2OEZM.js → phase-MSV7F7EZ.js} +3 -3
- package/dist/cli/{pipeline-N7TO7BCW.js → pipeline-3JC25FGQ.js} +2 -2
- package/dist/cli/{pivot-URCNR3BX.js → pivot-TKTLDEMJ.js} +3 -3
- package/dist/cli/{plan-WYDBY4O5.js → plan-ZP4SZBUL.js} +3 -3
- package/dist/cli/{playbook-YNLRIZSL.js → playbook-2IJ5IVEP.js} +3 -3
- package/dist/cli/{promote-PRLJ6UBE.js → promote-4DRDZIZY.js} +3 -3
- package/dist/cli/{provenance-VKOGKPVJ.js → provenance-576YKBQZ.js} +3 -3
- package/dist/cli/{provider-UQZUCADM.js → provider-VPO2UI4B.js} +3 -3
- package/dist/cli/{reason-PWEP6WOW.js → reason-KCIR3YSC.js} +3 -3
- package/dist/cli/{reconcile-CMFWUVFS.js → reconcile-XQEFK2QH.js} +3 -3
- package/dist/cli/{relates-FMKPEXHU.js → relates-65SWZNDD.js} +3 -3
- package/dist/cli/{release-NQXHS6LI.js → release-CSUE26SZ.js} +3 -3
- package/dist/cli/{reorder-GKTAAISX.js → reorder-NTNZKIR5.js} +3 -3
- package/dist/cli/{reparent-G3U56ZAC.js → reparent-NECPOOPK.js} +3 -3
- package/dist/cli/{req-5XEJ7X4M.js → req-X33DQCVD.js} +45 -3
- package/dist/cli/{research-MLMW3ECS.js → research-26QT4GB2.js} +3 -3
- package/dist/cli/{restore-VVYTSJPI.js → restore-EL2CROFY.js} +3 -3
- package/dist/cli/{roadmap-JRSWBK2K.js → roadmap-NUGY2TJE.js} +3 -3
- package/dist/cli/{safestop-3ODRSAEZ.js → safestop-4OXO7VRT.js} +3 -3
- package/dist/cli/{saga-XJSILRXO.js → saga-X3BGSE55.js} +3 -3
- package/dist/cli/{self-update-QUATESHX.js → self-update-7EU6N5FM.js} +25 -7
- package/dist/cli/{selfimprove-QX4FXTLZ.js → selfimprove-CAJM5KEM.js} +2 -2
- package/dist/cli/{selfimprove-ZDAXK63M.js → selfimprove-NZ6GXSYP.js} +3 -3
- package/dist/cli/{sequence-AELJXC27.js → sequence-VX5Y6LR4.js} +3 -3
- package/dist/cli/{service-MADZVIRM.js → service-K3O4J24T.js} +3 -3
- package/dist/cli/{session-7DLKPTLU.js → session-RMM7ABRO.js} +2 -2
- package/dist/cli/{session-4F2YDCOH.js → session-TYKF747R.js} +3 -3
- package/dist/cli/{show-7YCBPUMQ.js → show-ZO57LWIG.js} +3 -3
- package/dist/cli/{skills-ZJIHEJV4.js → skills-DJMKIDYU.js} +3 -3
- package/dist/cli/{snapshot-2NJYDKMN.js → snapshot-OILJVMMI.js} +3 -3
- package/dist/cli/{start-M2LHH3FM.js → start-LT6KM7L3.js} +3 -3
- package/dist/cli/{stats-A3P3FFA3.js → stats-VZ7OYS7I.js} +3 -3
- package/dist/cli/{sticky-3GLMUD63.js → sticky-26RIXY25.js} +3 -3
- package/dist/cli/{stop-FWSAMPGJ.js → stop-H4URBWYA.js} +3 -3
- package/dist/cli/{sync-IOMJ3HN6.js → sync-TDTVQPJ6.js} +29 -4
- package/dist/cli/{tasks-5ESKKSFT.js → tasks-HXZGNHKP.js} +3 -3
- package/dist/cli/{tasks-SDWKABXY.js → tasks-SLUW3NHO.js} +25 -3
- package/dist/cli/{testing-SUQZRPF2.js → testing-5DAKBB4A.js} +3 -3
- package/dist/cli/{token-IEKREVOS.js → token-YHUG4KQY.js} +3 -3
- package/dist/cli/{update-3IHK223Z.js → update-VMNQN7TL.js} +3 -3
- package/dist/cli/{upgrade-LEKAQEM6.js → upgrade-FOHI6DDB.js} +2 -2
- package/dist/cli/{verify-KLHWM3QC.js → verify-HBGLJM3V.js} +21 -3
- package/dist/cli/{worktree-YRUPLABI.js → worktree-EUHVTVTE.js} +3 -3
- package/package.json +13 -13
- package/studio-dist/client/_app/immutable/chunks/BCvslq_K.js +3 -0
- package/studio-dist/client/_app/immutable/chunks/CSIanL9h.js +1 -0
- package/studio-dist/client/_app/immutable/chunks/{C-V-y4De.js → CvbJKQ-o.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{BvC3Utsc.js → Z0jmKUYT.js} +1 -1
- package/studio-dist/client/_app/immutable/entry/{app.DwLmKJGp.js → app.DavK4iuH.js} +2 -2
- package/studio-dist/client/_app/immutable/entry/start.V2uCC2P5.js +1 -0
- package/studio-dist/client/_app/immutable/nodes/{0.Blicinz5.js → 0.BHWwz1xh.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{1.DYfUtTzr.js → 1.C-eDkl2t.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{15.0VIks-FY.js → 15.G0P_w1GK.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{16.CGYTpOds.js → 16.Cqz1oWe1.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{17.CqxxDqap.js → 17.6d03BJLb.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{18.zoiizAsW.js → 18.CM33t09k.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{20.CoHO1HOa.js → 20.CTfAGKY8.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{24.CEKN07pd.js → 24.gbalekQI.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{25.Cwb6--dQ.js → 25.CUYXHGZQ.js} +2 -2
- package/studio-dist/client/_app/immutable/nodes/{26.Lt0faqC6.js → 26.DaT-erMX.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{3.B4gGiXCv.js → 3.Bl3u2QNH.js} +1 -1
- package/studio-dist/client/_app/version.json +1 -1
- package/studio-dist/server/chunks/{0-D492ZtLZ.js → 0-iQog_Q7O.js} +3 -3
- package/studio-dist/server/chunks/1-D0-5ZoM9.js +9 -0
- package/studio-dist/server/chunks/{15-_ji0trMb.js → 15-C1BQfRbn.js} +3 -3
- package/studio-dist/server/chunks/{16-C4W_wEat.js → 16-BIwQxeLP.js} +3 -3
- package/studio-dist/server/chunks/{17-CSC6zbrz.js → 17-Ci0nDFMc.js} +3 -3
- package/studio-dist/server/chunks/{18-C2UBZ4V7.js → 18-BEbdGLv7.js} +3 -3
- package/studio-dist/server/chunks/{20-CNZGgA51.js → 20-BSxReeY9.js} +3 -3
- package/studio-dist/server/chunks/{24-B8s6AtWt.js → 24-B4eSvYun.js} +3 -3
- package/studio-dist/server/chunks/{25-Di0-174f.js → 25-BHYImkbu.js} +11 -5
- package/studio-dist/server/chunks/{26-DGkp0hxy.js → 26-BaLNclci.js} +3 -3
- package/studio-dist/server/chunks/{3-CEb1rGjJ.js → 3-DP1YwzKZ.js} +3 -3
- package/studio-dist/server/chunks/{_layout.svelte-C0RSslbi.js → _layout.svelte-CXcQXiPw.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-C0QIgqPi.js → _page.svelte-BJhdT1xo.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BAwlyy44.js → _page.svelte-C8MvvhDl.js} +6 -6
- package/studio-dist/server/chunks/{_page.svelte-CP0byoZO.js → _page.svelte-CUc9hMC2.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-C40Bsi56.js → _page.svelte-CcR2pipu.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-T7MO2lut.js → _page.svelte-DT6L8fi-.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-DY7LWEWR.js → _page.svelte-DVXuBMYJ.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-B7R6qlgh.js → _page.svelte-DVmyt3oT.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-DJNirg5z.js → _page.svelte-ZZBX7G_a.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-CVdA59EL.js → _page.svelte-pXEhbkk5.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-D_j7aSy5.js → _server.ts-BaNx2iKe.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-QEZF8h2q.js → _server.ts-CsFgN0Xw.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-B3JGyMja.js → _server.ts-Cujskg9G.js} +2 -2
- package/studio-dist/server/chunks/{_server.ts-BcRFsyo3.js → _server.ts-DlYk1cV4.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-CEWpIFrj.js → _server.ts-dhfnFFsl.js} +3 -3
- package/studio-dist/server/chunks/{client-DrGEAduo.js → client-ehhxwKiq.js} +2 -2
- package/studio-dist/server/chunks/{error.svelte-DeRv5HBj.js → error.svelte-Cte5aSRY.js} +3 -3
- package/studio-dist/server/chunks/{http-DT5kxaWk.js → http-xrUffxJm.js} +2 -2
- package/studio-dist/server/chunks/{internal-kNAGyHP7.js → internal-UfUOVFGU.js} +2 -2
- package/studio-dist/server/chunks/{operations-registry-DdzmYzqX.js → operations-registry-ISk1IH0d.js} +137 -13
- package/studio-dist/server/chunks/{stores-rrym85hH.js → stores-Cupp8SE_.js} +2 -2
- package/studio-dist/server/index.js +1 -1
- package/studio-dist/server/manifest.js +17 -17
- package/studio-dist/client/_app/immutable/chunks/C_VOVxzB.js +0 -3
- package/studio-dist/client/_app/immutable/chunks/CeoYoLtR.js +0 -1
- package/studio-dist/client/_app/immutable/entry/start.DLcr-ZJ4.js +0 -1
- package/studio-dist/server/chunks/1-DNs7J9vH.js +0 -9
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
})();
|
|
16
16
|
import {
|
|
17
17
|
dispatchFromCli
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-V72T73VU.js";
|
|
19
19
|
import "./chunk-6N6WGLXE.js";
|
|
20
20
|
import "./chunk-4VASFLUW.js";
|
|
21
21
|
import {
|
|
@@ -25,7 +25,7 @@ import "./chunk-QKMBWYAS.js";
|
|
|
25
25
|
import "./chunk-4RGSNUUP.js";
|
|
26
26
|
import "./chunk-6JSJNYH2.js";
|
|
27
27
|
import "./chunk-D7BAQNV2.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-YM7SWWQX.js";
|
|
29
29
|
|
|
30
30
|
// packages/cleo/src/cli/commands/detect.ts
|
|
31
31
|
var detectCommand = defineCommand({
|
|
@@ -43,4 +43,4 @@ var detectCommand = defineCommand({
|
|
|
43
43
|
export {
|
|
44
44
|
detectCommand
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=detect-
|
|
46
|
+
//# sourceMappingURL=detect-FUC5Y647.js.map
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
} from "./chunk-47JYZAMS.js";
|
|
19
19
|
import {
|
|
20
20
|
dispatchFromCli
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-V72T73VU.js";
|
|
22
22
|
import "./chunk-6N6WGLXE.js";
|
|
23
23
|
import "./chunk-4VASFLUW.js";
|
|
24
24
|
import {
|
|
@@ -29,7 +29,7 @@ import "./chunk-QKMBWYAS.js";
|
|
|
29
29
|
import "./chunk-4RGSNUUP.js";
|
|
30
30
|
import "./chunk-6JSJNYH2.js";
|
|
31
31
|
import "./chunk-D7BAQNV2.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-YM7SWWQX.js";
|
|
33
33
|
|
|
34
34
|
// packages/cleo/src/cli/commands/diagnostics.ts
|
|
35
35
|
var enableCommand = defineCommand({
|
|
@@ -130,4 +130,4 @@ var diagnosticsCommand = defineCommand({
|
|
|
130
130
|
export {
|
|
131
131
|
diagnosticsCommand
|
|
132
132
|
};
|
|
133
|
-
//# sourceMappingURL=diagnostics-
|
|
133
|
+
//# sourceMappingURL=diagnostics-SE2GUEIQ.js.map
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
dispatchFromCli,
|
|
26
26
|
dispatchRaw,
|
|
27
27
|
handleRawError
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-V72T73VU.js";
|
|
29
29
|
import "./chunk-6N6WGLXE.js";
|
|
30
30
|
import {
|
|
31
31
|
resolve
|
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
} from "./chunk-4RGSNUUP.js";
|
|
50
50
|
import "./chunk-6JSJNYH2.js";
|
|
51
51
|
import "./chunk-D7BAQNV2.js";
|
|
52
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-YM7SWWQX.js";
|
|
53
53
|
|
|
54
54
|
// packages/cleo/src/cli/commands/docs.ts
|
|
55
55
|
import { appendFile, mkdir as mkdir3, readdir, readFile as readFile2, writeFile as writeFile2 } from "node:fs/promises";
|
|
@@ -2679,6 +2679,45 @@ var checkCommand = defineCommand({
|
|
|
2679
2679
|
}
|
|
2680
2680
|
}
|
|
2681
2681
|
});
|
|
2682
|
+
function parseOlderThanDays(raw) {
|
|
2683
|
+
if (raw === void 0) return void 0;
|
|
2684
|
+
const parsed = Number(raw);
|
|
2685
|
+
if (!Number.isFinite(parsed) || parsed < 0) {
|
|
2686
|
+
cliError(`--older-than-days must be a non-negative number, got '${raw}'`, 6, {
|
|
2687
|
+
name: "E_VALIDATION"
|
|
2688
|
+
});
|
|
2689
|
+
process.exit(6);
|
|
2690
|
+
}
|
|
2691
|
+
return Math.floor(parsed);
|
|
2692
|
+
}
|
|
2693
|
+
var doctorCommand = defineCommand({
|
|
2694
|
+
meta: {
|
|
2695
|
+
name: "doctor",
|
|
2696
|
+
description: "Docs store health diagnostics + safe repairs: dangling local-file pointers, docVersion skew vs the audit log, empty topics/related_tasks provenance, docs_wikilinks drift, legacy store surfaces, stale drafts. Dry-run by default; --apply executes repairs (a fresh backup is created automatically first)."
|
|
2697
|
+
},
|
|
2698
|
+
args: {
|
|
2699
|
+
apply: {
|
|
2700
|
+
type: "boolean",
|
|
2701
|
+
description: "Execute the repairs (default: dry-run plan only)"
|
|
2702
|
+
},
|
|
2703
|
+
"older-than-days": {
|
|
2704
|
+
type: "string",
|
|
2705
|
+
description: "Age threshold in days for the stale-drafts check (default 30)"
|
|
2706
|
+
},
|
|
2707
|
+
...docsOutputArgs
|
|
2708
|
+
},
|
|
2709
|
+
async run({ args }) {
|
|
2710
|
+
const apply = args.apply === true;
|
|
2711
|
+
const olderThanDays = parseOlderThanDays(args["older-than-days"]);
|
|
2712
|
+
await dispatchFromCli(
|
|
2713
|
+
apply ? "mutate" : "query",
|
|
2714
|
+
"docs",
|
|
2715
|
+
"doctor",
|
|
2716
|
+
{ apply, ...olderThanDays !== void 0 ? { olderThanDays } : {} },
|
|
2717
|
+
{ command: "docs doctor" }
|
|
2718
|
+
);
|
|
2719
|
+
}
|
|
2720
|
+
});
|
|
2682
2721
|
var syncCommand = defineCommand({
|
|
2683
2722
|
meta: {
|
|
2684
2723
|
name: "sync",
|
|
@@ -3048,6 +3087,8 @@ var docsCommand = defineCommand({
|
|
|
3048
3087
|
// T11136 — Unified drift management (consolidates sync/status/gap-check)
|
|
3049
3088
|
check: checkCommand,
|
|
3050
3089
|
// Canonical six-verb path (add, update, fetch, list, remove, publish)
|
|
3090
|
+
// T13447 — store health diagnostics + safe repairs
|
|
3091
|
+
doctor: doctorCommand,
|
|
3051
3092
|
add: addCommand,
|
|
3052
3093
|
update: updateCommand,
|
|
3053
3094
|
fetch: fetchCommand,
|
|
@@ -3095,4 +3136,4 @@ export {
|
|
|
3095
3136
|
_llmOutputCommand,
|
|
3096
3137
|
docsCommand
|
|
3097
3138
|
};
|
|
3098
|
-
//# sourceMappingURL=docs-
|
|
3139
|
+
//# sourceMappingURL=docs-CR46FNQN.js.map
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
} from "./chunk-QWNKLLLG.js";
|
|
22
22
|
import {
|
|
23
23
|
lazyOperation
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-YM7SWWQX.js";
|
|
25
25
|
import {
|
|
26
26
|
dispatchMeta,
|
|
27
27
|
handleErrorResult,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
// packages/cleo/src/dispatch/domains/docs.ts
|
|
32
32
|
import { randomUUID } from "node:crypto";
|
|
33
33
|
import { readFile } from "node:fs/promises";
|
|
34
|
-
import { resolve } from "node:path";
|
|
34
|
+
import { join, resolve } from "node:path";
|
|
35
35
|
import { DocKindRegistry } from "@cleocode/contracts/docs-taxonomy.js";
|
|
36
36
|
import { LLM_OUTPUT_MODES } from "@cleocode/contracts/operations/docs";
|
|
37
37
|
import { parseChangesetFrontmatter } from "@cleocode/core/changesets/parse-frontmatter";
|
|
@@ -101,6 +101,12 @@ var resolveAttachmentBackend = lazyOperation(
|
|
|
101
101
|
var runDocsImport = lazyOperation(
|
|
102
102
|
async () => (await import("@cleocode/core/docs/import/import-orchestrator")).runDocsImport
|
|
103
103
|
);
|
|
104
|
+
var runDocsDoctor = lazyOperation(
|
|
105
|
+
async () => (await import("@cleocode/core/docs/doctor")).runDocsDoctor
|
|
106
|
+
);
|
|
107
|
+
var createSystemBackup = lazyOperation(
|
|
108
|
+
async () => (await import("@cleocode/core/system/backup")).createBackup
|
|
109
|
+
);
|
|
104
110
|
var searchAllProjectDocs = lazyOperation(
|
|
105
111
|
async () => (await import("@cleocode/core/docs/docs-ops")).searchAllProjectDocs
|
|
106
112
|
);
|
|
@@ -516,6 +522,37 @@ var _docsTypedHandler = defineTypedHandler("docs", {
|
|
|
516
522
|
"fetch"
|
|
517
523
|
);
|
|
518
524
|
},
|
|
525
|
+
// ── docs.doctor ────────────────────────────────────────────────────────────
|
|
526
|
+
doctor: async (params) => {
|
|
527
|
+
const apply = params.apply === true;
|
|
528
|
+
const projectRoot = getProjectRoot();
|
|
529
|
+
let backupReceiptPath;
|
|
530
|
+
if (apply) {
|
|
531
|
+
const backup = await createSystemBackup(projectRoot, {
|
|
532
|
+
type: "snapshot",
|
|
533
|
+
note: "docs doctor pre-repair (T13447)"
|
|
534
|
+
});
|
|
535
|
+
const STORE_FILE = "cleo.db";
|
|
536
|
+
if (!backup.files.includes(STORE_FILE)) {
|
|
537
|
+
return lafsError(
|
|
538
|
+
"E_DOCS_DOCTOR_BACKUP_FAILED",
|
|
539
|
+
// @sync-invariant none:input-shape a precondition refusal before any repair write; nothing was written
|
|
540
|
+
"backup did not capture the project store \u2014 refusing to apply repairs",
|
|
541
|
+
"doctor"
|
|
542
|
+
);
|
|
543
|
+
}
|
|
544
|
+
backupReceiptPath = join(backup.path, `${STORE_FILE}.${backup.backupId}`);
|
|
545
|
+
}
|
|
546
|
+
const result = await runDocsDoctor(projectRoot, {
|
|
547
|
+
apply,
|
|
548
|
+
...params.olderThanDays !== void 0 ? { olderThanDays: params.olderThanDays } : {},
|
|
549
|
+
...backupReceiptPath !== void 0 ? { backupReceiptPath } : {}
|
|
550
|
+
});
|
|
551
|
+
if (!result.ok) {
|
|
552
|
+
return lafsError(result.error.code, result.error.message, "doctor");
|
|
553
|
+
}
|
|
554
|
+
return lafsSuccess(result.report, "doctor");
|
|
555
|
+
},
|
|
519
556
|
// ── docs.add ───────────────────────────────────────────────────────────────
|
|
520
557
|
add: async (params) => {
|
|
521
558
|
const {
|
|
@@ -1372,7 +1409,8 @@ var QUERY_OPS = /* @__PURE__ */ new Set([
|
|
|
1372
1409
|
"rank",
|
|
1373
1410
|
"versions",
|
|
1374
1411
|
"status",
|
|
1375
|
-
"audit"
|
|
1412
|
+
"audit",
|
|
1413
|
+
"doctor"
|
|
1376
1414
|
]);
|
|
1377
1415
|
var MUTATE_OPS = /* @__PURE__ */ new Set([
|
|
1378
1416
|
"add",
|
|
@@ -1382,7 +1420,8 @@ var MUTATE_OPS = /* @__PURE__ */ new Set([
|
|
|
1382
1420
|
"publish",
|
|
1383
1421
|
"publish-pr",
|
|
1384
1422
|
"sync",
|
|
1385
|
-
"import"
|
|
1423
|
+
"import",
|
|
1424
|
+
"doctor"
|
|
1386
1425
|
]);
|
|
1387
1426
|
async function dispatchDocsLegacyQuery(operation, params) {
|
|
1388
1427
|
const projectRoot = getProjectRoot();
|
|
@@ -1667,13 +1706,24 @@ var DocsHandler = class {
|
|
|
1667
1706
|
"rank",
|
|
1668
1707
|
"versions",
|
|
1669
1708
|
"status",
|
|
1670
|
-
"audit"
|
|
1709
|
+
"audit",
|
|
1710
|
+
"doctor"
|
|
1671
1711
|
],
|
|
1672
|
-
mutate: [
|
|
1712
|
+
mutate: [
|
|
1713
|
+
"add",
|
|
1714
|
+
"remove",
|
|
1715
|
+
"update",
|
|
1716
|
+
"supersede",
|
|
1717
|
+
"publish",
|
|
1718
|
+
"publish-pr",
|
|
1719
|
+
"sync",
|
|
1720
|
+
"import",
|
|
1721
|
+
"doctor"
|
|
1722
|
+
]
|
|
1673
1723
|
};
|
|
1674
1724
|
}
|
|
1675
1725
|
};
|
|
1676
1726
|
export {
|
|
1677
1727
|
DocsHandler
|
|
1678
1728
|
};
|
|
1679
|
-
//# sourceMappingURL=docs-
|
|
1729
|
+
//# sourceMappingURL=docs-DNNQIKRX.js.map
|
|
@@ -16,6 +16,12 @@
|
|
|
16
16
|
import {
|
|
17
17
|
createDoctorProgress
|
|
18
18
|
} from "./chunk-W3JLYKKY.js";
|
|
19
|
+
import {
|
|
20
|
+
readMigrationConflicts
|
|
21
|
+
} from "./chunk-IIOGUY3B.js";
|
|
22
|
+
import {
|
|
23
|
+
doctorSplitBrainCommand
|
|
24
|
+
} from "./chunk-7ACK4EIN.js";
|
|
19
25
|
import {
|
|
20
26
|
doctorSupersededStoreCommand
|
|
21
27
|
} from "./chunk-U3RT24TC.js";
|
|
@@ -25,6 +31,9 @@ import {
|
|
|
25
31
|
import {
|
|
26
32
|
doctorSyncTriggersCommand
|
|
27
33
|
} from "./chunk-ILWWL462.js";
|
|
34
|
+
import {
|
|
35
|
+
doctorSystemCommand
|
|
36
|
+
} from "./chunk-DICDL2YM.js";
|
|
28
37
|
import {
|
|
29
38
|
doctorToolLocksCommand
|
|
30
39
|
} from "./chunk-LLDYX63U.js";
|
|
@@ -35,8 +44,8 @@ import {
|
|
|
35
44
|
doctorWorktreeStoresCommand
|
|
36
45
|
} from "./chunk-BQK6XTOH.js";
|
|
37
46
|
import {
|
|
38
|
-
|
|
39
|
-
} from "./chunk-
|
|
47
|
+
doctorNexusResidencyCommand
|
|
48
|
+
} from "./chunk-XA5WISNV.js";
|
|
40
49
|
import {
|
|
41
50
|
doctorProjectIdentityCommand
|
|
42
51
|
} from "./chunk-PN4WW5VX.js";
|
|
@@ -59,8 +68,8 @@ import {
|
|
|
59
68
|
doctorSkillFixturesCommand
|
|
60
69
|
} from "./chunk-T6GZJYL3.js";
|
|
61
70
|
import {
|
|
62
|
-
|
|
63
|
-
} from "./chunk-
|
|
71
|
+
doctorGlobalDeliveryCommand
|
|
72
|
+
} from "./chunk-HFLLZE6A.js";
|
|
64
73
|
import {
|
|
65
74
|
doctorHeavyCommandHookCommand
|
|
66
75
|
} from "./chunk-COXFJ3PT.js";
|
|
@@ -83,8 +92,8 @@ import {
|
|
|
83
92
|
doctorMigrationsCommand
|
|
84
93
|
} from "./chunk-7UARFJYS.js";
|
|
85
94
|
import {
|
|
86
|
-
|
|
87
|
-
} from "./chunk-
|
|
95
|
+
doctorAcBindingsCommand
|
|
96
|
+
} from "./chunk-CHGEDCKG.js";
|
|
88
97
|
import {
|
|
89
98
|
doctorAcceptanceDriftCommand
|
|
90
99
|
} from "./chunk-TLQ37HRE.js";
|
|
@@ -106,12 +115,6 @@ import {
|
|
|
106
115
|
import {
|
|
107
116
|
doctorFkCheckCommand
|
|
108
117
|
} from "./chunk-FSKN4DWC.js";
|
|
109
|
-
import {
|
|
110
|
-
doctorGlobalDeliveryCommand
|
|
111
|
-
} from "./chunk-HFLLZE6A.js";
|
|
112
|
-
import {
|
|
113
|
-
doctorAcBindingsCommand
|
|
114
|
-
} from "./chunk-CHGEDCKG.js";
|
|
115
118
|
import "./chunk-47JYZAMS.js";
|
|
116
119
|
import "./chunk-C3B7C43W.js";
|
|
117
120
|
import {
|
|
@@ -120,7 +123,7 @@ import {
|
|
|
120
123
|
import {
|
|
121
124
|
dispatchFromCli,
|
|
122
125
|
dispatchRaw
|
|
123
|
-
} from "./chunk-
|
|
126
|
+
} from "./chunk-V72T73VU.js";
|
|
124
127
|
import "./chunk-6N6WGLXE.js";
|
|
125
128
|
import "./chunk-4VASFLUW.js";
|
|
126
129
|
import {
|
|
@@ -134,7 +137,7 @@ import {
|
|
|
134
137
|
} from "./chunk-4RGSNUUP.js";
|
|
135
138
|
import "./chunk-6JSJNYH2.js";
|
|
136
139
|
import "./chunk-D7BAQNV2.js";
|
|
137
|
-
import "./chunk-
|
|
140
|
+
import "./chunk-YM7SWWQX.js";
|
|
138
141
|
|
|
139
142
|
// packages/cleo/src/cli/commands/doctor.ts
|
|
140
143
|
import { mkdirSync, writeFileSync } from "node:fs";
|
|
@@ -515,6 +518,8 @@ var doctorCommand = defineCommand({
|
|
|
515
518
|
"worktree-stores": doctorWorktreeStoresCommand,
|
|
516
519
|
// T12097 — machine-wide guard for test runs started OUTSIDE cleo verify
|
|
517
520
|
"memory-guard": doctorMemoryGuardCommand,
|
|
521
|
+
// T13435 — machine + project health: ranked findings with exact remedies (read-only)
|
|
522
|
+
system: doctorSystemCommand,
|
|
518
523
|
// T13124 — the heavy-command hook per agent harness in use (+ --fix installs it)
|
|
519
524
|
"heavy-command-hook": doctorHeavyCommandHookCommand,
|
|
520
525
|
// T12353 · T12716 — tracked .cleo/project.json / project-id vs project-info.json (+ --resolve migrate / re-key)
|
|
@@ -1267,4 +1272,4 @@ Dependency cycles: check skipped (${msg})`);
|
|
|
1267
1272
|
export {
|
|
1268
1273
|
doctorCommand
|
|
1269
1274
|
};
|
|
1270
|
-
//# sourceMappingURL=doctor-
|
|
1275
|
+
//# sourceMappingURL=doctor-5T4SOSJT.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
doctorSystemCommand
|
|
18
|
+
} from "./chunk-DICDL2YM.js";
|
|
19
|
+
import "./chunk-C3B7C43W.js";
|
|
20
|
+
import "./chunk-PKKZPOOP.js";
|
|
21
|
+
import "./chunk-4RGSNUUP.js";
|
|
22
|
+
import "./chunk-6JSJNYH2.js";
|
|
23
|
+
export {
|
|
24
|
+
doctorSystemCommand
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=doctor-system-HN7KUBUO.js.map
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
import {
|
|
17
17
|
completeCommandArgs,
|
|
18
18
|
completeDispatchParams
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-FWTSORSA.js";
|
|
20
20
|
import "./chunk-C3B7C43W.js";
|
|
21
21
|
import {
|
|
22
22
|
dispatchRaw
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-V72T73VU.js";
|
|
24
24
|
import "./chunk-6N6WGLXE.js";
|
|
25
25
|
import "./chunk-4VASFLUW.js";
|
|
26
26
|
import {
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
withoutOutputPointer
|
|
36
36
|
} from "./chunk-6JSJNYH2.js";
|
|
37
37
|
import "./chunk-D7BAQNV2.js";
|
|
38
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-YM7SWWQX.js";
|
|
39
39
|
|
|
40
40
|
// packages/cleo/src/cli/commands/done.ts
|
|
41
41
|
async function batchEntry(taskId, result, args) {
|
|
@@ -193,4 +193,4 @@ var doneCommand = defineCommand({
|
|
|
193
193
|
export {
|
|
194
194
|
doneCommand
|
|
195
195
|
};
|
|
196
|
-
//# sourceMappingURL=done-
|
|
196
|
+
//# sourceMappingURL=done-ZSUWISRY.js.map
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
dispatchFromCli,
|
|
18
18
|
dispatchRaw,
|
|
19
19
|
handleRawError
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-V72T73VU.js";
|
|
21
21
|
import "./chunk-6N6WGLXE.js";
|
|
22
22
|
import "./chunk-4VASFLUW.js";
|
|
23
23
|
import {
|
|
@@ -27,7 +27,7 @@ import "./chunk-QKMBWYAS.js";
|
|
|
27
27
|
import "./chunk-4RGSNUUP.js";
|
|
28
28
|
import "./chunk-6JSJNYH2.js";
|
|
29
29
|
import "./chunk-D7BAQNV2.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-YM7SWWQX.js";
|
|
31
31
|
|
|
32
32
|
// packages/cleo/src/cli/commands/export.ts
|
|
33
33
|
var exportCommand = defineCommand({
|
|
@@ -90,4 +90,4 @@ var exportCommand = defineCommand({
|
|
|
90
90
|
export {
|
|
91
91
|
exportCommand
|
|
92
92
|
};
|
|
93
|
-
//# sourceMappingURL=export-
|
|
93
|
+
//# sourceMappingURL=export-VUSCRB5H.js.map
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
dispatchFromCli,
|
|
18
18
|
dispatchRaw,
|
|
19
19
|
handleRawError
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-V72T73VU.js";
|
|
21
21
|
import "./chunk-6N6WGLXE.js";
|
|
22
22
|
import "./chunk-4VASFLUW.js";
|
|
23
23
|
import {
|
|
@@ -27,7 +27,7 @@ import "./chunk-QKMBWYAS.js";
|
|
|
27
27
|
import "./chunk-4RGSNUUP.js";
|
|
28
28
|
import "./chunk-6JSJNYH2.js";
|
|
29
29
|
import "./chunk-D7BAQNV2.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-YM7SWWQX.js";
|
|
31
31
|
|
|
32
32
|
// packages/cleo/src/cli/commands/export-tasks.ts
|
|
33
33
|
var exportTasksCommand = defineCommand({
|
|
@@ -94,4 +94,4 @@ var exportTasksCommand = defineCommand({
|
|
|
94
94
|
export {
|
|
95
95
|
exportTasksCommand
|
|
96
96
|
};
|
|
97
|
-
//# sourceMappingURL=export-tasks-
|
|
97
|
+
//# sourceMappingURL=export-tasks-5OFFZTAW.js.map
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
dispatchRaw,
|
|
18
18
|
handleRawError,
|
|
19
19
|
maybeEmitDescribe
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-V72T73VU.js";
|
|
21
21
|
import "./chunk-6N6WGLXE.js";
|
|
22
22
|
import "./chunk-4VASFLUW.js";
|
|
23
23
|
import {
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
} from "./chunk-4RGSNUUP.js";
|
|
30
30
|
import "./chunk-6JSJNYH2.js";
|
|
31
31
|
import "./chunk-D7BAQNV2.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-YM7SWWQX.js";
|
|
33
33
|
|
|
34
34
|
// packages/cleo/src/cli/commands/find.ts
|
|
35
35
|
import { ExitCode } from "@cleocode/contracts/exit-codes.js";
|
|
@@ -175,4 +175,4 @@ var findCommand = defineCommand({
|
|
|
175
175
|
export {
|
|
176
176
|
findCommand
|
|
177
177
|
};
|
|
178
|
-
//# sourceMappingURL=find-
|
|
178
|
+
//# sourceMappingURL=find-IO57ZCAV.js.map
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
})();
|
|
16
16
|
import {
|
|
17
17
|
dispatchFromCli
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-V72T73VU.js";
|
|
19
19
|
import "./chunk-6N6WGLXE.js";
|
|
20
20
|
import "./chunk-4VASFLUW.js";
|
|
21
21
|
import {
|
|
@@ -25,7 +25,7 @@ import "./chunk-QKMBWYAS.js";
|
|
|
25
25
|
import "./chunk-4RGSNUUP.js";
|
|
26
26
|
import "./chunk-6JSJNYH2.js";
|
|
27
27
|
import "./chunk-D7BAQNV2.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-YM7SWWQX.js";
|
|
29
29
|
|
|
30
30
|
// packages/cleo/src/cli/commands/focus.ts
|
|
31
31
|
var focusCommand = defineCommand({
|
|
@@ -53,4 +53,4 @@ var focusCommand = defineCommand({
|
|
|
53
53
|
export {
|
|
54
54
|
focusCommand
|
|
55
55
|
};
|
|
56
|
-
//# sourceMappingURL=focus-
|
|
56
|
+
//# sourceMappingURL=focus-BHZPAPVM.js.map
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
})();
|
|
16
16
|
import {
|
|
17
17
|
dispatchFromCli
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-V72T73VU.js";
|
|
19
19
|
import "./chunk-6N6WGLXE.js";
|
|
20
20
|
import "./chunk-4VASFLUW.js";
|
|
21
21
|
import {
|
|
@@ -25,7 +25,7 @@ import "./chunk-QKMBWYAS.js";
|
|
|
25
25
|
import "./chunk-4RGSNUUP.js";
|
|
26
26
|
import "./chunk-6JSJNYH2.js";
|
|
27
27
|
import "./chunk-D7BAQNV2.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-YM7SWWQX.js";
|
|
29
29
|
|
|
30
30
|
// packages/cleo/src/cli/commands/grade.ts
|
|
31
31
|
var gradeCommand = defineCommand({
|
|
@@ -54,4 +54,4 @@ var gradeCommand = defineCommand({
|
|
|
54
54
|
export {
|
|
55
55
|
gradeCommand
|
|
56
56
|
};
|
|
57
|
-
//# sourceMappingURL=grade-
|
|
57
|
+
//# sourceMappingURL=grade-BTQY5Y66.js.map
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import {
|
|
17
17
|
dispatchFromCli,
|
|
18
18
|
dispatchRaw
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-V72T73VU.js";
|
|
20
20
|
import "./chunk-6N6WGLXE.js";
|
|
21
21
|
import "./chunk-4VASFLUW.js";
|
|
22
22
|
import {
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
setFormatContext
|
|
35
35
|
} from "./chunk-6JSJNYH2.js";
|
|
36
36
|
import "./chunk-D7BAQNV2.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-YM7SWWQX.js";
|
|
38
38
|
|
|
39
39
|
// packages/cleo/src/cli/commands/graph.ts
|
|
40
40
|
import path from "node:path";
|
|
@@ -876,4 +876,4 @@ var graphCommand = defineCommand({
|
|
|
876
876
|
export {
|
|
877
877
|
graphCommand
|
|
878
878
|
};
|
|
879
|
-
//# sourceMappingURL=graph-
|
|
879
|
+
//# sourceMappingURL=graph-6PQZQCM5.js.map
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
})();
|
|
16
16
|
import {
|
|
17
17
|
dispatchFromCli
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-V72T73VU.js";
|
|
19
19
|
import "./chunk-6N6WGLXE.js";
|
|
20
20
|
import "./chunk-4VASFLUW.js";
|
|
21
21
|
import {
|
|
@@ -26,7 +26,7 @@ import "./chunk-QKMBWYAS.js";
|
|
|
26
26
|
import "./chunk-4RGSNUUP.js";
|
|
27
27
|
import "./chunk-6JSJNYH2.js";
|
|
28
28
|
import "./chunk-D7BAQNV2.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-YM7SWWQX.js";
|
|
30
30
|
|
|
31
31
|
// packages/cleo/src/cli/commands/history.ts
|
|
32
32
|
var logCommand = defineCommand({
|
|
@@ -135,4 +135,4 @@ var historyCommand = defineCommand({
|
|
|
135
135
|
export {
|
|
136
136
|
historyCommand
|
|
137
137
|
};
|
|
138
|
-
//# sourceMappingURL=history-
|
|
138
|
+
//# sourceMappingURL=history-B2FQPJ7F.js.map
|
|
@@ -37,13 +37,31 @@ var heavyCommandSubcommand = defineCommand({
|
|
|
37
37
|
process.exitCode = await runHookCli(["heavy-command", "--provider", provider]);
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
|
+
var askEnforceSubcommand = defineCommand({
|
|
41
|
+
meta: {
|
|
42
|
+
name: "ask-enforce",
|
|
43
|
+
description: "Stop hook (T13420): block a turn that ends asking the owner in prose without an ask-tool call, and tell the agent to re-ask with its ask tool. Reads the Stop JSON on stdin; prints the harness answer."
|
|
44
|
+
},
|
|
45
|
+
args: {
|
|
46
|
+
provider: {
|
|
47
|
+
type: "string",
|
|
48
|
+
description: "Harness protocol to answer in: claude-code (default), codex, copilot-cli, gemini-cli, cursor, opencode, kimi"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
async run({ args }) {
|
|
52
|
+
const { runHookCli } = await import("./hook-entry.js");
|
|
53
|
+
const provider = typeof args.provider === "string" ? args.provider : "claude-code";
|
|
54
|
+
process.exitCode = await runHookCli(["ask-enforce", "--provider", provider]);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
40
57
|
var hookCommand = defineCommand({
|
|
41
58
|
meta: {
|
|
42
59
|
name: "hook",
|
|
43
|
-
description: "Agent-harness hooks installed by cleo init/upgrade; stdout is the harness hook protocol, not LAFS: cleo hook heavy-command --provider
|
|
60
|
+
description: "Agent-harness hooks installed by cleo init/upgrade; stdout is the harness hook protocol, not LAFS: cleo hook heavy-command|ask-enforce --provider <harness>"
|
|
44
61
|
},
|
|
45
62
|
subCommands: {
|
|
46
|
-
"heavy-command": heavyCommandSubcommand
|
|
63
|
+
"heavy-command": heavyCommandSubcommand,
|
|
64
|
+
"ask-enforce": askEnforceSubcommand
|
|
47
65
|
},
|
|
48
66
|
async run({ cmd, rawArgs }) {
|
|
49
67
|
const firstArg = rawArgs?.find((a) => !a.startsWith("-"));
|
|
@@ -54,4 +72,4 @@ var hookCommand = defineCommand({
|
|
|
54
72
|
export {
|
|
55
73
|
hookCommand
|
|
56
74
|
};
|
|
57
|
-
//# sourceMappingURL=hook-
|
|
75
|
+
//# sourceMappingURL=hook-BNQLJ3IB.js.map
|
package/dist/cli/hook-entry.js
CHANGED
|
@@ -546,15 +546,41 @@ function claudePreApprovalVerdict(command, cwd, env, core, ctx) {
|
|
|
546
546
|
const verdict = core.claudePreApproval(command, rules.patterns, { cwd, workingDir: projectDir });
|
|
547
547
|
return verdict.approved ? verdict : { approved: false, reason: `it is not pre-approved: ${verdict.reason}` };
|
|
548
548
|
}
|
|
549
|
-
var USAGE = "usage: cleo hook heavy-command [--provider claude-code|codex|kimi|opencode] < hook-input.json\n";
|
|
549
|
+
var USAGE = "usage: cleo hook heavy-command [--provider claude-code|codex|kimi|opencode] < hook-input.json\n cleo hook ask-enforce [--provider claude-code|codex|copilot-cli|gemini-cli|cursor|opencode|kimi] < stop-input.json\n";
|
|
550
|
+
function providerArg(rest) {
|
|
551
|
+
const flag = rest.findIndex((a) => a === "--provider" || a.startsWith("--provider="));
|
|
552
|
+
return flag === -1 ? "claude-code" : rest[flag]?.split("=")[1] ?? rest[flag + 1];
|
|
553
|
+
}
|
|
554
|
+
async function runAskEnforce(rest, io) {
|
|
555
|
+
const entry = await import("./ask-enforce-entry-ZYO5MVS6.js");
|
|
556
|
+
const value = providerArg(rest);
|
|
557
|
+
const provider = entry.ASK_ENFORCE_PROVIDERS.find((p) => p === value);
|
|
558
|
+
if (provider === void 0) {
|
|
559
|
+
io.writeStderr(USAGE);
|
|
560
|
+
return 1;
|
|
561
|
+
}
|
|
562
|
+
try {
|
|
563
|
+
const lookup = await entry.caampAskToolLookup();
|
|
564
|
+
const answer = await entry.askEnforceHook(provider, await io.readStdin(), io.env, lookup);
|
|
565
|
+
if (answer.stdout !== "") io.writeStdout(answer.stdout);
|
|
566
|
+
if (answer.stderr !== "") io.writeStderr(answer.stderr);
|
|
567
|
+
return answer.exitCode;
|
|
568
|
+
} catch (err) {
|
|
569
|
+
io.writeStderr(
|
|
570
|
+
`[cleo hook] ask-enforce skipped: ${err instanceof Error ? err.message : String(err)}
|
|
571
|
+
`
|
|
572
|
+
);
|
|
573
|
+
return 0;
|
|
574
|
+
}
|
|
575
|
+
}
|
|
550
576
|
async function runHookCli(argv, io = processHookIo()) {
|
|
551
577
|
const [name, ...rest] = argv;
|
|
578
|
+
if (name === "ask-enforce") return runAskEnforce(rest, io);
|
|
552
579
|
if (name !== "heavy-command") {
|
|
553
580
|
io.writeStderr(USAGE);
|
|
554
581
|
return 1;
|
|
555
582
|
}
|
|
556
|
-
const
|
|
557
|
-
const value = flag === -1 ? "claude-code" : rest[flag]?.split("=")[1] ?? rest[flag + 1];
|
|
583
|
+
const value = providerArg(rest);
|
|
558
584
|
const provider = HEAVY_HOOK_PROVIDERS.find((p) => p === value);
|
|
559
585
|
if (provider === void 0) {
|
|
560
586
|
io.writeStderr(USAGE);
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
})();
|
|
16
16
|
import {
|
|
17
17
|
dispatchFromCli
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-V72T73VU.js";
|
|
19
19
|
import "./chunk-6N6WGLXE.js";
|
|
20
20
|
import "./chunk-4VASFLUW.js";
|
|
21
21
|
import {
|
|
@@ -26,7 +26,7 @@ import "./chunk-QKMBWYAS.js";
|
|
|
26
26
|
import "./chunk-4RGSNUUP.js";
|
|
27
27
|
import "./chunk-6JSJNYH2.js";
|
|
28
28
|
import "./chunk-D7BAQNV2.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-YM7SWWQX.js";
|
|
30
30
|
|
|
31
31
|
// packages/cleo/src/cli/commands/import.ts
|
|
32
32
|
var importCommand = defineCommand({
|
|
@@ -86,4 +86,4 @@ var importCommand = defineCommand({
|
|
|
86
86
|
export {
|
|
87
87
|
importCommand
|
|
88
88
|
};
|
|
89
|
-
//# sourceMappingURL=import-
|
|
89
|
+
//# sourceMappingURL=import-P3PCQ7RG.js.map
|