opencode-swarm 7.185.0 → 7.186.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 (100) hide show
  1. package/README.md +5 -1
  2. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  3. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  4. package/dist/background/pr-feedback-event-queue.d.ts +3 -2
  5. package/dist/background/pr-feedback-loop-runtime.d.ts +4 -1
  6. package/dist/background/pr-feedback-loop.d.ts +2 -1
  7. package/dist/background/pr-monitor-worker.d.ts +9 -1
  8. package/dist/background/pr-review-trigger-receipt-reader.d.ts +35 -0
  9. package/dist/background/pr-subscriptions.d.ts +23 -0
  10. package/dist/cli/{auto-checkpoint-adn8bg66.js → auto-checkpoint-wd99h2bt.js} +7 -7
  11. package/dist/cli/{checkpoint-dvyx8gee.js → checkpoint-kjzwsxw2.js} +14 -14
  12. package/dist/cli/{coder-settlement-95dv9r28.js → coder-settlement-kp3ph56n.js} +10 -10
  13. package/dist/cli/{config-doctor-f2jtx8y5.js → config-doctor-28ggsms8.js} +2 -2
  14. package/dist/cli/{core-xn2epqfk.js → core-pj2fz34e.js} +3 -3
  15. package/dist/cli/{curation-policy-swnyg1jr.js → curation-policy-ytzwb080.js} +4 -4
  16. package/dist/cli/{curator-drift-qem70sry.js → curator-drift-q84jn9cc.js} +8 -8
  17. package/dist/cli/curator-llm-factory-13h02244.js +81 -0
  18. package/dist/cli/{curator-91rqz7xg.js → curator-r0jfc7xw.js} +39 -39
  19. package/dist/cli/{evidence-summary-service-n7ndpen0.js → evidence-summary-service-rsectw2t.js} +17 -17
  20. package/dist/cli/{gate-evidence-ajh95p02.js → gate-evidence-mpwhcm2s.js} +5 -5
  21. package/dist/cli/guardrail-explain-njv3pnsw.js +82 -0
  22. package/dist/cli/{guardrail-log-b23sf549.js → guardrail-log-r8zmh4rd.js} +6 -6
  23. package/dist/cli/{guardrail-reset-e6njf0hv.js → guardrail-reset-11cvwgbe.js} +39 -39
  24. package/dist/cli/{hive-promoter-8dqvfwsx.js → hive-promoter-0vg8w79a.js} +39 -39
  25. package/dist/cli/{index-2tv5zp9x.js → index-151bdyf9.js} +7 -7
  26. package/dist/cli/{index-sz755xt1.js → index-1fc5aj26.js} +1 -1
  27. package/dist/cli/{index-73vnyt4b.js → index-22f1ek6k.js} +39 -39
  28. package/dist/cli/{index-gemq38en.js → index-373880cv.js} +1 -1
  29. package/dist/cli/{index-fkzv0hj4.js → index-4dwhfbed.js} +41 -41
  30. package/dist/cli/{index-gxjy9y0t.js → index-4fd28s8v.js} +2 -2
  31. package/dist/cli/{index-4ysdy8sx.js → index-5pa0e0k3.js} +4 -4
  32. package/dist/cli/{index-62z1vsvf.js → index-62akgg9d.js} +1 -1
  33. package/dist/cli/{index-26nhk01d.js → index-6bfcsczm.js} +1 -1
  34. package/dist/cli/{index-s0c1wxtt.js → index-6ndc8cmn.js} +1 -1
  35. package/dist/cli/{index-h5f5q60s.js → index-6sffjy74.js} +1 -1
  36. package/dist/cli/{index-s5xmvt3k.js → index-74yxwf8y.js} +1 -1
  37. package/dist/cli/{index-cah5ffkh.js → index-7xt5m1cz.js} +5 -5
  38. package/dist/cli/{index-97nbaxye.js → index-8nsjefpc.js} +1 -1
  39. package/dist/cli/{index-1zpgtnhp.js → index-9g61bfj9.js} +1 -1
  40. package/dist/cli/{index-2e7h9yw5.js → index-9th8npp7.js} +5 -5
  41. package/dist/cli/{index-359w27b1.js → index-9y6cyc7z.js} +4 -4
  42. package/dist/cli/{index-djen6c7q.js → index-a1tpq5zr.js} +1 -1
  43. package/dist/cli/{index-rcx4kb02.js → index-a6h5arqs.js} +4 -4
  44. package/dist/cli/{index-t9jr6zc7.js → index-afmyp3kt.js} +1 -1
  45. package/dist/cli/{index-tmd5j8kh.js → index-amamkcpy.js} +4 -4
  46. package/dist/cli/{index-hx9vyvx0.js → index-bajvxmnb.js} +3 -3
  47. package/dist/cli/{index-zkm995wa.js → index-bgpq7wn2.js} +856 -619
  48. package/dist/cli/{index-v5k5jw0r.js → index-d7mcdyqb.js} +2 -2
  49. package/dist/cli/{index-qccnny3g.js → index-fp4hxcsy.js} +3 -3
  50. package/dist/cli/{index-n0wyd905.js → index-hvmfa7m8.js} +3 -3
  51. package/dist/cli/{index-qqjqpmhj.js → index-j972ags2.js} +43 -20
  52. package/dist/cli/{index-vfr3z9rv.js → index-jxd67x6z.js} +1 -1
  53. package/dist/cli/{index-fmxty2h3.js → index-kv3n7g8w.js} +2 -2
  54. package/dist/cli/{index-9am1ry6w.js → index-m94gfe82.js} +7 -7
  55. package/dist/cli/{index-7jqnckzg.js → index-nen885g8.js} +1 -1
  56. package/dist/cli/{index-e5wczpj3.js → index-nxjm66qb.js} +2 -2
  57. package/dist/cli/{index-f3grtpy3.js → index-p6bvzgp2.js} +3 -3
  58. package/dist/cli/{index-zxm9h19f.js → index-p9m1nhds.js} +3 -3
  59. package/dist/cli/{index-w7sftxdy.js → index-qyjyd3ej.js} +1 -1
  60. package/dist/cli/{index-3fnpjy4g.js → index-s68z4a39.js} +2 -2
  61. package/dist/cli/{index-m7g4dsr4.js → index-vk3ngryj.js} +5 -5
  62. package/dist/cli/{index-yg15df3b.js → index-vqz0avr4.js} +2 -2
  63. package/dist/cli/{index-rp0pyywc.js → index-w2b8qq6d.js} +7 -7
  64. package/dist/cli/{index-6wy9m25t.js → index-wkv1qdb0.js} +18 -20
  65. package/dist/cli/{index-erv39311.js → index-wmazt588.js} +2 -2
  66. package/dist/cli/{index-p544ppcp.js → index-xgdypzch.js} +1 -1
  67. package/dist/cli/{index-580t912d.js → index-yj7etak0.js} +1 -1
  68. package/dist/cli/{index-zyz0xp2b.js → index-zxck9sr7.js} +1 -1
  69. package/dist/cli/index.js +40 -40
  70. package/dist/cli/{knowledge-escalator-xdz6vg62.js → knowledge-escalator-7xcd0zea.js} +11 -11
  71. package/dist/cli/{knowledge-events-dnca00ye.js → knowledge-events-e4ts8y2v.js} +9 -9
  72. package/dist/cli/{knowledge-link-y653vvr8.js → knowledge-link-dv78fb9g.js} +3 -3
  73. package/dist/cli/{knowledge-store-yc20na25.js → knowledge-store-mmeqmjwj.js} +4 -4
  74. package/dist/cli/{knowledge-validator-c2kfrqdy.js → knowledge-validator-w2ttgxyj.js} +6 -6
  75. package/dist/cli/{mcp-mefjep3p.js → mcp-5dmm4fk2.js} +1 -1
  76. package/dist/cli/{model-preflight-5xcxc75n.js → model-preflight-kap3zp3g.js} +39 -39
  77. package/dist/cli/{pending-delegations-emhmdkn4.js → pending-delegations-q3sj608s.js} +10 -10
  78. package/dist/cli/{pr-subscriptions-amc1z05d.js → pr-subscriptions-qw4wjv66.js} +12 -10
  79. package/dist/cli/{pr-workflow-gate-gpq41zx9.js → pr-workflow-gate-tdj50p2g.js} +39 -39
  80. package/dist/cli/{runner-ss88pbb2.js → runner-tb3eppeg.js} +4 -4
  81. package/dist/cli/{scan-cursor-71gq82ez.js → scan-cursor-fgecb928.js} +5 -5
  82. package/dist/cli/{schema-108trhk6.js → schema-zrcgm9d9.js} +1 -1
  83. package/dist/cli/{scope-persistence-9gfgvy3p.js → scope-persistence-08xd3kyb.js} +13 -13
  84. package/dist/cli/{server-pkk6y7fa.js → server-kng2nggc.js} +39 -39
  85. package/dist/cli/{skill-generator-7g6xjwhr.js → skill-generator-dztn1ctf.js} +13 -13
  86. package/dist/cli/{snapshot-coordination-init-pactfmsy.js → snapshot-coordination-init-5q0hac3d.js} +39 -39
  87. package/dist/cli/{speckit-checkoff-xyp4c36r.js → speckit-checkoff-hhsy83m9.js} +4 -4
  88. package/dist/cli/{workspace-snapshot-0hffyjhd.js → workspace-snapshot-kcfkk3a2.js} +3 -3
  89. package/dist/cli/{worktree-collision-ownership-g26m4c10.js → worktree-collision-ownership-e2cqcmnw.js} +11 -11
  90. package/dist/cli/{worktree-isolation-52529c62.js → worktree-isolation-refd2n16.js} +39 -39
  91. package/dist/git/pr.d.ts +73 -0
  92. package/dist/hooks/extractors.d.ts +24 -0
  93. package/dist/hooks/pr-workflow-gate.d.ts +2 -0
  94. package/dist/index.js +52 -48
  95. package/dist/pr-review/completion.d.ts +14 -1
  96. package/dist/pr-review/types.d.ts +8 -1
  97. package/dist/tools/write-pr-review-trigger-eval.d.ts +2 -0
  98. package/package.json +1 -1
  99. package/dist/cli/curator-llm-factory-tr6rabws.js +0 -81
  100. package/dist/cli/guardrail-explain-cne2701m.js +0 -82
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  init_loader,
4
4
  loadPluginConfigWithMeta
