opencode-swarm 7.200.9 → 7.200.11

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 (119) hide show
  1. package/.opencode/skills/ci-fix-monitor/SKILL.md +49 -0
  2. package/.opencode/skills/swarm-pr-review/references/lane-output-recoverability.md +11 -2
  3. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  4. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  5. package/dist/background/completion-observer.d.ts +2 -1
  6. package/dist/background/pending-delegations.d.ts +9 -1
  7. package/dist/background/pr-review-contract.d.ts +8 -0
  8. package/dist/cli/{attest-task-79gp34gf.js → attest-task-y0n69zgb.js} +78 -76
  9. package/dist/cli/{auto-checkpoint-kt9mr7ma.js → auto-checkpoint-hyaksmtg.js} +12 -12
  10. package/dist/cli/{capability-probe-dwqn2609.js → capability-probe-qjndmx6z.js} +1 -1
  11. package/dist/cli/{checkpoint-e7t1zbz2.js → checkpoint-t0p781sc.js} +23 -23
  12. package/dist/cli/{coder-settlement-rehndcey.js → coder-settlement-nh88s6es.js} +14 -13
  13. package/dist/cli/{config-doctor-hcemxnra.js → config-doctor-sf7hc0q4.js} +19 -19
  14. package/dist/cli/{core-k8mvhsty.js → core-p168fw3r.js} +6 -3
  15. package/dist/cli/{curation-policy-gy868ec3.js → curation-policy-1a23ftnv.js} +6 -6
  16. package/dist/cli/{curator-ayenbz0y.js → curator-5ayzhk7v.js} +53 -52
  17. package/dist/cli/{curator-drift-fwzrv9tw.js → curator-drift-jx9kyndc.js} +10 -10
  18. package/dist/cli/curator-llm-factory-ytfkvtxs.js +83 -0
  19. package/dist/cli/{doctor-knowledge-receipt-phase-id-jdy6651j.js → doctor-knowledge-receipt-phase-id-2gjvxndy.js} +10 -10
  20. package/dist/cli/{evidence-summary-service-4jm1hd1r.js → evidence-summary-service-972sqht5.js} +26 -25
  21. package/dist/cli/{gate-evidence-anef2bqv.js → gate-evidence-n1m842gj.js} +10 -9
  22. package/dist/cli/guardrail-explain-6yv78gmk.js +84 -0
  23. package/dist/cli/{guardrail-log-pv3bq9hj.js → guardrail-log-z5pzgkcv.js} +8 -8
  24. package/dist/cli/{guardrail-reset-k8b9yrec.js → guardrail-reset-w0nxcs6a.js} +53 -52
  25. package/dist/cli/{hive-promoter-zqscx6pb.js → hive-promoter-3q0738xg.js} +53 -52
  26. package/dist/cli/{index-4krkevgc.js → index-001tkp0j.js} +1 -1
  27. package/dist/cli/{index-zy943kpp.js → index-0an54fza.js} +18 -13
  28. package/dist/cli/{index-czsx86m5.js → index-0g0x9ets.js} +53 -52
  29. package/dist/cli/{index-rdyfrdcp.js → index-2n7a184b.js} +201 -33
  30. package/dist/cli/{index-4fr3r8k5.js → index-2vj8d8te.js} +1 -1
  31. package/dist/cli/{index-hhq5f82z.js → index-5k88v1e7.js} +81 -36
  32. package/dist/cli/{index-c2k7q723.js → index-6cppzd9c.js} +1 -1
  33. package/dist/cli/{index-yyrnkc3a.js → index-6m551cng.js} +2 -2
  34. package/dist/cli/{index-y16v2q1x.js → index-814q5t5s.js} +5 -5
  35. package/dist/cli/{index-08jd4gz2.js → index-8g9rn3rp.js} +121 -40
  36. package/dist/cli/{index-8srvdpw6.js → index-8xtdxy91.js} +2 -2
  37. package/dist/cli/{index-mn75z39t.js → index-9qy3tzt5.js} +1 -1
  38. package/dist/cli/{index-6q2s7r67.js → index-aj41bscz.js} +8 -8
  39. package/dist/cli/{index-2c4hjeea.js → index-bnbhqvsn.js} +8 -8
  40. package/dist/cli/{index-9jty56xr.js → index-bv9tqmpm.js} +5 -5
  41. package/dist/cli/{index-casbh4y7.js → index-ce6qarfq.js} +13032 -12437
  42. package/dist/cli/{index-y7c4hqcj.js → index-ck7jpn0y.js} +1 -1
  43. package/dist/cli/{index-p2dst45x.js → index-ckq78kq1.js} +1 -1
  44. package/dist/cli/{index-8mrentmw.js → index-dp6hy23p.js} +58 -53
  45. package/dist/cli/{index-4fkxdnc7.js → index-erp7fk72.js} +1 -1
  46. package/dist/cli/{index-qawbxp81.js → index-gkvk9et2.js} +17 -17
  47. package/dist/cli/{index-kxp43wbw.js → index-h1chaf63.js} +29 -29
  48. package/dist/cli/{index-4ya4krts.js → index-hhzwfyd7.js} +611 -1376
  49. package/dist/cli/{index-x3rxa3sh.js → index-jt9j02tm.js} +6 -6
  50. package/dist/cli/{index-tecp3a77.js → index-kd1n3ne2.js} +9 -9
  51. package/dist/cli/{index-ss8nfrbb.js → index-ke881z7m.js} +15 -15
  52. package/dist/cli/{index-9ws7m02r.js → index-krjamprc.js} +2 -2
  53. package/dist/cli/{index-f8nb470m.js → index-kzr3nby8.js} +4 -4
  54. package/dist/cli/{index-02vgzrpg.js → index-mq4eyhtf.js} +7 -7
  55. package/dist/cli/{index-4tpzdegx.js → index-njg8zvqe.js} +7 -7
  56. package/dist/cli/{index-hh87yny7.js → index-nnc23ddw.js} +6 -6
  57. package/dist/cli/{index-7c4gckzq.js → index-nzhfhpng.js} +5 -5
  58. package/dist/cli/{index-q8vfw61p.js → index-pjrx4jkq.js} +1 -1
  59. package/dist/cli/{index-xhxbv7mz.js → index-qdz6zysj.js} +11 -11
  60. package/dist/cli/{index-mhd6kdzr.js → index-qyj4383m.js} +1 -1
  61. package/dist/cli/index-r097ettz.js +1330 -0
  62. package/dist/cli/{index-tvdn9gr0.js → index-ra3erqpk.js} +15 -15
  63. package/dist/cli/{index-2x015vjy.js → index-rck7v4r4.js} +1 -1
  64. package/dist/cli/{index-vtpt8yns.js → index-rjsqf4hv.js} +2 -2
  65. package/dist/cli/{index-bk8r4m9j.js → index-rpvp88js.js} +2 -2
  66. package/dist/cli/{index-2k5348b6.js → index-ssp4t8g6.js} +58 -57
  67. package/dist/cli/{index-v839c9mv.js → index-tggyracy.js} +1 -1
  68. package/dist/cli/{index-hzy6n59p.js → index-ve74c3a8.js} +6 -6
  69. package/dist/cli/{index-4ph7ad0b.js → index-vx1j2t5p.js} +2 -2
  70. package/dist/cli/{index-7h22y3ew.js → index-w0afnznk.js} +2 -2
  71. package/dist/cli/{index-xh50xsgf.js → index-x8sh8v4a.js} +8 -8
  72. package/dist/cli/{index-6901y99d.js → index-xht6gprr.js} +35 -22
  73. package/dist/cli/{index-qw2wfz92.js → index-yn6jrxen.js} +18 -20
  74. package/dist/cli/{index-94s844qn.js → index-yq73sd3w.js} +4 -4
  75. package/dist/cli/index.js +57 -56
  76. package/dist/cli/{knowledge-escalator-m4b4q218.js → knowledge-escalator-2e92rdsx.js} +18 -18
  77. package/dist/cli/{knowledge-events-wwg0cc7m.js → knowledge-events-gzqwr94e.js} +15 -15
  78. package/dist/cli/{knowledge-link-13t3nfrz.js → knowledge-link-r7e2t5c1.js} +5 -5
  79. package/dist/cli/{knowledge-store-07fwtdzy.js → knowledge-store-6j8d1gm4.js} +7 -7
  80. package/dist/cli/{knowledge-validator-8492vmn3.js → knowledge-validator-wt2tcfg7.js} +9 -9
  81. package/dist/cli/{mcp-b1wyrebx.js → mcp-ky6xn6ys.js} +1 -1
  82. package/dist/cli/{model-preflight-315wr8nt.js → model-preflight-ajt55s59.js} +56 -55
  83. package/dist/cli/{pending-delegations-tpa7wpny.js → pending-delegations-wry31649.js} +14 -14
  84. package/dist/cli/{pr-subscriptions-ev2bkbrz.js → pr-subscriptions-dsdjbfr4.js} +13 -13
  85. package/dist/cli/{pr-workflow-gate-3cg64r61.js → pr-workflow-gate-0vcq1m95.js} +53 -52
  86. package/dist/cli/{runner-q1g9atrv.js → runner-s4422dq4.js} +6 -6
  87. package/dist/cli/{scan-cursor-3pfx6mbh.js → scan-cursor-1zgrg7kp.js} +8 -8
  88. package/dist/cli/{schema-km0fywpx.js → schema-q9xbwkec.js} +2 -2
  89. package/dist/cli/{scope-persistence-xctbs0aj.js → scope-persistence-4wwmytwh.js} +18 -18
  90. package/dist/cli/{server-d1mcxa8s.js → server-q8ydxk7z.js} +79 -69
  91. package/dist/cli/{skill-generator-tce30v8g.js → skill-generator-b1eqcxej.js} +20 -20
  92. package/dist/cli/{snapshot-coordination-init-t7vfaqhw.js → snapshot-coordination-init-0yva5015.js} +53 -52
  93. package/dist/cli/{speckit-checkoff-tcn1dqt0.js → speckit-checkoff-sh9w7j5b.js} +5 -5
  94. package/dist/cli/{telemetry-cr8q16wk.js → telemetry-j7zr1dht.js} +1 -1
  95. package/dist/cli/workflow-wal-file-a2c8e920.js +32 -0
  96. package/dist/cli/{workspace-snapshot-7hws89e9.js → workspace-snapshot-ksdspd74.js} +3 -3
  97. package/dist/cli/{worktree-collision-ownership-5jb0p5aa.js → worktree-collision-ownership-xr6crt8c.js} +15 -15
  98. package/dist/cli/{worktree-isolation-cxg8fgba.js → worktree-isolation-0126b5e7.js} +53 -52
  99. package/dist/hooks/delegation-gate/worktree-isolation.d.ts +3 -0
  100. package/dist/hooks/delegation-gate.d.ts +6 -0
  101. package/dist/hooks/guardrails/audit-log.d.ts +2 -0
  102. package/dist/hooks/guardrails/cmd-delete-grammar.d.ts +47 -0
  103. package/dist/hooks/guardrails/destructive-command.d.ts +11 -3
  104. package/dist/hooks/guardrails/shell-audit-store.d.ts +2 -0
  105. package/dist/hooks/guardrails/tool-before.d.ts +16 -0
  106. package/dist/hooks/shell-write-detect.d.ts +10 -0
  107. package/dist/index.js +689 -687
  108. package/dist/memory/redaction.d.ts +13 -3
  109. package/dist/pr-review/legacy-transcript-adapter.d.ts +15 -4
  110. package/dist/sandbox/macos/sandbox-exec-executor.d.ts +24 -0
  111. package/dist/workflow/coder-settlement.d.ts +5 -0
  112. package/dist/worktree/core.d.ts +3 -0
  113. package/dist/worktree/merge.d.ts +15 -1
  114. package/dist/worktree/ownership.d.ts +3 -0
  115. package/dist/worktree/settlement-artifact-lifecycle.d.ts +32 -0
  116. package/dist/worktree/settlement-source-recovery.d.ts +12 -0
  117. package/package.json +1 -1
  118. package/dist/cli/curator-llm-factory-kja1c81k.js +0 -82
  119. package/dist/cli/guardrail-explain-agaet7r5.js +0 -83
