opencode-swarm 7.199.1 → 7.199.3

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 (84) hide show
  1. package/.opencode/skills/swarm-pr-feedback/SKILL.md +14 -14
  2. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  3. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  4. package/dist/agents/architect.d.ts +1 -1
  5. package/dist/background/workspace-snapshot.d.ts +51 -0
  6. package/dist/cli/{auto-checkpoint-x13d1g1t.js → auto-checkpoint-8sxq4fam.js} +5 -5
  7. package/dist/cli/{checkpoint-68nb8k3t.js → checkpoint-septjh9j.js} +9 -9
  8. package/dist/cli/{coder-settlement-kmdmdpyy.js → coder-settlement-5e51gv83.js} +5 -5
  9. package/dist/cli/{config-doctor-4b0jb15n.js → config-doctor-szqpesb3.js} +8 -8
  10. package/dist/cli/{core-6kkm2vrz.js → core-wawy5vxa.js} +2 -2
  11. package/dist/cli/{curator-drift-axcgdjy4.js → curator-drift-p4xkfxm3.js} +6 -6
  12. package/dist/cli/{curator-llm-factory-58ec737y.js → curator-llm-factory-m6w5axpg.js} +28 -28
  13. package/dist/cli/{curator-z8xzxh9f.js → curator-s699p3wr.js} +28 -28
  14. package/dist/cli/{doctor-knowledge-receipt-phase-id-hkjt6hv4.js → doctor-knowledge-receipt-phase-id-xcczpaad.js} +5 -5
  15. package/dist/cli/{evidence-summary-service-981cx8wa.js → evidence-summary-service-smwfa1sk.js} +10 -10
  16. package/dist/cli/{gate-evidence-zyvwsp7a.js → gate-evidence-y1591qqg.js} +3 -3
  17. package/dist/cli/{guardrail-explain-23b0amne.js → guardrail-explain-1fvbaenr.js} +29 -29
  18. package/dist/cli/{guardrail-log-s2gxszvm.js → guardrail-log-nd644x5c.js} +4 -4
  19. package/dist/cli/{guardrail-reset-kt18vr45.js → guardrail-reset-fq7tby85.js} +28 -28
  20. package/dist/cli/{hive-promoter-fz7ep8h4.js → hive-promoter-bhnm4sf7.js} +28 -28
  21. package/dist/cli/{index-61m1jw7p.js → index-2a8xvtba.js} +2 -2
  22. package/dist/cli/{index-vj0zede7.js → index-2acc95ec.js} +1 -1
  23. package/dist/cli/{index-n9ry04hw.js → index-2zwk30cc.js} +15 -11
  24. package/dist/cli/{index-npy15m50.js → index-36anctab.js} +1 -1
  25. package/dist/cli/{index-bb2rx8k2.js → index-4925h28w.js} +3 -3
  26. package/dist/cli/{index-r7ayh42s.js → index-5c6h1d0s.js} +4 -4
  27. package/dist/cli/{index-mzx33w6e.js → index-5jp79fag.js} +5 -5
  28. package/dist/cli/{index-t1t93qm0.js → index-5p1md309.js} +2 -2
  29. package/dist/cli/{index-w9f2jbwe.js → index-68k5agm2.js} +1 -1
  30. package/dist/cli/{index-px1dnna2.js → index-7vzvj8ry.js} +1 -1
  31. package/dist/cli/{index-pf0xrx9w.js → index-c36fnjz3.js} +2913 -2008
  32. package/dist/cli/{index-fmbqyqqw.js → index-ccpxq4yh.js} +2 -2
  33. package/dist/cli/{index-nreezgrd.js → index-ddq1vt2f.js} +3 -3
  34. package/dist/cli/{index-weewx5nx.js → index-dgtvf04w.js} +1 -1
  35. package/dist/cli/{index-f900029m.js → index-dp7362hg.js} +4 -4
  36. package/dist/cli/{index-jccs3fgn.js → index-dyp5807d.js} +13 -1
  37. package/dist/cli/{index-qqv9rr8k.js → index-eh27whw4.js} +30 -30
  38. package/dist/cli/{index-p35gw2x7.js → index-fnqk017s.js} +1 -1
  39. package/dist/cli/{index-9ztsfved.js → index-hz2609qt.js} +117 -2
  40. package/dist/cli/{index-xj9260dh.js → index-j1kcy808.js} +6 -6
  41. package/dist/cli/{index-14vhp87b.js → index-krz83azd.js} +2 -2
  42. package/dist/cli/{index-m4s5a2sp.js → index-qy55ytz4.js} +4 -4
  43. package/dist/cli/{index-61fa8hg7.js → index-r0mapyst.js} +2 -2
  44. package/dist/cli/{index-3zzxrwaf.js → index-r7swzftd.js} +1 -1
  45. package/dist/cli/{index-8pyg2qnw.js → index-s7ftr7ka.js} +2 -2
  46. package/dist/cli/{index-408tpd21.js → index-sn3z9bq2.js} +2 -2
  47. package/dist/cli/{index-4rrff8k6.js → index-vdhr11qv.js} +3 -3
  48. package/dist/cli/{index-ge7vn1vz.js → index-w4dbmngb.js} +1 -1
  49. package/dist/cli/{index-nacmcvc4.js → index-wamvtpcn.js} +4 -4
  50. package/dist/cli/{index-jhk4000q.js → index-wer76f2n.js} +1 -1
  51. package/dist/cli/{index-hqrkr9ag.js → index-xfzkq1k4.js} +5 -5
  52. package/dist/cli/{index-w4624tpw.js → index-yvjpwsrd.js} +1 -1
  53. package/dist/cli/{index-795vmpe6.js → index-zh3fxcnn.js} +28 -28
  54. package/dist/cli/index.js +29 -29
  55. package/dist/cli/{knowledge-escalator-cf6m9y0s.js → knowledge-escalator-ebvnynz8.js} +8 -8
  56. package/dist/cli/{knowledge-events-hn5hymam.js → knowledge-events-crh7ax0w.js} +6 -6
  57. package/dist/cli/{knowledge-store-mgqk4hvy.js → knowledge-store-58rh7jbp.js} +1 -1
  58. package/dist/cli/{knowledge-validator-x9yrte9q.js → knowledge-validator-0vmhxf5s.js} +2 -2
  59. package/dist/cli/{mcp-hpmh4d6d.js → mcp-kjatmx4e.js} +1 -1
  60. package/dist/cli/{model-preflight-ry5jjnx4.js → model-preflight-0c7xkq6x.js} +28 -28
  61. package/dist/cli/{pending-delegations-j850kj5p.js → pending-delegations-j8g6zmnx.js} +2 -2
  62. package/dist/cli/{pr-subscriptions-mme9gb5e.js → pr-subscriptions-5zfjmma9.js} +1 -1
  63. package/dist/cli/{pr-workflow-gate-n6bj3dnn.js → pr-workflow-gate-y0yfj38r.js} +28 -28
  64. package/dist/cli/{runner-qe3fkzx5.js → runner-7sd43gan.js} +1 -1
  65. package/dist/cli/{scan-cursor-fdpxbx4f.js → scan-cursor-gegs7kjt.js} +2 -2
  66. package/dist/cli/{schema-amcjvk8a.js → schema-znqyq1kp.js} +2 -2
  67. package/dist/cli/{scope-persistence-mp4kqpk2.js → scope-persistence-sx4qgy4b.js} +6 -6
  68. package/dist/cli/{server-ptdvpwyd.js → server-rbknas06.js} +101 -39
  69. package/dist/cli/{skill-generator-v59hhybn.js → skill-generator-gtg3yenw.js} +9 -9
  70. package/dist/cli/{snapshot-coordination-init-nv6e4svp.js → snapshot-coordination-init-a0tt6s4t.js} +28 -28
  71. package/dist/cli/{speckit-checkoff-me8kd3wd.js → speckit-checkoff-gqcw669v.js} +4 -4
  72. package/dist/cli/{workspace-snapshot-vhvrkbbb.js → workspace-snapshot-4zfj5wnd.js} +13 -1
  73. package/dist/cli/{worktree-collision-ownership-84qyqars.js → worktree-collision-ownership-6qwxygnn.js} +2 -2
  74. package/dist/cli/{worktree-isolation-99qvz8ap.js → worktree-isolation-6sc66ka0.js} +28 -28
  75. package/dist/config/skill-contract-digest.d.ts +8 -0
  76. package/dist/hooks/pr-workflow-gate.d.ts +32 -23
  77. package/dist/host/v2/events.d.ts +19 -1
  78. package/dist/host/v2/hooks.d.ts +25 -0
  79. package/dist/index.js +63 -61
  80. package/dist/tools/index.d.ts +1 -0
  81. package/dist/tools/manifest.d.ts +1 -0
  82. package/dist/tools/prepare-pr-feedback-commit-message.d.ts +30 -0
  83. package/dist/tools/tool-metadata.d.ts +4 -4
  84. package/package.json +1 -1
