opencode-swarm 7.138.4 → 7.139.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 (60) hide show
  1. package/dist/cli/{config-doctor-31yppse4.js → config-doctor-aszp7z1h.js} +2 -2
  2. package/dist/cli/{core-65c7rvqf.js → core-3s832mxx.js} +1 -1
  3. package/dist/cli/{curation-policy-hs9pc1rp.js → curation-policy-a3hs73f7.js} +6 -6
  4. package/dist/cli/{curator-llm-factory-wm27ra25.js → curator-llm-factory-e8ngwyjm.js} +25 -25
  5. package/dist/cli/{curator-54n1y4j8.js → curator-zxjqcc8r.js} +25 -25
  6. package/dist/cli/{evidence-summary-service-hrxcf29a.js → evidence-summary-service-qfhjfxdz.js} +7 -7
  7. package/dist/cli/{gate-evidence-ecx4djaw.js → gate-evidence-m2grv70v.js} +4 -4
  8. package/dist/cli/{guardrail-explain-1729nse8.js → guardrail-explain-rqpmzxyy.js} +26 -26
  9. package/dist/cli/{guardrail-log-yjj5srkw.js → guardrail-log-vd4a0ng5.js} +3 -3
  10. package/dist/cli/{hive-promoter-es2x2b0e.js → hive-promoter-jc5vym27.js} +25 -25
  11. package/dist/cli/{index-tjwz5tct.js → index-0tsetsxs.js} +4 -4
  12. package/dist/cli/{index-jbge0dyh.js → index-3nr2sn32.js} +3 -3
  13. package/dist/cli/{index-mycqmsz5.js → index-4ft523nb.js} +319 -80
  14. package/dist/cli/{index-gm3pjfhb.js → index-5bkpyvdf.js} +1 -1
  15. package/dist/cli/{index-m40ea3zk.js → index-67yqywan.js} +2 -2
  16. package/dist/cli/{index-e1kgxchq.js → index-6q240xgm.js} +2 -2
  17. package/dist/cli/{index-50mwt8fx.js → index-84s6x604.js} +5 -5
  18. package/dist/cli/{index-y28n2wmq.js → index-85hstja2.js} +1 -1
  19. package/dist/cli/{index-xybtaph7.js → index-a614s16f.js} +1 -1
  20. package/dist/cli/{index-10mz5js6.js → index-chvqee1j.js} +2 -2
  21. package/dist/cli/{index-rrxcfxrd.js → index-ddmnhv4h.js} +1 -1
  22. package/dist/cli/{index-a9xny52r.js → index-gytyqv1d.js} +2 -2
  23. package/dist/cli/{index-57stye65.js → index-kv36s0x0.js} +3 -3
  24. package/dist/cli/{index-z7jgvm9b.js → index-nbgw5dxa.js} +1 -1
  25. package/dist/cli/{index-tqshdzaw.js → index-nc544sfw.js} +1 -1
  26. package/dist/cli/{index-33q2gmgd.js → index-nsnfvckc.js} +1 -1
  27. package/dist/cli/{index-4fmztnrq.js → index-p2dz85tv.js} +2 -2
  28. package/dist/cli/{index-m1pwkwfe.js → index-q3qtgtd0.js} +1 -1
  29. package/dist/cli/{index-a18hk2fw.js → index-r3pth9a7.js} +58 -94
  30. package/dist/cli/{index-5q009kc4.js → index-rtetrxxq.js} +1 -1
  31. package/dist/cli/{index-c60whfgh.js → index-s428dmy6.js} +2 -2
  32. package/dist/cli/{index-q344kj84.js → index-t26nfmcs.js} +1 -1
  33. package/dist/cli/{index-1g6xpjk3.js → index-t31cc7kv.js} +6 -6
  34. package/dist/cli/{index-39k6y018.js → index-tcdcj1g2.js} +2 -2
  35. package/dist/cli/{index-en4fb04r.js → index-tyh0p5e8.js} +1 -1
  36. package/dist/cli/{index-k27a4e5g.js → index-y46anh5e.js} +27 -27
  37. package/dist/cli/{index-smsy2p8n.js → index-ymszzvnr.js} +1 -1
  38. package/dist/cli/{index-ngqxzkqm.js → index-z1tkxzq4.js} +2 -2
  39. package/dist/cli/{index-m8txs2a9.js → index-zd15ya1w.js} +1 -1
  40. package/dist/cli/index.js +25 -25
  41. package/dist/cli/{knowledge-escalator-s6z1x65b.js → knowledge-escalator-6473ey4c.js} +7 -7
  42. package/dist/cli/{knowledge-events-nnyn6hst.js → knowledge-events-wwzpz8m4.js} +5 -5
  43. package/dist/cli/{knowledge-link-xc6yhxmz.js → knowledge-link-trfydkzm.js} +4 -4
  44. package/dist/cli/{knowledge-store-x4yfc7v3.js → knowledge-store-99gd42jy.js} +5 -5
  45. package/dist/cli/{knowledge-validator-1v047gsa.js → knowledge-validator-v2eevvdg.js} +8 -8
  46. package/dist/cli/{pending-delegations-7dbc0j2a.js → pending-delegations-p6n83x67.js} +3 -3
  47. package/dist/cli/{pr-subscriptions-m943zn6g.js → pr-subscriptions-xbrfr51c.js} +3 -3
  48. package/dist/cli/{runner-x1hy047y.js → runner-9an52tmz.js} +5 -5
  49. package/dist/cli/{scan-cursor-jxajj6s7.js → scan-cursor-39zxpw34.js} +6 -6
  50. package/dist/cli/{schema-fj32eyae.js → schema-xhfwr6b2.js} +1 -1
  51. package/dist/cli/{scope-persistence-w7zen2wz.js → scope-persistence-nsa6ra9s.js} +4 -4
  52. package/dist/cli/{skill-generator-rt0jqcsa.js → skill-generator-5px81476.js} +9 -9
  53. package/dist/cli/{telemetry-0yqed3jv.js → telemetry-7nt7zhyp.js} +1 -1
  54. package/dist/cli/{worktree-collision-ownership-hjrt5hx2.js → worktree-collision-ownership-9x4s4890.js} +3 -3
  55. package/dist/index.js +368 -369
  56. package/dist/plan/manager.d.ts +2 -0
  57. package/dist/services/run-memory.d.ts +53 -5
  58. package/dist/tools/update-task-status.d.ts +2 -0
  59. package/dist/utils/path-security.d.ts +25 -1
  60. package/package.json +1 -1
