opencode-swarm 7.152.1 → 7.153.1

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 (121) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +10 -10
  2. package/dist/background/pending-delegations.d.ts +7 -0
  3. package/dist/cli/{capability-probe-va4kk8vg.js → capability-probe-5wa7mcp6.js} +3 -2
  4. package/dist/cli/{config-doctor-bbqmye7a.js → config-doctor-ze21qs6b.js} +3 -3
  5. package/dist/cli/{core-fh4e6ex0.js → core-qdmhh1kx.js} +2 -2
  6. package/dist/cli/{curation-policy-nem98yc9.js → curation-policy-twa6agf8.js} +7 -7
  7. package/dist/cli/{curator-909s9dvs.js → curator-hxb3wsxr.js} +32 -33
  8. package/dist/cli/curator-llm-factory-s8atmc2n.js +64 -0
  9. package/dist/cli/{evidence-summary-service-kqw4y0yr.js → evidence-summary-service-wzzym9r7.js} +15 -15
  10. package/dist/cli/{gate-evidence-ycts62pj.js → gate-evidence-f71dn9vv.js} +8 -8
  11. package/dist/cli/guardrail-explain-5kzeem4m.js +65 -0
  12. package/dist/cli/{guardrail-log-e1tmdxxa.js → guardrail-log-38jnajpa.js} +6 -6
  13. package/dist/cli/{guardrail-reset-gdnaxxvb.js → guardrail-reset-wzvtmpn2.js} +32 -33
  14. package/dist/cli/{hive-promoter-d0xydg6r.js → hive-promoter-55qcqgfx.js} +32 -33
  15. package/dist/cli/{index-x6803sxh.js → index-0tyc8kdg.js} +2 -2
  16. package/dist/cli/{index-z8s2asdk.js → index-0tzv5zg2.js} +22 -150
  17. package/dist/cli/{index-3djxegsc.js → index-1akn19mp.js} +1 -1
  18. package/dist/cli/{index-q77e475x.js → index-1dtshrzg.js} +5 -5
  19. package/dist/cli/{index-73pmnsjg.js → index-1gzdnjg9.js} +2 -2
  20. package/dist/cli/{index-4tvvh7pn.js → index-23rneydq.js} +36 -35
  21. package/dist/cli/{index-z4bg1hv8.js → index-2mqmvxac.js} +9 -2
  22. package/dist/cli/index-3cegckkq.js +239 -0
  23. package/dist/cli/{index-pvrap7xg.js → index-3ttktt56.js} +1 -1
  24. package/dist/cli/{index-85gkedsf.js → index-4fwbbad3.js} +521 -15
  25. package/dist/cli/{index-qqrdmaxq.js → index-4g0g3dqz.js} +2 -2
  26. package/dist/cli/{index-44xdtqz8.js → index-4pjkdcgc.js} +1 -1
  27. package/dist/cli/{index-29vd7v3e.js → index-6vgb5fyb.js} +1 -1
  28. package/dist/cli/{index-sg2sx2q7.js → index-6ybjrqf7.js} +13095 -9360
  29. package/dist/cli/{index-txbd25bc.js → index-891g7hbf.js} +1 -1
  30. package/dist/cli/{index-02ajc6d1.js → index-8v9sj4aq.js} +2 -2
  31. package/dist/cli/{index-z9fyd0d6.js → index-9v8d3c0k.js} +450 -48
  32. package/dist/cli/{index-26vyr198.js → index-af0cqe6n.js} +16 -16
  33. package/dist/cli/{index-ryecg2st.js → index-ajkxx2k6.js} +3 -3
  34. package/dist/cli/{index-k3d919yf.js → index-gn26q90p.js} +85 -24
  35. package/dist/cli/{index-0tfgn5x0.js → index-k10qtq71.js} +9 -9
  36. package/dist/cli/{index-xyfdmrv7.js → index-mb7b1gye.js} +3 -3
  37. package/dist/cli/{index-0q2mjxp2.js → index-meg33yyv.js} +1 -1
  38. package/dist/cli/{index-cpg98bh1.js → index-myt57pht.js} +1 -1
  39. package/dist/cli/{index-2e1294d1.js → index-n5pxkera.js} +16 -10
  40. package/dist/cli/{index-n0vc5b5t.js → index-n823qsae.js} +16 -7
  41. package/dist/cli/{index-6zkm4p7p.js → index-pk1gbqmq.js} +1 -1
  42. package/dist/cli/{index-nd8tkb3g.js → index-smqsp8hs.js} +5 -5
  43. package/dist/cli/{index-7fh82sm1.js → index-td0jz8xe.js} +6 -6
  44. package/dist/cli/{index-dn6yt0xg.js → index-tdzbm974.js} +7 -7
  45. package/dist/cli/{index-rq6aetkv.js → index-v689bmr2.js} +4 -4
  46. package/dist/cli/{index-79g6edht.js → index-x3y6zhgj.js} +1 -1
  47. package/dist/cli/{index-aw492hpn.js → index-x8vw6ap1.js} +58 -41
  48. package/dist/cli/{index-96m8ckpq.js → index-xkjrg9k4.js} +4 -4
  49. package/dist/cli/{index-mken64yj.js → index-zppxpc3y.js} +2 -2
  50. package/dist/cli/index.js +32 -33
  51. package/dist/cli/{knowledge-escalator-4egcr928.js → knowledge-escalator-w05ztgvk.js} +13 -13
  52. package/dist/cli/{knowledge-events-kdyv4jzn.js → knowledge-events-pwm9jc0m.js} +11 -11
  53. package/dist/cli/{knowledge-link-h8cwj7af.js → knowledge-link-ge0rddxw.js} +6 -6
  54. package/dist/cli/{knowledge-store-dq3cvg53.js → knowledge-store-4xv65tj2.js} +7 -7
  55. package/dist/cli/{knowledge-validator-4bhtden9.js → knowledge-validator-0ttfsca7.js} +9 -9
  56. package/dist/cli/{model-preflight-7ea00h34.js → model-preflight-b95w8wxy.js} +1 -1
  57. package/dist/cli/{pending-delegations-a2nmssr1.js → pending-delegations-nk78wx7h.js} +4 -4
  58. package/dist/cli/{pr-subscriptions-7879nq5k.js → pr-subscriptions-dq1f61ye.js} +4 -4
  59. package/dist/cli/{runner-w81n9js3.js → runner-n50w1y4w.js} +7 -7
  60. package/dist/cli/{scan-cursor-2eezv81a.js → scan-cursor-b6n15w8d.js} +8 -8
  61. package/dist/cli/{schema-v4qcqhek.js → schema-jkbfwqr2.js} +2 -2
  62. package/dist/cli/{scope-persistence-y2r227r0.js → scope-persistence-5xt2m5ep.js} +10 -10
  63. package/dist/cli/{skill-generator-hhzxvb3h.js → skill-generator-3keadpf7.js} +15 -15
  64. package/dist/cli/{telemetry-52pw5xac.js → telemetry-hh1j99za.js} +1 -1
  65. package/dist/cli/{worktree-collision-ownership-p31zm5k0.js → worktree-collision-ownership-4drcjymy.js} +15 -10
  66. package/dist/cli/{worktree-isolation-ve338ez6.js → worktree-isolation-1ymaxn4h.js} +32 -33
  67. package/dist/commands/approve-write.d.ts +1 -0
  68. package/dist/commands/index.d.ts +1 -0
  69. package/dist/commands/lanes.d.ts +25 -0
  70. package/dist/commands/registry.d.ts +7 -0
  71. package/dist/config/schema.d.ts +39 -4
  72. package/dist/consensus/contracts.d.ts +14 -0
  73. package/dist/consensus/corpus.d.ts +16 -0
  74. package/dist/hooks/delegation-gate/worktree-isolation.d.ts +50 -3
  75. package/dist/hooks/delegation-gate/worktree-provisioning-owner.d.ts +40 -2
  76. package/dist/hooks/delegation-gate/worktree-recovery-authority.d.ts +201 -0
  77. package/dist/hooks/full-auto-permission.d.ts +7 -0
  78. package/dist/hooks/guardrails/index.d.ts +2 -1
  79. package/dist/hooks/guardrails/tool-before.d.ts +4 -0
  80. package/dist/hooks/init-orphan-recovery.d.ts +5 -1
  81. package/dist/hooks/pr-workflow-gate.d.ts +12 -0
  82. package/dist/hooks/scope-guard.d.ts +1 -3
  83. package/dist/hooks/trajectory-logger.d.ts +22 -6
  84. package/dist/hooks/trajectory-step-state.d.ts +43 -2
  85. package/dist/index.js +645 -622
  86. package/dist/learning/provenance.d.ts +9 -0
  87. package/dist/observability/catalog.d.ts +6 -4
  88. package/dist/prm/index.d.ts +3 -3
  89. package/dist/prm/replay.d.ts +29 -2
  90. package/dist/prm/trajectory-store.d.ts +210 -20
  91. package/dist/sandbox/capability-probe.d.ts +40 -1
  92. package/dist/sandbox/executor.d.ts +26 -1
  93. package/dist/sandbox/linux/bubblewrap-executor.d.ts +3 -1
  94. package/dist/sandbox/macos/sandbox-exec-executor.d.ts +3 -1
  95. package/dist/sandbox/skip-state.d.ts +24 -0
  96. package/dist/sandbox/win32/native-sandbox-executor.d.ts +5 -1
  97. package/dist/security/command-classifier.d.ts +22 -0
  98. package/dist/security/protected-input-integrity.d.ts +19 -0
  99. package/dist/security/protected-path-policy.d.ts +9 -0
  100. package/dist/security/write-authority.d.ts +46 -0
  101. package/dist/services/diagnose-service.d.ts +1 -1
  102. package/dist/services/skill-generator.d.ts +2 -0
  103. package/dist/services/skill-improver.d.ts +69 -0
  104. package/dist/telemetry.d.ts +21 -1
  105. package/dist/tools/dispatch-lanes.d.ts +47 -0
  106. package/dist/tools/repo-graph/query.d.ts +2 -1
  107. package/dist/tools/repo-graph/types.d.ts +64 -0
  108. package/dist/tools/repo-graph.d.ts +1 -1
  109. package/dist/tools/skill-improve.d.ts +7 -0
  110. package/dist/utils/atomic-write.d.ts +2 -0
  111. package/dist/utils/canonical-root.d.ts +31 -0
  112. package/dist/workflow/coder-settlement.d.ts +2 -0
  113. package/dist/worktree/index.d.ts +2 -2
  114. package/dist/worktree/merge.d.ts +47 -0
  115. package/package.json +2 -1
  116. package/dist/cli/curator-llm-factory-462rysph.js +0 -65
  117. package/dist/cli/guardrail-explain-7620hasq.js +0 -66
  118. package/dist/cli/index-3g0xk6tk.js +0 -219
  119. package/dist/cli/index-fxvgaeq4.js +0 -125
  120. package/dist/cli/worktree-provisioning-owner-cve95q4f.js +0 -22
  121. package/dist/cli/{curator-drift-2h1d2fnq.js → curator-drift-h57z6tm3.js} +1 -1
