opencode-swarm 7.151.0 → 7.152.0

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 (57) hide show
  1. package/dist/cli/{config-doctor-23ega26j.js → config-doctor-4hctd61b.js} +2 -2
  2. package/dist/cli/{core-3g4krkj8.js → core-ea8xgnwy.js} +1 -1
  3. package/dist/cli/{curation-policy-fmvccdrg.js → curation-policy-vb2f0vm7.js} +4 -4
  4. package/dist/cli/{curator-rym2wtn6.js → curator-krg3abzq.js} +23 -23
  5. package/dist/cli/{curator-llm-factory-k0nxn5gt.js → curator-llm-factory-6xnnfpt4.js} +23 -23
  6. package/dist/cli/{evidence-summary-service-f0gvjesf.js → evidence-summary-service-dtjr30pg.js} +9 -9
  7. package/dist/cli/{gate-evidence-cghq17xc.js → gate-evidence-msnd1tda.js} +4 -4
  8. package/dist/cli/{guardrail-explain-cv52smw2.js → guardrail-explain-nbgds0g0.js} +24 -24
  9. package/dist/cli/{guardrail-log-wgwmh9b7.js → guardrail-log-emgfqa5s.js} +3 -3
  10. package/dist/cli/{guardrail-reset-vx7zsmzd.js → guardrail-reset-95jhw7rg.js} +23 -23
  11. package/dist/cli/{hive-promoter-jb2nzv3j.js → hive-promoter-ch6h94j3.js} +23 -23
  12. package/dist/cli/{index-bfc4bbq4.js → index-19tznm6x.js} +4 -4
  13. package/dist/cli/{index-8wy7pb4a.js → index-1hbmy0ny.js} +2 -2
  14. package/dist/cli/{index-dvycdkhj.js → index-30gf3exm.js} +1 -1
  15. package/dist/cli/{index-v3gshkpz.js → index-5th6khpe.js} +1 -1
  16. package/dist/cli/{index-7qbyetsf.js → index-7afvf50d.js} +1 -1
  17. package/dist/cli/{index-xeptzfb6.js → index-8nzqtv6b.js} +2 -2
  18. package/dist/cli/{index-tp1avc8j.js → index-93rgk3ax.js} +2 -2
  19. package/dist/cli/{index-fybg880e.js → index-9hc6ytb1.js} +82 -59
  20. package/dist/cli/{index-fkqfcv14.js → index-cgfjvkps.js} +1 -1
  21. package/dist/cli/{index-2qte9nr7.js → index-cxt62pxj.js} +1 -1
  22. package/dist/cli/{index-kghpgs47.js → index-dc7hh4d9.js} +1 -1
  23. package/dist/cli/{index-e9qh1j19.js → index-dsg5aqtj.js} +3 -3
  24. package/dist/cli/{index-9wpr1p2g.js → index-ek6t1e9h.js} +1 -1
  25. package/dist/cli/{index-vs8wtavs.js → index-fk3msss3.js} +1 -1
  26. package/dist/cli/{index-sg48w5e4.js → index-h6tvj6nr.js} +2 -2
  27. package/dist/cli/{index-wna9f75x.js → index-h9tcawtm.js} +4 -4
  28. package/dist/cli/{index-frp2hwdg.js → index-kca6ng28.js} +1 -1
  29. package/dist/cli/{index-tfkc0zf4.js → index-n1j0cmj3.js} +1 -1
  30. package/dist/cli/{index-02qc4ehj.js → index-n8yastrw.js} +3 -3
  31. package/dist/cli/{index-vradyw0x.js → index-ngzc8db3.js} +25 -25
  32. package/dist/cli/{index-qa8bmwav.js → index-nwpbfh8x.js} +1 -1
  33. package/dist/cli/{index-sdff3rvj.js → index-qdnj3nwt.js} +6 -6
  34. package/dist/cli/{index-f73px21b.js → index-r0bwks42.js} +1 -1
  35. package/dist/cli/{index-zkxnba57.js → index-rqc83msp.js} +5 -5
  36. package/dist/cli/{index-jjpppdvb.js → index-s85abenr.js} +1 -1
  37. package/dist/cli/{index-wxkgy9gh.js → index-sgdqbhkv.js} +5 -5
  38. package/dist/cli/{index-5ep31be7.js → index-trj11few.js} +4 -4
  39. package/dist/cli/index.js +23 -23
  40. package/dist/cli/{knowledge-escalator-a9dwxqz8.js → knowledge-escalator-n4nx4veq.js} +9 -9
  41. package/dist/cli/{knowledge-events-0q4sb713.js → knowledge-events-t77r3zhe.js} +7 -7
  42. package/dist/cli/{knowledge-link-v7hj1h8m.js → knowledge-link-r6hfj2ep.js} +3 -3
  43. package/dist/cli/{knowledge-store-y2nbt9jk.js → knowledge-store-w1v0041d.js} +4 -4
  44. package/dist/cli/{knowledge-validator-4wr1m0xa.js → knowledge-validator-6fcx0xdb.js} +6 -6
  45. package/dist/cli/{runner-7znestx4.js → runner-cmvgkbtp.js} +4 -4
  46. package/dist/cli/{scan-cursor-bsrfrxm6.js → scan-cursor-936pmv37.js} +5 -5
  47. package/dist/cli/{schema-s6yh3rst.js → schema-exk5afyz.js} +1 -1
  48. package/dist/cli/{scope-persistence-f77w4jrx.js → scope-persistence-0ddz95ke.js} +5 -5
  49. package/dist/cli/{skill-generator-jr7c8fcg.js → skill-generator-qk0mf7da.js} +11 -11
  50. package/dist/cli/{worktree-isolation-ka20b0rm.js → worktree-isolation-2jvaebns.js} +23 -23
  51. package/dist/commands/registry.d.ts +2 -2
  52. package/dist/index.js +180 -180
  53. package/dist/tools/repo-graph/builder.d.ts +1 -1
  54. package/dist/tools/repo-graph/symbol-edge.d.ts +21 -0
  55. package/dist/tools/repo-graph/types.d.ts +39 -1
  56. package/dist/tools/repo-graph.d.ts +1 -1
  57. package/package.json +1 -1