@@ -4,20 +4,11 @@ import {
4
4
  projectDbExists,
5
5
  withImmediateTransaction,
6
6
  withProjectDbReadOnly
7
- } from "./index-y7c4hqcj.js";
7
+ } from "./index-ck7jpn0y.js";
8
8
  import {
9
9
  derivePlanId,
10
10
  derivePlanIdentityHash
11
11
  } from "./index-7pmbnjvj.js";
12
- import {
13
- withEvidenceLock
14
- } from "./index-q8vfw61p.js";
15
- import {
16
- assertProjectRoot
17
- } from "./index-t7hmqgjy.js";
18
- import {
19
- emit
20
- } from "./index-c2k7q723.js";
21
12
  import {
22
13
  ExecutionProfileSchema,
23
14
  PlanSchema,
@@ -27,16 +18,25 @@ import {
27
18
  import {
28
19
  init_loader,
29
20
  loadPluginConfig
30
- } from "./index-02vgzrpg.js";
21
+ } from "./index-mq4eyhtf.js";
22
+ import {
23
+ init_package,
24
+ package_default
25
+ } from "./index-814q5t5s.js";
26
+ import {
27
+ withEvidenceLock
28
+ } from "./index-pjrx4jkq.js";
29
+ import {
30
+ assertProjectRoot
31
+ } from "./index-t7hmqgjy.js";
32
+ import {
33
+ emit
34
+ } from "./index-6cppzd9c.js";
31
35
  import {
32
36
  criticalWarn,
33
37
  init_logger,
34
38
  log
35
39
  } from "./index-zgwm4ryv.js";
36
- import {
37
- init_package,
38
- package_default
39
- } from "./index-y16v2q1x.js";
40
40
 
41
41
  // src/plan/planning-profile.ts
42
42
  init_loader();
@@ -4,7 +4,7 @@ import {
4
4
  getProjectDb,
5
5
  projectDbExists,
6
6
  withImmediateTransaction
7
- } from "./index-y7c4hqcj.js";
7
+ } from "./index-ck7jpn0y.js";
8
8
 
