@cleocode/cleo 2026.10.18 → 2026.10.19

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 (187) hide show
  1. package/dist/cli/{adapter-EB4BRBBY.js → adapter-X47GVQP7.js} +3 -3
  2. package/dist/cli/{add-DDZZZVZD.js → add-2LKQ5OQO.js} +3 -3
  3. package/dist/cli/{add-batch-MN72KL5M.js → add-batch-PCIZXCHG.js} +3 -3
  4. package/dist/cli/{admin-WZKECA5L.js → admin-2ABR2M5C.js} +3 -3
  5. package/dist/cli/{admin-HCXAR5VU.js → admin-2SGE3CT4.js} +3 -3
  6. package/dist/cli/{adr-OY7XITY5.js → adr-WFMRRKZN.js} +3 -3
  7. package/dist/cli/{analyze-SYWVYGEV.js → analyze-C5DW3XBB.js} +3 -3
  8. package/dist/cli/{archive-PXSIAUOZ.js → archive-DQWSUF3I.js} +3 -3
  9. package/dist/cli/{archive-stats-Q6IFJBPS.js → archive-stats-W6HJDNSY.js} +3 -3
  10. package/dist/cli/{attention-SU5P25FZ.js → attention-XACRWTGY.js} +3 -3
  11. package/dist/cli/{backup-STSELIGS.js → backup-UHVYRHDA.js} +3 -3
  12. package/dist/cli/{blockers-UGZUMSKM.js → blockers-B3GDENPQ.js} +3 -3
  13. package/dist/cli/{briefing-ZU7YZO3U.js → briefing-YTOCSFW7.js} +3 -3
  14. package/dist/cli/{cancel-CYOH7BAE.js → cancel-U4KFT2C6.js} +3 -3
  15. package/dist/cli/{check-ZQYL6AU6.js → check-NXYMQ77O.js} +3 -3
  16. package/dist/cli/{check-GHJEH437.js → check-WWGPEJIE.js} +2 -2
  17. package/dist/cli/chunk-5BQTAAJ5.js +49 -0
  18. package/dist/cli/chunk-DEOLUUQW.js +65 -0
  19. package/dist/cli/{chunk-NIS7EU53.js → chunk-JN552IFO.js} +32 -24
  20. package/dist/cli/{chunk-RGTIBYCQ.js → chunk-L7ZIR4GP.js} +2 -2
  21. package/dist/cli/{chunk-EELKU7NB.js → chunk-RNMULXXQ.js} +2 -2
  22. package/dist/cli/{chunk-QLME64FF.js → chunk-S2IS4DXJ.js} +2 -2
  23. package/dist/cli/{chunk-QC3IIDLX.js → chunk-WNDM2PS5.js} +13 -13
  24. package/dist/cli/{claim-PWJB26MI.js → claim-5GUUPIGX.js} +3 -3
  25. package/dist/cli/{cli-WM33BIC6.js → cli-ARPDECGB.js} +3 -3
  26. package/dist/cli/{complete-YHIJOF2M.js → complete-VC5H7EVG.js} +4 -4
  27. package/dist/cli/{complexity-ZJW4Z7GN.js → complexity-AKELAXU7.js} +3 -3
  28. package/dist/cli/{compliance-E3UJB4MT.js → compliance-3AHQSGLE.js} +3 -3
  29. package/dist/cli/{conduit-4OXX7X3G.js → conduit-SYAA6BU6.js} +3 -3
  30. package/dist/cli/{config-2UBWE57E.js → config-N3GZN35L.js} +29 -3
  31. package/dist/cli/{consensus-IISJ5EPZ.js → consensus-2ILDAJBP.js} +3 -3
  32. package/dist/cli/{context-B2OJ7LT4.js → context-3Z2TTNTA.js} +3 -3
  33. package/dist/cli/{contribution-6VY4DLBS.js → contribution-F5NXLODW.js} +3 -3
  34. package/dist/cli/{current-FPR6MQ4P.js → current-UAGJGYSZ.js} +3 -3
  35. package/dist/cli/{daemon-AADB5Z35.js → daemon-ZJMBPPVF.js} +3 -3
  36. package/dist/cli/{dash-3V2SUXOG.js → dash-JUQWAKZZ.js} +3 -3
  37. package/dist/cli/{decompose-V472J22B.js → decompose-LLDJUCS2.js} +3 -3
  38. package/dist/cli/{decomposition-CZRX4FZD.js → decomposition-DSM77D45.js} +3 -3
  39. package/dist/cli/{delete-TTWHW6JX.js → delete-FOEQLX4K.js} +3 -3
  40. package/dist/cli/{deps-XPD5ZAHF.js → deps-PBWH4HUW.js} +3 -3
  41. package/dist/cli/{detect-YZYEVJWD.js → detect-3AE7AA2G.js} +3 -3
  42. package/dist/cli/{diagnostics-QJQSNF5L.js → diagnostics-QJ5MHHR3.js} +3 -3
  43. package/dist/cli/{docs-JELVV27J.js → docs-37WAWQGW.js} +2 -2
  44. package/dist/cli/{docs-YG5ZMQ5F.js → docs-ZJJWDNNL.js} +59 -17
  45. package/dist/cli/{doctor-EWY4OP2V.js → doctor-J2NWX7B7.js} +35 -31
  46. package/dist/cli/doctor-goal-runtime-Y27ROXHD.js +26 -0
  47. package/dist/cli/{done-Z227ZDXQ.js → done-DB7KU3XS.js} +4 -4
  48. package/dist/cli/{export-YGDPY52V.js → export-WNW5XWDV.js} +3 -3
  49. package/dist/cli/{export-tasks-KDUKD6M6.js → export-tasks-7NDU6X6X.js} +3 -3
  50. package/dist/cli/{find-D3KMIDFU.js → find-XLPBCXZL.js} +3 -3
  51. package/dist/cli/{focus-ZKJTGRY5.js → focus-KBZNINOT.js} +3 -3
  52. package/dist/cli/go-26KHAC5E.js +57 -0
  53. package/dist/cli/goal-M2RSUPGF.js +183 -0
  54. package/dist/cli/{grade-U2EG6IS6.js → grade-KQJXXRTF.js} +3 -3
  55. package/dist/cli/{graph-PPTCVP7U.js → graph-JSYDG4AT.js} +3 -3
  56. package/dist/cli/{history-7WBL7O35.js → history-ODQ5I7FU.js} +3 -3
  57. package/dist/cli/{hook-TQXXIWXR.js → hook-7MXTCG3M.js} +1 -1
  58. package/dist/cli/hook-entry.js +1 -1
  59. package/dist/cli/{import-CQYUQJ2Q.js → import-2IWGFLL6.js} +3 -3
  60. package/dist/cli/{import-tasks-JK6BOMQ6.js → import-tasks-PVLAISBB.js} +3 -3
  61. package/dist/cli/index.js +112 -106
  62. package/dist/cli/{inject-A7OQWPFK.js → inject-JRLEHBQN.js} +3 -3
  63. package/dist/cli/{intelligence-ZDMPNMZC.js → intelligence-IYW3423D.js} +3 -3
  64. package/dist/cli/{issue-PZFXFIYP.js → issue-7ZXJKLGD.js} +3 -3
  65. package/dist/cli/{labels-OPDBIMOS.js → labels-WOTTGBRQ.js} +3 -3
  66. package/dist/cli/{lifecycle-PE2QVILM.js → lifecycle-MU3FAX6S.js} +3 -3
  67. package/dist/cli/{list-2GT4HHUU.js → list-76QTVVJV.js} +3 -3
  68. package/dist/cli/{llm-ZDB66SOW.js → llm-JCO5OJKD.js} +3 -3
  69. package/dist/cli/{log-SQNW2FKP.js → log-VWHC5JQF.js} +3 -3
  70. package/dist/cli/{manifest-I3SA3XSV.js → manifest-BTUU2NQB.js} +3 -3
  71. package/dist/cli/{map-AARUPEME.js → map-POJ4VUDA.js} +3 -3
  72. package/dist/cli/{memory-DJJZHRCX.js → memory-GJLKIO2T.js} +2 -2
  73. package/dist/cli/{memory-OENWJN3E.js → memory-VSUJRQWX.js} +3 -3
  74. package/dist/cli/{migrate-claude-mem-A4Y6PJ6U.js → migrate-claude-mem-NU7QS3UX.js} +3 -3
  75. package/dist/cli/{next-5OVPJMEV.js → next-XMN2PCF6.js} +3 -3
  76. package/dist/cli/{nexus-22VI2U4T.js → nexus-FLRYWNCM.js} +3 -3
  77. package/dist/cli/{nexus-ZKI6NP6X.js → nexus-RL2NS4ZH.js} +2 -2
  78. package/dist/cli/{ops-2AKJ4FJW.js → ops-IPFSX3RT.js} +3 -3
  79. package/dist/cli/{orchestrate-RLR6XSDW.js → orchestrate-DENHBTRO.js} +6 -6
  80. package/dist/cli/{orchestrate-PSMJ44IP.js → orchestrate-NQTQBBLU.js} +3 -3
  81. package/dist/cli/owner-override-cap-33U23MZF.js +90 -0
  82. package/dist/cli/owner-password-NWLUNXP2.js +24 -0
  83. package/dist/cli/{phase-YRQA3DYR.js → phase-TIGSK6KW.js} +3 -3
  84. package/dist/cli/{pipeline-TNTHTBVX.js → pipeline-FQZ53XBZ.js} +2 -2
  85. package/dist/cli/{pivot-EHYMCYO7.js → pivot-VX4MPRCN.js} +3 -3
  86. package/dist/cli/{plan-HY26HGMF.js → plan-RP5UYPHG.js} +3 -3
  87. package/dist/cli/{playbook-ZNMYOZEH.js → playbook-EMTBIOAB.js} +3 -3
  88. package/dist/cli/{playbook-LM5NBNOC.js → playbook-YPGSNILZ.js} +3 -3
  89. package/dist/cli/project-hook-entry.js +7 -1
  90. package/dist/cli/{promote-5BRIE2T4.js → promote-SUXQ4OMO.js} +3 -3
  91. package/dist/cli/{provenance-H644NDFO.js → provenance-FDL6BX7E.js} +3 -3
  92. package/dist/cli/{provider-BJ6BNBIS.js → provider-YLQIEB3J.js} +3 -3
  93. package/dist/cli/{reason-HBEO2753.js → reason-F5YEILR3.js} +3 -3
  94. package/dist/cli/{reconcile-S6T5UHQN.js → reconcile-5G5HQOH7.js} +3 -3
  95. package/dist/cli/{relates-NOSTPL4R.js → relates-VH5NYZP6.js} +3 -3
  96. package/dist/cli/{release-OSCULE4Q.js → release-L6P2ZB46.js} +10 -4
  97. package/dist/cli/{release-PKAGPJN3.js → release-OWPFPUQG.js} +2 -1
  98. package/dist/cli/{reorder-X22N2FKV.js → reorder-PEK3IJSR.js} +3 -3
  99. package/dist/cli/{reparent-CNM4XSPW.js → reparent-SA2KF7FY.js} +3 -3
  100. package/dist/cli/{req-254BPPJU.js → req-SEK5I7VH.js} +3 -3
  101. package/dist/cli/{research-UG3DUDHM.js → research-LIVELT7M.js} +3 -3
  102. package/dist/cli/{restore-M5P6MKE3.js → restore-SYUUWZTZ.js} +3 -3
  103. package/dist/cli/{roadmap-M6TYY7I5.js → roadmap-7RGZWSIO.js} +3 -3
  104. package/dist/cli/{safestop-N5L3XBKK.js → safestop-PDLIM5IB.js} +3 -3
  105. package/dist/cli/{saga-M5UFDGZM.js → saga-UCXKHLNQ.js} +3 -3
  106. package/dist/cli/{selfimprove-A3XT2BHD.js → selfimprove-PVI6YN5K.js} +2 -2
  107. package/dist/cli/{selfimprove-AGNCOXVU.js → selfimprove-S3Z4UH42.js} +3 -3
  108. package/dist/cli/{sequence-XXC2CCLF.js → sequence-TYCICZY5.js} +3 -3
  109. package/dist/cli/{service-ADRHYJBL.js → service-5YWHQI43.js} +3 -3
  110. package/dist/cli/{session-IDKRJ6W4.js → session-4KVDK3ZK.js} +33 -55
  111. package/dist/cli/{session-6C5QVXAM.js → session-4LLPMS74.js} +4 -9
  112. package/dist/cli/{show-SYSP55IB.js → show-D66D5GQB.js} +3 -3
  113. package/dist/cli/{skills-7SHZ4FC7.js → skills-RJZAVLOT.js} +3 -3
  114. package/dist/cli/{snapshot-UNKPHSKL.js → snapshot-FFRZPOYI.js} +3 -3
  115. package/dist/cli/{src-Z6N34VBV.js → src-5Y6MZ3CJ.js} +2 -2
  116. package/dist/cli/{start-7WSQ4QGK.js → start-AB6VMOZ2.js} +3 -3
  117. package/dist/cli/{stats-2BYC4DHQ.js → stats-ZGLRW5RJ.js} +3 -3
  118. package/dist/cli/{sticky-TTXZDPB2.js → sticky-KBZ2ERSM.js} +3 -3
  119. package/dist/cli/{stop-4TJ2NV7G.js → stop-NJJHNLES.js} +3 -3
  120. package/dist/cli/{stop-dispatch-entry-SD2OQH4F.js → stop-dispatch-entry-3F5BKAU5.js} +7 -10
  121. package/dist/cli/{sync-ITL2DQTZ.js → sync-TMQWA4T3.js} +3 -3
  122. package/dist/cli/{tasks-XZZDVJEU.js → tasks-DE27552X.js} +43 -5
  123. package/dist/cli/{tasks-VEGD6UWL.js → tasks-IDBUBU77.js} +2 -2
  124. package/dist/cli/{testing-SIA74RU4.js → testing-6Z7CLWKY.js} +3 -3
  125. package/dist/cli/{token-ERSSOPJK.js → token-PZNTFHPN.js} +3 -3
  126. package/dist/cli/{update-QRVDAUM4.js → update-JHHFBPD7.js} +3 -3
  127. package/dist/cli/{verify-AZ4WZUCG.js → verify-7ZBKHBDT.js} +3 -3
  128. package/dist/cli/{worktree-AORS2DWF.js → worktree-DOBDI3O2.js} +3 -3
  129. package/package.json +14 -14
  130. package/studio-dist/client/_app/immutable/chunks/Ay1rLloA.js +3 -0
  131. package/studio-dist/client/_app/immutable/chunks/{BtNajhY5.js → B9nuq9mE.js} +1 -1
  132. package/studio-dist/client/_app/immutable/chunks/Bpy2OezQ.js +1 -0
  133. package/studio-dist/client/_app/immutable/chunks/{CymtEX-h.js → DgdiBane.js} +1 -1
  134. package/studio-dist/client/_app/immutable/entry/{app.z7HoH3aa.js → app.Coyo64_K.js} +2 -2
  135. package/studio-dist/client/_app/immutable/entry/start.jrQAGYyE.js +1 -0
  136. package/studio-dist/client/_app/immutable/nodes/{0.Cd2FPW_v.js → 0.B5O-t1bz.js} +1 -1
  137. package/studio-dist/client/_app/immutable/nodes/{1.CiQvRSyi.js → 1.DOi7U9ki.js} +1 -1
  138. package/studio-dist/client/_app/immutable/nodes/{15.DHJRLdX_.js → 15.XxGn2aV2.js} +1 -1
  139. package/studio-dist/client/_app/immutable/nodes/{16.V-OLXP78.js → 16._5EdCCjc.js} +1 -1
  140. package/studio-dist/client/_app/immutable/nodes/{17.D6OCr9ay.js → 17.De2-UdSb.js} +1 -1
  141. package/studio-dist/client/_app/immutable/nodes/{18.D8fejEOP.js → 18.Cmd7nvmd.js} +1 -1
  142. package/studio-dist/client/_app/immutable/nodes/{20.CWDkzA-8.js → 20.Dcdf2pto.js} +1 -1
  143. package/studio-dist/client/_app/immutable/nodes/{24.Bp5DCiL_.js → 24.D_JYI-2D.js} +1 -1
  144. package/studio-dist/client/_app/immutable/nodes/{25.FDqhwpLG.js → 25.DxMsGV4d.js} +2 -2
  145. package/studio-dist/client/_app/immutable/nodes/{26.jF5o2l_A.js → 26.DdAIDZft.js} +1 -1
  146. package/studio-dist/client/_app/immutable/nodes/{3.BQOI1cnV.js → 3.C3NFvp2h.js} +1 -1
  147. package/studio-dist/client/_app/version.json +1 -1
  148. package/studio-dist/server/chunks/{0-DonWUng4.js → 0-Bsyltjn-.js} +3 -3
  149. package/studio-dist/server/chunks/1-CZCYQoII.js +9 -0
  150. package/studio-dist/server/chunks/{15-TSfWXu_o.js → 15-DZKx-Nmu.js} +3 -3
  151. package/studio-dist/server/chunks/{16-BO0cxoBu.js → 16-BRAV8xop.js} +3 -3
  152. package/studio-dist/server/chunks/{17-C6Se03iK.js → 17-Ch7OAACT.js} +3 -3
  153. package/studio-dist/server/chunks/{18-DNGSK5Lj.js → 18-FHmJby11.js} +3 -3
  154. package/studio-dist/server/chunks/{20-CUgxt-F9.js → 20-oWFR9Cot.js} +3 -3
  155. package/studio-dist/server/chunks/{24-BAS-bXVN.js → 24-BVQ9gcfO.js} +3 -3
  156. package/studio-dist/server/chunks/{25-DfzOiH-v.js → 25-C3zQvWhi.js} +7 -7
  157. package/studio-dist/server/chunks/{26-QZ0qPvXm.js → 26-BrLSrIbM.js} +3 -3
  158. package/studio-dist/server/chunks/{3-C1KU7Jv5.js → 3-BYE4D6fR.js} +3 -3
  159. package/studio-dist/server/chunks/{_layout.svelte-CfNsm-gB.js → _layout.svelte-DtcT4CUZ.js} +4 -4
  160. package/studio-dist/server/chunks/{_page.svelte-DAR7a-cL.js → _page.svelte-BDGzaOK_.js} +3 -3
  161. package/studio-dist/server/chunks/{_page.svelte-BaLy8nED.js → _page.svelte-BNosY8H6.js} +3 -3
  162. package/studio-dist/server/chunks/{_page.svelte-B3cHMMCk.js → _page.svelte-Bi_w8dgB.js} +3 -3
  163. package/studio-dist/server/chunks/{_page.svelte-Cm7baYTO.js → _page.svelte-BwIhCguA.js} +4 -4
  164. package/studio-dist/server/chunks/{_page.svelte-gYvInO8m.js → _page.svelte-CwmOg_14.js} +3 -3
  165. package/studio-dist/server/chunks/{_page.svelte-D_YKs0-q.js → _page.svelte-CynzfzFn.js} +3 -3
  166. package/studio-dist/server/chunks/{_page.svelte-Dbwn5Vwl.js → _page.svelte-DSSjZ4Ij.js} +3 -3
  167. package/studio-dist/server/chunks/{_page.svelte-KvLu4lkw.js → _page.svelte-DTM0lmtF.js} +3 -3
  168. package/studio-dist/server/chunks/{_page.svelte-BAzLdXr_.js → _page.svelte-UqahgDJe.js} +6 -6
  169. package/studio-dist/server/chunks/{_server.ts-CW0ctEz2.js → _server.ts-BGBet--r.js} +3 -3
  170. package/studio-dist/server/chunks/{_server.ts-BmefNp5l.js → _server.ts-Bd-DDdja.js} +3 -3
  171. package/studio-dist/server/chunks/{_server.ts-BYWRofhy.js → _server.ts-DYJHq2oI.js} +2 -2
  172. package/studio-dist/server/chunks/{_server.ts-DSrw1-VA.js → _server.ts-Dkffekz1.js} +3 -3
  173. package/studio-dist/server/chunks/{_server.ts-DUkqomD_.js → _server.ts-JAeH5Mds.js} +3 -3
  174. package/studio-dist/server/chunks/{client-Bp8Zz31o.js → client-Cqhr1-Zy.js} +2 -2
  175. package/studio-dist/server/chunks/{error.svelte-DbOJOSFA.js → error.svelte-ChgNISJ7.js} +3 -3
  176. package/studio-dist/server/chunks/{http-BG47-h-E.js → http-C02RnABR.js} +2 -2
  177. package/studio-dist/server/chunks/{internal-CgCkizDO.js → internal-DZfMPAsi.js} +2 -2
  178. package/studio-dist/server/chunks/{operations-registry-B6xgg0Je.js → operations-registry-DtRhMtMw.js} +7 -1
  179. package/studio-dist/server/chunks/{stores-BYbOhDLg.js → stores-BMGs1iV0.js} +2 -2
  180. package/studio-dist/server/index.js +1 -1
  181. package/studio-dist/server/manifest.js +17 -17
  182. package/dist/cli/go-VGOX7KDL.js +0 -206
  183. package/dist/cli/goal-DQHIX4HW.js +0 -303
  184. package/studio-dist/client/_app/immutable/chunks/B2LpF4Un.js +0 -3
  185. package/studio-dist/client/_app/immutable/chunks/o_cbWkPf.js +0 -1
  186. package/studio-dist/client/_app/immutable/entry/start.Ba7MpyOb.js +0 -1
  187. package/studio-dist/server/chunks/1-B4bOWYWI.js +0 -9