5
- } from "./index-djen6c7q.js";
5
+ } from "./index-a1tpq5zr.js";
6
6
  import {
7
7
  init_schema
8
- } from "./index-w7sftxdy.js";
8
+ } from "./index-qyjyd3ej.js";
9
9
  import {
10
10
  DEFAULT_WORKTREE_ISOLATION_CONFIG,
11
11
  init_constants
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  autoCommitDirty,
4
4
  cleanUntrackedFiles
5
- } from "./index-zxm9h19f.js";
5
+ } from "./index-p9m1nhds.js";
6
6
  import {
7
7
  isSpawnCwdMissing,
8
8
  isSpawnCwdUnreadable
9
9
  } from "./index-g4fs6z4e.js";
10
10
  import {
11
11
  validateSwarmPath
12
- } from "./index-t9jr6zc7.js";
12
+ } from "./index-afmyp3kt.js";
13
13
  import {
14
14
  bunSpawn
15
15
  } from "./index-2s7dvzff.js";
@@ -17,7 +17,7 @@ import {
17
17
  atomicWriteFile,
18
18
  taskEvidencePath,
19
19
  withTaskEvidenceLock
20
- } from "./index-h5f5q60s.js";
20
+ } from "./index-6sffjy74.js";
21
21
  import {
22
22
  assertProjectRoot
23
23
  } from "./index-t7hmqgjy.js";
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  readEffectiveSpecSync
4
- } from "./index-s0c1wxtt.js";
4
+ } from "./index-6ndc8cmn.js";
5
5
  import {
6
6
  readSwarmFileAsync
7
- } from "./index-t9jr6zc7.js";
7
+ } from "./index-afmyp3kt.js";
8
8
  import {
9
9
  DURABILITY_CLASSES,
10
10
  DbWriteError,
@@ -13,7 +13,7 @@ import {
13
13
  classifyDbWriteError,
14
14
  getProjectDb,
15
15
  projectDbExists
16
- } from "./index-s5xmvt3k.js";
16
+ } from "./index-74yxwf8y.js";
17
17
  import {
18
18
  _internals,
19
19
  canonicalRootKeyFresh
@@ -1,21 +1,21 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-t9jr6zc7.js";
4
+ } from "./index-afmyp3kt.js";
5
5
  import {
6
6
  deleteCoordinationState,
7
7
  importCoordinationOnce,
8
8
  listCoordinationStates,
9
9
  transitionCoordinationState,
10
10
  withCoordinationTransaction
11
- } from "./index-7jqnckzg.js";
11
+ } from "./index-nen885g8.js";
12
12
  import {
13
13
  getProjectDb,
14
14
  projectDbExists
15
- } from "./index-s5xmvt3k.js";
15
+ } from "./index-74yxwf8y.js";
16
16
  import {
17
17
  observeStoreHealth
18
- } from "./index-p544ppcp.js";
18
+ } from "./index-xgdypzch.js";
19
19
  import {
20
20
  withEvidenceLock
21
21
  } from "./index-6cjpmvpa.js";
