opencode-swarm 7.152.1 → 7.153.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 (87) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +10 -10
  2. package/dist/cli/{capability-probe-va4kk8vg.js → capability-probe-5wa7mcp6.js} +3 -2
  3. package/dist/cli/{config-doctor-bbqmye7a.js → config-doctor-7s7xga6f.js} +3 -3
  4. package/dist/cli/{core-fh4e6ex0.js → core-vkpy14vv.js} +2 -2
  5. package/dist/cli/{curation-policy-nem98yc9.js → curation-policy-xy7tm4ad.js} +4 -4
  6. package/dist/cli/{curator-909s9dvs.js → curator-6freqnhf.js} +25 -26
  7. package/dist/cli/{curator-llm-factory-462rysph.js → curator-llm-factory-q5cjk7mt.js} +25 -26
  8. package/dist/cli/{evidence-summary-service-kqw4y0yr.js → evidence-summary-service-engtgjww.js} +11 -11
  9. package/dist/cli/{gate-evidence-ycts62pj.js → gate-evidence-6bzzz8kq.js} +5 -5
  10. package/dist/cli/{guardrail-explain-7620hasq.js → guardrail-explain-vsck39dh.js} +26 -27
  11. package/dist/cli/{guardrail-log-e1tmdxxa.js → guardrail-log-0dn8m3k6.js} +4 -4
  12. package/dist/cli/{guardrail-reset-gdnaxxvb.js → guardrail-reset-6e2vyfn9.js} +25 -26
  13. package/dist/cli/{hive-promoter-d0xydg6r.js → hive-promoter-021abs6z.js} +25 -26
  14. package/dist/cli/{index-mken64yj.js → index-0n7nm9e8.js} +1 -1
  15. package/dist/cli/{index-pvrap7xg.js → index-1yfpw7w0.js} +1 -1
  16. package/dist/cli/{index-2e1294d1.js → index-3z2f1cy8.js} +16 -10
  17. package/dist/cli/{index-n0vc5b5t.js → index-3z5jtyan.js} +14 -6
  18. package/dist/cli/{index-85gkedsf.js → index-4fwbbad3.js} +521 -15
  19. package/dist/cli/{index-nd8tkb3g.js → index-4gn111h3.js} +5 -5
  20. package/dist/cli/{index-rq6aetkv.js → index-5w915x8b.js} +4 -4
  21. package/dist/cli/{index-q77e475x.js → index-5x67858f.js} +3 -3
  22. package/dist/cli/{index-k3d919yf.js → index-6v77adf7.js} +84 -23
  23. package/dist/cli/{index-0tfgn5x0.js → index-77xy577c.js} +6 -6
  24. package/dist/cli/{index-02ajc6d1.js → index-7q56f3se.js} +2 -2
  25. package/dist/cli/{index-xyfdmrv7.js → index-80ekaf5b.js} +1 -1
  26. package/dist/cli/{index-sg2sx2q7.js → index-95qra69h.js} +3826 -2018
  27. package/dist/cli/{index-73pmnsjg.js → index-9gjbe4e4.js} +1 -1
  28. package/dist/cli/{index-z8s2asdk.js → index-9vdh4kdx.js} +22 -150
  29. package/dist/cli/{index-z9fyd0d6.js → index-babtfqa0.js} +2 -2
  30. package/dist/cli/{index-4tvvh7pn.js → index-dh1gk5c5.js} +29 -28
  31. package/dist/cli/{index-3djxegsc.js → index-e2hs0bh7.js} +1 -1
  32. package/dist/cli/{index-qqrdmaxq.js → index-eajfs7v4.js} +2 -2
  33. package/dist/cli/{index-26vyr198.js → index-eqh3t8eh.js} +6 -6
  34. package/dist/cli/{index-29vd7v3e.js → index-g0m6kypc.js} +1 -1
  35. package/dist/cli/{index-96m8ckpq.js → index-hexhzq5j.js} +4 -4
  36. package/dist/cli/{index-ryecg2st.js → index-hkmgzesw.js} +3 -3
  37. package/dist/cli/{index-x6803sxh.js → index-hw49515c.js} +2 -2
  38. package/dist/cli/{index-7fh82sm1.js → index-k2ydsqs7.js} +2 -2
  39. package/dist/cli/{index-cpg98bh1.js → index-myt57pht.js} +1 -1
  40. package/dist/cli/{index-79g6edht.js → index-qgfnd206.js} +1 -1
  41. package/dist/cli/{index-44xdtqz8.js → index-x6zy6veh.js} +1 -1
  42. package/dist/cli/{index-dn6yt0xg.js → index-xv881ahz.js} +5 -5
  43. package/dist/cli/index.js +25 -26
  44. package/dist/cli/{knowledge-escalator-4egcr928.js → knowledge-escalator-79zbhpz5.js} +10 -10
  45. package/dist/cli/{knowledge-events-kdyv4jzn.js → knowledge-events-79cak7eb.js} +8 -8
  46. package/dist/cli/{knowledge-link-h8cwj7af.js → knowledge-link-40zsr5ja.js} +3 -3
  47. package/dist/cli/{knowledge-store-dq3cvg53.js → knowledge-store-w29aw5w0.js} +4 -4
  48. package/dist/cli/{knowledge-validator-4bhtden9.js → knowledge-validator-qsecnt2d.js} +6 -6
  49. package/dist/cli/{model-preflight-7ea00h34.js → model-preflight-b95w8wxy.js} +1 -1
  50. package/dist/cli/{runner-w81n9js3.js → runner-fbgsxs74.js} +4 -4
  51. package/dist/cli/{scan-cursor-2eezv81a.js → scan-cursor-1r3pcdqp.js} +5 -5
  52. package/dist/cli/{schema-v4qcqhek.js → schema-19qsv6fw.js} +2 -2
  53. package/dist/cli/{scope-persistence-y2r227r0.js → scope-persistence-ypcrvqtt.js} +6 -6
  54. package/dist/cli/{skill-generator-hhzxvb3h.js → skill-generator-wpp9kpa0.js} +12 -12
  55. package/dist/cli/{worktree-isolation-ve338ez6.js → worktree-isolation-wcry8qnn.js} +25 -26
  56. package/dist/commands/approve-write.d.ts +1 -0
  57. package/dist/commands/index.d.ts +1 -0
  58. package/dist/commands/registry.d.ts +7 -0
  59. package/dist/config/schema.d.ts +39 -4
  60. package/dist/consensus/contracts.d.ts +14 -0
  61. package/dist/hooks/full-auto-permission.d.ts +7 -0
  62. package/dist/hooks/guardrails/index.d.ts +2 -1
  63. package/dist/hooks/guardrails/tool-before.d.ts +4 -0
  64. package/dist/hooks/pr-workflow-gate.d.ts +12 -0
  65. package/dist/hooks/scope-guard.d.ts +1 -3
  66. package/dist/index.js +624 -606
  67. package/dist/learning/provenance.d.ts +9 -0
  68. package/dist/sandbox/capability-probe.d.ts +40 -1
  69. package/dist/sandbox/executor.d.ts +26 -1
  70. package/dist/sandbox/linux/bubblewrap-executor.d.ts +3 -1
  71. package/dist/sandbox/macos/sandbox-exec-executor.d.ts +3 -1
  72. package/dist/sandbox/skip-state.d.ts +24 -0
  73. package/dist/sandbox/win32/native-sandbox-executor.d.ts +5 -1
  74. package/dist/security/command-classifier.d.ts +22 -0
  75. package/dist/security/protected-input-integrity.d.ts +19 -0
  76. package/dist/security/protected-path-policy.d.ts +9 -0
  77. package/dist/security/write-authority.d.ts +46 -0
  78. package/dist/services/diagnose-service.d.ts +1 -1
  79. package/dist/services/skill-generator.d.ts +2 -0
  80. package/dist/services/skill-improver.d.ts +69 -0
  81. package/dist/tools/dispatch-lanes.d.ts +47 -0
  82. package/dist/tools/repo-graph/query.d.ts +2 -1
  83. package/dist/tools/repo-graph/types.d.ts +64 -0
  84. package/dist/tools/repo-graph.d.ts +1 -1
  85. package/dist/tools/skill-improve.d.ts +7 -0
  86. package/package.json +1 -1
  87. package/dist/cli/index-3g0xk6tk.js +0 -219
