opencode-swarm 7.158.1 → 7.159.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/README.md +4 -2
  2. package/dist/cli/{coder-settlement-nrtcjr0h.js → coder-settlement-d89tqam8.js} +9 -9
  3. package/dist/cli/{config-doctor-hs0x10ty.js → config-doctor-8zawz3qh.js} +2 -2
  4. package/dist/cli/{core-a42bexs1.js → core-pp64ys5v.js} +1 -1
  5. package/dist/cli/{curation-policy-vn3m5nq2.js → curation-policy-2gq8307w.js} +6 -6
  6. package/dist/cli/{curator-llm-factory-21vqqvn3.js → curator-llm-factory-m3yw6sn5.js} +30 -30
  7. package/dist/cli/{curator-yawrnk3t.js → curator-mpqpbr0r.js} +30 -30
  8. package/dist/cli/{evidence-summary-service-kmc92b95.js → evidence-summary-service-qaq1eba9.js} +12 -12
  9. package/dist/cli/{gate-evidence-6tzhdxb2.js → gate-evidence-r0c71n04.js} +6 -6
  10. package/dist/cli/{guardrail-explain-7xrdp18c.js → guardrail-explain-5z64w3ah.js} +31 -31
  11. package/dist/cli/{guardrail-log-f16sdc3p.js → guardrail-log-f9nf687y.js} +5 -5
  12. package/dist/cli/{guardrail-reset-0ks08s0t.js → guardrail-reset-yjwk20rb.js} +30 -30
  13. package/dist/cli/{hive-promoter-d661k3qq.js → hive-promoter-zjtgbh4w.js} +30 -30
  14. package/dist/cli/{index-nwkr6tvv.js → index-0zerbq1v.js} +1 -1
  15. package/dist/cli/{index-mc9qgkwd.js → index-1qpagg2t.js} +3 -3
  16. package/dist/cli/{index-tc14d2zy.js → index-29wav1x0.js} +4 -4
  17. package/dist/cli/{index-ygxb3jw4.js → index-2z00wqvb.js} +3 -3
  18. package/dist/cli/{index-4wy9kzjg.js → index-36sgq7n9.js} +32 -32
  19. package/dist/cli/{index-xzhk2hav.js → index-3rcqxbwt.js} +1 -1
  20. package/dist/cli/{index-6x9jq0cd.js → index-3scbg6n2.js} +2 -2
  21. package/dist/cli/{index-zy60xd05.js → index-4k9pqbxw.js} +2 -2
  22. package/dist/cli/{index-mfv7mfgg.js → index-4nc9npx5.js} +2 -2
  23. package/dist/cli/{index-pfnj5pvs.js → index-54pkyasv.js} +1 -1
  24. package/dist/cli/{index-86vvhe8m.js → index-60mzwj91.js} +15 -1
  25. package/dist/cli/{index-8fqb0ynp.js → index-6z53bew2.js} +1 -1
  26. package/dist/cli/{index-jz216dhj.js → index-7yg4ypyg.js} +26 -2
  27. package/dist/cli/{index-ac8rwjsg.js → index-86dvzyac.js} +785 -235
  28. package/dist/cli/{index-tppnfxkm.js → index-8819vcke.js} +4 -4
  29. package/dist/cli/{index-ff8xjr1c.js → index-9fphcxes.js} +2 -2
  30. package/dist/cli/{index-hrrzxz3q.js → index-9yxyc1gb.js} +6 -6
  31. package/dist/cli/{index-zcmwwp1x.js → index-a5w29k1t.js} +1 -1
  32. package/dist/cli/{index-xagq35tf.js → index-av3gnekk.js} +1 -1
  33. package/dist/cli/{index-xscjecyq.js → index-bea260ta.js} +6 -6
  34. package/dist/cli/{index-dr2tfawg.js → index-bz7ayg01.js} +5 -5
  35. package/dist/cli/{index-7qvfkgyk.js → index-f3yphmk6.js} +7 -7
  36. package/dist/cli/{index-5zgf140g.js → index-g6d8xam2.js} +1 -1
  37. package/dist/cli/{index-azx50qge.js → index-gkw7kq6z.js} +5 -5
  38. package/dist/cli/{index-203fqkqk.js → index-k6y6btb6.js} +3 -3
  39. package/dist/cli/{index-h1g8w4v0.js → index-prknc0xn.js} +129 -44
  40. package/dist/cli/{index-z54qw70y.js → index-tvz43tea.js} +1 -1
  41. package/dist/cli/{index-h52hs4e9.js → index-v3jy0tc6.js} +2 -2
  42. package/dist/cli/{index-t8g88esk.js → index-ve3v09kq.js} +1 -1
  43. package/dist/cli/{index-mt6qjp4c.js → index-wae55z9w.js} +81 -72
  44. package/dist/cli/{index-nphnjeh8.js → index-wttqayp1.js} +2 -2
  45. package/dist/cli/{index-5erwyk1b.js → index-yw26j0q7.js} +7 -7
  46. package/dist/cli/{index-2j07670d.js → index-zmc8mm7v.js} +4 -4
  47. package/dist/cli/{index-7s1hmrfh.js → index-zxkv8x5n.js} +2 -2
  48. package/dist/cli/index.js +38 -46
  49. package/dist/cli/{knowledge-escalator-9py5r6c9.js → knowledge-escalator-585m4927.js} +11 -11
  50. package/dist/cli/{knowledge-events-vcbece74.js → knowledge-events-ssegqfmy.js} +9 -9
  51. package/dist/cli/{knowledge-link-cj2abbae.js → knowledge-link-a9fafeb3.js} +5 -5
  52. package/dist/cli/{knowledge-store-0rdfjv20.js → knowledge-store-nznky6cv.js} +6 -6
  53. package/dist/cli/{knowledge-validator-nwjnjgf5.js → knowledge-validator-3byea8gp.js} +8 -8
  54. package/dist/cli/{pending-delegations-ht1vgaze.js → pending-delegations-qrjq3s29.js} +3 -3
  55. package/dist/cli/{pr-review-reentry-authorization-857b9rvv.js → pr-review-reentry-authorization-w8ja0m2p.js} +30 -30
  56. package/dist/cli/{pr-subscriptions-j9j70bmd.js → pr-subscriptions-fvmey1x6.js} +4 -4
  57. package/dist/cli/{runner-sj5sf36c.js → runner-atbehryj.js} +6 -6
  58. package/dist/cli/{scan-cursor-59yj7tp9.js → scan-cursor-kv9scb2v.js} +7 -7
  59. package/dist/cli/{schema-8a7fyp87.js → schema-a7f88yc3.js} +1 -1
  60. package/dist/cli/{scope-persistence-prdxtcr3.js → scope-persistence-x6de46s4.js} +8 -8
  61. package/dist/cli/{skill-generator-v2jkgp63.js → skill-generator-vwcrfrw3.js} +13 -13
  62. package/dist/cli/{telemetry-r8e8zey7.js → telemetry-3rh94wv3.js} +1 -1
  63. package/dist/cli/{worktree-collision-ownership-6x03w8h7.js → worktree-collision-ownership-7kf9mm5z.js} +5 -5
  64. package/dist/cli/{worktree-isolation-s0setq2a.js → worktree-isolation-6zh5bxrd.js} +30 -30
  65. package/dist/commands/close.d.ts +2 -0
  66. package/dist/config/loader.d.ts +3 -0
  67. package/dist/config/project-init.d.ts +11 -7
  68. package/dist/config/schema.d.ts +21 -0
  69. package/dist/evaluation/contracts.d.ts +5 -5
  70. package/dist/evaluation/ephemeral-agent-dispatcher.d.ts +2 -0
  71. package/dist/evaluation/model-dispatcher.d.ts +2 -2
  72. package/dist/index.js +478 -475
  73. package/dist/observability/catalog.d.ts +5 -3
  74. package/dist/review/contracts.d.ts +2 -1
  75. package/dist/review/evidence.d.ts +12 -0
  76. package/dist/services/cost-accounting.d.ts +100 -0
  77. package/dist/services/status-service.d.ts +12 -0
  78. package/dist/telemetry.d.ts +1 -1
  79. package/dist/tools/repo-graph/query.d.ts +1 -0
  80. package/dist/tools/repo-graph/symbol-query.d.ts +47 -0
  81. package/dist/tools/repo-graph/types.d.ts +267 -1
  82. package/dist/tools/repo-graph.d.ts +3 -1
  83. package/opencode-swarm.schema.json +5200 -0
  84. package/package.json +4 -2
