@rulemetric/cli 0.8.0 → 0.9.0

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 (208) hide show
  1. package/dist/base-command.js +1 -1
  2. package/dist/{chunk-4Q72B377.js → chunk-2B7Y6JNB.js} +1 -1
  3. package/dist/{chunk-Z2MZOQCD.js → chunk-3AZV7ZPJ.js} +1 -1
  4. package/dist/chunk-3DGL2ZY3.js +1 -0
  5. package/dist/chunk-3PUOJ6F2.js +45 -0
  6. package/dist/{chunk-5ZACMVV3.js → chunk-5EDINFHF.js} +1 -1
  7. package/dist/{chunk-FAXV5AAG.js → chunk-6M74HH6Y.js} +1 -1
  8. package/dist/chunk-7FZB65VH.js +1 -0
  9. package/dist/{chunk-4VZLIGMS.js → chunk-AFYZYXQ3.js} +1 -1
  10. package/dist/{chunk-TU2AR6XO.js → chunk-B22HYCBV.js} +1 -1
  11. package/dist/{chunk-RJLAAKEN.js → chunk-BPP7AEFW.js} +1 -1
  12. package/dist/{chunk-MOAJLSYV.js → chunk-C2275MFP.js} +1 -1
  13. package/dist/{chunk-T4ZIK6RS.js → chunk-CBUTNIJA.js} +1 -1
  14. package/dist/{chunk-ULMEKK7C.js → chunk-CDDICCY2.js} +1 -1
  15. package/dist/chunk-DZ3FBQYD.js +17 -0
  16. package/dist/{chunk-5KD2N2MH.js → chunk-E2NVNLFD.js} +1 -1
  17. package/dist/{chunk-NIRD7ETU.js → chunk-EQHKCGSX.js} +1 -1
  18. package/dist/chunk-FP6QAPNK.js +1 -0
  19. package/dist/chunk-FWTYR36W.js +1 -0
  20. package/dist/chunk-G7V4ZZZ3.js +1 -0
  21. package/dist/chunk-GF76D2DU.js +1 -0
  22. package/dist/chunk-HOQPVOMF.js +2 -0
  23. package/dist/{chunk-MBHDTW3M.js → chunk-HYDGERWD.js} +1 -1
  24. package/dist/chunk-IVDTORX5.js +1 -0
  25. package/dist/{chunk-4L2ZEIRE.js → chunk-JPUH3V67.js} +1 -1
  26. package/dist/chunk-K4B24SMJ.js +1 -0
  27. package/dist/chunk-KGURGIZ2.js +1 -0
  28. package/dist/{chunk-LWI5K6T4.js → chunk-KHWG7ZG4.js} +1 -1
  29. package/dist/{chunk-KGQ5W54Y.js → chunk-KWNIKGAE.js} +1 -1
  30. package/dist/{chunk-H7VP4SDO.js → chunk-L54TWWBY.js} +1 -1
  31. package/dist/{chunk-5XUN743A.js → chunk-LLIHRQPH.js} +1 -1
  32. package/dist/chunk-MMPZIZYZ.js +10 -0
  33. package/dist/chunk-MO57LGGK.js +1 -0
  34. package/dist/{chunk-LLNQZ4SZ.js → chunk-PKLXZYBY.js} +1 -1
  35. package/dist/{chunk-5RUEROLC.js → chunk-PQN2GAG4.js} +1 -1
  36. package/dist/chunk-QAV4HW7D.js +1 -0
  37. package/dist/{chunk-YW3JQKGY.js → chunk-QTZPLAYC.js} +1 -1
  38. package/dist/chunk-QWPWY3SW.js +1 -0
  39. package/dist/{chunk-ZE2PGHJQ.js → chunk-R6JXE273.js} +1 -1
  40. package/dist/chunk-RZTVYUX4.js +11 -0
  41. package/dist/{chunk-HXZM2UHO.js → chunk-S62MK372.js} +1 -1
  42. package/dist/{chunk-BLCMXTIK.js → chunk-SANYAPBK.js} +1 -1
  43. package/dist/{chunk-AI6FMGKM.js → chunk-SYTQDPPN.js} +1 -1
  44. package/dist/chunk-TZA4HAVF.js +1 -0
  45. package/dist/{chunk-6VKQT2J3.js → chunk-UUZB4IKU.js} +1 -1
  46. package/dist/{chunk-QY3UKLDE.js → chunk-VA5DPQB4.js} +1 -1
  47. package/dist/{chunk-CF7FUQQ4.js → chunk-VFYT3SC5.js} +2 -2
  48. package/dist/{chunk-O2BKBW7Z.js → chunk-WKDXH7NO.js} +1 -1
  49. package/dist/{chunk-NBTC5FNV.js → chunk-X23L2MF6.js} +1 -1
  50. package/dist/{chunk-W76EQSEV.js → chunk-X3RTCN6S.js} +1 -1
  51. package/dist/{chunk-EN43UYBN.js → chunk-X3VL5H24.js} +1 -1
  52. package/dist/{chunk-YQ56FQEO.js → chunk-XFAFMYIP.js} +1 -1
  53. package/dist/{chunk-IQCE4VBP.js → chunk-YFQ4FOAS.js} +1 -1
  54. package/dist/commands/antigravity/backfill.js +1 -1
  55. package/dist/commands/auth/create-key.js +1 -1
  56. package/dist/commands/auth/login.js +1 -1
  57. package/dist/commands/auth/logout.js +1 -1
  58. package/dist/commands/auth/revoke-key.js +1 -1
  59. package/dist/commands/auth/signup.js +1 -1
  60. package/dist/commands/auth/status.js +1 -1
  61. package/dist/commands/capture/scope.js +1 -1
  62. package/dist/commands/catalog/index.js +1 -1
  63. package/dist/commands/catalog/recommend.js +1 -1
  64. package/dist/commands/convert.js +1 -1
  65. package/dist/commands/converters.js +1 -1
  66. package/dist/commands/crons/list.js +1 -1
  67. package/dist/commands/crons/run.js +1 -1
  68. package/dist/commands/dashboard.js +1 -1
  69. package/dist/commands/diagnostics.js +1 -1
  70. package/dist/commands/eval-targets/create.js +1 -1
  71. package/dist/commands/eval-targets/list.js +1 -1
  72. package/dist/commands/evals/agent.js +1 -1
  73. package/dist/commands/evals/auto-run.js +1 -1
  74. package/dist/commands/evals/benchmark.js +1 -1
  75. package/dist/commands/evals/compare.js +1 -1
  76. package/dist/commands/evals/create.js +1 -1
  77. package/dist/commands/evals/optimize-description.js +1 -1
  78. package/dist/commands/evals/optimize.js +1 -1
  79. package/dist/commands/evals/refine-cases.js +1 -1
  80. package/dist/commands/evals/run.js +1 -1
  81. package/dist/commands/evals/validate-judge.js +1 -1
  82. package/dist/commands/experiments/list.js +1 -1
  83. package/dist/commands/gateway/ensure.js +1 -1
  84. package/dist/commands/hooks/install.js +1 -1
  85. package/dist/commands/hooks/run.js +1 -1
  86. package/dist/commands/hooks/uninstall.js +1 -1
  87. package/dist/commands/import.js +1 -1
  88. package/dist/commands/instructions/create.js +1 -1
  89. package/dist/commands/instructions/delete.js +1 -1
  90. package/dist/commands/instructions/fork.js +1 -1
  91. package/dist/commands/instructions/get.js +1 -1
  92. package/dist/commands/instructions/list.js +1 -1
  93. package/dist/commands/instructions/promote.js +1 -1
  94. package/dist/commands/instructions/pull.js +1 -1
  95. package/dist/commands/instructions/restore.js +1 -1
  96. package/dist/commands/instructions/retract.js +1 -1
  97. package/dist/commands/instructions/upstream.js +1 -1
  98. package/dist/commands/instructions/versions.js +1 -1
  99. package/dist/commands/launcher.js +1 -1
  100. package/dist/commands/local/down.js +1 -1
  101. package/dist/commands/local/up.js +1 -1
  102. package/dist/commands/org/current.js +1 -1
  103. package/dist/commands/org/list.js +1 -1
  104. package/dist/commands/org/switch.js +1 -1
  105. package/dist/commands/packs/add-instruction.js +1 -1
  106. package/dist/commands/packs/apply.js +1 -1
  107. package/dist/commands/packs/create.js +1 -1
  108. package/dist/commands/packs/fork.js +1 -1
  109. package/dist/commands/packs/get.js +1 -1
  110. package/dist/commands/packs/list.js +1 -1
  111. package/dist/commands/packs/remove-instruction.js +1 -1
  112. package/dist/commands/proxy/env.js +1 -1
  113. package/dist/commands/proxy/logs.js +1 -1
  114. package/dist/commands/proxy/restart.js +1 -1
  115. package/dist/commands/proxy/setup.js +1 -1
  116. package/dist/commands/proxy/start.js +1 -1
  117. package/dist/commands/proxy/status.js +1 -1
  118. package/dist/commands/proxy/stop.js +1 -1
  119. package/dist/commands/research/backfill.js +1 -1
  120. package/dist/commands/research/tail-transcript.js +1 -1
  121. package/dist/commands/service/install.js +6 -6
  122. package/dist/commands/service/status.js +1 -1
  123. package/dist/commands/service/uninstall.js +1 -1
  124. package/dist/commands/sessions/analyze.js +1 -1
  125. package/dist/commands/sessions/delete.js +1 -1
  126. package/dist/commands/sessions/end.js +1 -1
  127. package/dist/commands/sessions/import.js +1 -1
  128. package/dist/commands/sessions/list.js +1 -1
  129. package/dist/commands/sessions/start.js +1 -1
  130. package/dist/commands/setup.js +1 -1
  131. package/dist/commands/skills/export-approved.js +1 -1
  132. package/dist/commands/skills/install.js +1 -1
  133. package/dist/commands/skills/list.js +1 -1
  134. package/dist/commands/skills/publish.js +1 -1
  135. package/dist/commands/skills/search.js +1 -1
  136. package/dist/commands/skills/update.js +1 -1
  137. package/dist/commands/suggestions/accept.js +1 -11
  138. package/dist/commands/suggestions/auto.js +1 -0
  139. package/dist/commands/suggestions/dismiss.js +1 -1
  140. package/dist/commands/suggestions/list.js +1 -1
  141. package/dist/commands/suggestions/refresh.js +1 -1
  142. package/dist/commands/suggestions/undo.js +1 -0
  143. package/dist/dashboard/Dashboard.js +1 -1
  144. package/dist/dashboard/data.js +1 -1
  145. package/dist/dashboard/launcher/ActiveJobsList.js +1 -1
  146. package/dist/dashboard/launcher/LauncherOverlay.js +1 -1
  147. package/dist/dashboard/launcher/NewLaunchForm.js +1 -1
  148. package/dist/dashboard/launcher/api.js +1 -1
  149. package/dist/dashboard/launcher/useLaunchJobs.js +1 -1
  150. package/dist/lib/active-org-refresh.js +1 -1
  151. package/dist/lib/agent-loop.js +1 -1
  152. package/dist/lib/antigravity-transcript.js +1 -1
  153. package/dist/lib/api-client.js +1 -1
  154. package/dist/lib/ensure-api-key.js +1 -1
  155. package/dist/lib/ensure-fresh-token.js +1 -1
  156. package/dist/lib/eval-analyzer.js +1 -1
  157. package/dist/lib/eval-benchmark.js +1 -1
  158. package/dist/lib/eval-candidate-run.js +1 -1
  159. package/dist/lib/eval-conversation-handler.js +1 -1
  160. package/dist/lib/eval-executor.js +1 -1
  161. package/dist/lib/eval-failure-classifier.js +1 -0
  162. package/dist/lib/eval-grader.js +1 -1
  163. package/dist/lib/eval-meta-judge.js +1 -1
  164. package/dist/lib/eval-quota-gate.js +1 -0
  165. package/dist/lib/eval-resume.js +1 -0
  166. package/dist/lib/eval-run-batch.js +1 -1
  167. package/dist/lib/eval-trigger-tester.js +1 -1
  168. package/dist/lib/evolution-enrolment.js +1 -0
  169. package/dist/lib/handlers/cron-auto-accept-suggestions.js +1 -0
  170. package/dist/lib/handlers/cron-eval-autorun.js +1 -1
  171. package/dist/lib/handlers/cron-instruction-evolution.js +1 -1
  172. package/dist/lib/handlers/cron-instruction-training.js +1 -0
  173. package/dist/lib/handlers/cron-refresh-pricing.js +1 -1
  174. package/dist/lib/handlers/cron-suggest-instructions.js +1 -1
  175. package/dist/lib/handlers/distill-memories.js +1 -1
  176. package/dist/lib/handlers/process-changelog.js +1 -1
  177. package/dist/lib/handlers/process-conversation.js +1 -1
  178. package/dist/lib/handlers/process-eval.js +1 -1
  179. package/dist/lib/handlers/process-insights.js +1 -1
  180. package/dist/lib/handlers/process-judge-review.js +1 -1
  181. package/dist/lib/handlers/process-launch.js +1 -1
  182. package/dist/lib/handlers/process-memory-ab.js +1 -1
  183. package/dist/lib/handlers/process-run-cleanup.js +1 -1
  184. package/dist/lib/handlers/process-session-goal.js +1 -1
  185. package/dist/lib/instruction-proposer.js +1 -1
  186. package/dist/lib/judge-review-runner.js +1 -1
  187. package/dist/lib/manual-tasks.js +1 -1
  188. package/dist/lib/project-context.js +1 -0
  189. package/dist/lib/research-client.js +1 -1
  190. package/dist/lib/retraction.js +1 -1
  191. package/dist/lib/setup-steps.js +1 -1
  192. package/dist/lib/suggestion-accept.js +1 -0
  193. package/dist/lib/telemetry.js +1 -1
  194. package/dist/lib/terminal-target-heartbeat.js +1 -1
  195. package/oclif.manifest.json +438 -336
  196. package/package.json +8 -7
  197. package/dist/chunk-7QQSYEPT.js +0 -1
  198. package/dist/chunk-A4FYFRN7.js +0 -1
  199. package/dist/chunk-ATL4WZBF.js +0 -1
  200. package/dist/chunk-BAVLNWO4.js +0 -1
  201. package/dist/chunk-DBELYMDA.js +0 -1
  202. package/dist/chunk-EVAQBD5V.js +0 -1
  203. package/dist/chunk-FAZMKMTC.js +0 -45
  204. package/dist/chunk-HMMO27U4.js +0 -1
  205. package/dist/chunk-KLEF5D3A.js +0 -1
  206. package/dist/chunk-UKN2YVY4.js +0 -17
  207. package/dist/chunk-XJYNMJHH.js +0 -9
  208. package/dist/index.js +0 -1