@@ -9,7 +9,7 @@ import {
9
9
  } from "./index-y8552snf.js";
10
10
  import {
11
11
  atomicWriteFile
12
- } from "./index-mken64yj.js";
12
+ } from "./index-0n7nm9e8.js";
13
13
  import {
14
14
  assertProjectRoot,
15
15
  withEvidenceLock
@@ -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-95qra69h.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-6v77adf7.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++) {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  autoCommitDirty,
4
4
  cleanUntrackedFiles
5
- } from "./index-qqrdmaxq.js";
5
+ } from "./index-eajfs7v4.js";
6
6
  import {
7
7
  isPathWithinDeclaredScope,
8
8
  unsafePathTextReason
@@ -26,7 +26,7 @@ import {
26
26
  atomicWriteFile,
27
27
  taskEvidencePath,
28
28
  withTaskEvidenceLock
29
- } from "./index-mken64yj.js";
29
+ } from "./index-0n7nm9e8.js";
30
30
  import {
31
31
  assertProjectRoot
32
32
  } from "./index-txbd25bc.js";
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-z8s2asdk.js";
4
+ } from "./index-9vdh4kdx.js";
5
5
  import {
6
6
  handleGuardrailLog
7
- } from "./index-29vd7v3e.js";
7
+ } from "./index-g0m6kypc.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,65 +86,64 @@ 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-95qra69h.js";
90
+ import"./index-x6zy6veh.js";
91
+ import"./index-6v77adf7.js";
92
+ import"./index-hw49515c.js";
93
+ import"./index-eqh3t8eh.js";
94
+ import"./index-9gjbe4e4.js";
94
95
  import"./index-134d35c1.js";