@@ -7,65 +7,64 @@ import {
7
7
  isHiveEligible,
8
8
  promoteFromSwarm,
9
9
  promoteToHive
10
- } from "./index-sg2sx2q7.js";
11
- import"./index-44xdtqz8.js";
12
- import"./index-k3d919yf.js";
13
- import"./index-x6803sxh.js";
14
- import"./index-26vyr198.js";
15
- import"./index-73pmnsjg.js";
10
+ } from "./index-6ybjrqf7.js";
11
+ import"./index-gn26q90p.js";
12
+ import"./index-0tyc8kdg.js";
13
+ import"./index-af0cqe6n.js";
16
14
  import"./index-134d35c1.js";
17
15
  import"./index-nj6rmyeh.js";
16
+ import"./index-4pjkdcgc.js";
17
+ import"./index-1gzdnjg9.js";
18
18
  import"./index-y8552snf.js";
19
- import"./index-nd8tkb3g.js";
20
- import"./index-02ajc6d1.js";
19
+ import"./index-8v9sj4aq.js";
21
20
  import"./index-70ha9e09.js";
22
21
  import"./index-c8s9a3zh.js";
23
22
  import"./index-9ss2m4rs.js";
24
23
  import"./index-vnn7qq8c.js";
25
- import"./index-0q2mjxp2.js";
26
- import"./index-2e1294d1.js";
27
- import"./index-rq6aetkv.js";
28
- import"./index-pvrap7xg.js";
24
+ import"./index-meg33yyv.js";
25
+ import"./index-n5pxkera.js";
26
+ import"./index-smqsp8hs.js";
27
+ import"./index-v689bmr2.js";
28
+ import"./index-3ttktt56.js";
29
29
  import"./index-rtry5xyf.js";