@@ -1,3 +1,3 @@
1
- import{a as g}from"../../chunk-LWI5K6T4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-6VKQT2J3.js";import"../../chunk-NIRD7ETU.js";import"../../chunk-QY3UKLDE.js";import{a as m}from"../../chunk-3AV3GTMP.js";import{f as p}from"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import{a as d}from"../../chunk-ZLLER3HP.js";import{Flags as h}from"@oclif/core";import{randomUUID as w}from"node:crypto";import{mkdirSync as j,writeFileSync as u}from"node:fs";import{tmpdir as S}from"node:os";import{join as f}from"node:path";import{execSync as v}from"node:child_process";var i=class x extends g{static{d(this,"SessionsStart")}static description="Start a capture session for any LLM provider (Cortex, Groq, etc.)";static examples=["<%= config.bin %> sessions start --tool cortex","<%= config.bin %> sessions start --tool groq --project-dir /path/to/project",'eval "$(rulemetric proxy env --python)" && rulemetric sessions start --tool cortex'];static flags={tool:h.string({char:"t",required:!0,description:"LLM provider or tool name (e.g., cortex, groq, deepseek, custom_app)"}),"project-dir":h.string({char:"d",description:"Project directory (defaults to cwd)"})};async run(){let{flags:r}=await this.parse(x);this.requireAuth();let t=r["project-dir"]??process.cwd(),s=w(),o="";try{o=v("git branch --show-current 2>/dev/null",{cwd:t,encoding:"utf-8"}).trim()}catch{}let e="";try{e=v("git remote get-url origin 2>/dev/null",{cwd:t,encoding:"utf-8"}).trim()}catch{}let n={};e&&(n.gitRemote=e);let y=m(),c=await p("/api/sessions",{tool:r.tool,externalSessionId:s,projectPath:t,gitBranch:o,metadata:n,orgId:y?.orgId??null}),a=f(S(),"rulemetric");j(a,{recursive:!0});let l=f(a,s);u(l,c.id+`
1
+ import{a as g}from"../../chunk-KHWG7ZG4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-UUZB4IKU.js";import"../../chunk-EQHKCGSX.js";import"../../chunk-VA5DPQB4.js";import{a as m}from"../../chunk-3AV3GTMP.js";import{f as p}from"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import{a as d}from"../../chunk-ZLLER3HP.js";import{Flags as h}from"@oclif/core";import{randomUUID as w}from"node:crypto";import{mkdirSync as j,writeFileSync as u}from"node:fs";import{tmpdir as S}from"node:os";import{join as f}from"node:path";import{execSync as v}from"node:child_process";var i=class x extends g{static{d(this,"SessionsStart")}static description="Start a capture session for any LLM provider (Cortex, Groq, etc.)";static examples=["<%= config.bin %> sessions start --tool cortex","<%= config.bin %> sessions start --tool groq --project-dir /path/to/project",'eval "$(rulemetric proxy env --python)" && rulemetric sessions start --tool cortex'];static flags={tool:h.string({char:"t",required:!0,description:"LLM provider or tool name (e.g., cortex, groq, deepseek, custom_app)"}),"project-dir":h.string({char:"d",description:"Project directory (defaults to cwd)"})};async run(){let{flags:r}=await this.parse(x);this.requireAuth();let t=r["project-dir"]??process.cwd(),s=w(),o="";try{o=v("git branch --show-current 2>/dev/null",{cwd:t,encoding:"utf-8"}).trim()}catch{}let e="";try{e=v("git remote get-url origin 2>/dev/null",{cwd:t,encoding:"utf-8"}).trim()}catch{}let n={};e&&(n.gitRemote=e);let y=m(),c=await p("/api/sessions",{tool:r.tool,externalSessionId:s,projectPath:t,gitBranch:o,metadata:n,orgId:y?.orgId??null}),a=f(S(),"rulemetric");j(a,{recursive:!0});let l=f(a,s);u(l,c.id+`
2
2
  `),u(l+".seq",`0
3
3
  `),this.log(`Session started: ${c.id}`),this.log(` Tool: ${r.tool}`),this.log(` Project: ${t}`),o&&this.log(` Branch: ${o}`),this.log(""),this.log("The proxy will now capture LLM traffic for this session."),this.log("When done, run: rulemetric sessions end")}};export{i as default};
@@ -1,3 +1,3 @@
1
- import{c as l,d as h,f as m,g as p,h as f,i as y,j as r}from"../chunk-Z2MZOQCD.js";import"../chunk-3QXRLIGC.js";import"../chunk-HFGO5762.js";import"../chunk-QWCEZEDO.js";import"../chunk-KKDHD4XA.js";import"../chunk-SZ62CP55.js";import"../chunk-NTKO4H2K.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import{a as g}from"../chunk-LWI5K6T4.js";import"../chunk-IZTIYR5Q.js";import"../chunk-6VKQT2J3.js";import"../chunk-NIRD7ETU.js";import"../chunk-QY3UKLDE.js";import"../chunk-3AV3GTMP.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import{a as u}from"../chunk-ZLLER3HP.js";import{Args as b,Flags as c}from"@oclif/core";import*as w from"node:readline/promises";var d=class v extends g{static{u(this,"Setup")}static description="Agentic, transparent setup: plan / show diffs / apply the four core onboarding steps";static examples=["<%= config.bin %> setup # interactive walk (TTY)","<%= config.bin %> setup plan # read-only: every remaining artifact + diff","<%= config.bin %> setup hooks --show # print one step's diff","<%= config.bin %> setup hooks --apply # apply one step","<%= config.bin %> setup --json # machine-readable status (exit 0 iff complete)"];static args={target:b.string({description:`"plan" or a step id (${l.join(", ")})`,required:!1})};static flags={json:c.boolean({description:"Machine-readable output",default:!1}),show:c.boolean({description:"Print the step diff (read-only)",default:!1}),apply:c.boolean({description:"Apply the step",default:!1})};async run(){let{args:t,flags:e}=await this.parse(v),i=h();if(t.target==="plan"){await this.runPlan(i,e.json);return}if(t.target&&y(t.target)){if(e.apply){await f(t.target).apply(i);return}let n=await f(t.target).plan(i);this.printPlan(n);return}if(t.target&&this.error(`Unknown target "${t.target}". Use "plan" or one of: ${l.join(", ")}.`),e.json){let n=await r(i);this.log(JSON.stringify(n,null,2)),n.coreComplete||this.exit(1);return}await this.runInteractive(i)}async runPlan(t,e){let i=await r(t),n=p.filter(s=>!i.steps.find(a=>a.id===s.id)?.done),o=[];for(let s of n)o.push(await s.plan(t));if(e){this.log(JSON.stringify({...i,plans:o},null,2));return}if(o.length===0){this.log("[OK] All core steps complete \u2014 nothing to install.");return}this.log(`The following steps would be applied:
1
+ import{c as l,d as h,f as m,g as p,h as f,i as y,j as r}from"../chunk-3AZV7ZPJ.js";import"../chunk-3QXRLIGC.js";import"../chunk-HFGO5762.js";import"../chunk-QWCEZEDO.js";import"../chunk-KKDHD4XA.js";import"../chunk-SZ62CP55.js";import"../chunk-NTKO4H2K.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import{a as g}from"../chunk-KHWG7ZG4.js";import"../chunk-IZTIYR5Q.js";import"../chunk-UUZB4IKU.js";import"../chunk-EQHKCGSX.js";import"../chunk-VA5DPQB4.js";import"../chunk-3AV3GTMP.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import{a as u}from"../chunk-ZLLER3HP.js";import{Args as b,Flags as c}from"@oclif/core";import*as w from"node:readline/promises";var d=class v extends g{static{u(this,"Setup")}static description="Agentic, transparent setup: plan / show diffs / apply the four core onboarding steps";static examples=["<%= config.bin %> setup # interactive walk (TTY)","<%= config.bin %> setup plan # read-only: every remaining artifact + diff","<%= config.bin %> setup hooks --show # print one step's diff","<%= config.bin %> setup hooks --apply # apply one step","<%= config.bin %> setup --json # machine-readable status (exit 0 iff complete)"];static args={target:b.string({description:`"plan" or a step id (${l.join(", ")})`,required:!1})};static flags={json:c.boolean({description:"Machine-readable output",default:!1}),show:c.boolean({description:"Print the step diff (read-only)",default:!1}),apply:c.boolean({description:"Apply the step",default:!1})};async run(){let{args:t,flags:e}=await this.parse(v),i=h();if(t.target==="plan"){await this.runPlan(i,e.json);return}if(t.target&&y(t.target)){if(e.apply){await f(t.target).apply(i);return}let n=await f(t.target).plan(i);this.printPlan(n);return}if(t.target&&this.error(`Unknown target "${t.target}". Use "plan" or one of: ${l.join(", ")}.`),e.json){let n=await r(i);this.log(JSON.stringify(n,null,2)),n.coreComplete||this.exit(1);return}await this.runInteractive(i)}async runPlan(t,e){let i=await r(t),n=p.filter(s=>!i.steps.find(a=>a.id===s.id)?.done),o=[];for(let s of n)o.push(await s.plan(t));if(e){this.log(JSON.stringify({...i,plans:o},null,2));return}if(o.length===0){this.log("[OK] All core steps complete \u2014 nothing to install.");return}this.log(`The following steps would be applied:
2
2
  `);for(let s of o)this.printPlan(s),this.log("")}printPlan(t){this.log(`[..] ${t.title} (${t.id})`),t.command&&this.log(` command: ${t.command}`);for(let e of t.artifacts){this.log(` ${e.kind}: ${e.path}${e.masked?" (secret masked)":""}`);let i=m(e.before,e.after);for(let n of i.split(`
3
3
  `))this.log(` ${n}`)}}async runInteractive(t){if(!process.stdin.isTTY){this.log("Not a TTY \u2014 interactive walk needs a terminal."),this.log("Use one of:"),this.log(" rulemetric setup plan \u2014 see every remaining artifact + diff"),this.log(" rulemetric setup <step> --show \u2014 print one step diff"),this.log(" rulemetric setup <step> --apply \u2014 apply one step"),this.log(" rulemetric setup --json \u2014 machine-readable status");return}let e=await r(t),i=p.filter(o=>!e.steps.find(s=>s.id===o.id)?.done);if(i.length===0){this.log("[OK] All core steps complete.");return}let n=w.createInterface({input:process.stdin,output:process.stdout});try{for(let o of i){let s=await o.plan(t);this.printPlan(s);let a=(await n.question(`Apply "${s.title}"? [y/N] `)).trim().toLowerCase();a==="y"||a==="yes"?(await o.apply(t),this.log(`[OK] Applied ${s.title}.`)):this.log(`[..] Skipped ${s.title}.`),this.log("")}}finally{n.close()}}};export{d as default};
@@ -1 +1 @@
1
- import{a as e}from"../../chunk-LWI5K6T4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-6VKQT2J3.js";import"../../chunk-NIRD7ETU.js";import"../../chunk-QY3UKLDE.js";import"../../chunk-3AV3GTMP.js";import{e as r}from"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import{a as o}from"../../chunk-ZLLER3HP.js";import*as a from"node:fs";import*as n from"node:path";import{Flags as m}from"@oclif/core";var t=class p extends e{static{o(this,"SkillsExportApproved")}static description="Export approved community submissions as community-skills.json for registry merge";static examples=["<%= config.bin %> skills export-approved","<%= config.bin %> skills export-approved --output ./community-skills.json"];static flags={output:m.string({description:"Output file path",default:"packages/skills-registry/community-skills.json"})};async run(){let{flags:l}=await this.parse(p);this.requireAuth();let s=await r("/api/skills/submissions/approved");if(s.length===0){this.log("No approved submissions to export.");return}let i=n.resolve(l.output);a.writeFileSync(i,JSON.stringify(s,null,2)),this.log(`Exported ${s.length} approved skills to ${i}`)}};export{t as default};
1
+ import{a as e}from"../../chunk-KHWG7ZG4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-UUZB4IKU.js";import"../../chunk-EQHKCGSX.js";import"../../chunk-VA5DPQB4.js";import"../../chunk-3AV3GTMP.js";import{e as r}from"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import{a as o}from"../../chunk-ZLLER3HP.js";import*as a from"node:fs";import*as n from"node:path";import{Flags as m}from"@oclif/core";var t=class p extends e{static{o(this,"SkillsExportApproved")}static description="Export approved community submissions as community-skills.json for registry merge";static examples=["<%= config.bin %> skills export-approved","<%= config.bin %> skills export-approved --output ./community-skills.json"];static flags={output:m.string({description:"Output file path",default:"packages/skills-registry/community-skills.json"})};async run(){let{flags:l}=await this.parse(p);this.requireAuth();let s=await r("/api/skills/submissions/approved");if(s.length===0){this.log("No approved submissions to export.");return}let i=n.resolve(l.output);a.writeFileSync(i,JSON.stringify(s,null,2)),this.log(`Exported ${s.length} approved skills to ${i}`)}};export{t as default};
@@ -1,4 +1,4 @@
1
- import{a as p}from"../../chunk-CDI5CCHU.js";import{a as h}from"../../chunk-LWI5K6T4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-6VKQT2J3.js";import"../../chunk-NIRD7ETU.js";import"../../chunk-QY3UKLDE.js";import"../../chunk-3AV3GTMP.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import{a}from"../../chunk-ZLLER3HP.js";import*as i from"node:fs";import*as t from"node:path";import{Args as m,Flags as u}from"@oclif/core";var g=class e extends h{static{a(this,"SkillsInstall")}static description="Install a skill from the registry into your project";static examples=["<%= config.bin %> skills install tdd-workflow","<%= config.bin %> skills install tdd-workflow --tool cursor","<%= config.bin %> skills install tdd-workflow --preview"];static args={id:m.string({description:"Skill ID to install",required:!0})};static flags={tool:u.string({description:"Target tool format",options:["claude_code","cursor","copilot"]}),preview:u.boolean({description:"Preview content without writing",default:!1}),dir:u.string({description:"Project directory",default:"."})};async run(){let{args:l,flags:s}=await this.parse(e),o=(await p(this)).get(l.id);if(o||this.error(`Skill "${l.id}" not found. Try: rulemetric skills search`),s.preview){this.log(`
1
+ import{a as p}from"../../chunk-CDI5CCHU.js";import{a as h}from"../../chunk-KHWG7ZG4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-UUZB4IKU.js";import"../../chunk-EQHKCGSX.js";import"../../chunk-VA5DPQB4.js";import"../../chunk-3AV3GTMP.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import{a}from"../../chunk-ZLLER3HP.js";import*as i from"node:fs";import*as t from"node:path";import{Args as m,Flags as u}from"@oclif/core";var g=class e extends h{static{a(this,"SkillsInstall")}static description="Install a skill from the registry into your project";static examples=["<%= config.bin %> skills install tdd-workflow","<%= config.bin %> skills install tdd-workflow --tool cursor","<%= config.bin %> skills install tdd-workflow --preview"];static args={id:m.string({description:"Skill ID to install",required:!0})};static flags={tool:u.string({description:"Target tool format",options:["claude_code","cursor","copilot"]}),preview:u.boolean({description:"Preview content without writing",default:!1}),dir:u.string({description:"Project directory",default:"."})};async run(){let{args:l,flags:s}=await this.parse(e),o=(await p(this)).get(l.id);if(o||this.error(`Skill "${l.id}" not found. Try: rulemetric skills search`),s.preview){this.log(`
2
2
  ${o.name}`),this.log(`${"\u2500".repeat(o.name.length)}`),this.log(`Category: ${o.category}`),this.log(`Tools: ${o.tools.join(", ")}`),this.log(`Source: ${o.source.url}