9
9
  // src/db/coordination-store.ts
10
10
  import { createHash } from "crypto";
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  observeStoreHealth
4
- } from "./index-8srvdpw6.js";
4
+ } from "./index-8xtdxy91.js";
5
5
  import {
6
6
  telemetry
7
- } from "./index-c2k7q723.js";
7
+ } from "./index-6cppzd9c.js";
8
8
  import {
9
9
  init_logger,
10
10
  warn
@@ -1,14 +1,14 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-4krkevgc.js";
4
+ } from "./index-001tkp0j.js";
5
5
  import {
6
6
  canonicalRootKey,
7
7
  sameProjectRoot
8
8
  } from "./index-te9hq2f4.js";
9
9
  import {
10
10
  atomicWriteSwarmFile
11
- } from "./index-mn75z39t.js";
11
+ } from "./index-9qy3tzt5.js";
12
12
  import {
13
13
  init_git_executable,
14
14
  resolveGitExecutable
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-6901y99d.js";
4
+ } from "./index-xht6gprr.js";
5
5
  import {
6
6
  handleGuardrailLog
7
- } from "./index-4fr3r8k5.js";
7
+ } from "./index-2vj8d8te.js";
8
8
  import {
9
9
  COMMAND_REGISTRY,
10
10
  DEFAULT_CI_DEADLINE_MS,
@@ -98,86 +98,87 @@ import {
98
98
  handleWriteRetroCommand,
99
99
  normalizeSwarmCommandInput,
100
100
  resolveCommand
101
- } from "./index-casbh4y7.js";
102
- import"./index-p2dst45x.js";
103
- import"./index-hhq5f82z.js";
104
- import"./index-qw2wfz92.js";
105
- import"./index-xh50xsgf.js";
106
- import"./index-4ph7ad0b.js";
107
- import"./index-axqyjreb.js";
101
+ } from "./index-ce6qarfq.js";
102
+ import"./index-ckq78kq1.js";
103
+ import"./index-5k88v1e7.js";
104
+ import"./index-yn6jrxen.js";
105
+ import"./index-x8sh8v4a.js";
106
+ import"./index-vx1j2t5p.js";
108
107
  import"./index-txdagbh7.js";