@@ -7,64 +7,64 @@ import {
7
7
  isHiveEligible,
8
8
  promoteFromSwarm,
9
9
  promoteToHive
10
- } from "./index-ac8rwjsg.js";
11
- import"./index-z54qw70y.js";
12
- import"./index-ff8xjr1c.js";
13
- import"./index-86vvhe8m.js";
14
- import"./index-7qvfkgyk.js";
15
- import"./index-7s1hmrfh.js";
10
+ } from "./index-86dvzyac.js";
11
+ import"./index-tvz43tea.js";
12
+ import"./index-9fphcxes.js";
13
+ import"./index-60mzwj91.js";
14
+ import"./index-f3yphmk6.js";
15
+ import"./index-zxkv8x5n.js";
16
16
  import"./index-txdagbh7.js";
17
17
  import"./index-134d35c1.js";
18
18
  import"./index-nj6rmyeh.js";
19
- import"./index-tc14d2zy.js";
20
- import"./index-azx50qge.js";
21
- import"./index-mfv7mfgg.js";
19
+ import"./index-29wav1x0.js";
20
+ import"./index-gkw7kq6z.js";
21
+ import"./index-4nc9npx5.js";
22
22
  import"./index-70ha9e09.js";
23
23
  import"./index-c8s9a3zh.js";