@@ -29,7 +29,7 @@ import {
29
29
  } from "./index-mc72pk74.js";
30
30
  import {
31
31
  atomicWriteSwarmFileSync
32
- } from "./index-580t912d.js";
32
+ } from "./index-yj7etak0.js";
33
33
  import {
34
34
  exports_external,
35
35
  init_zod
@@ -293,20 +293,6 @@ function canonicalForgePrUrl(value, configured) {
293
293
  return null;
294
294
  }
295
295
  }
296
- function getProviderCapabilities(provider) {
297
- if (provider === "gitlab") {
298
- return {
299
- statusCheckRollup: false,
300
- reviewDecision: false,
301
- mergeStateStatus: false
302
- };
303
- }
304
- return {
305
- statusCheckRollup: true,
306
- reviewDecision: true,
307
- mergeStateStatus: true
308
- };
309
- }
310
296
  function resolveForgeContextFromPluginConfig(pluginConfig, remotes) {
311
297
  if (!pluginConfig?.forge)
312
298
  return null;
@@ -2569,6 +2555,43 @@ async function lookupByPr(directory, repoFullName, prNumber) {
2569
2555
  }
2570
2556
  return null;
2571
2557
  }
2558
+ async function findSubscriptionRecordForPrUrl(directory, key) {
2559
+ if (key.repoFullName !== undefined && key.prNumber !== undefined) {
2560
+ const record = await lookupByPr(directory, key.repoFullName, key.prNumber);
2561
+ if (record && (!key.sessionID || record.sessionID === key.sessionID) && (key.prUrl === undefined || record.prUrl === key.prUrl || subscriptionPrUrlMatches(record, key.prUrl))) {
2562
+ return record;
2563
+ }
2564
+ if (!key.sessionID)
2565
+ return null;
2566
+ }
2567
+ if (key.prUrl === undefined && key.repoFullName === undefined)
2568
+ return null;
2569
+ if (key.prUrl === undefined) {
2570
+ const active2 = await listActive(directory);
2571
+ for (const record of active2) {
2572
+ if (key.sessionID && record.sessionID !== key.sessionID)
2573
+ continue;
2574
+ if (record.repoFullName === key.repoFullName && record.prNumber === key.prNumber) {
2575
+ return record;
2576
+ }
2577
+ }
2578
+ return null;
2579
+ }
2580
+ const active = await listActive(directory);
2581
+ for (const record of active) {
2582
+ if (key.sessionID && record.sessionID !== key.sessionID)
2583
+ continue;
2584
+ if (record.prUrl === key.prUrl || subscriptionPrUrlMatches(record, key.prUrl)) {
2585
+ return record;
2586
+ }
2587
+ }
2588
+ return null;
2589
+ }
2590
+ function subscriptionPrUrlMatches(record, prUrl) {
2591
+ const left = canonicalForgePrUrl(record.prUrl, record.forge);
2592
+ const right = canonicalForgePrUrl(prUrl, record.forge);
2593
+ return left !== null && left === right;
2594
+ }
2572
2595
  async function updateSnapshot(directory, correlationId, updates) {
2573
2596
  if (!correlationId)
2574
2597
  return null;
@@ -2874,4 +2897,4 @@ var _internals = {
2874
2897
  writeCheckpointFile
2875
2898
  };
2876
2899
 
2877
- export { containsControlCharacters, hasNonAsciiHostname, isPrivateHost, detectForgeFromUrl, matchForgeResourceUrl, parseForgeRemoteUrl, buildPrUrl, buildIssueUrl, canonicalForgePrUrl, getProviderCapabilities, resolveForgeContextFromPluginConfig, PR_SUBSCRIPTIONS_FILE, PR_SUBSCRIPTIONS_CHECKPOINT_FILE, PR_SUBSCRIPTIONS_AUDIT_FILE, PR_SUBSCRIPTION_LIMITS, setOnSubscriptionCreated, registerPrMonitorWorkerHandler, removePrMonitorWorkerHandler, ensurePrSubscriptionDispatcherInstalled, PrSubscriptionCapacityError, isPrSubscriptionCapacityError, buildCorrelationId, subscribe, unsubscribe, listActive, lookupByPr, updateSnapshot, sweepStale, getPrSubscriptionHealth, _internals };
2900
+ export { containsControlCharacters, hasNonAsciiHostname, isPrivateHost, detectForgeFromUrl, matchForgeResourceUrl, parseForgeRemoteUrl, buildPrUrl, buildIssueUrl, canonicalForgePrUrl, resolveForgeContextFromPluginConfig, PR_SUBSCRIPTIONS_FILE, PR_SUBSCRIPTIONS_CHECKPOINT_FILE, PR_SUBSCRIPTIONS_AUDIT_FILE, PR_SUBSCRIPTION_LIMITS, setOnSubscriptionCreated, registerPrMonitorWorkerHandler, removePrMonitorWorkerHandler, ensurePrSubscriptionDispatcherInstalled, PrSubscriptionCapacityError, isPrSubscriptionCapacityError, buildCorrelationId, subscribe, unsubscribe, listActive, lookupByPr, findSubscriptionRecordForPrUrl, updateSnapshot, sweepStale, getPrSubscriptionHealth, _internals };
@@ -12,7 +12,7 @@ import {
12
12
  PluginConfigSchema,
13
13
  init_schema,
14
14
  stripKnownSwarmPrefix
15
- } from "./index-w7sftxdy.js";
15
+ } from "./index-qyjyd3ej.js";
16
16
  import {
17
17
  ALL_AGENT_NAMES,
18
18
  TOOL_NAME_SET,
@@ -5,11 +5,11 @@ import {
5
5
  import {
6
6
  atomicWriteFileAnyRoot,
7
7
  atomicWriteSwarmFileSync
8
- } from "./index-580t912d.js";
8
+ } from "./index-yj7etak0.js";
9
9
  import {
10
10
  init_loader,
11
11
  loadPluginConfig
12
- } from "./index-djen6c7q.js";
12
+ } from "./index-a1tpq5zr.js";
13
13
  import {
14
14
  init_logger,
15
15
  log,
@@ -11,16 +11,16 @@ import {
11
11
  } from "./index-ae75rja9.js";
12
12
  import {
13
13
  resolveKnowledgeStoreDir
14
- } from "./index-zyz0xp2b.js";
14
+ } from "./index-zxck9sr7.js";
15
15
  import {
16
16
  atomicWriteFile
17
- } from "./index-h5f5q60s.js";
17
+ } from "./index-6sffjy74.js";
18
18
  import {
19
19
  require_proper_lockfile
20
20
  } from "./index-7g4c7s5r.js";