109
- import"./index-hzy6n59p.js";
110
- import"./index-x3rxa3sh.js";
108
+ import"./index-axqyjreb.js";
109
+ import"./index-aj41bscz.js";
110
+ import"./index-ve74c3a8.js";
111
+ import"./index-jt9j02tm.js";
111
112
  import"./index-rdec0y3z.js";
112
- import"./index-9jty56xr.js";
113
- import"./index-08jd4gz2.js";
114
- import"./index-6q2s7r67.js";
115
- import"./index-bk8r4m9j.js";
116
- import"./index-tecp3a77.js";
113
+ import"./index-bv9tqmpm.js";
114
+ import"./index-8g9rn3rp.js";
115
+ import"./index-r097ettz.js";
116
+ import"./index-rpvp88js.js";
117
+ import"./index-kd1n3ne2.js";
117
118
  import"./index-x5jwegqw.js";
118
- import"./index-7h22y3ew.js";
119
- import"./index-zy943kpp.js";
119
+ import"./index-w0afnznk.js";
120
+ import"./index-0an54fza.js";
121
+ import"./index-bnbhqvsn.js";
122
+ import"./index-tggyracy.js";
120
123
  import"./index-pt7h91zc.js";
121
124
  import"./index-q7sjgr1y.js";
122
- import"./index-qawbxp81.js";
123
- import"./index-kxp43wbw.js";
125
+ import"./index-gkvk9et2.js";
126
+ import"./index-h1chaf63.js";
124
127
  import"./index-6b295cas.js";
125
128
  import"./index-9nyqt3kb.js";
126
- import"./index-hh87yny7.js";
129
+ import"./index-nnc23ddw.js";
127
130
  import"./index-697mg68b.js";