24
24
  import"./index-9ss2m4rs.js";
25
- import"./index-mc9qgkwd.js";
25
+ import"./index-1qpagg2t.js";
26
26
  import"./index-zsrtt42s.js";
27
- import"./index-hrrzxz3q.js";
27
+ import"./index-9yxyc1gb.js";
28
28
  import"./index-3f7hqtgg.js";
29
- import"./index-8fqb0ynp.js";
30
- import"./index-tppnfxkm.js";
31
- import"./index-pfnj5pvs.js";
29
+ import"./index-6z53bew2.js";
30
+ import"./index-8819vcke.js";
31
+ import"./index-54pkyasv.js";
32
32
  import"./index-rtry5xyf.js";
33
- import"./index-2j07670d.js";
34
- import"./index-t8g88esk.js";
35
- import"./index-zy60xd05.js";
33
+ import"./index-zmc8mm7v.js";
34
+ import"./index-ve3v09kq.js";
35
+ import"./index-4k9pqbxw.js";
36
36
  import"./index-ddszzne4.js";
37
- import"./index-dr2tfawg.js";
38
- import"./index-203fqkqk.js";
39
- import"./index-nwkr6tvv.js";
37
+ import"./index-bz7ayg01.js";
38
+ import"./index-k6y6btb6.js";
39
+ import"./index-0zerbq1v.js";
40
40
  import"./index-556ja8an.js";
41
41
  import"./index-4fwbbad3.js";
42
42
  import"./index-b43rt5ph.js";
43
43
  import"./index-q7sjgr1y.js";
44
44
  import {
45
45
  resolveHiveKnowledgePath
46
- } from "./index-xscjecyq.js";
47
- import"./index-5erwyk1b.js";
48
- import"./index-6x9jq0cd.js";
46
+ } from "./index-bea260ta.js";
47
+ import"./index-yw26j0q7.js";
48
+ import"./index-3scbg6n2.js";
49
49
  import"./index-gprxjmm7.js";
50
50
  import"./index-n832052r.js";
51
51
  import"./index-dtn0pne5.js";
52
52
  import"./index-z6xqpmqg.js";
53
53
  import"./index-r3mvsbtq.js";
54
- import"./index-jz216dhj.js";
55
- import"./index-mt6qjp4c.js";
54
+ import"./index-7yg4ypyg.js";
55
+ import"./index-wae55z9w.js";
56
56
  import"./index-9e6fdz2h.js";
57
57
  import"./index-4rhhvd1a.js";
58
58
  import"./index-yt75r1er.js";
59
59
  import"./index-zjygnfay.js";
60
60
  import"./index-ae75rja9.js";
61
- import"./index-5zgf140g.js";
62
- import"./index-h52hs4e9.js";
61
+ import"./index-g6d8xam2.js";
62
+ import"./index-v3jy0tc6.js";
63
63
  import"./index-bk5tah7q.js";
64
- import"./index-zcmwwp1x.js";
65
- import"./index-xagq35tf.js";
64
+ import"./index-a5w29k1t.js";
65
+ import"./index-av3gnekk.js";
66
66
  import"./index-ed5ykebp.js";
