@cleocode/cleo 2026.10.3 → 2026.10.4

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 (307) hide show
  1. package/bin/cleo.js +11 -1
  2. package/dist/cli/adapter-LVXHFBC4.js +158 -0
  3. package/dist/cli/add-WUAV7LDT.js +443 -0
  4. package/dist/cli/add-batch-U2DLKAQC.js +163 -0
  5. package/dist/cli/admin-I7BQYVZD.js +340 -0
  6. package/dist/cli/adr-K2THMQBS.js +171 -0
  7. package/dist/cli/agent-WQ6XY2DW.js +2366 -0
  8. package/dist/cli/agent-outputs-BJIYLVTU.js +84 -0
  9. package/dist/cli/analyze-PGQZWGOC.js +48 -0
  10. package/dist/cli/archive-5LZPF7C3.js +64 -0
  11. package/dist/cli/archive-stats-U6CYC6JM.js +100 -0
  12. package/dist/cli/attention-SOURWCNI.js +167 -0
  13. package/dist/cli/audit-FO2Y4LH2.js +122 -0
  14. package/dist/cli/auth-ED7TAIXI.js +491 -0
  15. package/dist/cli/backfill-32TRAYRD.js +156 -0
  16. package/dist/cli/backup-LEJMZJKL.js +587 -0
  17. package/dist/cli/backup-inspect-6HPLUEI2.js +26 -0
  18. package/dist/cli/backup-recover-2BTYBZU2.js +29 -0
  19. package/dist/cli/blockers-5JULUJTV.js +54 -0
  20. package/dist/cli/brain-273N3FW4.js +400 -0
  21. package/dist/cli/briefing-7H6OLECX.js +212 -0
  22. package/dist/cli/caamp-MFQVN6VU.js +181 -0
  23. package/dist/cli/cancel-SCMJTXZB.js +84 -0
  24. package/dist/cli/canon-NPF5RODM.js +142 -0
  25. package/dist/cli/canon-docs-2GTOLF7Y.js +26 -0
  26. package/dist/cli/cant-46XCUP4P.js +239 -0
  27. package/dist/cli/changeset-32NMBGG2.js +248 -0
  28. package/dist/cli/check-RWJLBCI2.js +907 -0
  29. package/dist/cli/checkpoint-37HMMKD7.js +128 -0
  30. package/dist/cli/chunk-2JIJD2I7.js +108 -0
  31. package/dist/cli/chunk-37NU2XDP.js +171 -0
  32. package/dist/cli/chunk-3IOQVUO7.js +17308 -0
  33. package/dist/cli/chunk-3PGH67MT.js +175 -0
  34. package/dist/cli/chunk-3ZO3M37V.js +1002 -0
  35. package/dist/cli/chunk-47JYZAMS.js +30 -0
  36. package/dist/cli/chunk-5J2VH3BC.js +66 -0
  37. package/dist/cli/chunk-5ZFFUFH7.js +92 -0
  38. package/dist/cli/chunk-6JSJNYH2.js +114 -0
  39. package/dist/cli/chunk-7INMKEAD.js +85 -0
  40. package/dist/cli/chunk-A2IUEIM5.js +278 -0
  41. package/dist/cli/chunk-AWCQH2W5.js +35 -0
  42. package/dist/cli/chunk-AYA6F4ZT.js +56 -0
  43. package/dist/cli/chunk-BCEXRFA2.js +76 -0
  44. package/dist/cli/chunk-BPEVD37G.js +124 -0
  45. package/dist/cli/chunk-C3B7C43W.js +16 -0
  46. package/dist/cli/chunk-DVTPIZJM.js +72 -0
  47. package/dist/cli/chunk-DYABOIHB.js +96 -0
  48. package/dist/cli/chunk-EBRZ76HS.js +51 -0
  49. package/dist/cli/chunk-EGOTK2HA.js +57 -0
  50. package/dist/cli/chunk-EOPQFCSR.js +148 -0
  51. package/dist/cli/chunk-FORFDPP5.js +288 -0
  52. package/dist/cli/chunk-GFGLLDXX.js +110 -0
  53. package/dist/cli/chunk-GH37QXW5.js +280 -0
  54. package/dist/cli/chunk-GZFVDR44.js +320 -0
  55. package/dist/cli/chunk-I3CRQQAD.js +225 -0
  56. package/dist/cli/chunk-J3ZFM3UQ.js +754 -0
  57. package/dist/cli/chunk-JNZJPIPJ.js +90 -0
  58. package/dist/cli/chunk-KHB52JNB.js +209 -0
  59. package/dist/cli/chunk-KJDWWQFY.js +46 -0
  60. package/dist/cli/chunk-LKNUA3SB.js +83 -0
  61. package/dist/cli/chunk-LVGIFMCV.js +163 -0
  62. package/dist/cli/chunk-LWQBJQSE.js +67 -0
  63. package/dist/cli/chunk-MNJRLSEQ.js +107 -0
  64. package/dist/cli/chunk-NRKWJLMS.js +91 -0
  65. package/dist/cli/chunk-NSHV2JNM.js +48 -0
  66. package/dist/cli/chunk-NWTATTEQ.js +210 -0
  67. package/dist/cli/chunk-OAPN46TC.js +89 -0
  68. package/dist/cli/chunk-OGV57L4J.js +59 -0
  69. package/dist/cli/chunk-OILHT47L.js +252 -0
  70. package/dist/cli/chunk-OPTEQKBB.js +258 -0
  71. package/dist/cli/chunk-PKKZPOOP.js +352 -0
  72. package/dist/cli/chunk-QA6T2LQ5.js +71 -0
  73. package/dist/cli/chunk-QFFQSKRC.js +4497 -0
  74. package/dist/cli/chunk-QPUY2HQZ.js +74 -0
  75. package/dist/cli/chunk-REUTEW3O.js +258 -0
  76. package/dist/cli/chunk-S24YI723.js +88 -0
  77. package/dist/cli/chunk-SXXOC6KZ.js +209 -0
  78. package/dist/cli/chunk-ULN4OKQQ.js +259 -0
  79. package/dist/cli/chunk-V5GBGOGM.js +46 -0
  80. package/dist/cli/chunk-VLEYOOPH.js +31 -0
  81. package/dist/cli/chunk-W33Q3FBH.js +66 -0
  82. package/dist/cli/chunk-W3JLYKKY.js +140 -0
  83. package/dist/cli/chunk-XRAX6XFP.js +48 -0
  84. package/dist/cli/chunk-YGKEECTI.js +78 -0
  85. package/dist/cli/chunk-YUZJI67I.js +108 -0
  86. package/dist/cli/chunk-YY66LFZF.js +29 -0
  87. package/dist/cli/chunk-ZBISIPCK.js +78 -0
  88. package/dist/cli/chunk-ZZTHTMQP.js +77 -0
  89. package/dist/cli/claim-KPENYHIQ.js +96 -0
  90. package/dist/cli/classify-DRVMCFQU.js +117 -0
  91. package/dist/cli/cli-T3CR7J57.js +48 -0
  92. package/dist/cli/cloud-PPQ4O5TX.js +565 -0
  93. package/dist/cli/cockpit-RZKLGYPN.js +790 -0
  94. package/dist/cli/code-Z5CTMVTD.js +178 -0
  95. package/dist/cli/complete-UBOCOBRB.js +34 -0
  96. package/dist/cli/complexity-BV2AGQRZ.js +56 -0
  97. package/dist/cli/compliance-32PD5Y47.js +276 -0
  98. package/dist/cli/conduit-VDKCH33F.js +307 -0
  99. package/dist/cli/config-I72JAXK4.js +516 -0
  100. package/dist/cli/consensus-LFILLSTK.js +121 -0
  101. package/dist/cli/context-XUUVFVTP.js +141 -0
  102. package/dist/cli/contribution-37NQ4N5R.js +111 -0
  103. package/dist/cli/curator-TFDXU2EX.js +139 -0
  104. package/dist/cli/current-C4SN5BWV.js +42 -0
  105. package/dist/cli/daemon-DV25JQ62.js +451 -0
  106. package/dist/cli/dash-TFU4RLQW.js +70 -0
  107. package/dist/cli/decide-5VPMNTSI.js +419 -0
  108. package/dist/cli/decompose-KOYEZNJL.js +77 -0
  109. package/dist/cli/decomposition-7OHUFIQN.js +121 -0
  110. package/dist/cli/delete-Q7YCAFY5.js +68 -0
  111. package/dist/cli/deps-6UZKLDGJ.js +463 -0
  112. package/dist/cli/detect-FERY35UL.js +45 -0
  113. package/dist/cli/detect-drift-UL2JTPUK.js +408 -0
  114. package/dist/cli/diagnostics-TI5QAZXR.js +132 -0
  115. package/dist/cli/docs-QI2PRN3T.js +3095 -0
  116. package/dist/cli/doctor-AX5TICQO.js +1253 -0
  117. package/dist/cli/doctor-ac-bindings-YPMYHU2G.js +26 -0
  118. package/dist/cli/doctor-acceptance-drift-PYNFGMKB.js +26 -0
  119. package/dist/cli/doctor-credentials-UZRIADKM.js +26 -0
  120. package/dist/cli/doctor-db-substrate-Q2TOYM2S.js +27 -0
  121. package/dist/cli/doctor-dep-cycles-GCVYZY6F.js +26 -0
  122. package/dist/cli/doctor-exodus-RO5SUTC2.js +26 -0
  123. package/dist/cli/doctor-exodus-residue-EM2AWQXP.js +26 -0
  124. package/dist/cli/doctor-fk-check-Q3FOLECE.js +26 -0
  125. package/dist/cli/doctor-global-delivery-TNOAQ3NP.js +26 -0
  126. package/dist/cli/doctor-heavy-command-hook-IO3QAQLG.js +26 -0
  127. package/dist/cli/doctor-legacy-backups-O2YH5VLS.js +26 -0
  128. package/dist/cli/doctor-legacy-reaper-VSEJEIFA.js +26 -0
  129. package/dist/cli/doctor-malformed-ids-LQ766V5K.js +26 -0
  130. package/dist/cli/doctor-manifest-rows-6FQDNHLH.js +26 -0
  131. package/dist/cli/doctor-memory-guard-J4PSEKB5.js +26 -0
  132. package/dist/cli/doctor-migrations-ONOH56YM.js +26 -0
  133. package/dist/cli/doctor-nexus-residency-FUQAX7PV.js +26 -0
  134. package/dist/cli/doctor-project-identity-GUDK3HYX.js +26 -0
  135. package/dist/cli/doctor-projects-7L3BNL4O.js +30 -0
  136. package/dist/cli/doctor-projects-registry-TEAVHFQU.js +26 -0
  137. package/dist/cli/doctor-release-readiness-IEGHX6SL.js +26 -0
  138. package/dist/cli/doctor-repair-NBONOSZU.js +26 -0
  139. package/dist/cli/doctor-skill-fixtures-7Y6L34A3.js +26 -0
  140. package/dist/cli/doctor-split-brain-TUKIGVHF.js +26 -0
  141. package/dist/cli/doctor-superseded-store-BHZY2B2L.js +26 -0
  142. package/dist/cli/doctor-tool-locks-REQMIVYK.js +26 -0
  143. package/dist/cli/doctor-twin-collapse-222GOSPE.js +26 -0
  144. package/dist/cli/doctor-worktree-stores-J7TCRVJ3.js +26 -0
  145. package/dist/cli/done-V3AOO65B.js +195 -0
  146. package/dist/cli/dynamic-RR4HB7BB.js +29 -0
  147. package/dist/cli/event-EGNPGE5A.js +372 -0
  148. package/dist/cli/exists-H4SDCBPL.js +65 -0
  149. package/dist/cli/exodus-KALO3B3X.js +401 -0
  150. package/dist/cli/export-ROFOCG4M.js +92 -0
  151. package/dist/cli/export-tasks-US3WBIEQ.js +96 -0
  152. package/dist/cli/federation-SUIB5QWT.js +145 -0
  153. package/dist/cli/find-YICG4BG6.js +177 -0
  154. package/dist/cli/focus-TKCZPKOM.js +55 -0
  155. package/dist/cli/gateway-H4HFDC3E.js +77 -0
  156. package/dist/cli/gateway-auto-start-EDK7XI6E.js +36 -0
  157. package/dist/cli/gc-5R2TUY5T.js +291 -0
  158. package/dist/cli/go-PRQFK5YG.js +206 -0
  159. package/dist/cli/goal-7CZRMLHC.js +212 -0
  160. package/dist/cli/grade-PY2YRPUS.js +56 -0
  161. package/dist/cli/graph-XIXMCFKG.js +878 -0
  162. package/dist/cli/history-EIXADPAD.js +137 -0
  163. package/dist/cli/hook-UF7J7R6D.js +57 -0
  164. package/dist/cli/hook-entry.js +244 -19
  165. package/dist/cli/hygiene-3QZ2NI7P.js +55 -0
  166. package/dist/cli/import-R73SO444.js +88 -0
  167. package/dist/cli/import-tasks-O22FZJ4U.js +108 -0
  168. package/dist/cli/index.js +419 -94612
  169. package/dist/cli/init-IHEJDQWU.js +40 -0
  170. package/dist/cli/inject-LSRVWNCP.js +82 -0
  171. package/dist/cli/install-global-4AZUCH6U.js +95 -0
  172. package/dist/cli/intelligence-2OSFOGD2.js +181 -0
  173. package/dist/cli/issue-IIWEDNFC.js +158 -0
  174. package/dist/cli/janitor-GPMC7VOR.js +111 -0
  175. package/dist/cli/labels-5NPOIQXN.js +87 -0
  176. package/dist/cli/lifecycle-4FFS2K2T.js +272 -0
  177. package/dist/cli/list-47KEUGPQ.js +108 -0
  178. package/dist/cli/llm-G5B3I6GD.js +703 -0
  179. package/dist/cli/llm-cost-S7RS6BVA.js +25 -0
  180. package/dist/cli/llm-stream-24A45NTS.js +27 -0
  181. package/dist/cli/log-XF6H2XSD.js +75 -0
  182. package/dist/cli/login-LBPLGHYG.js +43 -0
  183. package/dist/cli/logout-SX4JSJIV.js +74 -0
  184. package/dist/cli/manifest-NMCW4PIW.js +353 -0
  185. package/dist/cli/map-BU72KMGF.js +52 -0
  186. package/dist/cli/memory-UHYIVGVM.js +1956 -0
  187. package/dist/cli/migrate-agents-v2-OO7OILZK.js +33 -0
  188. package/dist/cli/migrate-claude-mem-EDNYUY3K.js +201 -0
  189. package/dist/cli/next-RZFRG5X7.js +56 -0
  190. package/dist/cli/nexus-4S4Z5EVU.js +2923 -0
  191. package/dist/cli/ops-KR7AWCG3.js +51 -0
  192. package/dist/cli/orchestrate-HOYZY3VX.js +948 -0
  193. package/dist/cli/otel-U7IIRBCT.js +188 -0
  194. package/dist/cli/phase-NYZFHUE5.js +220 -0
  195. package/dist/cli/pivot-FF2CVUZL.js +87 -0
  196. package/dist/cli/plan-3SL2NTRV.js +48 -0
  197. package/dist/cli/playbook-2FCBV7N3.js +229 -0
  198. package/dist/cli/project-WDX2TGMC.js +330 -0
  199. package/dist/cli/promote-YINYFBZY.js +52 -0
  200. package/dist/cli/provenance-C7AYD7WG.js +128 -0
  201. package/dist/cli/provider-QLJEDQBR.js +212 -0
  202. package/dist/cli/reason-JF5BHBM5.js +137 -0
  203. package/dist/cli/reconcile-NMISHDGX.js +127 -0
  204. package/dist/cli/refresh-memory-EY5YNICV.js +45 -0
  205. package/dist/cli/relates-R3ZPICAY.js +259 -0
  206. package/dist/cli/release-4ZJTMUUT.js +524 -0
  207. package/dist/cli/remote-QSONJDIK.js +279 -0
  208. package/dist/cli/renderers-64OR3IWX.js +37 -0
  209. package/dist/cli/reorder-J3DOE7ST.js +86 -0
  210. package/dist/cli/reparent-2OUMKEZX.js +58 -0
  211. package/dist/cli/req-TZB7OFKO.js +129 -0
  212. package/dist/cli/research-MTD7EX45.js +365 -0
  213. package/dist/cli/restore-VEUOX7NF.js +423 -0
  214. package/dist/cli/revert-3YF2IL5G.js +240 -0
  215. package/dist/cli/roadmap-7OOQLXKG.js +61 -0
  216. package/dist/cli/run-2U5NZV5Z.js +211 -0
  217. package/dist/cli/safestop-VR4VK56D.js +88 -0
  218. package/dist/cli/saga-SEWPIOX2.js +285 -0
  219. package/dist/cli/schema-C52WZ35V.js +195 -0
  220. package/dist/cli/self-update-GQIGUDPS.js +504 -0
  221. package/dist/cli/selfimprove-3Y5L4ECT.js +88 -0
  222. package/dist/cli/sentient-M4YMAVGV.js +1088 -0
  223. package/dist/cli/sequence-6UBMA4IF.js +93 -0
  224. package/dist/cli/service-5R7SILZ7.js +155 -0
  225. package/dist/cli/session-3C6AAC4Y.js +707 -0
  226. package/dist/cli/setup-BTUBW5PU.js +323 -0
  227. package/dist/cli/show-MXT2V7TF.js +122 -0
  228. package/dist/cli/skill-GFUZOU2C.js +84 -0
  229. package/dist/cli/skills-EDWLKAF3.js +928 -0
  230. package/dist/cli/smoke-provider-SKUFMZXU.js +218 -0
  231. package/dist/cli/snapshot-GUWMURCM.js +119 -0
  232. package/dist/cli/src-66GAKPXR.js +80 -0
  233. package/dist/cli/start-QFG56RGN.js +67 -0
  234. package/dist/cli/stats-GW55P7RR.js +95 -0
  235. package/dist/cli/status-46HTKNRR.js +157 -0
  236. package/dist/cli/sticky-2DUZOUGI.js +338 -0
  237. package/dist/cli/stop-J2QEUKHX.js +42 -0
  238. package/dist/cli/sync-GJP2QYT5.js +154 -0
  239. package/dist/cli/tasks-BNXTM7PB.js +174 -0
  240. package/dist/cli/telemetry-55Z2XJWL.js +120 -0
  241. package/dist/cli/templates-7O77TKPV.js +611 -0
  242. package/dist/cli/testing-37YTBNKP.js +146 -0
  243. package/dist/cli/token-UAVJMNUI.js +220 -0
  244. package/dist/cli/transcript-LORQTV5Z.js +440 -0
  245. package/dist/cli/tui-BPUFHYKK.js +51 -0
  246. package/dist/cli/update-NVCYV2FT.js +476 -0
  247. package/dist/cli/upgrade-OXJXOGEF.js +243 -0
  248. package/dist/cli/verify-LYLDHPT2.js +190 -0
  249. package/dist/cli/web-QP2RP266.js +275 -0
  250. package/dist/cli/workgraph-FXBSZDQE.js +232 -0
  251. package/dist/cli/worktree-6RXAJIST.js +370 -0
  252. package/package.json +13 -13
  253. package/studio-dist/client/_app/immutable/chunks/{DMj27Pxj.js → Btgeq_wq.js} +1 -1
  254. package/studio-dist/client/_app/immutable/chunks/{qq3pe1aT.js → CgBjxmu6.js} +1 -1
  255. package/studio-dist/client/_app/immutable/chunks/{Dc2owyvE.js → DgEKqO6r.js} +1 -1
  256. package/studio-dist/client/_app/immutable/chunks/t81h7afa.js +1 -0
  257. package/studio-dist/client/_app/immutable/entry/{app.CHWXLeE9.js → app.a02HWaRB.js} +2 -2
  258. package/studio-dist/client/_app/immutable/entry/start.BreMSngo.js +1 -0
  259. package/studio-dist/client/_app/immutable/nodes/{0.DmKQGvFh.js → 0.nTXyRfc-.js} +1 -1
  260. package/studio-dist/client/_app/immutable/nodes/{1.DqJk_REO.js → 1.4zrWeHtl.js} +1 -1
  261. package/studio-dist/client/_app/immutable/nodes/{15.GUy6kdW1.js → 15.D9mk4JyY.js} +1 -1
  262. package/studio-dist/client/_app/immutable/nodes/{16.CcnKZ8f9.js → 16._-wt-sQf.js} +1 -1
  263. package/studio-dist/client/_app/immutable/nodes/{17.DAlQF3lQ.js → 17.CUu6LQDj.js} +1 -1
  264. package/studio-dist/client/_app/immutable/nodes/{18.vQFr-vFj.js → 18.Dz4QRTkX.js} +1 -1
  265. package/studio-dist/client/_app/immutable/nodes/{20.GVOj5j_r.js → 20.CJ2_EB0U.js} +1 -1
  266. package/studio-dist/client/_app/immutable/nodes/{24.2-wC6DOh.js → 24.Igj2FS7k.js} +1 -1
  267. package/studio-dist/client/_app/immutable/nodes/{25.D1vYaH8g.js → 25.BnATjVGN.js} +2 -2
  268. package/studio-dist/client/_app/immutable/nodes/{26.C3rNqzZF.js → 26.6iPyjT44.js} +1 -1
  269. package/studio-dist/client/_app/immutable/nodes/{3.b-7pzc3M.js → 3.AA5GwNgP.js} +1 -1
  270. package/studio-dist/client/_app/version.json +1 -1
  271. package/studio-dist/server/chunks/{0-BaCce-O1.js → 0-DGmsoBYm.js} +3 -3
  272. package/studio-dist/server/chunks/1-8PfxPvlK.js +9 -0
  273. package/studio-dist/server/chunks/{15-DRMOSIC9.js → 15-Bg6YTndh.js} +3 -3
  274. package/studio-dist/server/chunks/{16-BulXhoZZ.js → 16-BObLwgyD.js} +3 -3
  275. package/studio-dist/server/chunks/{17-DUEOCM0H.js → 17-BNXGyAHX.js} +3 -3
  276. package/studio-dist/server/chunks/{18-DP7Q8zPs.js → 18-UqQFRIID.js} +3 -3
  277. package/studio-dist/server/chunks/{20-9ta6MI7q.js → 20-CMn8a_yP.js} +3 -3
  278. package/studio-dist/server/chunks/{24-DysdL1ab.js → 24-BuOTDzib.js} +3 -3
  279. package/studio-dist/server/chunks/{25-CYsps38R.js → 25-CIMSmjVx.js} +4 -4
  280. package/studio-dist/server/chunks/{26-Df4YXgg0.js → 26-DWGObn2T.js} +3 -3
  281. package/studio-dist/server/chunks/{3-BEhOhYpL.js → 3-CyiffdJZ.js} +3 -3
  282. package/studio-dist/server/chunks/{_layout.svelte-CnLcXYG-.js → _layout.svelte-DYtClaIk.js} +4 -4
  283. package/studio-dist/server/chunks/{_page.svelte-HUqTICJR.js → _page.svelte-1h9E6s_f.js} +3 -3
  284. package/studio-dist/server/chunks/{_page.svelte-DOl0DGOO.js → _page.svelte-BNNF62Nm.js} +3 -3
  285. package/studio-dist/server/chunks/{_page.svelte-DzcZljiy.js → _page.svelte-BT1EUadj.js} +5 -5
  286. package/studio-dist/server/chunks/{_page.svelte-Dv8tmDEC.js → _page.svelte-Bip079LT.js} +3 -3
  287. package/studio-dist/server/chunks/{_page.svelte-DGhXqeRc.js → _page.svelte-CEATWp_5.js} +3 -3
  288. package/studio-dist/server/chunks/{_page.svelte-C0qgUvzA.js → _page.svelte-CV3xiD1y.js} +4 -4
  289. package/studio-dist/server/chunks/{_page.svelte-CbyEPj2j.js → _page.svelte-Cv_KVJDV.js} +3 -3
  290. package/studio-dist/server/chunks/{_page.svelte-ui7LnWkL.js → _page.svelte-DSSy6LuK.js} +3 -3
  291. package/studio-dist/server/chunks/{_page.svelte-Da4q5l93.js → _page.svelte-TF795TAS.js} +3 -3
  292. package/studio-dist/server/chunks/{_server.ts-CnKVmf_s.js → _server.ts-BlhRFLY3.js} +2 -2
  293. package/studio-dist/server/chunks/{_server.ts-Cr57EKWf.js → _server.ts-C4w6UdU0.js} +3 -3
  294. package/studio-dist/server/chunks/{_server.ts-P4wVVksg.js → _server.ts-CzrwbhkQ.js} +3 -3
  295. package/studio-dist/server/chunks/{_server.ts-2BazvYRP.js → _server.ts-DWt8Dziu.js} +3 -3
  296. package/studio-dist/server/chunks/{_server.ts-C0evMKCk.js → _server.ts-Db6mEile.js} +3 -3
  297. package/studio-dist/server/chunks/{client-CPM4LrO2.js → client-D8f2k-H_.js} +2 -2
  298. package/studio-dist/server/chunks/{dist-CdoCt9zT.js → dist-B8xbIrdB.js} +3 -1
  299. package/studio-dist/server/chunks/{error.svelte-ShcZo43D.js → error.svelte-DbbOwIme.js} +3 -3
  300. package/studio-dist/server/chunks/{http-BiQjEmVU.js → http-1ftNGTs5.js} +2 -2
  301. package/studio-dist/server/chunks/{internal-Cgsrya1j.js → internal-CTULuLPB.js} +2 -2
  302. package/studio-dist/server/chunks/{stores-BGrpEDMK.js → stores-CS5XOReX.js} +2 -2
  303. package/studio-dist/server/index.js +1 -1
  304. package/studio-dist/server/manifest.js +17 -17
  305. package/studio-dist/client/_app/immutable/chunks/Bw6J8NDM.js +0 -1
  306. package/studio-dist/client/_app/immutable/entry/start.C9bwPpvc.js +0 -1
  307. package/studio-dist/server/chunks/1-CVo7Nk6d.js +0 -9