128
- import"./index-8mrentmw.js";
129
- import"./index-7c4gckzq.js";
130
- import"./index-4ya4krts.js";
131
- import"./index-rdyfrdcp.js";
132
- import"./index-spggmr30.js";
133
- import"./index-f8nb470m.js";
134
- import"./index-ss8nfrbb.js";
135
- import"./index-m9zzj4ee.js";
136
- import"./index-4krkevgc.js";
137
- import"./index-94s844qn.js";
138
- import"./index-mhd6kdzr.js";
139
- import"./index-rtry5xyf.js";
140
- import"./index-9ws7m02r.js";
141
- import"./index-g22dps7x.js";
142
- import"./index-0725jpp7.js";
143
- import"./index-2c4hjeea.js";
144
- import"./index-v839c9mv.js";
145
- import"./index-tvdn9gr0.js";
146
- import"./index-2x015vjy.js";
147
- import"./index-y7c4hqcj.js";
131
+ import"./index-ra3erqpk.js";
132
+ import"./index-rck7v4r4.js";
133
+ import"./index-ck7jpn0y.js";
148
134
  import"./index-ry16d01s.js";
149
135
  import"./index-rdm3px0g.js";
150
- import"./index-vtpt8yns.js";
136
+ import"./index-dp6hy23p.js";
137
+ import"./index-rjsqf4hv.js";
151
138
  import"./index-7pmbnjvj.js";
152
- import"./index-8srvdpw6.js";
153
- import"./index-9rwhas09.js";
154
- import"./index-xhxbv7mz.js";
139
+ import"./index-nzhfhpng.js";
140
+ import"./index-kzr3nby8.js";
141
+ import"./index-ke881z7m.js";
142
+ import"./index-m9zzj4ee.js";
143
+ import"./index-8xtdxy91.js";
144
+ import"./index-yq73sd3w.js";
145
+ import"./index-qyj4383m.js";
146
+ import"./index-rtry5xyf.js";
147
+ import"./index-qdz6zysj.js";
155
148
  import"./index-vzm6zre7.js";
156
149
  import"./index-ae75rja9.js";
157
- import"./index-4fkxdnc7.js";
158
- import"./index-yyrnkc3a.js";
159
- import"./index-q8vfw61p.js";
150
+ import"./index-erp7fk72.js";
151
+ import"./index-krjamprc.js";
152
+ import"./index-g22dps7x.js";
153
+ import"./index-0725jpp7.js";
154
+ import"./index-3t46mez1.js";
155
+ import"./index-mq4eyhtf.js";
156
+ import {
157
+ init_schema,
158
+ stripKnownSwarmPrefix
159
+ } from "./index-814q5t5s.js";
160
+ import"./index-bk5tah7q.js";
161
+ import"./index-hhzwfyd7.js";
162
+ import"./index-2n7a184b.js";
163
+ import"./index-spggmr30.js";
164
+ import"./index-001tkp0j.js";
165
+ import"./index-9rwhas09.js";
166
+ import"./index-6m551cng.js";
167
+ import"./index-pjrx4jkq.js";
160
168
  import"./index-t7hmqgjy.js";
161
- import"./index-c2k7q723.js";
169
+ import"./index-6cppzd9c.js";
162
170
  import"./index-te9hq2f4.js";
163
171
  import"./index-ejhxgyvm.js";
164
172
  import"./index-7g4c7s5r.js";
165
- import"./index-mn75z39t.js";
166
- import"./index-3t46mez1.js";
167
- import"./index-02vgzrpg.js";
173
+ import"./index-9qy3tzt5.js";
168
174
  import"./index-sp2cxpaq.js";
169
175
  import"./index-qbxk2rn6.js";
170
176
  import"./index-zgwm4ryv.js";
171
- import {
172
- init_schema,
173
- stripKnownSwarmPrefix
174
- } from "./index-y16v2q1x.js";
175
177
  import {
176
178
  AGENT_TOOL_MAP,
177
179
  ORCHESTRATOR_NAME,
178
180
  init_constants
179
181
  } from "./index-xfzkq1k4.js";
180
- import"./index-bk5tah7q.js";
181
182
  import"./index-gknz3bv1.js";
182
183
  import"./index-zpsr8rpc.js";
183
184
  import"./index-a76rekgs.js";