@@ -27,11 +27,11 @@ import {
27
27
  import {
28
28
  init_loader,
29
29
  loadPluginConfig
30
- } from "./index-weewx5nx.js";
30
+ } from "./index-dgtvf04w.js";
31
31
  import {
32
32
  init_package,
33
33
  package_default
34
- } from "./index-t1t93qm0.js";
34
+ } from "./index-5p1md309.js";
35
35
  import {
36
36
  criticalWarn,
37
37
  init_logger,
@@ -1,14 +1,14 @@
1
1
  // @bun
2
2
  import {
3
3
  writeSpeckitCheckoffLedger
4
- } from "./index-w9f2jbwe.js";
4
+ } from "./index-68k5agm2.js";
5
5
  import {
6
6
  validateSpecContent
7
7
  } from "./index-0725jpp7.js";
8
8
  import {
9
9
  init_loader,
10
10
  readSddSourceSetting
11
- } from "./index-weewx5nx.js";
11
+ } from "./index-dgtvf04w.js";
12
12
  import {
13
13
  advisoryWarn,
14
14
  init_warning_buffer
@@ -16,7 +16,7 @@ import {
16
16
  import {
17
17
  SDD_SOURCES,
18
18
  init_schema
19
- } from "./index-t1t93qm0.js";
19
+ } from "./index-5p1md309.js";
20
20
  import {
21
21
  init_logger,
22
22
  log
@@ -16,7 +16,7 @@ import {
16
16
  init_schema,
17
17
  resolveExternalSkillsConfig,
18
18
  retiredEpicKeyReplacement
19
- } from "./index-t1t93qm0.js";
19
+ } from "./index-5p1md309.js";
20
20
  import {
21
21
  DangerousMergeKeyError,
22
22
  MAX_MERGE_DEPTH,
@@ -739,7 +739,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
739
739
  const {
740
740
  readAuthoritativeKnowledgeCounterRollups,
741
741
  effectiveRetrievalOutcomes
742
- } = await import("./knowledge-events-hn5hymam.js");
742
+ } = await import("./knowledge-events-crh7ax0w.js");
743
743
  const rollups = await readAuthoritativeKnowledgeCounterRollups(directory);
744
744
  const flagIds = new Set;
745
745
  for (const e of atFloor) {
@@ -806,11 +806,11 @@ async function applyConfidenceFloorAction(directory, touched, options) {
806
806
  });
807
807
  }