@@ -13,22 +13,24 @@ import {
13
13
  resolveExecutableFromPath,
14
14
  runEvaluation,
15
15
  runExternalTool
16
- } from "./index-rrxcfxrd.js";
16
+ } from "./index-ddmnhv4h.js";
17
17
  import {
18
18
  stableCanonicalStringify
19
- } from "./index-gm3pjfhb.js";
19
+ } from "./index-5bkpyvdf.js";
20
20
  import {
21
21
  detectStraySwarmDirs,
22
22
  readDoctorArtifact,
23
23
  removeStraySwarmDir,
24
24
  runConfigDoctor
25
- } from "./index-m8txs2a9.js";
25
+ } from "./index-zd15ya1w.js";
26
26
  import {
27
27
  MAX_TRANSIENT_RETRIES,
28
28
  archiveEvidence,
29
29
  checkRequirementCoverage,
30
30
  closePlanTerminalState,
31
31
  computeSpecHash,
32
+ containsControlChars,
33
+ containsPathTraversal,
32
34
  derivePlanMarkdown,
33
35
  disableEpicMode,
34
36
  enableEpicMode,
@@ -59,7 +61,7 @@ import {
59
61
  savePlan,
60
62
  transientBackoff,
61
63
  validateProjectRoot
62
- } from "./index-mycqmsz5.js";
64
+ } from "./index-4ft523nb.js";
63
65
  import {
64
66
  EvaluationTaskV1Schema,
65
67
  GateAuditManifestV1Schema,
@@ -76,7 +78,7 @@ import {
76
78
  saveGateAuditResult,
77
79
  savePromotionDecision,
78
80
  saveTaskSetSnapshot
79
- } from "./index-ngqxzkqm.js";
81
+ } from "./index-z1tkxzq4.js";
80
82
  import {
81
83
  canonicalHash,
82
84
  canonicalJson,
@@ -114,15 +116,15 @@ import {
114
116
  retireSkill,
115
117
  selectCandidateEntries,
116
118
  syncBundledProjectSkillsIfMissingAsync
117
- } from "./index-jbge0dyh.js";
119
+ } from "./index-3nr2sn32.js";
118
120
  import {
119
121
  readRecentEscalations
120
- } from "./index-50mwt8fx.js";
122
+ } from "./index-84s6x604.js";
121
123
  import {
122
124
  alreadyCuratedThisGeneration,
123
125
  claimNextScanBatch,
124
126
  resolveCohortId
125
- } from "./index-c60whfgh.js";
127
+ } from "./index-s428dmy6.js";
126
128
  import {
127
129
  CURATOR_INIT_PROMPT,
128
130
  CURATOR_PHASE_PROMPT,
@@ -175,11 +177,11 @@ import {
175
177
  validateActionableFields,
176
178
  validateLesson,
177
179
  validateSkillPath
178
- } from "./index-tjwz5tct.js";
180
+ } from "./index-0tsetsxs.js";
179
181
  import {
180
182
  authorizeCuration,
181
183
  buildConfigFingerprintInput
182
- } from "./index-m40ea3zk.js";
184
+ } from "./index-67yqywan.js";
183
185
  import {
184
186
  cohortConfigFingerprint
185
187
  } from "./index-rtry5xyf.js";
