opencode-swarm 7.166.0 → 7.166.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 (71) hide show
  1. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  2. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  3. package/dist/cli/{coder-settlement-ydg2jfrk.js → coder-settlement-x0h3h6vd.js} +8 -8
  4. package/dist/cli/{config-doctor-drqx6tzc.js → config-doctor-pjcjeh8f.js} +5 -5
  5. package/dist/cli/{core-x6sftfwt.js → core-v11pd1yk.js} +4 -4
  6. package/dist/cli/{curator-drift-2vwtkegg.js → curator-drift-jpdfwae9.js} +3 -3
  7. package/dist/cli/{curator-llm-factory-7znajprp.js → curator-llm-factory-da5q3gg6.js} +26 -26
  8. package/dist/cli/{curator-kg2h8jjf.js → curator-ssvd7evd.js} +26 -26
  9. package/dist/cli/{dispatch-c7xjt7js.js → dispatch-591v13pp.js} +3 -3
  10. package/dist/cli/{evidence-summary-service-ry5ebnmq.js → evidence-summary-service-mw6tnsp9.js} +10 -10
  11. package/dist/cli/{gate-evidence-qgeceqy8.js → gate-evidence-jymaxb82.js} +6 -6
  12. package/dist/cli/{guardrail-explain-jdv4n2j3.js → guardrail-explain-eva1yrtf.js} +27 -27
  13. package/dist/cli/{guardrail-log-s7c3rpde.js → guardrail-log-kzq2sktb.js} +6 -6
  14. package/dist/cli/{guardrail-reset-4nmy7xas.js → guardrail-reset-ea1g3g7d.js} +26 -26
  15. package/dist/cli/{hive-promoter-w5tsgttc.js → hive-promoter-ghjbgsms.js} +26 -26
  16. package/dist/cli/{index-hrkamw9q.js → index-066xxa4q.js} +3 -3
  17. package/dist/cli/{index-qkq56zyr.js → index-0g5v4s0x.js} +59 -8
  18. package/dist/cli/{index-a0d4fp6r.js → index-0tc0pcmh.js} +1 -1
  19. package/dist/cli/{index-359djbj1.js → index-13egyjgv.js} +5 -5
  20. package/dist/cli/{index-8bdk7124.js → index-1zqf2pny.js} +1 -1
  21. package/dist/cli/{index-8d90gzaz.js → index-2sqgbmtq.js} +1 -1
  22. package/dist/cli/{index-30f4fe30.js → index-2y4kargd.js} +1 -1
  23. package/dist/cli/{index-an89qzd9.js → index-399nq780.js} +522 -636
  24. package/dist/cli/{index-ejf6w8vw.js → index-3tyym20r.js} +2 -2
  25. package/dist/cli/{index-mg43w8p2.js → index-52xdezsh.js} +12 -3
  26. package/dist/cli/{index-a5w71m8f.js → index-6rff2h8x.js} +1 -1
  27. package/dist/cli/{index-p04pa9c9.js → index-8fr2wn18.js} +2 -2
  28. package/dist/cli/{index-anxs69ad.js → index-bfr392e7.js} +1 -1
  29. package/dist/cli/{index-fywshabz.js → index-bkd3450m.js} +4 -4
  30. package/dist/cli/{index-289epdpc.js → index-crjx4sx0.js} +28 -28
  31. package/dist/cli/{index-z6xqpmqg.js → index-ee6ydtfe.js} +1 -1
  32. package/dist/cli/{index-2rm5x9ps.js → index-fc1dqzjp.js} +2 -2
  33. package/dist/cli/{index-4mpdy32j.js → index-gerkwyrr.js} +1 -1
  34. package/dist/cli/{index-9hy5q7gp.js → index-gr8ppbq3.js} +2 -2
  35. package/dist/cli/{index-rkn17q5e.js → index-j29nkq5d.js} +5 -5
  36. package/dist/cli/{index-2dvk153d.js → index-k5w284js.js} +5 -5
  37. package/dist/cli/{index-apxaa755.js → index-nph5g4em.js} +3 -3
  38. package/dist/cli/{index-52jfm5s0.js → index-w11whwn3.js} +2 -2
  39. package/dist/cli/{index-nb924ar6.js → index-wf12wckd.js} +2 -2
  40. package/dist/cli/{index-czr3jcg6.js → index-xezfx7ge.js} +1 -1
  41. package/dist/cli/{index-8m12y79g.js → index-xwkn5hse.js} +2 -2
  42. package/dist/cli/{index-bw7r2b2m.js → index-ybcxvv17.js} +1 -1
  43. package/dist/cli/{index-8n62bphd.js → index-yt25kpvz.js} +2 -2
  44. package/dist/cli/{index-jc9cxh90.js → index-zha9bdj9.js} +4 -4
  45. package/dist/cli/index-zpsr8rpc.js +68 -0
  46. package/dist/cli/index.js +26 -26
  47. package/dist/cli/{knowledge-escalator-xdzmr31d.js → knowledge-escalator-3pjed4tq.js} +10 -10
  48. package/dist/cli/{knowledge-events-1t1t0bv7.js → knowledge-events-a5dwkg30.js} +8 -8
  49. package/dist/cli/{knowledge-store-m2snb0xg.js → knowledge-store-h85efsak.js} +1 -1
  50. package/dist/cli/{knowledge-validator-tf7yq2pd.js → knowledge-validator-76qrf1ev.js} +2 -2
  51. package/dist/cli/{model-preflight-3s1c0zpc.js → model-preflight-b3b5pgsc.js} +2 -2
  52. package/dist/cli/{pending-delegations-jr8hwxrz.js → pending-delegations-zgwfqfac.js} +5 -5
  53. package/dist/cli/{pr-subscriptions-ca1xmf9r.js → pr-subscriptions-fzy3ks1k.js} +5 -5
  54. package/dist/cli/{pr-workflow-gate-fb1dj0zx.js → pr-workflow-gate-1gtsn7f0.js} +26 -26
  55. package/dist/cli/{scan-cursor-3gdvy0ym.js → scan-cursor-ahwkxa8j.js} +2 -2
  56. package/dist/cli/{schema-mzb1354k.js → schema-27sedbfk.js} +3 -3
  57. package/dist/cli/{scope-persistence-c4n21b5n.js → scope-persistence-q792yfxh.js} +7 -7
  58. package/dist/cli/{skill-generator-dvpvwt8k.js → skill-generator-g8wbjw6v.js} +11 -11
  59. package/dist/cli/{snapshot-coordination-init-g7v63zcm.js → snapshot-coordination-init-y6spakwm.js} +26 -26
  60. package/dist/cli/{worktree-collision-ownership-k15qrpy9.js → worktree-collision-ownership-pmpnftkd.js} +6 -6
  61. package/dist/cli/{worktree-isolation-y7ec1pm5.js → worktree-isolation-4053n0px.js} +26 -26
  62. package/dist/git/pr.d.ts +4 -2
  63. package/dist/git/safe-ref.d.ts +51 -0
  64. package/dist/index.js +154 -154
  65. package/dist/tools/co-change-analyzer.d.ts +7 -0
  66. package/dist/tools/gh-evidence.d.ts +15 -8
  67. package/dist/tools/pkg-audit.d.ts +23 -0
  68. package/dist/utils/gh-executable.d.ts +106 -0
  69. package/dist/utils/merge.d.ts +26 -0
  70. package/package.json +1 -1
  71. package/dist/cli/index-zjygnfay.js +0 -33
