opencode-swarm 7.144.4 → 7.144.5

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 (106) hide show
  1. package/.opencode/skills/swarm-pr-review/references/prompt-templates.md +2 -2
  2. package/dist/background/workspace-snapshot.d.ts +7 -0
  3. package/dist/cli/{capability-probe-f1paszww.js → capability-probe-976tt4ba.js} +6 -2
  4. package/dist/cli/{config-doctor-rw9zrjk6.js → config-doctor-m005xfdt.js} +2 -2
  5. package/dist/cli/{core-zjx9aqaf.js → core-6vdtfb8s.js} +4 -3
  6. package/dist/cli/{curation-policy-0wbrh11c.js → curation-policy-a511r0qz.js} +4 -4
  7. package/dist/cli/{curator-g54a7wv0.js → curator-0t87anp5.js} +33 -32
  8. package/dist/cli/{curator-drift-2jbjv03a.js → curator-drift-ckjm272w.js} +2 -2
  9. package/dist/cli/curator-llm-factory-j8tk9rxm.js +63 -0
  10. package/dist/cli/{dispatch-1y1rnv1h.js → dispatch-ndxbsk98.js} +2 -2
  11. package/dist/cli/{evidence-summary-service-fnr5y54e.js → evidence-summary-service-c22gahjc.js} +13 -12
  12. package/dist/cli/{gate-evidence-2xt1x07r.js → gate-evidence-hh8kc9wt.js} +7 -6
  13. package/dist/cli/guardrail-explain-9gjw2dsd.js +64 -0
  14. package/dist/cli/{guardrail-log-5w4b9zrw.js → guardrail-log-ejf5zjac.js} +4 -4
  15. package/dist/cli/{hive-promoter-x63ehffd.js → hive-promoter-gkbfpdtv.js} +33 -32
  16. package/dist/cli/{index-psvxq93b.js → index-1pxqkvvq.js} +2 -2
  17. package/dist/cli/{index-q67jb94n.js → index-3qdzpv91.js} +1 -1
  18. package/dist/cli/{index-9qq7c18c.js → index-58cvm3dw.js} +36 -1
  19. package/dist/cli/{index-p7cm3gtj.js → index-5wenr2vs.js} +35 -34
  20. package/dist/cli/{index-nckg4gxb.js → index-63tgh0cn.js} +15 -4
  21. package/dist/cli/{index-03pv47h2.js → index-641yjpk8.js} +6 -6
  22. package/dist/cli/{index-1csyxv0f.js → index-6z5jtf7d.js} +2 -2
  23. package/dist/cli/{index-z6v7kwpa.js → index-7e4q41nb.js} +1 -1
  24. package/dist/cli/{index-8j0va7jp.js → index-855hseq4.js} +43 -22
  25. package/dist/cli/index-9e6fdz2h.js +282 -0
  26. package/dist/cli/{index-mazgg5s2.js → index-9s8drsf9.js} +1 -1
  27. package/dist/cli/{index-cz25e8xp.js → index-a1hxejxc.js} +166 -34
  28. package/dist/cli/{index-b6e016tv.js → index-abtrcs16.js} +1 -1
  29. package/dist/cli/{index-8fwhhayc.js → index-b44qqqt2.js} +27 -18
  30. package/dist/cli/{index-k3cxyk66.js → index-cwtpqm5f.js} +1 -1
  31. package/dist/cli/{index-h98t1m88.js → index-dc04v786.js} +29 -1
  32. package/dist/cli/{index-d12jd5mn.js → index-dtbzyr3s.js} +1 -1
  33. package/dist/cli/{index-x6tp0hfr.js → index-ea09xax6.js} +5 -5
  34. package/dist/cli/{index-74hpm6sh.js → index-f36ybbsv.js} +12 -6
  35. package/dist/cli/{index-rn0eq85g.js → index-fv0s19g9.js} +1 -1
  36. package/dist/cli/{index-btmsqv7p.js → index-fv2pzwnp.js} +5 -4
  37. package/dist/cli/{index-ywn7vtxp.js → index-h1p08s3n.js} +1 -1
  38. package/dist/cli/{index-bt9aa01f.js → index-hkdgkkhb.js} +1 -1
  39. package/dist/cli/{index-y8j8ehc8.js → index-kdak6s63.js} +11 -5
  40. package/dist/cli/{index-az8etqpp.js → index-kh0jt9pg.js} +298 -1179
  41. package/dist/cli/{index-pw83zgny.js → index-mkmcz6x8.js} +3 -3
  42. package/dist/cli/{index-jabkn643.js → index-n4hwcsbd.js} +2 -2
  43. package/dist/cli/{index-2m7mavaz.js → index-rdgtfj74.js} +2 -2
  44. package/dist/cli/{index-yts89pqg.js → index-rnyt30tm.js} +4 -4
  45. package/dist/cli/{index-dty5qgk2.js → index-vdha477y.js} +1 -1
  46. package/dist/cli/{index-4w5qdbk7.js → index-wbrqvm2g.js} +6 -6
  47. package/dist/cli/{index-fqcjragy.js → index-wknz5c8q.js} +1 -1
  48. package/dist/cli/{index-zb0xcz9t.js → index-wm6f7t7w.js} +3 -3
  49. package/dist/cli/{index-q4ed1jk7.js → index-wmsehjq6.js} +1994 -1333
  50. package/dist/cli/{index-4nt52yr9.js → index-zj6t9zgx.js} +173 -25
  51. package/dist/cli/index-zy7f84cs.js +1210 -0
  52. package/dist/cli/index.d.ts +11 -1
  53. package/dist/cli/index.js +61 -39
  54. package/dist/cli/{knowledge-escalator-ypg14d5r.js → knowledge-escalator-1d79m1tr.js} +12 -11
  55. package/dist/cli/{knowledge-events-nkrym4wb.js → knowledge-events-ces29ncg.js} +10 -9
  56. package/dist/cli/{knowledge-link-e4qgqmpx.js → knowledge-link-4cg4776a.js} +3 -3
  57. package/dist/cli/{knowledge-store-vh3nhtg2.js → knowledge-store-pe8webc2.js} +4 -4
  58. package/dist/cli/{knowledge-validator-jrxvexv6.js → knowledge-validator-4yjf1f7k.js} +6 -6
  59. package/dist/cli/{pending-delegations-pw79c8ds.js → pending-delegations-9h1jmtw1.js} +3 -3
  60. package/dist/cli/{pr-subscriptions-fk628bhc.js → pr-subscriptions-8pg34pev.js} +3 -3
  61. package/dist/cli/{runner-b02sz2vx.js → runner-cqecp1na.js} +4 -4
  62. package/dist/cli/{scan-cursor-fp7w5jmc.js → scan-cursor-d6exjmqj.js} +7 -5
  63. package/dist/cli/{schema-rptwqbm4.js → schema-2esybebd.js} +3 -1
  64. package/dist/cli/{scope-persistence-0bkaxawa.js → scope-persistence-ej59x0yc.js} +7 -6
  65. package/dist/cli/{skill-generator-nh8b4gjv.js → skill-generator-yqta3yrg.js} +14 -13
  66. package/dist/cli/{workspace-snapshot-w3tg4ne5.js → workspace-snapshot-d89zm6wm.js} +5 -2
  67. package/dist/cli/{worktree-collision-ownership-hqd9ypsz.js → worktree-collision-ownership-vy0kxa98.js} +26 -19
  68. package/dist/cli/{worktree-isolation-canf3rj8.js → worktree-isolation-rwq0kke7.js} +33 -32
  69. package/dist/cli/{worktree-provisioning-owner-g24xd417.js → worktree-provisioning-owner-zzkjycp1.js} +3 -3
  70. package/dist/commands/ci-simulate.d.ts +2 -0
  71. package/dist/config/cache-paths.d.ts +57 -0
  72. package/dist/config/evidence-schema.d.ts +3 -3
  73. package/dist/config/schema.d.ts +9 -0
  74. package/dist/git/branch.d.ts +2 -0
  75. package/dist/git/pr.d.ts +2 -0
  76. package/dist/hooks/delegation-gate/worktree-isolation.d.ts +7 -0
  77. package/dist/hooks/diff-scope.d.ts +7 -0
  78. package/dist/hooks/review-receipt-scope.d.ts +7 -0
  79. package/dist/hooks/reviewer-scope-lifecycle.d.ts +9 -0
  80. package/dist/hooks/semantic-diff-injection.d.ts +8 -0
  81. package/dist/index.js +599 -589
  82. package/dist/mutation/engine.d.ts +11 -0
  83. package/dist/review/diff-source.d.ts +2 -0
  84. package/dist/sandbox/capability-probe.d.ts +22 -0
  85. package/dist/sandbox/executor.d.ts +15 -0
  86. package/dist/sandbox/linux/bubblewrap-executor.d.ts +6 -0
  87. package/dist/sandbox/macos/sandbox-exec-executor.d.ts +41 -0
  88. package/dist/tools/checkpoint.d.ts +11 -0
  89. package/dist/tools/complexity-hotspots.d.ts +15 -0
  90. package/dist/tools/diff-summary.d.ts +12 -0
  91. package/dist/tools/dispatch-lanes.d.ts +8 -0
  92. package/dist/tools/gh-evidence.d.ts +17 -1
  93. package/dist/tools/knowledge-receipt.d.ts +1 -1
  94. package/dist/tools/pkg-audit.d.ts +13 -0
  95. package/dist/tools/prepare-pr-workflow-checkout.d.ts +1 -0
  96. package/dist/utils/bun-compat.d.ts +80 -3
  97. package/dist/utils/git-binary-missing-error.d.ts +80 -2
  98. package/dist/utils/git-executable.d.ts +179 -0
  99. package/dist/utils/gitignore-warning.d.ts +10 -0
  100. package/dist/workflow/coder-settlement.d.ts +18 -0
  101. package/dist/worktree/core.d.ts +8 -0
  102. package/dist/worktree/merge.d.ts +33 -0
  103. package/package.json +3 -2
  104. package/dist/cli/curator-llm-factory-xgb4pxmm.js +0 -62
  105. package/dist/cli/guardrail-explain-6wcgr9tz.js +0 -63
  106. package/dist/cli/index-q1exe2b3.js +0 -256