@@ -4,7 +4,7 @@ import {
4
4
  getProjectDb,
5
5
  projectDbExists,
6
6
  withImmediateTransaction
7
- } from "./index-y7c4hqcj.js";
7
+ } from "./index-ck7jpn0y.js";
8
8
  import {
9
9
  derivePlanId,
10
10
  derivePlanIdentityHash
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  readKnowledgeEvents,
4
4
  recordKnowledgeEvent
5
- } from "./index-f8nb470m.js";
5
+ } from "./index-kzr3nby8.js";
6
6
  import {
7
7
  queryHistoricalOutcomes
8
- } from "./index-ss8nfrbb.js";
8
+ } from "./index-ke881z7m.js";
9
9
  import {
10
10
  jaccardBigram,
11
11
  readKnowledge,
@@ -13,7 +13,7 @@ import {
13
13
  resolveSwarmKnowledgePath,
14
14
  transactKnowledge,
15
15
  wordBigrams
16
- } from "./index-xhxbv7mz.js";
16
+ } from "./index-qdz6zysj.js";
17
17
  import {
18
18
  init_knowledge_types,
19
19
  isActiveStatus
@@ -226,11 +226,11 @@ async function maybeQuarantineOnContradiction(directory, entryId, threshold, win
226
226
  alreadyInactive: true
227
227
  };
228
228
  }
229
- const { quarantineEntry } = await import("./knowledge-validator-8492vmn3.js");
229
+ const { quarantineEntry } = await import("./knowledge-validator-wt2tcfg7.js");
230
230
  let policyConfig;
231
231
  try {
232
- const { KnowledgeConfigSchema } = await import("./schema-km0fywpx.js");
233
- const { loadPluginConfigWithMeta } = await import("./index-4tpzdegx.js");
232
+ const { KnowledgeConfigSchema } = await import("./schema-q9xbwkec.js");
233
+ const { loadPluginConfigWithMeta } = await import("./index-njg8zvqe.js");
234
234
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
235
235
  policyConfig = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
236
236
  } catch {
@@ -9,10 +9,10 @@ import {
9
9
  } from "./index-txdagbh7.js";
10
10
  import {
11
11
  atomicWriteFile
12
- } from "./index-yyrnkc3a.js";
12
+ } from "./index-6m551cng.js";
13
13
  import {
14
14
  withEvidenceLock
15
- } from "./index-q8vfw61p.js";
15
+ } from "./index-pjrx4jkq.js";
16
16
  import {
17
17
  assertProjectRoot
18
18
  } from "./index-t7hmqgjy.js";
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-4krkevgc.js";
4
+ } from "./index-001tkp0j.js";
5
5
  import {
6
6
  atomicWriteSwarmFileSync
7
- } from "./index-mn75z39t.js";
7
+ } from "./index-9qy3tzt5.js";
8
8
 
9
9
  // src/hooks/delegation-gate/worktree-provisioning-owner.ts
10
10
  import { createHash } from "crypto";
@@ -3,7 +3,7 @@ import {
3
3
  EvaluationRunV1Schema,
4
4
  GateAuditResultV1Schema,
5
5
  getProtectedEvaluationRunIds
6
- } from "./index-4ph7ad0b.js";
6
+ } from "./index-vx1j2t5p.js";
7
7
  import {
8
8
  TASK_WORKFLOW_SCHEMA_MARKER,
9
9
  deriveApplicableGateSet,
@@ -12,25 +12,25 @@ import {
12
12
  readTaskEvidence,
13
13
  readTaskEvidenceRaw,
14
14
  sanitizeTaskId
15
- } from "./index-4ya4krts.js";
16
- import {
17
- readSwarmFileAsync,
18
- validateSwarmPath
19
- } from "./index-4krkevgc.js";
15
+ } from "./index-r097ettz.js";
20
16
  import {
21
17
  EVIDENCE_MAX_JSON_BYTES,
22
18
  EvidenceBundleSchema,
23
19
  EvidenceSchema
24
20
  } from "./index-g22dps7x.js";
21
+ import {
22
+ readSwarmFileAsync,
23
+ validateSwarmPath
24
+ } from "./index-001tkp0j.js";
25
25
  import {
26
26
  withEvidenceLock
27
- } from "./index-q8vfw61p.js";
27
+ } from "./index-pjrx4jkq.js";
28
28
  import {
29
29
  assertProjectRoot
30
30
  } from "./index-t7hmqgjy.js";