808
808
  if (action === "quarantine" && toQuarantine.length > 0) {
809
- const { quarantineEntry } = await import("./knowledge-validator-x9yrte9q.js");
810
- const { KnowledgeConfigSchema } = await import("./schema-amcjvk8a.js");
809
+ const { quarantineEntry } = await import("./knowledge-validator-0vmhxf5s.js");
810
+ const { KnowledgeConfigSchema } = await import("./schema-znqyq1kp.js");
811
811
  let config;
812
812
  try {
813
- const { loadPluginConfigWithMeta } = await import("./index-r7ayh42s.js");
813
+ const { loadPluginConfigWithMeta } = await import("./index-5c6h1d0s.js");
814
814
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
815
815
  config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
816
816
  } catch {
@@ -177,7 +177,19 @@ function pLimit(concurrency) {
177
177
  },
178
178
  map: {
179
179
  async value(iterable, function_) {
180
- const promises = Array.from(iterable, (value, index) => this(function_, value, index));
180
+ const promises = [];
181
+ try {
182
+ Array.from(iterable, (value, index) => {
183
+ const promise = generator(function_, value, index);
184
+ promises.push(promise);
185
+ return promise;
186
+ });
187
+ } catch (error) {
188
+ for (const promise of promises) {
189
+ promise.catch(() => {});
190
+ }
191
+ throw error;
192
+ }
181
193
  return Promise.all(promises);
182
194
  }
183
195
  }
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-14vhp87b.js";
4
+ } from "./index-krz83azd.js";
5
5
  import {
6
6
  handleGuardrailLog
7
- } from "./index-p35gw2x7.js";
7
+ } from "./index-fnqk017s.js";
8
8
  import {
9
9
  COMMAND_REGISTRY,
10
10
  DEFAULT_CI_DEADLINE_MS,
@@ -97,50 +97,50 @@ import {
97
97
  handleWriteRetroCommand,
98
98
  normalizeSwarmCommandInput,
99
99
  resolveCommand
100
- } from "./index-pf0xrx9w.js";
101
- import"./index-408tpd21.js";
102
- import"./index-nacmcvc4.js";
103
- import"./index-px1dnna2.js";
100
+ } from "./index-c36fnjz3.js";
101
+ import"./index-sn3z9bq2.js";
102
+ import"./index-wamvtpcn.js";
103
+ import"./index-7vzvj8ry.js";
104
104
  import"./index-j2vv0h13.js";
105
- import"./index-jccs3fgn.js";
105
+ import"./index-dyp5807d.js";
106
106
  import"./index-7c432abn.js";
107
107
  import"./index-txdagbh7.js";
108
- import"./index-w4624tpw.js";
108
+ import"./index-yvjpwsrd.js";
109
109
  import"./index-rdec0y3z.js";
110
- import"./index-npy15m50.js";
111
- import"./index-m4s5a2sp.js";
112
- import"./index-n9ry04hw.js";
113
- import"./index-xj9260dh.js";
114
- import"./index-9ztsfved.js";
110
+ import"./index-36anctab.js";
111
+ import"./index-qy55ytz4.js";
112
+ import"./index-2zwk30cc.js";
113
+ import"./index-j1kcy808.js";
114
+ import"./index-hz2609qt.js";
115
115
  import"./index-bkscmz4z.js";