@@ -65,7 +65,7 @@ Use this template when dispatching a base explorer:
65
65
  ```text
66
66
  You are a base explorer. Optimize for recall, not final judgment.
67
67
  Return candidates only. Do not use CONFIRMED, DISPROVED, or PRE_EXISTING.
68
- Do not narrate progress or repeat the prompt. Keep the complete final response at or below 12,000 characters; spend that budget on evidence-bearing rows and the minimum prose needed to make them auditable.
68
+ Do not narrate progress or repeat the prompt. Keep the complete final response at or below 12,000 characters; spend that budget on evidence-bearing rows and the minimum prose needed to make them auditable. When the controller-appended contract declares a per-lane final_response_char_budget, that number is authoritative over this template default.
69
69
 
70
70
  Lane:
71
71
  Scope:
@@ -106,7 +106,7 @@ Use this template when dispatching a micro-lane or council explorer:
106
106
  ```text
107
107
  You are a micro-lane or council explorer. Optimize for recall, not final judgment.
108
108
  Return candidates only. Do not use CONFIRMED, DISPROVED, or PRE_EXISTING.
109
- Do not narrate progress or repeat the prompt. Keep the complete final response at or below 12,000 characters; spend that budget on evidence-bearing rows and the minimum prose needed to make them auditable.
109
+ Do not narrate progress or repeat the prompt. Keep the complete final response at or below 12,000 characters; spend that budget on evidence-bearing rows and the minimum prose needed to make them auditable. When the controller-appended contract declares a per-lane final_response_char_budget, that number is authoritative over this template default.
110
110
 