3
3
  `),this.log(o.content.slice(0,2e3)),o.content.length>2e3&&this.log(`
4
4
  ... (${o.content.length-2e3} more characters)`);return}let c=t.resolve(s.dir),d=s.tool??w(c)??o.tools[0],r=y(c,d,o.id);r||this.error(`Cannot determine install path for tool "${d}"`);let f=t.dirname(r);if(i.existsSync(f)||i.mkdirSync(f,{recursive:!0}),i.existsSync(r)){this.warn(`File already exists: ${r}`),this.log(" Use --preview to view the skill content first.");return}i.writeFileSync(r,o.content),this.log(`Installed "${o.name}" to ${t.relative(c,r)}`),this.log(` Source: ${o.source.url}`)}};function w(e){return i.existsSync(t.join(e,"CLAUDE.md"))||i.existsSync(t.join(e,".claude"))?"claude_code":i.existsSync(t.join(e,".cursorrules"))||i.existsSync(t.join(e,".cursor"))?"cursor":i.existsSync(t.join(e,".github","copilot-instructions.md"))?"copilot":null}a(w,"detectProjectTool");function y(e,l,s){let n=s.replace(/[^a-z0-9-]/g,"-");switch(l){case"claude_code":return t.join(e,".claude","skills",`${n}.md`);case"cursor":return t.join(e,".cursor","rules",`${n}.mdc`);case"copilot":return t.join(e,".github","agents",`${n}.md`);default:return t.join(e,".claude","skills",`${n}.md`)}}a(y,"getTargetPath");export{g as default};
@@ -1,4 +1,4 @@
1
- import{a as n}from"../../chunk-CDI5CCHU.js";import{a}from"../../chunk-LWI5K6T4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-6VKQT2J3.js";import"../../chunk-NIRD7ETU.js";import"../../chunk-QY3UKLDE.js";import"../../chunk-3AV3GTMP.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import{a as r}from"../../chunk-ZLLER3HP.js";import{Flags as g}from"@oclif/core";var e=class s extends a{static{r(this,"SkillsList")}static description="List skills in the registry";static examples=["<%= config.bin %> skills list","<%= config.bin %> skills list --stats"];static flags={stats:g.boolean({description:"Show registry statistics",default:!1}),limit:g.integer({description:"Max skills to show",default:30})};async run(){let{flags:t}=await this.parse(s),i=await n(this);if(t.stats){this.log(`Skills Registry Statistics
1
+ import{a as n}from"../../chunk-CDI5CCHU.js";import{a}from"../../chunk-KHWG7ZG4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-UUZB4IKU.js";import"../../chunk-EQHKCGSX.js";import"../../chunk-VA5DPQB4.js";import"../../chunk-3AV3GTMP.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import{a as r}from"../../chunk-ZLLER3HP.js";import{Flags as g}from"@oclif/core";var e=class s extends a{static{r(this,"SkillsList")}static description="List skills in the registry";static examples=["<%= config.bin %> skills list","<%= config.bin %> skills list --stats"];static flags={stats:g.boolean({description:"Show registry statistics",default:!1}),limit:g.integer({description:"Max skills to show",default:30})};async run(){let{flags:t}=await this.parse(s),i=await n(this);if(t.stats){this.log(`Skills Registry Statistics
2
2
  `),this.log(` Total skills: ${i.size}`),this.log(` Categories: ${i.categories().join(", ")}`),this.log(` Tools: ${i.tools().join(", ")}`),this.log(` Top tags: ${i.tags().slice(0,15).join(", ")}`);return}let o=i.search({limit:t.limit});if(o.length===0){this.log("Registry is empty. Run: rulemetric skills update");return}this.log(`Showing ${o.length} of ${i.size} skills (sorted by popularity):
3
3
  `);for(let l of o){let h=l.popularity?.stars?`${u(l.popularity.stars)} stars`:"";this.log(` ${c(l.id,40)} ${c(l.category,14)} ${h}`)}this.log(`
4
4
  Search: rulemetric skills search <query>`),this.log("Install: rulemetric skills install <id>")}};function u(s){return s>=1e3?`${(s/1e3).toFixed(1)}k`:String(s)}r(u,"formatStars");function c(s,t){return s.length>t?s.slice(0,t-1)+"\u2026":s.padEnd(t)}r(c,"pad");export{e as default};
@@ -1,2 +1,2 @@
1
- import{a as h}from"../../chunk-LWI5K6T4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-6VKQT2J3.js";import"../../chunk-NIRD7ETU.js";import"../../chunk-QY3UKLDE.js";import"../../chunk-3AV3GTMP.js";import{f as d}from"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import{a as p}from"../../chunk-ZLLER3HP.js";import*as a from"node:fs";import*as i from"node:path";import{Args as k,Flags as o}from"@oclif/core";var c=class f extends h{static{p(this,"SkillsPublish")}static description="Submit a skill file to the RuleMetric skills registry";static examples=["<%= config.bin %> skills publish ./my-skill.md","<%= config.bin %> skills publish ./my-skill.md --category workflow --tool claude_code"];static args={file:k.string({description:"Path to skill file (.md)",required:!0})};static flags={name:o.string({description:"Skill name (defaults to filename)"}),description:o.string({description:"One-line description"}),category:o.string({description:"Skill category",options:["workflow","language","framework","tool","security","testing","architecture","devops","documentation","performance","other"],default:"other"}),tool:o.string({description:"Primary tool this skill targets",options:["claude_code","cursor","copilot","windsurf","universal"],default:"universal"}),tags:o.string({description:"Comma-separated tags",default:""})};async run(){let{args:u,flags:e}=await this.parse(f);this.requireAuth();let s=i.resolve(u.file);a.existsSync(s)||this.error(`File not found: ${s}`);let l=a.readFileSync(s,"utf-8");l.trim().length<20&&this.error("Skill content is too short (minimum 20 characters)");let g=i.basename(s,i.extname(s)),r=e.name??g.replace(/[-_]+/g," ").replace(/\b\w/g,t=>t.toUpperCase()),m=g.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),n=e.tags?e.tags.split(",").map(t=>t.trim()).filter(Boolean):[];this.log(`Publishing skill: ${r} (${m})`),this.log(` Category: ${e.category}`),this.log(` Tool: ${e.tool}`),n.length>0&&this.log(` Tags: ${n.join(", ")}`),this.log(` Content: ${l.length} characters
1
+ import{a as h}from"../../chunk-KHWG7ZG4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-UUZB4IKU.js";import"../../chunk-EQHKCGSX.js";import"../../chunk-VA5DPQB4.js";import"../../chunk-3AV3GTMP.js";import{f as d}from"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import{a as p}from"../../chunk-ZLLER3HP.js";import*as a from"node:fs";import*as i from"node:path";import{Args as k,Flags as o}from"@oclif/core";var c=class f extends h{static{p(this,"SkillsPublish")}static description="Submit a skill file to the RuleMetric skills registry";static examples=["<%= config.bin %> skills publish ./my-skill.md","<%= config.bin %> skills publish ./my-skill.md --category workflow --tool claude_code"];static args={file:k.string({description:"Path to skill file (.md)",required:!0})};static flags={name:o.string({description:"Skill name (defaults to filename)"}),description:o.string({description:"One-line description"}),category:o.string({description:"Skill category",options:["workflow","language","framework","tool","security","testing","architecture","devops","documentation","performance","other"],default:"other"}),tool:o.string({description:"Primary tool this skill targets",options:["claude_code","cursor","copilot","windsurf","universal"],default:"universal"}),tags:o.string({description:"Comma-separated tags",default:""})};async run(){let{args:u,flags:e}=await this.parse(f);this.requireAuth();let s=i.resolve(u.file);a.existsSync(s)||this.error(`File not found: ${s}`);let l=a.readFileSync(s,"utf-8");l.trim().length<20&&this.error("Skill content is too short (minimum 20 characters)");let g=i.basename(s,i.extname(s)),r=e.name??g.replace(/[-_]+/g," ").replace(/\b\w/g,t=>t.toUpperCase()),m=g.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),n=e.tags?e.tags.split(",").map(t=>t.trim()).filter(Boolean):[];this.log(`Publishing skill: ${r} (${m})`),this.log(` Category: ${e.category}`),this.log(` Tool: ${e.tool}`),n.length>0&&this.log(` Tags: ${n.join(", ")}`),this.log(` Content: ${l.length} characters
2
2
  `);let y={id:m,name:r,description:e.description??`Community skill: ${r}`,category:e.category,tools:[e.tool],tags:n,content:l};try{let t=await d("/api/skills/publish",y);this.log(`Published! ${t.message??`Skill "${r}" submitted to the registry.`}`)}catch(t){throw t instanceof Error&&this.error(`Failed to publish: ${t.message}`),t}}};export{c as default};
@@ -1,3 +1,3 @@
1
- import{a as n}from"../../chunk-CDI5CCHU.js";import{a}from"../../chunk-LWI5K6T4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-6VKQT2J3.js";import"../../chunk-NIRD7ETU.js";import"../../chunk-QY3UKLDE.js";import"../../chunk-3AV3GTMP.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import{a as e}from"../../chunk-ZLLER3HP.js";import{Args as d,Flags as o}from"@oclif/core";var l=class r extends a{static{e(this,"SkillsSearch")}static description="Search the community skills registry";static examples=['<%= config.bin %> skills search "tdd"',"<%= config.bin %> skills search --tool cursor --category testing","<%= config.bin %> skills search --language python"];static args={query:d.string({description:"Search term",required:!1})};static flags={tool:o.string({description:"Filter by tool",options:["claude_code","cursor","copilot","windsurf","cline","universal"]}),category:o.string({description:"Filter by category",options:["workflow","language","framework","tool","security","testing","architecture","devops","documentation","performance"]}),language:o.string({description:"Filter by programming language"}),framework:o.string({description:"Filter by framework"}),limit:o.integer({description:"Max results",default:20})};async run(){let{args:g,flags:i}=await this.parse(r),s=(await n(this)).search({query:g.query,tool:i.tool,category:i.category,language:i.language,framework:i.framework,limit:i.limit});if(s.length===0){this.log("No skills found matching your criteria."),this.log(`
1
+ import{a as n}from"../../chunk-CDI5CCHU.js";import{a}from"../../chunk-KHWG7ZG4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-UUZB4IKU.js";import"../../chunk-EQHKCGSX.js";import"../../chunk-VA5DPQB4.js";import"../../chunk-3AV3GTMP.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import{a as e}from"../../chunk-ZLLER3HP.js";import{Args as d,Flags as o}from"@oclif/core";var l=class r extends a{static{e(this,"SkillsSearch")}static description="Search the community skills registry";static examples=['<%= config.bin %> skills search "tdd"',"<%= config.bin %> skills search --tool cursor --category testing","<%= config.bin %> skills search --language python"];static args={query:d.string({description:"Search term",required:!1})};static flags={tool:o.string({description:"Filter by tool",options:["claude_code","cursor","copilot","windsurf","cline","universal"]}),category:o.string({description:"Filter by category",options:["workflow","language","framework","tool","security","testing","architecture","devops","documentation","performance"]}),language:o.string({description:"Filter by programming language"}),framework:o.string({description:"Filter by framework"}),limit:o.integer({description:"Max results",default:20})};async run(){let{args:g,flags:i}=await this.parse(r),s=(await n(this)).search({query:g.query,tool:i.tool,category:i.category,language:i.language,framework:i.framework,limit:i.limit});if(s.length===0){this.log("No skills found matching your criteria."),this.log(`
2
2
  Try a broader search or run: rulemetric skills list`);return}this.log(`Found ${s.length} skill${s.length===1?"":"s"}:
