@cleocode/cleo 2026.10.8 → 2026.10.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/bin/cleo.js +9 -0
  2. package/dist/cli/{adapter-CJUZSXBA.js → adapter-GDM2AKLR.js} +3 -3
  3. package/dist/cli/{add-T66ILGKK.js → add-KB753M5X.js} +3 -3
  4. package/dist/cli/{add-batch-DEYCTR2Z.js → add-batch-E75D6YTI.js} +3 -3
  5. package/dist/cli/{admin-73MG7LAS.js → admin-2QQCZIW7.js} +3 -3
  6. package/dist/cli/{admin-3WA33TW4.js → admin-YSKKVF3L.js} +5 -5
  7. package/dist/cli/{adr-N4VVNKYB.js → adr-UMPRIZIB.js} +3 -3
  8. package/dist/cli/{analyze-H2BLBQWF.js → analyze-R4TV7YQ2.js} +3 -3
  9. package/dist/cli/{archive-QHBLYODR.js → archive-QZHTAEPV.js} +3 -3
  10. package/dist/cli/{archive-stats-Q6H6ZFSG.js → archive-stats-GA4ZUWKG.js} +3 -3
  11. package/dist/cli/{attention-YBJI3WYQ.js → attention-O55SETPZ.js} +3 -3
  12. package/dist/cli/{backup-DSZLYUH6.js → backup-TTDK7IOM.js} +3 -3
  13. package/dist/cli/{blockers-M6MVTIVB.js → blockers-EKLFYTJO.js} +3 -3
  14. package/dist/cli/{briefing-5NFD2GD5.js → briefing-5XRHHLAA.js} +3 -3
  15. package/dist/cli/{cancel-WOEDIY2T.js → cancel-ZVN2BAGV.js} +3 -3
  16. package/dist/cli/{check-ROHPOXED.js → check-52ZTN67R.js} +6 -5
  17. package/dist/cli/{check-WLUNOQVL.js → check-YI6QVOBW.js} +3 -3
  18. package/dist/cli/{chunk-4TUBOOUH.js → chunk-CQYMQIMH.js} +78 -3
  19. package/dist/cli/{chunk-FWTSORSA.js → chunk-CVU2C3ZF.js} +2 -2
  20. package/dist/cli/chunk-IJGR4AY4.js +71 -0
  21. package/dist/cli/{chunk-V72T73VU.js → chunk-J6GFQY5V.js} +2 -2
  22. package/dist/cli/{chunk-YM7SWWQX.js → chunk-YI5O7YZO.js} +12 -12
  23. package/dist/cli/{claim-YKXOKBF2.js → claim-KCDK32SF.js} +3 -3
  24. package/dist/cli/{cli-B4M45YP3.js → cli-MWR6QNIQ.js} +3 -3
  25. package/dist/cli/{cloud-Q4EF25BE.js → cloud-3ET4RUEE.js} +20 -3
  26. package/dist/cli/{complete-L5OOUHNR.js → complete-M7Y4ZEWB.js} +4 -4
  27. package/dist/cli/{complexity-YI4SSAQV.js → complexity-K27YZWBY.js} +3 -3
  28. package/dist/cli/{compliance-NE6GAMII.js → compliance-WBUBA773.js} +3 -3
  29. package/dist/cli/{conduit-P2HBLN3F.js → conduit-RL6V2M76.js} +3 -3
  30. package/dist/cli/{config-L4TAOKTC.js → config-O5FUB6R5.js} +3 -3
  31. package/dist/cli/{consensus-2YQHSOAL.js → consensus-GGREGZHH.js} +3 -3
  32. package/dist/cli/{context-4TMGAKEQ.js → context-D5JSCOCF.js} +3 -3
  33. package/dist/cli/{contribution-GPIBWOCD.js → contribution-UMPLZPRR.js} +3 -3
  34. package/dist/cli/{current-HQ74FPKC.js → current-IEXUTK7F.js} +3 -3
  35. package/dist/cli/{daemon-BXBXQ543.js → daemon-HDYMZL3Z.js} +3 -3
  36. package/dist/cli/{dash-7OTBKSAX.js → dash-B6CRGPBL.js} +3 -3
  37. package/dist/cli/{decompose-QQDHU57R.js → decompose-APS4UY5B.js} +3 -3
  38. package/dist/cli/{decomposition-UHPP47WC.js → decomposition-HEHFZHPO.js} +3 -3
  39. package/dist/cli/{delete-DULSLVKJ.js → delete-7AFONFBH.js} +3 -3
  40. package/dist/cli/{deps-YQBUN2FE.js → deps-DZFAUNGC.js} +3 -3
  41. package/dist/cli/{detect-FUC5Y647.js → detect-X3ONN7BF.js} +3 -3
  42. package/dist/cli/{diagnostics-SE2GUEIQ.js → diagnostics-BOQN5BBE.js} +3 -3
  43. package/dist/cli/{docs-DNNQIKRX.js → docs-5VHYBX3P.js} +4 -4
  44. package/dist/cli/{docs-CR46FNQN.js → docs-DMYQCRZF.js} +3 -3
  45. package/dist/cli/{doctor-UADXJBJS.js → doctor-ZSTYV4FJ.js} +25 -21
  46. package/dist/cli/doctor-hooks-VTASOKQO.js +26 -0
  47. package/dist/cli/{done-ZSUWISRY.js → done-OJNI3I7X.js} +13 -5
  48. package/dist/cli/{export-VUSCRB5H.js → export-LH5UJTJ7.js} +3 -3
  49. package/dist/cli/{export-tasks-5OFFZTAW.js → export-tasks-NONTLPDO.js} +3 -3
  50. package/dist/cli/{find-IO57ZCAV.js → find-PMC7RICN.js} +3 -3
  51. package/dist/cli/{focus-BHZPAPVM.js → focus-B6UAE22J.js} +3 -3
  52. package/dist/cli/{grade-BTQY5Y66.js → grade-K4QVKECD.js} +3 -3
  53. package/dist/cli/{graph-6PQZQCM5.js → graph-ACUZZ6UP.js} +3 -3
  54. package/dist/cli/{history-B2FQPJ7F.js → history-OYXAFZLB.js} +3 -3
  55. package/dist/cli/hook-HFMCKPDG.js +197 -0
  56. package/dist/cli/{import-P3PCQ7RG.js → import-OWNNBXHE.js} +3 -3
  57. package/dist/cli/{import-tasks-VBM3PG3Y.js → import-tasks-ALKVWV7O.js} +3 -3
  58. package/dist/cli/index.js +111 -103
  59. package/dist/cli/{inject-OYEUNYKE.js → inject-CJIGOTU2.js} +3 -3
  60. package/dist/cli/{intelligence-ZDINRJ6L.js → intelligence-PIYYLELR.js} +3 -3
  61. package/dist/cli/{issue-6SLGC2WA.js → issue-SKZ3VYSU.js} +3 -3
  62. package/dist/cli/{labels-3VPUVHTW.js → labels-3UWR5CZ2.js} +3 -3
  63. package/dist/cli/{lifecycle-4OWR4VQA.js → lifecycle-QJYPQVQX.js} +3 -3
  64. package/dist/cli/{list-DEWOUSD4.js → list-S3D56SWR.js} +3 -3
  65. package/dist/cli/{llm-KSUDYWTY.js → llm-XLI6DWAT.js} +3 -3
  66. package/dist/cli/{log-QMVCW2VD.js → log-27LATD6P.js} +3 -3
  67. package/dist/cli/{manifest-7TYRMBFO.js → manifest-RGP3GUSZ.js} +3 -3
  68. package/dist/cli/{map-GYBUA3IZ.js → map-4U4O2FRD.js} +3 -3
  69. package/dist/cli/{memory-LCVEGACN.js → memory-A46L6VUK.js} +3 -3
  70. package/dist/cli/{memory-7ZERUVUK.js → memory-SZX5CXYU.js} +2 -2
  71. package/dist/cli/{migrate-claude-mem-W53LP7RD.js → migrate-claude-mem-XJSLS4OP.js} +3 -3
  72. package/dist/cli/{next-JDP45FHE.js → next-T5FYLKHJ.js} +3 -3
  73. package/dist/cli/{nexus-J2MW66ID.js → nexus-I2CGSEXT.js} +7 -5
  74. package/dist/cli/{nexus-DXUDR7T5.js → nexus-LN7IOBHA.js} +22 -6
  75. package/dist/cli/{nexus-vault-cli-SMFRAY2N.js → nexus-vault-cli-YBWVCYMV.js} +2 -2
  76. package/dist/cli/{ops-UOVT64GJ.js → ops-SS2ETL37.js} +3 -3
  77. package/dist/cli/{orchestrate-C56ZTIG6.js → orchestrate-MTWEN2N4.js} +8 -6
  78. package/dist/cli/{orchestrate-GPC7WBZG.js → orchestrate-WM7A3NMZ.js} +12 -4
  79. package/dist/cli/{phase-MSV7F7EZ.js → phase-OWQYB2PT.js} +3 -3
  80. package/dist/cli/{pipeline-3JC25FGQ.js → pipeline-WTCTZJXY.js} +4 -4
  81. package/dist/cli/{pivot-TKTLDEMJ.js → pivot-WSXRRP4T.js} +3 -3
  82. package/dist/cli/{plan-ZP4SZBUL.js → plan-I7PIDCJO.js} +3 -3
  83. package/dist/cli/{playbook-2IJ5IVEP.js → playbook-V3PPWDX7.js} +3 -3
  84. package/dist/cli/project-hook-entry.js +154 -0
  85. package/dist/cli/{promote-4DRDZIZY.js → promote-VVIZYWTO.js} +3 -3
  86. package/dist/cli/{provenance-576YKBQZ.js → provenance-IJDOBC6P.js} +3 -3
  87. package/dist/cli/{provider-VPO2UI4B.js → provider-EO5GE5HH.js} +3 -3
  88. package/dist/cli/{reason-KCIR3YSC.js → reason-6QLPUQOW.js} +3 -3
  89. package/dist/cli/{reconcile-XQEFK2QH.js → reconcile-FKMX3AC4.js} +3 -3
  90. package/dist/cli/{relates-65SWZNDD.js → relates-LLAMIT46.js} +3 -3
  91. package/dist/cli/{release-G2DPSG5M.js → release-EICHDM6Z.js} +2 -1
  92. package/dist/cli/{release-CSUE26SZ.js → release-SSPADPVW.js} +9 -4
  93. package/dist/cli/{reorder-NTNZKIR5.js → reorder-76DK3VKZ.js} +3 -3
  94. package/dist/cli/{reparent-NECPOOPK.js → reparent-5IWOPJHH.js} +3 -3
  95. package/dist/cli/{req-X33DQCVD.js → req-26OBW454.js} +3 -3
  96. package/dist/cli/{research-26QT4GB2.js → research-R53WZQ7Q.js} +3 -3
  97. package/dist/cli/{restore-EL2CROFY.js → restore-6BRSPY6U.js} +3 -3
  98. package/dist/cli/{roadmap-NUGY2TJE.js → roadmap-2TR2JIB7.js} +3 -3
  99. package/dist/cli/{safestop-4OXO7VRT.js → safestop-VJGPDCGC.js} +3 -3
  100. package/dist/cli/{saga-X3BGSE55.js → saga-WXVQZVYW.js} +3 -3
  101. package/dist/cli/{selfimprove-CAJM5KEM.js → selfimprove-5KCF356T.js} +2 -2
  102. package/dist/cli/{selfimprove-NZ6GXSYP.js → selfimprove-TLFS7LGK.js} +3 -3
  103. package/dist/cli/{sequence-VX5Y6LR4.js → sequence-GS36BKUA.js} +3 -3
  104. package/dist/cli/{service-K3O4J24T.js → service-XI7U5HY4.js} +3 -3
  105. package/dist/cli/{session-RMM7ABRO.js → session-A2P65BNC.js} +4 -4
  106. package/dist/cli/{session-TYKF747R.js → session-G2KJOPAP.js} +3 -3
  107. package/dist/cli/{show-ZO57LWIG.js → show-J2IF6U4J.js} +3 -3
  108. package/dist/cli/{skills-DJMKIDYU.js → skills-IPJJZMB7.js} +3 -3
  109. package/dist/cli/{snapshot-OILJVMMI.js → snapshot-ZMAYKGMZ.js} +3 -3
  110. package/dist/cli/{start-LT6KM7L3.js → start-SREEO3QL.js} +3 -3
  111. package/dist/cli/{stats-VZ7OYS7I.js → stats-DPW6K24D.js} +3 -3
  112. package/dist/cli/{sticky-26RIXY25.js → sticky-MS4WJ253.js} +3 -3
  113. package/dist/cli/{stop-H4URBWYA.js → stop-PDDDU3VP.js} +3 -3
  114. package/dist/cli/{sync-TDTVQPJ6.js → sync-MUWOGGOG.js} +4 -4
  115. package/dist/cli/{tasks-HXZGNHKP.js → tasks-KHNOCRHV.js} +3 -3
  116. package/dist/cli/{tasks-SLUW3NHO.js → tasks-QHI734UM.js} +4 -4
  117. package/dist/cli/{testing-5DAKBB4A.js → testing-P4KPPGDB.js} +3 -3
  118. package/dist/cli/{token-YHUG4KQY.js → token-5GFAWYKG.js} +3 -3
  119. package/dist/cli/{update-VMNQN7TL.js → update-44W5NBWH.js} +3 -3
  120. package/dist/cli/{verify-UPCLWNTM.js → verify-GHM23K5B.js} +11 -5
  121. package/dist/cli/{worktree-EUHVTVTE.js → worktree-7WJNLGTP.js} +3 -3
  122. package/package.json +14 -13
  123. package/studio-dist/client/_app/immutable/chunks/{BNQ7NAhS.js → B_Cm0K23.js} +1 -1
  124. package/studio-dist/client/_app/immutable/chunks/X4B6m7ok.js +1 -0
  125. package/studio-dist/client/_app/immutable/chunks/{DE4_7KWV.js → htIkBo3h.js} +1 -1
  126. package/studio-dist/client/_app/immutable/chunks/{CJYX-yxE.js → yeMtPcjs.js} +1 -1
  127. package/studio-dist/client/_app/immutable/entry/{app.BDFZAgrJ.js → app.D_QHaJ3z.js} +2 -2
  128. package/studio-dist/client/_app/immutable/entry/start.N9rktVuA.js +1 -0
  129. package/studio-dist/client/_app/immutable/nodes/{0.DUDoxE7x.js → 0.BVtAKyoD.js} +1 -1
  130. package/studio-dist/client/_app/immutable/nodes/{1.D0pNMdVv.js → 1.x9_HsgB7.js} +1 -1
  131. package/studio-dist/client/_app/immutable/nodes/{15.PF6pOn8S.js → 15.glZ43ttx.js} +1 -1
  132. package/studio-dist/client/_app/immutable/nodes/{16.C0uHS3zR.js → 16.SxXcT51y.js} +1 -1
  133. package/studio-dist/client/_app/immutable/nodes/{17.DLGeTWI_.js → 17.D96OPsSW.js} +1 -1
  134. package/studio-dist/client/_app/immutable/nodes/{18.DWh3GSs3.js → 18.GfqYk8Uu.js} +1 -1
  135. package/studio-dist/client/_app/immutable/nodes/{20.DMnKjbR5.js → 20.B20_ZVFX.js} +1 -1
  136. package/studio-dist/client/_app/immutable/nodes/{24.F7RprAtp.js → 24.DJCSnDKG.js} +1 -1
  137. package/studio-dist/client/_app/immutable/nodes/{25.4TnJbM1n.js → 25.BPu5r2zq.js} +2 -2
  138. package/studio-dist/client/_app/immutable/nodes/{26.CnoMV-8G.js → 26.D4oX5ton.js} +1 -1
  139. package/studio-dist/client/_app/immutable/nodes/{3.EzmJOiIQ.js → 3.DRXAzDuy.js} +1 -1
  140. package/studio-dist/client/_app/version.json +1 -1
  141. package/studio-dist/server/chunks/{0-BcoF6mVE.js → 0-fXXl4eGQ.js} +3 -3
  142. package/studio-dist/server/chunks/1-C3f4PLaZ.js +9 -0
  143. package/studio-dist/server/chunks/{15-BWgs34kd.js → 15-CeLGpJvD.js} +3 -3
  144. package/studio-dist/server/chunks/{16-BF0TbM9s.js → 16-4MHW1-6T.js} +3 -3
  145. package/studio-dist/server/chunks/{17-BA7Qdk00.js → 17-CHSE_reZ.js} +3 -3
  146. package/studio-dist/server/chunks/{18-OYxwOIDf.js → 18-CPdyOX1J.js} +3 -3
  147. package/studio-dist/server/chunks/{20-NoMz43B8.js → 20-BUik9a2i.js} +3 -3
  148. package/studio-dist/server/chunks/{24-DA9ZKbGa.js → 24-DL9CUKkc.js} +3 -3
  149. package/studio-dist/server/chunks/{25-CSbbMnnc.js → 25-DY9iOuEC.js} +27 -7
  150. package/studio-dist/server/chunks/{26-DDAi-8aZ.js → 26-DYALaCse.js} +3 -3
  151. package/studio-dist/server/chunks/{3-CZ0anfls.js → 3-yKa40-Hr.js} +3 -3
  152. package/studio-dist/server/chunks/{_layout.svelte-DPpvwkCW.js → _layout.svelte-DsAVcyEj.js} +4 -4
  153. package/studio-dist/server/chunks/{_page.svelte-sAKE10By.js → _page.svelte-B-YCLhOS.js} +3 -3
  154. package/studio-dist/server/chunks/{_page.svelte-NN-ysLIc.js → _page.svelte-BsXQOOQU.js} +3 -3
  155. package/studio-dist/server/chunks/{_page.svelte-Tf5yX_Q2.js → _page.svelte-COf241FA.js} +6 -6
  156. package/studio-dist/server/chunks/{_page.svelte-CU7rg9O0.js → _page.svelte-CbxJdxQC.js} +3 -3
  157. package/studio-dist/server/chunks/{_page.svelte-C6G1aW3a.js → _page.svelte-CcmiRQ4j.js} +3 -3
  158. package/studio-dist/server/chunks/{_page.svelte-CKuTQZbT.js → _page.svelte-Cf6G1gTh.js} +3 -3
  159. package/studio-dist/server/chunks/{_page.svelte-DSP0pUgr.js → _page.svelte-CjCDXXbC.js} +3 -3
  160. package/studio-dist/server/chunks/{_page.svelte-BwRzrYG3.js → _page.svelte-DTA6Lm_w.js} +3 -3
  161. package/studio-dist/server/chunks/{_page.svelte-DjRC7EhO.js → _page.svelte-OCrVFGoZ.js} +4 -4
  162. package/studio-dist/server/chunks/{_server.ts-B9opaYUF.js → _server.ts-BRr1plRB.js} +2 -2
  163. package/studio-dist/server/chunks/{_server.ts-CsFgN0Xw.js → _server.ts-BcsGXBPF.js} +3 -3
  164. package/studio-dist/server/chunks/{_server.ts-dhfnFFsl.js → _server.ts-CVUVmk-_.js} +3 -3
  165. package/studio-dist/server/chunks/{_server.ts-DlYk1cV4.js → _server.ts-CiYJJ0tA.js} +3 -3
  166. package/studio-dist/server/chunks/{_server.ts-BaNx2iKe.js → _server.ts-DuQtMtgL.js} +3 -3
  167. package/studio-dist/server/chunks/{client-BCCBOJ8I.js → client-BztYKJP1.js} +2 -2
  168. package/studio-dist/server/chunks/{error.svelte-DkkambGi.js → error.svelte-D_iuwUHJ.js} +3 -3
  169. package/studio-dist/server/chunks/{http-xrUffxJm.js → http-DGCHyZuV.js} +2 -2
  170. package/studio-dist/server/chunks/{internal-DjbHVYFr.js → internal-BZdEYjCu.js} +2 -2
  171. package/studio-dist/server/chunks/{operations-registry-ISk1IH0d.js → operations-registry-DmjBRBua.js} +8 -2
  172. package/studio-dist/server/chunks/{stores-CEqXo8K-.js → stores-D3P-ih8A.js} +2 -2
  173. package/studio-dist/server/index.js +1 -1
  174. package/studio-dist/server/manifest.js +17 -17
  175. package/dist/cli/hook-BNQLJ3IB.js +0 -75
  176. package/studio-dist/client/_app/immutable/chunks/jYKRn4J4.js +0 -1
  177. package/studio-dist/client/_app/immutable/entry/start.D11dzsFI.js +0 -1
  178. package/studio-dist/server/chunks/1-DTPDXp1K.js +0 -9