111
111
  Micro/council lane:
112
112
  Scope:
@@ -1,5 +1,6 @@
1
1
  import * as child_process from 'node:child_process';
2
2
  import { bunSpawn } from '../utils/bun-compat.js';
3
+ import { resolveGitExecutable } from '../utils/git-executable.js';
3
4
  import type { BackgroundWorkspaceSnapshot } from './pending-delegations.js';
4
5
  type SpawnSync = typeof child_process.spawnSync;
5
6
  interface CaptureWorkspaceSnapshotOptions {
@@ -202,6 +203,12 @@ export declare function digest(text: string): string;
202
203
  export declare const _internals: {
203
204
  spawnSync: SpawnSync;
204
205
  bunSpawn: typeof bunSpawn;
206
+ /**
207
+ * Test seam for git binary resolution (issue #2236 hardening, lane C1b) —
208
+ * see `src/utils/git-executable.ts`. Allows tests to stub a deterministic
209
+ * value instead of exercising the real filesystem-probing resolver.
210
+ */
211
+ resolveGitExecutable: typeof resolveGitExecutable;
205
212
  gitTimeoutMs: number;
206
213
  yieldControl: () => Promise<void>;
207
214
  parsePorcelainV2Snapshot: typeof parsePorcelainV2Snapshot;
@@ -1,12 +1,14 @@
1
1
  // @bun
2
2
  import {
3
3
  SandboxCapabilityProbe,
4
+ _internals,
5
+ _resetCapabilityCache,
4
6
  init_capability_probe,
5
7
  isBubblewrapAvailable,
6
8
  isSandboxExecAvailable,
7
9
  isWindowsSandboxAvailable
8
- } from "./index-8fwhhayc.js";
9
- import"./index-q1exe2b3.js";
10
+ } from "./index-b44qqqt2.js";
11
+ import"./index-zy7f84cs.js";
10
12
  import"./index-zgwm4ryv.js";
11
13
  import"./index-a76rekgs.js";
12
14
  init_capability_probe();
@@ -15,5 +17,7 @@ export {
15
17
  isWindowsSandboxAvailable,
16
18
  isSandboxExecAvailable,
17
19
  isBubblewrapAvailable,
20
+ _resetCapabilityCache,
21
+ _internals,
18
22
  SandboxCapabilityProbe
19
23
  };
@@ -12,9 +12,9 @@ import {
12
12
  shouldRunOnStartup,
13
13
  writeBackupArtifact,
14
14
  writeDoctorArtifact
15
- } from "./index-h98t1m88.js";
15
+ } from "./index-dc04v786.js";
16
16
  import"./index-z6xqpmqg.js";
17
- import"./index-y8j8ehc8.js";
17
+ import"./index-kdak6s63.js";
18
18
  import"./index-v3y3qg48.js";
19
19
  import"./index-zjygnfay.js";
20
20
  import"./index-bk5tah7q.js";
@@ -14,12 +14,13 @@ import {
14
14
  resolveWorktreeBaseDir,
15
15
  shortenWorktreePath,
16
16
  writeLaneProfileToDiskReal
17
- } from "./index-8j0va7jp.js";
17
+ } from "./index-855hseq4.js";
18
18
  import"./index-z6xqpmqg.js";
19
- import"./index-4rhhvd1a.js";
20
19
  import"./index-v3y3qg48.js";
20
+ import"./index-9e6fdz2h.js";
21
+ import"./index-4rhhvd1a.js";
21
22
  import"./index-zjygnfay.js";
22
- import"./index-4nt52yr9.js";
23
+ import"./index-zj6t9zgx.js";
23
24
  import"./index-zgwm4ryv.js";
24
25
  import"./index-a76rekgs.js";
25
26
  export {
@@ -4,16 +4,16 @@ import {
4
4
  authorizeCuration,
5
5
  buildConfigFingerprintInput,
6
6
  readCohortConfigFingerprint
7
- } from "./index-dty5qgk2.js";
7
+ } from "./index-vdha477y.js";
8
8
  import"./index-rtry5xyf.js";