@@ -14,14 +14,14 @@ import {
14
14
  detectWindowsWrites,
15
15
  getSharedClassifierGuardrailBlock,
16
16
  resolveWriteTargets
17
- } from "./index-an89qzd9.js";
17
+ } from "./index-399nq780.js";
18
18
  import {
19
19
  checkFileAuthority,
20
20
  classifyFile,
21
21
  isInDeclaredScope,
22
22
  redactPath,
23
23
  redactShellCommand
24
- } from "./index-9hy5q7gp.js";
24
+ } from "./index-gr8ppbq3.js";
25
25
 
26
26
  // src/services/guardrail-explain-service.ts
27
27
  import path from "path";
@@ -14,12 +14,13 @@ import {
14
14
  PluginConfigSchema,
15
15
  init_schema,
16
16
  resolveExternalSkillsConfig
17
- } from "./index-nb924ar6.js";
17
+ } from "./index-wf12wckd.js";
18
18
  import {
19
+ DangerousMergeKeyError,
19
20
  MAX_MERGE_DEPTH,
20
21
  deepMerge,
21
22
  init_merge
22
- } from "./index-zjygnfay.js";
23
+ } from "./index-zpsr8rpc.js";
23
24
  import {
24
25
  exports_external,
25
26
  init_zod
@@ -503,7 +504,15 @@ function enforceGitBinaryProvenance(mergedRaw, rawUserConfig) {
503
504
  function buildConfigWithMeta(rawUserConfig, rawProjectConfig, loadedFromFile, configHadErrors) {
504
505
  let mergedRaw = rawUserConfig ?? {};
505
506
  if (rawProjectConfig) {
506
- mergedRaw = deepMerge(mergedRaw, rawProjectConfig);
507
+ try {
508
+ mergedRaw = deepMerge(mergedRaw, rawProjectConfig);
509
+ } catch (err) {
510
+ if (err instanceof DangerousMergeKeyError) {
511
+ advisoryWarn(`[opencode-swarm] \u26A0\uFE0F SECURITY: Ignoring the entire project config (.opencode/${CONFIG_FILENAME}): ` + `it carries the dangerous key "${err.key}" at "${err.path}", a prototype-pollution payload. ` + "Continuing with user-level configuration only.");
512
+ } else {
513
+ throw err;
514
+ }
515
+ }
507
516
  }
508
517
  mergedRaw = enforceGitBinaryProvenance(mergedRaw, rawUserConfig);
509
518
  if (rawFullAutoLocked(rawUserConfig) || rawFullAutoLocked(rawProjectConfig)) {
@@ -9,7 +9,7 @@ import {
9
9
  resolveSwarmKnowledgePath,
10
10
  resolveSwarmRejectedPath,
11
11
  transactKnowledge
12
- } from "./index-fywshabz.js";
12
+ } from "./index-bkd3450m.js";
13
13
  import {
14
14
  resolveKnowledgeStoreDir
15
15
  } from "./index-a7rw4g4s.js";
@@ -12,13 +12,13 @@ import {
12
12
  PluginConfigSchema,
13
13
  init_schema,
14
14
  stripKnownSwarmPrefix
15
- } from "./index-nb924ar6.js";
15
+ } from "./index-wf12wckd.js";
16
16
  import {
17
17
  ALL_AGENT_NAMES,
18
18
  TOOL_NAME_SET,
19
19
  init_constants,
20
20
  init_tool_metadata
21
- } from "./index-a0d4fp6r.js";
21
+ } from "./index-0tc0pcmh.js";
22
22
  import {
23
23
  log
24
24
  } from "./index-zgwm4ryv.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  SwarmError
4
- } from "./index-z6xqpmqg.js";
4
+ } from "./index-ee6ydtfe.js";
5
5
  import {
6
6
  bunFile
7
7
  } from "./index-p612v1mv.js";
