opencode-swarm 7.160.2 → 7.161.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 (79) hide show
  1. package/dist/background/delegation-lifecycle.d.ts +374 -0
  2. package/dist/background/pending-delegations.d.ts +6 -0
  3. package/dist/cli/{coder-settlement-gzar5ypz.js → coder-settlement-nayk1bbf.js} +8 -8
  4. package/dist/cli/{config-doctor-ancn1sj7.js → config-doctor-b1w7yvcs.js} +2 -2
  5. package/dist/cli/{core-bhmqtxev.js → core-whesnhpf.js} +1 -1
  6. package/dist/cli/{curation-policy-47przjwg.js → curation-policy-ej9xc0cd.js} +5 -5
  7. package/dist/cli/{curator-sgmynbpm.js → curator-1rzb285s.js} +29 -29
  8. package/dist/cli/{curator-llm-factory-6mw01jx1.js → curator-llm-factory-bqfkaq6y.js} +29 -29
  9. package/dist/cli/{evidence-summary-service-1pcfsqhv.js → evidence-summary-service-ma8drpv5.js} +12 -12
  10. package/dist/cli/{gate-evidence-w0kjqmew.js → gate-evidence-7eh82zs0.js} +5 -5
  11. package/dist/cli/{guardrail-explain-k99eje1y.js → guardrail-explain-em2mqz9a.js} +30 -30
  12. package/dist/cli/{guardrail-log-md5gcpk7.js → guardrail-log-845tfrwb.js} +6 -6
  13. package/dist/cli/{guardrail-reset-3385eqmq.js → guardrail-reset-091xw53a.js} +29 -29
  14. package/dist/cli/{hive-promoter-r0ekyn5m.js → hive-promoter-kx8t5em3.js} +29 -29
  15. package/dist/cli/{index-vv760pbg.js → index-14dgnwmh.js} +2 -2
  16. package/dist/cli/{index-k0qy284k.js → index-3cxfqdpv.js} +3 -3
  17. package/dist/cli/{index-vsy942dt.js → index-52f67bbh.js} +31 -31
  18. package/dist/cli/{index-yd6y4qr7.js → index-54jznpq7.js} +1 -1
  19. package/dist/cli/{index-7h2armwf.js → index-7619tk9a.js} +2 -2
  20. package/dist/cli/{index-am5bz6mf.js → index-7qera0f6.js} +2 -2
  21. package/dist/cli/{index-re338hf1.js → index-93pf824c.js} +3 -3
  22. package/dist/cli/{index-xsd7y4hp.js → index-ambz0ryy.js} +4 -4
  23. package/dist/cli/{index-prv20xq6.js → index-c6zyqgpq.js} +1 -1
  24. package/dist/cli/{index-war2dt6a.js → index-d1h4sf8f.js} +6 -6
  25. package/dist/cli/{index-7ezv5j23.js → index-d8st72j7.js} +1 -1
  26. package/dist/cli/{index-nk498mx6.js → index-dq41vsf9.js} +2 -2
  27. package/dist/cli/{index-2123hwbj.js → index-et1jpj6z.js} +3 -3
  28. package/dist/cli/{index-717pmdce.js → index-etdtfhhv.js} +1 -1
  29. package/dist/cli/{index-zbnf26br.js → index-f4dmccpd.js} +7 -7
  30. package/dist/cli/{index-znf683sm.js → index-f5axf6vq.js} +1 -1
  31. package/dist/cli/{index-dke4wzkn.js → index-fx3em0dr.js} +17 -1
  32. package/dist/cli/{index-3a35tt6a.js → index-gkv7s4xy.js} +8 -8
  33. package/dist/cli/{index-xtwny1ae.js → index-h6wtxzvm.js} +1 -1
  34. package/dist/cli/{index-mmr96pwr.js → index-k55td019.js} +1 -1
  35. package/dist/cli/{index-k50kxd3w.js → index-mbktm1ah.js} +7 -4
  36. package/dist/cli/{index-yp81ebrx.js → index-mj6ndvee.js} +4 -4
  37. package/dist/cli/{index-b5adxpy6.js → index-nqbqkx4c.js} +1 -1
  38. package/dist/cli/{index-s7w6ntw6.js → index-qjge2m9r.js} +63 -63
  39. package/dist/cli/{index-j3ss86kf.js → index-s33ee2w3.js} +1 -1
  40. package/dist/cli/{index-4dcz9fpn.js → index-t81fmfjj.js} +4 -4
  41. package/dist/cli/{index-xkmzsfg5.js → index-trmqq4wm.js} +2 -2
  42. package/dist/cli/{index-4d8cq6e1.js → index-w9g58t3j.js} +5 -5
  43. package/dist/cli/{index-5xfx5sbw.js → index-wrtgyvre.js} +5 -5
  44. package/dist/cli/{index-kqzba6ex.js → index-xy0e0r5f.js} +1 -1
  45. package/dist/cli/{index-5th50g17.js → index-y0ra2v4w.js} +3 -3
  46. package/dist/cli/{index-497a3hhj.js → index-y14mwbk8.js} +3 -3
  47. package/dist/cli/{index-6scakreq.js → index-zkgrayya.js} +1 -1
  48. package/dist/cli/index.js +29 -29
  49. package/dist/cli/{knowledge-escalator-saekqp8t.js → knowledge-escalator-9eqpsbw5.js} +11 -11
  50. package/dist/cli/{knowledge-events-ej8yz3yq.js → knowledge-events-a8r4ej12.js} +9 -9
  51. package/dist/cli/{knowledge-link-xezm8hr3.js → knowledge-link-8knefv8x.js} +4 -4
  52. package/dist/cli/{knowledge-store-3jamj5n4.js → knowledge-store-ydzeppv7.js} +5 -5
  53. package/dist/cli/{knowledge-validator-26w2mvqv.js → knowledge-validator-mnv58he9.js} +7 -7
  54. package/dist/cli/{pending-delegations-7xak7g59.js → pending-delegations-9mwmrwwm.js} +6 -4
  55. package/dist/cli/{pr-review-reentry-authorization-v97q63q4.js → pr-review-reentry-authorization-h1ssfq37.js} +29 -29
  56. package/dist/cli/{pr-subscriptions-asjevc5p.js → pr-subscriptions-3zwthnan.js} +4 -4
  57. package/dist/cli/{runner-wsdcy2d6.js → runner-fzgkd6m1.js} +5 -5
  58. package/dist/cli/{scan-cursor-1agr50f8.js → scan-cursor-5rmaqw2t.js} +6 -6
  59. package/dist/cli/{schema-z0ygrqgy.js → schema-72vpr9xy.js} +1 -1
  60. package/dist/cli/{scope-persistence-tncg38by.js → scope-persistence-39mwns79.js} +8 -8
  61. package/dist/cli/{skill-generator-jq20a09m.js → skill-generator-9aay0t53.js} +13 -13
  62. package/dist/cli/{telemetry-gpr9s3sm.js → telemetry-cmbjv240.js} +1 -1
  63. package/dist/cli/{worktree-collision-ownership-b9cp9zvw.js → worktree-collision-ownership-ybhktnq4.js} +4 -4
  64. package/dist/cli/{worktree-isolation-dzyxf8hn.js → worktree-isolation-w8ett6bs.js} +29 -29
  65. package/dist/config/evidence-schema.d.ts +2 -2
  66. package/dist/config/schema.d.ts +7 -7
  67. package/dist/hooks/delegate-ack-collector.d.ts +74 -0
  68. package/dist/hooks/knowledge-injector.d.ts +12 -1
  69. package/dist/index.js +93 -93
  70. package/dist/learning/admission.d.ts +2 -2
  71. package/dist/memory/schema.d.ts +3 -3
  72. package/dist/observability/catalog.d.ts +2 -2
  73. package/dist/prm/types.d.ts +9 -0
  74. package/dist/telemetry.d.ts +9 -1
  75. package/dist/tools/repo-graph/retrieval-router.d.ts +57 -0
  76. package/dist/tools/repo-graph.d.ts +2 -0
  77. package/dist/tools/repo-map.d.ts +202 -0
  78. package/dist/tools/search.d.ts +2 -2
  79. package/package.json +1 -1