30
+ import"./index-3cegckkq.js";
30
31
  import"./index-zsrtt42s.js";
31
- import"./index-z4bg1hv8.js";
32
- import"./index-fxvgaeq4.js";
33
- import"./index-z9fyd0d6.js";
34
- import"./index-qqrdmaxq.js";
35
- import"./index-q77e475x.js";
36
- import"./index-xyfdmrv7.js";
37
- import"./index-6zkm4p7p.js";
32
+ import"./index-9v8d3c0k.js";
33
+ import"./index-4g0g3dqz.js";
34
+ import"./index-2mqmvxac.js";
35
+ import"./index-1dtshrzg.js";
36
+ import"./index-mb7b1gye.js";
37
+ import"./index-pk1gbqmq.js";
38
38
  import"./index-556ja8an.js";
39
39
  import"./index-b43rt5ph.js";
40
40
  import"./index-q7sjgr1y.js";
41
- import"./index-3g0xk6tk.js";
42
- import"./index-85gkedsf.js";
41
+ import"./index-4fwbbad3.js";
43
42
  import {
44
43
  resolveHiveKnowledgePath
45
- } from "./index-0tfgn5x0.js";
46
- import"./index-dn6yt0xg.js";
47
- import"./index-ryecg2st.js";
44
+ } from "./index-k10qtq71.js";
45
+ import"./index-tdzbm974.js";
46
+ import"./index-ajkxx2k6.js";
48
47
  import"./index-gprxjmm7.js";