21
21
  import {
22
22
  readCachedParsedFile
23
- } from "./index-580t912d.js";
23
+ } from "./index-yj7etak0.js";
24
24
  import {
25
25
  init_knowledge_types,
26
26
  isActiveStatus
@@ -739,7 +739,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
739
739
  const {
740
740
  readAuthoritativeKnowledgeCounterRollups,
741
741
  effectiveRetrievalOutcomes
742
- } = await import("./knowledge-events-dnca00ye.js");
742
+ } = await import("./knowledge-events-e4ts8y2v.js");
743
743
  const rollups = await readAuthoritativeKnowledgeCounterRollups(directory);
744
744
  const flagIds = new Set;
745
745
  for (const e of atFloor) {
@@ -806,11 +806,11 @@ async function applyConfidenceFloorAction(directory, touched, options) {
806
806
  });
807
807
  }
808
808
  if (action === "quarantine" && toQuarantine.length > 0) {
809
- const { quarantineEntry } = await import("./knowledge-validator-c2kfrqdy.js");
810
- const { KnowledgeConfigSchema } = await import("./schema-108trhk6.js");
809
+ const { quarantineEntry } = await import("./knowledge-validator-w2ttgxyj.js");
810
+ const { KnowledgeConfigSchema } = await import("./schema-zrcgm9d9.js");
811
811
  let config;
812
812
  try {
813
- const { loadPluginConfigWithMeta } = await import("./index-f3grtpy3.js");
813
+ const { loadPluginConfigWithMeta } = await import("./index-p6bvzgp2.js");
814
814
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
815
815
  config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
816
816
  } catch {
@@ -4,7 +4,7 @@ import {
4
4
  getProjectDb,
5
5
  projectDbExists,
6
6
  withImmediateTransaction
7
- } from "./index-s5xmvt3k.js";
7
+ } from "./index-74yxwf8y.js";
8
8
 
9
9
  // src/db/coordination-store.ts
10
10
  import { createHash } from "crypto";
@@ -14,14 +14,14 @@ import {
14
14
  detectWindowsWrites,
15
15
  getSharedClassifierGuardrailBlock,
16
16
  resolveWriteTargets
17
- } from "./index-zkm995wa.js";
17
+ } from "./index-bgpq7wn2.js";
18
18
  import {
19
19
  checkFileAuthority,
20
20
  classifyFile,
21
21
  isInDeclaredScope,
22
22
  redactPath,
23
23
  redactShellCommand
24
- } from "./index-gxjy9y0t.js";
24
+ } from "./index-4fd28s8v.js";
25
25
 