@@ -6,7 +6,7 @@ import {
6
6
  resolveExecutableFromPath,
7
7
  runEvaluation,
8
8
  runExternalTool
9
- } from "./index-j3ss86kf.js";
9
+ } from "./index-s33ee2w3.js";
10
10
  import {
11
11
  finalizeShellAuditForClose,
12
12
  isPolicyProtectedPath,
@@ -15,13 +15,13 @@ import {
15
15
  protectedRoots,
16
16
  redactDecisionLineForArchive,
17
17
  stableCanonicalStringify
18
- } from "./index-2123hwbj.js";
18
+ } from "./index-et1jpj6z.js";
19
19
  import {
20
20
  detectStraySwarmDirs,
21
21
  readDoctorArtifact,
22
22
  removeStraySwarmDir,
23
23
  runConfigDoctor
24
- } from "./index-xtwny1ae.js";
24
+ } from "./index-h6wtxzvm.js";
25
25
  import {
26
26
  MAX_TRANSIENT_RETRIES,
27
27
  archiveEvidence,
@@ -68,7 +68,7 @@ import {
68
68
  validateProjectRoot,
69
69
  validateSymlinkBoundary,
70
70
  validateTargetWithinRoot
71
- } from "./index-zbnf26br.js";
71
+ } from "./index-f4dmccpd.js";
72
72
  import {
73
73
  EvaluationTaskV1Schema,
74
74
  GateAuditManifestV1Schema,
@@ -85,7 +85,7 @@ import {
85
85
  saveGateAuditResult,
86
86
  savePromotionDecision,
87
87
  saveTaskSetSnapshot
88
- } from "./index-nk498mx6.js";
88
+ } from "./index-dq41vsf9.js";
89
89
  import {
90
90
  canonicalHash,
91
91
  canonicalJson,
@@ -130,15 +130,15 @@ import {
130
130
  retireSkill,
131
131
  selectCandidateEntries,
132
132
  syncBundledProjectSkillsIfMissingAsync
133
- } from "./index-re338hf1.js";
133
+ } from "./index-93pf824c.js";
134
134
  import {
135
135
  readRecentEscalations
136
- } from "./index-5xfx5sbw.js";
136
+ } from "./index-wrtgyvre.js";
137
137
  import {
138
138
  alreadyCuratedThisGeneration,
139
139
  claimNextScanBatch,
140
140
  resolveCohortId
141
- } from "./index-am5bz6mf.js";
141
+ } from "./index-7qera0f6.js";
142
142
  import {
143
143
  CURATOR_INIT_PROMPT,
144
144
  CURATOR_PHASE_PROMPT,
@@ -162,7 +162,7 @@ import {
162
162
  listActive,
163
163
  subscribe,
164
164
  unsubscribe
165
- } from "./index-497a3hhj.js";
165
+ } from "./index-y14mwbk8.js";
166
166
  import {
167
167
  clearWorktreeMergeStatus,
168
168
  getAllWorktreeMergeFailures,
@@ -174,7 +174,7 @@ import {
174
174
  listCoderSettlementWalStates,
175
175
  recoverCoderSettlement,
176
176
  recoverStaleCoderSettlements
177
- } from "./index-4d8cq6e1.js";
177
+ } from "./index-w9g58t3j.js";
178
178
  import {
179
179
  parsePorcelainV2Snapshot,
180
180
  resolveCommitCountSince,
@@ -218,11 +218,11 @@ import {
218
218
  validateActionableFields,
219
219
  validateLesson,
220
220
  validateSkillPath
221
- } from "./index-yp81ebrx.js";
221
+ } from "./index-mj6ndvee.js";
222
222
  import {
223
223
  authorizeCuration,
224
224
  buildConfigFingerprintInput
225
- } from "./index-znf683sm.js";
225
+ } from "./index-f5axf6vq.js";
226
226
  import {
227
227
  cohortConfigFingerprint
228
228
  } from "./index-rtry5xyf.js";