@@ -6,19 +6,19 @@ import {
6
6
  resolveExecutableFromPath,
7
7
  runEvaluation,
8
8
  runExternalTool
9
- } from "./index-jjpppdvb.js";
9
+ } from "./index-s85abenr.js";
10
10
  import {
11
11
  finalizeShellAuditForClose,
12
12
  normalizeToolNameLowerCase,
13
13
  redactDecisionLineForArchive,
14
14
  stableCanonicalStringify
15
- } from "./index-qa8bmwav.js";
15
+ } from "./index-nwpbfh8x.js";
16
16
  import {
17
17
  detectStraySwarmDirs,
18
18
  readDoctorArtifact,
19
19
  removeStraySwarmDir,
20
20
  runConfigDoctor
21
- } from "./index-kghpgs47.js";
21
+ } from "./index-dc7hh4d9.js";
22
22
  import {
23
23
  MAX_TRANSIENT_RETRIES,
24
24
  archiveEvidence,
@@ -64,7 +64,7 @@ import {
64
64
  updateTaskStatus,
65
65
  validateProjectRoot,
66
66
  validateSymlinkBoundary
67
- } from "./index-bfc4bbq4.js";
67
+ } from "./index-19tznm6x.js";
68
68
  import {
69
69
  EvaluationTaskV1Schema,
70
70
  GateAuditManifestV1Schema,
@@ -81,7 +81,7 @@ import {
81
81
  saveGateAuditResult,
82
82
  savePromotionDecision,
83
83
  saveTaskSetSnapshot
84
- } from "./index-9wpr1p2g.js";
84
+ } from "./index-ek6t1e9h.js";
85
85
  import {
86
86
  loadDatabaseCtor
87
87
  } from "./index-134d35c1.js";
@@ -107,12 +107,12 @@ import {
107
107
  } from "./index-y8552snf.js";
108
108
  import {
109
109
  readRecentEscalations
110
- } from "./index-zkxnba57.js";
110
+ } from "./index-rqc83msp.js";
111
111
  import {
112
112
  alreadyCuratedThisGeneration,
113
113
  claimNextScanBatch,
114
114
  resolveCohortId
115
- } from "./index-sg48w5e4.js";
115
+ } from "./index-h6tvj6nr.js";
116
116
  import {
117
117
  CURATOR_INIT_PROMPT,
118
118
  CURATOR_PHASE_PROMPT,
@@ -182,7 +182,7 @@ import {
182
182
  retireSkill,
183
183
  selectCandidateEntries,
184
184
  syncBundledProjectSkillsIfMissingAsync
185
- } from "./index-wna9f75x.js";
185
+ } from "./index-h9tcawtm.js";
186
186
  import {
187
187
  appendUnactionable,
188
188
  quarantineEntry,
@@ -193,11 +193,11 @@ import {
193
193
  validateActionableFields,
194
194
  validateLesson,
195
195
  validateSkillPath
196
- } from "./index-5ep31be7.js";
196
+ } from "./index-trj11few.js";
197
197
  import {
198
198
  authorizeCuration,
199
199
  buildConfigFingerprintInput
200
- } from "./index-f73px21b.js";
200
+ } from "./index-r0bwks42.js";
201
201
  import {
202
202
  cohortConfigFingerprint
203
203
  } from "./index-rtry5xyf.js";