95
96
  import"./index-nj6rmyeh.js";
96
97
  import"./index-y8552snf.js";
97
- import"./index-nd8tkb3g.js";
98
- import"./index-02ajc6d1.js";
98
+ import"./index-4gn111h3.js";
99
+ import"./index-7q56f3se.js";
99
100
  import"./index-70ha9e09.js";
100
101
  import"./index-c8s9a3zh.js";
101
102
  import"./index-9ss2m4rs.js";
102
103
  import"./index-vnn7qq8c.js";
103
104
  import"./index-0q2mjxp2.js";
104
- import"./index-2e1294d1.js";
105
- import"./index-rq6aetkv.js";
106
- import"./index-pvrap7xg.js";
105
+ import"./index-3z2f1cy8.js";
106
+ import"./index-5w915x8b.js";
107
+ import"./index-1yfpw7w0.js";
107
108
  import"./index-rtry5xyf.js";
108
109
  import"./index-zsrtt42s.js";
109
110
  import"./index-z4bg1hv8.js";
110
111
  import"./index-fxvgaeq4.js";
111
- import"./index-z9fyd0d6.js";
112
- import"./index-qqrdmaxq.js";
113
- import"./index-q77e475x.js";
114
- import"./index-xyfdmrv7.js";
112
+ import"./index-babtfqa0.js";
113
+ import"./index-eajfs7v4.js";
114
+ import"./index-5x67858f.js";
115
+ import"./index-80ekaf5b.js";
115
116
  import"./index-6zkm4p7p.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-77xy577c.js";
122
+ import"./index-xv881ahz.js";
123
+ import"./index-hkmgzesw.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-e2hs0bh7.js";
130
130
  import {
131
131
  init_schema,
132
132
  stripKnownSwarmPrefix
133
- } from "./index-n0vc5b5t.js";
133
+ } from "./index-3z5jtyan.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-qgfnd206.js";
144
+ import"./index-0n7nm9e8.js";
145
145
  import"./index-bk5tah7q.js";
146
- import"./index-7fh82sm1.js";
146
+ import"./index-k2ydsqs7.js";
147
147
  import"./index-txbd25bc.js";
148
148
  import"./index-aw492hpn.js";
149
149
  import"./index-7g4c7s5r.js";