@@ -713,7 +713,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
713
713
  const {
714
714
  readAuthoritativeKnowledgeCounterRollups,
715
715
  effectiveRetrievalOutcomes
716
- } = await import("./knowledge-events-1t1t0bv7.js");
716
+ } = await import("./knowledge-events-a5dwkg30.js");
717
717
  const rollups = await readAuthoritativeKnowledgeCounterRollups(directory);
718
718
  const flagIds = new Set;
719
719
  for (const e of atFloor) {
@@ -780,11 +780,11 @@ async function applyConfidenceFloorAction(directory, touched, options) {
780
780
  });
781
781
  }
782
782
  if (action === "quarantine" && toQuarantine.length > 0) {
783
- const { quarantineEntry } = await import("./knowledge-validator-tf7yq2pd.js");
784
- const { KnowledgeConfigSchema } = await import("./schema-mzb1354k.js");
783
+ const { quarantineEntry } = await import("./knowledge-validator-76qrf1ev.js");
784
+ const { KnowledgeConfigSchema } = await import("./schema-27sedbfk.js");
785
785
  let config;
786
786
  try {
787
- const { loadPluginConfigWithMeta } = await import("./index-rkn17q5e.js");
787
+ const { loadPluginConfigWithMeta } = await import("./index-j29nkq5d.js");
788
788
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
789
789
  config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
790
790
  } catch {
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-ejf6w8vw.js";
4
+ } from "./index-3tyym20r.js";
5
5
  import {
6
6
  handleGuardrailLog
7
- } from "./index-4mpdy32j.js";
7
+ } from "./index-gerkwyrr.js";
8
8
  import {
9
9
  COMMAND_REGISTRY,
10
10
  SWARM_COMMAND_TOOL_ALLOWLIST,
@@ -94,43 +94,43 @@ import {
94
94
  handleWriteRetroCommand,
95
95
  normalizeSwarmCommandInput,
96
96
  resolveCommand
97
- } from "./index-an89qzd9.js";
98
- import"./index-8d90gzaz.js";
97
+ } from "./index-399nq780.js";
98
+ import"./index-2sqgbmtq.js";
99
99
  import"./index-hvk3zs62.js";