@@ -253,12 +253,12 @@ import {
253
253
  transitionTaskWorkflowEvidence,
254
254
  withTaskEvidenceTransaction,
255
255
  writeWorkflowWalFile
256
- } from "./index-4dcz9fpn.js";
256
+ } from "./index-t81fmfjj.js";
257
257
  import {
258
258
  makeWorktreeBranchName,
259
259
  provisionWorktree,
260
260
  removeWorktree
261
- } from "./index-kqzba6ex.js";
261
+ } from "./index-xy0e0r5f.js";
262
262
  import {
263
263
  DEFAULT_STALE_DELEGATION_TIMEOUT_MS,
264
264
  DELEGATION_COMPACTION_HIGH_WATER_BYTES,
@@ -286,7 +286,7 @@ import {
286
286
  scanBackgroundCoderReservationsForAdmission,
287
287
  scanDelegationsForRecovery,
288
288
  sweepStaleDelegations
289
- } from "./index-k50kxd3w.js";
289
+ } from "./index-mbktm1ah.js";
290
290
  import {
291
291
  compositeSessionKey,
292
292
  sessionKeySuffix
@@ -297,7 +297,7 @@ import {
297
297
  clearAllScopes,
298
298
  clearScopeBindingFromDisk,
299
299
  clearScopeBindings
300
- } from "./index-xsd7y4hp.js";
300
+ } from "./index-ambz0ryy.js";
301
301
  import {
302
302
  appendLedgerEvent,
303
303
  computePlanHash,
@@ -312,7 +312,7 @@ import {
312
312
  readPlanEpochIdentity,
313
313
  replayFromLedgerWithStatus,
314
314
  takeSnapshotEvent
315
- } from "./index-5th50g17.js";
315
+ } from "./index-y0ra2v4w.js";
316
316
  import {
317
317
  CORE_EVENT_LOCKED,
318
318
  appendCoreEventSync,
@@ -322,7 +322,7 @@ import {
322
322
  hasSpecDriftAuditEvent,
323
323
  hasTaskRepairAuditEvent,
324
324
  readCoreEvents
325
- } from "./index-7h2armwf.js";
325
+ } from "./index-7619tk9a.js";
326
326
  import {
327
327
  sanitizeDiagnosticText
328
328
  } from "./index-556ja8an.js";
@@ -371,7 +371,7 @@ import {
371
371
  transactFile,
372
372
  transactKnowledge,
373
373
  wordBigrams
374
- } from "./index-war2dt6a.js";
374
+ } from "./index-d1h4sf8f.js";
375
375
  import {
376
376
  MAX_EVENT_LOG_ENTRIES,
377
377
  _internals as _internals2,
@@ -387,10 +387,10 @@ import {
387
387
  recordKnowledgeEvent,
388
388
  recordPhaseCloseIntent,
389
389
  resolveKnowledgeEventsPath
390
- } from "./index-3a35tt6a.js";
390
+ } from "./index-gkv7s4xy.js";
391
391
  import {
392
392
  resolveWorktreeIsolationConfig
393
- } from "./index-xkmzsfg5.js";
393
+ } from "./index-trmqq4wm.js";
394
394
  import {
395
395
  RetrospectiveEvidenceSchema
396
396
  } from "./index-q8hm27yj.js";