3
3
  `);for(let t of s){let c=t.popularity?.stars?` (${m(t.popularity.stars)} stars)`:"",u=t.tools.join(", ");this.log(` ${t.id}`),this.log(` ${t.name} \u2014 ${t.description}`),this.log(` tools: ${u} category: ${t.category}${c}`),t.tags.length>0&&this.log(` tags: ${t.tags.join(", ")}`),this.log("")}this.log("Run: rulemetric skills install <id> to install a skill")}};function m(r){return r>=1e3?`${(r/1e3).toFixed(1)}k`:String(r)}e(m,"formatStars");export{l as default};
@@ -1,3 +1,3 @@
1
- import{a as n}from"../../chunk-LWI5K6T4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-6VKQT2J3.js";import"../../chunk-NIRD7ETU.js";import"../../chunk-QY3UKLDE.js";import"../../chunk-3AV3GTMP.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import{a as e}from"../../chunk-ZLLER3HP.js";import*as s from"node:fs";import*as r from"node:path";import*as m from"node:os";import{Flags as h}from"@oclif/core";import{fetchAllSources as y,TIER_1_SOURCES as c,TIER_2_SOURCES as S}from"@rulemetric/skills-registry";var i=r.join(m.homedir(),".config","rulemetric"),f=r.join(i,"skills-registry.json"),t=class g extends n{static{e(this,"SkillsUpdate")}static description="Fetch latest skills from GitHub sources and update local registry";static examples=["<%= config.bin %> skills update","<%= config.bin %> skills update --all"];static flags={all:h.boolean({description:"Include Tier 2 (niche) sources",default:!1})};async run(){let{flags:o}=await this.parse(g),l=o.all?[...c,...S]:c;this.log(`Fetching skills from ${l.length} sources${o.all?" (Tier 1 + 2)":""}...
1
+ import{a as n}from"../../chunk-KHWG7ZG4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-UUZB4IKU.js";import"../../chunk-EQHKCGSX.js";import"../../chunk-VA5DPQB4.js";import"../../chunk-3AV3GTMP.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import{a as e}from"../../chunk-ZLLER3HP.js";import*as s from"node:fs";import*as r from"node:path";import*as m from"node:os";import{Flags as h}from"@oclif/core";import{fetchAllSources as y,TIER_1_SOURCES as c,TIER_2_SOURCES as S}from"@rulemetric/skills-registry";var i=r.join(m.homedir(),".config","rulemetric"),f=r.join(i,"skills-registry.json"),t=class g extends n{static{e(this,"SkillsUpdate")}static description="Fetch latest skills from GitHub sources and update local registry";static examples=["<%= config.bin %> skills update","<%= config.bin %> skills update --all"];static flags={all:h.boolean({description:"Include Tier 2 (niche) sources",default:!1})};async run(){let{flags:o}=await this.parse(g),l=o.all?[...c,...S]:c;this.log(`Fetching skills from ${l.length} sources${o.all?" (Tier 1 + 2)":""}...
2
2
  `);let a=await y(l,{onProgress:e((p,u)=>{this.log(` ${p}: ${u} skills`)},"onProgress")}),d={version:"1.0.0",generatedAt:new Date().toISOString(),skills:a.entries};s.existsSync(i)||s.mkdirSync(i,{recursive:!0}),s.writeFileSync(f,JSON.stringify(d)),this.log(`
3
3
  Updated registry: ${a.entries.length} skills cached at ${f}`)}};export{t as default};
@@ -1,11 +1 @@
1
- import{a as I}from"../../chunk-MODXEGCU.js";import{a as y}from"../../chunk-WLVQJH4E.js";import{a as h}from"../../chunk-LWI5K6T4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-6VKQT2J3.js";import"../../chunk-NIRD7ETU.js";import"../../chunk-QY3UKLDE.js";import"../../chunk-3AV3GTMP.js";import{e as u,f as c,i as g}from"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import{a as m}from"../../chunk-ZLLER3HP.js";import*as r from"node:fs";import*as f from"node:path";import{Args as w}from"@oclif/core";function U(a,i,t){let e=f.join(a,"CLAUDE.md"),n=`<!-- rulemetric:start ${i} -->`,o=`<!-- rulemetric:end ${i} -->`,s=r.existsSync(e)?r.readFileSync(e,"utf8"):"";if(s.includes(n))return!1;let l=`${s.length>0&&!s.endsWith(`
2
- `)?`
3
-
4
- `:s.length>0?`
5
- `:""}
6
- ${n}
7
- ${t}
8
- ${o}
9
- `;return r.writeFileSync(e,s+l,"utf8"),!0}m(U,"appendToCLAUDEmd");function b(a,i){let t=f.join(a,"CLAUDE.md");if(!r.existsSync(t))return!1;let e=`<!-- rulemetric:start ${i} -->`,n=`<!-- rulemetric:end ${i} -->`,o=r.readFileSync(t,"utf8"),s=o.indexOf(e);if(s===-1)return!1;let d=o.indexOf(n,s);if(d===-1)return!1;let l=o.slice(0,s),$=o.slice(d+n.length),v=(l.replace(/\n+$/,"")+`
10
- `+$.replace(/^\n+/,"")).replace(/^\n+/,"");return r.writeFileSync(t,v,"utf8"),!0}m(b,"removeFromCLAUDEmd");var p=class a extends h{static{m(this,"SuggestionsAccept")}static description="Accept a suggestion and append the instruction to CLAUDE.md";static examples=["<%= config.bin %> suggestions accept <id>"];static args={id:w.string({description:"Suggestion UUID from `suggestions list`",required:!0})};async run(){let{args:i}=await this.parse(a);this.requireAuth(),y(i.id,"suggestion ID");let t=I(process.cwd()),e=await u(`/api/instruction-suggestions/${encodeURIComponent(i.id)}`);if(e.kind==="remove"){await this.acceptRemoval(i.id,e,t);return}if(e.kind==="trim"){await this.acknowledgeTrim(i.id,e,t);return}let n=e.instructionId;e.instructionScope==="public"&&(n=(await c(`/api/instructions/${encodeURIComponent(e.instructionId)}/promote-from-public`,{targetScope:"personal"})).instructionId);let o=await u(`/api/instructions/${encodeURIComponent(n)}`);U(process.cwd(),n,o.content)?this.log(`Accepted: added ${o.name} to CLAUDE.md. It will be active starting in your next session.`):this.log(`Already present: ${o.name} is already in CLAUDE.md (block id: ${n}).`),await c(`/api/instruction-suggestions/${encodeURIComponent(i.id)}/events`,{eventType:"accepted",projectPath:t,instructionId:n})}async acknowledgeTrim(i,t,e){let n=t.estimatedTokens?` It currently costs roughly ${t.estimatedTokens} tokens per session (estimated).`:"";this.log(`Noted: ${t.name} is measured neutral, not harmful.${n}`),this.log("Nothing was changed \u2014 trimming is a judgement call about which parts carry the value,"),this.log("and the measurement only found the absence of a detectable effect, not which half to cut."),this.log(` View it: rulemetric instructions get ${t.instructionId}`),this.log(" Then edit CLAUDE.md (or the instruction) and let the next measurement cycle re-check it."),this.log("This suggestion will stop re-surfacing."),await c(`/api/instruction-suggestions/${encodeURIComponent(i)}/events`,{eventType:"accepted",projectPath:e,instructionId:t.instructionId})}async acceptRemoval(i,t,e){let n=b(process.cwd(),t.instructionId);await g(`/api/instructions/${encodeURIComponent(t.instructionId)}`);let o=t.estimatedTokens?` Frees roughly ${t.estimatedTokens} tokens of context per session (estimated).`:"";n?this.log(`Retired: removed ${t.name} from CLAUDE.md and archived it.${o}`):this.log(`Archived ${t.name}.${o}
11
- CLAUDE.md was not modified \u2014 no rulemetric-managed block for this instruction was found in this directory. If you added it by hand, remove it yourself.`),this.log("Undo with: rulemetric instructions restore "+t.instructionId),await c(`/api/instruction-suggestions/${encodeURIComponent(i)}/events`,{eventType:"accepted",projectPath:e,instructionId:t.instructionId})}};export{U as appendToCLAUDEmd,p as default,b as removeFromCLAUDEmd};
1
+ import{d as a}from"../../chunk-MMPZIZYZ.js";import{a as r}from"../../chunk-MODXEGCU.js";import{a as e}from"../../chunk-WLVQJH4E.js";import{a as o}from"../../chunk-KHWG7ZG4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-UUZB4IKU.js";import"../../chunk-EQHKCGSX.js";import"../../chunk-VA5DPQB4.js";import"../../chunk-3AV3GTMP.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import{a as s}from"../../chunk-ZLLER3HP.js";import{Args as m}from"@oclif/core";var t=class n extends o{static{s(this,"SuggestionsAccept")}static description="Accept a suggestion and append the instruction to CLAUDE.md";static examples=["<%= config.bin %> suggestions accept <id>"];static args={id:m.string({description:"Suggestion UUID from `suggestions list`",required:!0})};async run(){let{args:i}=await this.parse(n);this.requireAuth(),e(i.id,"suggestion ID");let c=await a({suggestionId:i.id,dir:process.cwd(),projectPath:r(process.cwd()),actor:"human"});for(let d of c.messages)this.log(d)}};export{t as default};
@@ -0,0 +1 @@
1
+ import{a as c}from"../../chunk-KHWG7ZG4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-UUZB4IKU.js";import"../../chunk-EQHKCGSX.js";import"../../chunk-VA5DPQB4.js";import"../../chunk-3AV3GTMP.js";import{e as r,h as a}from"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import{a as s}from"../../chunk-ZLLER3HP.js";import{Flags as i}from"@oclif/core";var n=class l extends c{static{s(this,"SuggestionsAuto")}static description="Show or change automatic adoption of high-confidence suggestions into CLAUDE.md";static examples=["<%= config.bin %> suggestions auto","<%= config.bin %> suggestions auto --off","<%= config.bin %> suggestions auto --on","<%= config.bin %> suggestions auto --off --project <project-id>"];static flags={on:i.boolean({description:"Enable automatic adoption",exclusive:["off"]}),off:i.boolean({description:"Disable automatic adoption",exclusive:["on"]}),project:i.string({description:"Apply to one project only (overrides the account default)"})};async run(){let{flags:o}=await this.parse(l);if(this.requireAuth(),o.on||o.off){let e=!!o.on;await a("/api/settings/auto-accept",{enabled:e,...o.project?{projectId:o.project}:{}});let u=o.project?`project ${o.project}`:"your account";this.log(`Automatic adoption is now ${e?"ON":"OFF"} for ${u}.`),e||(this.log("Already-adopted rules stay in CLAUDE.md \u2014 remove one with:"),this.log(" rulemetric suggestions undo <instruction-id>"));return}let t=await r("/api/settings/auto-accept"+(o.project?`?projectId=${encodeURIComponent(o.project)}`:""));this.log(`Automatic adoption: ${t.effective?"ON":"OFF"} (from ${t.source})`),this.log(` account default: ${t.accountDefault?"on":"off"}`),o.project&&this.log(` project override: ${t.projectOverride===null?"none":t.projectOverride?"on":"off"}`),this.log(""),this.log("When on, the nightly loop may add \u2014 and only add \u2014 suggestions that:"),this.log(` \u2022 score >= ${t.limits.minScore} (already injected into every session)`),this.log(` \u2022 are '${t.limits.kind}' proposals; removals and trims always wait for you`),this.log(" \u2022 contain no unfilled placeholders"),this.log(` \u2022 at most ${t.limits.maxPerRun} per night, ${t.limits.maxPerWindow} per ${t.limits.windowDays} days`),this.log(""),this.log("Every adopted rule is a tagged block in CLAUDE.md; undo one with:"),this.log(" rulemetric suggestions undo <instruction-id>"),this.log("Turn it off entirely with: rulemetric suggestions auto --off")}};export{n as default};
@@ -1 +1 @@
1
- import{a}from"../../chunk-MODXEGCU.js";import{a as r}from"../../chunk-WLVQJH4E.js";import{a as o}from"../../chunk-LWI5K6T4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-6VKQT2J3.js";import"../../chunk-NIRD7ETU.js";import"../../chunk-QY3UKLDE.js";import"../../chunk-3AV3GTMP.js";import{f as t}from"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import{a as e}from"../../chunk-ZLLER3HP.js";import{Args as m}from"@oclif/core";var s=class n extends o{static{e(this,"SuggestionsDismiss")}static description="Dismiss a suggestion so it will not re-surface for 30 days";static examples=["<%= config.bin %> suggestions dismiss <id>"];static args={id:m.string({description:"Suggestion UUID from `suggestions list`",required:!0})};async run(){let{args:i}=await this.parse(n);this.requireAuth(),r(i.id,"suggestion ID");let d=a(process.cwd());await t(`/api/instruction-suggestions/${encodeURIComponent(i.id)}/events`,{eventType:"dismissed",projectPath:d}),this.log("Dismissed. Won't re-surface for 30 days.")}};export{s as default};
1
+ import{a}from"../../chunk-MODXEGCU.js";import{a as r}from"../../chunk-WLVQJH4E.js";import{a as o}from"../../chunk-KHWG7ZG4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-UUZB4IKU.js";import"../../chunk-EQHKCGSX.js";import"../../chunk-VA5DPQB4.js";import"../../chunk-3AV3GTMP.js";import{f as t}from"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import{a as e}from"../../chunk-ZLLER3HP.js";import{Args as m}from"@oclif/core";var s=class n extends o{static{e(this,"SuggestionsDismiss")}static description="Dismiss a suggestion so it will not re-surface for 30 days";static examples=["<%= config.bin %> suggestions dismiss <id>"];static args={id:m.string({description:"Suggestion UUID from `suggestions list`",required:!0})};async run(){let{args:i}=await this.parse(n);this.requireAuth(),r(i.id,"suggestion ID");let d=a(process.cwd());await t(`/api/instruction-suggestions/${encodeURIComponent(i.id)}/events`,{eventType:"dismissed",projectPath:d}),this.log("Dismissed. Won't re-surface for 30 days.")}};export{s as default};
@@ -1,3 +1,3 @@
1
- import{a as u}from"../../chunk-MODXEGCU.js";import{a as g}from"../../chunk-LWI5K6T4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-6VKQT2J3.js";import"../../chunk-NIRD7ETU.js";import"../../chunk-QY3UKLDE.js";import"../../chunk-3AV3GTMP.js";import{e as d}from"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import{a}from"../../chunk-ZLLER3HP.js";import{Flags as j}from"@oclif/core";import{printTable as v}from"@oclif/table";var r=class p extends g{static{a(this,"SuggestionsList")}static description="List instruction suggestions for a project";static examples=["<%= config.bin %> suggestions list","<%= config.bin %> suggestions list --project /path/to/project"];static flags={project:j.string({char:"p",description:"Project path (defaults to current directory)"})};async run(){let{flags:m}=await this.parse(p);this.requireAuth();let l=u(m.project??process.cwd()),f=encodeURIComponent(l),s=await d(`/api/instruction-suggestions?projectPath=${f}&limit=10&groupByKind=true`);if(s.suggestions.length===0){this.log("No suggestions for this project. They are recomputed daily at 04:30 UTC by a server-side cron and run on your background worker \u2014 make sure one is running (`rulemetric evals agent`, or `rulemetric service install --worker-only`).");return}v({data:s.suggestions.map(e=>({ID:e.id,Action:(e.kind??"add")==="add"?"add":(e.kind??"add").toUpperCase(),Scope:e.instructionScope,Name:e.name,Tokens:e.estimatedTokens?String(e.estimatedTokens):"-",Score:e.score.toFixed(2),Reason:e.reason.length>60?e.reason.slice(0,59)+"\u2026":e.reason})),columns:["ID","Action","Scope","Name","Tokens","Score","Reason"]});let o=s.suggestions.filter(e=>e.kind==="remove");if(o.length>0){let e=o.reduce((h,k)=>h+(k.estimatedTokens??0),0);this.log(`
1
+ import{a as u}from"../../chunk-MODXEGCU.js";import{a as g}from"../../chunk-KHWG7ZG4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-UUZB4IKU.js";import"../../chunk-EQHKCGSX.js";import"../../chunk-VA5DPQB4.js";import"../../chunk-3AV3GTMP.js";import{e as d}from"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import{a}from"../../chunk-ZLLER3HP.js";import{Flags as j}from"@oclif/core";import{printTable as v}from"@oclif/table";var r=class p extends g{static{a(this,"SuggestionsList")}static description="List instruction suggestions for a project";static examples=["<%= config.bin %> suggestions list","<%= config.bin %> suggestions list --project /path/to/project"];static flags={project:j.string({char:"p",description:"Project path (defaults to current directory)"})};async run(){let{flags:m}=await this.parse(p);this.requireAuth();let l=u(m.project??process.cwd()),f=encodeURIComponent(l),s=await d(`/api/instruction-suggestions?projectPath=${f}&limit=10&groupByKind=true`);if(s.suggestions.length===0){this.log("No suggestions for this project. They are recomputed daily at 04:30 UTC by a server-side cron and run on your background worker \u2014 make sure one is running (`rulemetric evals agent`, or `rulemetric service install --worker-only`).");return}v({data:s.suggestions.map(e=>({ID:e.id,Action:(e.kind??"add")==="add"?"add":(e.kind??"add").toUpperCase(),Scope:e.instructionScope,Name:e.name,Tokens:e.estimatedTokens?String(e.estimatedTokens):"-",Score:e.score.toFixed(2),Reason:e.reason.length>60?e.reason.slice(0,59)+"\u2026":e.reason})),columns:["ID","Action","Scope","Name","Tokens","Score","Reason"]});let o=s.suggestions.filter(e=>e.kind==="remove");if(o.length>0){let e=o.reduce((h,k)=>h+(k.estimatedTokens??0),0);this.log(`
2
2
  ${o.length} retirement proposal(s) \u2014 accepting one archives the instruction (reversible: rulemetric instructions restore <instruction-id>).`+(e>0?` Together they cost roughly ${e} tokens of context per session.`:""))}let t=s.stats??{},i=(t.surfaced??0)+(t.surfaced_with_content??0)+(t.proxy_injected??0),n=(t.accepted??0)+(t.promoted??0),c=t.dismissed??0;i+n+c>0&&this.log(`