116
116
  import"./index-cjapb4hy.js";
117
117
  import"./index-pxdc0qn1.js";
118
118
  import"./index-pt7h91zc.js";
119
119
  import"./index-q7sjgr1y.js";
120
- import"./index-bb2rx8k2.js";
121
- import"./index-mzx33w6e.js";
120
+ import"./index-4925h28w.js";
121
+ import"./index-5jp79fag.js";
122
122
  import"./index-6b295cas.js";
123
123
  import"./index-9nyqt3kb.js";
124
- import"./index-nreezgrd.js";
124
+ import"./index-ddq1vt2f.js";
125
125
  import"./index-v3bmwmqw.js";
126
- import"./index-w9f2jbwe.js";
127
- import"./index-3zzxrwaf.js";
128
- import"./index-61m1jw7p.js";
126
+ import"./index-68k5agm2.js";
127
+ import"./index-r7swzftd.js";
128
+ import"./index-2a8xvtba.js";
129
129
  import"./index-g4fs6z4e.js";
130
- import"./index-jhk4000q.js";
131
- import"./index-8pyg2qnw.js";
132
- import"./index-61fa8hg7.js";
130
+ import"./index-wer76f2n.js";
131
+ import"./index-s7ftr7ka.js";
132
+ import"./index-r0mapyst.js";
133
133
  import"./index-m9zzj4ee.js";
134
134
  import"./index-820pzqd6.js";
135
135
  import"./index-2s7dvzff.js";
136
- import"./index-vj0zede7.js";
136
+ import"./index-2acc95ec.js";
137
137
  import"./index-2mx2gn97.js";
138
138
  import"./index-rtry5xyf.js";
139
- import"./index-4rrff8k6.js";
139
+ import"./index-vdhr11qv.js";
140
140
  import"./index-g22dps7x.js";
141
141
  import"./index-0725jpp7.js";
142
- import"./index-ge7vn1vz.js";
143
- import"./index-fmbqyqqw.js";
142
+ import"./index-w4dbmngb.js";
143
+ import"./index-ccpxq4yh.js";
144
144
  import"./index-h349p91m.js";
145
145
  import"./index-p5pgjp7n.js";
146
146
  import"./index-nr1pj3hy.js";
@@ -149,7 +149,7 @@ import"./index-ry16d01s.js";
149
149
  import"./index-rdm3px0g.js";
150
150
  import"./index-7pmbnjvj.js";
151
151
  import"./index-hc6wa3yg.js";
152
- import"./index-f900029m.js";
152
+ import"./index-dp7362hg.js";
153
153
  import"./index-vzm6zre7.js";
154
154
  import"./index-ae75rja9.js";
155
155
  import"./index-2bc7zfw3.js";
@@ -162,17 +162,17 @@ import"./index-ejhxgyvm.js";
162
162
  import"./index-7g4c7s5r.js";
163
163
  import"./index-ywb5er8g.js";
164
164
  import"./index-gx2vp8gx.js";
165
- import"./index-weewx5nx.js";
165
+ import"./index-dgtvf04w.js";
166
166
  import"./index-zxdawwc7.js";
167
167
  import {
168
168
  init_schema,
169
169
  stripKnownSwarmPrefix
170
- } from "./index-t1t93qm0.js";
170
+ } from "./index-5p1md309.js";
171
171
  import {
172
172
  AGENT_TOOL_MAP,
173
173
  ORCHESTRATOR_NAME,
174
174
  init_constants
175
- } from "./index-hqrkr9ag.js";
175
+ } from "./index-xfzkq1k4.js";
176
176
  import"./index-bk5tah7q.js";
177
177
  import"./index-gknz3bv1.js";
178
178
  import"./index-zpsr8rpc.js";
@@ -4,7 +4,7 @@ import {
4
4
  readShellAuditTail,
5
5
  redactPath,
6
6
  redactShellCommand
7
- } from "./index-408tpd21.js";
7
+ } from "./index-sn3z9bq2.js";
8
8
 
9
9
  // src/services/guardrail-log-service.ts
10
10
  var BLOCK_TYPES = new Set([
@@ -201,8 +201,9 @@ async function runGitAsyncDetailed(directory, args, timeoutMs) {
201
201
  } catch {}
202
202
  }
203
203
  }