9
- import"./index-ywn7vtxp.js";
10
- import"./index-mazgg5s2.js";
9
+ import"./index-h1p08s3n.js";
10
+ import"./index-9s8drsf9.js";
11
11
  import"./index-ed5ykebp.js";
12
12
  import"./index-f9vvg5xb.js";
13
13
  import"./index-1jsmmx7y.js";
14
14
  import"./index-7g4c7s5r.js";
15
15
  import"./index-bpmtbmy9.js";
16
- import"./index-4nt52yr9.js";
16
+ import"./index-zj6t9zgx.js";
17
17
  import"./index-zgwm4ryv.js";
18
18
  import"./index-a76rekgs.js";
19
19
  export {
@@ -14,60 +14,61 @@ import {
14
14
  runCuratorInit,
15
15
  runCuratorPhase,
16
16
  writeCuratorSummary
17
- } from "./index-q4ed1jk7.js";
18
- import"./index-d12jd5mn.js";
19
- import"./index-h98t1m88.js";
20
- import"./index-az8etqpp.js";
17
+ } from "./index-wmsehjq6.js";
18
+ import"./index-dtbzyr3s.js";
19
+ import"./index-dc04v786.js";
20
+ import"./index-kh0jt9pg.js";
21
21
  import"./index-134d35c1.js";
22
- import"./index-b6e016tv.js";
23
- import"./index-1csyxv0f.js";
24
- import"./index-fqcjragy.js";
22
+ import"./index-abtrcs16.js";
23
+ import"./index-6z5jtf7d.js";
24
+ import"./index-wknz5c8q.js";
25
25
  import"./index-y8552snf.js";
26
- import"./index-nckg4gxb.js";
26
+ import"./index-63tgh0cn.js";
27
27
  import"./index-70ha9e09.js";
28
28
  import"./index-c8s9a3zh.js";
29
29
  import"./index-9ss2m4rs.js";
30
- import"./index-74hpm6sh.js";
31
- import"./index-bt9aa01f.js";
32
- import"./index-zb0xcz9t.js";
33
- import"./index-x6tp0hfr.js";
34
- import"./index-yts89pqg.js";
35
- import"./index-dty5qgk2.js";
30
+ import"./index-f36ybbsv.js";
31
+ import"./index-hkdgkkhb.js";
32
+ import"./index-wm6f7t7w.js";
33
+ import"./index-ea09xax6.js";
34
+ import"./index-rnyt30tm.js";
35
+ import"./index-vdha477y.js";
36
36
  import"./index-rtry5xyf.js";
37
37
  import"./index-zsrtt42s.js";
38
- import"./index-jabkn643.js";
39
- import"./index-k3cxyk66.js";
40
- import"./index-cz25e8xp.js";
41
- import"./index-8j0va7jp.js";
42
- import"./index-pw83zgny.js";
43
- import"./index-z6v7kwpa.js";
38
+ import"./index-n4hwcsbd.js";
39
+ import"./index-cwtpqm5f.js";
40
+ import"./index-a1hxejxc.js";
41
+ import"./index-855hseq4.js";
42
+ import"./index-mkmcz6x8.js";
43
+ import"./index-7e4q41nb.js";
44
44
  import"./index-556ja8an.js";
45
45
  import"./index-7sy3aa9m.js";
46
46
  import"./index-wx8zdh4a.js";
47
- import"./index-8fwhhayc.js";
48
- import"./index-q1exe2b3.js";
49
- import"./index-03pv47h2.js";
50
- import"./index-4w5qdbk7.js";
51
- import"./index-psvxq93b.js";
47
+ import"./index-b44qqqt2.js";
48
+ import"./index-zy7f84cs.js";
49
+ import"./index-641yjpk8.js";
50
+ import"./index-wbrqvm2g.js";
51
+ import"./index-1pxqkvvq.js";
52
52
  import"./index-gprxjmm7.js";
53
53
  import"./index-n832052r.js";
54
- import"./index-rn0eq85g.js";
54
+ import"./index-fv0s19g9.js";
55
55
  import"./index-z6xqpmqg.js";
56
- import"./index-9qq7c18c.js";
57
- import"./index-y8j8ehc8.js";
58
- import"./index-4rhhvd1a.js";
56
+ import"./index-58cvm3dw.js";
57
+ import"./index-kdak6s63.js";
59
58
  import"./index-v3y3qg48.js";
59
+ import"./index-9e6fdz2h.js";
60
+ import"./index-4rhhvd1a.js";
60
61
  import"./index-zjygnfay.js";
61
62
  import"./index-ae75rja9.js";
62
- import"./index-ywn7vtxp.js";
63
- import"./index-mazgg5s2.js";
63
+ import"./index-h1p08s3n.js";
64
+ import"./index-9s8drsf9.js";
64
65
  import"./index-ed5ykebp.js";
65
66
  import"./index-bk5tah7q.js";
66
67
  import"./index-f9vvg5xb.js";
67
68
  import"./index-1jsmmx7y.js";
68
69
  import"./index-7g4c7s5r.js";
69
70
  import"./index-bpmtbmy9.js";
70
- import"./index-4nt52yr9.js";
71
+ import"./index-zj6t9zgx.js";
71
72
  import"./index-zgwm4ryv.js";
72
73
  import"./index-a76rekgs.js";