@@ -212,7 +214,7 @@ import {
212
214
  transactFile,
213
215
  transactKnowledge,
214
216
  wordBigrams
215
- } from "./index-1g6xpjk3.js";
217
+ } from "./index-t31cc7kv.js";
216
218
  import {
217
219
  MAX_EVENT_LOG_ENTRIES,
218
220
  _internals,
@@ -222,7 +224,7 @@ import {
222
224
  recordHiveKnowledgeEvent,
223
225
  recordKnowledgeEvent,
224
226
  resolveKnowledgeEventsPath
225
- } from "./index-57stye65.js";
227
+ } from "./index-kv36s0x0.js";
226
228
  import {
227
229
  resolveHiveDataDir,
228
230
  resolveHiveEventsPath,
@@ -238,16 +240,16 @@ import {
238
240
  resolveLinkDir,
239
241
  sanitizeLinkId,
240
242
  writeLinkPointer
241
- } from "./index-en4fb04r.js";
243
+ } from "./index-tyh0p5e8.js";
242
244
  import {
243
245
  atomicWriteFile
244
- } from "./index-tqshdzaw.js";
246
+ } from "./index-nc544sfw.js";
245
247
  import {
246
248
  exports_loader,
247
249
  init_loader,
248
250
  loadPluginConfig,
249
251
  loadPluginConfigWithMeta
250
- } from "./index-m1pwkwfe.js";
252
+ } from "./index-q3qtgtd0.js";
251
253
  import {
252
254
  RetrospectiveEvidenceSchema
253
255
  } from "./index-gprxjmm7.js";
@@ -263,7 +265,7 @@ import {
263
265
  package_default,
264
266
  resolveAutoReviewConfig,
265
267
  stripKnownSwarmPrefix
266
- } from "./index-5q009kc4.js";
268
+ } from "./index-rtetrxxq.js";
267
269
  import {
268
270
  KNOWLEDGE_SCHEMA_VERSION,
269
271
  OUTCOME_BLOCK_THRESHOLD,
@@ -279,13 +281,13 @@ import {
279
281
  listActive,
280
282
  subscribe,
281
283
  unsubscribe
282
- } from "./index-z7jgvm9b.js";
284
+ } from "./index-nbgw5dxa.js";
283
285
  import {
284
286
  MAX_PENDING_SCOPE_BINDINGS,
285
287
  clearAllScopes,
286
288
  clearScopeBindingFromDisk,
287
289
  clearScopeBindings
288
- } from "./index-smsy2p8n.js";
290
+ } from "./index-ymszzvnr.js";
289
291
  import {
290
292
  appendLedgerEvent,
291
293
  computePlanHash,
@@ -293,7 +295,7 @@ import {
293
295
  derivePlanId,
294
296
  initLedger,
295
297
  takeSnapshotEvent
296
- } from "./index-4fmztnrq.js";
298
+ } from "./index-p2dz85tv.js";
297
299
  import {
298
300
  PlanSchema
299
301
  } from "./index-1kz6da87.js";