204
+ var gitSnapshotRelativePathPattern = /^(?:\.\/|\.?(?=[A-Za-z0-9]))(?:\.?[A-Za-z0-9][A-Za-z0-9._-]*\/)*\.?[A-Za-z0-9][A-Za-z0-9._-]*$/;
204
205
  function readGitTextAtRevision(directory, revision, relativePath) {
205
- if (!isSafeGitRevisionToken(revision) || !/^\.?(?:[A-Za-z0-9][A-Za-z0-9._-]*\/)*[A-Za-z0-9][A-Za-z0-9._-]*$/.test(relativePath) || relativePath.split("/").includes("..")) {
206
+ if (!isSafeGitRevisionToken(revision) || !gitSnapshotRelativePathPattern.test(relativePath) || relativePath.split("/").includes("..")) {
206
207
  return null;
207
208
  }
208
209
  const result = _internals.spawnSync(_internals.resolveGitExecutable(), ["-C", directory, "show", `${revision}:${relativePath}`], {
@@ -533,6 +534,120 @@ async function resolveIsWorkingTreeCleanAsync(directory) {
533
534
  ]);
534
535
  return status === null ? null : status.length === 0;
535
536
  }
537
+ async function resolveWorkingTreeDirtyPathsAsync(directory) {
538
+ const status = await runGitAsync(directory, [
539
+ "status",
540
+ "--porcelain=v1",
541
+ "-z",
542
+ "--untracked-files=all"
543
+ ]);
544
+ if (status === null)
545
+ return null;
546
+ const paths = [];
547
+ let skipNextRecord = false;
548
+ for (const entry of status.split("\x00")) {
549
+ if (entry.length === 0)
550
+ continue;
551
+ if (skipNextRecord) {
552
+ skipNextRecord = false;
553
+ continue;
554
+ }
555
+ if (entry.length < 4)
556
+ continue;
557
+ const statusCode = entry.slice(0, 2);
558
+ if (statusCode.startsWith("R") || statusCode.startsWith("C")) {
559
+ skipNextRecord = true;
560
+ }
561
+ const rawPath = entry.slice(3);
562
+ if (rawPath.length === 0)
563
+ continue;
564
+ paths.push(rawPath);
565
+ }
566
+ return paths;
567
+ }
568
+ async function resolvePrWorkflowChangedPathSetAsync(directory, baseHeadSha) {
569
+ if (!/^[0-9a-f]{40}$/i.test(baseHeadSha))
570
+ return null;
571
+ const diff = await runGitAsync(directory, [
572
+ "diff",
573
+ "--no-ext-diff",
574
+ "--name-only",
575
+ "-z",
576
+ baseHeadSha
577
+ ]);
578
+ if (diff === null)
579
+ return null;
580
+ const status = await runGitAsync(directory, [
581
+ "status",
582
+ "--porcelain=v1",
583
+ "-z",
584
+ "--untracked-files=all"
585
+ ]);
586
+ if (status === null)
587
+ return null;
588
+ const set = new Set;
589
+ const normalize = (value) => value.replace(/\\/g, "/").replace(/^\.\//, "");
590
+ for (const name of diff.split("\x00")) {
591
+ if (name.length > 0)
592
+ set.add(normalize(name));
593
+ }
594
+ let skipNextRecord = false;
595
+ for (const entry of status.split("\x00")) {
596
+ if (entry.length === 0)
597
+ continue;
598
+ if (skipNextRecord) {
599
+ skipNextRecord = false;
600
+ continue;
601
+ }
602
+ if (entry.length < 4 || entry[2] !== " ")
603
+ continue;
604
+ const statusCode = entry.slice(0, 2);
605
+ if (statusCode.includes("R") || statusCode.includes("C")) {
606
+ skipNextRecord = true;
607
+ }
608
+ const rawPath = entry.slice(3);
609
+ if (rawPath.length === 0)
610
+ continue;
611
+ set.add(normalize(rawPath));
612
+ }
613
+ return set;
614
+ }
615
+ async function resolveRepoTopLevelAsync(directory) {
616
+ const toplevel = await runGitAsync(directory, [
617
+ "rev-parse",
618
+ "--show-toplevel"
619
+ ]);
620
+ if (toplevel === null || toplevel.length === 0)
621
+ return null;
622
+ return toplevel;
623
+ }
624
+ async function resolveLocalRefHeadAsync(directory, ref) {
625
+ if (!/^[A-Za-z0-9._/-]+$/.test(ref))
626
+ return null;
627
+ const sha = await runGitAsync(directory, [
628
+ "rev-parse",
629
+ "--verify",
630
+ `${ref}^{commit}`
631
+ ]);
632
+ return sha && /^[0-9a-f]{40}$/i.test(sha) ? sha.toLowerCase() : null;
633
+ }
634
+ async function resolveIsAncestorAsync(directory, ancestor, descendant) {
635
+ if (!/^[0-9a-f]{40}$/i.test(ancestor) || !/^[0-9a-f]{40}$/i.test(descendant))
636
+ return false;
637
+ const out = await runGitAsyncDetailed(directory, ["merge-base", "--is-ancestor", ancestor, descendant], _internals.gitTimeoutMs);
638
+ if (!out.ok) {
639
+ if (out.reason === "git-failed")
640
+ return false;
641
+ return null;
642
+ }
643
+ return true;
644
+ }
645
+ async function fastForwardToRefAsync(directory, ref) {
646
+ if (!/^[A-Za-z0-9._/-]+$/.test(ref))
647
+ return false;
648
+ const out = await runGitAsync(directory, ["merge", "--ff-only", "--", ref], 15000);
649
+ return out !== null;
650
+ }
536
651
  function resolveCommitCountSince(directory, baseHeadSha, currentHeadSha) {
537
652
  if (!isSafeGitRevisionToken(baseHeadSha) || !isSafeGitRevisionToken(currentHeadSha))
538
653
  return null;
@@ -1322,4 +1437,4 @@ var _internals = {
1322
1437
  readChangedFileSync: (filePath) => fs.readFileSync(filePath)
1323
1438
  };
1324
1439
 
1325
- export { readGitTextAtRevision, resolveCurrentGitHead, resolveCurrentGitHeadAsync, resolveExactMergeBase, resolveExactMergeBaseAsync, resolvePrReviewDiffStats, resolvePrReviewDiffStatsAsync, resolveCurrentUpstreamRemoteRef, resolveCurrentUpstreamPushTarget, resolveCurrentUpstreamPushTargetAsync, resolveCurrentLocalHeadRefAsync, resolveExactRemoteBranchHead, resolveExactRemoteBranchHeadAsync, redactRemoteUrlIdentity, resolveRemoteUrlIdentity, resolveRemoteUrlIdentityAsync, resolveGitControlStateDigest, resolveGitControlStateDigestAsync, resolveIsWorkingTreeClean, resolveIsWorkingTreeCleanAsync, resolveCommitCountSince, resolveCommitCountSinceAsync, resolveIsExactSingleChildCommit, resolveIsExactSingleChildCommitAsync, resolveRemoteRefsContainingHead, resolveRemoteRefsContainingHeadAsync, resolvePrFeedbackTrackingCandidatesAsync, switchPrFeedbackTrackingCandidateAsync, resolvePrWorkflowRevisionDigestDetailed, resolvePrWorkflowRevisionDigest, resolvePrWorkflowRevisionDigestDetailedAsync, resolvePrWorkflowRevisionDigestAsync, parsePorcelainPaths, isSwarmRuntimePath, parsePorcelainV2Snapshot, captureWorkspaceSnapshot, captureWorkspaceSnapshotAsync, shouldSkipSnapshot, changedFilesSinceSnapshot, changedFilesSinceSnapshotAsync, committedFilesBetween, workspaceSnapshotMatches, compareWorkspaceSnapshot, compareWorkspaceSnapshots, digest, _internals };
1440
+ export { readGitTextAtRevision, resolveCurrentGitHead, resolveCurrentGitHeadAsync, resolveExactMergeBase, resolveExactMergeBaseAsync, resolvePrReviewDiffStats, resolvePrReviewDiffStatsAsync, resolveCurrentUpstreamRemoteRef, resolveCurrentUpstreamPushTarget, resolveCurrentUpstreamPushTargetAsync, resolveCurrentLocalHeadRefAsync, resolveExactRemoteBranchHead, resolveExactRemoteBranchHeadAsync, redactRemoteUrlIdentity, resolveRemoteUrlIdentity, resolveRemoteUrlIdentityAsync, resolveGitControlStateDigest, resolveGitControlStateDigestAsync, resolveIsWorkingTreeClean, resolveIsWorkingTreeCleanAsync, resolveWorkingTreeDirtyPathsAsync, resolvePrWorkflowChangedPathSetAsync, resolveRepoTopLevelAsync, resolveLocalRefHeadAsync, resolveIsAncestorAsync, fastForwardToRefAsync, resolveCommitCountSince, resolveCommitCountSinceAsync, resolveIsExactSingleChildCommit, resolveIsExactSingleChildCommitAsync, resolveRemoteRefsContainingHead, resolveRemoteRefsContainingHeadAsync, resolvePrFeedbackTrackingCandidatesAsync, switchPrFeedbackTrackingCandidateAsync, resolvePrWorkflowRevisionDigestDetailed, resolvePrWorkflowRevisionDigest, resolvePrWorkflowRevisionDigestDetailedAsync, resolvePrWorkflowRevisionDigestAsync, parsePorcelainPaths, isSwarmRuntimePath, parsePorcelainV2Snapshot, captureWorkspaceSnapshot, captureWorkspaceSnapshotAsync, shouldSkipSnapshot, changedFilesSinceSnapshot, changedFilesSinceSnapshotAsync, committedFilesBetween, workspaceSnapshotMatches, compareWorkspaceSnapshot, compareWorkspaceSnapshots, digest, _internals };
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  readKnowledgeEvents,
4
4
  recordKnowledgeEvent
5
- } from "./index-8pyg2qnw.js";
5
+ } from "./index-s7ftr7ka.js";
6
6
  import {
7
7
  queryHistoricalOutcomes
8
- } from "./index-61fa8hg7.js";
8
+ } from "./index-r0mapyst.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-f900029m.js";
16
+ } from "./index-dp7362hg.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-x9yrte9q.js");
229
+ const { quarantineEntry } = await import("./knowledge-validator-0vmhxf5s.js");
230
230
  let policyConfig;