73
74
  export {
@@ -9,7 +9,7 @@ import"./index-n832052r.js";
9
9
  import {
10
10
  readSwarmFileAsync,
11
11
  validateSwarmPath
12
- } from "./index-rn0eq85g.js";
12
+ } from "./index-fv0s19g9.js";
13
13
  import"./index-z6xqpmqg.js";
14
14
  import"./index-4rhhvd1a.js";
15
15
  import"./index-zjygnfay.js";
@@ -17,7 +17,7 @@ import {
17
17
  invalidateCachedArtifact
18
18
  } from "./index-ed5ykebp.js";
19
19
  import"./index-bpmtbmy9.js";
20
- import"./index-4nt52yr9.js";
20
+ import"./index-zj6t9zgx.js";
21
21
  import {
22
22
  init_logger,
23
23
  warn
@@ -0,0 +1,63 @@
1
+ // @bun
2
+ import {
3
+ createCuratorLLMDelegate
4
+ } from "./index-wmsehjq6.js";
5
+ import"./index-dtbzyr3s.js";
6
+ import"./index-dc04v786.js";
7
+ import"./index-kh0jt9pg.js";
8
+ import"./index-134d35c1.js";
9
+ import"./index-abtrcs16.js";
10
+ import"./index-6z5jtf7d.js";
11
+ import"./index-wknz5c8q.js";
12
+ import"./index-y8552snf.js";
13
+ import"./index-63tgh0cn.js";
14
+ import"./index-70ha9e09.js";
15
+ import"./index-c8s9a3zh.js";
16
+ import"./index-9ss2m4rs.js";
17
+ import"./index-f36ybbsv.js";
18
+ import"./index-hkdgkkhb.js";
19
+ import"./index-wm6f7t7w.js";
20
+ import"./index-ea09xax6.js";
21
+ import"./index-rnyt30tm.js";
22
+ import"./index-vdha477y.js";
23
+ import"./index-rtry5xyf.js";
24
+ import"./index-zsrtt42s.js";
25
+ import"./index-n4hwcsbd.js";
26
+ import"./index-cwtpqm5f.js";
27
+ import"./index-a1hxejxc.js";
28
+ import"./index-855hseq4.js";
29
+ import"./index-mkmcz6x8.js";
30
+ import"./index-7e4q41nb.js";
31
+ import"./index-556ja8an.js";
32
+ import"./index-7sy3aa9m.js";
33
+ import"./index-wx8zdh4a.js";
34
+ import"./index-b44qqqt2.js";
35
+ import"./index-zy7f84cs.js";
36
+ import"./index-641yjpk8.js";
37
+ import"./index-wbrqvm2g.js";
38
+ import"./index-1pxqkvvq.js";
39
+ import"./index-gprxjmm7.js";
40
+ import"./index-n832052r.js";
41
+ import"./index-fv0s19g9.js";
42
+ import"./index-z6xqpmqg.js";
43
+ import"./index-58cvm3dw.js";
44
+ import"./index-kdak6s63.js";
45
+ import"./index-v3y3qg48.js";
46
+ import"./index-9e6fdz2h.js";
47
+ import"./index-4rhhvd1a.js";
48
+ import"./index-zjygnfay.js";
49
+ import"./index-ae75rja9.js";
50
+ import"./index-h1p08s3n.js";
51
+ import"./index-9s8drsf9.js";
52
+ import"./index-ed5ykebp.js";
53
+ import"./index-bk5tah7q.js";
54
+ import"./index-f9vvg5xb.js";
55
+ import"./index-1jsmmx7y.js";
56
+ import"./index-7g4c7s5r.js";
57
+ import"./index-bpmtbmy9.js";
58
+ import"./index-zj6t9zgx.js";
59
+ import"./index-zgwm4ryv.js";
60
+ import"./index-a76rekgs.js";
61
+ export {
62
+ createCuratorLLMDelegate
63
+ };
@@ -11,10 +11,10 @@ import {
11
11
  defaultTestFilesFor,
12
12
  detectProjectLanguages,
13
13
  tokenizeCommand
14
- } from "./index-b6e016tv.js";
14
+ } from "./index-abtrcs16.js";
15
15
  import"./index-z6xqpmqg.js";
16
16
  import"./index-zjygnfay.js";
17
- import"./index-4nt52yr9.js";
17
+ import"./index-zj6t9zgx.js";
18
18
  import"./index-zgwm4ryv.js";
19
19
  import"./index-a76rekgs.js";
20
20
 
@@ -6,34 +6,35 @@ import {
6
6
  loadPlanJsonOnly,
7
7
  mergeDurableGateEntriesFromEvidence,
8
8
  readDurableGateEvidence
9
- } from "./index-az8etqpp.js";
9
+ } from "./index-kh0jt9pg.js";
10
10
  import"./index-134d35c1.js";
11
- import"./index-fqcjragy.js";
11
+ import"./index-wknz5c8q.js";
12
12
  import"./index-y8552snf.js";
13
13
  import"./index-9ss2m4rs.js";
14
14
  import"./index-zsrtt42s.js";
15
- import"./index-cz25e8xp.js";
16
- import"./index-8j0va7jp.js";
17
- import"./index-z6v7kwpa.js";
15
+ import"./index-a1hxejxc.js";
16
+ import"./index-855hseq4.js";
17
+ import"./index-7e4q41nb.js";
18
18
  import"./index-556ja8an.js";