31
31
  import {
32
32
  invalidateCachedArtifact
33
- } from "./index-mn75z39t.js";
33
+ } from "./index-9qy3tzt5.js";
34
34
  import {
35
35
  bunWrite,
36
36
  init_bun_compat
@@ -6,8 +6,8 @@ import {
6
6
  dcEvaluateRecursiveDeleteTargets,
7
7
  dcExtractPowerShellTargets,
8
8
  dcExtractRecursiveRmTargets,
9
- dcExtractWindowsCmdTargets,
10
9
  dcNormalizeCommand,
10
+ dcParseWindowsRecursiveDelete,
11
11
  dcSplitSegments,
12
12
  dcUnwrapWrappers,
13
13
  declaresWindowsWrapperLoose,
@@ -22,14 +22,14 @@ import {
22
22
  mergeWriteAnalyses,
23
23
  resolveWindowsWriteAuthority,
24
24
  resolveWriteTargets
25
- } from "./index-casbh4y7.js";
25
+ } from "./index-ce6qarfq.js";
26
26
  import {
27
27
  checkFileAuthority,
28
28
  classifyFile,
29
29
  isInDeclaredScope,
30
30
  redactPath,
31
31
  redactShellCommand
32
- } from "./index-hhq5f82z.js";
32
+ } from "./index-5k88v1e7.js";
33
33
 
34
34
  // src/services/guardrail-explain-service.ts
35
35
  import path from "path";
@@ -109,27 +109,40 @@ function evaluateDestructiveDecision(rawCommand, cwd, declaredScope) {
109
109
  };
110
110
  }
111
111
  }