100
- import"./index-9hy5q7gp.js";
101
- import"./index-p04pa9c9.js";
102
- import"./index-qkq56zyr.js";
100
+ import"./index-gr8ppbq3.js";
101
+ import"./index-8fr2wn18.js";
102
+ import"./index-0g5v4s0x.js";
103
103
  import"./index-17yszqs5.js";
104
104
  import"./index-txdagbh7.js";
105
105
  import"./index-cw912re7.js";
106
- import"./index-hrkamw9q.js";
107
- import"./index-359djbj1.js";
108
- import"./index-bw7r2b2m.js";
106
+ import"./index-066xxa4q.js";
107
+ import"./index-13egyjgv.js";
108
+ import"./index-ybcxvv17.js";
109
109
  import"./index-70ha9e09.js";
110
110
  import"./index-8hqkrd2j.js";
111
111
  import"./index-9ss2m4rs.js";
112
- import"./index-czr3jcg6.js";
112
+ import"./index-xezfx7ge.js";
113
113
  import"./index-zsrtt42s.js";
114
- import"./index-2dvk153d.js";
114
+ import"./index-k5w284js.js";
115
115
  import"./index-6chhqq2n.js";
116
- import"./index-8bdk7124.js";
116
+ import"./index-1zqf2pny.js";
117
117
  import"./index-b43rt5ph.js";
118
118
  import"./index-q7sjgr1y.js";
119
- import"./index-8n62bphd.js";
120
- import"./index-2rm5x9ps.js";
121
- import"./index-52jfm5s0.js";
122
- import"./index-jc9cxh90.js";
123
- import"./index-anxs69ad.js";
124
- import"./index-z6xqpmqg.js";
119
+ import"./index-yt25kpvz.js";
120
+ import"./index-fc1dqzjp.js";
121
+ import"./index-w11whwn3.js";
122
+ import"./index-zha9bdj9.js";
123
+ import"./index-bfr392e7.js";
124
+ import"./index-ee6ydtfe.js";
125
125
  import"./index-p612v1mv.js";
126
- import"./index-a5w71m8f.js";
126
+ import"./index-6rff2h8x.js";
127
127
  import"./index-c20gf089.js";
128
128
  import"./index-rtry5xyf.js";
129
- import"./index-apxaa755.js";
129
+ import"./index-nph5g4em.js";
130
130
  import"./index-3qf1vxtb.js";
131
131
  import"./index-n832052r.js";
132
- import"./index-8m12y79g.js";
133
- import"./index-30f4fe30.js";
132
+ import"./index-xwkn5hse.js";
133
+ import"./index-2y4kargd.js";
134
134
  import"./index-2v17wb75.js";
135
135
  import"./index-79sr3fd1.js";
136
136
  import"./index-jx9f4ke1.js";
@@ -138,7 +138,7 @@ import"./index-aftapk6j.js";
138
138
  import"./index-ry16d01s.js";
139
139
  import"./index-n4fzmqz8.js";
140
140
  import"./index-axf65x87.js";
141
- import"./index-fywshabz.js";
141
+ import"./index-bkd3450m.js";
142
142
  import"./index-ae75rja9.js";
143
143
  import"./index-a7rw4g4s.js";
144
144
  import"./index-7qefgq4j.js";
@@ -146,19 +146,19 @@ import"./index-edm41q4j.js";
146
146
  import"./index-gy0nyfbw.js";
147
147
  import"./index-hwj25q9r.js";
148
148
  import"./index-7g4c7s5r.js";
149
- import"./index-mg43w8p2.js";
149
+ import"./index-52xdezsh.js";
150
150
  import"./index-9e6fdz2h.js";
151
151
  import"./index-4rhhvd1a.js";
152
152
  import {
153
153
  init_schema,
154
154
  stripKnownSwarmPrefix
155
- } from "./index-nb924ar6.js";
155
+ } from "./index-wf12wckd.js";
156
156
  import {
157
157
  AGENT_TOOL_MAP,
158
158
  ORCHESTRATOR_NAME,
159
159
  init_constants
160
- } from "./index-a0d4fp6r.js";
161
- import"./index-zjygnfay.js";
160
+ } from "./index-0tc0pcmh.js";
161
+ import"./index-zpsr8rpc.js";
162
162
  import"./index-bk5tah7q.js";
163
163
  import"./index-bpmtbmy9.js";
164
164
  import"./index-q1r1cfww.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  init_merge
4
- } from "./index-zjygnfay.js";
4
+ } from "./index-zpsr8rpc.js";
5
5
  import {
6
6
  init_logger
7
7
  } from "./index-zgwm4ryv.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  SWARM_WORKTREE_DIR_NAME,