49
48
  import"./index-n832052r.js";
50
49
  import"./index-4cgee5vh.js";
51
50
  import"./index-z6xqpmqg.js";
52
51
  import"./index-r3mvsbtq.js";
53
- import"./index-3djxegsc.js";
54
- import"./index-n0vc5b5t.js";
55
- import"./index-cpg98bh1.js";
52
+ import"./index-1akn19mp.js";
53
+ import"./index-n823qsae.js";
54
+ import"./index-myt57pht.js";
56
55
  import"./index-9e6fdz2h.js";
57
56
  import"./index-4rhhvd1a.js";
58
57
  import"./index-zjygnfay.js";
59
58
  import"./index-ae75rja9.js";
60
- import"./index-79g6edht.js";
61
- import"./index-mken64yj.js";
59
+ import"./index-x3y6zhgj.js";
60
+ import"./index-zppxpc3y.js";
62
61
  import"./index-bk5tah7q.js";
63
- import"./index-7fh82sm1.js";
64
- import"./index-txbd25bc.js";
65
- import"./index-aw492hpn.js";
62
+ import"./index-td0jz8xe.js";
63
+ import"./index-891g7hbf.js";
64
+ import"./index-ed5ykebp.js";
65
+ import"./index-x8vw6ap1.js";
66
66
  import"./index-7g4c7s5r.js";
67
67
  import"./index-bpmtbmy9.js";
68
- import"./index-ed5ykebp.js";
69
68
  import"./index-zgwm4ryv.js";
70
69
  import"./index-a76rekgs.js";
71
70
  export {
@@ -6,11 +6,11 @@ import {
6
6
  PluginConfigSchema,
7
7
  init_schema,
8
8
  stripKnownSwarmPrefix
9
- } from "./index-n0vc5b5t.js";
9
+ } from "./index-n823qsae.js";
10
10
  import {
11
11
  ALL_AGENT_NAMES,
12
12
  init_constants
13
- } from "./index-cpg98bh1.js";
13
+ } from "./index-myt57pht.js";
14
14
  import {
15
15
  log
16
16
  } from "./index-zgwm4ryv.js";
@@ -1,6 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  HUMAN_ONLY_SWARM_COMMANDS,
4
+ classifyCommand,
4
5
  dcCheckJunctionCreation,
5
6
  dcEvaluateRecursiveDeleteTargets,
6
7
  dcExtractPowerShellTargets,
@@ -11,15 +12,16 @@ import {
11
12
  dcUnwrapWrappers,
12
13
  detectPosixWrites,
13
14
  detectWindowsWrites,
15
+ getSharedClassifierGuardrailBlock,
14
16
  resolveWriteTargets
15
- } from "./index-sg2sx2q7.js";
17
+ } from "./index-6ybjrqf7.js";
16
18
  import {
17
19
  checkFileAuthority,
18
20
  classifyFile,
19
21
  isInDeclaredScope,
20
22
  redactPath,
21
23
  redactShellCommand
22
- } from "./index-k3d919yf.js";
24
+ } from "./index-gn26q90p.js";
23
25
 
24
26
  // src/services/guardrail-explain-service.ts
25
27
  import path from "path";