@@ -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,
@@ -6,7 +6,7 @@ import {
6
6
  PluginConfigSchema,
7
7
  init_schema,
8
8
  resolveExternalSkillsConfig
9
- } from "./index-n0vc5b5t.js";
9
+ } from "./index-3z5jtyan.js";
10
10
  import {
11
11
  GIT_BINARY_ENV_VAR,
12
12
  init_git_executable
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  SWARM_WORKTREE_DIR_NAME,
7
7
  init_constants
8
- } from "./index-cpg98bh1.js";
8
+ } from "./index-myt57pht.js";
9
9
  import {
10
10
  init_git_executable,
11
11
  resolveGitExecutable
@@ -92,7 +92,7 @@ var _internals = {
92
92
  symlinkSync: fs.symlinkSync
93
93
  },
94
94
  writeScopeToDisk: async (directory, taskId, files) => {
95
- const { writeScopeToDisk: realWrite } = await import("./scope-persistence-y2r227r0.js");
95
+ const { writeScopeToDisk: realWrite } = await import("./scope-persistence-ypcrvqtt.js");
96
96
  return realWrite(directory, taskId, files);
97
97
  },
98
98
  writeLaneProfileToDisk: async (_worktreePath, _laneIndex, _envOverrides) => {
@@ -3,7 +3,7 @@ import {
3
3
  EvaluationRunV1Schema,
4
4
  GateAuditResultV1Schema,
5
5
  getProtectedEvaluationRunIds
6
- } from "./index-73pmnsjg.js";
6
+ } from "./index-9gjbe4e4.js";
7
7
  import {
8
8
  loadDatabaseCtor
9
9
  } from "./index-134d35c1.js";
@@ -23,7 +23,7 @@ import {
23
23
  readTaskEvidence,
24
24
  readTaskEvidenceRaw,
25
25
  sanitizeTaskId
26
- } from "./index-z9fyd0d6.js";
26
+ } from "./index-babtfqa0.js";
27
27
  import {
28
28
  LedgerStaleWriterError,
29
29
  appendLedgerEvent,
@@ -43,7 +43,7 @@ import {
43
43
  replayFromLedgerWithStatus,
44
44
  takeSnapshotEvent,
45
45
  takeSnapshotWithRetry
46
- } from "./index-xyfdmrv7.js";
46
+ } from "./index-80ekaf5b.js";
47
47
  import {
48
48
  appendCoreEventSync
49
49
  } from "./index-6zkm4p7p.js";
@@ -51,7 +51,7 @@ import {
51
51
  init_executor,
52
52
  isUntrustedEnvKey,
53
53
  isValidEnvKey
54
- } from "./index-85gkedsf.js";
54
+ } from "./index-4fwbbad3.js";
55
55
  import {
56
56
  EVIDENCE_MAX_JSON_BYTES,
57
57
  EvidenceBundleSchema,
@@ -68,7 +68,7 @@ import {
68
68
  } from "./index-r3mvsbtq.js";
69
69
  import {
70
70
  PlanSchema
71
- } from "./index-3djxegsc.js";
71
+ } from "./index-e2hs0bh7.js";
72
72
  import {
73
73
  GIT_BINARY_ENV_VAR,
74
74
  describeGitResolution,
@@ -4345,4 +4345,4 @@ function mergeDurableGateEntriesFromEvidence(taskId, entries, evidence) {
4345
4345
  return merged;
4346
4346
  }
4347
4347
 
4348
- export { projectDbExists, getProjectDb, closeProjectDb, normalizePath, buildTaskCompletionDescriptor, ensureTaskCheckpointReceipt, updateTaskCheckpointReceipt, MAX_TRANSIENT_RETRIES, isTransientSpawnError, transientBackoff, getGitRepositoryStatus, isGitRepo, getDefaultBaseBranch, detectDefaultRemoteBranch, resetToRemoteBranch, resetToMainAfterMerge, containsPathTraversal, containsControlChars, validateSymlinkBoundary, isStateUnreadable, loadEpicSessionState, isEpicModeActive, enableEpicMode, disableEpicMode, pathsConflict, isGlobalFile, isProtectedPath, readTaskScopes, loadPlanJsonOnly, loadPlan, savePlan, closePlanTerminalState, updateTaskStatus, derivePlanMarkdown, isValidEvidenceType, isSecretscanEvidence, sanitizeTaskId2 as sanitizeTaskId, validateProjectRoot, saveEvidence, loadEvidence, listEvidenceTaskIds, checkRequirementCoverage, archiveEvidence, readDurableGateEvidence, getDurableGateEvidenceStatus, getDurableGateEvidenceStatusForTask, mergeDurableGateEntriesFromEvidence };
4348
+ export { projectDbExists, getProjectDb, closeProjectDb, normalizePath, buildTaskCompletionDescriptor, ensureTaskCheckpointReceipt, updateTaskCheckpointReceipt, MAX_TRANSIENT_RETRIES, isTransientSpawnError, transientBackoff, getGitRepositoryStatus, isGitRepo, getDefaultBaseBranch, detectDefaultRemoteBranch, resetToRemoteBranch, resetToMainAfterMerge, containsPathTraversal, containsControlChars, validateSymlinkBoundary, validateTargetWithinRoot, isStateUnreadable, loadEpicSessionState, isEpicModeActive, enableEpicMode, disableEpicMode, pathsConflict, isGlobalFile, isProtectedPath, readTaskScopes, loadPlanJsonOnly, loadPlan, savePlan, closePlanTerminalState, updateTaskStatus, derivePlanMarkdown, isValidEvidenceType, isSecretscanEvidence, sanitizeTaskId2 as sanitizeTaskId, validateProjectRoot, saveEvidence, loadEvidence, listEvidenceTaskIds, checkRequirementCoverage, archiveEvidence, readDurableGateEvidence, getDurableGateEvidenceStatus, getDurableGateEvidenceStatusForTask, mergeDurableGateEntriesFromEvidence };
@@ -4,7 +4,7 @@ import {
4
4
  readShellAuditTail,
5
5
  redactPath,
6
6
  redactShellCommand
7
- } from "./index-k3d919yf.js";
7
+ } from "./index-6v77adf7.js";
8
8
 