231
231
  try {
232
- const { KnowledgeConfigSchema } = await import("./schema-amcjvk8a.js");
233
- const { loadPluginConfigWithMeta } = await import("./index-r7ayh42s.js");
232
+ const { KnowledgeConfigSchema } = await import("./schema-znqyq1kp.js");
233
+ const { loadPluginConfigWithMeta } = await import("./index-5c6h1d0s.js");
234
234
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
235
235
  policyConfig = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
236
236
  } catch {
@@ -19,14 +19,14 @@ import {
19
19
  mergeWriteAnalyses,
20
20
  resolveWindowsWriteAuthority,
21
21
  resolveWriteTargets
22
- } from "./index-pf0xrx9w.js";
22
+ } from "./index-c36fnjz3.js";
23
23
  import {
24
24
  checkFileAuthority,
25
25
  classifyFile,
26
26
  isInDeclaredScope,
27
27
  redactPath,
28
28
  redactShellCommand
29
- } from "./index-408tpd21.js";
29
+ } from "./index-sn3z9bq2.js";
30
30
 
31
31
  // src/services/guardrail-explain-service.ts
32
32
  import path from "path";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  captureWorkspaceSnapshotAsync,
4
4
  changedFilesSinceSnapshotAsync
5
- } from "./index-9ztsfved.js";
5
+ } from "./index-hz2609qt.js";
6
6
  import {
7
7
  removeWorktreeProvisioningOwner
8
8
  } from "./index-pxdc0qn1.js";