112
- if (/^(?:rmdir|rd)(?:\.exe)?\s+.*\/[sS]/i.test(seg)) {
113
- const targets2 = dcExtractWindowsCmdTargets(seg);
114
- if (targets2.length === 0) {
115
- return {
116
- decision: "block",
117
- firingRule: "destructive_block: Windows recursive directory delete (rmdir /s)"
118
- };
119
- }
120
- const targetDecision = dcEvaluateRecursiveDeleteTargets({ targets: targets2, cwd });
121
- if (!targetDecision.allowed) {
122
- return {
123
- decision: "block",
124
- firingRule: `${targetDecision.code}: ${targetDecision.reason}`
125
- };
112
+ const explainRmdirVerb = /^(?:rmdir|rd)(?:\.exe)?\s*/i.exec(seg);
113
+ if (explainRmdirVerb) {
114
+ const parsed = dcParseWindowsRecursiveDelete(seg.slice(explainRmdirVerb[0].length));
115
+ if (parsed.fires) {
116
+ if (parsed.targets.length === 0) {
117
+ return {
118
+ decision: "block",
119
+ firingRule: "destructive_block: Windows recursive directory delete (rmdir /s)"
120
+ };
121
+ }
122
+ const targetDecision = dcEvaluateRecursiveDeleteTargets({
123
+ targets: parsed.targets,
124
+ cwd
125
+ });
126
+ if (!targetDecision.allowed) {
127
+ return {
128
+ decision: "block",
129
+ firingRule: `${targetDecision.code}: ${targetDecision.reason}`
130
+ };
131
+ }
126
132
  }
127
133
  }
128
- if (/^del(?:\.exe)?\s+.*\/[sS]/i.test(seg)) {
129
- const targets2 = dcExtractWindowsCmdTargets(seg);
130
- if (targets2.length > 0) {
134
+ const explainDelVerb = /^del(?:\.exe)?\s*/i.exec(seg);
135
+ if (explainDelVerb) {
136
+ const parsed = dcParseWindowsRecursiveDelete(seg.slice(explainDelVerb[0].length));
137
+ if (parsed.fires) {
138
+ if (parsed.targets.length === 0) {
139
+ return {
140
+ decision: "block",
141
+ firingRule: "destructive_block: Windows recursive file delete (del /s)"
142
+ };
143
+ }
131
144
  const targetDecision = dcEvaluateRecursiveDeleteTargets({
132
- targets: targets2,
145
+ targets: parsed.targets,
133
146
  cwd
134
147
  });
135
148
  if (!targetDecision.allowed) {
@@ -140,7 +153,7 @@ function evaluateDestructiveDecision(rawCommand, cwd, declaredScope) {
140
153
  }
141
154
  }
142
155
  }
143
- if (/^(?:Remove-Item|ri|rm|rmdir|del|erase|rd)\b.*-[Rr]ecurse\b/i.test(seg) || /^(?:Remove-Item|ri|rm|rmdir|del|erase|rd)\b.*-[Rr]\b/i.test(seg)) {
156
+ if (/^(?:Remove-Item|ri|rm|rmdir|del|erase|rd)\b.*\s-[Rr]ecurse\b/i.test(seg) || /^(?:Remove-Item|ri|rm|rmdir|del|erase|rd)\b.*\s-[Rr]\b/i.test(seg)) {
144
157
  const targets2 = dcExtractPowerShellTargets(seg);
145
158
  if (targets2.length > 0) {
146
159
  const targetDecision = dcEvaluateRecursiveDeleteTargets({
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  loadPlanJsonOnly
4
- } from "./index-kxp43wbw.js";
4
+ } from "./index-h1chaf63.js";
5
5
  import {
6
6
  isCanonicalPathWithinRoot
7
7
  } from "./index-6b295cas.js";
@@ -14,10 +14,7 @@ import {
14
14
  legacyEpicIssuePath,
15
15
  migrateLegacyEpicConfig,
16
16
  resolveEpicConfig
17
- } from "./index-02vgzrpg.js";
18
- import {
19
- log
20
- } from "./index-zgwm4ryv.js";
17
+ } from "./index-mq4eyhtf.js";
21
18
  import {
22
19
  FALLBACK_MODELS_MAX,
23
20
  GATE_CONFIG_KNOWN_SECTION_KEYS,
@@ -28,7 +25,10 @@ import {
28
25
  init_schema,
29
26
  retiredEpicKeyReplacement,
30
27
  stripKnownSwarmPrefix
31
- } from "./index-y16v2q1x.js";
28
+ } from "./index-814q5t5s.js";
29
+ import {
30
+ log
31
+ } from "./index-zgwm4ryv.js";
32
32
  import {
33
33
  ALL_AGENT_NAMES,
34
34
  TOOL_NAME_SET,
@@ -711,12 +711,15 @@ function levenshteinDistance(a, b) {
711
711
  }
712
712
  return matrix[al][bl];
713
713
  }
714
+ function describeValueType(value) {
715
+ return Array.isArray(value) ? "array" : typeof value;
716
+ }
714
717
  function emitObjectTypeMismatch(key, value, findings) {
715
718
  if (value !== undefined && (typeof value !== "object" || Array.isArray(value) || value === null)) {
716
719
  findings.push({
717
720
  id: `invalid-${key}-type`,
718
721
  title: `Invalid ${key} type`,
719
- description: `"${key}" must be an object, got ${typeof value}`,
722
+ description: `"${key}" must be an object, got ${describeValueType(value)}`,
720
723
  severity: "error",
721
724
  path: key,
722
725
  currentValue: value,
@@ -1348,21 +1351,16 @@ function validateConfigKey(path2, value) {
1348
1351
  }
1349
1352
  switch (path2) {
1350
1353
  case "agents": {
1351
- if (value !== undefined) {
1354
+ if (typeof value !== "object" || Array.isArray(value)) {
1355
+ const kind = describeValueType(value);
1352
1356
  findings.push({
1353
- id: "deprecated-agents-config",
1354
- title: "Deprecated agents configuration",
1355
- description: 'The "agents" field is deprecated. Use "swarms" instead for multi-swarm support.',
1356
- severity: "warn",
1357
+ id: "invalid-agents-type",
1358
+ title: "Invalid agents type",
1359
+ description: `"agents" must be an object keyed by agent name, got ${kind}`,
1360
+ severity: "error",
1357
1361
  path: "agents",
1358
1362
  currentValue: value,
1359
- autoFixable: false,
1360
- proposedFix: {
1361
- type: "remove",
1362
- path: "agents",
1363
- description: "Remove deprecated agents config - use swarms instead",
1364
- risk: "low"
1365
- }
1363
+ autoFixable: false
1366
1364
  });
1367
1365
  }
1368
1366
  break;
@@ -1571,7 +1569,7 @@ function validateConfigKey(path2, value) {
1571
1569
  findings.push({
1572
1570
  id: "invalid-swarms-type",
1573
1571
  title: "Invalid swarms type",
1574
- description: `"swarms" must be an object, got ${typeof value}`,
1572
+ description: `"swarms" must be an object, got ${describeValueType(value)}`,
1575
1573
  severity: "error",
1576
1574
  path: "swarms",
1577
1575
  currentValue: value,
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  authorizeCuration
4
- } from "./index-mhd6kdzr.js";
4
+ } from "./index-qyj4383m.js";
5
5
  import {
6
6
  findNearDuplicate,
7
7
  inferTags,
@@ -9,13 +9,13 @@ import {
9
9
  resolveSwarmKnowledgePath,
10
10
  resolveSwarmRejectedPath,
11
11
  transactKnowledge
12
- } from "./index-xhxbv7mz.js";
12
+ } from "./index-qdz6zysj.js";
13
13
  import {
14
14
  resolveKnowledgeStoreDir
15
- } from "./index-4fkxdnc7.js";
15
+ } from "./index-erp7fk72.js";
16
16
  import {
17
17
  atomicWriteFile
18
- } from "./index-yyrnkc3a.js";
18
+ } from "./index-6m551cng.js";
19
19
  import {
20
20
  require_proper_lockfile
21
21
  } from "./index-7g4c7s5r.js";