@@ -320,7 +322,7 @@ import {
320
322
  import {
321
323
  findByBatchId,
322
324
  readDelegations
323
- } from "./index-q344kj84.js";
325
+ } from "./index-t26nfmcs.js";
324
326
  import {
325
327
  readSwarmFileAsync,
326
328
  safeHook,
@@ -329,7 +331,7 @@ import {
329
331
  import {
330
332
  tryAcquireLock,
331
333
  withEvidenceLock
332
- } from "./index-xybtaph7.js";
334
+ } from "./index-a614s16f.js";
333
335
  import {
334
336
  require_proper_lockfile
335
337
  } from "./index-7g4c7s5r.js";
@@ -337,7 +339,7 @@ import {
337
339
  emit,
338
340
  getLastHeartbeat,
339
341
  telemetry
340
- } from "./index-10mz5js6.js";
342
+ } from "./index-chvqee1j.js";
341
343
  import {
342
344
  exports_external,
343
345
  init_zod
@@ -6521,7 +6523,7 @@ function hasActiveEpicMode(sessionID) {
6521
6523
  async function rehydratePrSubscriptions(sessionID, directory) {
6522
6524
  const map = new Map;
6523
6525
  try {
6524
- const { listActive: listActive2 } = await import("./pr-subscriptions-m943zn6g.js");
6526
+ const { listActive: listActive2 } = await import("./pr-subscriptions-xbrfr51c.js");
6525
6527
  const records = await listActive2(directory);
6526
6528
  for (const record of records) {
6527
6529
  if (record.sessionID !== sessionID)
@@ -14645,47 +14647,6 @@ function resolveWriteTargets(command, writes, cwd) {
14645
14647
  // src/hooks/write-target-resolver.ts
14646
14648
  init_constants();
14647
14649
 
14648
- // src/utils/path-security.ts
14649
- function containsPathTraversal(str) {
14650
- if (/\.\.[/\\]/.test(str))
14651
- return true;
14652
- if (/(?:^|[/\\])\.\.(?:[/\\]|$)/.test(str))
14653
- return true;
14654
- if (/%2e%2e/i.test(str))
14655
- return true;
14656
- if (/%2e\./i.test(str))
14657
- return true;
14658
- if (/%2e/i.test(str) && /\.\./.test(str))
14659
- return true;
14660
- if (/%252e%252e/i.test(str))
14661
- return true;
14662
- if (/\uff0e/.test(str))
14663
- return true;
14664
- if (/\u3002/.test(str))
14665
- return true;
14666
- if (/\uff65/.test(str))
14667
- return true;
14668
- if (/%2f/i.test(str))
14669
- return true;
14670
- if (/%5c/i.test(str))
14671
- return true;
14672
- return false;
14673
- }
14674
- function containsControlChars(str) {
14675
- for (const ch of str) {
14676
- const code = ch.codePointAt(0);
14677
- if (code === undefined)
14678
- continue;
14679
- if (code <= 31 || code >= 127 && code <= 159)
14680
- return true;
14681
- if (code >= 8234 && code <= 8238)
14682
- return true;
14683
- if (code >= 8294 && code <= 8297)
14684
- return true;
14685
- }
14686
- return false;
14687
- }
14688
-
14689
14650
  // src/tools/file-extractor-planner.ts
14690
14651
  var cachedPlans = new WeakMap;
14691
14652
 
@@ -19017,7 +18978,7 @@ function planMerges(active, threshold, maxComparisons, maxMerges) {
19017
18978
  };
19018
18979
  }
19019
18980
  async function sweepActiveNearDuplicates(directory, options = {}) {
19020
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-a9xny52r.js");
18981
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-gytyqv1d.js");
19021
18982
  const { config } = loadPluginConfigWithMeta2(directory);
19022
18983
  const sweepConfig = config.learning?.dedup_sweep;
19023
18984
  if (sweepConfig?.enabled === false)
@@ -20610,7 +20571,7 @@ async function runCuratorPhase(directory, phase, agentsDispatched, config, knowl
20610
20571
  }
20611
20572
  if (config.skill_generation_enabled === true && skillCandidates.length > 0) {
20612
20573
  try {
20613
- const skillModule = await import("./skill-generator-rt0jqcsa.js");
20574
+ const skillModule = await import("./skill-generator-5px81476.js");
20614
20575
  for (const cand of skillCandidates) {
20615
20576
  if (cand.confidence < (config.min_skill_confidence ?? DEFAULT_SKILL_MIN_CONFIDENCE)) {
20616
20577
  continue;
@@ -21070,7 +21031,7 @@ async function applyCuratorKnowledgeUpdates(directory, recommendations, knowledg
21070
21031
  } catch {}
21071
21032
  }
21072
21033
  if (contradictedEntries.length > 0 && knowledgeConfig.contradiction_threshold_action === "quarantine") {
21073
- const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-s6z1x65b.js");
21034
+ const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-6473ey4c.js");
21074
21035
  for (const { id } of contradictedEntries) {
21075
21036
  try {
21076
21037
  await maybeQuarantineOnContradiction(directory, id, knowledgeConfig.contradiction_quarantine_threshold, knowledgeConfig.contradiction_quarantine_window_days);
@@ -21889,7 +21850,7 @@ async function runCuratorPostMortem(directory, options = {}) {
21889
21850
  warnings.push("Failed to collect knowledge summary.");
21890
21851
  }
21891
21852
  try {
21892
- const { getScanStatus } = await import("./scan-cursor-jxajj6s7.js");
21853
+ const { getScanStatus } = await import("./scan-cursor-39zxpw34.js");
21893
21854
  const scanStatus = await getScanStatus(directory);
21894
21855
  if (scanStatus.remaining_estimate > 0) {
21895
21856
  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.`);
@@ -22061,9 +22022,9 @@ var _internals24 = {
22061
22022
  verifyPostMortemKnowledgeActions,
22062
22023
  repairPostMortemActions,
22063
22024
  loadDefaultKnowledgeConfig: async (directory) => {
22064
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-fj32eyae.js");
22025
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-xhfwr6b2.js");
22065
22026
  try {
22066
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-a9xny52r.js");
22027
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-gytyqv1d.js");
22067
22028
  const loaded = loadPluginConfigWithMeta2(directory);
22068
22029
  return KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
22069
22030
  } catch {
@@ -22071,11 +22032,11 @@ var _internals24 = {
22071
22032
  }
22072
22033
  },
22073
22034
  applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
22074
- const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-54n1y4j8.js");
22035
+ const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-zxjqcc8r.js");
22075
22036
  return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
22076
22037
  },
22077
22038
  checkHivePromotions: async (entries, knowledgeConfig, directory) => {
22078
- const { checkHivePromotions } = await import("./hive-promoter-es2x2b0e.js");
22039
+ const { checkHivePromotions } = await import("./hive-promoter-jc5vym27.js");
22079
22040
  return checkHivePromotions(entries, knowledgeConfig, directory);
22080
22041
  },
22081
22042
  applyProposalTriage: async (directory, triage) => {
@@ -22084,7 +22045,7 @@ var _internals24 = {
22084
22045
  activateProposal,
22085
22046
  listSkills: listSkills2,
22086
22047
  sanitizeSlug
22087
- } = await import("./skill-generator-rt0jqcsa.js");
22048
+ } = await import("./skill-generator-5px81476.js");
22088
22049
  const result = {
22089
22050
  approved: [],
22090
22051
  rejected: [],
@@ -24711,9 +24672,9 @@ function hashContent(content) {
24711
24672
  return createHash9("sha1").update(content).digest("hex");
24712
24673
  }
24713
24674
  async function loadConfigForPolicyCurator(directory) {
24714
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-fj32eyae.js");
24675
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-xhfwr6b2.js");
24715
24676
  try {
24716
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-a9xny52r.js");
24677
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-gytyqv1d.js");
24717
24678
  const { config: loadedConfig } = loadPluginConfigWithMeta2(directory);
24718
24679
  return KnowledgeConfigSchema2.parse(loadedConfig.knowledge ?? {});
24719
24680
  } catch {
@@ -28310,6 +28271,7 @@ var ARCHIVE_ARTIFACTS = [
28310
28271
  "close-lessons.md",
28311
28272
  "knowledge.jsonl",
28312
28273
  "knowledge-rejected.jsonl",
28274
+ "run-memory.jsonl",
28313
28275
  "repo-graph.json",
28314
28276
  "doc-manifest.json",
28315
28277
  "dark-matter.md",
@@ -28332,6 +28294,7 @@ var ACTIVE_STATE_TO_CLEAN = [
28332
28294
  "handoff-consumed.md",
28333
28295
  "escalation-report.md",
28334
28296
  "knowledge-rejected.jsonl",
28297
+ "run-memory.jsonl",
28335
28298
  "repo-graph.json",
28336
28299
  "doc-manifest.json",
28337
28300
  "dark-matter.md",
@@ -28673,7 +28636,7 @@ async function runFinalizeStage(ctx) {
28673
28636
  }
28674
28637
  }
28675
28638
  try {
28676
- const { CuratorConfigSchema: CCS } = await import("./schema-fj32eyae.js");
28639
+ const { CuratorConfigSchema: CCS } = await import("./schema-xhfwr6b2.js");
28677
28640
  const { config: pmLoadedConfig } = _internals36.loadPluginConfigWithMeta(ctx.directory);
28678
28641
  const curatorCfg = CCS.parse(pmLoadedConfig.curator ?? {});
28679
28642
  if (curatorCfg.enabled && curatorCfg.postmortem_enabled) {
@@ -29528,7 +29491,7 @@ var _internals36 = {
29528
29491
  closePlanTerminalState,
29529
29492
  endAgentSession,
29530
29493
  flushAndDrainTelemetry: async () => {
29531
- const { flushAndDrainTelemetry } = await import("./telemetry-0yqed3jv.js");
29494
+ const { flushAndDrainTelemetry } = await import("./telemetry-7nt7zhyp.js");
29532
29495
  return flushAndDrainTelemetry();
29533
29496
  }
29534
29497
  };
@@ -30944,9 +30907,9 @@ var _internals41 = {
30944
30907
  loadPluginConfigWithMeta,
30945
30908
  loadCuratorDeps: async () => {
30946
30909
  const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate: createCuratorLLMDelegate2 }] = await Promise.all([
30947
- import("./schema-fj32eyae.js"),
30948
- import("./curator-54n1y4j8.js"),
30949
- import("./curator-llm-factory-wm27ra25.js")
30910
+ import("./schema-xhfwr6b2.js"),
30911
+ import("./curator-zxjqcc8r.js"),
30912
+ import("./curator-llm-factory-e8ngwyjm.js")
30950
30913
  ]);
30951
30914
  return { CuratorConfigSchema, curator, createCuratorLLMDelegate: createCuratorLLMDelegate2 };
30952
30915
  }
@@ -31851,7 +31814,7 @@ async function computeCurationDiagnostics(directory, entries) {
31851
31814
  let scanCompleted = false;
31852
31815
  let scanRemaining = 0;
31853
31816
  try {
31854
- const { getScanStatus } = await import("./scan-cursor-jxajj6s7.js");
31817
+ const { getScanStatus } = await import("./scan-cursor-39zxpw34.js");
31855
31818
  const status = await getScanStatus(directory);
31856
31819
  scanGeneration = status.generation;
31857
31820
  scanCompleted = status.completed;
@@ -31859,19 +31822,19 @@ async function computeCurationDiagnostics(directory, entries) {
31859
31822
  } catch {}
31860
31823
  let configMatch = null;
31861
31824
  try {
31862
- const { isLinked: isLinked2 } = await import("./knowledge-link-xc6yhxmz.js");
31825
+ const { isLinked: isLinked2 } = await import("./knowledge-link-trfydkzm.js");
31863
31826
  if (isLinked2(directory)) {
31864
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-fj32eyae.js");
31827
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-xhfwr6b2.js");
31865
31828
  let config;
31866
31829
  try {
31867
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-a9xny52r.js");
31830
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-gytyqv1d.js");
31868
31831
  const loaded = loadPluginConfigWithMeta2(directory);
31869
31832
  config = KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
31870
31833
  } catch {
31871
31834
  config = KnowledgeConfigSchema2.parse({});
31872
31835
  }
31873
31836
  const { cohortConfigFingerprint: cohortConfigFingerprint2 } = await import("./config-fingerprint-v22xh5a2.js");
31874
- const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-hs9pc1rp.js");
31837
+ const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-a3hs73f7.js");
31875
31838
  const currentFp = cohortConfigFingerprint2(buildConfigFingerprintInput2(config));
31876
31839
  const cohortFp = await readCohortConfigFingerprint(directory);
31877
31840
  configMatch = cohortFp === null ? null : currentFp === cohortFp;
@@ -33082,7 +33045,7 @@ async function handleDoctorCommand(directory, args) {
33082
33045
  const result = runConfigDoctor(config, directory);
33083
33046
  let output;
33084
33047
  if (enableAutoFix && result.hasAutoFixableIssues) {
33085
- const { runConfigDoctorWithFixes } = await import("./config-doctor-31yppse4.js");
33048
+ const { runConfigDoctorWithFixes } = await import("./config-doctor-aszp7z1h.js");
33086
33049
  const fixResult = await runConfigDoctorWithFixes(directory, config, true, {
33087
33050
  applyLossy: true
33088
33051
  });
@@ -33919,7 +33882,7 @@ async function handleEvidenceCommand(directory, args) {
33919
33882
  return formatTaskEvidenceMarkdown(evidenceData);
33920
33883
  }
33921
33884
  async function handleEvidenceSummaryCommand(directory) {
33922
- const { buildEvidenceSummary } = await import("./evidence-summary-service-hrxcf29a.js");
33885
+ const { buildEvidenceSummary } = await import("./evidence-summary-service-qfhjfxdz.js");
33923
33886
  const artifact = await buildEvidenceSummary(directory);
33924
33887
  if (!artifact) {
33925
33888
  return "No plan found. Run `/swarm plan` to check plan status.";
@@ -49044,7 +49007,8 @@ async function handleResetCommand(directory, args) {
49044
49007
  "plan-export/SWARM_PLAN.md",
49045
49008
  "plan-export/SWARM_PLAN.json",
49046
49009
  "checkpoints.json",
49047
- "events.jsonl"
49010
+ "events.jsonl",
49011
+ "run-memory.jsonl"
49048
49012
  ];
49049
49013
  const results = [];
49050
49014
  try {
@@ -54397,7 +54361,7 @@ async function runValidationWithTransientRetry(input, candidateContent, baseline
54397
54361
  if (!input.dispatcher) {
54398
54362
  throw new Error("no evaluation dispatcher available (cannot run validation)");
54399
54363
  }
54400
- const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-x1hy047y.js");
54364
+ const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-9an52tmz.js");
54401
54365
  const executor = createModelEvaluationExecutor2(input.dispatcher, input.sessionId);
54402
54366
  const result = await _internals83.evaluateCandidateV1({
54403
54367
  projectRoot: input.directory,
@@ -56225,7 +56189,7 @@ function buildDetailedHelp(commandName, entry) {
56225
56189
  async function handleHelpCommand(ctx) {
56226
56190
  const targetCommand = ctx.args.join(" ");
56227
56191
  if (!targetCommand) {
56228
- const { buildHelpText } = await import("./index-k27a4e5g.js");
56192
+ const { buildHelpText } = await import("./index-y46anh5e.js");
56229
56193
  return buildHelpText();
56230
56194
  }
56231
56195
  const tokens = targetCommand.split(/\s+/);
@@ -56234,7 +56198,7 @@ async function handleHelpCommand(ctx) {
56234
56198
  return _internals14.buildDetailedHelp(resolved.key, resolved.entry);
56235
56199
  }
56236
56200
  const similar = _internals14.findSimilarCommands(targetCommand);
56237
- const { buildHelpText: fullHelp } = await import("./index-k27a4e5g.js");
56201
+ const { buildHelpText: fullHelp } = await import("./index-y46anh5e.js");
56238
56202
  if (similar.length > 0) {
56239
56203
  return `Command '/swarm ${targetCommand}' not found.
56240
56204
 
@@ -56411,7 +56375,7 @@ var COMMAND_REGISTRY = {
56411
56375
  },
56412
56376
  "guardrail explain": {
56413
56377
  handler: async (ctx) => {
56414
- const { handleGuardrailExplain } = await import("./guardrail-explain-1729nse8.js");
56378
+ const { handleGuardrailExplain } = await import("./guardrail-explain-rqpmzxyy.js");
56415
56379
  return handleGuardrailExplain(ctx.directory, ctx.args);
56416
56380
  },
56417
56381
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -56421,7 +56385,7 @@ var COMMAND_REGISTRY = {
56421
56385
  },
56422
56386
  "guardrail-explain": {
56423
56387
  handler: async (ctx) => {
56424
- const { handleGuardrailExplain } = await import("./guardrail-explain-1729nse8.js");
56388
+ const { handleGuardrailExplain } = await import("./guardrail-explain-rqpmzxyy.js");
56425
56389
  return handleGuardrailExplain(ctx.directory, ctx.args);
56426
56390
  },
56427
56391
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -56431,7 +56395,7 @@ var COMMAND_REGISTRY = {
56431
56395
  },
56432
56396
  "guardrail-log": {
56433
56397
  handler: async (ctx) => {
56434
- const { handleGuardrailLog } = await import("./guardrail-log-yjj5srkw.js");
56398
+ const { handleGuardrailLog } = await import("./guardrail-log-vd4a0ng5.js");
56435
56399
  return handleGuardrailLog(ctx.directory, ctx.args);
56436
56400
  },
56437
56401
  description: "Read the guardrail decision log (use --blocks-only for blocks)",
@@ -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.138.4",
24
+ version: "7.139.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",
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  readKnowledge,
4
4
  transactKnowledge
5
- } from "./index-1g6xpjk3.js";
5
+ } from "./index-t31cc7kv.js";
6
6
  import {
7
7
  resolveKnowledgeStoreDir
8
- } from "./index-en4fb04r.js";
8
+ } from "./index-tyh0p5e8.js";
9
9
  import {
10
10
  init_knowledge_types,
11
11
  isActiveStatus
@@ -4,7 +4,7 @@ import {
4
4
  } from "./index-4qzeef9h.js";
5
5
  import {
6
6
  withEvidenceLock
7
- } from "./index-xybtaph7.js";
7
+ } from "./index-a614s16f.js";
8
8
  import {
9
9
  exports_external,
10
10
  init_zod
@@ -6,10 +6,10 @@ import {
6
6
  } from "./index-ae75rja9.js";
7
7
  import {
8
8
  resolveKnowledgeStoreDir
9
- } from "./index-en4fb04r.js";
9
+ } from "./index-tyh0p5e8.js";
10
10
  import {
11
11
  atomicWriteFile
12
- } from "./index-tqshdzaw.js";
12
+ } from "./index-nc544sfw.js";
13
13
  import {
14
14
  init_knowledge_types,
15
15
  isActiveStatus
@@ -702,7 +702,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
702
702
  const recovered = touched.filter((e) => e.confidence > CONFIDENCE_FLOOR + FLOOR_EPSILON && e.confidence_floor_demoted);
703
703
  if (atFloor.length === 0 && recovered.length === 0)
704
704
  return;
705
- const { readKnowledgeCounterRollups, effectiveRetrievalOutcomes } = await import("./knowledge-events-nnyn6hst.js");
705
+ const { readKnowledgeCounterRollups, effectiveRetrievalOutcomes } = await import("./knowledge-events-wwzpz8m4.js");
706
706
  const rollups = await readKnowledgeCounterRollups(directory);
707
707
  const flagIds = new Set;
708
708
  for (const e of atFloor) {
@@ -769,11 +769,11 @@ async function applyConfidenceFloorAction(directory, touched, options) {
769
769
  });
770
770
  }
771
771
  if (action === "quarantine" && toQuarantine.length > 0) {
772
- const { quarantineEntry } = await import("./knowledge-validator-1v047gsa.js");
773
- const { KnowledgeConfigSchema } = await import("./schema-fj32eyae.js");
772
+ const { quarantineEntry } = await import("./knowledge-validator-v2eevvdg.js");
773
+ const { KnowledgeConfigSchema } = await import("./schema-xhfwr6b2.js");
774
774
  let config;
775
775
  try {
776
- const { loadPluginConfigWithMeta } = await import("./index-a9xny52r.js");
776
+ const { loadPluginConfigWithMeta } = await import("./index-gytyqv1d.js");
777
777
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
778
778
  config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
779
779
  } catch {
@@ -3,10 +3,10 @@ import {
3
3
  atomicWriteFile,
4
4
  taskEvidencePath,
5
5
  withTaskEvidenceLock
6
- } from "./index-tqshdzaw.js";
6
+ } from "./index-nc544sfw.js";
7
7
  import {
8
8
  telemetry
9
- } from "./index-10mz5js6.js";
9
+ } from "./index-chvqee1j.js";
10
10
  import {
11
11
  exports_external,
12
12
  init_zod
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  atomicWriteFile
4
- } from "./index-tqshdzaw.js";
4
+ } from "./index-nc544sfw.js";
5
5
  import {
6
6
  init_logger,
7
7
  warn
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-e1kgxchq.js";
4
+ } from "./index-6q240xgm.js";
5
5
  import {
6
6
  handleGuardrailLog
7
- } from "./index-33q2gmgd.js";
7
+ } from "./index-nsnfvckc.js";
8
8
  import {
9
9
  COMMAND_REGISTRY,
10
10
  SWARM_COMMAND_TOOL_ALLOWLIST,
@@ -84,62 +84,62 @@ import {
84
84
  handleWriteRetroCommand,
85
85
  normalizeSwarmCommandInput,
86
86
  resolveCommand
87
- } from "./index-a18hk2fw.js";
87
+ } from "./index-r3pth9a7.js";
88
88
  import"./index-vm4xw9z3.js";
89
- import"./index-rrxcfxrd.js";
90
- import"./index-gm3pjfhb.js";
91
- import"./index-m8txs2a9.js";
92
- import"./index-mycqmsz5.js";
93
- import"./index-ngqxzkqm.js";
89
+ import"./index-ddmnhv4h.js";
90
+ import"./index-5bkpyvdf.js";
91
+ import"./index-zd15ya1w.js";
92
+ import"./index-4ft523nb.js";
93
+ import"./index-z1tkxzq4.js";
94
94
  import"./index-y8552snf.js";
95
95
  import"./index-4905hd2m.js";
96
96
  import"./index-134d35c1.js";
97
- import"./index-jbge0dyh.js";
98
- import"./index-50mwt8fx.js";
99
- import"./index-c60whfgh.js";
97
+ import"./index-3nr2sn32.js";
98
+ import"./index-84s6x604.js";
99
+ import"./index-s428dmy6.js";
100
100
  import"./index-6mjf4vr1.js";
101
101
  import"./index-c8s9a3zh.js";
102
102
  import"./index-9ss2m4rs.js";
103
103
  import"./index-wsdnttf4.js";
104
- import"./index-39k6y018.js";
105
- import"./index-tjwz5tct.js";
106
- import"./index-m40ea3zk.js";
104
+ import"./index-tcdcj1g2.js";
105
+ import"./index-0tsetsxs.js";
106
+ import"./index-67yqywan.js";
107
107
  import"./index-rtry5xyf.js";
108
- import"./index-1g6xpjk3.js";
109
- import"./index-57stye65.js";
108
+ import"./index-t31cc7kv.js";
109
+ import"./index-kv36s0x0.js";
110
110
  import"./index-ae75rja9.js";
111
- import"./index-en4fb04r.js";
112
- import"./index-tqshdzaw.js";
113
- import"./index-m1pwkwfe.js";
111
+ import"./index-tyh0p5e8.js";
112
+ import"./index-nc544sfw.js";
113
+ import"./index-q3qtgtd0.js";
114
114
  import"./index-gprxjmm7.js";
115
115
  import"./index-n832052r.js";
116
116
  import {
117
117
  init_schema,
118
118
  stripKnownSwarmPrefix
119
- } from "./index-5q009kc4.js";
119
+ } from "./index-rtetrxxq.js";
120
120
  import"./index-bk5tah7q.js";
121
121
  import"./index-8fwhhayc.js";
122
122
  import"./index-q1exe2b3.js";
123
- import"./index-z7jgvm9b.js";
124
- import"./index-smsy2p8n.js";
123
+ import"./index-nbgw5dxa.js";
124
+ import"./index-ymszzvnr.js";
125
125
  import"./index-556ja8an.js";
126
- import"./index-4fmztnrq.js";
126
+ import"./index-p2dz85tv.js";
127
127
  import"./index-1kz6da87.js";
128
128
  import"./index-x20cgr2q.js";
129
129
  import"./index-b8zgtz81.js";
130
- import"./index-y28n2wmq.js";
130
+ import"./index-85hstja2.js";
131
131
  import"./index-4rhhvd1a.js";
132
132
  import {
133
133
  AGENT_TOOL_MAP,
134
134
  ORCHESTRATOR_NAME,
135
135
  init_constants
136
136
  } from "./index-3jcyn8g6.js";
137
- import"./index-q344kj84.js";
137
+ import"./index-t26nfmcs.js";
138
138
  import"./index-4qzeef9h.js";
139
139
  import"./index-fsrp8wp3.js";
140
- import"./index-xybtaph7.js";
140
+ import"./index-a614s16f.js";
141
141
  import"./index-7g4c7s5r.js";
142
- import"./index-10mz5js6.js";
142
+ import"./index-chvqee1j.js";
143
143
  import"./index-bpmtbmy9.js";
144
144
  import"./index-z6xqpmqg.js";
145
145
  import"./index-zjygnfay.js";
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  computePlanStructureHash,
7
7
  derivePlanId
8
- } from "./index-4fmztnrq.js";
8
+ } from "./index-p2dz85tv.js";
9
9
  import {
10
10
  PlanSchema
11
11
  } from "./index-1kz6da87.js";