package/bin/cleo.js CHANGED
@@ -65,9 +65,19 @@ import { fileURLToPath } from 'node:url';
65
65
  * Must be set before anything submits work to the pool — the pool is created
66
66
  * on first use and never resized — so it is set here, before the re-exec and
67
67
  * before the in-process import; the child inherits it through the environment.
68
+ *
69
+ * T13122: it is the CLI's tuning, not its children's. The marker names the value
70
+ * CLEO supplied, and the CLI removes both once its own pool exists
71
+ * (`src/cli/lib/cli-threadpool-env.ts`), so a test runner and each of its
72
+ * workers no longer start 64 pool threads apiece. An operator's own value
73
+ * carries no marker and is inherited as before.
68
74
  */
69
75
  const DEFAULT_UV_THREADPOOL_SIZE = '64';
70
- if (!process.env.UV_THREADPOOL_SIZE) process.env.UV_THREADPOOL_SIZE = DEFAULT_UV_THREADPOOL_SIZE;
76
+ const CLI_THREADPOOL_MARKER = 'CLEO_CLI_UV_THREADPOOL_SIZE';
77
+ if (!process.env.UV_THREADPOOL_SIZE) {
78
+ process.env.UV_THREADPOOL_SIZE = DEFAULT_UV_THREADPOOL_SIZE;
79
+ process.env[CLI_THREADPOOL_MARKER] = DEFAULT_UV_THREADPOOL_SIZE;
80
+ }
71
81
 