@@ -65,13 +67,12 @@ function evaluateDestructiveDecision(rawCommand, cwd, declaredScope) {
65
67
  if (!rawCommand) {
66
68
  return { decision: "allow", firingRule: "allow: no rule matched" };
67
69
  }
68
- const command = dcNormalizeCommand(rawCommand);
69
- if (/:\s*\(\s*\)\s*\{[^}]*\|[^}]*:/.test(command)) {
70
- return {
71
- decision: "block",
72
- firingRule: "destructive_block: fork bomb pattern"
73
- };
70
+ const shared = classifyCommand(rawCommand);
71
+ const sharedFiringRule = `shared_classifier: ${shared.aggregate}`;
72
+ if (getSharedClassifierGuardrailBlock(shared)) {
73
+ return { decision: "block", firingRule: sharedFiringRule };
74
74
  }
75
+ const command = dcNormalizeCommand(rawCommand);
75
76
  const unwrapped = dcUnwrapWrappers(command);
76
77
  const outerSegments = dcSplitSegments(command);
77
78
  const innerSegments = dcSplitSegments(unwrapped);
@@ -157,119 +158,20 @@ function evaluateDestructiveDecision(rawCommand, cwd, declaredScope) {
157
158
  firingRule: "destructive_block: PowerShell pipeline Get-ChildItem | Remove-Item -Recurse"
158
159
  };
159
160
  }