package/bin/cleo.js CHANGED
@@ -131,6 +131,15 @@ if (
131
131
  } catch (err) {
132
132
  process.stderr.write(`[cleo hook] skipped: ${err instanceof Error ? err.message : err}\n`);
133
133
  }
134
+ } else if (args[0] === 'hook' && args[1] === 'run' && !args.includes('--help') && !args.includes('-h')) {
135
+ // Project checks have their own adapter runtime; existing heavy-command is unchanged.
136
+ try {
137
+ const { runProjectHookCli } = await import(resolve(__dirname, '../dist/cli/project-hook-entry.js'));
138
+ process.exitCode = await runProjectHookCli(args.slice(2));
139
+ } catch {
140
+ process.stderr.write('[cleo hook] project runner unavailable; operation allowed. Run cleo doctor hooks.\n');
141
+ process.exitCode = 0;
142
+ }
134
143
  } else if (heapCapApplied()) {
135
144
  // Single-process path: signals reach the CLI directly, no child to orphan.
136
145
  await import(cliPath);
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-YY66LFZF.js";
19
19
  import {
20
20
  dispatchFromCli
21
- } from "./chunk-V72T73VU.js";
21
+ } from "./chunk-J6GFQY5V.js";
22
22
  import "./chunk-6N6WGLXE.js";