19
- import"./index-q1exe2b3.js";
19
+ import"./index-zy7f84cs.js";
20
20
  import"./index-gprxjmm7.js";
21
21
  import"./index-n832052r.js";
22
- import"./index-rn0eq85g.js";
22
+ import"./index-fv0s19g9.js";
23
23
  import"./index-z6xqpmqg.js";
24
- import"./index-9qq7c18c.js";
25
- import"./index-y8j8ehc8.js";
26
- import"./index-4rhhvd1a.js";
24
+ import"./index-58cvm3dw.js";
25
+ import"./index-kdak6s63.js";
27
26
  import"./index-v3y3qg48.js";
27
+ import"./index-9e6fdz2h.js";
28
+ import"./index-4rhhvd1a.js";
28
29
  import"./index-zjygnfay.js";
29
- import"./index-mazgg5s2.js";
30
+ import"./index-9s8drsf9.js";
30
31
  import"./index-ed5ykebp.js";
31
32
  import"./index-bk5tah7q.js";
32
33
  import"./index-f9vvg5xb.js";
33
34
  import"./index-1jsmmx7y.js";
34
35
  import"./index-7g4c7s5r.js";
35
36
  import"./index-bpmtbmy9.js";
36
- import"./index-4nt52yr9.js";
37
+ import"./index-zj6t9zgx.js";
37
38
  import {
38
39
  log
39
40
  } from "./index-zgwm4ryv.js";
@@ -17,21 +17,22 @@ import {
17
17
  reduceTaskWorkflowSnapshot,
18
18
  transitionTaskWorkflowEvidence,
19
19
  withTaskEvidenceTransaction
20
- } from "./index-cz25e8xp.js";
21
- import"./index-8j0va7jp.js";
20
+ } from "./index-a1hxejxc.js";
21
+ import"./index-855hseq4.js";
22
22
  import"./index-556ja8an.js";
23
- import"./index-rn0eq85g.js";
23
+ import"./index-fv0s19g9.js";
24
24
  import"./index-z6xqpmqg.js";
25
- import"./index-4rhhvd1a.js";
26
25
  import"./index-v3y3qg48.js";
26
+ import"./index-9e6fdz2h.js";
27
+ import"./index-4rhhvd1a.js";
27
28
  import"./index-zjygnfay.js";
28
- import"./index-mazgg5s2.js";
29
+ import"./index-9s8drsf9.js";
29
30
  import"./index-ed5ykebp.js";
30
31
  import"./index-f9vvg5xb.js";
31
32
  import"./index-1jsmmx7y.js";
32
33
  import"./index-7g4c7s5r.js";
33
34
  import"./index-bpmtbmy9.js";
34
- import"./index-4nt52yr9.js";
35
+ import"./index-zj6t9zgx.js";
35
36
  import"./index-zgwm4ryv.js";
36
37
  import"./index-a76rekgs.js";
37
38
  export {
@@ -0,0 +1,64 @@
1
+ // @bun
2
+ import {
3
+ handleGuardrailExplain
4
+ } from "./index-rdgtfj74.js";
5
+ import"./index-wmsehjq6.js";
6
+ import"./index-dtbzyr3s.js";
7
+ import"./index-dc04v786.js";
8
+ import"./index-kh0jt9pg.js";
9
+ import"./index-134d35c1.js";
10
+ import"./index-abtrcs16.js";
11
+ import"./index-6z5jtf7d.js";
12
+ import"./index-wknz5c8q.js";
13
+ import"./index-y8552snf.js";
14
+ import"./index-63tgh0cn.js";
15
+ import"./index-70ha9e09.js";
16
+ import"./index-c8s9a3zh.js";
17
+ import"./index-9ss2m4rs.js";
18
+ import"./index-f36ybbsv.js";
19
+ import"./index-hkdgkkhb.js";
20
+ import"./index-wm6f7t7w.js";
21
+ import"./index-ea09xax6.js";
22
+ import"./index-rnyt30tm.js";
23
+ import"./index-vdha477y.js";
24
+ import"./index-rtry5xyf.js";
25
+ import"./index-zsrtt42s.js";
26
+ import"./index-n4hwcsbd.js";
27
+ import"./index-cwtpqm5f.js";
28
+ import"./index-a1hxejxc.js";
29
+ import"./index-855hseq4.js";
30
+ import"./index-mkmcz6x8.js";
31
+ import"./index-7e4q41nb.js";
32
+ import"./index-556ja8an.js";
33
+ import"./index-7sy3aa9m.js";
34
+ import"./index-wx8zdh4a.js";
35
+ import"./index-b44qqqt2.js";
36
+ import"./index-zy7f84cs.js";
37
+ import"./index-641yjpk8.js";
38
+ import"./index-wbrqvm2g.js";
39
+ import"./index-1pxqkvvq.js";
40
+ import"./index-gprxjmm7.js";
41
+ import"./index-n832052r.js";
42
+ import"./index-fv0s19g9.js";
43
+ import"./index-z6xqpmqg.js";
44
+ import"./index-58cvm3dw.js";
45
+ import"./index-kdak6s63.js";
46
+ import"./index-v3y3qg48.js";
47
+ import"./index-9e6fdz2h.js";
48
+ import"./index-4rhhvd1a.js";
49
+ import"./index-zjygnfay.js";
50
+ import"./index-ae75rja9.js";
51
+ import"./index-h1p08s3n.js";
52
+ import"./index-9s8drsf9.js";
53
+ import"./index-ed5ykebp.js";
54
+ import"./index-bk5tah7q.js";
55
+ import"./index-f9vvg5xb.js";
56
+ import"./index-1jsmmx7y.js";
57
+ import"./index-7g4c7s5r.js";
58
+ import"./index-bpmtbmy9.js";
59
+ import"./index-zj6t9zgx.js";
60
+ import"./index-zgwm4ryv.js";
61
+ import"./index-a76rekgs.js";
62
+ export {
63
+ handleGuardrailExplain
64
+ };
@@ -1,16 +1,16 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailLog
4
- } from "./index-q67jb94n.js";
5
- import"./index-d12jd5mn.js";
4
+ } from "./index-3qdzpv91.js";
5
+ import"./index-dtbzyr3s.js";
6
6
  import"./index-556ja8an.js";