26
26
  // src/services/guardrail-explain-service.ts
27
27
  import path from "path";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  _internals,
4
4
  resolveWorktreeIsolationConfig
5
- } from "./index-v5k5jw0r.js";
5
+ } from "./index-d7mcdyqb.js";
6
6
  import {
7
7
  ApprovalEvidenceSchema,
8
8
  BaseEvidenceSchema,
@@ -46,7 +46,7 @@ import {
46
46
  loadPluginConfigWithMeta,
47
47
  loadPluginConfigWithMetaAsync,
48
48
  resetConfigAdvisoryDedup
49
- } from "./index-djen6c7q.js";
49
+ } from "./index-a1tpq5zr.js";
50
50
  import"./index-zxdawwc7.js";
51
51
  import {
52
52
  AUTO_REVIEW_V8_BURN_IN_DECISION,
@@ -72,7 +72,7 @@ import {
72
72
  TurboConfigSchema,
73
73
  WorktreeIsolationConfigSchema,
74
74
  resolveAutoReviewConfig
75
- } from "./index-w7sftxdy.js";
75
+ } from "./index-qyjyd3ej.js";
76
76
  import {
77
77
  ALL_AGENT_NAMES,
78
78
  ALL_SUBAGENT_NAMES,
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-t9jr6zc7.js";
4
+ } from "./index-afmyp3kt.js";
5
5
  import {
6
6
  bunSpawn
7
7
  } from "./index-2s7dvzff.js";