15
15
  init_constants
16
- } from "./index-a0d4fp6r.js";
16
+ } from "./index-0tc0pcmh.js";
17
17
  import {
18
18
  log
19
19
  } from "./index-zgwm4ryv.js";
@@ -92,7 +92,7 @@ var _internals = {
92
92
  symlinkSync: fs.symlinkSync
93
93
  },
94
94
  writeScopeToDisk: async (directory, taskId, files) => {
95
- const { writeScopeToDisk: realWrite } = await import("./scope-persistence-c4n21b5n.js");
95
+ const { writeScopeToDisk: realWrite } = await import("./scope-persistence-q792yfxh.js");
96
96
  return realWrite(directory, taskId, files);
97
97
  },
98
98
  writeLaneProfileToDisk: async (_worktreePath, _laneIndex, _envOverrides) => {
@@ -4,7 +4,7 @@ import {
4
4
  readShellAuditTail,
5
5
  redactPath,
6
6
  redactShellCommand
7
- } from "./index-9hy5q7gp.js";
7
+ } from "./index-gr8ppbq3.js";
8
8
 
9
9
  // src/services/guardrail-log-service.ts
10
10
  var BLOCK_TYPES = new Set([
@@ -8,10 +8,10 @@ import {
8
8
  import {
9
9
  init_schema,
10
10
  stripKnownSwarmPrefix
11
- } from "./index-nb924ar6.js";
11
+ } from "./index-wf12wckd.js";
12
12
  import {
13
13
  init_constants
14
- } from "./index-a0d4fp6r.js";
14
+ } from "./index-0tc0pcmh.js";
15
15
  import {
16
16
  getPathFlavor,
17
17
  init_path_identity,
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  _internals,
4
4
  resolveWorktreeIsolationConfig
5
- } from "./index-apxaa755.js";
5
+ } from "./index-nph5g4em.js";
6
6
  import {
7
7
  ApprovalEvidenceSchema,
8
8
  BaseEvidenceSchema,
@@ -44,7 +44,7 @@ import {
44
44
  loadPluginConfigWithMeta,
45
45
  loadPluginConfigWithMetaAsync,
46
46
  resetConfigAdvisoryDedup
47
- } from "./index-mg43w8p2.js";
47
+ } from "./index-52xdezsh.js";
48
48
  import"./index-9e6fdz2h.js";
49
49
  import"./index-4rhhvd1a.js";
50
50
  import {
@@ -70,7 +70,7 @@ import {
70
70
  TurboConfigSchema,
71
71
  WorktreeIsolationConfigSchema,
72
72
  resolveAutoReviewConfig
73
- } from "./index-nb924ar6.js";
73
+ } from "./index-wf12wckd.js";
74
74
  import {
75
75
  ALL_AGENT_NAMES,
76
76
  ALL_SUBAGENT_NAMES,
@@ -80,8 +80,8 @@ import {
80
80
  QA_AGENTS,
81
81
  isQAAgent,
82
82
  isSubagent
83
- } from "./index-a0d4fp6r.js";
84
- import"./index-zjygnfay.js";
83
+ } from "./index-0tc0pcmh.js";
84
+ import"./index-zpsr8rpc.js";
85
85
  import"./index-bk5tah7q.js";
86
86
  import"./index-bpmtbmy9.js";
87
87
  import"./index-zgwm4ryv.js";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./index-6chhqq2n.js";
6
6
  import {
7
7
  removeWorktreeProvisioningOwner
8
- } from "./index-8bdk7124.js";
8
+ } from "./index-1zqf2pny.js";
9
9
  import {
10
10
  SOURCE_WORKTREE_GONE_STAGE,
11
11
  ensureTaskGateRequirementsReceiptForSettledTransition,
@@ -14,10 +14,10 @@ import {
14
14
  reconcileLandedMerge,
15
15
  withTaskEvidenceTransaction,
16
16
  writeWorkflowWalFile
17
- } from "./index-8n62bphd.js";
17
+ } from "./index-yt25kpvz.js";
18
18
  import {
19
19
  validateSwarmPath
20
- } from "./index-anxs69ad.js";
20
+ } from "./index-bfr392e7.js";
21
21
  import {
22
22
  appendCoreEventSync
23
23
  } from "./index-2v17wb75.js";
@@ -489,7 +489,7 @@ async function cleanupRecoveredWorktree(directory, descriptor) {
489
489
  awaitingMergeByCallID,
490
490
  cleanupStandardWorktreeForCallId,
491
491
  standardWorktreeByCallID
492
- } = await import("./worktree-isolation-y7ec1pm5.js");
492
+ } = await import("./worktree-isolation-4053n0px.js");
493
493
  standardWorktreeByCallID.delete(descriptor.callID);