7
7
  import"./index-z6xqpmqg.js";
8
- import"./index-y8j8ehc8.js";
8
+ import"./index-kdak6s63.js";
9
9
  import"./index-v3y3qg48.js";
10
10
  import"./index-zjygnfay.js";
11
11
  import"./index-bk5tah7q.js";
12
12
  import"./index-bpmtbmy9.js";
13
- import"./index-4nt52yr9.js";
13
+ import"./index-zj6t9zgx.js";
14
14
  import"./index-zgwm4ryv.js";
15
15
  import"./index-a76rekgs.js";
16
16
  export {
@@ -7,62 +7,63 @@ import {
7
7
  isHiveEligible,
8
8
  promoteFromSwarm,
9
9
  promoteToHive
10
- } from "./index-q4ed1jk7.js";
11
- import"./index-d12jd5mn.js";
12
- import"./index-h98t1m88.js";
13
- import"./index-az8etqpp.js";
10
+ } from "./index-wmsehjq6.js";
11
+ import"./index-dtbzyr3s.js";
12
+ import"./index-dc04v786.js";
13
+ import"./index-kh0jt9pg.js";
14
14
  import"./index-134d35c1.js";
15
- import"./index-b6e016tv.js";
16
- import"./index-1csyxv0f.js";
17
- import"./index-fqcjragy.js";
15
+ import"./index-abtrcs16.js";
16
+ import"./index-6z5jtf7d.js";
17
+ import"./index-wknz5c8q.js";
18
18
  import"./index-y8552snf.js";
19
- import"./index-nckg4gxb.js";
19
+ import"./index-63tgh0cn.js";
20
20
  import"./index-70ha9e09.js";
21
21
  import"./index-c8s9a3zh.js";
22
22
  import"./index-9ss2m4rs.js";
23
- import"./index-74hpm6sh.js";
24
- import"./index-bt9aa01f.js";
25
- import"./index-zb0xcz9t.js";
26
- import"./index-x6tp0hfr.js";
27
- import"./index-yts89pqg.js";
28
- import"./index-dty5qgk2.js";
23
+ import"./index-f36ybbsv.js";
24
+ import"./index-hkdgkkhb.js";
25
+ import"./index-wm6f7t7w.js";
26
+ import"./index-ea09xax6.js";
27
+ import"./index-rnyt30tm.js";
28
+ import"./index-vdha477y.js";
29
29
  import"./index-rtry5xyf.js";
30
30
  import"./index-zsrtt42s.js";
31
- import"./index-jabkn643.js";
32
- import"./index-k3cxyk66.js";
33
- import"./index-cz25e8xp.js";
34
- import"./index-8j0va7jp.js";
35
- import"./index-pw83zgny.js";
36
- import"./index-z6v7kwpa.js";
31
+ import"./index-n4hwcsbd.js";
32
+ import"./index-cwtpqm5f.js";
33
+ import"./index-a1hxejxc.js";
34
+ import"./index-855hseq4.js";
35
+ import"./index-mkmcz6x8.js";
36
+ import"./index-7e4q41nb.js";
37
37
  import"./index-556ja8an.js";
38
38
  import"./index-7sy3aa9m.js";
39
39
  import"./index-wx8zdh4a.js";
40
- import"./index-8fwhhayc.js";
41
- import"./index-q1exe2b3.js";
40
+ import"./index-b44qqqt2.js";
41
+ import"./index-zy7f84cs.js";
42
42
  import {
43
43
  resolveHiveKnowledgePath
44
- } from "./index-03pv47h2.js";
45
- import"./index-4w5qdbk7.js";
46
- import"./index-psvxq93b.js";
44
+ } from "./index-641yjpk8.js";
45
+ import"./index-wbrqvm2g.js";
46
+ import"./index-1pxqkvvq.js";
47
47
  import"./index-gprxjmm7.js";
48
48
  import"./index-n832052r.js";
49
- import"./index-rn0eq85g.js";
49
+ import"./index-fv0s19g9.js";
50
50
  import"./index-z6xqpmqg.js";
51
- import"./index-9qq7c18c.js";
52
- import"./index-y8j8ehc8.js";
53
- import"./index-4rhhvd1a.js";
51
+ import"./index-58cvm3dw.js";
52
+ import"./index-kdak6s63.js";
54
53
  import"./index-v3y3qg48.js";
54
+ import"./index-9e6fdz2h.js";
55
+ import"./index-4rhhvd1a.js";
55
56
  import"./index-zjygnfay.js";