72
82
  const __dirname = dirname(fileURLToPath(import.meta.url));
73
83
  const cliPath = resolve(__dirname, '../dist/cli/index.js');
@@ -0,0 +1,158 @@
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
+ isSubCommandDispatch
18
+ } from "./chunk-YY66LFZF.js";
19
+ import {
20
+ defineCommand
21
+ } from "./chunk-PKKZPOOP.js";
22
+ import {
23
+ dispatchFromCli
24
+ } from "./chunk-3IOQVUO7.js";
25
+ import "./chunk-AWCQH2W5.js";
26
+ import "./chunk-OGV57L4J.js";
27
+ import "./chunk-ZBISIPCK.js";
28
+ import "./chunk-3ZO3M37V.js";
29
+ import "./chunk-6JSJNYH2.js";
30
+ import "./chunk-QFFQSKRC.js";
31
+
32
+ // packages/cleo/src/cli/commands/adapter.ts
33
+ var listCommand = defineCommand({
34
+ meta: { name: "list", description: "List all discovered provider adapters" },
35
+ async run() {
36
+ await dispatchFromCli(
37
+ "query",
38
+ "tools",
39
+ "adapter.list",
40
+ {},
41
+ { command: "adapter", operation: "tools.adapter.list" }
42
+ );
43
+ }
44
+ });
45
+ var showCommand = defineCommand({
46
+ meta: { name: "show", description: "Show details for a specific adapter" },
47
+ args: {
48
+ adapterId: {
49
+ type: "positional",
50
+ description: "Adapter ID to inspect",
51
+ required: true
52
+ }
53
+ },
54
+ async run({ args }) {
55
+ await dispatchFromCli(
56
+ "query",
57
+ "tools",
58
+ "adapter.show",
59
+ { id: args.adapterId },
60
+ { command: "adapter", operation: "tools.adapter.show" }
61
+ );
62
+ }
63
+ });
64
+ var detectCommand = defineCommand({
65
+ meta: { name: "detect", description: "Detect active providers in the current environment" },
66
+ async run() {
67
+ await dispatchFromCli(
68
+ "query",
69
+ "tools",
70
+ "adapter.detect",
71
+ {},
72
+ { command: "adapter", operation: "tools.adapter.detect" }
73
+ );
74
+ }
75
+ });
76
+ var healthCommand = defineCommand({
77
+ meta: { name: "health", description: "Show health status for adapters" },
78
+ args: {
79
+ id: {
80
+ type: "string",
81
+ description: "Specific adapter ID (omit for all adapters)"
82
+ }
83
+ },
84
+ async run({ args }) {
85
+ await dispatchFromCli(
86
+ "query",
87
+ "tools",
88
+ "adapter.health",
89
+ { id: args.id },
90
+ { command: "adapter", operation: "tools.adapter.health" }
91
+ );
92
+ }
93
+ });
94
+ var activateCommand = defineCommand({
95
+ meta: { name: "activate", description: "Load and activate a provider adapter" },
96
+ args: {
97
+ adapterId: {
98
+ type: "positional",
99
+ description: "Adapter ID to activate",
100
+ required: true
101
+ }
102
+ },
103
+ async run({ args }) {
104
+ await dispatchFromCli(
105
+ "mutate",
106
+ "tools",
107
+ "adapter.activate",
108
+ { id: args.adapterId },
109
+ { command: "adapter", operation: "tools.adapter.activate" }
110
+ );
111
+ }
112
+ });
113
+ var disposeCommand = defineCommand({
114
+ meta: { name: "dispose", description: "Dispose one or all adapters" },
115
+ args: {
116
+ id: {
117
+ type: "string",
118
+ description: "Specific adapter ID to dispose (omit to dispose all)"
119
+ }
120
+ },
121
+ async run({ args }) {
122
+ await dispatchFromCli(
123
+ "mutate",
124
+ "tools",
125
+ "adapter.dispose",
126
+ { id: args.id },
127
+ { command: "adapter", operation: "tools.adapter.dispose" }
128
+ );
129
+ }
130
+ });
131
+ var adapterCommand = defineCommand({
132
+ meta: {
133
+ name: "adapter",
134
+ description: "Provider adapter management: list, show, detect, health, activate, dispose"
135
+ },
136
+ subCommands: {
137
+ list: listCommand,
138
+ show: showCommand,
139
+ detect: detectCommand,
140
+ health: healthCommand,
141
+ activate: activateCommand,
142
+ dispose: disposeCommand
143
+ },
144
+ async run({ cmd, rawArgs }) {
145
+ if (isSubCommandDispatch(rawArgs, cmd.subCommands)) return;
146
+ await dispatchFromCli(
147
+ "query",
148
+ "tools",
149
+ "adapter.list",
150
+ {},
151
+ { command: "adapter", operation: "tools.adapter.list" }
152
+ );
153
+ }
154
+ });
155
+ export {
156
+ adapterCommand
157
+ };
158
+ //# sourceMappingURL=adapter-LVXHFBC4.js.map
@@ -0,0 +1,443 @@
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
+ collectMutateInput
18
+ } from "./chunk-QA6T2LQ5.js";
19
+ import {
20
+ defineCommand,
21
+ showUsage
22
+ } from "./chunk-PKKZPOOP.js";
23
+ import {
24
+ dispatchRaw,
25
+ handleRawError,
26
+ maybeEmitDescribe
27
+ } from "./chunk-3IOQVUO7.js";
28
+ import "./chunk-AWCQH2W5.js";
29
+ import "./chunk-OGV57L4J.js";
30
+ import "./chunk-ZBISIPCK.js";
31
+ import {
32
+ cliError,
33
+ cliOutput,
34
+ humanInfo,
35
+ humanWarn
36
+ } from "./chunk-3ZO3M37V.js";
37
+ import "./chunk-6JSJNYH2.js";
38
+ import "./chunk-QFFQSKRC.js";
39
+
40
+ // packages/cleo/src/cli/commands/add.ts
41
+ import { ExitCode, TASK_SEVERITIES } from "@cleocode/contracts";
42
+ import {
43
+ getProjectRoot,
44
+ INPUT_CONTRACTS,
45
+ inferTaskAddParams,
46
+ validateOperationInput
47
+ } from "@cleocode/core";
48
+ var addCommand = defineCommand({
49
+ meta: {
50
+ name: "add",
51
+ description: `Create a new task (requires active session)
52
+ For 2+ tasks at once: cleo add-batch --file tasks.json (single transaction, atomic rollback)`
53
+ },
54
+ args: {
55
+ /**
56
+ * Schema-first input — supersedes all flag-based args when present.
57
+ *
58
+ * Accepts a JSON object that matches `INPUT_CONTRACTS['tasks.add']`.
59
+ * When provided, the command short-circuits the flag-mapping path
60
+ * entirely and goes straight to validate→dispatch.
61
+ *
62
+ * @task T9917
63
+ */
64
+ params: {
65
+ type: "string",
66
+ description: 'Inline JSON object matching INPUT_CONTRACTS["tasks.add"] (T9917). Overrides positional + flags.'
67
+ },
68
+ /**
69
+ * Schema-first input from a JSON file. Same semantics as --params.
70
+ *
71
+ * @task T9917
72
+ */
73
+ "params-file": {
74
+ type: "string",
75
+ description: 'Path to JSON file matching INPUT_CONTRACTS["tasks.add"] (T9917).'
76
+ },
77
+ title: {
78
+ type: "positional",
79
+ description: "Task title (3\u2013500 characters)",
80
+ required: false
81
+ },
82
+ status: {
83
+ type: "string",
84
+ alias: "s",
85
+ description: "Task status (pending | active | blocked | done)"
86
+ },
87
+ priority: {
88
+ type: "string",
89
+ alias: "p",
90
+ description: "Task priority (low | medium | high | critical)"
91
+ },
92
+ type: {
93
+ type: "string",
94
+ alias: "t",
95
+ description: "Task type (epic | task | subtask)"
96
+ },
97
+ parent: {
98
+ type: "string",
99
+ description: 'Parent task ID (makes this task a subtask). Pass "none" to suppress focus-task inference \u2014 the task will still require a valid parent per hierarchy policy (T11293).'
100
+ },
101
+ "parent-id": {
102
+ type: "string",
103
+ description: 'Alias for --parent. Pass "none" to suppress focus-task inference (T11293).'
104
+ },
105
+ size: {
106
+ type: "string",
107
+ description: "Scope size estimate (small | medium | large)"
108
+ },
109
+ phase: {
110
+ type: "string",
111
+ alias: "P",
112
+ description: "Phase slug to assign the task to"
113
+ },
114
+ description: {
115
+ type: "string",
116
+ alias: "d",
117
+ description: "Detailed task description (must differ meaningfully from title)"
118
+ },
119
+ desc: {
120
+ type: "string",
121
+ description: "Task description (alias for --description)"
122
+ },
123
+ labels: {
124
+ type: "string",
125
+ alias: "l",
126
+ description: 'Comma-separated labels (lowercase alphanumeric + hyphens + periods only, e.g. "track-b,wave.1") (gh-392)'
127
+ },
128
+ files: {
129
+ type: "string",
130
+ description: "Comma-separated file paths"
131
+ },
132
+ "files-infer": {
133
+ type: "boolean",
134
+ description: "Infer touched files from task title and description using GitNexus"
135
+ },
136
+ acceptance: {
137
+ type: "string",
138
+ description: 'Pipe-separated acceptance criteria (e.g. "AC1|AC2|AC3")'
139
+ },
140
+ depends: {
141
+ type: "string",
142
+ alias: "D",
143
+ description: "Comma-separated dependency task IDs"
144
+ },
145
+ notes: {
146
+ type: "string",
147
+ description: "Initial note entry for the task"
148
+ },
149
+ note: {
150
+ type: "string",
151
+ description: "Alias for --notes"
152
+ },
153
+ position: {
154
+ type: "string",
155
+ description: "Position within sibling group"
156
+ },
157
+ "parent-search": {
158
+ type: "string",
159
+ description: "Resolve parent by title substring instead of exact ID (T090)"
160
+ },
161
+ "add-phase": {
162
+ type: "boolean",
163
+ description: "Create new phase if it does not exist"
164
+ },
165
+ "dry-run": {
166
+ type: "boolean",
167
+ description: "Show what would be created without making changes"
168
+ },
169
+ /**
170
+ * Task kind axis — intent of work.
171
+ * Values: work | research | experiment | bug | spike | release
172
+ * @task T944
173
+ * @task T9072
174
+ */
175
+ kind: {
176
+ type: "string",
177
+ description: "Task kind / intent axis (work|research|experiment|bug|spike|release) \u2014 orthogonal to --type (T944)"
178
+ },
179
+ /**
180
+ * Task scope axis — granularity of work.
181
+ * Values: project | feature | unit
182
+ * @task T944
183
+ */
184
+ scope: {
185
+ type: "string",
186
+ description: "Task scope / granularity axis (project|feature|unit) \u2014 orthogonal to --type (T944)"
187
+ },
188
+ /**
189
+ * Severity level for any task kind (not just bug).
190
+ * Values: P0 | P1 | P2 | P3
191
+ * Orthogonal to --priority — does NOT auto-map priority.
192
+ * Appends a signed attestation to .cleo/audit/severity-attestation.jsonl (T9071/T9073).
193
+ * @task T944
194
+ * @task T9073
195
+ */
196
+ severity: {
197
+ type: "string",
198
+ description: "Severity level (P0|P1|P2|P3) \u2014 valid for any --kind (T9073). Orthogonal to priority. Appends signed attestation."
199
+ },
200
+ /**
201
+ * Bypass the E_DUPLICATE_TASK_LIKELY rejection guard.
202
+ *
203
+ * When passed, `cleo add` proceeds even if BRAIN similarity scoring
204
+ * determines the task is very likely a duplicate (score >= 0.92).
205
+ * The bypass is audited to `.cleo/audit/duplicate-bypass.jsonl`.
206
+ *
207
+ * @task T1633
208
+ */
209
+ "force-duplicate": {
210
+ type: "boolean",
211
+ description: "Bypass BRAIN duplicate-task rejection (audited to .cleo/audit/duplicate-bypass.jsonl) (T1633)"
212
+ },
213
+ /**
214
+ * Resolve the PM-Core V2 design-point 3 guard in-line rather than failing.
215
+ *
216
+ * Without it, filing the first subtask under a task that carries its own
217
+ * text ACs costs three commands: add (rejected), decompose, add again.
218
+ *
219
+ * @task T12298
220
+ */
221
+ "auto-decompose": {
222
+ type: "boolean",
223
+ description: "Move the parent's text acceptance criteria to a new first subtask if they would block this add (T12298)"
224
+ },
225
+ /**
226
+ * Waiver for the critical-priority dependency declaration requirement.
227
+ *
228
+ * Critical-priority tasks without declared dependencies silently break
229
+ * wave-order spawning when downstream work assumes they are load-bearing.
230
+ * Provide a justification string to waive the `--depends` requirement.
231
+ * The waiver is stored in the task creation audit log in the mutation transaction.
232
+ *
233
+ * @task T1856
234
+ * @epic T1855
235
+ */
236
+ "depends-waiver": {
237
+ type: "string",
238
+ description: "Non-empty justification for creating a critical-priority task without --depends (T1856). Recorded verbatim in the transactional task creation audit log; rejected for non-critical creation."
239
+ },
240
+ /**
241
+ * Related tasks — semantic relationships (non-dependency).
242
+ * Comma-separated task IDs with optional type suffix (e.g. "T001:blocks,T002:related").
243
+ * Default type is 'related'.
244
+ */
245
+ relates: {
246
+ type: "string",
247
+ description: 'Comma-separated related task IDs with optional type suffix (e.g. "T001:blocks,T002")'
248
+ }
249
+ },
250
+ async run({ args, cmd }) {
251
+ if (maybeEmitDescribe("mutate", "tasks", "add", { command: "add" })) return;
252
+ const paramsArg = args.params;
253
+ const paramsFileArg = args["params-file"];
254
+ if (paramsArg !== void 0 || paramsFileArg !== void 0) {
255
+ const collectArgs = {};
256
+ if (paramsArg !== void 0) collectArgs.params = paramsArg;
257
+ if (paramsFileArg !== void 0) collectArgs.file = paramsFileArg;
258
+ let raw;
259
+ try {
260
+ raw = await collectMutateInput(
261
+ collectArgs,
262
+ process.stdin
263
+ );
264
+ } catch (err) {
265
+ cliError(
266
+ err.message,
267
+ ExitCode.VALIDATION_ERROR,
268
+ {
269
+ name: "E_VALIDATION_FAILED",
270
+ fix: "Verify the JSON syntax of your --params / --params-file input"
271
+ },
272
+ { operation: "tasks.add" }
273
+ );
274
+ process.exit(ExitCode.VALIDATION_ERROR);
275
+ return;
276
+ }
277
+ const contract = INPUT_CONTRACTS["tasks.add"];
278
+ if (!contract) {
279
+ cliError(
280
+ "tasks.add contract missing from INPUT_CONTRACTS registry",
281
+ ExitCode.GENERAL_ERROR,
282
+ { name: "E_INTERNAL", fix: "This is a CLI bug \u2014 file an issue" },
283
+ { operation: "tasks.add" }
284
+ );
285
+ process.exit(ExitCode.GENERAL_ERROR);
286
+ return;
287
+ }
288
+ const validation = validateOperationInput(contract, raw);
289
+ if (!validation.ok) {
290
+ cliError(
291
+ "tasks.add failed: validation",
292
+ ExitCode.VALIDATION_ERROR,
293
+ {
294
+ name: "E_VALIDATION_FAILED",
295
+ fix: validation.errors[0]?.fix ?? "Inspect errors[] and correct the input",
296
+ details: { errors: validation.errors }
297
+ },
298
+ { operation: "tasks.add" }
299
+ );
300
+ process.exit(ExitCode.VALIDATION_ERROR);
301
+ return;
302
+ }
303
+ const validatedPayload = raw;
304
+ const response2 = await dispatchRaw("mutate", "tasks", "add", validatedPayload);
305
+ if (!response2.success) {
306
+ handleRawError(response2, { command: "add", operation: "tasks.add" });
307
+ }
308
+ const data2 = response2.data;
309
+ const dataWarnings2 = data2?.warnings;
310
+ if (dataWarnings2?.length) {
311
+ for (const w of dataWarnings2) {
312
+ humanWarn(`\u26A0 ${w}`);
313
+ }
314
+ }
315
+ cliOutput(data2, { command: "add", operation: "tasks.add" });
316
+ return;
317
+ }
318
+ if (!args.title) {
319
+ await showUsage(cmd);
320
+ return;
321
+ }
322
+ if (args.severity !== void 0 && !TASK_SEVERITIES.includes(args.severity)) {
323
+ const valid = TASK_SEVERITIES.join(", ");
324
+ cliError(
325
+ `severity must be one of: ${valid} \u2014 got '${args.severity}'`,
326
+ 6,
327
+ {
328
+ name: "E_INVALID_SEVERITY_VALUE",
329
+ fix: `Pass --severity with one of: ${valid}`
330
+ },
331
+ { operation: "tasks.add" }
332
+ );
333
+ process.exit(6);
334
+ return;
335
+ }
336
+ const params = { title: args.title };
337
+ if (args.status !== void 0) params["status"] = args.status;
338
+ if (args.priority !== void 0) params["priority"] = args.priority;
339
+ if (args.type !== void 0) params["type"] = args.type;
340
+ const parentArg = args.parent;
341
+ const parentIdArg = args["parent-id"];
342
+ const resolvedParent = parentArg ?? parentIdArg;
343
+ if (resolvedParent !== void 0 && resolvedParent !== "none") {
344
+ params["parent"] = resolvedParent;
345
+ }
346
+ if (args.size !== void 0) params["size"] = args.size;
347
+ if (args.phase !== void 0) params["phase"] = args.phase;
348
+ if (args["add-phase"] !== void 0) params["addPhase"] = args["add-phase"];
349
+ if (args.description !== void 0) {
350
+ params["description"] = args.description;
351
+ } else if (args.desc !== void 0) {
352
+ params["description"] = args.desc;
353
+ }
354
+ if (args.labels) params["labels"] = args.labels.split(",").map((s) => s.trim());
355
+ if (args.depends) params["depends"] = args.depends.split(",").map((s) => s.trim());
356
+ if (args.relates) {
357
+ params["relates"] = args.relates.split(",").map((s) => {
358
+ const [taskId, relType = "related"] = s.trim().split(":");
359
+ return { taskId: taskId.trim(), type: relType.trim() };
360
+ });
361
+ }
362
+ if (args.notes !== void 0) params["notes"] = args.notes;
363
+ if (args.note !== void 0) params["notes"] = params["notes"] ?? args.note;
364
+ if (args.position !== void 0)
365
+ params["position"] = Number.parseInt(args.position, 10);
366
+ if (args["dry-run"] !== void 0) params["dryRun"] = args["dry-run"];
367
+ if (args["parent-search"] !== void 0) params["parentSearch"] = args["parent-search"];
368
+ if (args.kind !== void 0) params["kind"] = args.kind;
369
+ if (args.scope !== void 0) params["scope"] = args.scope;
370
+ if (args.severity !== void 0) params["severity"] = args.severity;
371
+ if (args["force-duplicate"] !== void 0) params["forceDuplicate"] = args["force-duplicate"];
372
+ if (args["auto-decompose"] !== void 0) params["autoDecompose"] = args["auto-decompose"];
373
+ if (args["depends-waiver"] !== void 0) params["dependsWaiver"] = args["depends-waiver"];
374
+ const parentSentinel = resolvedParent === "none" ? "none" : void 0;
375
+ const parentRawForInference = params["parent"] ?? parentSentinel;
376
+ const inferred = await inferTaskAddParams(getProjectRoot(), {
377
+ title: args.title,
378
+ description: args.description ?? args.desc,
379
+ filesInfer: args["files-infer"],
380
+ filesRaw: args.files,
381
+ acceptanceRaw: args.acceptance,
382
+ parentRaw: parentRawForInference,
383
+ type: params["type"]
384
+ });
385
+ if (inferred.filesInferWarning) {
386
+ humanWarn(
387
+ "\u26A0 No files inferred by GitNexus. Use --files to specify files explicitly, or leave empty for atomicity check at spawn time."
388
+ );
389
+ }
390
+ if (inferred.files) params["files"] = inferred.files;
391
+ if (inferred.acceptance) params["acceptance"] = inferred.acceptance;
392
+ if (inferred.inferredParent) {
393
+ params["parent"] = inferred.inferredParent;
394
+ params["parentSource"] = "session-inference";
395
+ humanInfo(
396
+ `[cleo add] ${inferred.parentInference?.note ?? `inferred --parent from current task: ${inferred.inferredParent}`}`
397
+ );
398
+ }
399
+ if (inferred.parentInference && inferred.parentInference.outcome !== "applied") {
400
+ if (inferred.parentInference.outcome !== "no-current-task") {
401
+ humanWarn(`\u26A0 [cleo add] ${inferred.parentInference.note}`);
402
+ }
403
+ }
404
+ const parentInferenceMeta = inferred.parentInference;
405
+ const response = await dispatchRaw("mutate", "tasks", "add", params);
406
+ if (!response.success) {
407
+ handleRawError(response, { command: "add", operation: "tasks.add" });
408
+ }
409
+ const data = response.data;
410
+ const dataWarnings = data?.warnings;
411
+ if (dataWarnings?.length) {
412
+ for (const w of dataWarnings) {
413
+ humanWarn(`\u26A0 ${w}`);
414
+ }
415
+ }
416
+ const inferenceExtensions = parentInferenceMeta && parentInferenceMeta.outcome !== "no-current-task" ? { parentInference: parentInferenceMeta } : void 0;
417
+ if (data?.duplicate) {
418
+ cliOutput(data, {
419
+ command: "add",
420
+ message: "Task with identical title was created recently",
421
+ operation: "tasks.add",
422
+ ...inferenceExtensions ? { extensions: inferenceExtensions } : {}
423
+ });
424
+ } else if (data?.dryRun) {
425
+ cliOutput(data, {
426
+ command: "add",
427
+ message: "Dry run - no changes made",
428
+ operation: "tasks.add",
429
+ ...inferenceExtensions ? { extensions: inferenceExtensions } : {}
430
+ });
431
+ } else {
432
+ cliOutput(data, {
433
+ command: "add",
434
+ operation: "tasks.add",
435
+ ...inferenceExtensions ? { extensions: inferenceExtensions } : {}
436
+ });
437
+ }
438
+ }
439
+ });
440
+ export {
441
+ addCommand
442
+ };
443
+ //# sourceMappingURL=add-WUAV7LDT.js.map