@@ -254,18 +254,18 @@ import {
254
254
  transitionTaskWorkflowEvidence,
255
255
  withTaskEvidenceTransaction,
256
256
  writeWorkflowWalFile
257
- } from "./index-xeptzfb6.js";
257
+ } from "./index-8nzqtv6b.js";
258
258
  import {
259
259
  provisionWorktree,
260
260
  removeWorktree
261
- } from "./index-tfkc0zf4.js";
261
+ } from "./index-n1j0cmj3.js";
262
262
  import {
263
263
  MAX_PENDING_SCOPE_BINDINGS,
264
264
  canonicalWorkspaceIdentity,
265
265
  clearAllScopes,
266
266
  clearScopeBindingFromDisk,
267
267
  clearScopeBindings
268
- } from "./index-e9qh1j19.js";
268
+ } from "./index-dsg5aqtj.js";
269
269
  import {
270
270
  appendLedgerEvent,
271
271
  computePlanHash,
@@ -280,7 +280,7 @@ import {
280
280
  readPlanEpochIdentity,
281
281
  replayFromLedgerWithStatus,
282
282
  takeSnapshotEvent
283
- } from "./index-vs8wtavs.js";
283
+ } from "./index-fk3msss3.js";
284
284
  import {
285
285
  CORE_EVENT_LOCKED,
286
286
  appendCoreEventSync,
@@ -342,7 +342,7 @@ import {
342
342
  transactFile,
343
343
  transactKnowledge,
344
344
  wordBigrams
345
- } from "./index-sdff3rvj.js";
345
+ } from "./index-qdnj3nwt.js";
346
346
  import {
347
347
  MAX_EVENT_LOG_ENTRIES,
348
348
  _internals as _internals2,
@@ -356,10 +356,10 @@ import {
356
356
  recordKnowledgeEvent,
357
357
  recordPhaseCloseIntent,
358
358
  resolveKnowledgeEventsPath
359
- } from "./index-wxkgy9gh.js";
359
+ } from "./index-sgdqbhkv.js";
360
360
  import {
361
361
  resolveWorktreeIsolationConfig
362
- } from "./index-tp1avc8j.js";
362
+ } from "./index-93rgk3ax.js";
363
363
  import {
364
364
  RetrospectiveEvidenceSchema
365
365
  } from "./index-gprxjmm7.js";
@@ -381,7 +381,7 @@ import {
381
381
  init_loader,
382
382
  loadPluginConfig,
383
383
  loadPluginConfigWithMeta
384
- } from "./index-7qbyetsf.js";
384
+ } from "./index-7afvf50d.js";
385
385
  import {
386
386
  DEFAULT_SKILL_OPT_CONFIG,
387
387
  FALLBACK_MODELS_MAX,
@@ -395,7 +395,7 @@ import {
395
395
  package_default,
396
396
  resolveAutoReviewConfig,
397
397
  stripKnownSwarmPrefix
398
- } from "./index-fkqfcv14.js";
398
+ } from "./index-cgfjvkps.js";
399
399
  import {
400
400
  AGENT_TOOL_MAP,
401
401
  ALL_AGENT_NAMES,
@@ -435,10 +435,10 @@ import {
435
435
  resolveLinkDir,
436
436
  sanitizeLinkId,
437
437
  writeLinkPointer
438
- } from "./index-v3gshkpz.js";
438
+ } from "./index-5th6khpe.js";
439
439
  import {
440
440
  atomicWriteFile
441
- } from "./index-frp2hwdg.js";
441
+ } from "./index-kca6ng28.js";
442
442
  import {
443
443
  KNOWLEDGE_SCHEMA_VERSION,
444
444
  OUTCOME_BLOCK_THRESHOLD,
@@ -450,7 +450,7 @@ import {
450
450
  atomicWriteSwarmFileSync,
451
451
  matchTempGrammar,
452
452
  parseTargetBasename
453
- } from "./index-dvycdkhj.js";
453
+ } from "./index-30gf3exm.js";
454
454
  import {
455
455
  assertProjectRoot,
456
456
  hasExplicitProjectBoundary,
@@ -5601,7 +5601,7 @@ async function cleanupRecoveredWorktree(directory, descriptor) {
5601
5601
  awaitingMergeByCallID,
5602
5602
  cleanupStandardWorktreeForCallId,
5603
5603
  standardWorktreeByCallID
5604
- } = await import("./worktree-isolation-ka20b0rm.js");
5604
+ } = await import("./worktree-isolation-2jvaebns.js");
5605
5605
  standardWorktreeByCallID.delete(descriptor.callID);
5606
5606
  if (hasResidue)