23
23
  import "./chunk-4VASFLUW.js";
24
24
  import {
@@ -28,7 +28,7 @@ import "./chunk-QKMBWYAS.js";
28
28
  import "./chunk-4RGSNUUP.js";
29
29
  import "./chunk-6JSJNYH2.js";
30
30
  import "./chunk-D7BAQNV2.js";
31
- import "./chunk-YM7SWWQX.js";
31
+ import "./chunk-YI5O7YZO.js";
32
32
 
33
33
  // packages/cleo/src/cli/commands/adapter.ts
34
34
  var listCommand = defineCommand({
@@ -156,4 +156,4 @@ var adapterCommand = defineCommand({
156
156
  export {
157
157
  adapterCommand
158
158
  };
159
- //# sourceMappingURL=adapter-CJUZSXBA.js.map
159
+ //# sourceMappingURL=adapter-GDM2AKLR.js.map
@@ -20,7 +20,7 @@ import {
20
20
  dispatchRaw,
21
21
  handleRawError,
22
22
  maybeEmitDescribe
23
- } from "./chunk-V72T73VU.js";
23
+ } from "./chunk-J6GFQY5V.js";
24
24
  import "./chunk-6N6WGLXE.js";
25
25
  import "./chunk-4VASFLUW.js";
26
26
  import {
@@ -36,7 +36,7 @@ import {
36
36
  } from "./chunk-4RGSNUUP.js";
37
37
  import "./chunk-6JSJNYH2.js";
38
38
  import "./chunk-D7BAQNV2.js";
39
- import "./chunk-YM7SWWQX.js";
39
+ import "./chunk-YI5O7YZO.js";
40
40
 
41
41
  // packages/cleo/src/cli/commands/add.ts
42
42
  import { TASK_SEVERITIES } from "@cleocode/contracts/enums.js";
@@ -440,4 +440,4 @@ For 2+ tasks at once: cleo add-batch --file tasks.json (single transaction, atom
440
440
  export {
441
441
  addCommand
442
442
  };
443
- //# sourceMappingURL=add-T66ILGKK.js.map
443
+ //# sourceMappingURL=add-KB753M5X.js.map
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  dispatchRaw,
21
21
  maybeEmitDescribe
22
- } from "./chunk-V72T73VU.js";
22
+ } from "./chunk-J6GFQY5V.js";
23
23
  import "./chunk-6N6WGLXE.js";
24
24
  import "./chunk-4VASFLUW.js";
25
25
  import {
@@ -32,7 +32,7 @@ import {
32
32
  } from "./chunk-4RGSNUUP.js";
33
33
  import "./chunk-6JSJNYH2.js";
34
34
  import "./chunk-D7BAQNV2.js";
35
- import "./chunk-YM7SWWQX.js";
35
+ import "./chunk-YI5O7YZO.js";
36
36
 
37
37
  // packages/cleo/src/cli/commands/add-batch.ts
38
38
  import { ExitCode } from "@cleocode/contracts/exit-codes.js";
@@ -161,4 +161,4 @@ var addBatchCommand = defineCommand({
161
161
  export {
162
162
  addBatchCommand
163
163
  };
164
- //# sourceMappingURL=add-batch-DEYCTR2Z.js.map
164
+ //# sourceMappingURL=add-batch-E75D6YTI.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-V72T73VU.js";
18
+ } from "./chunk-J6GFQY5V.js";
19
19
  import "./chunk-6N6WGLXE.js";
20
20
  import "./chunk-4VASFLUW.js";
21
21
  import {
@@ -28,7 +28,7 @@ import {
28
28
  } from "./chunk-4RGSNUUP.js";
29
29
  import "./chunk-6JSJNYH2.js";
30
30
  import "./chunk-D7BAQNV2.js";
31
- import "./chunk-YM7SWWQX.js";
31
+ import "./chunk-YI5O7YZO.js";
32
32
 
33
33
  // packages/cleo/src/cli/commands/admin.ts
34
34
  var versionCommand = defineCommand({
@@ -338,4 +338,4 @@ var adminCommand = defineCommand({
338
338
  export {
339
339
  adminCommand
340
340
  };
341
- //# sourceMappingURL=admin-73MG7LAS.js.map
341
+ //# sourceMappingURL=admin-2QQCZIW7.js.map
@@ -16,15 +16,15 @@
16
16
  import {
17
17
  OPERATIONS
18
18
  } from "./chunk-4VASFLUW.js";
19
+ import {
20
+ lazyOperation
21
+ } from "./chunk-YI5O7YZO.js";
19
22
  import {
20
23
  defineTypedHandler,
21
24
  lafsError,
22
25
  lafsSuccess,
23
26
  typedDispatch
24
27
  } from "./chunk-QWNKLLLG.js";
25
- import {
26
- lazyOperation
27
- } from "./chunk-YM7SWWQX.js";
28
28
  import {
29
29
  dispatchMeta,
30
30
  envelopeToEngineResult,
@@ -193,7 +193,7 @@ var SMOKE_PROBES = [
193
193
  { domain: "adapter", operation: "list" }
194
194
  ];
195
195
  async function runSystemSmoke() {
196
- const { dispatchRaw } = await import("./cli-B4M45YP3.js");
196
+ const { dispatchRaw } = await import("./cli-MWR6QNIQ.js");
197
197
  const totalStart = Date.now();
198
198
  const probes = [];
199
199
  for (const probe of SMOKE_PROBES) {
@@ -1425,4 +1425,4 @@ var AdminHandler = class {
1425
1425
  export {
1426
1426
  AdminHandler
1427
1427
  };
1428
- //# sourceMappingURL=admin-3WA33TW4.js.map
1428
+ //# sourceMappingURL=admin-YSKKVF3L.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-V72T73VU.js";
18
+ } from "./chunk-J6GFQY5V.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-YM7SWWQX.js";
29
+ import "./chunk-YI5O7YZO.js";
30
30
 
31
31
  // packages/cleo/src/cli/commands/adr.ts
32
32
  var validateCommand = defineCommand({
@@ -169,4 +169,4 @@ var adrCommand = defineCommand({
169
169
  export {
170
170
  adrCommand
171
171
  };
172
- //# sourceMappingURL=adr-N4VVNKYB.js.map
172
+ //# sourceMappingURL=adr-UMPRIZIB.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-V72T73VU.js";
18
+ } from "./chunk-J6GFQY5V.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-YM7SWWQX.js";
28
+ import "./chunk-YI5O7YZO.js";
29
29
 
30
30
  // packages/cleo/src/cli/commands/analyze.ts
31
31
  var analyzeCommand = defineCommand({
@@ -46,4 +46,4 @@ var analyzeCommand = defineCommand({
46
46
  export {
47
47
  analyzeCommand
48
48
  };
49
- //# sourceMappingURL=analyze-H2BLBQWF.js.map
49
+ //# sourceMappingURL=analyze-R4TV7YQ2.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-V72T73VU.js";
18
+ } from "./chunk-J6GFQY5V.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-YM7SWWQX.js";
28
+ import "./chunk-YI5O7YZO.js";
29
29
 
30
30
  // packages/cleo/src/cli/commands/archive.ts
31
31
  var archiveCommand = defineCommand({
@@ -62,4 +62,4 @@ var archiveCommand = defineCommand({
62
62
  export {
63
63
  archiveCommand
64
64
  };
65
- //# sourceMappingURL=archive-QHBLYODR.js.map
65
+ //# sourceMappingURL=archive-QZHTAEPV.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-V72T73VU.js";
18
+ } from "./chunk-J6GFQY5V.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-YM7SWWQX.js";
28
+ import "./chunk-YI5O7YZO.js";
29
29
 
30
30
  // packages/cleo/src/cli/commands/archive-stats.ts
31
31
  import { analyzeArchive } from "@cleocode/core/internal";
@@ -98,4 +98,4 @@ export {
98
98
  archiveStatsCommand,
99
99
  analyzeArchive as getArchiveStats
100
100
  };
101
- //# sourceMappingURL=archive-stats-Q6H6ZFSG.js.map
101
+ //# sourceMappingURL=archive-stats-GA4ZUWKG.js.map
@@ -18,7 +18,7 @@ import {
18
18
  dispatchFromCli,
19
19
  dispatchRaw,
20
20
  handleRawError
21
- } from "./chunk-V72T73VU.js";
21
+ } from "./chunk-J6GFQY5V.js";
22
22
  import "./chunk-6N6WGLXE.js";
23
23
  import "./chunk-4VASFLUW.js";
24
24
  import {
@@ -32,7 +32,7 @@ import {
32
32
  } from "./chunk-4RGSNUUP.js";
33
33
  import "./chunk-6JSJNYH2.js";
34
34
  import "./chunk-D7BAQNV2.js";
35
- import "./chunk-YM7SWWQX.js";
35
+ import "./chunk-YI5O7YZO.js";
36
36
 
37
37
  // packages/cleo/src/cli/commands/attention.ts
38
38
  import { ExitCode } from "@cleocode/contracts/exit-codes.js";
@@ -165,4 +165,4 @@ var attentionCommand = defineCommand({
165
165
  export {
166
166
  attentionCommand
167
167
  };
168
- //# sourceMappingURL=attention-YBJI3WYQ.js.map
168
+ //# sourceMappingURL=attention-O55SETPZ.js.map
@@ -26,7 +26,7 @@ import {
26
26
  } from "./chunk-YY66LFZF.js";
27
27
  import {
28
28
  dispatchFromCli
29
- } from "./chunk-V72T73VU.js";
29
+ } from "./chunk-J6GFQY5V.js";
30
30
  import {
31
31
  CLEO_DIR_NAME,
32
32
  CLI_GLOBAL_BACKUP_FILES,
@@ -48,7 +48,7 @@ import {
48
48
  } from "./chunk-4RGSNUUP.js";
49
49
  import "./chunk-6JSJNYH2.js";
50
50
  import "./chunk-D7BAQNV2.js";
51
- import "./chunk-YM7SWWQX.js";
51
+ import "./chunk-YI5O7YZO.js";
52
52
 
53
53
  // packages/cleo/src/cli/commands/backup.ts
54
54
  import crypto from "node:crypto";
@@ -585,4 +585,4 @@ function sha256OfMachineKey(cleoHome) {
585
585
  export {
586
586
  backupCommand
587
587
  };
588
- //# sourceMappingURL=backup-DSZLYUH6.js.map
588
+ //# sourceMappingURL=backup-TTDK7IOM.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-V72T73VU.js";
18
+ } from "./chunk-J6GFQY5V.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-YM7SWWQX.js";
28
+ import "./chunk-YI5O7YZO.js";
29
29
 
30
30
  // packages/cleo/src/cli/commands/blockers.ts
31
31
  var blockersCommand = defineCommand({
@@ -52,4 +52,4 @@ var blockersCommand = defineCommand({
52
52
  export {
53
53
  blockersCommand
54
54
  };
55
- //# sourceMappingURL=blockers-M6MVTIVB.js.map
55
+ //# sourceMappingURL=blockers-EKLFYTJO.js.map
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-YY66LFZF.js";
19
19
  import {
20
20
  dispatchFromCli
21
- } from "./chunk-V72T73VU.js";
21
+ } from "./chunk-J6GFQY5V.js";
22
22
  import "./chunk-6N6WGLXE.js";
23
23
  import "./chunk-4VASFLUW.js";
24
24
  import {
@@ -31,7 +31,7 @@ import {
31
31
  } from "./chunk-4RGSNUUP.js";
32
32
  import "./chunk-6JSJNYH2.js";
33
33
  import "./chunk-D7BAQNV2.js";
34
- import "./chunk-YM7SWWQX.js";
34
+ import "./chunk-YI5O7YZO.js";
35
35
 
36
36
  // packages/cleo/src/cli/commands/briefing.ts
37
37
  import { pushWarning } from "@cleocode/core/output";
@@ -210,4 +210,4 @@ var briefingCommand = defineCommand({
210
210
  export {
211
211
  briefingCommand
212
212
  };
213
- //# sourceMappingURL=briefing-5NFD2GD5.js.map
213
+ //# sourceMappingURL=briefing-5XRHHLAA.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-V72T73VU.js";
18
+ } from "./chunk-J6GFQY5V.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-YM7SWWQX.js";
28
+ import "./chunk-YI5O7YZO.js";
29
29
 
30
30
  // packages/cleo/src/cli/commands/cancel.ts
31
31
  var cancelCommand = defineCommand({
@@ -82,4 +82,4 @@ var cancelCommand = defineCommand({
82
82
  export {
83
83
  cancelCommand
84
84
  };
85
- //# sourceMappingURL=cancel-WOEDIY2T.js.map
85
+ //# sourceMappingURL=cancel-ZVN2BAGV.js.map
@@ -13,15 +13,15 @@
13
13
  return _origEmitWarning.call(process, warning, type, code, ctor);
14
14
  };
15
15
  })();
16
+ import {
17
+ lazyOperation
18
+ } from "./chunk-YI5O7YZO.js";
16
19
  import {
17
20
  defineTypedHandler,
18
21
  lafsError,
19
22
  lafsSuccess,
20
23
  typedDispatch
21
24
  } from "./chunk-QWNKLLLG.js";
22
- import {
23
- lazyOperation
24
- } from "./chunk-YM7SWWQX.js";
25
25
  import {
26
26
  dispatchMeta,
27
27
  handleErrorResult
@@ -647,7 +647,8 @@ var _checkTypedHandler = defineTypedHandler("check", {
647
647
  evidence: params.evidence,
648
648
  sessionId: params.sessionId,
649
649
  sharedEvidence: params.sharedEvidence,
650
- noRun: params.noRun
650
+ noRun: params.noRun,
651
+ runTyped: params.runTyped
651
652
  };
652
653
  const result = await validateGateVerify(projectRoot, gateParams);
653
654
  setImmediate(async () => {
@@ -756,4 +757,4 @@ var CheckHandler = class {
756
757
  export {
757
758
  CheckHandler
758
759
  };
759
- //# sourceMappingURL=check-ROHPOXED.js.map
760
+ //# sourceMappingURL=check-52ZTN67R.js.map
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-47JYZAMS.js";
23
23
  import {
24
24
  dispatchFromCli
25
- } from "./chunk-V72T73VU.js";
25
+ } from "./chunk-J6GFQY5V.js";
26
26
  import "./chunk-6N6WGLXE.js";
27
27
  import "./chunk-4VASFLUW.js";
28
28
  import {
@@ -35,7 +35,7 @@ import {
35
35
  } from "./chunk-4RGSNUUP.js";
36
36
  import "./chunk-6JSJNYH2.js";
37
37
  import "./chunk-D7BAQNV2.js";
38
- import "./chunk-YM7SWWQX.js";
38
+ import "./chunk-YI5O7YZO.js";
39
39
 
40
40
  // packages/cleo/src/cli/commands/check.ts
41
41
  import { formatPrGateSummary, runPrGate } from "@cleocode/core/check/pr-gate";
@@ -921,4 +921,4 @@ var checkCommand = defineCommand({
921
921
  export {
922
922
  checkCommand
923
923
  };
924
- //# sourceMappingURL=check-WLUNOQVL.js.map
924
+ //# sourceMappingURL=check-YI6QVOBW.js.map
@@ -92,6 +92,9 @@ function syncStreamClause(st) {
92
92
  !st.journalInstalled ? "journal not installed" : on.length > 0 ? `${on.join(", ")} on` : "all flags off",
93
93
  `${st.unsealedOps} unsealed`,
94
94
  `last sealed seq ${st.lastSealedSeq ?? "none"}`,
95
+ ...st.genesisCut === null ? [] : [`cut at ${st.genesisCut}${st.genesisPending ? " (checkpoint not yet stored)" : ""}`],
96
+ ...st.unsentOps.known ? [`${st.unsentOps.value} unsent`] : [],
97
+ ...st.lastPulledSeq.known ? [`pulled to ${st.lastPulledSeq.value}`] : [],
95
98
  ...quarantined > 0 ? [`${quarantined} quarantined`] : [],
96
99
  ...st.undo.state === "ok" ? [] : [
97
100
  st.undo.state === "warn" ? `undo at ${Math.round(st.undo.bytes / st.undo.budget * 100)}% of its budget: pull to drain it` : `undo budget exceeded${st.undo.exceededAt ? ` since ${st.undo.exceededAt}` : ""}: a rebind runs at the next pull`
@@ -100,7 +103,7 @@ function syncStreamClause(st) {
100
103
  ...st.held.count > 0 ? [
101
104
  `${st.held.count} held by a rebase${long > 0 ? ` (${long} older than ${st.held.warnDays} days)` : ""}`
102
105
  ] : [],
103
- "server fields unknown until T12343/S4"
106
+ ...st.unsentOps.known ? [] : ["server fields unknown until T12343/S4"]
104
107
  ];
105
108
  return ` Sync (${st.scope}${st.stream ? ` ${st.stream}` : ""}): ${parts.join("; ")}.`;
106
109
  }
@@ -416,6 +419,14 @@ async function runCloudLease(args) {
416
419
  );
417
420
  }
418
421
  async function runCloudActivity(args) {
422
+ if (args.devices === true) {
423
+ await runCloudDeviceOverview(args);
424
+ return;
425
+ }
426
+ if (args.journal === true) {
427
+ await runCloudJournalActivity(args);
428
+ return;
429
+ }
419
430
  await runCloudRead(
420
431
  "cloud.activity",
421
432
  async () => {
@@ -437,7 +448,71 @@ async function runCloudActivity(args) {
437
448
  },
438
449
  (r) => `${r.items.length} event(s)${r.projectId ? ` for project ${r.projectId}` : ""}: ${r.items.slice(0, 10).map(
439
450
  (i) => `${i.at} ${who(i.deviceName, i.deviceId ?? "account")}${i.thisDevice ? " (this machine)" : ""} ${terminalSafe(i.action)}${i.target ? ` ${terminalSafe(i.target)}` : ""}`
440
- ).join("; ")}${r.items.length > 10 ? "; \u2026" : ""}`
451
+ ).join("; ")}${r.items.length > 10 ? "; \u2026" : ""}
452
+ ${ACTIVITY_HINT}`
453
+ );
454
+ }
455
+ async function runCloudJournalActivity(args) {
456
+ await runCloudRead(
457
+ "cloud.activity.journal",
458
+ async () => {
459
+ const { nexusJournalActivity } = await import(
460
+ /* webpackIgnore: true */
461
+ "@cleocode/core/cloud/nexus-cloud-journal-activity.js"
462
+ );
463
+ const limit = activityLimitArg(args);
464
+ const before = stringArg(args, "before");
465
+ const deviceId = stringArg(args, "device");
466
+ const since = stringArg(args, "since");
467
+ const projectId = stringArg(args, "project");
468
+ return nexusJournalActivity({
469
+ apiUrl: nexusApiUrlArg(args),
470
+ scope: scopeArg(args, "cloud.activity.journal"),
471
+ offline: args.offline === true,
472
+ ...limit !== void 0 ? { limit } : {},
473
+ ...before !== void 0 ? { before } : {},
474
+ ...deviceId !== void 0 ? { deviceId } : {},
475
+ ...since !== void 0 ? { since } : {},
476
+ ...projectId !== void 0 ? { projectId } : {}
477
+ });
478
+ },
479
+ (r) => [
480
+ `${r.items.length} journal transaction(s) from ${r.devices.length} device(s):`,
481
+ ...r.devices.map(
482
+ (d) => ` ${who(d.deviceName, d.deviceId)}${d.thisDevice ? " (this machine)" : ""}: ${d.txns} txn(s), last ${d.lastAt}${d.lastSeenAt ? `, seen ${d.lastSeenAt}` : ""}`
483
+ ),
484
+ ...r.items.slice(0, 10).map(
485
+ (i) => ` ${i.at} ${who(i.deviceName, i.deviceId)} ${terminalSafe(i.actor?.op ?? i.kind)} ${i.status}${i.history ? " (history)" : ""}: ${Object.entries(
486
+ i.tables
487
+ ).map(([t, n]) => `${terminalSafe(t)} ${n.I}I/${n.U}U/${n.D}D${n.K ? `/${n.K}K` : ""}`).join(", ")}`
488
+ ),
489
+ ...r.items.length > 10 ? [" \u2026"] : [],
490
+ ACTIVITY_HINT
491
+ ].join("\n")
492
+ );
493
+ }
494
+ var ACTIVITY_HINT = "see also: `cleo cloud activity` (server events), `--journal` (journal changes), `--devices` (both, per device)";
495
+ async function runCloudDeviceOverview(args) {
496
+ await runCloudRead(
497
+ "cloud.activity.devices",
498
+ async () => {
499
+ const { nexusDeviceOverview } = await import(
500
+ /* webpackIgnore: true */
501
+ "@cleocode/core/cloud/nexus-cloud-device-overview.js"
502
+ );
503
+ return nexusDeviceOverview({
504
+ apiUrl: nexusApiUrlArg(args),
505
+ scope: scopeArg(args, "cloud.activity.devices"),
506
+ offline: args.offline === true
507
+ });
508
+ },
509
+ (r) => [
510
+ `${r.devices.length} device(s), newest activity first:`,
511
+ ...r.devices.map(
512
+ (d) => ` ${who(d.deviceName, d.deviceId)}${d.thisDevice ? " (this machine)" : ""}: ${d.online === null ? "presence unknown" : d.online ? "online" : "offline"}${d.lastSeenAt ? `, seen ${d.lastSeenAt}` : ""}${d.journal ? `; journal ${d.journal.txns} txn(s), last ${d.journal.lastAt}${d.journal.last ? ` ${terminalSafe(d.journal.last.op)} (${d.journal.last.tables.map(terminalSafe).join(", ")})` : ""}` : ""}${d.server ? `; server ${d.server.at} ${terminalSafe(d.server.action)}` : ""}`
513
+ ),
514
+ ACTIVITY_HINT
515
+ ].join("\n")
441
516
  );
442
517
  }
443
518
  async function runCloudConflicts(args) {
@@ -513,4 +588,4 @@ export {
513
588
  runCloudActivity,
514
589
  runCloudConflicts
515
590
  };
516
- //# sourceMappingURL=chunk-4TUBOOUH.js.map
591
+ //# sourceMappingURL=chunk-CQYMQIMH.js.map
@@ -17,7 +17,7 @@ import {
17
17
  dispatchRaw,
18
18
  handleRawError,
19
19
  maybeEmitDescribe
20
- } from "./chunk-V72T73VU.js";
20
+ } from "./chunk-J6GFQY5V.js";
21
21
  import {
22
22
  defineCommand
23
23
  } from "./chunk-PKKZPOOP.js";
@@ -145,4 +145,4 @@ export {
145
145
  completeDispatchParams,
146
146
  completeCommand
147
147
  };
148
- //# sourceMappingURL=chunk-FWTSORSA.js.map
148
+ //# sourceMappingURL=chunk-CVU2C3ZF.js.map
@@ -0,0 +1,71 @@
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
+ defineCommand
18
+ } from "./chunk-PKKZPOOP.js";
19
+ import {
20
+ cliOutput
21
+ } from "./chunk-4RGSNUUP.js";
22
+
23
+ // packages/cleo/src/cli/commands/doctor-hooks.ts
24
+ var doctorHooksCommand = defineCommand({
25
+ meta: {
26
+ name: "hooks",
27
+ description: "Inspect hook attribution, activation, drift and provider trust; --fix repairs eligible managed entries"
28
+ },
29
+ args: {
30
+ fix: { type: "boolean", description: "Repair delivery only when current hashes are activated" },
31
+ providers: { type: "string", description: "Comma-separated harness IDs to inspect" }
32
+ },
33
+ async run({ args }) {
34
+ const { inspectProjectHooks, createProjectHookDeliveryServices } = await import("@cleocode/core/hooks/project-state");
35
+ const { readLastProjectHookExecution } = await import("@cleocode/core/hooks/project-runner");
36
+ const inspection = await inspectProjectHooks(process.cwd());
37
+ const { syncProjectHookProviders, hasUnsupportedProjectHookDelivery } = await import("@cleocode/adapters/project-hook-delivery");
38
+ const providers = await syncProjectHookProviders({
39
+ ...inspection.context,
40
+ services: createProjectHookDeliveryServices(),
41
+ enabled: inspection.activation === "active",
42
+ events: inspection.manifest.hooks.flatMap(
43
+ (hook) => hook.bindings.filter((binding) => binding.source === "agent").map((binding) => binding.event)
44
+ ),
45
+ dryRun: args.fix !== true || inspection.activation !== "active",
46
+ providers: typeof args.providers === "string" ? args.providers.split(",") : void 0
47
+ });
48
+ const { installCleoHooks } = await import("@cleocode/core/git/hooks-install");
49
+ const git = await installCleoHooks(inspection.context.projectRoot, {
50
+ dryRun: args.fix !== true || inspection.activation !== "active"
51
+ });
52
+ const conflict = providers.some((provider) => provider.state === "conflict") || Object.keys(git.skipReasons).length > 0;
53
+ cliOutput(
54
+ {
55
+ ...inspection,
56
+ lastExecution: await readLastProjectHookExecution(process.cwd()),
57
+ providers,
58
+ git,
59
+ deliveryStatus: conflict ? "conflict" : hasUnsupportedProjectHookDelivery(providers) ? "unsupported" : "complete",
60
+ fixApplied: args.fix === true && inspection.activation === "active"
61
+ },
62
+ { command: "doctor", operation: "doctor.hooks" }
63
+ );
64
+ if (inspection.activation === "drifted" || conflict) process.exitCode = 1;
65
+ }
66
+ });
67
+
68
+ export {
69
+ doctorHooksCommand
70
+ };
71
+ //# sourceMappingURL=chunk-IJGR4AY4.js.map
@@ -40,7 +40,7 @@ import {
40
40
  } from "./chunk-D7BAQNV2.js";
41
41
  import {
42
42
  createLazyDomainHandlers
43
- } from "./chunk-YM7SWWQX.js";
43
+ } from "./chunk-YI5O7YZO.js";
44
44
 
45
45
  // packages/cleo/src/dispatch/adapters/cli.ts
46
46
  import { randomUUID as randomUUID2 } from "node:crypto";
@@ -2494,4 +2494,4 @@ export {
2494
2494
  handleRawError,
2495
2495
  dispatchRaw
2496
2496
  };
2497
- //# sourceMappingURL=chunk-V72T73VU.js.map
2497
+ //# sourceMappingURL=chunk-J6GFQY5V.js.map