opencode-swarm 7.199.4 → 7.199.6

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-feedback/references/followup-dispositions.md +1 -0
  2. package/.opencode/skills/swarm-pr-review/SKILL.md +3 -3
  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/agents/architect.d.ts +1 -1
  6. package/dist/background/pending-delegations.d.ts +46 -0
  7. package/dist/cli/{auto-checkpoint-75n3s0qj.js → auto-checkpoint-gv21fb1h.js} +12 -11
  8. package/dist/cli/{checkpoint-vdjfn78h.js → checkpoint-rd1bt793.js} +21 -21
  9. package/dist/cli/{coder-settlement-wwgdrzcb.js → coder-settlement-21zd1g3a.js} +18 -18
  10. package/dist/cli/{config-doctor-x8ke4n9r.js → config-doctor-mxe9nr78.js} +19 -19
  11. package/dist/cli/{core-2zmr3718.js → core-7bd1sd36.js} +7 -7
  12. package/dist/cli/{curation-policy-0smbd33w.js → curation-policy-w9y0db1n.js} +8 -8
  13. package/dist/cli/{curator-7pnzsqe8.js → curator-7rf98h3k.js} +51 -51
  14. package/dist/cli/{curator-drift-2rtecv79.js → curator-drift-21y19fnz.js} +12 -12
  15. package/dist/cli/curator-llm-factory-ab821je6.js +82 -0
  16. package/dist/cli/{dispatch-1pbmmj8z.js → dispatch-sftetpzv.js} +4 -4
  17. package/dist/cli/{doctor-knowledge-receipt-phase-id-0yqb8t1e.js → doctor-knowledge-receipt-phase-id-6pdjxgfa.js} +12 -12
  18. package/dist/cli/{evidence-summary-service-59r4wnbz.js → evidence-summary-service-vdcx7fqd.js} +27 -27
  19. package/dist/cli/{gate-evidence-7xp8a4s3.js → gate-evidence-ernx9gck.js} +13 -13
  20. package/dist/cli/guardrail-explain-7jef0dhs.js +83 -0
  21. package/dist/cli/guardrail-log-jr6b9rt3.js +23 -0
  22. package/dist/cli/{guardrail-reset-2edjt0zn.js → guardrail-reset-0qyt8vpd.js} +51 -51
  23. package/dist/cli/hive-promoter-2qwxrrsc.js +97 -0
  24. package/dist/cli/{index-g1wra8ky.js → index-0bw1jyen.js} +5 -4
  25. package/dist/cli/{index-dyp5807d.js → index-0je0mees.js} +10 -8
  26. package/dist/cli/{index-2mx2gn97.js → index-0veqvgny.js} +1 -1
  27. package/dist/cli/{index-ywb5er8g.js → index-270zfq1f.js} +2 -2
  28. package/dist/cli/{index-h3nns8py.js → index-2cb644vj.js} +403 -170
  29. package/dist/cli/{index-k0er6f51.js → index-38fgg593.js} +2 -2
  30. package/dist/cli/{index-3gr7a9j8.js → index-3ct8kgfj.js} +4 -4
  31. package/dist/cli/{index-h349p91m.js → index-3mzc5rqc.js} +2 -2
  32. package/dist/cli/{index-bkscmz4z.js → index-4cyc18bc.js} +11 -11
  33. package/dist/cli/{index-hfpa3hrz.js → index-7m2gcmm7.js} +11 -11
  34. package/dist/cli/{index-97cpeqb2.js → index-88d5kpjj.js} +2 -2
  35. package/dist/cli/{index-nr1pj3hy.js → index-9y6yk1n0.js} +1 -1
  36. package/dist/cli/{index-j2vv0h13.js → index-axqyjreb.js} +6 -4
  37. package/dist/cli/{index-820pzqd6.js → index-b3ws03kp.js} +7 -5
  38. package/dist/cli/{index-sxh861jr.js → index-b9f2j9bx.js} +4 -4
  39. package/dist/cli/{index-jwg4wy3g.js → index-bef4nhtj.js} +6 -5
  40. package/dist/cli/{index-ry1jgeqa.js → index-cs1d9e03.js} +2 -2
  41. package/dist/cli/{index-3chx0ed6.js → index-cwg99gea.js} +11 -11
  42. package/dist/cli/{index-hxav7nr0.js → index-cyp3r8ar.js} +1645 -124
  43. package/dist/cli/{index-nfpfbce0.js → index-dqkr60bw.js} +18 -16
  44. package/dist/cli/{index-6dtt0brw.js → index-dtwj4hsk.js} +4 -4
  45. package/dist/cli/{index-4s6kdsfr.js → index-dz15f98h.js} +1 -1
  46. package/dist/cli/{index-s41r5s5p.js → index-eqw5vq9r.js} +1 -1
  47. package/dist/cli/{index-5mfahvm2.js → index-exj9yb0x.js} +4884 -5746
  48. package/dist/cli/{index-vnmadnbs.js → index-exr153j1.js} +15 -11
  49. package/dist/cli/{index-hz2609qt.js → index-eyq1q1xn.js} +9 -7
  50. package/dist/cli/{index-4f5ejd03.js → index-f02p4yn4.js} +2 -2
  51. package/dist/cli/{index-ffkd1zwc.js → index-gdyqdhz1.js} +10 -10
  52. package/dist/cli/{index-7c432abn.js → index-hx2f3j9w.js} +2 -2
  53. package/dist/cli/{index-p5pgjp7n.js → index-j3rfbs45.js} +1 -1
  54. package/dist/cli/{index-jhz7qpb4.js → index-jhjmf5sn.js} +21 -17
  55. package/dist/cli/{index-w7d8gcj0.js → index-jmhn6ab5.js} +2 -2
  56. package/dist/cli/{index-2bc7zfw3.js → index-n1ddn12j.js} +2 -2
  57. package/dist/cli/{index-t94vcqg6.js → index-qbhjey8k.js} +7 -7
  58. package/dist/cli/{index-2s7dvzff.js → index-qbxk2rn6.js} +42 -41
  59. package/dist/cli/{index-h44592hj.js → index-r227g76y.js} +6 -6
  60. package/dist/cli/{index-9gfymmr8.js → index-s4wbe96z.js} +5 -5
  61. package/dist/cli/{index-bh6j8qxz.js → index-s5tgnsmh.js} +5 -5
  62. package/dist/cli/{index-dradkxhb.js → index-s9hekeej.js} +13 -13
  63. package/dist/cli/{index-w00dj8p5.js → index-snx2vb1x.js} +2 -2
  64. package/dist/cli/{index-zxdawwc7.js → index-sp2cxpaq.js} +131 -8
  65. package/dist/cli/{index-g4fs6z4e.js → index-spggmr30.js} +6 -2
  66. package/dist/cli/{index-aaqgsmxr.js → index-syaa76vg.js} +53 -53
  67. package/dist/cli/{index-x1j0838n.js → index-t67n8jhb.js} +7 -7
  68. package/dist/cli/{index-2wsh6d15.js → index-tqtfjzb0.js} +15 -6
  69. package/dist/cli/{index-pxdc0qn1.js → index-tsg61z0r.js} +2 -2
  70. package/dist/cli/{index-h69d3ksz.js → index-txh6dtnj.js} +51 -51
  71. package/dist/cli/{index-eh12k044.js → index-vgb679vr.js} +13 -11
  72. package/dist/cli/{index-cjapb4hy.js → index-x5jwegqw.js} +7 -5
  73. package/dist/cli/{index-aayv19fb.js → index-x6rv0e00.js} +25 -21
  74. package/dist/cli/{index-hc6wa3yg.js → index-zbygz217.js} +3 -3
  75. package/dist/cli/{index-65syfqe1.js → index-zzpy5cx3.js} +8 -8
  76. package/dist/cli/index.js +52 -52
  77. package/dist/cli/{knowledge-escalator-2kphhk52.js → knowledge-escalator-rsj9nqqt.js} +18 -18
  78. package/dist/cli/{knowledge-events-xw4qjnts.js → knowledge-events-appww5kb.js} +16 -16
  79. package/dist/cli/{knowledge-link-1f91bzcc.js → knowledge-link-t0ce3mw7.js} +7 -7
  80. package/dist/cli/{knowledge-store-1cm7y9e6.js → knowledge-store-n76rzv27.js} +8 -8
  81. package/dist/cli/{knowledge-validator-q4r4ng23.js → knowledge-validator-ycxvjasa.js} +10 -10
  82. package/dist/cli/{mcp-0548g7fk.js → mcp-jy0gk3c8.js} +1 -1
  83. package/dist/cli/{model-preflight-pdewpzmm.js → model-preflight-rg0mppzf.js} +51 -51
  84. package/dist/cli/{pending-delegations-zv9ffy5b.js → pending-delegations-e6brjxp2.js} +18 -15
  85. package/dist/cli/{pr-subscriptions-0ktv4qaq.js → pr-subscriptions-vjsb5ydq.js} +15 -15
  86. package/dist/cli/{pr-workflow-gate-71nxjz6p.js → pr-workflow-gate-bj66aa9k.js} +59 -59
  87. package/dist/cli/{runner-7sd43gan.js → runner-wq954cda.js} +9 -9
  88. package/dist/cli/{scan-cursor-ty5dqwhm.js → scan-cursor-kkg94g0t.js} +11 -10
  89. package/dist/cli/{schema-tnrvn8h1.js → schema-d1exxwv8.js} +1 -1
  90. package/dist/cli/{scope-persistence-camnvcaq.js → scope-persistence-3v9hce7b.js} +20 -19
  91. package/dist/cli/{server-cr9kvgzz.js → server-jkcwkh8t.js} +56 -56
  92. package/dist/cli/{skill-generator-nx2g9975.js → skill-generator-wg8qfdm8.js} +20 -20
  93. package/dist/cli/{snapshot-coordination-init-ymsjgsqf.js → snapshot-coordination-init-xyffgya9.js} +51 -51
  94. package/dist/cli/{speckit-checkoff-1pyx7y0d.js → speckit-checkoff-61xn2c2v.js} +7 -6
  95. package/dist/cli/{telemetry-6yv06xyz.js → telemetry-gena5typ.js} +3 -3
  96. package/dist/cli/{workspace-snapshot-4zfj5wnd.js → workspace-snapshot-hzhz0rxw.js} +7 -7
  97. package/dist/cli/{worktree-collision-ownership-twe4r9f2.js → worktree-collision-ownership-gsv009xc.js} +22 -21
  98. package/dist/cli/{worktree-isolation-yj3vfp1h.js → worktree-isolation-3sdvs69a.js} +51 -51
  99. package/dist/commands/close/dry-run.d.ts +2 -1
  100. package/dist/commands/close/orchestrator.d.ts +16 -5
  101. package/dist/commands/destructive-purge.d.ts +53 -12
  102. package/dist/commands/git-status-read.d.ts +76 -0
  103. package/dist/commands/rollback-gate.d.ts +24 -5
  104. package/dist/config/schema.d.ts +5 -3
  105. package/dist/evaluation/contracts.d.ts +5 -5
  106. package/dist/hooks/lane-liveness-watchdog.d.ts +6 -1
  107. package/dist/hooks/pr-workflow-gate.d.ts +61 -1
  108. package/dist/host/v2/guidance.d.ts +7 -0
  109. package/dist/index.js +255 -253
  110. package/dist/memory/schema.d.ts +3 -3
  111. package/dist/pr-review/completion.d.ts +63 -2
  112. package/dist/services/diagnose-service.d.ts +7 -8
  113. package/dist/tools/dispatch-lanes.d.ts +2 -1
  114. package/dist/utils/git-executable.d.ts +4 -0
  115. package/opencode-swarm.schema.json +3 -2
  116. package/package.json +1 -1
  117. package/dist/cli/curator-llm-factory-aybwqak6.js +0 -82
  118. package/dist/cli/guardrail-explain-jahptqqd.js +0 -83
  119. package/dist/cli/guardrail-log-csp211g7.js +0 -23
  120. package/dist/cli/hive-promoter-17q1qg8e.js +0 -97
  121. package/dist/cli/{index-fzpt2djt.js → index-te9hq2f4.js} +3 -3