67
- import"./index-h1g8w4v0.js";
67
+ import"./index-prknc0xn.js";
68
68
  import"./index-7g4c7s5r.js";
69
69
  import"./index-bpmtbmy9.js";
70
70
  import"./index-zgwm4ryv.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  telemetry
4
- } from "./index-h1g8w4v0.js";
4
+ } from "./index-prknc0xn.js";
5
5
  import {
6
6
  init_logger,
7
7
  warn
@@ -4,13 +4,13 @@ import {
4
4
  } from "./index-dtn0pne5.js";
5
5
  import {
6
6
  atomicWriteSwarmFileSync
7
- } from "./index-zcmwwp1x.js";
7
+ } from "./index-a5w29k1t.js";
8
8
  import {
9
9
  withEvidenceLock
10
- } from "./index-xagq35tf.js";
10
+ } from "./index-av3gnekk.js";
11
11
  import {
12
12
  telemetry
13
- } from "./index-h1g8w4v0.js";
13
+ } from "./index-prknc0xn.js";
14
14
  import {
15
15
  exports_external,
16
16
  init_zod
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  ALLOWED_SKILL_PATH_PREFIXES,
4
4
  validateSkillPath
5
- } from "./index-tppnfxkm.js";
5
+ } from "./index-8819vcke.js";
6
6
  import {
7
7
  withTimeoutSignal
8
8
  } from "./index-q7sjgr1y.js";
@@ -12,11 +12,11 @@ import {
12
12
  resolveHiveKnowledgePath,
13
13
  resolveSwarmKnowledgePath,
14
14
  transactKnowledge
15
- } from "./index-xscjecyq.js";
15
+ } from "./index-bea260ta.js";
16
16
  import {
17
17
  effectiveRetrievalOutcomes,
18
18
  readAuthoritativeKnowledgeCounterRollups
19
- } from "./index-5erwyk1b.js";
19
+ } from "./index-yw26j0q7.js";
20
20
  import {
21
21
  advisoryWarn,
22
22
  init_warning_buffer
@@ -28,7 +28,7 @@ import {
28
28
  import {
29
29
  atomicWriteFileAnyRoot,
30
30
  atomicWriteSwarmFile
31
- } from "./index-zcmwwp1x.js";
31
+ } from "./index-a5w29k1t.js";
32
32
  import {
33
33
  init_logger,
34
34
  log,
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  _internals,
4
4
  resolveWorktreeIsolationConfig
5
- } from "./index-6x9jq0cd.js";
5
+ } from "./index-3scbg6n2.js";
6
6
  import {
7
7
  ApprovalEvidenceSchema,
8
8
  BaseEvidenceSchema,
@@ -42,7 +42,7 @@ import {
42
42
  loadPluginConfig,
43
43
  loadPluginConfigWithMeta,
44
44
  loadPluginConfigWithMetaAsync
45
- } from "./index-jz216dhj.js";
45
+ } from "./index-7yg4ypyg.js";
46
46
  import {
47
47
  AUTO_REVIEW_V8_BURN_IN_DECISION,
48
48
  AgentOverrideConfigSchema,
@@ -64,7 +64,7 @@ import {
64
64
  TurboConfigSchema,
65
65
  WorktreeIsolationConfigSchema,
66
66
  resolveAutoReviewConfig
67
- } from "./index-mt6qjp4c.js";
67
+ } from "./index-wae55z9w.js";
68
68
  import"./index-9e6fdz2h.js";
69
69
  import"./index-4rhhvd1a.js";
70
70
  import {
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-nphnjeh8.js";
4
+ } from "./index-wttqayp1.js";
5
5
  import {
6
6
  handleGuardrailLog
7
- } from "./index-xzhk2hav.js";
7
+ } from "./index-3rcqxbwt.js";
8
8
  import {
9
9
  COMMAND_REGISTRY,
10
10
  SWARM_COMMAND_TOOL_ALLOWLIST,
@@ -94,53 +94,53 @@ import {
94
94
  handleWriteRetroCommand,
95
95
  normalizeSwarmCommandInput,
96
96
  resolveCommand
97
- } from "./index-ac8rwjsg.js";
98
- import"./index-z54qw70y.js";
99
- import"./index-ff8xjr1c.js";
100
- import"./index-86vvhe8m.js";
101
- import"./index-7qvfkgyk.js";
102
- import"./index-7s1hmrfh.js";
97
+ } from "./index-86dvzyac.js";
98
+ import"./index-tvz43tea.js";
99
+ import"./index-9fphcxes.js";
100
+ import"./index-60mzwj91.js";
101
+ import"./index-f3yphmk6.js";
102
+ import"./index-zxkv8x5n.js";
103
103
  import"./index-txdagbh7.js";