@@ -14,7 +14,7 @@ import {
14
14
  reconcileLandedMerge,
15
15
  withTaskEvidenceTransaction,
16
16
  writeWorkflowWalFile
17
- } from "./index-3zzxrwaf.js";
17
+ } from "./index-r7swzftd.js";
18
18
  import {
19
19
  validateSwarmPath
20
20
  } from "./index-820pzqd6.js";
@@ -512,7 +512,7 @@ async function cleanupRecoveredWorktree(directory, descriptor, options) {
512
512
  awaitingMergeByCallID,
513
513
  cleanupStandardWorktreeForCallId,
514
514
  standardWorktreeByCallID
515
- } = await import("./worktree-isolation-99qvz8ap.js");
515
+ } = await import("./worktree-isolation-6sc66ka0.js");
516
516
  standardWorktreeByCallID.delete(descriptor.callID);
517
517
  if (hasResidue)
518
518
  awaitingMergeByCallID.set(descriptor.callID, {
@@ -648,7 +648,7 @@ async function recoverCoderSettlement(directory, taskId) {
648
648
  awaitingMergeByCallID,
649
649
  finishStandardWorktreeDispatch,
650
650
  standardWorktreeByCallID
651
- } = await import("./worktree-isolation-99qvz8ap.js");
651
+ } = await import("./worktree-isolation-6sc66ka0.js");
652
652
  const descriptor = wal.worktree;
653
653
  const reconstructedDispatch = {
654
654
  callID: descriptor.callID,
@@ -19,11 +19,11 @@ import {
19
19
  } from "./index-gx2vp8gx.js";
20
20
  import {
21
21
  loadPluginConfigWithMeta
22
- } from "./index-weewx5nx.js";
22
+ } from "./index-dgtvf04w.js";
23
23
  import {
24
24
  KnowledgeConfigSchema,
25
25
  init_schema
26
- } from "./index-t1t93qm0.js";
26
+ } from "./index-5p1md309.js";
27
27
 
28
28
  // src/utils/context-decisions.ts
29
29
  function extractContextDecisions(content) {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  autoCommitDirty,
4
4
  cleanUntrackedFiles
5
- } from "./index-61m1jw7p.js";
5
+ } from "./index-2a8xvtba.js";
6
6
  import {
7
7
  isSpawnCwdMissing,
8
8
  isSpawnCwdUnreadable
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  queryHistoricalOutcomes
4
- } from "./index-61fa8hg7.js";
4
+ } from "./index-r0mapyst.js";
5
5
  import {
6
6
  resolveHiveEventsPath
7
7
  } from "./index-ae75rja9.js";
@@ -708,7 +708,7 @@ async function applyKnowledgeVerdictFeedback(directory, options) {
708
708
  }
709
709
  let bumps = 0;
710
710
  if (deltas.length > 0) {
711
- const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-mgqk4hvy.js");
711
+ const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-58rh7jbp.js");
712
712
  bumps = await bumpKnowledgeConfidenceBatch(directory, deltas, options?.floorOptions);
713
713
  }