9
9
  // src/services/guardrail-log-service.ts
10
10
  var BLOCK_TYPES = new Set([
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  _internals,
4
4
  resolveWorktreeIsolationConfig
5
- } from "./index-ryecg2st.js";
5
+ } from "./index-hkmgzesw.js";
6
6
  import {
7
7
  ApprovalEvidenceSchema,
8
8
  BaseEvidenceSchema,
@@ -42,7 +42,7 @@ import {
42
42
  loadPluginConfig,
43
43
  loadPluginConfigWithMeta,
44
44
  loadPluginConfigWithMetaAsync
45
- } from "./index-3djxegsc.js";
45
+ } from "./index-e2hs0bh7.js";
46
46
  import {
47
47
  AUTO_REVIEW_V8_BURN_IN_DECISION,
48
48
  AgentOverrideConfigSchema,
@@ -64,7 +64,7 @@ import {
64
64
  TurboConfigSchema,
65
65
  WorktreeIsolationConfigSchema,
66
66
  resolveAutoReviewConfig
67
- } from "./index-n0vc5b5t.js";
67
+ } from "./index-3z5jtyan.js";
68
68
  import {
69
69
  ALL_AGENT_NAMES,
70
70
  ALL_SUBAGENT_NAMES,
@@ -74,7 +74,7 @@ import {
74
74
  QA_AGENTS,
75
75
  isQAAgent,
76
76
  isSubagent
77
- } from "./index-cpg98bh1.js";
77
+ } from "./index-myt57pht.js";
78
78
  import"./index-9e6fdz2h.js";
79
79
  import"./index-4rhhvd1a.js";
80
80
  import"./index-zjygnfay.js";
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  init_loader,
4
4
  loadPluginConfigWithMeta
5
- } from "./index-3djxegsc.js";
5
+ } from "./index-e2hs0bh7.js";
6
6
  import {
7
7
  init_schema
8
- } from "./index-n0vc5b5t.js";
8
+ } from "./index-3z5jtyan.js";
9
9
  import {
10
10
  DEFAULT_WORKTREE_ISOLATION_CONFIG,
11
11
  init_constants
12
- } from "./index-cpg98bh1.js";
12
+ } from "./index-myt57pht.js";
13
13
 
14
14
  // src/config/index.ts
15
15
  init_constants();