104
104
  import"./index-134d35c1.js";
105
105
  import"./index-nj6rmyeh.js";
106
- import"./index-tc14d2zy.js";
107
- import"./index-azx50qge.js";
108
- import"./index-mfv7mfgg.js";
106
+ import"./index-29wav1x0.js";
107
+ import"./index-gkw7kq6z.js";
108
+ import"./index-4nc9npx5.js";
109
109
  import"./index-70ha9e09.js";
110
110
  import"./index-c8s9a3zh.js";
111
111
  import"./index-9ss2m4rs.js";
112
- import"./index-mc9qgkwd.js";
112
+ import"./index-1qpagg2t.js";
113
113
  import"./index-zsrtt42s.js";
114
- import"./index-hrrzxz3q.js";
114
+ import"./index-9yxyc1gb.js";
115
115
  import"./index-3f7hqtgg.js";
116
- import"./index-8fqb0ynp.js";
117
- import"./index-tppnfxkm.js";
118
- import"./index-pfnj5pvs.js";
116
+ import"./index-6z53bew2.js";
117
+ import"./index-8819vcke.js";
118
+ import"./index-54pkyasv.js";
119
119
  import"./index-rtry5xyf.js";
120
- import"./index-2j07670d.js";
121
- import"./index-t8g88esk.js";
122
- import"./index-zy60xd05.js";
120
+ import"./index-zmc8mm7v.js";
121
+ import"./index-ve3v09kq.js";
122
+ import"./index-4k9pqbxw.js";
123
123
  import"./index-ddszzne4.js";
124
- import"./index-dr2tfawg.js";
125
- import"./index-203fqkqk.js";
126
- import"./index-nwkr6tvv.js";
124
+ import"./index-bz7ayg01.js";
125
+ import"./index-k6y6btb6.js";
126
+ import"./index-0zerbq1v.js";
127
127
  import"./index-556ja8an.js";
128
128
  import"./index-4fwbbad3.js";
129
129
  import"./index-b43rt5ph.js";
130
130
  import"./index-q7sjgr1y.js";
131
- import"./index-xscjecyq.js";
132
- import"./index-5erwyk1b.js";
133
- import"./index-6x9jq0cd.js";
131
+ import"./index-bea260ta.js";
132
+ import"./index-yw26j0q7.js";
133
+ import"./index-3scbg6n2.js";
134
134
  import"./index-gprxjmm7.js";
135
135
  import"./index-n832052r.js";
136
136
  import"./index-dtn0pne5.js";
137
137
  import"./index-z6xqpmqg.js";
138
138
  import"./index-r3mvsbtq.js";
139
- import"./index-jz216dhj.js";
139
+ import"./index-7yg4ypyg.js";
140
140
  import {
141
141
  init_schema,
142
142
  stripKnownSwarmPrefix
143
- } from "./index-mt6qjp4c.js";
143
+ } from "./index-wae55z9w.js";
144
144
  import"./index-9e6fdz2h.js";
145
145
  import"./index-4rhhvd1a.js";
146
146
  import {
@@ -150,13 +150,13 @@ import {
150
150
  } from "./index-yt75r1er.js";
151
151
  import"./index-zjygnfay.js";
152
152
  import"./index-ae75rja9.js";
153
- import"./index-5zgf140g.js";
154
- import"./index-h52hs4e9.js";
153
+ import"./index-g6d8xam2.js";
154
+ import"./index-v3jy0tc6.js";
155
155
  import"./index-bk5tah7q.js";
156
- import"./index-zcmwwp1x.js";
157
- import"./index-xagq35tf.js";
156
+ import"./index-a5w29k1t.js";
157
+ import"./index-av3gnekk.js";
158
158
  import"./index-ed5ykebp.js";
159
- import"./index-h1g8w4v0.js";
159
+ import"./index-prknc0xn.js";
160
160
  import"./index-7g4c7s5r.js";
161
161
  import"./index-bpmtbmy9.js";
162
162
  import"./index-zgwm4ryv.js";
@@ -4,7 +4,7 @@ import {
4
4
  readShellAuditTail,
5
5
  redactPath,
6
6
  redactShellCommand
7
- } from "./index-ff8xjr1c.js";
7
+ } from "./index-9fphcxes.js";
8
8
 