494
494
  if (hasResidue)
495
495
  awaitingMergeByCallID.set(descriptor.callID, {
@@ -613,7 +613,7 @@ async function recoverCoderSettlement(directory, taskId) {
613
613
  awaitingMergeByCallID,
614
614
  finishStandardWorktreeDispatch,
615
615
  standardWorktreeByCallID
616
- } = await import("./worktree-isolation-y7ec1pm5.js");
616
+ } = await import("./worktree-isolation-4053n0px.js");
617
617
  const descriptor = wal.worktree;
618
618
  const reconstructedDispatch = {
619
619
  callID: descriptor.callID,
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  init_loader,
4
4
  loadPluginConfigWithMeta
5
- } from "./index-mg43w8p2.js";
5
+ } from "./index-52xdezsh.js";
6
6
  import {
7
7
  init_schema
8
- } from "./index-nb924ar6.js";
8
+ } from "./index-wf12wckd.js";
9
9
  import {
10
10
  DEFAULT_WORKTREE_ISOLATION_CONFIG,
11
11
  init_constants
12
- } from "./index-a0d4fp6r.js";
12
+ } from "./index-0tc0pcmh.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
  validateSwarmPath
4
- } from "./index-anxs69ad.js";
4
+ } from "./index-bfr392e7.js";
5
5
  import {
6
6
  bunWrite
7
7
  } from "./index-p612v1mv.js";
@@ -4524,7 +4524,7 @@ async function reconcileLegacyCoderSettlements(directory, maxRecords, onReconcil
4524
4524
  const candidates = readDelegations(directory).filter((record) => record.normalizedAgent === "coder" && Boolean(record.legacyCoderSettlementTransfer) && Boolean(record.terminalResult)).slice(0, maxRecords);
4525
4525
  if (candidates.length === 0)
4526
4526
  return 0;
4527
- const { transferCoderSettlementToBackground } = await import("./coder-settlement-ydg2jfrk.js");
4527
+ const { transferCoderSettlementToBackground } = await import("./coder-settlement-x0h3h6vd.js");
4528
4528
  let transferred = 0;
4529
4529
  for (const record of candidates) {
4530
4530
  try {
@@ -3,7 +3,7 @@ import {
3
3
  ALL_AGENT_NAMES,
4
4
  SUMMARIZER_EXEMPT_TOOL_NAMES,
5
5
  init_constants
6
- } from "./index-a0d4fp6r.js";
6
+ } from "./index-0tc0pcmh.js";
7
7
  import {
8
8
  OUTCOME_BLOCK_THRESHOLD,
9
9
  init_knowledge_types
@@ -21,7 +21,7 @@ var package_default;
21
21
  var init_package = __esm(() => {
22
22
  package_default = {
23
23
  name: "opencode-swarm",
24
- version: "7.166.0",
24
+ version: "7.166.1",
25
25
  description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
26
26
  main: "dist/index.js",
27
27
  types: "dist/index.d.ts",
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-anxs69ad.js";
4
+ } from "./index-bfr392e7.js";
5
5
  import {
6
6
  deleteCoordinationState,
7
7
  importCoordinationOnce,
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  computePlanStructureHash
4
- } from "./index-30f4fe30.js";
4
+ } from "./index-2y4kargd.js";
5
5
  import {
6
6
  appendCoreEventSync
7
7
  } from "./index-2v17wb75.js";
@@ -33,7 +33,7 @@ import {
33
33
  } from "./index-7g4c7s5r.js";
34
34
  import {
35
35
  PlanSchema
36
- } from "./index-mg43w8p2.js";
36
+ } from "./index-52xdezsh.js";
37
37
  import {
38
38
  init_path_identity,
39
39
  unsafePathTextReason
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  readKnowledge,
4
4
  transactKnowledge
5
- } from "./index-fywshabz.js";
5
+ } from "./index-bkd3450m.js";
6
6
  import {
7
7
  resolveKnowledgeStoreDir
8
8
  } from "./index-a7rw4g4s.js";
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  autoCommitDirty,
4
4
  cleanUntrackedFiles
5
- } from "./index-2rm5x9ps.js";
5
+ } from "./index-fc1dqzjp.js";
6
6
  import {
7
7
  validateSwarmPath
8
- } from "./index-anxs69ad.js";
8
+ } from "./index-bfr392e7.js";
9
9
  import {
10
10
  bunSpawn,
11
11
  classifySpawnFailure
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-anxs69ad.js";
4
+ } from "./index-bfr392e7.js";
5
5
  import {
6
6
  observeReceiptTransition
7
7
  } from "./index-axf65x87.js";