160
- if (/^vssadmin(?:\.exe)?\s+delete\b/i.test(seg)) {
161
- return {
162
- decision: "block",
163
- firingRule: "destructive_block: vssadmin delete (ransomware-grade)"
164
- };
165
- }
166
- if (/^wbadmin(?:\.exe)?\s+delete\b/i.test(seg)) {
167
- return {
168
- decision: "block",
169
- firingRule: "destructive_block: wbadmin delete (backup catalog deletion)"
170
- };
171
- }
172
- if (/^diskpart(?:\.exe)?$/i.test(seg)) {
173
- return {
174
- decision: "block",
175
- firingRule: "destructive_block: diskpart (interactive disk partitioning)"
176
- };
177
- }
178
- if (/^bcdedit(?:\.exe)?\s+\/delete\b/i.test(seg)) {
179
- return {
180
- decision: "block",
181
- firingRule: "destructive_block: bcdedit /delete (boot config modification)"
182
- };
183
- }
184
- if (/^sdelete(?:\.exe)?\s+/i.test(seg)) {
185
- return {
186
- decision: "block",
187
- firingRule: "destructive_block: sdelete (secure file deletion)"
188
- };
189
- }
190
- if (/^fsutil(?:\.exe)?\s+reparsepoint\s+delete\b/i.test(seg) || /^fsutil(?:\.exe)?\s+file\s+setzerodata\b/i.test(seg)) {
191
- return {
192
- decision: "block",
193
- firingRule: "destructive_block: fsutil destructive subcommand"
194
- };
195
- }
196
- if (/^takeown(?:\.exe)?\s+.*\/[rR]\b/i.test(seg)) {
197
- return {
198
- decision: "block",
199
- firingRule: "destructive_block: takeown /R (recursive ownership takeover)"
200
- };
201
- }
202
- if (/^cipher(?:\.exe)?\s+\/[wW]\b/i.test(seg)) {
203
- return {
204
- decision: "block",
205
- firingRule: "destructive_block: cipher /w (free disk space wipe)"
206
- };
207
- }
208
- if (/^format\s+[A-Za-z]:/i.test(seg)) {
209
- return {
210
- decision: "block",
211
- firingRule: "destructive_block: Windows disk format command"
212
- };
213
- }
214
- if (/^robocopy(?:\.exe)?\s+.*\/(?:MIR|mir)\b/.test(seg)) {
215
- return {
216
- decision: "block",
217
- firingRule: "destructive_block: robocopy /MIR (mirror delete)"
218
- };
219
- }
220
- if (/^chmod\s+.*-[rR]\b.*000\b/.test(seg)) {
221
- return {
222
- decision: "block",
223
- firingRule: "destructive_block: chmod -R 000 (permission wipe)"
224
- };
225
- }
226
- if (/^chattr\s+.*\+i\b/.test(seg)) {
227
- return {
228
- decision: "block",
229
- firingRule: "destructive_block: chattr +i (immutable flag)"
230
- };
231
- }
232
- if (/^icacls(?:\.exe)?\s+.*\/deny\b/i.test(seg)) {
233
- return {
234
- decision: "block",
235
- firingRule: "destructive_block: icacls /deny (permission denial)"
236
- };
237
- }
238
- if (/^dd\b.*\bif=\/dev\/(zero|null|urandom)\b/.test(seg)) {
239
- return {
240
- decision: "block",
241
- firingRule: "destructive_block: dd with /dev/zero|null|urandom (data wipe)"
242
- };
243
- }
244
- if (/^git\s+push\b.*?(--force(?!-with-lease)|-f)\b/.test(seg)) {
245
- return {
246
- decision: "block",
247
- firingRule: "destructive_block: git push --force"
248
- };
249
- }
250
- if (/^git\s+reset\s+--hard/.test(seg)) {
251
- return {
252
- decision: "block",
253
- firingRule: "destructive_block: git reset --hard"
254
- };
255
- }
256
- if (/^git\s+reset\s+--mixed\s+\S+/.test(seg)) {
257
- return {
258
- decision: "block",
259
- firingRule: "destructive_block: git reset --mixed with target"
260
- };
261
- }
262
- if (/^git\s+clean\s+.*-[fF].*[dD]/.test(seg)) {
263
- return {
264
- decision: "block",
265
- firingRule: "destructive_block: git clean -fd"
266
- };
267
- }
268
161
  if (/^git\s+worktree\s+remove\s+.*--force\b/i.test(seg)) {
269
- return {
270
- decision: "block",
271
- firingRule: "destructive_block: git worktree remove --force"
272
- };
162
+ const worktreeRemoveMatch = /^git\s+worktree\s+remove\s+(.+)$/i.exec(seg);
163
+ if (worktreeRemoveMatch) {
164
+ const normalizedArgs = worktreeRemoveMatch[1].trim().split(/\s+/).filter(Boolean).map((token) => token.replace(/^["']|["']$/g, ""));
165
+ const pathArgs = normalizedArgs.filter((token) => !token.startsWith("-"));
166
+ const target = pathArgs.length === 1 ? pathArgs[0]?.trim() : null;
167
+ const scopeExempt = target != null && target.length > 0 && declaredScope != null && declaredScope.length > 0 && isInDeclaredScope(target, declaredScope, cwd);
168
+ if (!scopeExempt) {
169
+ return {
170
+ decision: "block",
171
+ firingRule: "destructive_block: git worktree remove --force"
172
+ };
173
+ }
174
+ }
273
175
  }
274
176
  if (/^rsync\b.*--delete(?:-after|-before|-during|-delay)?\b/.test(seg)) {
275
177
  const rsyncArgs = seg.split(/\s+/).slice(1);
@@ -282,30 +184,6 @@ function evaluateDestructiveDecision(rawCommand, cwd, declaredScope) {
282
184
  };
283
185
  }
284
186
  }
285
- if (/^kubectl\s+delete\b/.test(seg)) {
286
- return {
287
- decision: "block",
288
- firingRule: "destructive_block: kubectl delete"
289
- };
290
- }
291
- if (/^docker\s+system\s+prune\b/.test(seg)) {
292
- return {
293
- decision: "block",
294
- firingRule: "destructive_block: docker system prune"
295
- };
296
- }
297
- if (/^\s*DROP\s+(TABLE|DATABASE|SCHEMA)\b/i.test(seg)) {
298
- return {
299
- decision: "block",
300
- firingRule: "destructive_block: SQL DROP statement"
301
- };
302
- }
303
- if (/^\s*TRUNCATE\s+TABLE\b/i.test(seg)) {
304
- return {
305
- decision: "block",
306
- firingRule: "destructive_block: SQL TRUNCATE TABLE statement"
307
- };
308
- }
309
187
  if (/^\\?mv\s/i.test(seg)) {
310
188
  const mvMatch = seg.match(/^\\?mv\s+(.+)$/i);
311
189
  if (mvMatch) {
@@ -372,12 +250,6 @@ function evaluateDestructiveDecision(rawCommand, cwd, declaredScope) {
372
250
  firingRule: 'destructive_block: "7z" with delete-source flag targeting .swarm/ detected \u2014 archive with source deletion under .swarm/ is not allowed'
373
251
  };
374
252
  }
375
- if (/^mkfs[./]/.test(seg)) {
376
- return {
377
- decision: "block",
378
- firingRule: "destructive_block: mkfs (filesystem format)"
379
- };
380
- }
381
253
  {
382
254
  let probe = seg.replace(/^(?:[A-Za-z_][A-Za-z0-9_]*=\S+\s+)+/, "").replace(/^eval(?:\s+--)?\s+["']?/, "").replace(/["']\s*$/, "").replace(/^\$\(\s*/, "").replace(/^\(\s*/, "").replace(/\s*\)$/, "").replace(/^`/, "").replace(/`$/, "").trim();
383
255
  for (let i = 0;i < 4; i++) {
@@ -6,7 +6,7 @@ import {
6
6
  PluginConfigSchema,
7
7
  init_schema,
8
8
  resolveExternalSkillsConfig
9
- } from "./index-n0vc5b5t.js";
9
+ } from "./index-n823qsae.js";
10
10
  import {
11
11
  GIT_BINARY_ENV_VAR,
12
12
  init_git_executable
@@ -2,23 +2,23 @@
2
2
  import {
3
3
  computePlanStructureHash,
4
4
  derivePlanId
5
- } from "./index-xyfdmrv7.js";
5
+ } from "./index-mb7b1gye.js";
6
6
  import {
7
7
  appendCoreEventSync
8
- } from "./index-6zkm4p7p.js";
8
+ } from "./index-pk1gbqmq.js";
9
9
  import {
10
10
  unsafePathTextReason
11
11
  } from "./index-556ja8an.js";
12
12
  import {
13
13
  PlanSchema
14
- } from "./index-3djxegsc.js";
14
+ } from "./index-1akn19mp.js";
15
15
  import {
16
16
  atomicWriteSwarmFile,
17
17
  atomicWriteSwarmFileSync
18
- } from "./index-7fh82sm1.js";
18
+ } from "./index-td0jz8xe.js";
19
19
  import {
20
20
  assertProjectRoot
21
- } from "./index-txbd25bc.js";
21
+ } from "./index-891g7hbf.js";
22
22
  import {
23
23
  require_proper_lockfile
24
24
  } from "./index-7g4c7s5r.js";
@@ -9,11 +9,11 @@ import {
9
9
  } from "./index-y8552snf.js";
10
10
  import {
11
11
  atomicWriteFile
12
- } from "./index-mken64yj.js";
12
+ } from "./index-zppxpc3y.js";
13
13
  import {
14
14
  assertProjectRoot,
15
15
  withEvidenceLock
16
- } from "./index-txbd25bc.js";
16
+ } from "./index-891g7hbf.js";
17
17
  import {
18
18
  exports_external,
19
19
  init_zod
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-z8s2asdk.js";
4
+ } from "./index-0tzv5zg2.js";
5
5
  import {
6
6
  handleGuardrailLog
7
- } from "./index-29vd7v3e.js";
7
+ } from "./index-6vgb5fyb.js";
8
8
  import {
9
9
  COMMAND_REGISTRY,
10
10
  SWARM_COMMAND_TOOL_ALLOWLIST,
@@ -19,6 +19,7 @@ import {
19
19
  handleAcknowledgeSpecDriftCommand,
20
20
  handleAgentsCommand,
21
21
  handleAnalyzeCommand,
22
+ handleApproveWriteCommand,
22
23
  handleArchiveCommand,
23
24
  handleAutoProceedCommand,
24
25
  handleBenchmarkCommand,
@@ -85,70 +86,69 @@ import {
85
86
  handleWriteRetroCommand,
86
87
  normalizeSwarmCommandInput,
87
88
  resolveCommand
88
- } from "./index-sg2sx2q7.js";
89
- import"./index-44xdtqz8.js";
90
- import"./index-k3d919yf.js";
91
- import"./index-x6803sxh.js";
92
- import"./index-26vyr198.js";
93
- import"./index-73pmnsjg.js";
89
+ } from "./index-6ybjrqf7.js";
90
+ import"./index-gn26q90p.js";
91
+ import"./index-0tyc8kdg.js";
92
+ import"./index-af0cqe6n.js";
94
93
  import"./index-134d35c1.js";
95
94
  import"./index-nj6rmyeh.js";
95
+ import"./index-4pjkdcgc.js";
96
+ import"./index-1gzdnjg9.js";
96
97
  import"./index-y8552snf.js";
97
- import"./index-nd8tkb3g.js";
98
- import"./index-02ajc6d1.js";
98
+ import"./index-8v9sj4aq.js";
99
99
  import"./index-70ha9e09.js";
100
100
  import"./index-c8s9a3zh.js";
101
101
  import"./index-9ss2m4rs.js";
102
102
  import"./index-vnn7qq8c.js";
103
- import"./index-0q2mjxp2.js";
104
- import"./index-2e1294d1.js";
105
- import"./index-rq6aetkv.js";
106
- import"./index-pvrap7xg.js";
103
+ import"./index-meg33yyv.js";
104
+ import"./index-n5pxkera.js";
105
+ import"./index-smqsp8hs.js";
106
+ import"./index-v689bmr2.js";
107
+ import"./index-3ttktt56.js";
107
108
  import"./index-rtry5xyf.js";
109
+ import"./index-3cegckkq.js";
108
110
  import"./index-zsrtt42s.js";
109
- import"./index-z4bg1hv8.js";
110
- import"./index-fxvgaeq4.js";
111
- import"./index-z9fyd0d6.js";
112
- import"./index-qqrdmaxq.js";
113
- import"./index-q77e475x.js";
114
- import"./index-xyfdmrv7.js";
115
- import"./index-6zkm4p7p.js";
111
+ import"./index-9v8d3c0k.js";
112
+ import"./index-4g0g3dqz.js";
113
+ import"./index-2mqmvxac.js";
114
+ import"./index-1dtshrzg.js";
115
+ import"./index-mb7b1gye.js";
116
+ import"./index-pk1gbqmq.js";
116
117
  import"./index-556ja8an.js";
117
118
  import"./index-b43rt5ph.js";
118
119
  import"./index-q7sjgr1y.js";
119
- import"./index-3g0xk6tk.js";
120
- import"./index-85gkedsf.js";
121
- import"./index-0tfgn5x0.js";
122
- import"./index-dn6yt0xg.js";
123
- import"./index-ryecg2st.js";
120
+ import"./index-4fwbbad3.js";
121
+ import"./index-k10qtq71.js";
122
+ import"./index-tdzbm974.js";
123
+ import"./index-ajkxx2k6.js";
124
124
  import"./index-gprxjmm7.js";
125
125
  import"./index-n832052r.js";
126
126
  import"./index-4cgee5vh.js";
127
127
  import"./index-z6xqpmqg.js";
128
128
  import"./index-r3mvsbtq.js";
129
- import"./index-3djxegsc.js";
129
+ import"./index-1akn19mp.js";
130
130
  import {
131
131
  init_schema,
132
132
  stripKnownSwarmPrefix
133
- } from "./index-n0vc5b5t.js";
133
+ } from "./index-n823qsae.js";
134
134
  import {
135
135
  AGENT_TOOL_MAP,
136
136
  ORCHESTRATOR_NAME,
137
137
  init_constants
138
- } from "./index-cpg98bh1.js";
138
+ } from "./index-myt57pht.js";
139
139
  import"./index-9e6fdz2h.js";