@@ -1,4 +1,8 @@
1
1
  // @bun
2
+ import {
3
+ bunSpawn,
4
+ init_bun_compat
5
+ } from "./index-qbxk2rn6.js";
2
6
  import {
3
7
  init_logger,
4
8
  log
@@ -220,7 +224,11 @@ function probeCandidate(candidatePath, platform) {
220
224
  };
221
225
  }
222
226
  if (result.error) {
223
- return { accepted: false, reason: `spawn failed: ${result.error.message}` };
227
+ return {
228
+ accepted: false,
229
+ reason: `spawn failed: ${result.error.message}`,
230
+ timedOut: result.error.code === "ETIMEDOUT"
231
+ };
224
232
  }
225
233
  if (result.status !== 0) {
226
234
  const statusDescription = result.status !== null ? `exit ${result.status}` : `signal ${result.signal ?? "unknown"}`;
@@ -242,6 +250,7 @@ function probeCandidate(candidatePath, platform) {
242
250
  function* probeCycle(candidates, platform, attempts) {
243
251
  const start = _internals.now();
244
252
  let budgetExceeded = false;
253
+ let sawTimeout = false;
245
254
  for (const candidate of candidates) {
246
255
  if (_internals.now() - start > TOTAL_BUDGET_MS) {
247
256
  budgetExceeded = true;
@@ -254,6 +263,8 @@ function* probeCycle(candidates, platform, attempts) {
254
263
  accepted: result.accepted,
255
264
  reason: result.reason
256
265
  });
266
+ if (result.timedOut)
267
+ sawTimeout = true;
257
268
  if (candidate.source === "override" && !result.accepted) {
258
269
  advisoryWarn(`[opencode-swarm] git.binary override "${candidate.path}" is unusable (${result.reason}); falling back to automatic git resolution.`);
259
270
  }
@@ -262,7 +273,7 @@ function* probeCycle(candidates, platform, attempts) {
262
273
  }
263
274
  yield;
264
275
  }
265
- return budgetExceeded ? { outcome: "exhausted-budget" } : { outcome: "all-rejected" };
276
+ return budgetExceeded ? { outcome: "exhausted-budget", sawTimeout } : { outcome: "all-rejected", sawTimeout };
266
277
  }
267
278
  function driveSync(gen) {
268
279
  let step = gen.next();
@@ -271,13 +282,120 @@ function driveSync(gen) {
271
282
  }
272
283
  return step.value;
273
284
  }
274
- async function driveAsync(gen) {
275
- let step = gen.next();
276
- while (!step.done) {
285
+ async function probeCandidateAsync(candidatePath, platform, probeTimeoutMs = PER_PROBE_TIMEOUT_MS) {
286
+ if (!isAbsoluteForPlatform(candidatePath, platform)) {
287
+ return { accepted: false, reason: "not an absolute path" };
288
+ }
289
+ let stat;
290
+ try {
291
+ stat = fs.statSync(candidatePath);
292
+ } catch (err) {
293
+ const code = err?.code;
294
+ if (code === "ENOENT")
295
+ return { accepted: false, reason: "no such file" };
296
+ return {
297
+ accepted: false,
298
+ reason: `cannot stat (${code ?? "unknown error"})`
299
+ };
300
+ }
301
+ if (stat.isDirectory()) {
302
+ return { accepted: false, reason: "is a directory" };
303
+ }
304
+ if (!stat.isFile()) {
305
+ return { accepted: false, reason: "not a regular file" };
306
+ }
307
+ let proc;
308
+ let timer;
309
+ try {
310
+ proc = _internals.asyncSpawn([candidatePath, "--version"], {
311
+ cwd: os.tmpdir(),
312
+ stdin: "ignore",
313
+ stdout: "pipe",
314
+ stderr: "ignore",
315
+ killProcessTree: true,
316
+ maxBuffer: PROBE_MAX_BUFFER_BYTES
317
+ });
318
+ if (proc.spawnError) {
319
+ return {
320
+ accepted: false,
321
+ reason: `spawn failed: ${proc.spawnError.message}`,
322
+ timedOut: proc.spawnError.code === "ETIMEDOUT"
323
+ };
324
+ }
325
+ const completed = (async () => {
326
+ const [exitCode, stdout] = await Promise.all([
327
+ proc.exited,
328
+ proc.stdout.text()
329
+ ]);
330
+ return { kind: "completed", exitCode, stdout };
331
+ })();
332
+ completed.catch(() => {});
333
+ const result = await Promise.race([
334
+ completed,
335
+ new Promise((resolve) => {
336
+ timer = setTimeout(() => resolve({ kind: "timeout" }), probeTimeoutMs);
337
+ })
338
+ ]);
339
+ if (result.kind === "timeout") {
340
+ return { accepted: false, reason: "spawn timed out", timedOut: true };
341
+ }
342
+ if (result.exitCode !== 0) {
343
+ const statusDescription = result.exitCode !== null ? `exit ${result.exitCode}` : `signal ${proc.signalCode ?? "unknown"}`;
344
+ return {
345
+ accepted: false,
346
+ reason: `git --version returned ${statusDescription}`
347
+ };
348
+ }
349
+ const versionOutput = result.stdout.trim();
350
+ if (!GIT_VERSION_PATTERN.test(versionOutput)) {
351
+ const excerpt = excerptProbeOutput(versionOutput);
352
+ return {
353
+ accepted: false,
354
+ reason: excerpt ? `not git: --version printed "${excerpt}"` : "not git: --version printed nothing"
355
+ };
356
+ }
357
+ return { accepted: true };
358
+ } catch (err) {
359
+ return {
360
+ accepted: false,
361
+ reason: `spawn threw: ${err instanceof Error ? err.message : String(err)}`
362
+ };
363
+ } finally {
364
+ if (timer)
365
+ clearTimeout(timer);
366
+ try {
367
+ proc?.kill("SIGKILL");
368
+ } catch {}
369
+ }
370
+ }
371
+ async function probeCycleAsync(candidates, platform, attempts) {
372
+ const start = _internals.now();
373
+ let budgetExceeded = false;
374
+ let sawTimeout = false;
375
+ for (const candidate of candidates) {
376
+ const remainingBudgetMs = TOTAL_BUDGET_MS - (_internals.now() - start);
377
+ if (remainingBudgetMs <= 0) {
378
+ budgetExceeded = true;
379
+ break;
380
+ }
381
+ const result = await probeCandidateAsync(candidate.path, platform, Math.min(PER_PROBE_TIMEOUT_MS, remainingBudgetMs));
382
+ attempts.push({
383
+ source: candidate.source,
384
+ candidate: candidate.path,
385
+ accepted: result.accepted,
386
+ reason: result.reason
387
+ });
388
+ if (result.timedOut)
389
+ sawTimeout = true;
390
+ if (candidate.source === "override" && !result.accepted) {
391
+ advisoryWarn(`[opencode-swarm] git.binary override "${candidate.path}" is unusable (${result.reason}); falling back to automatic git resolution.`);
392
+ }
393
+ if (result.accepted) {
394
+ return { outcome: "accepted", path: candidate.path };
395
+ }
277
396
  await _internals.yieldToEventLoop();
278
- step = gen.next();
279
397
  }
280
- return step.value;
398
+ return budgetExceeded ? { outcome: "exhausted-budget", sawTimeout } : { outcome: "all-rejected", sawTimeout };
281
399
  }
282
400
  function readCache() {
283
401
  if (cache === null)
@@ -298,6 +416,9 @@ function applyProbeResult(result, attempts, generation) {
298
416
  cache = { kind: "success", path: result.path };
299
417
  return result.path;
300
418
  }
419
+ if (result.sawTimeout) {
420
+ return BARE_GIT;
421
+ }
301
422
  cache = {
302
423
  kind: "fallback",
303
424
  expiresAt: _internals.now() + NEGATIVE_CACHE_TTL_MS
@@ -326,7 +447,7 @@ async function resolveGitExecutableAsync() {
326
447
  const generation = cacheGeneration;
327
448
  const candidates = buildCandidates(platform);
328
449
  const run = (async () => {
329
- const result = await driveAsync(probeCycle(candidates, platform, attempts));
450
+ const result = await probeCycleAsync(candidates, platform, attempts);
330
451
  return applyProbeResult(result, attempts, generation);
331
452
  })();
332
453
  inFlightAsync = run;
@@ -350,12 +471,14 @@ function describeGitResolution() {
350
471
  var GIT_BINARY_ENV_VAR = "OPENCODE_SWARM_GIT_BINARY", PER_PROBE_TIMEOUT_MS = 250, TOTAL_BUDGET_MS = 1000, NEGATIVE_CACHE_TTL_MS = 60000, BARE_GIT = "git", PROBE_MAX_BUFFER_BYTES, WINDOWS_PATH_EXTENSIONS, GIT_VERSION_PATTERN, PROBE_OUTPUT_EXCERPT_CHARS = 60, cache = null, lastAttempts, configuredOverride, inFlightAsync = null, cacheGeneration = 0, _internals;
351
472
  var init_git_executable = __esm(() => {
352
473
  init_warning_buffer();
474
+ init_bun_compat();
353
475
  PROBE_MAX_BUFFER_BYTES = 64 * 1024;
354
476
  WINDOWS_PATH_EXTENSIONS = [".exe", ".cmd", ".bat"];
355
477
  GIT_VERSION_PATTERN = /^git version \d+\.\d+/;
356
478
  lastAttempts = [];
357
479
  _internals = {
358
480
  spawnSync,
481
+ asyncSpawn: bunSpawn,
359
482
  platform: () => process.platform,
360
483
  env: () => process.env,
361
484
  now: () => Date.now(),
@@ -1,9 +1,13 @@
1
1
  // @bun
2
2
  import {
3
- classifySpawnFailure
4
- } from "./index-2s7dvzff.js";
3
+ classifySpawnFailure,
4
+ init_bun_compat
5
+ } from "./index-qbxk2rn6.js";
5
6
 
6
7
  // src/utils/git-binary-missing-error.ts
8
+ init_bun_compat();
9
+ init_bun_compat();
10
+
7
11
  class GitUnavailableError extends Error {
8
12
  }
9
13
 
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-ry1jgeqa.js";
4
+ } from "./index-cs1d9e03.js";
5
5
  import {
6
6
  handleGuardrailLog
7
- } from "./index-s41r5s5p.js";
7
+ } from "./index-eqw5vq9r.js";
8
8
  import {
9
9
  COMMAND_REGISTRY,
10
10
  DEFAULT_CI_DEADLINE_MS,
@@ -97,77 +97,80 @@ import {
97
97
  handleWriteRetroCommand,
98
98
  normalizeSwarmCommandInput,
99
99
  resolveCommand
100
- } from "./index-5mfahvm2.js";
101
- import"./index-jhz7qpb4.js";
102
- import"./index-2wsh6d15.js";
103
- import"./index-vnmadnbs.js";
104
- import"./index-j2vv0h13.js";
105
- import"./index-dyp5807d.js";
106
- import"./index-7c432abn.js";
100
+ } from "./index-exj9yb0x.js";
101
+ import"./index-jhjmf5sn.js";
102
+ import"./index-tqtfjzb0.js";
103
+ import"./index-exr153j1.js";
104
+ import"./index-axqyjreb.js";
105
+ import"./index-0je0mees.js";
106
+ import"./index-hx2f3j9w.js";
107
107
  import"./index-txdagbh7.js";
108
- import"./index-x1j0838n.js";
108
+ import"./index-t67n8jhb.js";
109
109
  import"./index-rdec0y3z.js";
110
- import"./index-sxh861jr.js";
111
- import"./index-dradkxhb.js";
112
- import"./index-ffkd1zwc.js";
113
- import"./index-h44592hj.js";
114
- import"./index-hz2609qt.js";
115
- import"./index-bkscmz4z.js";
116
- import"./index-cjapb4hy.js";
117
- import"./index-pxdc0qn1.js";
110
+ import"./index-b9f2j9bx.js";
111
+ import"./index-s9hekeej.js";
112
+ import"./index-gdyqdhz1.js";
113
+ import"./index-r227g76y.js";
114
+ import"./index-eyq1q1xn.js";
115
+ import"./index-4cyc18bc.js";
116
+ import"./index-x5jwegqw.js";
117
+ import"./index-tsg61z0r.js";
118
+ import"./index-cyp3r8ar.js";
119
+ import"./index-8mrentmw.js";
118
120
  import"./index-pt7h91zc.js";
119
121
  import"./index-q7sjgr1y.js";
120
- import"./index-h3nns8py.js";
121
- import"./index-aayv19fb.js";
122
+ import"./index-2cb644vj.js";
123
+ import"./index-x6rv0e00.js";
122
124
  import"./index-6b295cas.js";
123
125
  import"./index-9nyqt3kb.js";
124
- import"./index-t94vcqg6.js";
126
+ import"./index-qbhjey8k.js";
125
127
  import"./index-v3bmwmqw.js";
126
- import"./index-k0er6f51.js";
127
- import"./index-nfpfbce0.js";
128
- import"./index-eh12k044.js";
129
- import"./index-g4fs6z4e.js";
130
- import"./index-hxav7nr0.js";
131
- import"./index-9gfymmr8.js";
132
- import"./index-bh6j8qxz.js";
128
+ import"./index-38fgg593.js";
129
+ import"./index-dqkr60bw.js";
130
+ import"./index-vgb679vr.js";
131
+ import"./index-spggmr30.js";
132
+ import"./index-s4wbe96z.js";
133
+ import"./index-s5tgnsmh.js";
133
134
  import"./index-m9zzj4ee.js";
134
- import"./index-820pzqd6.js";
135
- import"./index-2s7dvzff.js";
136
- import"./index-3gr7a9j8.js";
137
- import"./index-2mx2gn97.js";
135
+ import"./index-b3ws03kp.js";
136
+ import"./index-3ct8kgfj.js";
137
+ import"./index-0veqvgny.js";
138
138
  import"./index-rtry5xyf.js";
139
- import"./index-4f5ejd03.js";
139
+ import"./index-f02p4yn4.js";
140
140
  import"./index-g22dps7x.js";
141
141
  import"./index-0725jpp7.js";
142
- import"./index-hfpa3hrz.js";
143
- import"./index-65syfqe1.js";
144
- import"./index-h349p91m.js";
145
- import"./index-p5pgjp7n.js";
146
- import"./index-nr1pj3hy.js";
147
- import"./index-w00dj8p5.js";
142
+ import"./index-7m2gcmm7.js";
143
+ import"./index-j3rfbs45.js";
144
+ import"./index-zzpy5cx3.js";
145
+ import"./index-9y6yk1n0.js";
146
+ import"./index-snx2vb1x.js";
148
147
  import"./index-ry16d01s.js";
149
148
  import"./index-rdm3px0g.js";
149
+ import"./index-3mzc5rqc.js";
150
150
  import"./index-7pmbnjvj.js";
151
- import"./index-hc6wa3yg.js";
152
- import"./index-3chx0ed6.js";
151
+ import"./index-9rwhas09.js";
152
+ import"./index-zbygz217.js";
153
+ import"./index-cwg99gea.js";
153
154
  import"./index-vzm6zre7.js";
154
155
  import"./index-ae75rja9.js";
155
- import"./index-2bc7zfw3.js";
156
- import"./index-w7d8gcj0.js";
157
- import"./index-4s6kdsfr.js";
156
+ import"./index-n1ddn12j.js";
157
+ import"./index-jmhn6ab5.js";
158
+ import"./index-dz15f98h.js";
158
159
  import"./index-t7hmqgjy.js";
159
- import"./index-6dtt0brw.js";
160
- import"./index-fzpt2djt.js";
160
+ import"./index-dtwj4hsk.js";
161
+ import"./index-te9hq2f4.js";
161
162
  import"./index-ejhxgyvm.js";
162
163
  import"./index-7g4c7s5r.js";
163
- import"./index-ywb5er8g.js";
164
+ import"./index-270zfq1f.js";
164
165
  import"./index-gx2vp8gx.js";
165
- import"./index-97cpeqb2.js";
166
- import"./index-zxdawwc7.js";
166
+ import"./index-88d5kpjj.js";
167
+ import"./index-sp2cxpaq.js";
168
+ import"./index-qbxk2rn6.js";
169
+ import"./index-zgwm4ryv.js";
167
170
  import {
168
171
  init_schema,
169
172
  stripKnownSwarmPrefix
170
- } from "./index-g1wra8ky.js";
173
+ } from "./index-0bw1jyen.js";
171
174
  import {
172
175
  AGENT_TOOL_MAP,
173
176
  ORCHESTRATOR_NAME,
@@ -176,9 +179,6 @@ import {
176
179
  import"./index-bk5tah7q.js";
177
180
  import"./index-gknz3bv1.js";
178
181
  import"./index-zpsr8rpc.js";
179
- import"./index-8mrentmw.js";
180
- import"./index-9rwhas09.js";
181
- import"./index-zgwm4ryv.js";
182
182
  import"./index-a76rekgs.js";
183
183
 
184
184
  // src/commands/index.ts
@@ -2,22 +2,22 @@
2
2
  import {
3
3
  readKnowledge,
4
4
  transactKnowledge
5
- } from "./index-3chx0ed6.js";
5
+ } from "./index-cwg99gea.js";
6
6
  import {
7
7
  resolveKnowledgeStoreDir
8
- } from "./index-2bc7zfw3.js";
8
+ } from "./index-n1ddn12j.js";
9
9
  import {
10
10
  init_git_executable,
11
11
  resolveGitExecutableAsync
12
- } from "./index-zxdawwc7.js";
13
- import {
14
- init_knowledge_types,
15
- isActiveStatus
16
- } from "./index-bk5tah7q.js";
12
+ } from "./index-sp2cxpaq.js";
17
13
  import {
18
14
  init_logger,
19
15
  log
20
16
  } from "./index-zgwm4ryv.js";
17
+ import {
18
+ init_knowledge_types,
19
+ isActiveStatus
20
+ } from "./index-bk5tah7q.js";
21
21
  import {
22
22
  __require,
23
23
  __toESM
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  loadPlanJsonOnly
4
- } from "./index-aayv19fb.js";
4
+ } from "./index-x6rv0e00.js";
5
5
  import {
6
6
  isCanonicalPathWithinRoot
7
7
  } from "./index-6b295cas.js";
@@ -14,7 +14,10 @@ import {
14
14
  legacyEpicIssuePath,
15
15
  migrateLegacyEpicConfig,
16
16
  resolveEpicConfig
17
- } from "./index-97cpeqb2.js";
17
+ } from "./index-88d5kpjj.js";
18
+ import {
19
+ log
20
+ } from "./index-zgwm4ryv.js";
18
21
  import {
19
22
  FALLBACK_MODELS_MAX,
20
23
  GATE_CONFIG_KNOWN_SECTION_KEYS,
@@ -25,16 +28,13 @@ import {
25
28
  init_schema,
26
29
  retiredEpicKeyReplacement,
27
30
  stripKnownSwarmPrefix
28
- } from "./index-g1wra8ky.js";
31
+ } from "./index-0bw1jyen.js";
29
32
  import {
30
33
  ALL_AGENT_NAMES,
31
34
  TOOL_NAME_SET,
32
35
  init_constants,
33
36
  init_tool_metadata
34
37
  } from "./index-xfzkq1k4.js";
35
- import {
36
- log
37
- } from "./index-zgwm4ryv.js";
38
38
 
39
39
  // src/services/config-doctor.ts
40
40
  init_constants();
@@ -682,6 +682,15 @@ var DEFAULT_FLIPS = [
682
682
  preset: "conservative",
683
683
  sinceVersion: 3,
684
684
  evidence: "docs/defaults-governance.md"
685
+ },
686
+ {
687
+ field: "lane_liveness_watchdog.enabled",
688
+ v7Default: "false (opt-in)",
689
+ v8Default: "true \u2014 a busy PR lane past the 30-minute reachability floor settles as liveness-dead with its host session aborted (#3313)",
690
+ killSwitch: "lane_liveness_watchdog.enabled: false",
691
+ preset: "conservative",
692
+ sinceVersion: 3,
693
+ evidence: "docs/defaults-governance.md"
685
694
  }
686
695
  ];
687
696
  function levenshteinDistance(a, b) {
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-820pzqd6.js";
4
+ } from "./index-b3ws03kp.js";
5
5
  import {
6
6
  atomicWriteSwarmFileSync
7
- } from "./index-ywb5er8g.js";
7
+ } from "./index-270zfq1f.js";
8
8
 
9
9
  // src/hooks/delegation-gate/worktree-provisioning-owner.ts
10
10
  import { createHash } from "crypto";
@@ -23,83 +23,83 @@ import {
23
23
  resolveFallbackModel,
24
24
  resolvePrimaryAgentNames,
25
25
  stripSwarmPrefix
26
- } from "./index-5mfahvm2.js";
27
- import"./index-jhz7qpb4.js";
28
- import"./index-2wsh6d15.js";
29
- import"./index-vnmadnbs.js";
30
- import"./index-j2vv0h13.js";
31
- import"./index-dyp5807d.js";
32
- import"./index-7c432abn.js";
26
+ } from "./index-exj9yb0x.js";
27
+ import"./index-jhjmf5sn.js";
28
+ import"./index-tqtfjzb0.js";
29
+ import"./index-exr153j1.js";
30
+ import"./index-axqyjreb.js";
31
+ import"./index-0je0mees.js";
32
+ import"./index-hx2f3j9w.js";
33
33
  import"./index-txdagbh7.js";
34
- import"./index-x1j0838n.js";
34
+ import"./index-t67n8jhb.js";
35
35
  import {
36
36
  createExplorerAgent
37
37
  } from "./index-rdec0y3z.js";
38
- import"./index-sxh861jr.js";
39
- import"./index-dradkxhb.js";
40
- import"./index-ffkd1zwc.js";
41
- import"./index-h44592hj.js";
42
- import"./index-hz2609qt.js";
43
- import"./index-bkscmz4z.js";
44
- import"./index-cjapb4hy.js";
45
- import"./index-pxdc0qn1.js";
38
+ import"./index-b9f2j9bx.js";
39
+ import"./index-s9hekeej.js";
40
+ import"./index-gdyqdhz1.js";
41
+ import"./index-r227g76y.js";
42
+ import"./index-eyq1q1xn.js";
43
+ import"./index-4cyc18bc.js";
44
+ import"./index-x5jwegqw.js";
45
+ import"./index-tsg61z0r.js";
46
+ import"./index-cyp3r8ar.js";
47
+ import"./index-8mrentmw.js";
46
48
  import"./index-pt7h91zc.js";
47
49
  import"./index-q7sjgr1y.js";
48
- import"./index-h3nns8py.js";
49
- import"./index-aayv19fb.js";
50
+ import"./index-2cb644vj.js";
51
+ import"./index-x6rv0e00.js";
50
52
  import"./index-6b295cas.js";
51
53
  import"./index-9nyqt3kb.js";
52
- import"./index-t94vcqg6.js";
54
+ import"./index-qbhjey8k.js";
53
55
  import"./index-v3bmwmqw.js";
54
- import"./index-k0er6f51.js";
55
- import"./index-nfpfbce0.js";
56
- import"./index-eh12k044.js";
57
- import"./index-g4fs6z4e.js";
58
- import"./index-hxav7nr0.js";
59
- import"./index-9gfymmr8.js";
60
- import"./index-bh6j8qxz.js";
56
+ import"./index-38fgg593.js";
57
+ import"./index-dqkr60bw.js";
58
+ import"./index-vgb679vr.js";
59
+ import"./index-spggmr30.js";
60
+ import"./index-s4wbe96z.js";
61
+ import"./index-s5tgnsmh.js";
61
62
  import"./index-m9zzj4ee.js";
62
- import"./index-820pzqd6.js";
63
- import"./index-2s7dvzff.js";
64
- import"./index-3gr7a9j8.js";
65
- import"./index-2mx2gn97.js";
63
+ import"./index-b3ws03kp.js";
64
+ import"./index-3ct8kgfj.js";
65
+ import"./index-0veqvgny.js";
66
66
  import"./index-rtry5xyf.js";
67
- import"./index-4f5ejd03.js";
67
+ import"./index-f02p4yn4.js";
68
68
  import"./index-g22dps7x.js";
69
69
  import"./index-0725jpp7.js";
70
- import"./index-hfpa3hrz.js";
71
- import"./index-65syfqe1.js";
72
- import"./index-h349p91m.js";
73
- import"./index-p5pgjp7n.js";
74
- import"./index-nr1pj3hy.js";
75
- import"./index-w00dj8p5.js";
70
+ import"./index-7m2gcmm7.js";
71
+ import"./index-j3rfbs45.js";
72
+ import"./index-zzpy5cx3.js";
73
+ import"./index-9y6yk1n0.js";
74
+ import"./index-snx2vb1x.js";
76
75
  import"./index-ry16d01s.js";
77
76
  import"./index-rdm3px0g.js";
77
+ import"./index-3mzc5rqc.js";
78
78
  import"./index-7pmbnjvj.js";
79
- import"./index-hc6wa3yg.js";
80
- import"./index-3chx0ed6.js";
79
+ import"./index-9rwhas09.js";
80
+ import"./index-zbygz217.js";
81
+ import"./index-cwg99gea.js";
81
82
  import"./index-vzm6zre7.js";
82
83
  import"./index-ae75rja9.js";
83
- import"./index-2bc7zfw3.js";
84
- import"./index-w7d8gcj0.js";
85
- import"./index-4s6kdsfr.js";
84
+ import"./index-n1ddn12j.js";
85
+ import"./index-jmhn6ab5.js";
86
+ import"./index-dz15f98h.js";
86
87
  import"./index-t7hmqgjy.js";
87
- import"./index-6dtt0brw.js";
88
- import"./index-fzpt2djt.js";
88
+ import"./index-dtwj4hsk.js";
89
+ import"./index-te9hq2f4.js";
89
90
  import"./index-ejhxgyvm.js";
90
91
  import"./index-7g4c7s5r.js";
91
- import"./index-ywb5er8g.js";
92
+ import"./index-270zfq1f.js";
92
93
  import"./index-gx2vp8gx.js";
93
- import"./index-97cpeqb2.js";
94
- import"./index-zxdawwc7.js";
95
- import"./index-g1wra8ky.js";
94
+ import"./index-88d5kpjj.js";
95
+ import"./index-sp2cxpaq.js";
96
+ import"./index-qbxk2rn6.js";
97
+ import"./index-zgwm4ryv.js";
98
+ import"./index-0bw1jyen.js";
96
99
  import"./index-xfzkq1k4.js";
97
100
  import"./index-bk5tah7q.js";
98
101
  import"./index-gknz3bv1.js";
99
102
  import"./index-zpsr8rpc.js";
100
- import"./index-8mrentmw.js";
101
- import"./index-9rwhas09.js";
102
- import"./index-zgwm4ryv.js";
103
103
  import"./index-a76rekgs.js";
104
104
  export {
105
105
  stripSwarmPrefix,
@@ -1,30 +1,31 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-820pzqd6.js";
5
- import {
6
- bunSpawn
7
- } from "./index-2s7dvzff.js";
4
+ } from "./index-b3ws03kp.js";
8
5
  import {
9
6
  canonicalRootKeyFresh
10
- } from "./index-fzpt2djt.js";
7
+ } from "./index-te9hq2f4.js";
11
8
  import {
12
9
  atomicWriteSwarmFileSync
13
- } from "./index-ywb5er8g.js";
10
+ } from "./index-270zfq1f.js";
14
11
  import {
15
12
  advisoryWarn,
16
13
  init_git_executable,
17
14
  init_warning_buffer,
18
15
  resolveGitExecutable
19
- } from "./index-zxdawwc7.js";
16
+ } from "./index-sp2cxpaq.js";
20
17
  import {
21
- SWARM_WORKTREE_DIR_NAME,
22
- init_constants
23
- } from "./index-xfzkq1k4.js";
18
+ bunSpawn,
19
+ init_bun_compat
20
+ } from "./index-qbxk2rn6.js";
24
21
  import {
25
22
  init_logger,
26
23
  log
27
24
  } from "./index-zgwm4ryv.js";
25
+ import {
26
+ SWARM_WORKTREE_DIR_NAME,
27
+ init_constants
28
+ } from "./index-xfzkq1k4.js";
28
29
  import {
29
30
  __require
30
31
  } from "./index-a76rekgs.js";
@@ -219,6 +220,7 @@ function listLiveLaneOwners(directory) {
219
220
 
220
221
  // src/worktree/core.ts
221
222
  init_warning_buffer();
223
+ init_bun_compat();
222
224
  init_git_executable();
223
225
  var _internals2 = {
224
226
  clearLiveLaneOwner,
@@ -242,7 +244,7 @@ var _internals2 = {
242
244
  symlinkSync: fs2.symlinkSync
243
245
  },
244
246
  writeScopeToDisk: async (directory, taskId, files) => {
245
- const { writeScopeToDisk: realWrite } = await import("./scope-persistence-camnvcaq.js");
247
+ const { writeScopeToDisk: realWrite } = await import("./scope-persistence-3v9hce7b.js");
246
248
  return realWrite(directory, taskId, files);
247
249
  },
248
250
  writeLaneProfileToDisk: async (_worktreePath, _laneIndex, _envOverrides) => {