56
57
  import"./index-ae75rja9.js";
57
- import"./index-ywn7vtxp.js";
58
- import"./index-mazgg5s2.js";
58
+ import"./index-h1p08s3n.js";
59
+ import"./index-9s8drsf9.js";
59
60
  import"./index-ed5ykebp.js";
60
61
  import"./index-bk5tah7q.js";
61
62
  import"./index-f9vvg5xb.js";
62
63
  import"./index-1jsmmx7y.js";
63
64
  import"./index-7g4c7s5r.js";
64
65
  import"./index-bpmtbmy9.js";
65
- import"./index-4nt52yr9.js";
66
+ import"./index-zj6t9zgx.js";
66
67
  import"./index-zgwm4ryv.js";
67
68
  import"./index-a76rekgs.js";
68
69
  export {
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  init_loader,
4
4
  loadPluginConfigWithMeta
5
- } from "./index-9qq7c18c.js";
5
+ } from "./index-58cvm3dw.js";
6
6
  import {
7
7
  init_schema
8
- } from "./index-y8j8ehc8.js";
8
+ } from "./index-kdak6s63.js";
9
9
  import {
10
10
  DEFAULT_WORKTREE_ISOLATION_CONFIG,
11
11
  init_constants
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  redactPath,
4
4
  redactShellCommand
5
- } from "./index-d12jd5mn.js";
5
+ } from "./index-dtbzyr3s.js";
6
6
 
7
7
  // src/services/guardrail-log-service.ts
8
8
  import * as fs from "fs/promises";
@@ -6,7 +6,11 @@ import {
6
6
  PluginConfigSchema,
7
7
  init_schema,
8
8
  resolveExternalSkillsConfig
9
- } from "./index-y8j8ehc8.js";
9
+ } from "./index-kdak6s63.js";
10
+ import {
11
+ GIT_BINARY_ENV_VAR,
12
+ init_git_executable
13
+ } from "./index-9e6fdz2h.js";
10
14
  import {
11
15
  advisoryWarn,
12
16
  init_warning_buffer
@@ -437,11 +441,41 @@ function rawFullAutoLocked(raw) {
437
441
  }
438
442
  return fullAuto.locked === true;
439
443
  }
444
+ function exposedGitBinary(raw) {
445
+ if (!raw || typeof raw !== "object")
446
+ return;
447
+ const git = raw.git;
448
+ if (!git || typeof git !== "object" || Array.isArray(git))
449
+ return;
450
+ return git.binary;
451
+ }
452
+ function enforceGitBinaryProvenance(mergedRaw, rawUserConfig) {
453
+ const userBinary = exposedGitBinary(rawUserConfig);
454
+ const exposedBinary = exposedGitBinary(mergedRaw);
455
+ if (Object.is(exposedBinary, userBinary))
456
+ return mergedRaw;
457
+ advisoryWarn(`[opencode-swarm] \u26A0\uFE0F SECURITY: Ignoring "git.binary" supplied by the project config (.opencode/${CONFIG_FILENAME}). ` + 'That file lives inside the repository, so it is untrusted content, and "git.binary" selects the executable this plugin spawns for every git command. ' + `Set it in your user config (<config dir>/opencode/${CONFIG_FILENAME}) or the ${GIT_BINARY_ENV_VAR} environment variable instead.`);
458
+ const exposedGit = mergedRaw.git;
459
+ const nextGit = exposedGit && typeof exposedGit === "object" && !Array.isArray(exposedGit) ? { ...exposedGit } : {};
460
+ const rebuilt = { ...mergedRaw };
461
+ if (userBinary === undefined) {
462
+ delete nextGit.binary;
463
+ if (Object.keys(nextGit).length === 0) {
464
+ delete rebuilt.git;
465
+ return rebuilt;
466
+ }
467
+ } else {
468
+ nextGit.binary = userBinary;
469
+ }
470
+ rebuilt.git = nextGit;
471
+ return rebuilt;
472
+ }
440
473
  function buildConfigWithMeta(rawUserConfig, rawProjectConfig, loadedFromFile, configHadErrors) {
441
474
  let mergedRaw = rawUserConfig ?? {};
442
475
  if (rawProjectConfig) {
443
476
  mergedRaw = deepMerge(mergedRaw, rawProjectConfig);
444
477
  }
478
+ mergedRaw = enforceGitBinaryProvenance(mergedRaw, rawUserConfig);
445
479
  if (rawFullAutoLocked(rawUserConfig) || rawFullAutoLocked(rawProjectConfig)) {
446
480
  const fa = mergedRaw.full_auto && typeof mergedRaw.full_auto === "object" && !Array.isArray(mergedRaw.full_auto) ? mergedRaw.full_auto : {};
447
481
  mergedRaw = { ...mergedRaw, full_auto: { ...fa, locked: true } };
@@ -682,6 +716,7 @@ function loadAgentPrompt(agentName) {
682
716
  var CONFIG_FILENAME = "opencode-swarm.json", PROMPTS_DIR_NAME = "opencode-swarm", MAX_CONFIG_FILE_BYTES = 102400;
683
717
  var init_loader = __esm(() => {
684
718
  init_warning_buffer();
719
+ init_git_executable();
685
720
  init_sanitize_malformed_values();
686
721
  init_schema();
687
722
  init_merge();