@@ -26,11 +26,11 @@ import {
26
26
  } from "./index-7g4c7s5r.js";
27
27
  import {
28
28
  loadPluginConfigWithMeta
29
- } from "./index-mg43w8p2.js";
29
+ } from "./index-52xdezsh.js";
30
30
  import {
31
31
  KnowledgeConfigSchema,
32
32
  init_schema
33
- } from "./index-nb924ar6.js";
33
+ } from "./index-wf12wckd.js";
34
34
  import {
35
35
  init_logger,
36
36
  warn
@@ -2813,7 +2813,7 @@ async function applyKnowledgeVerdictFeedback(directory, options) {
2813
2813
  }
2814
2814
  let bumps = 0;
2815
2815
  if (deltas.length > 0) {
2816
- const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-m2snb0xg.js");
2816
+ const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-h85efsak.js");
2817
2817
  bumps = await bumpKnowledgeConfidenceBatch(directory, deltas, options?.floorOptions);
2818
2818
  }
2819
2819
  return {
@@ -0,0 +1,68 @@
1
+ // @bun
2
+ import {
3
+ __esm
4
+ } from "./index-a76rekgs.js";
5
+
6
+ // src/utils/merge.ts
7
+ function scanOverrideForDangerousKeys(value, path, depth) {
8
+ if (depth >= MAX_MERGE_DEPTH)
9
+ return;
10
+ if (Array.isArray(value)) {
11
+ for (let i = 0;i < value.length; i++) {
12
+ scanOverrideForDangerousKeys(value[i], `${path}[${i}]`, depth + 1);
13
+ }
14
+ return;
15
+ }
16
+ if (typeof value !== "object" || value === null)
17
+ return;
18
+ for (const key of Object.keys(value)) {
19
+ if (DANGEROUS_MERGE_KEYS.has(key)) {
20
+ throw new DangerousMergeKeyError(key, path);
21
+ }
22
+ scanOverrideForDangerousKeys(value[key], `${path}.${key}`, depth + 1);
23
+ }
24
+ }
25
+ function deepMergeInternal(base, override, depth, path) {
26
+ if (depth >= MAX_MERGE_DEPTH) {
27
+ throw new Error(`deepMerge exceeded maximum depth of ${MAX_MERGE_DEPTH}`);
28
+ }
29
+ const result = { ...base };
30
+ for (const key of Object.keys(override)) {
31
+ const baseVal = base[key];
32
+ const overrideVal = override[key];
33
+ if (typeof baseVal === "object" && baseVal !== null && typeof overrideVal === "object" && overrideVal !== null && !Array.isArray(baseVal) && !Array.isArray(overrideVal)) {
34
+ result[key] = deepMergeInternal(baseVal, overrideVal, depth + 1, `${path}.${key}`);
35
+ } else {
36
+ result[key] = overrideVal;
37
+ }
38
+ }
39
+ return result;
40
+ }
41
+ function deepMerge(base, override) {
42
+ if (!base)
43
+ return override;
44
+ if (!override)
45
+ return base;
46
+ scanOverrideForDangerousKeys(override, "$", 0);
47
+ return deepMergeInternal(base, override, 0, "$");
48
+ }
49
+ var MAX_MERGE_DEPTH = 10, DANGEROUS_MERGE_KEYS, DangerousMergeKeyError;
50
+ var init_merge = __esm(() => {
51
+ DANGEROUS_MERGE_KEYS = new Set([
52
+ "__proto__",
53
+ "constructor",
54
+ "prototype"
55
+ ]);
56
+ DangerousMergeKeyError = class DangerousMergeKeyError extends Error {
57
+ key;
58
+ path;
59
+ constructor(key, path) {
60
+ super(`deepMerge refused dangerous key "${key}" at "${path}": ` + "prototype-pollution carriers (__proto__/constructor/prototype) are never merged");
61
+ this.key = key;
62
+ this.path = path;
63
+ this.name = "DangerousMergeKeyError";
64
+ }
65
+ };
66
+ });
67
+
68
+ export { MAX_MERGE_DEPTH, DangerousMergeKeyError, deepMerge, init_merge };
package/dist/cli/index.js CHANGED
@@ -13,43 +13,43 @@ import {
13
13
  readCachePackageVersion,
14
14
  resolveCommand,
15
15
  safeRealpathSync
16
- } from "./index-an89qzd9.js";
17
- import"./index-8d90gzaz.js";
16
+ } from "./index-399nq780.js";
17
+ import"./index-2sqgbmtq.js";
18
18
  import"./index-hvk3zs62.js";
19
- import"./index-9hy5q7gp.js";
20
- import"./index-p04pa9c9.js";
21
- import"./index-qkq56zyr.js";
19
+ import"./index-gr8ppbq3.js";
20
+ import"./index-8fr2wn18.js";
21
+ import"./index-0g5v4s0x.js";
22
22
  import"./index-17yszqs5.js";
23
23
  import"./index-txdagbh7.js";
24
24
  import"./index-cw912re7.js";
25
- import"./index-hrkamw9q.js";
26
- import"./index-359djbj1.js";
27
- import"./index-bw7r2b2m.js";
25
+ import"./index-066xxa4q.js";
26
+ import"./index-13egyjgv.js";
27
+ import"./index-ybcxvv17.js";
28
28
  import"./index-70ha9e09.js";
29
29
  import"./index-8hqkrd2j.js";
30
30
  import"./index-9ss2m4rs.js";
31
- import"./index-czr3jcg6.js";
31
+ import"./index-xezfx7ge.js";
32
32
  import"./index-zsrtt42s.js";
33
- import"./index-2dvk153d.js";
33
+ import"./index-k5w284js.js";
34
34
  import"./index-6chhqq2n.js";
35
- import"./index-8bdk7124.js";
35
+ import"./index-1zqf2pny.js";
36
36
  import"./index-b43rt5ph.js";
37
37
  import"./index-q7sjgr1y.js";
38
- import"./index-8n62bphd.js";
39
- import"./index-2rm5x9ps.js";
40
- import"./index-52jfm5s0.js";
41
- import"./index-jc9cxh90.js";
42
- import"./index-anxs69ad.js";
43
- import"./index-z6xqpmqg.js";
38
+ import"./index-yt25kpvz.js";
39
+ import"./index-fc1dqzjp.js";
40
+ import"./index-w11whwn3.js";
41
+ import"./index-zha9bdj9.js";
42
+ import"./index-bfr392e7.js";
43
+ import"./index-ee6ydtfe.js";
44
44
  import"./index-p612v1mv.js";
45
- import"./index-a5w71m8f.js";
45
+ import"./index-6rff2h8x.js";
46
46
  import"./index-c20gf089.js";
47
47
  import"./index-rtry5xyf.js";
48
- import"./index-apxaa755.js";
48
+ import"./index-nph5g4em.js";
49
49
  import"./index-3qf1vxtb.js";
50
50
  import"./index-n832052r.js";
51
- import"./index-8m12y79g.js";
52
- import"./index-30f4fe30.js";
51
+ import"./index-xwkn5hse.js";
52
+ import"./index-2y4kargd.js";
53
53
  import"./index-2v17wb75.js";
54
54
  import"./index-79sr3fd1.js";
55
55
  import"./index-jx9f4ke1.js";
@@ -57,7 +57,7 @@ import"./index-aftapk6j.js";
57
57
  import"./index-ry16d01s.js";
58
58
  import"./index-n4fzmqz8.js";
59
59
  import"./index-axf65x87.js";
60
- import"./index-fywshabz.js";
60
+ import"./index-bkd3450m.js";
61
61
  import"./index-ae75rja9.js";
62
62
  import"./index-a7rw4g4s.js";
63
63
  import"./index-7qefgq4j.js";
@@ -65,18 +65,18 @@ import"./index-edm41q4j.js";
65
65
  import"./index-gy0nyfbw.js";
66
66
  import"./index-hwj25q9r.js";
67
67
  import"./index-7g4c7s5r.js";
68
- import"./index-mg43w8p2.js";
68
+ import"./index-52xdezsh.js";
69
69
  import"./index-9e6fdz2h.js";
70
70
  import"./index-4rhhvd1a.js";
71
71
  import {
72
72
  init_package,
73
73
  package_default
74
- } from "./index-nb924ar6.js";
74
+ } from "./index-wf12wckd.js";
75
75
  import {
76
76
  DEFAULT_AGENT_CONFIGS,
77
77
  init_constants
78
- } from "./index-a0d4fp6r.js";
79
- import"./index-zjygnfay.js";
78
+ } from "./index-0tc0pcmh.js";
79
+ import"./index-zpsr8rpc.js";
80
80
  import"./index-bk5tah7q.js";
81
81
  import"./index-bpmtbmy9.js";
82
82
  import"./index-q1r1cfww.js";