@@ -10,7 +10,7 @@ import {
10
10
  } from "./index-mc72pk74.js";
11
11
  import {
12
12
  atomicWriteSwarmFileSync
13
- } from "./index-580t912d.js";
13
+ } from "./index-yj7etak0.js";
14
14
  import {
15
15
  advisoryWarn,
16
16
  init_git_executable,
@@ -242,7 +242,7 @@ var _internals2 = {
242
242
  symlinkSync: fs2.symlinkSync
243
243
  },
244
244
  writeScopeToDisk: async (directory, taskId, files) => {
245
- const { writeScopeToDisk: realWrite } = await import("./scope-persistence-9gfgvy3p.js");
245
+ const { writeScopeToDisk: realWrite } = await import("./scope-persistence-08xd3kyb.js");
246
246
  return realWrite(directory, taskId, files);
247
247
  },
248
248
  writeLaneProfileToDisk: async (_worktreePath, _laneIndex, _envOverrides) => {
@@ -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.185.0",
24
+ version: "7.186.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",
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-t9jr6zc7.js";
4
+ } from "./index-afmyp3kt.js";
5
5
  import {
6
6
  bunSpawn
7
7
  } from "./index-2s7dvzff.js";
@@ -11,7 +11,7 @@ import {
11
11
  } from "./index-mc72pk74.js";
12
12
  import {
13
13
  atomicWriteSwarmFile
14
- } from "./index-580t912d.js";
14
+ } from "./index-yj7etak0.js";
15
15
  import {
16
16
  init_git_executable,
17
17
  resolveGitExecutable
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  computePlanStructureHash
4
- } from "./index-hx9vyvx0.js";
4
+ } from "./index-bajvxmnb.js";
5
5
  import {
6
6
  appendCoreEventSync
7
- } from "./index-gemq38en.js";
7
+ } from "./index-373880cv.js";
8
8
  import {
9
9
  deleteCoordinationState,
10
10
  importCoordinationOnce,
@@ -12,10 +12,10 @@ import {
12
12
  transitionCoordinationState,
13
13
  transitionCoordinationStateWithinTransaction,
14
14
  withCoordinationTransaction
15
- } from "./index-7jqnckzg.js";
15
+ } from "./index-nen885g8.js";
16
16
  import {
17
17
  getProjectDb
18
- } from "./index-s5xmvt3k.js";
18
+ } from "./index-74yxwf8y.js";
19
19
  import {
20
20
  canonicalExistingFilesystemPath,
21
21
  legacyCanonicalExistingFilesystemPath
@@ -32,7 +32,7 @@ import {
32
32
  import {
33
33
  atomicWriteSwarmFile,
34
34
  atomicWriteSwarmFileSync
35
- } from "./index-580t912d.js";
35
+ } from "./index-yj7etak0.js";
36
36
  import {
37
37
  PlanSchema
38
38
  } from "./index-gx2vp8gx.js";
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-t9jr6zc7.js";
4
+ } from "./index-afmyp3kt.js";
5
5
  import {
6
6
  atomicWriteSwarmFileSync
7
- } from "./index-580t912d.js";
7
+ } from "./index-yj7etak0.js";
8
8
 
9
9
  // src/hooks/delegation-gate/worktree-provisioning-owner.ts
10
10
  import { createHash } from "crypto";
@@ -1,19 +1,19 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-t9jr6zc7.js";
4
+ } from "./index-afmyp3kt.js";
5
5
  import {
6
6
  observeReceiptTransition
7
- } from "./index-p544ppcp.js";
7
+ } from "./index-xgdypzch.js";
8
8
  import {
9
9
  resolveHiveEventsPath
10
10
  } from "./index-ae75rja9.js";
11
11
  import {
12
12
  resolveKnowledgeStoreDir
13
- } from "./index-zyz0xp2b.js";
13
+ } from "./index-zxck9sr7.js";
14
14
  import {
15
15
  atomicWriteFile
16
- } from "./index-h5f5q60s.js";
16
+ } from "./index-6sffjy74.js";
17
17
  import {
18
18
  assertProjectRoot
19
19
  } from "./index-t7hmqgjy.js";