@@ -0,0 +1,183 @@
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 "./chunk-C3B7C43W.js";
17
+ import {
18
+ defineCommand,
19
+ showUsage
20
+ } from "./chunk-PKKZPOOP.js";
21
+ import {
22
+ cliError,
23
+ cliOutput
24
+ } from "./chunk-4RGSNUUP.js";
25
+ import "./chunk-6JSJNYH2.js";
26
+
27
+ // packages/cleo/src/cli/commands/goal.ts
28
+ import { ExitCode } from "@cleocode/contracts/exit-codes.js";
29
+ import { getProjectRoot } from "@cleocode/core";
30
+ var draftCommand = defineCommand({
31
+ meta: {
32
+ name: "draft",
33
+ description: "Write a goal/v1 draft (goal.yaml) from tasks' acceptance criteria. Never starts a run or overwrites a file."
34
+ },
35
+ args: {
36
+ taskId: { type: "positional", description: "Primary task id (names the goal)" },
37
+ tasks: { type: "string", description: "More task ids the goal serves, comma-separated" },
38
+ out: {
39
+ type: "string",
40
+ description: "Output file <id>/goal.yaml inside the project; <id> becomes the goal id (default .opencode/goals/<slug>/goal.yaml)"
41
+ }
42
+ },
43
+ async run({ args }) {
44
+ const ids = [
45
+ ...new Set(
46
+ [String(args.taskId ?? ""), ...String(args.tasks ?? "").split(",")].map((s) => s.trim()).filter(Boolean)
47
+ )
48
+ ];
49
+ const { draftGoal } = await import("@cleocode/core/goal/draft.js");
50
+ const result = await draftGoal(ids, {
51
+ projectRoot: getProjectRoot(),
52
+ ...typeof args.out === "string" && args.out ? { out: args.out } : {}
53
+ });
54
+ if (!result.success) {
55
+ cliError(result.error.message, result.error.code, { fix: result.error.fix });
56
+ process.exitCode = result.error.exitCode ?? 1;
57
+ return;
58
+ }
59
+ cliOutput(result.data, { command: "goal draft", operation: "goal.draft" });
60
+ }
61
+ });
62
+ var closeCommand = defineCommand({
63
+ meta: {
64
+ name: "close",
65
+ description: "Record a goal run's per-AC evidence from its outcome file, then complete each task whose criteria are all proven (via cleo done)"
66
+ },
67
+ args: {
68
+ slug: { type: "positional", description: "Goal slug (.opencode/goals/<slug>/goal.yaml)" },
69
+ outcome: {
70
+ type: "string",
71
+ description: "Path of the goal-outcome/v1 JSON file",
72
+ required: true
73
+ }
74
+ },
75
+ async run({ args }) {
76
+ const slug = String(args.slug ?? "").trim();
77
+ if (!slug || typeof args.outcome !== "string" || !args.outcome) {
78
+ cliError("goal close needs <slug> and --outcome <file>", ExitCode.VALIDATION_ERROR, {
79
+ name: "E_VALIDATION"
80
+ });
81
+ return;
82
+ }
83
+ const projectRoot = getProjectRoot();
84
+ const { closeGoal } = await import("@cleocode/core/goal/close.js");
85
+ const closed = await closeGoal(slug, { projectRoot, outcomePath: args.outcome });
86
+ if (!closed.success) {
87
+ cliError(closed.error.message, closed.error.code, { fix: closed.error.fix });
88
+ process.exitCode = closed.error.exitCode ?? 1;
89
+ return;
90
+ }
91
+ const ready = closed.data.tasks.filter((t) => t.ready);
92
+ const completions = [];
93
+ if (ready.length > 0) {
94
+ const { recordTasksDone } = await import("@cleocode/core/tasks/done-record.js");
95
+ const { doneBatchEntry } = await import("./done-DB7KU3XS.js");
96
+ for (const task of ready) {
97
+ const commit = task.completionCommit ? { commit: task.completionCommit } : {};
98
+ for (const { taskId, result } of await recordTasksDone([task.taskId], {
99
+ projectRoot,
100
+ ...commit
101
+ })) {
102
+ completions.push(await doneBatchEntry(taskId, result, { taskId }));
103
+ }
104
+ }
105
+ }
106
+ cliOutput(
107
+ {
108
+ ...closed.data,
109
+ tasks: closed.data.tasks.map((t) => ({
110
+ ...t,
111
+ completion: completions.find((c) => c.taskId === t.taskId) ?? null
112
+ }))
113
+ },
114
+ { command: "goal close", operation: "goal.close" }
115
+ );
116
+ }
117
+ });
118
+ var installCommand = defineCommand({
119
+ meta: {
120
+ name: "install",
121
+ description: "Register the CLEO Goal runtime (cleo-goal) with a harness for this project: opencode runs cleo-goal install --project; claude and codex install the project Stop dispatcher. Never writes user-global config."
122
+ },
123
+ args: {
124
+ harness: {
125
+ type: "string",
126
+ description: "Harness: opencode, claude, codex, hermes or kimi",
127
+ required: true
128
+ }
129
+ },
130
+ async run({ args }) {
131
+ const { installGoalForHarness } = await import("@cleocode/core/goal/runtime.js");
132
+ const result = await installGoalForHarness(getProjectRoot(), String(args.harness ?? ""));
133
+ if (!result.success) {
134
+ cliError(result.error.message, result.error.code, { fix: result.error.fix });
135
+ process.exitCode = result.error.exitCode ?? 1;
136
+ return;
137
+ }
138
+ cliOutput(result.data, { command: "goal install", operation: "goal.install" });
139
+ }
140
+ });
141
+ var statusCommand = defineCommand({
142
+ meta: {
143
+ name: "status",
144
+ description: "Show the drafted goals, the CLEO tasks each serves, and the live CLEO Goal run (cleo-goal status --json); read-only, --task filters to one task"
145
+ },
146
+ args: {
147
+ task: { type: "string", description: "Only goals serving this task (T123)" }
148
+ },
149
+ async run({ args }) {
150
+ const { goalStatus } = await import("@cleocode/core/goal/status.js");
151
+ const result = goalStatus({
152
+ projectRoot: getProjectRoot(),
153
+ ...typeof args.task === "string" && args.task ? { taskId: args.task } : {}
154
+ });
155
+ if (!result.success) {
156
+ cliError(result.error.message, result.error.code, { fix: result.error.fix });
157
+ process.exitCode = result.error.exitCode ?? 1;
158
+ return;
159
+ }
160
+ cliOutput(result.data, { command: "goal status", operation: "goal.status" });
161
+ }
162
+ });
163
+ var goalCommand = defineCommand({
164
+ meta: {
165
+ name: "goal",
166
+ description: "Goal protocol verbs for the goal runtime (CLEO Goal): draft a goal/v1 contract from task ACs, close a run from its outcome, install the runtime for a harness, show status."
167
+ },
168
+ subCommands: {
169
+ draft: draftCommand,
170
+ close: closeCommand,
171
+ install: installCommand,
172
+ status: statusCommand
173
+ },
174
+ async run({ cmd, rawArgs }) {
175
+ const firstArg = rawArgs?.find((a) => !a.startsWith("-"));
176
+ if (firstArg && cmd.subCommands && firstArg in cmd.subCommands) return;
177
+ await showUsage(cmd);
178
+ }
179
+ });
180
+ export {
181
+ goalCommand
182
+ };
183
+ //# sourceMappingURL=goal-M2RSUPGF.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-EELKU7NB.js";
18
+ } from "./chunk-RNMULXXQ.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-QC3IIDLX.js";
28
+ import "./chunk-WNDM2PS5.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-U2EG6IS6.js.map
57
+ //# sourceMappingURL=grade-KQJXXRTF.js.map
@@ -16,7 +16,7 @@
16
16
  import {
17
17
  dispatchFromCli,
18
18
  dispatchRaw
19
- } from "./chunk-EELKU7NB.js";
19
+ } from "./chunk-RNMULXXQ.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-QC3IIDLX.js";
37
+ import "./chunk-WNDM2PS5.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-PPTCVP7U.js.map
879
+ //# sourceMappingURL=graph-JSYDG4AT.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-EELKU7NB.js";
18
+ } from "./chunk-RNMULXXQ.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-QC3IIDLX.js";
29
+ import "./chunk-WNDM2PS5.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-7WBL7O35.js.map
138
+ //# sourceMappingURL=history-ODQ5I7FU.js.map
@@ -212,4 +212,4 @@ var hookCommand = defineCommand({
212
212
  export {
213
213
  hookCommand
214
214
  };
215
- //# sourceMappingURL=hook-TQXXIWXR.js.map
215
+ //# sourceMappingURL=hook-7MXTCG3M.js.map
@@ -574,7 +574,7 @@ async function runAskEnforce(rest, io) {
574
574
  }
575
575
  }
576
576
  async function runStopDispatch(rest, io) {
577
- const entry = await import("./stop-dispatch-entry-SD2OQH4F.js");
577
+ const entry = await import("./stop-dispatch-entry-3F5BKAU5.js");
578
578
  const value = providerArg(rest);
579
579
  const provider = entry.STOP_DISPATCH_PROVIDERS.find((p) => p === value);
580
580
  if (provider === void 0) {
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-EELKU7NB.js";
18
+ } from "./chunk-RNMULXXQ.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-QC3IIDLX.js";
29
+ import "./chunk-WNDM2PS5.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-CQYUQJ2Q.js.map
89
+ //# sourceMappingURL=import-2IWGFLL6.js.map
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-47JYZAMS.js";
19
19
  import {
20
20
  dispatchFromCli
21
- } from "./chunk-EELKU7NB.js";
21
+ } from "./chunk-RNMULXXQ.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-QC3IIDLX.js";
31
+ import "./chunk-WNDM2PS5.js";
32
32
 
33
33
  // packages/cleo/src/cli/commands/import-tasks.ts
34
34
  var importTasksCommand = defineCommand({
@@ -106,4 +106,4 @@ var importTasksCommand = defineCommand({
106
106
  export {
107
107
  importTasksCommand
108
108
  };
109
- //# sourceMappingURL=import-tasks-JK6BOMQ6.js.map
109
+ //# sourceMappingURL=import-tasks-PVLAISBB.js.map