5607
5607
  awaitingMergeByCallID.set(descriptor.callID, {
@@ -5703,7 +5703,7 @@ async function recoverCoderSettlement(directory, taskId) {
5703
5703
  awaitingMergeByCallID,
5704
5704
  finishStandardWorktreeDispatch,
5705
5705
  standardWorktreeByCallID
5706
- } = await import("./worktree-isolation-ka20b0rm.js");
5706
+ } = await import("./worktree-isolation-2jvaebns.js");
5707
5707
  const descriptor = wal.worktree;
5708
5708
  const reconstructedDispatch = {
5709
5709
  callID: descriptor.callID,
@@ -18505,7 +18505,7 @@ function planMerges(active, threshold, maxComparisons, maxMerges) {
18505
18505
  };
18506
18506
  }
18507
18507
  async function sweepActiveNearDuplicates(directory, options = {}) {
18508
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-02qc4ehj.js");
18508
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-n8yastrw.js");
18509
18509
  const { config } = loadPluginConfigWithMeta2(directory);
18510
18510
  const sweepConfig = config.learning?.dedup_sweep;
18511
18511
  if (sweepConfig?.enabled === false)
@@ -19635,7 +19635,7 @@ async function runCuratorPhase(directory, phase, agentsDispatched, config, knowl
19635
19635
  }
19636
19636
  if (config.skill_generation_enabled === true && skillCandidates.length > 0) {
19637
19637
  try {
19638
- const skillModule = await import("./skill-generator-jr7c8fcg.js");
19638
+ const skillModule = await import("./skill-generator-qk0mf7da.js");
19639
19639
  for (const cand of skillCandidates) {
19640
19640
  if (cand.confidence < (config.min_skill_confidence ?? DEFAULT_SKILL_MIN_CONFIDENCE)) {
19641
19641
  continue;
@@ -20107,7 +20107,7 @@ async function applyCuratorKnowledgeUpdates(directory, recommendations, knowledg
20107
20107
  } catch {}
20108
20108
  }
20109
20109
  if (contradictedEntries.length > 0 && knowledgeConfig.contradiction_threshold_action === "quarantine") {
20110
- const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-a9dwxqz8.js");
20110
+ const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-n4nx4veq.js");
20111
20111
  for (const { id } of contradictedEntries) {
20112
20112
  try {
20113
20113
  await maybeQuarantineOnContradiction(directory, id, knowledgeConfig.contradiction_quarantine_threshold, knowledgeConfig.contradiction_quarantine_window_days);
@@ -20926,7 +20926,7 @@ async function runCuratorPostMortem(directory, options = {}) {
20926
20926
  warnings.push("Failed to collect knowledge summary.");
20927
20927
  }
20928
20928
  try {
20929
- const { getScanStatus } = await import("./scan-cursor-bsrfrxm6.js");
20929
+ const { getScanStatus } = await import("./scan-cursor-936pmv37.js");
20930
20930
  const scanStatus = await getScanStatus(directory);
20931
20931
  if (scanStatus.remaining_estimate > 0) {
20932
20932
  warnings.push(`Fair scan: reviewed ${knowledgeSummary.length} entries this sweep (generation ${scanStatus.generation}); ${scanStatus.remaining_estimate} more eligible entries will be visited in future curation sweeps.`);
@@ -21098,9 +21098,9 @@ var _internals26 = {
21098
21098
  verifyPostMortemKnowledgeActions,
21099
21099
  repairPostMortemActions,
21100
21100
  loadDefaultKnowledgeConfig: async (directory) => {
21101
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-s6yh3rst.js");
21101
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-exk5afyz.js");
21102
21102
  try {
21103
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-02qc4ehj.js");
21103
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-n8yastrw.js");
21104
21104
  const loaded = loadPluginConfigWithMeta2(directory);
21105
21105
  return KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
21106
21106
  } catch {
@@ -21108,11 +21108,11 @@ var _internals26 = {
21108
21108
  }
21109
21109
  },
21110
21110
  applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
21111
- const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-rym2wtn6.js");
21111
+ const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-krg3abzq.js");
21112
21112
  return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
21113
21113
  },
21114
21114
  checkHivePromotions: async (entries, knowledgeConfig, directory) => {
21115
- const { checkHivePromotions } = await import("./hive-promoter-jb2nzv3j.js");
21115
+ const { checkHivePromotions } = await import("./hive-promoter-ch6h94j3.js");
21116
21116
  return checkHivePromotions(entries, knowledgeConfig, directory);
21117
21117
  },
21118
21118
  applyProposalTriage: async (directory, triage) => {
@@ -21121,7 +21121,7 @@ var _internals26 = {
21121
21121
  activateProposal,
21122
21122
  listSkills: listSkills2,
21123
21123
  sanitizeSlug
21124
- } = await import("./skill-generator-jr7c8fcg.js");
21124
+ } = await import("./skill-generator-qk0mf7da.js");
21125
21125
  const result = {
21126
21126
  approved: [],
21127
21127
  rejected: [],
@@ -22451,9 +22451,9 @@ function hashContent(content) {
22451
22451
  return createHash10("sha1").update(content).digest("hex");
22452
22452
  }
22453
22453
  async function loadConfigForPolicyCurator(directory) {
22454
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-s6yh3rst.js");
22454
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-exk5afyz.js");
22455
22455
  try {
22456
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-02qc4ehj.js");
22456
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-n8yastrw.js");
22457
22457
  const { config: loadedConfig } = loadPluginConfigWithMeta2(directory);
22458
22458
  return KnowledgeConfigSchema2.parse(loadedConfig.knowledge ?? {});
22459
22459
  } catch {
@@ -33660,7 +33660,7 @@ async function runFinalizeStage(ctx) {
33660
33660
  }
33661
33661
  }
33662
33662
  try {
33663
- const { CuratorConfigSchema: CCS } = await import("./schema-s6yh3rst.js");
33663
+ const { CuratorConfigSchema: CCS } = await import("./schema-exk5afyz.js");
33664
33664
  const { config: pmLoadedConfig } = _internals41.loadPluginConfigWithMeta(ctx.directory);
33665
33665
  const curatorCfg = CCS.parse(pmLoadedConfig.curator ?? {});
33666
33666
  if (curatorCfg.enabled && curatorCfg.postmortem_enabled) {
@@ -35873,9 +35873,9 @@ var _internals45 = {
35873
35873
  loadPluginConfigWithMeta,
35874
35874
  loadCuratorDeps: async () => {
35875
35875
  const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate: createCuratorLLMDelegate2 }] = await Promise.all([
35876
- import("./schema-s6yh3rst.js"),
35877
- import("./curator-rym2wtn6.js"),
35878
- import("./curator-llm-factory-k0nxn5gt.js")
35876
+ import("./schema-exk5afyz.js"),
35877
+ import("./curator-krg3abzq.js"),
35878
+ import("./curator-llm-factory-6xnnfpt4.js")
35879
35879
  ]);
35880
35880
  return { CuratorConfigSchema, curator, createCuratorLLMDelegate: createCuratorLLMDelegate2 };
35881
35881
  }
@@ -36865,7 +36865,7 @@ async function computeCurationDiagnostics(directory, entries) {
36865
36865
  let scanCompleted = false;
36866
36866
  let scanRemaining = 0;
36867
36867
  try {
36868
- const { getScanStatus } = await import("./scan-cursor-bsrfrxm6.js");
36868
+ const { getScanStatus } = await import("./scan-cursor-936pmv37.js");
36869
36869
  const status = await getScanStatus(directory);
36870
36870
  scanGeneration = status.generation;
36871
36871
  scanCompleted = status.completed;
@@ -36873,19 +36873,19 @@ async function computeCurationDiagnostics(directory, entries) {
36873
36873
  } catch {}
36874
36874
  let configMatch = null;
36875
36875
  try {
36876
- const { isLinked: isLinked2 } = await import("./knowledge-link-v7hj1h8m.js");
36876
+ const { isLinked: isLinked2 } = await import("./knowledge-link-r6hfj2ep.js");
36877
36877
  if (isLinked2(directory)) {
36878
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-s6yh3rst.js");
36878
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-exk5afyz.js");
36879
36879
  let config;
36880
36880
  try {
36881
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-02qc4ehj.js");
36881
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-n8yastrw.js");
36882
36882
  const loaded = loadPluginConfigWithMeta2(directory);
36883
36883
  config = KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
36884
36884
  } catch {
36885
36885
  config = KnowledgeConfigSchema2.parse({});
36886
36886
  }
36887
36887
  const { cohortConfigFingerprint: cohortConfigFingerprint2 } = await import("./config-fingerprint-v22xh5a2.js");
36888
- const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-fmvccdrg.js");
36888
+ const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-vb2f0vm7.js");
36889
36889
  const currentFp = cohortConfigFingerprint2(buildConfigFingerprintInput2(config));
36890
36890
  const cohortFp = await readCohortConfigFingerprint(directory);
36891
36891
  configMatch = cohortFp === null ? null : currentFp === cohortFp;
@@ -38189,7 +38189,7 @@ async function handleDoctorCommand(directory, args) {
38189
38189
  const result = runConfigDoctor(config, directory);
38190
38190
  let output;
38191
38191
  if (enableAutoFix && result.hasAutoFixableIssues) {
38192
- const { runConfigDoctorWithFixes } = await import("./config-doctor-23ega26j.js");
38192
+ const { runConfigDoctorWithFixes } = await import("./config-doctor-4hctd61b.js");
38193
38193
  const fixResult = await runConfigDoctorWithFixes(directory, config, true, {
38194
38194
  applyLossy: true
38195
38195
  });
@@ -39129,7 +39129,7 @@ async function handleEvidenceCommand(directory, args) {
39129
39129
  return formatTaskEvidenceMarkdown(evidenceData);
39130
39130
  }
39131
39131
  async function handleEvidenceSummaryCommand(directory) {
39132
- const { buildEvidenceSummary } = await import("./evidence-summary-service-f0gvjesf.js");
39132
+ const { buildEvidenceSummary } = await import("./evidence-summary-service-dtjr30pg.js");
39133
39133
  const artifact = await buildEvidenceSummary(directory);
39134
39134
  if (!artifact) {
39135
39135
  return "No plan found. Run `/swarm plan` to check plan status.";
@@ -52762,7 +52762,7 @@ var _internals65 = {
52762
52762
  import * as path73 from "path";
52763
52763
 
52764
52764
  // src/tools/repo-graph/types.ts
52765
- var GRAPH_SCHEMA_VERSION = "1.4.0";
52765
+ var GRAPH_SCHEMA_VERSION = "1.5.0";
52766
52766
  var FILE_ROLE_VALUES = [
52767
52767
  "api_route",
52768
52768
  "middleware",
@@ -52831,6 +52831,25 @@ var IMPORT_TYPE_VALUES = [
52831
52831
  "sideeffect",
52832
52832
  "type"
52833
52833
  ];
52834
+ var SYMBOL_EDGE_KIND_VALUES = [
52835
+ "CALLS",
52836
+ "REFERENCES",
52837
+ "USES_TYPE",
52838
+ "INSTANTIATES",
52839
+ "IMPLEMENTS",
52840
+ "OVERRIDES"
52841
+ ];
52842
+ var SYMBOL_EDGE_RESOLUTION_VALUES = [
52843
+ "exact",
52844
+ "import_binding",
52845
+ "same_file_scope",
52846
+ "unique_name",
52847
+ "type_resolved",
52848
+ "lsp",
52849
+ "scip",
52850
+ "heuristic",
52851
+ "unresolved"
52852
+ ];
52834
52853
  var PACKAGE_BOUNDARY_ROOTS = new Set([
52835
52854
  "packages",
52836
52855
  "crates",
@@ -53346,6 +53365,10 @@ function safeRealpathSync(targetPath, fallback, realpathResolver = realpathSync7
53346
53365
  }
53347
53366
  }
53348
53367
 
53368
+ // src/tools/repo-graph/symbol-edge.ts
53369
+ var KIND_SET = new Set(SYMBOL_EDGE_KIND_VALUES);
53370
+ var RESOLUTION_SET = new Set(SYMBOL_EDGE_RESOLUTION_VALUES);
53371
+
53349
53372
  // src/tools/repo-graph/validation.ts
53350
53373
  var FILE_ROLE_SET = new Set(FILE_ROLE_VALUES);
53351
53374
  var ROUTE_METHOD_SET = new Set(ROUTE_METHOD_VALUES);
@@ -70397,7 +70420,7 @@ async function runValidationWithTransientRetry(input, candidateContent, baseline
70397
70420
  if (!input.dispatcher) {
70398
70421
  throw new Error("no evaluation dispatcher available (cannot run validation)");
70399
70422
  }
70400
- const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-7znestx4.js");
70423
+ const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-cmvgkbtp.js");
70401
70424
  const executor = createModelEvaluationExecutor2(input.dispatcher, input.sessionId);
70402
70425
  const result = await _internals96.evaluateCandidateV1({
70403
70426
  projectRoot: input.directory,
@@ -72432,7 +72455,7 @@ function buildDetailedHelp(commandName, entry) {
72432
72455
  async function handleHelpCommand(ctx) {
72433
72456
  const targetCommand = ctx.args.join(" ");
72434
72457
  if (!targetCommand) {
72435
- const { buildHelpText } = await import("./index-vradyw0x.js");
72458
+ const { buildHelpText } = await import("./index-ngzc8db3.js");
72436
72459
  return buildHelpText();
72437
72460
  }
72438
72461
  const tokens = targetCommand.split(/\s+/);
@@ -72441,7 +72464,7 @@ async function handleHelpCommand(ctx) {
72441
72464
  return _internals99.buildDetailedHelp(resolved.key, resolved.entry);
72442
72465
  }
72443
72466
  const similar = _internals99.findSimilarCommands(targetCommand);
72444
- const { buildHelpText: fullHelp } = await import("./index-vradyw0x.js");
72467
+ const { buildHelpText: fullHelp } = await import("./index-ngzc8db3.js");
72445
72468
  if (similar.length > 0) {
72446
72469
  return `Command '/swarm ${targetCommand}' not found.
72447
72470
 
@@ -72508,7 +72531,7 @@ var COMMAND_REGISTRY = {
72508
72531
  },
72509
72532
  status: {
72510
72533
  handler: async (ctx) => handleStatusCommand(ctx.directory, ctx.agents, ctx.sessionID),
72511
- description: "Show current swarm state",
72534
+ description: "Show current swarm state (plus background-work health when hooks.background_subagents is enabled)",
72512
72535
  category: "core",
72513
72536
  clashesWithNativeCcCommand: "/status",
72514
72537
  toolPolicy: "agent",
@@ -72621,7 +72644,7 @@ var COMMAND_REGISTRY = {
72621
72644
  },
72622
72645
  "guardrail explain": {
72623
72646
  handler: async (ctx) => {
72624
- const { handleGuardrailExplain } = await import("./guardrail-explain-cv52smw2.js");
72647
+ const { handleGuardrailExplain } = await import("./guardrail-explain-nbgds0g0.js");
72625
72648
  return handleGuardrailExplain(ctx.directory, ctx.args);
72626
72649
  },
72627
72650
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -72631,7 +72654,7 @@ var COMMAND_REGISTRY = {
72631
72654
  },
72632
72655
  "guardrail reset": {
72633
72656
  handler: async (ctx) => {
72634
- const { handleGuardrailReset } = await import("./guardrail-reset-vx7zsmzd.js");
72657
+ const { handleGuardrailReset } = await import("./guardrail-reset-95jhw7rg.js");
72635
72658
  return handleGuardrailReset(ctx.args, ctx.sessionID);
72636
72659
  },
72637
72660
  description: "Reset one exact active invocation/action circuit after repair",
@@ -72640,7 +72663,7 @@ var COMMAND_REGISTRY = {
72640
72663
  },
72641
72664
  "guardrail-explain": {
72642
72665
  handler: async (ctx) => {
72643
- const { handleGuardrailExplain } = await import("./guardrail-explain-cv52smw2.js");
72666
+ const { handleGuardrailExplain } = await import("./guardrail-explain-nbgds0g0.js");
72644
72667
  return handleGuardrailExplain(ctx.directory, ctx.args);
72645
72668
  },
72646
72669
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -72650,7 +72673,7 @@ var COMMAND_REGISTRY = {
72650
72673
  },
72651
72674
  "guardrail-reset": {
72652
72675
  handler: async (ctx) => {
72653
- const { handleGuardrailReset } = await import("./guardrail-reset-vx7zsmzd.js");
72676
+ const { handleGuardrailReset } = await import("./guardrail-reset-95jhw7rg.js");
72654
72677
  return handleGuardrailReset(ctx.args, ctx.sessionID);
72655
72678
  },
72656
72679
  description: "Reset one exact active invocation/action circuit after repair",
@@ -72660,7 +72683,7 @@ var COMMAND_REGISTRY = {
72660
72683
  },
72661
72684
  "guardrail-log": {
72662
72685
  handler: async (ctx) => {
72663
- const { handleGuardrailLog } = await import("./guardrail-log-wgwmh9b7.js");
72686
+ const { handleGuardrailLog } = await import("./guardrail-log-emgfqa5s.js");
72664
72687
  return handleGuardrailLog(ctx.directory, ctx.args);
72665
72688
  },
72666
72689
  description: "Read the guardrail decision log (use --blocks-only for blocks)",
@@ -72868,7 +72891,7 @@ var COMMAND_REGISTRY = {
72868
72891
  },
72869
72892
  info: {
72870
72893
  handler: async (ctx) => handleStatusCommand(ctx.directory, ctx.agents, ctx.sessionID),
72871
- description: "Show current swarm state",
72894
+ description: "Show current swarm state (plus background-work health when hooks.background_subagents is enabled)",
72872
72895
  category: "core",
72873
72896
  aliasOf: "status",
72874
72897
  deprecated: true
@@ -79650,7 +79673,7 @@ async function precreateStandardWorktreeSession(args) {
79650
79673
  const laneProfile = computeLaneRuntimeProfile(worktreeConfig.runtime_isolation, laneIndex, provisionResult.worktreePath);
79651
79674
  if (laneProfile) {
79652
79675
  try {
79653
- const { writeLaneProfileToDiskReal } = await import("./core-3g4krkj8.js");
79676
+ const { writeLaneProfileToDiskReal } = await import("./core-ea8xgnwy.js");
79654
79677
  await writeLaneProfileToDiskReal(provisionResult.worktreePath, laneProfile.laneIndex, laneProfile.envOverrides);
79655
79678
  } catch {}
79656
79679
  }
@@ -80308,7 +80331,7 @@ async function finishStandardWorktreeDispatch(directory, dispatch, config, callI
80308
80331
  }
80309
80332
  clearWorktreeMergeStatus(statusKey);
80310
80333
  try {
80311
- const { removeLaneProfileFromDiskReal } = await import("./core-3g4krkj8.js");
80334
+ const { removeLaneProfileFromDiskReal } = await import("./core-ea8xgnwy.js");
80312
80335
  await removeLaneProfileFromDiskReal(dispatch.handle.worktreePath, dispatch.laneIndex);
80313
80336
  } catch {}
80314
80337
  const state = serializationStateBySessionID.get(dispatch.parentSessionID);
@@ -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.151.0",
24
+ version: "7.152.0",
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",
@@ -4,7 +4,7 @@ import {
4
4
  readShellAuditTail,
5
5
  redactPath,
6
6
  redactShellCommand
7
- } from "./index-qa8bmwav.js";
7
+ } from "./index-nwpbfh8x.js";
8
8
 
9
9
  // src/services/guardrail-log-service.ts
10
10
  var BLOCK_TYPES = new Set([
@@ -6,7 +6,7 @@ import {
6
6
  PluginConfigSchema,
7
7
  init_schema,
8
8
  stripKnownSwarmPrefix
9
- } from "./index-fkqfcv14.js";
9
+ } from "./index-cgfjvkps.js";
10
10
  import {
11
11
  ALL_AGENT_NAMES,
12
12
  init_constants
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  computePlanStructureHash,
4
4
  derivePlanId
5
- } from "./index-vs8wtavs.js";
5
+ } from "./index-fk3msss3.js";
6
6
  import {
7
7
  appendCoreEventSync
8
8
  } from "./index-6zkm4p7p.js";
@@ -11,11 +11,11 @@ import {
11
11
  } from "./index-556ja8an.js";
12
12
  import {
13
13
  PlanSchema
14
- } from "./index-7qbyetsf.js";
14
+ } from "./index-7afvf50d.js";
15
15
  import {
16
16
  atomicWriteSwarmFile,
17
17
  atomicWriteSwarmFileSync
18
- } from "./index-dvycdkhj.js";
18
+ } from "./index-30gf3exm.js";
19
19
  import {
20
20
  assertProjectRoot
21
21
  } from "./index-txbd25bc.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./index-y8552snf.js";
10
10
  import {
11
11
  atomicWriteFile
12
- } from "./index-frp2hwdg.js";
12
+ } from "./index-kca6ng28.js";
13
13
  import {
14
14
  assertProjectRoot,
15
15
  withEvidenceLock
@@ -4,7 +4,7 @@ import {
4
4
  PlanSchema,
5
5
  TaskStatusSchema,
6
6
  init_loader
7
- } from "./index-7qbyetsf.js";
7
+ } from "./index-7afvf50d.js";
8
8
  import {
9
9
  assertProjectRoot,
10
10
  withEvidenceLock
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  readKnowledge,
4
4
  transactKnowledge
5
- } from "./index-sdff3rvj.js";
5
+ } from "./index-qdnj3nwt.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-v3gshkpz.js";
12
+ } from "./index-5th6khpe.js";
13
13
  import {
14
14
  init_knowledge_types,
15
15
  isActiveStatus
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  ALLOWED_SKILL_PATH_PREFIXES,
4
4
  validateSkillPath
5
- } from "./index-5ep31be7.js";
5
+ } from "./index-trj11few.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-sdff3rvj.js";
15
+ } from "./index-qdnj3nwt.js";
16
16
  import {
17
17
  effectiveRetrievalOutcomes,
18
18
  readAuthoritativeKnowledgeCounterRollups
19
- } from "./index-wxkgy9gh.js";
19
+ } from "./index-sgdqbhkv.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-dvycdkhj.js";
31
+ } from "./index-30gf3exm.js";
32
32
  import {
33
33
  init_logger,
34
34
  log,
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  atomicWriteFileAnyRoot
4
- } from "./index-dvycdkhj.js";
4
+ } from "./index-30gf3exm.js";
5
5
  import {
6
6
  withEvidenceLock
7
7
  } from "./index-txbd25bc.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-f77w4jrx.js");
95
+ const { writeScopeToDisk: realWrite } = await import("./scope-persistence-0ddz95ke.js");
96
96
  return realWrite(directory, taskId, files);
97
97
  },
98
98
  writeLaneProfileToDisk: async (_worktreePath, _laneIndex, _envOverrides) => {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  _internals,
4
4
  resolveWorktreeIsolationConfig
5
- } from "./index-tp1avc8j.js";
5
+ } from "./index-93rgk3ax.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-7qbyetsf.js";
45
+ } from "./index-7afvf50d.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-fkqfcv14.js";
67
+ } from "./index-cgfjvkps.js";
68
68
  import {
69
69
  ALL_AGENT_NAMES,
70
70
  ALL_SUBAGENT_NAMES,