@@ -28,11 +28,11 @@ import {
28
28
  } from "./index-7g4c7s5r.js";
29
29
  import {
30
30
  loadPluginConfigWithMeta
31
- } from "./index-djen6c7q.js";
31
+ } from "./index-a1tpq5zr.js";
32
32
  import {
33
33
  KnowledgeConfigSchema,
34
34
  init_schema
35
- } from "./index-w7sftxdy.js";
35
+ } from "./index-qyjyd3ej.js";
36
36
  import {
37
37
  init_logger,
38
38
  warn
@@ -2946,7 +2946,7 @@ async function applyKnowledgeVerdictFeedback(directory, options) {
2946
2946
  }
2947
2947
  let bumps = 0;
2948
2948
  if (deltas.length > 0) {
2949
- const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-yc20na25.js");
2949
+ const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-mmeqmjwj.js");
2950
2950
  bumps = await bumpKnowledgeConfidenceBatch(directory, deltas, options?.floorOptions);
2951
2951
  }
2952
2952
  return {
@@ -4,7 +4,7 @@ import {
4
4
  } from "./index-6b295cas.js";
5
5
  import {
6
6
  readEffectiveSpecSync
7
- } from "./index-s0c1wxtt.js";
7
+ } from "./index-6ndc8cmn.js";
8
8
  import {
9
9
  getWorktreeMergeFailure
10
10
  } from "./index-zsrtt42s.js";
@@ -20,7 +20,7 @@ import {
20
20
  estimateTokens,
21
21
  readSwarmFileAsync,
22
22
  validateSwarmPath
23
- } from "./index-t9jr6zc7.js";
23
+ } from "./index-afmyp3kt.js";
24
24
  import {
25
25
  bunHash,
26
26
  bunWrite,
@@ -44,22 +44,22 @@ import {
44
44
  replayFromLedgerWithStatus,
45
45
  takeSnapshotEvent,
46
46
  takeSnapshotWithRetry
47
- } from "./index-hx9vyvx0.js";
47
+ } from "./index-bajvxmnb.js";
48
48
  import {
49
49
  appendCoreEventSync
50
- } from "./index-gemq38en.js";
50
+ } from "./index-373880cv.js";
51
51
  import {
52
52
  getCoordinationState,
53
53
  importCoordinationOnce,
54
54
  listCoordinationStates,
55
55
  transitionCoordinationState
56
- } from "./index-7jqnckzg.js";
56
+ } from "./index-nen885g8.js";
57
57
  import {
58
58
  DURABILITY_CLASSES,
59
59
  getProjectDb,
60
60
  projectDbExists,
61
61
  withDurabilityClass
62
- } from "./index-s5xmvt3k.js";
62
+ } from "./index-74yxwf8y.js";
63
63
  import {
64
64
  derivePlanId,
65
65
  derivePlanIdentityHash
@@ -80,7 +80,7 @@ import {
80
80
  atomicWriteSwarmFileSync,
81
81
  invalidateCachedArtifact,
82
82
  readCachedParsedFile
83
- } from "./index-580t912d.js";
83
+ } from "./index-yj7etak0.js";
84
84
  import {
85
85
  PlanSchema,
86
86
  normalizeCurrentPhaseInPlace,
@@ -283,6 +283,14 @@ function transientBackoff(attempt) {
283
283
  }
284
284
  }
285
285
 