@@ -413,7 +413,7 @@ import {
413
413
  init_loader,
414
414
  loadPluginConfig,
415
415
  loadPluginConfigWithMeta
416
- } from "./index-717pmdce.js";
416
+ } from "./index-etdtfhhv.js";
417
417
  import {
418
418
  DEFAULT_HARNESS_EVOLUTION_CONFIG,
419
419
  DEFAULT_PR_REVIEW_RESILIENCE_CONFIG,
@@ -429,7 +429,7 @@ import {
429
429
  package_default,
430
430
  resolveAutoReviewConfig,
431
431
  stripKnownSwarmPrefix
432
- } from "./index-6scakreq.js";
432
+ } from "./index-zkgrayya.js";
433
433
  import {
434
434
  init_git_executable,
435
435
  resolveGitExecutable,
@@ -445,7 +445,7 @@ import {
445
445
  observeCuratorCompliance,
446
446
  observeStoreHealth,
447
447
  readLearningHealth
448
- } from "./index-mmr96pwr.js";
448
+ } from "./index-k55td019.js";
449
449
  import {
450
450
  AGENT_TOOL_MAP,
451
451
  ALL_AGENT_NAMES,
@@ -475,10 +475,10 @@ import {
475
475
  resolveLinkDir,
476
476
  sanitizeLinkId,
477
477
  writeLinkPointer
478
- } from "./index-prv20xq6.js";
478
+ } from "./index-c6zyqgpq.js";
479
479
  import {
480
480
  atomicWriteFile
481
- } from "./index-7ezv5j23.js";
481
+ } from "./index-d8st72j7.js";
482
482
  import {
483
483
  KNOWLEDGE_SCHEMA_VERSION,
484
484
  OUTCOME_BLOCK_THRESHOLD,
@@ -492,7 +492,7 @@ import {
492
492
  listActiveLocks,
493
493
  tryAcquireLock,
494
494
  withEvidenceLock
495
- } from "./index-b5adxpy6.js";
495
+ } from "./index-nqbqkx4c.js";
496
496
  import {
497
497
  atomicWriteSwarmFile,
498
498
  atomicWriteSwarmFileSync,
@@ -507,7 +507,7 @@ import {
507
507
  emit,
508
508
  getLastHeartbeat,
509
509
  telemetry
510
- } from "./index-dke4wzkn.js";
510
+ } from "./index-fx3em0dr.js";
511
511
  import {
512
512
  require_proper_lockfile
513
513
  } from "./index-7g4c7s5r.js";
@@ -21324,7 +21324,7 @@ function planMerges(active, threshold, maxComparisons, maxMerges) {
21324
21324
  };
21325
21325
  }