9
9
  // src/services/guardrail-log-service.ts
10
10
  var BLOCK_TYPES = new Set([
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  init_loader,
4
4
  loadPluginConfigWithMeta
5
- } from "./index-jz216dhj.js";
5
+ } from "./index-7yg4ypyg.js";
6
6
  import {
7
7
  init_schema
8
- } from "./index-mt6qjp4c.js";
8
+ } from "./index-wae55z9w.js";
9
9
  import {
10
10
  DEFAULT_WORKTREE_ISOLATION_CONFIG,
11
11
  init_constants
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  EvidenceLockTimeoutError,
13
13
  withEvidenceLock
14
- } from "./index-xagq35tf.js";
14
+ } from "./index-av3gnekk.js";
15
15
  import {
16
16
  exports_external,
17
17
  init_zod
@@ -3096,7 +3096,7 @@ async function reconcileLegacyCoderSettlements(directory, maxRecords, onReconcil
3096
3096
  const candidates = readDelegations(directory).filter((record) => record.normalizedAgent === "coder" && Boolean(record.legacyCoderSettlementTransfer) && Boolean(record.terminalResult)).slice(0, maxRecords);
3097
3097
  if (candidates.length === 0)
3098
3098
  return 0;
3099
- const { transferCoderSettlementToBackground } = await import("./coder-settlement-nrtcjr0h.js");
3099
+ const { transferCoderSettlementToBackground } = await import("./coder-settlement-d89tqam8.js");
3100
3100
  let transferred = 0;
3101
3101
  for (const record of candidates) {
3102
3102
  try {
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  readKnowledge,
4
4
  transactKnowledge
5
- } from "./index-xscjecyq.js";
5
+ } from "./index-bea260ta.js";
6
6
  import {
7
7
  init_git_executable,
8
8
  resolveGitExecutableAsync
9
9
  } from "./index-9e6fdz2h.js";
10
10
  import {
11
11
  resolveKnowledgeStoreDir
12
- } from "./index-5zgf140g.js";
12
+ } from "./index-g6d8xam2.js";
13
13
  import {
14
14
  init_knowledge_types,
15
15
  isActiveStatus
@@ -7,7 +7,7 @@ import {
7
7
  readLinkPointer,
8
8
  resolveKnowledgeStoreDir,
9
9
  resolveLinkDir
10
- } from "./index-5zgf140g.js";
10
+ } from "./index-g6d8xam2.js";
11
11
 
12
12
  // src/knowledge/curation-policy.ts
13
13
  import { appendFile, mkdir as mkdir2, readFile as readFile2 } from "fs/promises";
@@ -6,7 +6,7 @@ import {
6
6
  PluginConfigSchema,
7
7
  init_schema,
8
8
  stripKnownSwarmPrefix
9
- } from "./index-mt6qjp4c.js";
9
+ } from "./index-wae55z9w.js";
10
10
  import {
11
11
  ALL_AGENT_NAMES,
12
12
  init_constants
@@ -1183,6 +1183,20 @@ function validateConfigKey(path2, value) {
1183
1183
  }
1184
1184
  break;
1185
1185
  }
1186
+ case "$schema": {
1187
+ if (value !== undefined && typeof value !== "string") {
1188
+ findings.push({
1189
+ id: "invalid-$schema-type",
1190
+ title: "Invalid $schema type",
1191
+ description: `"$schema" must be a string (JSON Schema URL), got ${typeof value}`,
1192
+ severity: "error",
1193
+ path: "$schema",
1194
+ currentValue: value,
1195
+ autoFixable: false
1196
+ });
1197
+ }
1198
+ break;
1199
+ }
1186
1200
  case "full_auto": {
1187
1201
  emitObjectTypeMismatch("full_auto", value, findings);
1188
1202
  break;
@@ -4,7 +4,7 @@ import {
4
4
  } from "./index-dtn0pne5.js";
5
5
  import {
6
6
  atomicWriteSwarmFileSync
7
- } from "./index-zcmwwp1x.js";
7
+ } from "./index-a5w29k1t.js";
8
8
 