@@ -6,11 +6,11 @@ import {
6
6
  PluginConfigSchema,
7
7
  init_schema,
8
8
  stripKnownSwarmPrefix
9
- } from "./index-n0vc5b5t.js";
9
+ } from "./index-3z5jtyan.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";
@@ -42,8 +42,8 @@ var SWARM_TEMP_GRAMMARS = [
42
42
  token: "instance",
43
43
  quarantineEligible: true,
44
44
  parsesTarget: true,
45
- producers: ["src/hooks/pr-workflow-gate.ts:14566"],
46
- note: "pre/post-rename file-identity verification (assertOpened/ClosedSwarmFileIdentity, pr-workflow-gate.ts:14531-14579) is writer-specific and load-bearing"
45
+ producers: ["src/hooks/pr-workflow-gate.ts:14582"],
46
+ note: "pre/post-rename file-identity verification (assertOpened/ClosedSwarmFileIdentity, pr-workflow-gate.ts:14547-14595) is writer-specific and load-bearing"
47
47
  },
48
48
  {
49
49
  id: "target-suffix-tmp-num-num-json",
@@ -795,7 +795,7 @@ var init_tool_metadata = __esm(() => {
795
795
  agents: ["architect"]
796
796
  },
797
797
  collect_lane_results: {
798
- description: "collect or poll results for a dispatch_lanes_async batch; supports both non-blocking polling (wait omitted or false) and blocking join (wait: true). Non-blocking polls include pending lane identities by default and process settled lanes incrementally while continuing independent work; busy/retry lanes are not timed out just because they run for a long time. Does not advance workflow gates. Inline output for a settled lane is delivered only once: later polls of the same lane set output_omitted_repeat: true and omit output, but still include output_ref for recovery via retrieve_lane_output.",
798
+ description: "collect or poll results for a dispatch_lanes_async batch; a pure OBSERVER that never cancels or terminalizes child work unless you explicitly pass cancel_pending. Supports both non-blocking polling (wait omitted or false) and blocking join (wait: true). The wait budget bounds the observer call only \u2014 its expiry never kills a lane and is not evidence a lane died, so do not abort the workflow because a collection expired; poll again, cancel explicitly, or rely on the presumed-stale backstop. Any unsettled lane is reported in pending_lanes (batch_id, lane_id, stored status, output_ref when present) regardless of include_pending; busy/retry lanes are not timed out just because they run for a long time. Does not advance workflow gates. Inline output for a settled lane is delivered only once: later polls of the same lane set output_omitted_repeat: true and omit output, but still include output_ref for recovery via retrieve_lane_output.",
799
799
  agents: ["architect"]
800
800
  },
801
801
  summarize_work: {
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  atomicWriteFile
4
- } from "./index-mken64yj.js";
4
+ } from "./index-0n7nm9e8.js";
5
5
  import {
6
6
  init_logger,
7
7
  warn
@@ -9,7 +9,7 @@ import {
9
9
  readEvaluationRun,
10
10
  saveEvaluationRun,
11
11
  saveTaskSetSnapshot
12
- } from "./index-73pmnsjg.js";
12
+ } from "./index-9gjbe4e4.js";
13
13
  import {
14
14
  canonicalHash,
15
15
  computeCandidateInputContentHash,
@@ -4,20 +4,20 @@ import {
4
4
  } from "./index-4cgee5vh.js";
5
5
  import {
6
6
  loadPluginConfigWithMeta
7
- } from "./index-3djxegsc.js";
7
+ } from "./index-e2hs0bh7.js";
8
8
  import {
9
9
  KnowledgeConfigSchema,
10
10
  init_schema
11
- } from "./index-n0vc5b5t.js";
11
+ } from "./index-3z5jtyan.js";
12
12
  import {
13
13
  resolveHiveEventsPath
14
14
  } from "./index-ae75rja9.js";
15
15
  import {
16
16
  resolveKnowledgeStoreDir
17
- } from "./index-79g6edht.js";
17
+ } from "./index-qgfnd206.js";
18
18
  import {
19
19
  atomicWriteFile
20
- } from "./index-mken64yj.js";
20
+ } from "./index-0n7nm9e8.js";
21
21
  import {
22
22
  assertProjectRoot
23
23
  } from "./index-txbd25bc.js";
@@ -2693,7 +2693,7 @@ async function applyKnowledgeVerdictFeedback(directory, options) {
2693
2693
  }
2694
2694
  let bumps = 0;
2695
2695
  if (deltas.length > 0) {
2696
- const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-dq3cvg53.js");
2696
+ const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-w29aw5w0.js");
2697
2697
  bumps = await bumpKnowledgeConfidenceBatch(directory, deltas, options?.floorOptions);
2698
2698
  }
2699
2699
  return {