3
3
  Lifetime for this project: ${i} surfaced \xB7 ${n} accepted \xB7 ${c} dismissed`)}};export{r as default};
@@ -1 +1 @@
1
- import{a as i}from"../../chunk-LWI5K6T4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-6VKQT2J3.js";import"../../chunk-NIRD7ETU.js";import"../../chunk-QY3UKLDE.js";import"../../chunk-3AV3GTMP.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import{a as r}from"../../chunk-ZLLER3HP.js";var e=class extends i{static{r(this,"SuggestionsRefresh")}static description="Information about refreshing instruction suggestions";static examples=["<%= config.bin %> suggestions refresh"];async run(){this.log("Suggestions are recomputed automatically: a server-side cron enqueues a job daily at 04:30 UTC, and your background worker picks it up \u2014 there is no manual trigger."),this.log("Just make sure a worker is running: `rulemetric evals agent` (foreground), or install it persistently with `rulemetric service install --worker-only`.")}};export{e as default};
1
+ import{a as i}from"../../chunk-KHWG7ZG4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-UUZB4IKU.js";import"../../chunk-EQHKCGSX.js";import"../../chunk-VA5DPQB4.js";import"../../chunk-3AV3GTMP.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import{a as r}from"../../chunk-ZLLER3HP.js";var e=class extends i{static{r(this,"SuggestionsRefresh")}static description="Information about refreshing instruction suggestions";static examples=["<%= config.bin %> suggestions refresh"];async run(){this.log("Suggestions are recomputed automatically: a server-side cron enqueues a job daily at 04:30 UTC, and your background worker picks it up \u2014 there is no manual trigger."),this.log("Just make sure a worker is running: `rulemetric evals agent` (foreground), or install it persistently with `rulemetric service install --worker-only`.")}};export{e as default};
@@ -0,0 +1 @@
1
+ import{b as a}from"../../chunk-MMPZIZYZ.js";import{a as n}from"../../chunk-MODXEGCU.js";import{a as s}from"../../chunk-WLVQJH4E.js";import{a as e}from"../../chunk-KHWG7ZG4.js";import"../../chunk-IZTIYR5Q.js";import"../../chunk-UUZB4IKU.js";import"../../chunk-EQHKCGSX.js";import"../../chunk-VA5DPQB4.js";import"../../chunk-3AV3GTMP.js";import{f as r}from"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import{a as i}from"../../chunk-ZLLER3HP.js";import{Args as p}from"@oclif/core";var o=class d extends e{static{i(this,"SuggestionsUndo")}static description="Remove an adopted instruction from CLAUDE.md and stop it being re-proposed";static examples=["<%= config.bin %> suggestions undo <instruction-id>"];static args={instructionId:p.string({description:"Instruction ID from the rulemetric:start marker in CLAUDE.md",required:!0})};async run(){let{args:t}=await this.parse(d);this.requireAuth(),s(t.instructionId,"instruction ID");let m=n(process.cwd()),c=a(process.cwd(),t.instructionId),u=await r("/api/instruction-suggestions/undo",{projectPath:m,instructionId:t.instructionId});c?this.log(`Removed ${u.name} from CLAUDE.md.`):this.log(`CLAUDE.md was not modified \u2014 no rulemetric-managed block for ${t.instructionId} was found in this directory.`),this.log("It will not be proposed again for 30 days."),this.log("Turn auto-adoption off entirely: rulemetric suggestions auto --off")}};export{o as default};
@@ -1 +1 @@
1
- import{a as F}from"../chunk-DVN7GFJG.js";import{a as M}from"../chunk-O2SDD2WW.js";import{a as E}from"../chunk-GBMF3TP6.js";import{a as O}from"../chunk-WSCK4WNK.js";import{a as D}from"../chunk-4Z5ECCJE.js";import"../chunk-ARNZQBMX.js";import{a as B,b as S,c as R}from"../chunk-4Q72B377.js";import{a as $}from"../chunk-MBHDTW3M.js";import"../chunk-ULMEKK7C.js";import"../chunk-NBTC5FNV.js";import"../chunk-TU2AR6XO.js";import{a as u,b as T,d as a,e as v}from"../chunk-NJ5UED3H.js";import"../chunk-5RUEROLC.js";import"../chunk-ZXF5NE54.js";import"../chunk-7DFNBRLY.js";import{a as X}from"../chunk-3AV3GTMP.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import{a as m}from"../chunk-ZLLER3HP.js";import{useState as w,useEffect as nt,useCallback as G,useRef as st}from"react";import{render as U,Box as c,Text as o,useInput as at,useApp as lt}from"ink";import{Fragment as ht,jsx as t,jsxs as h}from"react/jsx-runtime";var dt=90;function J(){let s=process.stdout.columns||80,n=Math.min(160,s),i=n>=dt,d=i?Math.floor(n/2):n,b=Math.max(6,Math.min(10,d-34));return{dashWidth:n,wide:i,halfWidth:d,barWidth:b}}m(J,"getLayout");function z({active:s,providerName:n}){return h(c,{justifyContent:"space-between",paddingX:1,children:[t(c,{gap:1,children:u.map(i=>t(o,{bold:s===i,color:s===i?a:v,children:s===i?`[ ${T[i]} ]`:` ${T[i]} `},i))}),n&&t(o,{color:a,bold:!0,children:n})]})}m(z,"PeriodTabs");function H({width:s,insightsFocused:n=!1}){return t(c,{borderStyle:"round",borderColor:v,width:s,justifyContent:"center",paddingX:1,children:h(o,{children:[t(o,{color:a,bold:!0,children:"<"}),t(o,{color:a,children:">"}),t(o,{dimColor:!0,children:" switch "}),t(o,{color:a,bold:!0,children:"q"}),t(o,{dimColor:!0,children:" quit "}),t(o,{color:a,bold:!0,children:"s"}),h(o,{dimColor:!0,children:[" ",n?"back":"suggestions"," "]}),t(o,{color:a,bold:!0,children:"1"}),t(o,{dimColor:!0,children:"-"}),t(o,{color:a,bold:!0,children:"5"}),t(o,{dimColor:!0,children:" period "}),t(o,{color:a,bold:!0,children:"r"}),t(o,{dimColor:!0,children:" refresh "}),t(o,{color:a,bold:!0,children:"n"}),t(o,{dimColor:!0,children:" new session "}),t(o,{color:a,bold:!0,children:"l"}),t(o,{dimColor:!0,children:" launcher"})]})})}m(H,"StatusBar");function ct({wide:s,width:n,children:i}){return s?t(c,{width:n,children:i}):t(ht,{children:i})}m(ct,"Row");function ut({initialLocal:s,initialApi:n,initialInstructions:i,initialPeriod:d,initialLauncherFocused:b=!1}){let{exit:j}=lt(),[e,L]=w(d),[K,Q]=w(s),[W,V]=w(n),[Z,tt]=w(i),[ot,k]=w(!1),[p,I]=w(!1),[Y,_]=w(b),et=X()?.orgSlug??null,y=st(null),it=J(),g=G(async()=>{k(!0);let[r,x,P]=await Promise.all([B(),S(),R()]);Q(r),V(x),tt(P),k(!1)},[]);nt(()=>{let r=setInterval(g,3e4);return()=>clearInterval(r)},[g]);let f=G(r=>{r!==e&&(L(r),y.current&&clearTimeout(y.current),y.current=setTimeout(g,300))},[e,g]);at((r,x)=>{if(Y)return;if(r==="q"){if(p){I(!1);return}j();return}if(r==="s"){I(A=>!A);return}if(x.escape&&p){I(!1);return}if(r==="l"&&!p){_(!0);return}if(p)return;if(r==="r"){g();return}if(r==="n"){import("../dist-FAVALJ5C.js").then(({getLauncher:A})=>{A("claude_code").launch({projectPath:process.cwd(),mode:"interactive"})});return}let P=u.indexOf(e);x.leftArrow?f(u[(P-1+u.length)%u.length]):x.rightArrow||x.tab?f(u[(P+1)%u.length]):r==="1"?f("today"):r==="2"?f("week"):r==="3"?f("30days"):r==="4"?f("month"):r==="5"&&f("all")});let{dashWidth:l,wide:q,halfWidth:rt,barWidth:C}=it,N=q?rt:l;return ot?h(c,{flexDirection:"column",width:l,children:[t(z,{active:e}),t(c,{borderStyle:"round",borderColor:a,paddingX:1,width:l,children:h(o,{dimColor:!0,children:["Loading ",T[e],"..."]})}),t(H,{width:l})]}):Y?t(c,{flexDirection:"column",width:l,children:t($,{onClose:()=>_(!1),activeOrg:et,defaultProjectPath:process.cwd(),width:l})}):h(c,{flexDirection:"column",width:l,children:[t(z,{active:e}),t(D,{local:K,api:W,label:T[e],width:l}),h(ct,{wide:q,width:l,children:[t(O,{api:W,width:N,barWidth:C}),t(F,{api:W,width:N,barWidth:C})]}),t(E,{instructions:Z,width:l,barWidth:C}),t(M,{api:W,width:l,focused:p}),t(H,{width:l,insightsFocused:p})]})}m(ut,"InteractiveDashboard");async function yt(s="week",n={}){let[i,d,b]=await Promise.all([B(),S(),R()]);if(process.stdin.isTTY&&process.stdout.isTTY){let{waitUntilExit:e}=U(t(ut,{initialLocal:i,initialApi:d,initialInstructions:b,initialPeriod:s,initialLauncherFocused:n.openLauncher??!1}));await e()}else{let e=J(),{unmount:L}=U(h(c,{flexDirection:"column",width:e.dashWidth,children:[t(D,{local:i,api:d,label:T[s],width:e.dashWidth}),t(O,{api:d,width:e.dashWidth,barWidth:e.barWidth}),t(F,{api:d,width:e.dashWidth,barWidth:e.barWidth}),t(E,{instructions:b,width:e.dashWidth,barWidth:e.barWidth}),t(M,{api:d,width:e.dashWidth})]}),{patchConsole:!1});L()}}m(yt,"renderDashboard");export{yt as renderDashboard};
1
+ import{a as D}from"../chunk-4Z5ECCJE.js";import{a as F}from"../chunk-DVN7GFJG.js";import{a as M}from"../chunk-O2SDD2WW.js";import{a as E}from"../chunk-GBMF3TP6.js";import{a as O}from"../chunk-WSCK4WNK.js";import"../chunk-ARNZQBMX.js";import{a as B,b as S,c as R}from"../chunk-2B7Y6JNB.js";import{a as $}from"../chunk-HYDGERWD.js";import"../chunk-CDDICCY2.js";import"../chunk-PQN2GAG4.js";import"../chunk-X23L2MF6.js";import"../chunk-B22HYCBV.js";import"../chunk-ZXF5NE54.js";import{a as u,b as T,d as a,e as v}from"../chunk-NJ5UED3H.js";import"../chunk-7DFNBRLY.js";import{a as X}from"../chunk-3AV3GTMP.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import{a as m}from"../chunk-ZLLER3HP.js";import{useState as w,useEffect as nt,useCallback as G,useRef as st}from"react";import{render as U,Box as c,Text as o,useInput as at,useApp as lt}from"ink";import{Fragment as ht,jsx as t,jsxs as h}from"react/jsx-runtime";var dt=90;function J(){let s=process.stdout.columns||80,n=Math.min(160,s),i=n>=dt,d=i?Math.floor(n/2):n,b=Math.max(6,Math.min(10,d-34));return{dashWidth:n,wide:i,halfWidth:d,barWidth:b}}m(J,"getLayout");function z({active:s,providerName:n}){return h(c,{justifyContent:"space-between",paddingX:1,children:[t(c,{gap:1,children:u.map(i=>t(o,{bold:s===i,color:s===i?a:v,children:s===i?`[ ${T[i]} ]`:` ${T[i]} `},i))}),n&&t(o,{color:a,bold:!0,children:n})]})}m(z,"PeriodTabs");function H({width:s,insightsFocused:n=!1}){return t(c,{borderStyle:"round",borderColor:v,width:s,justifyContent:"center",paddingX:1,children:h(o,{children:[t(o,{color:a,bold:!0,children:"<"}),t(o,{color:a,children:">"}),t(o,{dimColor:!0,children:" switch "}),t(o,{color:a,bold:!0,children:"q"}),t(o,{dimColor:!0,children:" quit "}),t(o,{color:a,bold:!0,children:"s"}),h(o,{dimColor:!0,children:[" ",n?"back":"suggestions"," "]}),t(o,{color:a,bold:!0,children:"1"}),t(o,{dimColor:!0,children:"-"}),t(o,{color:a,bold:!0,children:"5"}),t(o,{dimColor:!0,children:" period "}),t(o,{color:a,bold:!0,children:"r"}),t(o,{dimColor:!0,children:" refresh "}),t(o,{color:a,bold:!0,children:"n"}),t(o,{dimColor:!0,children:" new session "}),t(o,{color:a,bold:!0,children:"l"}),t(o,{dimColor:!0,children:" launcher"})]})})}m(H,"StatusBar");function ct({wide:s,width:n,children:i}){return s?t(c,{width:n,children:i}):t(ht,{children:i})}m(ct,"Row");function ut({initialLocal:s,initialApi:n,initialInstructions:i,initialPeriod:d,initialLauncherFocused:b=!1}){let{exit:j}=lt(),[e,L]=w(d),[K,Q]=w(s),[W,V]=w(n),[Z,tt]=w(i),[ot,k]=w(!1),[p,I]=w(!1),[Y,_]=w(b),et=X()?.orgSlug??null,y=st(null),it=J(),g=G(async()=>{k(!0);let[r,x,P]=await Promise.all([B(),S(),R()]);Q(r),V(x),tt(P),k(!1)},[]);nt(()=>{let r=setInterval(g,3e4);return()=>clearInterval(r)},[g]);let f=G(r=>{r!==e&&(L(r),y.current&&clearTimeout(y.current),y.current=setTimeout(g,300))},[e,g]);at((r,x)=>{if(Y)return;if(r==="q"){if(p){I(!1);return}j();return}if(r==="s"){I(A=>!A);return}if(x.escape&&p){I(!1);return}if(r==="l"&&!p){_(!0);return}if(p)return;if(r==="r"){g();return}if(r==="n"){import("../dist-FAVALJ5C.js").then(({getLauncher:A})=>{A("claude_code").launch({projectPath:process.cwd(),mode:"interactive"})});return}let P=u.indexOf(e);x.leftArrow?f(u[(P-1+u.length)%u.length]):x.rightArrow||x.tab?f(u[(P+1)%u.length]):r==="1"?f("today"):r==="2"?f("week"):r==="3"?f("30days"):r==="4"?f("month"):r==="5"&&f("all")});let{dashWidth:l,wide:q,halfWidth:rt,barWidth:C}=it,N=q?rt:l;return ot?h(c,{flexDirection:"column",width:l,children:[t(z,{active:e}),t(c,{borderStyle:"round",borderColor:a,paddingX:1,width:l,children:h(o,{dimColor:!0,children:["Loading ",T[e],"..."]})}),t(H,{width:l})]}):Y?t(c,{flexDirection:"column",width:l,children:t($,{onClose:()=>_(!1),activeOrg:et,defaultProjectPath:process.cwd(),width:l})}):h(c,{flexDirection:"column",width:l,children:[t(z,{active:e}),t(D,{local:K,api:W,label:T[e],width:l}),h(ct,{wide:q,width:l,children:[t(O,{api:W,width:N,barWidth:C}),t(F,{api:W,width:N,barWidth:C})]}),t(E,{instructions:Z,width:l,barWidth:C}),t(M,{api:W,width:l,focused:p}),t(H,{width:l,insightsFocused:p})]})}m(ut,"InteractiveDashboard");async function yt(s="week",n={}){let[i,d,b]=await Promise.all([B(),S(),R()]);if(process.stdin.isTTY&&process.stdout.isTTY){let{waitUntilExit:e}=U(t(ut,{initialLocal:i,initialApi:d,initialInstructions:b,initialPeriod:s,initialLauncherFocused:n.openLauncher??!1}));await e()}else{let e=J(),{unmount:L}=U(h(c,{flexDirection:"column",width:e.dashWidth,children:[t(D,{local:i,api:d,label:T[s],width:e.dashWidth}),t(O,{api:d,width:e.dashWidth,barWidth:e.barWidth}),t(F,{api:d,width:e.dashWidth,barWidth:e.barWidth}),t(E,{instructions:b,width:e.dashWidth,barWidth:e.barWidth}),t(M,{api:d,width:e.dashWidth})]}),{patchConsole:!1});L()}}m(yt,"renderDashboard");export{yt as renderDashboard};
@@ -1 +1 @@
1
- import{a,b,c}from"../chunk-4Q72B377.js";import"../chunk-7DFNBRLY.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{b as loadApiInsights,c as loadLinkedInstructions,a as loadLocalStats};
1
+ import{a,b,c}from"../chunk-2B7Y6JNB.js";import"../chunk-7DFNBRLY.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{b as loadApiInsights,c as loadLinkedInstructions,a as loadLocalStats};
@@ -1 +1 @@
1
- import{a}from"../../chunk-NBTC5FNV.js";import"../../chunk-NJ5UED3H.js";import"../../chunk-ZXF5NE54.js";import"../../chunk-ZLLER3HP.js";export{a as ActiveJobsList};
1
+ import{a}from"../../chunk-X23L2MF6.js";import"../../chunk-ZXF5NE54.js";import"../../chunk-NJ5UED3H.js";import"../../chunk-ZLLER3HP.js";export{a as ActiveJobsList};
@@ -1 +1 @@
1
- import{a}from"../../chunk-MBHDTW3M.js";import"../../chunk-ULMEKK7C.js";import"../../chunk-NBTC5FNV.js";import"../../chunk-TU2AR6XO.js";import"../../chunk-NJ5UED3H.js";import"../../chunk-5RUEROLC.js";import"../../chunk-ZXF5NE54.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as LauncherOverlay};
1
+ import{a}from"../../chunk-HYDGERWD.js";import"../../chunk-CDDICCY2.js";import"../../chunk-PQN2GAG4.js";import"../../chunk-X23L2MF6.js";import"../../chunk-B22HYCBV.js";import"../../chunk-ZXF5NE54.js";import"../../chunk-NJ5UED3H.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as LauncherOverlay};
@@ -1 +1 @@
1
- import{a}from"../../chunk-TU2AR6XO.js";import"../../chunk-NJ5UED3H.js";import"../../chunk-ZXF5NE54.js";import"../../chunk-ZLLER3HP.js";export{a as NewLaunchForm};
1
+ import{a}from"../../chunk-B22HYCBV.js";import"../../chunk-ZXF5NE54.js";import"../../chunk-NJ5UED3H.js";import"../../chunk-ZLLER3HP.js";export{a as NewLaunchForm};
@@ -1 +1 @@
1
- import{a,b,c,d}from"../../chunk-5RUEROLC.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{c as cancelLaunchJob,b as createLaunchJob,a as fetchLaunchJobs,d as listLaunchers};
1
+ import{a,b,c,d}from"../../chunk-PQN2GAG4.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{c as cancelLaunchJob,b as createLaunchJob,a as fetchLaunchJobs,d as listLaunchers};
@@ -1 +1 @@
1
- import{a}from"../../chunk-ULMEKK7C.js";import"../../chunk-5RUEROLC.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as useLaunchJobs};
1
+ import{a}from"../../chunk-CDDICCY2.js";import"../../chunk-PQN2GAG4.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as useLaunchJobs};
@@ -1 +1 @@
1
- import{a,b,c}from"../chunk-QY3UKLDE.js";import"../chunk-3AV3GTMP.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{c as _resetRefreshAttempt,b as bootstrapActiveOrg,a as maybeRefreshActiveOrg};
1
+ import{a,b,c}from"../chunk-VA5DPQB4.js";import"../chunk-3AV3GTMP.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{c as _resetRefreshAttempt,b as bootstrapActiveOrg,a as maybeRefreshActiveOrg};
@@ -1 +1 @@
1
- import{a,b,c,d,e}from"../chunk-EVAQBD5V.js";import"../chunk-5XUN743A.js";import"../chunk-MOAJLSYV.js";import"../chunk-BLCMXTIK.js";import"../chunk-T4ZIK6RS.js";import"../chunk-W76EQSEV.js";import"../chunk-6QKI756T.js";import"../chunk-RSKQRVPJ.js";import"../chunk-HXZM2UHO.js";import"../chunk-FAXV5AAG.js";import"../chunk-UF6US7VU.js";import"../chunk-BAVLNWO4.js";import"../chunk-YW3JQKGY.js";import"../chunk-O2BKBW7Z.js";import"../chunk-KGQ5W54Y.js";import"../chunk-UKN2YVY4.js";import"../chunk-4PWGV2OW.js";import"../chunk-5RBLIVBF.js";import"../chunk-EN43UYBN.js";import"../chunk-5KD2N2MH.js";import"../chunk-YQ56FQEO.js";import"../chunk-GIRPEMTW.js";import"../chunk-7DFNBRLY.js";import"../chunk-FAZMKMTC.js";import"../chunk-4VZLIGMS.js";import"../chunk-CNOD6HWU.js";import"../chunk-AI6FMGKM.js";import"../chunk-6UEFCMR2.js";import"../chunk-MODXEGCU.js";import"../chunk-A4FYFRN7.js";import"../chunk-XJYNMJHH.js";import"../chunk-BL4BN6RU.js";import"../chunk-DBELYMDA.js";import"../chunk-NTKO4H2K.js";import"../chunk-CJRYYV76.js";import"../chunk-ATL4WZBF.js";import"../chunk-L2CFSMBC.js";import"../chunk-Z72VHGV7.js";import"../chunk-4L2ZEIRE.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-G5BXZT6F.js";import"../chunk-HMMO27U4.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{b as CAPABILITIES,a as HANDLERS,c as availableCapabilities,d as pollForWork,e as runAgentLoop};
1
+ import{a,b,c,d,e}from"../chunk-GF76D2DU.js";import"../chunk-LLIHRQPH.js";import"../chunk-SANYAPBK.js";import"../chunk-CBUTNIJA.js";import"../chunk-X3RTCN6S.js";import"../chunk-6QKI756T.js";import"../chunk-RSKQRVPJ.js";import"../chunk-S62MK372.js";import"../chunk-UF6US7VU.js";import"../chunk-3DGL2ZY3.js";import"../chunk-HOQPVOMF.js";import"../chunk-QTZPLAYC.js";import"../chunk-WKDXH7NO.js";import"../chunk-KWNIKGAE.js";import"../chunk-DZ3FBQYD.js";import"../chunk-4PWGV2OW.js";import"../chunk-5RBLIVBF.js";import"../chunk-C2275MFP.js";import"../chunk-QWPWY3SW.js";import"../chunk-X3VL5H24.js";import"../chunk-K4B24SMJ.js";import"../chunk-6M74HH6Y.js";import"../chunk-E2NVNLFD.js";import"../chunk-XFAFMYIP.js";import"../chunk-GIRPEMTW.js";import"../chunk-MMPZIZYZ.js";import"../chunk-7DFNBRLY.js";import"../chunk-AFYZYXQ3.js";import"../chunk-CNOD6HWU.js";import"../chunk-SYTQDPPN.js";import"../chunk-6UEFCMR2.js";import"../chunk-MODXEGCU.js";import"../chunk-IVDTORX5.js";import"../chunk-RZTVYUX4.js";import"../chunk-FWTYR36W.js";import"../chunk-BL4BN6RU.js";import"../chunk-G7V4ZZZ3.js";import"../chunk-7FZB65VH.js";import"../chunk-NTKO4H2K.js";import"../chunk-CJRYYV76.js";import"../chunk-MO57LGGK.js";import"../chunk-L2CFSMBC.js";import"../chunk-Z72VHGV7.js";import"../chunk-KGURGIZ2.js";import"../chunk-JPUH3V67.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-G5BXZT6F.js";import"../chunk-TZA4HAVF.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{b as CAPABILITIES,a as HANDLERS,c as availableCapabilities,d as pollForWork,e as runAgentLoop};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g}from"../chunk-IQCE4VBP.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{d as classifyRecord,e as emitRecordsAsEvents,c as extractUserPrompt,b as findMaxStepIndex,a as readNewRecords,g as stateApi,f as tailAntigravityTranscript};
1
+ import{a,b,c,d,e,f,g}from"../chunk-YFQ4FOAS.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{d as classifyRecord,e as emitRecordsAsEvents,c as extractUserPrompt,b as findMaxStepIndex,a as readNewRecords,g as stateApi,f as tailAntigravityTranscript};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i}from"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{b as ApiError,a as DEFAULT_API_URL,d as api,i as apiDelete,e as apiGet,h as apiPatch,f as apiPost,g as apiPut,c as getBaseUrl};
1
+ import{a,b,c,d,e,f,g,h,i}from"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{b as ApiError,a as DEFAULT_API_URL,d as api,i as apiDelete,e as apiGet,h as apiPatch,f as apiPost,g as apiPut,c as getBaseUrl};
@@ -1 +1 @@
1
- import{a}from"../chunk-RJLAAKEN.js";import"../chunk-6VKQT2J3.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as ensureDeviceApiKey};
1
+ import{a}from"../chunk-BPP7AEFW.js";import"../chunk-UUZB4IKU.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as ensureDeviceApiKey};
@@ -1 +1 @@
1
- import{a}from"../chunk-NIRD7ETU.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as ensureFreshToken};
1
+ import{a}from"../chunk-EQHKCGSX.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as ensureFreshToken};
@@ -1 +1 @@
1
- import{a}from"../chunk-4VZLIGMS.js";import"../chunk-HMMO27U4.js";import"../chunk-ZLLER3HP.js";export{a as analyzeEvalResults};
1
+ import{a}from"../chunk-AFYZYXQ3.js";import"../chunk-TZA4HAVF.js";import"../chunk-ZLLER3HP.js";export{a as analyzeEvalResults};
@@ -1 +1 @@
1
- import{a,b,c}from"../chunk-5ZACMVV3.js";import"../chunk-G5BXZT6F.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{b as aggregateBenchmark,c as postBenchmark,a as summarizeRuns};
1
+ import{a,b,c}from"../chunk-5EDINFHF.js";import"../chunk-G5BXZT6F.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{b as aggregateBenchmark,c as postBenchmark,a as summarizeRuns};
@@ -1 +1 @@
1
- import{a,b,c,d,e}from"../chunk-DBELYMDA.js";import"../chunk-ATL4WZBF.js";import"../chunk-L2CFSMBC.js";import"../chunk-Z72VHGV7.js";import"../chunk-4L2ZEIRE.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-HMMO27U4.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as CANDIDATE_ARM,b as PRIOR_VERSION_ARM,d as buildCandidateQueue,c as pairCandidateRuns,e as runCandidateBatchAndPost};
1
+ import{a,b,c,d,e,f,g}from"../chunk-7FZB65VH.js";import"../chunk-MO57LGGK.js";import"../chunk-L2CFSMBC.js";import"../chunk-Z72VHGV7.js";import"../chunk-KGURGIZ2.js";import"../chunk-JPUH3V67.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-TZA4HAVF.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as CANDIDATE_ARM,b as PRIOR_VERSION_ARM,d as accountForFailures,e as attributeShortfall,f as buildCandidateQueue,c as pairCandidateRuns,g as runCandidateBatchAndPost};
@@ -1 +1 @@
1
- import{a}from"../chunk-5KD2N2MH.js";import"../chunk-4VZLIGMS.js";import"../chunk-CNOD6HWU.js";import"../chunk-4L2ZEIRE.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-HMMO27U4.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as processConversationJob};
1
+ import{a}from"../chunk-E2NVNLFD.js";import"../chunk-AFYZYXQ3.js";import"../chunk-CNOD6HWU.js";import"../chunk-JPUH3V67.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-TZA4HAVF.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as processConversationJob};
@@ -1 +1 @@
1
- import{a,b,c}from"../chunk-HMMO27U4.js";import"../chunk-ZLLER3HP.js";export{b as buildClaudeArgs,c as executeEval,a as parseClaudeJsonOutput};
1
+ import{a,b,c,d}from"../chunk-TZA4HAVF.js";import"../chunk-ZLLER3HP.js";export{b as buildClaudeArgs,c as describeExitFailure,d as executeEval,a as parseClaudeJsonOutput};
@@ -0,0 +1 @@
1
+ import{a,b,c}from"../chunk-KGURGIZ2.js";import"../chunk-ZLLER3HP.js";export{a as classifyEvalFailure,c as isQuotaExhaustion,b as summarizeFailures};
@@ -1 +1 @@
1
- import{a}from"../chunk-4L2ZEIRE.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-HMMO27U4.js";import"../chunk-ZLLER3HP.js";export{a as gradeEvalOutput};
1
+ import{a}from"../chunk-JPUH3V67.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-TZA4HAVF.js";import"../chunk-ZLLER3HP.js";export{a as gradeEvalOutput};
@@ -1 +1 @@
1
- import{a}from"../chunk-YQ56FQEO.js";import"../chunk-HMMO27U4.js";import"../chunk-ZLLER3HP.js";export{a as judgeEvalQuality};
1
+ import{a}from"../chunk-XFAFMYIP.js";import"../chunk-TZA4HAVF.js";import"../chunk-ZLLER3HP.js";export{a as judgeEvalQuality};
@@ -0,0 +1 @@
1
+ import{a,b,c}from"../chunk-G7V4ZZZ3.js";import"../chunk-ZLLER3HP.js";export{a as DEFAULT_REQUIRED_HEADROOM_PCT,b as MAX_OBSERVATION_AGE_MS,c as assessQuotaHeadroom};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f}from"../chunk-FWTYR36W.js";import"../chunk-7FZB65VH.js";import"../chunk-MO57LGGK.js";import"../chunk-L2CFSMBC.js";import"../chunk-Z72VHGV7.js";import"../chunk-KGURGIZ2.js";import"../chunk-JPUH3V67.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-TZA4HAVF.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as OPEN_CANDIDATE_KEY,e as bankOpenCandidate,f as buildOpenCandidate,d as fetchCarriedPairs,c as owedPasses,b as resolveOpenCandidate};
@@ -1 +1 @@
1
- import{a,b}from"../chunk-ATL4WZBF.js";import"../chunk-L2CFSMBC.js";import"../chunk-Z72VHGV7.js";import"../chunk-4L2ZEIRE.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-HMMO27U4.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as executeAndGradeCase,b as runBatchAndPost};
1
+ import{a,b}from"../chunk-MO57LGGK.js";import"../chunk-L2CFSMBC.js";import"../chunk-Z72VHGV7.js";import"../chunk-KGURGIZ2.js";import"../chunk-JPUH3V67.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-TZA4HAVF.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as executeAndGradeCase,b as runBatchAndPost};
@@ -1 +1 @@
1
- import{a,b}from"../chunk-H7VP4SDO.js";import"../chunk-HMMO27U4.js";import"../chunk-ZLLER3HP.js";export{b as computeTriggerScore,a as testTrigger};
1
+ import{a,b}from"../chunk-L54TWWBY.js";import"../chunk-TZA4HAVF.js";import"../chunk-ZLLER3HP.js";export{b as computeTriggerScore,a as testTrigger};
@@ -0,0 +1 @@
1
+ import{b as t,e as E}from"../chunk-IVDTORX5.js";import"../chunk-RZTVYUX4.js";import"../chunk-FWTYR36W.js";import"../chunk-BL4BN6RU.js";import"../chunk-G7V4ZZZ3.js";import"../chunk-7FZB65VH.js";import"../chunk-MO57LGGK.js";import"../chunk-L2CFSMBC.js";import"../chunk-Z72VHGV7.js";import"../chunk-KGURGIZ2.js";import"../chunk-JPUH3V67.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-G5BXZT6F.js";import"../chunk-TZA4HAVF.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import{a as r}from"../chunk-ZLLER3HP.js";function s(o=10,_=t){for(let e=1;e<=o;e++)if(E(e,o,_).feasible)return e;return o}r(s,"minFeasibleLiveCases");var S=s(),A=3;export{S as MIN_LIVE_CASES,A as RULE_ENROLMENT_CAP_PER_USER,s as minFeasibleLiveCases};
@@ -0,0 +1 @@
1
+ import{a}from"../../chunk-QWPWY3SW.js";import"../../chunk-MMPZIZYZ.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as cronAutoAcceptSuggestions};
@@ -1 +1 @@
1
- import{a}from"../../chunk-EN43UYBN.js";import"../../chunk-CJRYYV76.js";import"../../chunk-ATL4WZBF.js";import"../../chunk-L2CFSMBC.js";import"../../chunk-Z72VHGV7.js";import"../../chunk-4L2ZEIRE.js";import"../../chunk-CDY7TQFZ.js";import"../../chunk-XRTZU7IZ.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-HMMO27U4.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as cronEvalAutorun};
1
+ import{a}from"../../chunk-X3VL5H24.js";import"../../chunk-CJRYYV76.js";import"../../chunk-MO57LGGK.js";import"../../chunk-L2CFSMBC.js";import"../../chunk-Z72VHGV7.js";import"../../chunk-KGURGIZ2.js";import"../../chunk-JPUH3V67.js";import"../../chunk-CDY7TQFZ.js";import"../../chunk-XRTZU7IZ.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-TZA4HAVF.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as cronEvalAutorun};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i,j,k,l,m}from"../../chunk-A4FYFRN7.js";import"../../chunk-XJYNMJHH.js";import"../../chunk-BL4BN6RU.js";import"../../chunk-DBELYMDA.js";import"../../chunk-ATL4WZBF.js";import"../../chunk-L2CFSMBC.js";import"../../chunk-Z72VHGV7.js";import"../../chunk-4L2ZEIRE.js";import"../../chunk-CDY7TQFZ.js";import"../../chunk-XRTZU7IZ.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-G5BXZT6F.js";import"../../chunk-HMMO27U4.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{f as DEFAULT_ACCUMULATE_TARGET_PAIRS,b as MAX_PASSES,c as MAX_PASSES_CEILING,h as MAX_PRIOR_DECISIONS,a as PAIR_HEADROOM,l as cronInstructionEvolution,g as findOpenAccumulation,d as passCapFor,e as planPasses,j as readAccumulateConfig,m as readImmutableSections,k as resolveApply,i as summarisePriorDecisions};
1
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m}from"../../chunk-IVDTORX5.js";import"../../chunk-RZTVYUX4.js";import"../../chunk-FWTYR36W.js";import"../../chunk-BL4BN6RU.js";import"../../chunk-G7V4ZZZ3.js";import"../../chunk-7FZB65VH.js";import"../../chunk-MO57LGGK.js";import"../../chunk-L2CFSMBC.js";import"../../chunk-Z72VHGV7.js";import"../../chunk-KGURGIZ2.js";import"../../chunk-JPUH3V67.js";import"../../chunk-CDY7TQFZ.js";import"../../chunk-XRTZU7IZ.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-G5BXZT6F.js";import"../../chunk-TZA4HAVF.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{f as DEFAULT_ACCUMULATE_TARGET_PAIRS,b as MAX_PASSES,c as MAX_PASSES_CEILING,h as MAX_PRIOR_DECISIONS,a as PAIR_HEADROOM,l as cronInstructionEvolution,g as findOpenAccumulation,d as passCapFor,e as planPasses,j as readAccumulateConfig,m as readImmutableSections,k as resolveApply,i as summarisePriorDecisions};
@@ -0,0 +1 @@
1
+ import{a}from"../../chunk-K4B24SMJ.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as cronInstructionTraining};
@@ -1 +1 @@
1
- import{a}from"../../chunk-FAXV5AAG.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as cronRefreshPricing};
1
+ import{a}from"../../chunk-6M74HH6Y.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as cronRefreshPricing};
@@ -1 +1 @@
1
- import{a,b,c,d,e}from"../../chunk-BAVLNWO4.js";import"../../chunk-GIRPEMTW.js";import"../../chunk-FAZMKMTC.js";import"../../chunk-MODXEGCU.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{d as buildRemovalProposals,b as buildTrimProposals,e as cronSuggestInstructions,a as isScorableProjectPath,c as nominateRemovals};
1
+ import{a,b,c,d,e}from"../../chunk-3DGL2ZY3.js";import"../../chunk-HOQPVOMF.js";import"../../chunk-GIRPEMTW.js";import"../../chunk-MODXEGCU.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{d as buildRemovalProposals,b as buildTrimProposals,e as cronSuggestInstructions,a as isScorableProjectPath,c as nominateRemovals};
@@ -1 +1 @@
1
- import{a,b}from"../../chunk-YW3JQKGY.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{b as distillMemories,a as selectNewMemories};
1
+ import{a,b}from"../../chunk-QTZPLAYC.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{b as distillMemories,a as selectNewMemories};
@@ -1 +1 @@
1
- import{a}from"../../chunk-CF7FUQQ4.js";import"../../chunk-7QQSYEPT.js";import"../../chunk-FAZMKMTC.js";import"../../chunk-ZLLER3HP.js";export{a as processChangelog};
1
+ import{a}from"../../chunk-VFYT3SC5.js";import"../../chunk-FP6QAPNK.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-ZLLER3HP.js";export{a as processChangelog};
@@ -1 +1 @@
1
- import{a}from"../../chunk-O2BKBW7Z.js";import"../../chunk-5KD2N2MH.js";import"../../chunk-4VZLIGMS.js";import"../../chunk-CNOD6HWU.js";import"../../chunk-4L2ZEIRE.js";import"../../chunk-CDY7TQFZ.js";import"../../chunk-XRTZU7IZ.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-HMMO27U4.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as processConversation};
1
+ import{a}from"../../chunk-WKDXH7NO.js";import"../../chunk-E2NVNLFD.js";import"../../chunk-AFYZYXQ3.js";import"../../chunk-CNOD6HWU.js";import"../../chunk-JPUH3V67.js";import"../../chunk-CDY7TQFZ.js";import"../../chunk-XRTZU7IZ.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-TZA4HAVF.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as processConversation};
@@ -1 +1 @@
1
- import{a}from"../../chunk-KGQ5W54Y.js";import"../../chunk-5RBLIVBF.js";import"../../chunk-YQ56FQEO.js";import"../../chunk-CNOD6HWU.js";import"../../chunk-L2CFSMBC.js";import"../../chunk-Z72VHGV7.js";import"../../chunk-4L2ZEIRE.js";import"../../chunk-CDY7TQFZ.js";import"../../chunk-XRTZU7IZ.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-HMMO27U4.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as processEval};
1
+ import{a}from"../../chunk-KWNIKGAE.js";import"../../chunk-5RBLIVBF.js";import"../../chunk-XFAFMYIP.js";import"../../chunk-CNOD6HWU.js";import"../../chunk-L2CFSMBC.js";import"../../chunk-Z72VHGV7.js";import"../../chunk-JPUH3V67.js";import"../../chunk-CDY7TQFZ.js";import"../../chunk-XRTZU7IZ.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-TZA4HAVF.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as processEval};
@@ -1 +1 @@
1
- import{a,b}from"../../chunk-UKN2YVY4.js";import"../../chunk-4PWGV2OW.js";import"../../chunk-5RBLIVBF.js";import"../../chunk-FAZMKMTC.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{b as fetchGeneratorMemory,a as processInsights};
1
+ import{a,b}from"../../chunk-DZ3FBQYD.js";import"../../chunk-4PWGV2OW.js";import"../../chunk-5RBLIVBF.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{b as fetchGeneratorMemory,a as processInsights};
@@ -1 +1 @@
1
- import{a}from"../../chunk-MOAJLSYV.js";import"../../chunk-AI6FMGKM.js";import"../../chunk-6UEFCMR2.js";import"../../chunk-NTKO4H2K.js";import"../../chunk-4L2ZEIRE.js";import"../../chunk-CDY7TQFZ.js";import"../../chunk-XRTZU7IZ.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-HMMO27U4.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as processJudgeReview};
1
+ import{a}from"../../chunk-C2275MFP.js";import"../../chunk-SYTQDPPN.js";import"../../chunk-6UEFCMR2.js";import"../../chunk-NTKO4H2K.js";import"../../chunk-JPUH3V67.js";import"../../chunk-CDY7TQFZ.js";import"../../chunk-XRTZU7IZ.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-TZA4HAVF.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as processJudgeReview};
@@ -1 +1 @@
1
- import{a,b}from"../../chunk-BLCMXTIK.js";import"../../chunk-6QKI756T.js";import"../../chunk-5RBLIVBF.js";import"../../chunk-7DFNBRLY.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{b as processLaunch,a as resolveWorktreeForLaunch};
1
+ import{a,b}from"../../chunk-SANYAPBK.js";import"../../chunk-6QKI756T.js";import"../../chunk-5RBLIVBF.js";import"../../chunk-7DFNBRLY.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{b as processLaunch,a as resolveWorktreeForLaunch};
@@ -1 +1 @@
1
- import{a}from"../../chunk-T4ZIK6RS.js";import"../../chunk-4L2ZEIRE.js";import"../../chunk-CDY7TQFZ.js";import"../../chunk-XRTZU7IZ.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-G5BXZT6F.js";import"../../chunk-HMMO27U4.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as processMemoryAb};
1
+ import{a}from"../../chunk-CBUTNIJA.js";import"../../chunk-JPUH3V67.js";import"../../chunk-CDY7TQFZ.js";import"../../chunk-XRTZU7IZ.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-G5BXZT6F.js";import"../../chunk-TZA4HAVF.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as processMemoryAb};
@@ -1 +1 @@
1
- import{a}from"../../chunk-W76EQSEV.js";import"../../chunk-6QKI756T.js";import"../../chunk-5RBLIVBF.js";import"../../chunk-7DFNBRLY.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as processRunCleanup};
1
+ import{a}from"../../chunk-X3RTCN6S.js";import"../../chunk-6QKI756T.js";import"../../chunk-5RBLIVBF.js";import"../../chunk-7DFNBRLY.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as processRunCleanup};
@@ -1 +1 @@
1
- import{a}from"../../chunk-HXZM2UHO.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-KLEF5D3A.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as processSessionGoal};
1
+ import{a}from"../../chunk-S62MK372.js";import"../../chunk-B3BHB26P.js";import"../../chunk-N7ODX6PO.js";import"../../chunk-PJ3WHQ67.js";import"../../chunk-QAV4HW7D.js";import"../../chunk-3PUOJ6F2.js";import"../../chunk-JZ5Z2BRO.js";import"../../chunk-ZLLER3HP.js";export{a as processSessionGoal};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g}from"../chunk-XJYNMJHH.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-ZLLER3HP.js";export{b as MAX_GROWTH_FACTOR,a as MIN_RETAINED_FRACTION,e as buildProposerData,c as buildProposerSystemPrompt,d as describePriorDecision,f as parseProposalResponse,g as proposeInstructionEdit};
1
+ import{a,b,c,d,e,f,g,h,i}from"../chunk-RZTVYUX4.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-ZLLER3HP.js";export{a as FILE_CONTENT_BEGIN,b as FILE_CONTENT_END,d as MAX_GROWTH_FACTOR,c as MIN_RETAINED_FRACTION,g as buildProposerData,e as buildProposerSystemPrompt,f as describePriorDecision,h as parseProposalResponse,i as proposeInstructionEdit};
@@ -1 +1 @@
1
- import{a,b,c,d}from"../chunk-AI6FMGKM.js";import"../chunk-6UEFCMR2.js";import"../chunk-NTKO4H2K.js";import"../chunk-4L2ZEIRE.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-HMMO27U4.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{c as JudgeReviewSkip,b as llmExpectationIndexes,a as reviewMatchesReviewer,d as runJudgeReviewPass};
1
+ import{a,b,c,d}from"../chunk-SYTQDPPN.js";import"../chunk-6UEFCMR2.js";import"../chunk-NTKO4H2K.js";import"../chunk-JPUH3V67.js";import"../chunk-CDY7TQFZ.js";import"../chunk-XRTZU7IZ.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-TZA4HAVF.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{c as JudgeReviewSkip,b as llmExpectationIndexes,a as reviewMatchesReviewer,d as runJudgeReviewPass};
@@ -1 +1 @@
1
- import{a as l}from"../chunk-CF7FUQQ4.js";import"../chunk-7QQSYEPT.js";import{a as u}from"../chunk-UF6US7VU.js";import{e as g}from"../chunk-BAVLNWO4.js";import"../chunk-GIRPEMTW.js";import"../chunk-FAZMKMTC.js";import"../chunk-MODXEGCU.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import{a as i}from"../chunk-GY5IJ4RS.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import{a as o}from"../chunk-ZLLER3HP.js";var c={cron_check_changelog:o(async(r,e)=>{let s=await l({logger:{info:o(t=>e.logger.info(t),"info"),warn:o(t=>e.logger.warn(t),"warn")}});e.logger.info(`[cron_check_changelog] result: created=${s.createdCount} skipped=${s.skippedCount}`)},"cron_check_changelog"),cron_suggest_instructions:o((r,e)=>g(r,e),"cron_suggest_instructions"),cron_refresh_skills:o((r,e)=>u(r,e),"cron_refresh_skills")},p=i.map(r=>{let e=c[r.name];if(!e)throw new Error(`manual-tasks: no handler registered for "${r.name}"`);return{...r,handler:e}});async function m(r){let e=p.find(n=>n.name===r);if(!e)return{name:r,durationMs:0,ok:!1,error:`Unknown task: ${r}`,logs:[]};let s=[],t={logger:{info:o(n=>s.push({level:"info",message:n}),"info"),warn:o(n=>s.push({level:"warn",message:n}),"warn"),error:o(n=>s.push({level:"error",message:n}),"error")},job:{attempts:0}},a=Date.now();try{return await e.handler({},t),{name:r,durationMs:Date.now()-a,ok:!0,logs:s}}catch(n){return{name:r,durationMs:Date.now()-a,ok:!1,error:n instanceof Error?n.message:String(n),logs:s}}}o(m,"runManualTask");export{p as MANUAL_TASKS,m as runManualTask};
1
+ import{a as l}from"../chunk-VFYT3SC5.js";import"../chunk-FP6QAPNK.js";import{a as u}from"../chunk-UF6US7VU.js";import{e as g}from"../chunk-3DGL2ZY3.js";import"../chunk-HOQPVOMF.js";import"../chunk-GIRPEMTW.js";import"../chunk-MODXEGCU.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import{a as i}from"../chunk-GY5IJ4RS.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import{a as o}from"../chunk-ZLLER3HP.js";var c={cron_check_changelog:o(async(r,e)=>{let s=await l({logger:{info:o(t=>e.logger.info(t),"info"),warn:o(t=>e.logger.warn(t),"warn")}});e.logger.info(`[cron_check_changelog] result: created=${s.createdCount} skipped=${s.skippedCount}`)},"cron_check_changelog"),cron_suggest_instructions:o((r,e)=>g(r,e),"cron_suggest_instructions"),cron_refresh_skills:o((r,e)=>u(r,e),"cron_refresh_skills")},p=i.map(r=>{let e=c[r.name];if(!e)throw new Error(`manual-tasks: no handler registered for "${r.name}"`);return{...r,handler:e}});async function m(r){let e=p.find(n=>n.name===r);if(!e)return{name:r,durationMs:0,ok:!1,error:`Unknown task: ${r}`,logs:[]};let s=[],t={logger:{info:o(n=>s.push({level:"info",message:n}),"info"),warn:o(n=>s.push({level:"warn",message:n}),"warn"),error:o(n=>s.push({level:"error",message:n}),"error")},job:{attempts:0}},a=Date.now();try{return await e.handler({},t),{name:r,durationMs:Date.now()-a,ok:!0,logs:s}}catch(n){return{name:r,durationMs:Date.now()-a,ok:!1,error:n instanceof Error?n.message:String(n),logs:s}}}o(m,"runManualTask");export{p as MANUAL_TASKS,m as runManualTask};
@@ -0,0 +1 @@
1
+ import{a,b,c}from"../chunk-HOQPVOMF.js";import"../chunk-ZLLER3HP.js";export{a as firstProseLine,b as rankDependencies,c as readProjectContext};
@@ -1 +1 @@
1
- import{a,b}from"../chunk-LLNQZ4SZ.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as postObservation,b as postObservations};
1
+ import{a,b}from"../chunk-PKLXZYBY.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as postObservation,b as postObservations};
@@ -1 +1 @@
1
- import{a,b,c,d,e}from"../chunk-ZE2PGHJQ.js";import"../chunk-FAZMKMTC.js";import"../chunk-ZLLER3HP.js";export{e as applyRetraction,a as backupPathFor,c as candidateSkillPaths,b as pathFromContextIdentity,d as planRetraction};
1
+ import{a,b,c,d,e}from"../chunk-R6JXE273.js";import"../chunk-3PUOJ6F2.js";import"../chunk-ZLLER3HP.js";export{e as applyRetraction,a as backupPathFor,c as candidateSkillPaths,b as pathFromContextIdentity,d as planRetraction};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i,j}from"../chunk-Z2MZOQCD.js";import"../chunk-3QXRLIGC.js";import"../chunk-HFGO5762.js";import"../chunk-QWCEZEDO.js";import"../chunk-KKDHD4XA.js";import"../chunk-SZ62CP55.js";import"../chunk-NTKO4H2K.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{c as ALL_STEP_IDS,a as CORE_STEP_IDS,b as OPTIONAL_STEP_IDS,g as STEPS,j as computeStatus,d as defaultContext,h as getStep,i as isStepId,e as maskToken,f as renderDiff};
1
+ import{a,b,c,d,e,f,g,h,i,j}from"../chunk-3AZV7ZPJ.js";import"../chunk-3QXRLIGC.js";import"../chunk-HFGO5762.js";import"../chunk-QWCEZEDO.js";import"../chunk-KKDHD4XA.js";import"../chunk-SZ62CP55.js";import"../chunk-NTKO4H2K.js";import"../chunk-B3BHB26P.js";import"../chunk-N7ODX6PO.js";import"../chunk-PJ3WHQ67.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{c as ALL_STEP_IDS,a as CORE_STEP_IDS,b as OPTIONAL_STEP_IDS,g as STEPS,j as computeStatus,d as defaultContext,h as getStep,i as isStepId,e as maskToken,f as renderDiff};
@@ -0,0 +1 @@
1
+ import{a,b,c,d}from"../chunk-MMPZIZYZ.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{d as acceptSuggestion,a as appendToCLAUDEmd,c as fetchSuggestion,b as removeFromCLAUDEmd};
@@ -1 +1 @@
1
- import{a,b,c,d}from"../chunk-6VKQT2J3.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{d as emitErrorBeacon,c as emitSetupEvent,b as getDeviceId,a as telemetryDisabled};
1
+ import{a,b,c,d}from"../chunk-UUZB4IKU.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{d as emitErrorBeacon,c as emitSetupEvent,b as getDeviceId,a as telemetryDisabled};
@@ -1 +1 @@
1
- import{a,b,c}from"../chunk-5XUN743A.js";import"../chunk-N7ODX6PO.js";import"../chunk-KLEF5D3A.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as probeAndReport,b as runOneHeartbeatCycle,c as startTerminalTargetHeartbeat};
1
+ import{a,b,c}from"../chunk-LLIHRQPH.js";import"../chunk-N7ODX6PO.js";import"../chunk-QAV4HW7D.js";import"../chunk-3PUOJ6F2.js";import"../chunk-JZ5Z2BRO.js";import"../chunk-ZLLER3HP.js";export{a as probeAndReport,b as runOneHeartbeatCycle,c as startTerminalTargetHeartbeat};