9
9
  // src/hooks/delegation-gate/worktree-provisioning-owner.ts
10
10
  import { createHash } from "crypto";
@@ -6,7 +6,7 @@ import {
6
6
  PluginConfigSchema,
7
7
  init_schema,
8
8
  resolveExternalSkillsConfig
9
- } from "./index-mt6qjp4c.js";
9
+ } from "./index-wae55z9w.js";
10
10
  import {
11
11
  GIT_BINARY_ENV_VAR,
12
12
  init_git_executable
@@ -244,6 +244,7 @@ __export(exports_loader, {
244
244
  getSafeDefaultConfigLoadResult: () => getSafeDefaultConfigLoadResult,
245
245
  formatZodIssues: () => formatZodIssues,
246
246
  deepMerge: () => deepMerge,
247
+ _internals: () => _internals,
247
248
  MAX_MERGE_DEPTH: () => MAX_MERGE_DEPTH,
248
249
  MAX_CONFIG_FILE_BYTES: () => MAX_CONFIG_FILE_BYTES
249
250
  });
@@ -308,6 +309,15 @@ function migratePresetsConfig(raw) {
308
309
  return migrated;
309
310
  }
310
311
  }
312
+ const dormantLegacyKeys = ["preset", "presets", "swarm_mode"].filter((key) => (key in raw));
313
+ if (dormantLegacyKeys.length > 0 && raw.agents) {
314
+ const cleaned = { ...raw };
315
+ for (const key of dormantLegacyKeys) {
316
+ delete cleaned[key];
317
+ }
318
+ advisoryWarn(`[opencode-swarm] Ignored legacy v6.12 config key(s): ${dormantLegacyKeys.join(", ")}. The agents block takes precedence \u2014 consider removing them from your opencode-swarm.json.`);
319
+ return cleaned;
320
+ }
311
321
  return raw;
312
322
  }
313
323
  function sanitizeExternalSkillsConfig(raw) {
@@ -483,6 +493,15 @@ function buildConfigWithMeta(rawUserConfig, rawProjectConfig, loadedFromFile, co
483
493
  mergedRaw = migratePresetsConfig(mergedRaw);
484
494
  const { result: sanitized, strippedKeys: gatesStripped } = sanitizeSectionConfigs(mergedRaw);
485
495
  mergedRaw = sanitized;
496
+ const knownTopLevel = new Set(Object.keys(PluginConfigSchema.shape));
497
+ const unknownTopLevel = Object.keys(mergedRaw).filter((key) => !knownTopLevel.has(key));
498
+ if (unknownTopLevel.length > 0) {
499
+ const signature = unknownTopLevel.join("\x00");
500
+ if (signature !== lastUnknownTopLevelSig) {
501
+ lastUnknownTopLevelSig = signature;
502
+ advisoryWarn(`[opencode-swarm] Ignored ${unknownTopLevel.length} unknown top-level config key(s): ${unknownTopLevel.join(", ")}. These keys have no effect \u2014 see docs/configuration.md (Top-level configuration keys) for the valid key list.`);
503
+ }
504
+ }
486
505
  const secure = (cfg) => loadedFromFile && configHadErrors ? PluginConfigSchema.parse({
487
506
  ...cfg,
488
507
  guardrails: { enabled: true }
@@ -713,7 +732,7 @@ function loadAgentPrompt(agentName) {
713
732
  }
714
733
  return result;
715
734
  }
716
- var CONFIG_FILENAME = "opencode-swarm.json", PROMPTS_DIR_NAME = "opencode-swarm", MAX_CONFIG_FILE_BYTES = 102400;
735
+ var CONFIG_FILENAME = "opencode-swarm.json", PROMPTS_DIR_NAME = "opencode-swarm", MAX_CONFIG_FILE_BYTES = 102400, lastUnknownTopLevelSig = null, _internals;
717
736
  var init_loader = __esm(() => {
718
737
  init_warning_buffer();
719
738
  init_git_executable();
@@ -721,6 +740,11 @@ var init_loader = __esm(() => {
721
740
  init_schema();
722
741
  init_merge();
723
742
  init_merge();
743
+ _internals = {
744
+ resetUnknownTopLevelKeyWarning() {
745
+ lastUnknownTopLevelSig = null;
746
+ }
747
+ };
724
748
  });
725
749
 
726
750
  // src/config/plan-schema.ts