286
+ // src/hooks/context-sanitizer.ts
287
+ function sanitizeContextText(text) {
288
+ return text.split("").filter((char) => {
289
+ const code = char.charCodeAt(0);
290
+ return code === 9 || code === 10 || code === 13 || code > 31 && code !== 127;
291
+ }).join("").replace(/[\u00AD\u200B-\u200F\u2060-\u2064\uFEFF]/g, "").replace(/[\u202A-\u202E\u2066-\u2069]/g, "").replace(/```/g, "` ` `").replace(/^system\s*:/gim, "[BLOCKED]:").replace(/<system\b[^>]*>/gi, "[BLOCKED-TAG]").replace(/<\/system>/gi, "[/BLOCKED-TAG]").replace(/<tool_call\b[^>]*>/gi, "[BLOCKED-TOOL]").replace(/<\/tool_call>/gi, "[/BLOCKED-TOOL]").replace(/<\/\w+>/g, "[/BLOCKED-TAG]");
292
+ }
293
+
286
294
  // src/plan/manager.ts
287
295
  import {
288
296
  closeSync,
@@ -938,16 +946,6 @@ var _internals = {
938
946
  // src/services/run-memory.ts
939
947
  import * as crypto from "crypto";
940
948
  import * as fs from "fs/promises";
941
-
942
- // src/hooks/context-sanitizer.ts
943
- function sanitizeContextText(text) {
944
- return text.split("").filter((char) => {
945
- const code = char.charCodeAt(0);
946
- return code === 9 || code === 10 || code === 13 || code > 31 && code !== 127;
947
- }).join("").replace(/[\u00AD\u200B-\u200F\u2060-\u2064\uFEFF]/g, "").replace(/[\u202A-\u202E\u2066-\u2069]/g, "").replace(/```/g, "` ` `").replace(/^system\s*:/gim, "[BLOCKED]:").replace(/<system\b[^>]*>/gi, "[BLOCKED-TAG]").replace(/<\/system>/gi, "[/BLOCKED-TAG]").replace(/<tool_call\b[^>]*>/gi, "[BLOCKED-TOOL]").replace(/<\/tool_call>/gi, "[/BLOCKED-TOOL]").replace(/<\/\w+>/g, "[/BLOCKED-TAG]");
948
- }
949
-
950
- // src/services/run-memory.ts
951
949
  init_logger();
952
950
  var RUN_MEMORY_FILENAME = "run-memory.jsonl";
953
951
  var MAX_SUMMARY_TOKENS = 500;
@@ -3004,7 +3002,7 @@ ${markdown}`;
3004
3002
  }
3005
3003
  }
3006
3004
  async function defaultMaybeSaveAutoCheckpoint(directory, plan) {
3007
- const { maybeSaveAutoCheckpoint } = await import("./auto-checkpoint-adn8bg66.js");
3005
+ const { maybeSaveAutoCheckpoint } = await import("./auto-checkpoint-wd99h2bt.js");
3008
3006
  return maybeSaveAutoCheckpoint(directory, plan);
3009
3007
  }
3010
3008
  async function updateTaskStatus(directory, taskId, status, options) {
@@ -3080,7 +3078,7 @@ async function updateTaskStatus(directory, taskId, status, options) {
3080
3078
  if (status === "completed") {
3081
3079
  try {
3082
3080
  const completedTask = updatedPlan.phases.flatMap((phase) => phase.tasks).find((candidate) => candidate.id === taskId);
3083
- const { maybePropagateSpeckitCheckoff } = await import("./speckit-checkoff-xyp4c36r.js");
3081
+ const { maybePropagateSpeckitCheckoff } = await import("./speckit-checkoff-hhsy83m9.js");
3084
3082
  await maybePropagateSpeckitCheckoff(directory, {
3085
3083
  taskId,
3086
3084
  frRefs: completedTask?.fr_refs ?? [],
@@ -3105,7 +3103,7 @@ async function updateTaskStatus(directory, taskId, status, options) {
3105
3103
  break;
3106
3104
  }
3107
3105
  }
3108
- const { readDeclaredScopeFilesFromBindings } = await import("./scope-persistence-9gfgvy3p.js");
3106
+ const { readDeclaredScopeFilesFromBindings } = await import("./scope-persistence-08xd3kyb.js");
3109
3107
  const canonicalScope = readDeclaredScopeFilesFromBindings({
3110
3108
  directory,
3111
3109
  taskId,
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  readKnowledge,
4
4
  transactKnowledge
5
- } from "./index-9am1ry6w.js";
5
+ } from "./index-m94gfe82.js";
6
6
  import {
7
7
  resolveKnowledgeStoreDir
8
- } from "./index-zyz0xp2b.js";
8
+ } from "./index-zxck9sr7.js";
9
9
  import {
10
10
  init_git_executable,
11
11
  resolveGitExecutableAsync
@@ -9,7 +9,7 @@ import {
9
9
  } from "./index-mc72pk74.js";
10
10
  import {
11
11
  atomicWriteSwarmFile
12
- } from "./index-580t912d.js";
12
+ } from "./index-yj7etak0.js";
13
13
 
14
14
  // src/health/learning-health.ts
15
15
  import { promises as fs } from "fs";
@@ -338,7 +338,7 @@ var SWARM_TEMP_GRAMMARS = [
338
338
  producers: [
339
339
  "src/tools/write-pr-review-artifact.ts:154",
340
340
  "src/tools/write-pr-review-artifact.ts:174",
341
- "src/tools/write-pr-review-trigger-eval.ts:96"
341
+ "src/tools/write-pr-review-trigger-eval.ts:100"
342
342
  ],
343
343
  note: "bundled-skills writes outside .swarm (project skill roots) and keeps its own contained-directory logic (invariant 4 bundled-skill ownership)"
344
344
  },
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  atomicWriteFile
4
- } from "./index-h5f5q60s.js";
4
+ } from "./index-6sffjy74.js";
5
5
  import {
6
6
  canonicalRootKeyFresh
7
7
  } from "./index-mc72pk74.js";