21326
21326
  async function sweepActiveNearDuplicates(directory, options = {}) {
21327
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-k0qy284k.js");
21327
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-3cxfqdpv.js");
21328
21328
  const { config } = loadPluginConfigWithMeta2(directory);
21329
21329
  const sweepConfig = config.learning?.dedup_sweep;
21330
21330
  if (sweepConfig?.enabled === false)
@@ -22461,7 +22461,7 @@ async function runCuratorPhase(directory, phase, agentsDispatched, config, knowl
22461
22461
  }
22462
22462
  if (config.skill_generation_enabled === true && skillCandidates.length > 0) {
22463
22463
  try {
22464
- const skillModule = await import("./skill-generator-jq20a09m.js");
22464
+ const skillModule = await import("./skill-generator-9aay0t53.js");
22465
22465
  for (const cand of skillCandidates) {
22466
22466
  if (cand.confidence < (config.min_skill_confidence ?? DEFAULT_SKILL_MIN_CONFIDENCE)) {
22467
22467
  continue;
@@ -22933,7 +22933,7 @@ async function applyCuratorKnowledgeUpdates(directory, recommendations, knowledg
22933
22933
  } catch {}
22934
22934
  }
22935
22935
  if (contradictedEntries.length > 0 && knowledgeConfig.contradiction_threshold_action === "quarantine") {
22936
- const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-saekqp8t.js");
22936
+ const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-9eqpsbw5.js");
22937
22937
  for (const { id } of contradictedEntries) {
22938
22938
  try {
22939
22939
  await maybeQuarantineOnContradiction(directory, id, knowledgeConfig.contradiction_quarantine_threshold, knowledgeConfig.contradiction_quarantine_window_days);
@@ -23752,7 +23752,7 @@ async function runCuratorPostMortem(directory, options = {}) {
23752
23752
  warnings.push("Failed to collect knowledge summary.");
23753
23753
  }
23754
23754
  try {
23755
- const { getScanStatus } = await import("./scan-cursor-1agr50f8.js");
23755
+ const { getScanStatus } = await import("./scan-cursor-5rmaqw2t.js");
23756
23756
  const scanStatus = await getScanStatus(directory);
23757
23757
  if (scanStatus.remaining_estimate > 0) {
23758
23758
  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.`);
@@ -23924,9 +23924,9 @@ var _internals27 = {
23924
23924
  verifyPostMortemKnowledgeActions,
23925
23925
  repairPostMortemActions,
23926
23926
  loadDefaultKnowledgeConfig: async (directory) => {
23927
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-z0ygrqgy.js");
23927
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-72vpr9xy.js");
23928
23928
  try {
23929
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-k0qy284k.js");
23929
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-3cxfqdpv.js");
23930
23930
  const loaded = loadPluginConfigWithMeta2(directory);
23931
23931
  return KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
23932
23932
  } catch {
@@ -23934,11 +23934,11 @@ var _internals27 = {
23934
23934
  }
23935
23935
  },
23936
23936
  applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
23937
- const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-sgmynbpm.js");
23937
+ const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-1rzb285s.js");
23938
23938
  return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
23939
23939
  },
23940
23940
  checkHivePromotions: async (entries, knowledgeConfig, directory) => {
23941
- const { checkHivePromotions } = await import("./hive-promoter-r0ekyn5m.js");
23941
+ const { checkHivePromotions } = await import("./hive-promoter-kx8t5em3.js");
23942
23942
  return checkHivePromotions(entries, knowledgeConfig, directory);
23943
23943
  },
23944
23944
  applyProposalTriage: async (directory, triage) => {
@@ -23947,7 +23947,7 @@ var _internals27 = {
23947
23947
  activateProposal,
23948
23948
  listSkills: listSkills2,
23949
23949
  sanitizeSlug
23950
- } = await import("./skill-generator-jq20a09m.js");
23950
+ } = await import("./skill-generator-9aay0t53.js");
23951
23951
  const result = {
23952
23952
  approved: [],
23953
23953
  rejected: [],
@@ -25277,9 +25277,9 @@ function hashContent(content) {
25277
25277
  return createHash13("sha1").update(content).digest("hex");
25278
25278
  }
25279
25279
  async function loadConfigForPolicyCurator(directory) {
25280
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-z0ygrqgy.js");
25280
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-72vpr9xy.js");
25281
25281
  try {
25282
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-k0qy284k.js");
25282
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-3cxfqdpv.js");
25283
25283
  const { config: loadedConfig } = loadPluginConfigWithMeta2(directory);
25284
25284
  return KnowledgeConfigSchema2.parse(loadedConfig.knowledge ?? {});
25285
25285
  } catch {
@@ -37584,7 +37584,7 @@ async function runFinalizeStage(ctx) {
37584
37584
  }
37585
37585
  }
37586
37586
  try {
37587
- const { CuratorConfigSchema: CCS } = await import("./schema-z0ygrqgy.js");
37587
+ const { CuratorConfigSchema: CCS } = await import("./schema-72vpr9xy.js");
37588
37588
  const { config: pmLoadedConfig } = _internals41.loadPluginConfigWithMeta(ctx.directory);
37589
37589
  const curatorCfg = CCS.parse(pmLoadedConfig.curator ?? {});
37590
37590
  if (curatorCfg.enabled && curatorCfg.postmortem_enabled) {
@@ -38470,7 +38470,7 @@ var _internals41 = {
38470
38470
  closePlanTerminalState: reconcileCloseTerminalStateForPlan,
38471
38471
  endAgentSession,
38472
38472
  flushAndDrainTelemetry: async () => {
38473
- const { flushAndDrainTelemetry } = await import("./telemetry-gpr9s3sm.js");
38473
+ const { flushAndDrainTelemetry } = await import("./telemetry-cmbjv240.js");
38474
38474
  return flushAndDrainTelemetry();
38475
38475
  },
38476
38476
  finalizeContextTelemetry: (directory) => {
@@ -39808,9 +39808,9 @@ var _internals45 = {
39808
39808
  loadPluginConfigWithMeta,
39809
39809
  loadCuratorDeps: async () => {
39810
39810
  const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate: createCuratorLLMDelegate2 }] = await Promise.all([
39811
- import("./schema-z0ygrqgy.js"),
39812
- import("./curator-sgmynbpm.js"),
39813
- import("./curator-llm-factory-6mw01jx1.js")
39811
+ import("./schema-72vpr9xy.js"),
39812
+ import("./curator-1rzb285s.js"),
39813
+ import("./curator-llm-factory-bqfkaq6y.js")
39814
39814
  ]);
39815
39815
  return { CuratorConfigSchema, curator, createCuratorLLMDelegate: createCuratorLLMDelegate2 };
39816
39816
  }
@@ -40819,7 +40819,7 @@ async function computeCurationDiagnostics(directory, entries) {
40819
40819
  let scanCompleted = false;
40820
40820
  let scanRemaining = 0;
40821
40821
  try {
40822
- const { getScanStatus } = await import("./scan-cursor-1agr50f8.js");
40822
+ const { getScanStatus } = await import("./scan-cursor-5rmaqw2t.js");
40823
40823
  const status = await getScanStatus(directory);
40824
40824
  scanGeneration = status.generation;
40825
40825
  scanCompleted = status.completed;
@@ -40827,19 +40827,19 @@ async function computeCurationDiagnostics(directory, entries) {
40827
40827
  } catch {}
40828
40828
  let configMatch = null;
40829
40829
  try {
40830
- const { isLinked: isLinked2 } = await import("./knowledge-link-xezm8hr3.js");
40830
+ const { isLinked: isLinked2 } = await import("./knowledge-link-8knefv8x.js");
40831
40831
  if (isLinked2(directory)) {
40832
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-z0ygrqgy.js");
40832
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-72vpr9xy.js");
40833
40833
  let config;
40834
40834
  try {
40835
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-k0qy284k.js");
40835
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-3cxfqdpv.js");
40836
40836
  const loaded = loadPluginConfigWithMeta2(directory);
40837
40837
  config = KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
40838
40838
  } catch {
40839
40839
  config = KnowledgeConfigSchema2.parse({});
40840
40840
  }
40841
40841
  const { cohortConfigFingerprint: cohortConfigFingerprint2 } = await import("./config-fingerprint-v22xh5a2.js");
40842
- const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-47przjwg.js");
40842
+ const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-ej9xc0cd.js");
40843
40843
  const currentFp = cohortConfigFingerprint2(buildConfigFingerprintInput2(config));
40844
40844
  const cohortFp = await readCohortConfigFingerprint(directory);
40845
40845
  configMatch = cohortFp === null ? null : currentFp === cohortFp;
@@ -42180,7 +42180,7 @@ async function handleDoctorCommand(directory, args) {
42180
42180
  const result = runConfigDoctor(config, directory);
42181
42181
  let output;
42182
42182
  if (enableAutoFix && result.hasAutoFixableIssues) {
42183
- const { runConfigDoctorWithFixes } = await import("./config-doctor-ancn1sj7.js");
42183
+ const { runConfigDoctorWithFixes } = await import("./config-doctor-b1w7yvcs.js");
42184
42184
  const fixResult = await runConfigDoctorWithFixes(directory, config, true, {
42185
42185
  applyLossy: true
42186
42186
  });
@@ -43120,7 +43120,7 @@ async function handleEvidenceCommand(directory, args) {
43120
43120
  return formatTaskEvidenceMarkdown(evidenceData);
43121
43121
  }
43122
43122
  async function handleEvidenceSummaryCommand(directory) {
43123
- const { buildEvidenceSummary } = await import("./evidence-summary-service-1pcfsqhv.js");
43123
+ const { buildEvidenceSummary } = await import("./evidence-summary-service-ma8drpv5.js");
43124
43124
  const artifact = await buildEvidenceSummary(directory);
43125
43125
  if (!artifact) {
43126
43126
  return "No plan found. Run `/swarm plan` to check plan status.";
@@ -78479,7 +78479,7 @@ async function runValidationWithTransientRetry(input, candidateContent, baseline
78479
78479
  if (!input.dispatcher) {
78480
78480
  throw new Error("no evaluation dispatcher available (cannot run validation)");
78481
78481
  }
78482
- const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-wsdcy2d6.js");
78482
+ const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-fzgkd6m1.js");
78483
78483
  const executor = createModelEvaluationExecutor2(input.dispatcher, input.sessionId);
78484
78484
  const result = await withProtectedSetIntegrity([evalInputRoot, ...protectedRoots(input.directory)], () => _internals98.evaluateCandidateV1({
78485
78485
  projectRoot: input.directory,
@@ -80604,7 +80604,7 @@ function buildDetailedHelp(commandName, entry) {
80604
80604
  async function handleHelpCommand(ctx) {
80605
80605
  const targetCommand = ctx.args.join(" ");
80606
80606
  if (!targetCommand) {
80607
- const { buildHelpText } = await import("./index-vsy942dt.js");
80607
+ const { buildHelpText } = await import("./index-52f67bbh.js");
80608
80608
  return buildHelpText();
80609
80609
  }
80610
80610
  const tokens = targetCommand.split(/\s+/);
@@ -80613,7 +80613,7 @@ async function handleHelpCommand(ctx) {
80613
80613
  return _internals101.buildDetailedHelp(resolved.key, resolved.entry);
80614
80614
  }
80615
80615
  const similar = _internals101.findSimilarCommands(targetCommand);
80616
- const { buildHelpText: fullHelp } = await import("./index-vsy942dt.js");
80616
+ const { buildHelpText: fullHelp } = await import("./index-52f67bbh.js");
80617
80617
  if (similar.length > 0) {
80618
80618
  return `Command '/swarm ${targetCommand}' not found.
80619
80619
 
@@ -80944,7 +80944,7 @@ var COMMAND_REGISTRY = {
80944
80944
  },
80945
80945
  "guardrail explain": {
80946
80946
  handler: async (ctx) => {
80947
- const { handleGuardrailExplain } = await import("./guardrail-explain-k99eje1y.js");
80947
+ const { handleGuardrailExplain } = await import("./guardrail-explain-em2mqz9a.js");
80948
80948
  return handleGuardrailExplain(ctx.directory, ctx.args);
80949
80949
  },
80950
80950
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -80954,7 +80954,7 @@ var COMMAND_REGISTRY = {
80954
80954
  },
80955
80955
  "guardrail reset": {
80956
80956
  handler: async (ctx) => {
80957
- const { handleGuardrailReset } = await import("./guardrail-reset-3385eqmq.js");
80957
+ const { handleGuardrailReset } = await import("./guardrail-reset-091xw53a.js");
80958
80958
  return handleGuardrailReset(ctx.args, ctx.sessionID);
80959
80959
  },
80960
80960
  description: "Reset one exact active invocation/action circuit after repair",
@@ -80963,7 +80963,7 @@ var COMMAND_REGISTRY = {
80963
80963
  },
80964
80964
  "guardrail-explain": {
80965
80965
  handler: async (ctx) => {
80966
- const { handleGuardrailExplain } = await import("./guardrail-explain-k99eje1y.js");
80966
+ const { handleGuardrailExplain } = await import("./guardrail-explain-em2mqz9a.js");
80967
80967
  return handleGuardrailExplain(ctx.directory, ctx.args);
80968
80968
  },
80969
80969
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -80973,7 +80973,7 @@ var COMMAND_REGISTRY = {
80973
80973
  },
80974
80974
  "guardrail-reset": {
80975
80975
  handler: async (ctx) => {
80976
- const { handleGuardrailReset } = await import("./guardrail-reset-3385eqmq.js");
80976
+ const { handleGuardrailReset } = await import("./guardrail-reset-091xw53a.js");
80977
80977
  return handleGuardrailReset(ctx.args, ctx.sessionID);
80978
80978
  },
80979
80979
  description: "Reset one exact active invocation/action circuit after repair",
@@ -80983,7 +80983,7 @@ var COMMAND_REGISTRY = {
80983
80983
  },
80984
80984
  "guardrail-log": {
80985
80985
  handler: async (ctx) => {
80986
- const { handleGuardrailLog } = await import("./guardrail-log-md5gcpk7.js");
80986
+ const { handleGuardrailLog } = await import("./guardrail-log-845tfrwb.js");
80987
80987
  return handleGuardrailLog(ctx.directory, ctx.args);
80988
80988
  },
80989
80989
  description: "Read the guardrail decision log (use --blocks-only for blocks)",
@@ -86979,7 +86979,7 @@ function getDisplayFinalPromptPressure() {
86979
86979
  async function rehydratePrSubscriptions(sessionID, directory) {
86980
86980
  const map = new Map;
86981
86981
  try {
86982
- const { listActive: listActive2 } = await import("./pr-subscriptions-asjevc5p.js");
86982
+ const { listActive: listActive2 } = await import("./pr-subscriptions-3zwthnan.js");
86983
86983
  const records = await listActive2(directory);
86984
86984
  for (const record of records) {
86985
86985
  if (record.sessionID !== sessionID)
@@ -87425,7 +87425,7 @@ function isLaneOwnedByCurrentSession(branchName, expectedSessionId) {
87425
87425
  return extracted === expectedSessionId;
87426
87426
  }
87427
87427
  async function inspectStandardWorktreeCollisionOwnership(identity) {
87428
- const collisionOwnership = await import("./worktree-collision-ownership-b9cp9zvw.js");
87428
+ const collisionOwnership = await import("./worktree-collision-ownership-ybhktnq4.js");
87429
87429
  return collisionOwnership.inspectStandardWorktreeCollisionOwnership(identity);
87430
87430
  }
87431
87431
  async function runRecoveryGit(directory, args, timeoutMs = 15000) {
@@ -87834,7 +87834,7 @@ async function precreateStandardWorktreeSession(args) {
87834
87834
  const laneProfile = computeLaneRuntimeProfile(worktreeConfig.runtime_isolation, laneIndex, handle.worktreePath);
87835
87835
  if (laneProfile) {
87836
87836
  try {
87837
- const { writeLaneProfileToDiskReal } = await import("./core-bhmqtxev.js");
87837
+ const { writeLaneProfileToDiskReal } = await import("./core-whesnhpf.js");
87838
87838
  await writeLaneProfileToDiskReal(handle.worktreePath, laneProfile.laneIndex, laneProfile.envOverrides);
87839
87839
  } catch {}
87840
87840
  }
@@ -88759,7 +88759,7 @@ async function finishStandardWorktreeDispatch(directory, dispatch, config, callI
88759
88759
  }
88760
88760
  clearWorktreeMergeStatus(statusKey);
88761
88761
  try {
88762
- const { removeLaneProfileFromDiskReal } = await import("./core-bhmqtxev.js");
88762
+ const { removeLaneProfileFromDiskReal } = await import("./core-whesnhpf.js");
88763
88763
  await removeLaneProfileFromDiskReal(dispatch.handle.worktreePath, dispatch.laneIndex);
88764
88764
  } catch {}
88765
88765
  const state = serializationStateBySessionID.get(dispatch.parentSessionID);
@@ -9,7 +9,7 @@ import {
9
9
  readEvaluationRun,
10
10
  saveEvaluationRun,
11
11
  saveTaskSetSnapshot
12
- } from "./index-nk498mx6.js";
12
+ } from "./index-dq41vsf9.js";
13
13
  import {
14
14
  canonicalHash,
15
15
  computeCandidateInputContentHash,
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  autoCommitDirty,
4
4
  cleanUntrackedFiles
5
- } from "./index-kqzba6ex.js";
5
+ } from "./index-xy0e0r5f.js";
6
6
  import {
7
7
  isPathWithinDeclaredScope,
8
8
  unsafePathTextReason
@@ -26,13 +26,13 @@ import {
26
26
  atomicWriteFile,
27
27
  taskEvidencePath,
28
28
  withTaskEvidenceLock
29
- } from "./index-7ezv5j23.js";
29
+ } from "./index-d8st72j7.js";
30
30
  import {
31
31
  assertProjectRoot
32
- } from "./index-b5adxpy6.js";
32
+ } from "./index-nqbqkx4c.js";
33
33
  import {
34
34
  telemetry
35
- } from "./index-dke4wzkn.js";
35
+ } from "./index-fx3em0dr.js";
36
36
  import {
37
37
  exports_external,
38
38
  init_zod
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  init_loader,
4
4
  loadPluginConfigWithMeta
5
- } from "./index-717pmdce.js";
5
+ } from "./index-etdtfhhv.js";
6
6
  import {
7
7
  init_schema
8
- } from "./index-6scakreq.js";
8
+ } from "./index-zkgrayya.js";
9
9
  import {
10
10
  DEFAULT_WORKTREE_ISOLATION_CONFIG,
11
11
  init_constants
@@ -13,13 +13,13 @@ import {
13
13
  reconcileLandedMerge,
14
14
  withTaskEvidenceTransaction,
15
15
  writeWorkflowWalFile
16
- } from "./index-4dcz9fpn.js";
16
+ } from "./index-t81fmfjj.js";
17
17
  import {
18
18
  canonicalRootKeyFresh
19
19
  } from "./index-ddszzne4.js";
20
20
  import {
21
21
  appendCoreEventSync
22
- } from "./index-7h2armwf.js";
22
+ } from "./index-7619tk9a.js";
23
23
  import {
24
24
  isPathWithinDeclaredScope
25
25
  } from "./index-556ja8an.js";
@@ -36,7 +36,7 @@ import {
36
36
  } from "./index-4rhhvd1a.js";
37
37
  import {
38
38
  tryAcquireLock
39
- } from "./index-b5adxpy6.js";
39
+ } from "./index-nqbqkx4c.js";
40
40
  import {
41
41
  criticalWarn,
42
42
  init_logger
@@ -478,7 +478,7 @@ async function cleanupRecoveredWorktree(directory, descriptor) {
478
478
  awaitingMergeByCallID,
479
479
  cleanupStandardWorktreeForCallId,
480
480
  standardWorktreeByCallID
481
- } = await import("./worktree-isolation-dzyxf8hn.js");
481
+ } = await import("./worktree-isolation-w8ett6bs.js");
482
482
  standardWorktreeByCallID.delete(descriptor.callID);
483
483
  if (hasResidue)
484
484
  awaitingMergeByCallID.set(descriptor.callID, {
@@ -602,7 +602,7 @@ async function recoverCoderSettlement(directory, taskId) {
602
602
  awaitingMergeByCallID,
603
603
  finishStandardWorktreeDispatch,
604
604
  standardWorktreeByCallID
605
- } = await import("./worktree-isolation-dzyxf8hn.js");
605
+ } = await import("./worktree-isolation-w8ett6bs.js");
606
606
  const descriptor = wal.worktree;
607
607
  const reconstructedDispatch = {
608
608
  callID: descriptor.callID,
@@ -6,12 +6,12 @@ import {
6
6
  resolveSwarmKnowledgePath,
7
7
  transactKnowledge,
8
8
  wordBigrams
9
- } from "./index-war2dt6a.js";
9
+ } from "./index-d1h4sf8f.js";
10
10
  import {
11
11
  queryHistoricalOutcomes,
12
12
  readKnowledgeEvents,
13
13
  recordKnowledgeEvent
14
- } from "./index-3a35tt6a.js";
14
+ } from "./index-gkv7s4xy.js";
15
15
  import {
16
16
  init_knowledge_types,
17
17
  isActiveStatus
@@ -224,11 +224,11 @@ async function maybeQuarantineOnContradiction(directory, entryId, threshold, win
224
224
  alreadyInactive: true
225
225
  };
226
226
  }
227
- const { quarantineEntry } = await import("./knowledge-validator-26w2mvqv.js");
227
+ const { quarantineEntry } = await import("./knowledge-validator-mnv58he9.js");
228
228
  let policyConfig;
229
229
  try {
230
- const { KnowledgeConfigSchema } = await import("./schema-z0ygrqgy.js");
231
- const { loadPluginConfigWithMeta } = await import("./index-k0qy284k.js");
230
+ const { KnowledgeConfigSchema } = await import("./schema-72vpr9xy.js");
231
+ const { loadPluginConfigWithMeta } = await import("./index-3cxfqdpv.js");
232
232
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
233
233
  policyConfig = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
234
234
  } catch {
@@ -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-tncg38by.js");
95
+ const { writeScopeToDisk: realWrite } = await import("./scope-persistence-39mwns79.js");
96
96
  return realWrite(directory, taskId, files);
97
97
  },
98
98
  writeLaneProfileToDisk: async (_worktreePath, _laneIndex, _envOverrides) => {
@@ -4,14 +4,14 @@ import {
4
4
  PlanSchema,
5
5
  TaskStatusSchema,
6
6
  init_loader
7
- } from "./index-717pmdce.js";
7
+ } from "./index-etdtfhhv.js";
8
8
  import {
9
9
  assertProjectRoot,
10
10
  withEvidenceLock
11
- } from "./index-b5adxpy6.js";
11
+ } from "./index-nqbqkx4c.js";
12
12
  import {
13
13
  emit
14
- } from "./index-dke4wzkn.js";
14
+ } from "./index-fx3em0dr.js";
15
15
  import {
16
16
  criticalWarn,
17
17
  init_logger,
@@ -4,16 +4,16 @@ import {
4
4
  } from "./index-dtn0pne5.js";
5
5
  import {
6
6
  observeStoreHealth
7
- } from "./index-mmr96pwr.js";
7
+ } from "./index-k55td019.js";
8
8
  import {
9
9
  withEvidenceLock
10
- } from "./index-b5adxpy6.js";
10
+ } from "./index-nqbqkx4c.js";
11
11
  import {
12
12
  atomicWriteSwarmFileSync
13
13
  } from "./index-dh5q6z7y.js";
14
14
  import {
15
15
  telemetry
16
- } from "./index-dke4wzkn.js";
16
+ } from "./index-fx3em0dr.js";
17
17
  import {
18
18
  exports_external,
19
19
  init_zod
@@ -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.160.2",
24
+ version: "7.161.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",