140
140
  import"./index-4rhhvd1a.js";
141
141
  import"./index-zjygnfay.js";
142
142
  import"./index-ae75rja9.js";
143
- import"./index-79g6edht.js";
144
- import"./index-mken64yj.js";
143
+ import"./index-x3y6zhgj.js";
144
+ import"./index-zppxpc3y.js";
145
145
  import"./index-bk5tah7q.js";
146
- import"./index-7fh82sm1.js";
147
- import"./index-txbd25bc.js";
148
- import"./index-aw492hpn.js";
146
+ import"./index-td0jz8xe.js";
147
+ import"./index-891g7hbf.js";
148
+ import"./index-ed5ykebp.js";
149
+ import"./index-x8vw6ap1.js";
149
150
  import"./index-7g4c7s5r.js";
150
151
  import"./index-bpmtbmy9.js";
151
- import"./index-ed5ykebp.js";
152
152
  import"./index-zgwm4ryv.js";
153
153
  import"./index-a76rekgs.js";
154
154
 
@@ -467,6 +467,7 @@ export {
467
467
  handleBenchmarkCommand,
468
468
  handleAutoProceedCommand,
469
469
  handleArchiveCommand,
470
+ handleApproveWriteCommand,
470
471
  handleAnalyzeCommand,
471
472
  handleAgentsCommand,
472
473
  handleAcknowledgeSpecDriftCommand,
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  EvidenceLockTimeoutError,
10
10
  withEvidenceLock
11
- } from "./index-txbd25bc.js";
11
+ } from "./index-891g7hbf.js";
12
12
  import {
13
13
  exports_external,
14
14
  init_zod
@@ -469,7 +469,14 @@ var WorktreeDescriptorSchema = exports_external.object({
469
469
  worktreeSessionId: exports_external.string().min(1).max(256),
470
470
  mergeStrategy: exports_external.enum(["merge", "rebase", "cherry-pick"]),
471
471
  laneIndex: exports_external.number().int().nonnegative().max(255),
472
- worktreeDir: exports_external.string().min(1).max(4096).nullable()
472
+ worktreeDir: exports_external.string().min(1).max(4096).nullable(),
473
+ reservationId: exports_external.string().min(1).max(512).optional(),
474
+ generation: exports_external.number().int().min(1).optional(),
475
+ provisioningOwner: exports_external.object({
476
+ reservationId: exports_external.string().min(1).max(512),
477
+ generation: exports_external.number().int().min(1),
478
+ branchName: exports_external.string().min(1).max(1024)
479
+ }).strict().optional()
473
480
  }).strict();
474
481
  var TerminalResultSchema = exports_external.object({
475
482
  eventId: exports_external.string().min(1).max(256),