714
714
  return {
@@ -12,10 +12,10 @@ import {
12
12
  import {
13
13
  init_schema,
14
14
  stripKnownSwarmPrefix
15
- } from "./index-t1t93qm0.js";
15
+ } from "./index-5p1md309.js";
16
16
  import {
17
17
  init_constants
18
- } from "./index-hqrkr9ag.js";
18
+ } from "./index-xfzkq1k4.js";
19
19
  import {
20
20
  getPathFlavor,
21
21
  init_path_identity,
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  init_loader,
4
4
  loadPluginConfigWithMeta
5
- } from "./index-weewx5nx.js";
5
+ } from "./index-dgtvf04w.js";
6
6
  import {
7
7
  init_schema
8
- } from "./index-t1t93qm0.js";
8
+ } from "./index-5p1md309.js";
9
9
  import {
10
10
  DEFAULT_WORKTREE_ISOLATION_CONFIG,
11
11
  init_constants
12
- } from "./index-hqrkr9ag.js";
12
+ } from "./index-xfzkq1k4.js";
13
13
 
14
14
  // src/config/index.ts
15
15
  init_constants();
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  computePlanStructureHash
4
- } from "./index-fmbqyqqw.js";
4
+ } from "./index-ccpxq4yh.js";
5
5
  import {
6
6
  appendCoreEventSync
7
7
  } from "./index-h349p91m.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  loadPlanJsonOnly
4
- } from "./index-mzx33w6e.js";
4
+ } from "./index-5jp79fag.js";
5
5
  import {
6
6
  isCanonicalPathWithinRoot
7
7
  } from "./index-6b295cas.js";
@@ -14,7 +14,7 @@ import {
14
14
  legacyEpicIssuePath,
15
15
  migrateLegacyEpicConfig,
16
16
  resolveEpicConfig
17
- } from "./index-weewx5nx.js";
17
+ } from "./index-dgtvf04w.js";
18
18
  import {
19
19
  FALLBACK_MODELS_MAX,
20
20
  GATE_CONFIG_KNOWN_SECTION_KEYS,
@@ -25,13 +25,13 @@ import {
25
25
  init_schema,
26
26
  retiredEpicKeyReplacement,
27
27
  stripKnownSwarmPrefix
28
- } from "./index-t1t93qm0.js";
28
+ } from "./index-5p1md309.js";
29
29
  import {
30
30
  ALL_AGENT_NAMES,
31
31
  TOOL_NAME_SET,
32
32
  init_constants,
33
33
  init_tool_metadata
34
- } from "./index-hqrkr9ag.js";
34
+ } from "./index-xfzkq1k4.js";
35
35
  import {
36
36
  log
37
37
  } from "./index-zgwm4ryv.js";
@@ -4745,7 +4745,7 @@ async function reconcileLegacyCoderSettlements(directory, maxRecords, onReconcil
4745
4745
  const candidates = readDelegations(directory).filter((record) => record.normalizedAgent === "coder" && Boolean(record.legacyCoderSettlementTransfer) && Boolean(record.terminalResult)).slice(0, maxRecords);
4746
4746
  if (candidates.length === 0)
4747
4747
  return 0;
4748
- const { transferCoderSettlementToBackground } = await import("./coder-settlement-kmdmdpyy.js");
4748
+ const { transferCoderSettlementToBackground } = await import("./coder-settlement-5e51gv83.js");
4749
4749
  let transferred = 0;
4750
4750
  for (const record of candidates) {
4751
4751
  try {
@@ -376,6 +376,10 @@ var init_tool_metadata = __esm(() => {
376
376
  description: "prepare an exact file scope for one PR-feedback coder Task after immutable feedback verification settles",
377
377
  agents: ["architect"]
378
378
  },
379
+ prepare_pr_feedback_commit_message: {
380
+ description: "author a PR_FEEDBACK commit message that cannot go inline (e.g. a Co-Authored-By trailer) into a file OUTSIDE the repository; returns the path for git commit -F",
381
+ agents: ["architect"]
382
+ },
379
383
  test_runner: {
380
384
  description: "auto-detect and run tests",
381
385
  agents: [
@@ -383,11 +387,7 @@ var init_tool_metadata = __esm(() => {
383
387
  "reviewer",
384
388
  "critic_finding_validator",
385
389
  "test_engineer"
386
- ],
387
- prWorkflow: {
388
- modes: ["PR_REVIEW"],
389
- capability: "validate"
390
- }
390
+ ]
391
391
  },
392
392
  test_impact: {
393
393
  description: "identify test files impacted by changed source files via import analysis",
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  readKnowledge,
4
4
  transactKnowledge
5
- } from "./index-f900029m.js";
5
+ } from "./index-dp7362hg.js";
6
6
  import {
7
7
  resolveKnowledgeStoreDir
8
8
  } from "./index-2bc7zfw3.js";