opencode-swarm 7.185.1 → 7.186.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +3 -3
  2. package/.opencode/skills/swarm-pr-review/references/lane-output-recoverability.md +19 -1
  3. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  4. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  5. package/dist/background/pr-feedback-event-queue.d.ts +3 -2
  6. package/dist/background/pr-feedback-loop-runtime.d.ts +4 -1
  7. package/dist/background/pr-feedback-loop.d.ts +2 -1
  8. package/dist/background/pr-monitor-worker.d.ts +9 -1
  9. package/dist/background/pr-review-trigger-contract.d.ts +8 -0
  10. package/dist/background/pr-subscriptions.d.ts +23 -0
  11. package/dist/cli/{auto-checkpoint-2jecngee.js → auto-checkpoint-fsd4a9q9.js} +7 -7
  12. package/dist/cli/{checkpoint-qm05wdbh.js → checkpoint-rc61fd93.js} +14 -14
  13. package/dist/cli/{coder-settlement-56prayae.js → coder-settlement-x198191a.js} +10 -10
  14. package/dist/cli/{config-doctor-3b99vx74.js → config-doctor-mj4ae4jn.js} +2 -2
  15. package/dist/cli/{core-cxnqsrxp.js → core-fvsjr20m.js} +3 -3
  16. package/dist/cli/{curation-policy-ytzwb080.js → curation-policy-pxwagyh7.js} +4 -4
  17. package/dist/cli/{curator-drift-dt4g79a4.js → curator-drift-t150w08d.js} +8 -8
  18. package/dist/cli/{curator-5k3mktpe.js → curator-h7j1xse4.js} +39 -39
  19. package/dist/cli/curator-llm-factory-29cswvhr.js +81 -0
  20. package/dist/cli/{evidence-summary-service-8e2fghz0.js → evidence-summary-service-h42y6hwq.js} +17 -17
  21. package/dist/cli/{gate-evidence-vk8rebsx.js → gate-evidence-c7caa5x2.js} +5 -5
  22. package/dist/cli/guardrail-explain-yfd11za1.js +82 -0
  23. package/dist/cli/{guardrail-log-m6mydjet.js → guardrail-log-hcr5rptq.js} +6 -6
  24. package/dist/cli/{guardrail-reset-w41yndke.js → guardrail-reset-fqgf5sdb.js} +39 -39
  25. package/dist/cli/{hive-promoter-400xzdds.js → hive-promoter-632ewk29.js} +39 -39
  26. package/dist/cli/{index-9g61bfj9.js → index-010en5sq.js} +1 -1
  27. package/dist/cli/{index-r9zc92pb.js → index-03d68zxw.js} +41 -41
  28. package/dist/cli/{index-s7va6n84.js → index-0t61279z.js} +3 -3
  29. package/dist/cli/{index-zt3taseq.js → index-3rd7gqfg.js} +2 -2
  30. package/dist/cli/{index-ek5gvpvm.js → index-4h6e73bx.js} +7 -7
  31. package/dist/cli/{index-2c6e1p7j.js → index-4z0zdcd7.js} +3 -3
  32. package/dist/cli/{index-afmyp3kt.js → index-5v1sqv3m.js} +1 -1
  33. package/dist/cli/{index-6wqv8f7d.js → index-8fnayk3x.js} +5 -5
  34. package/dist/cli/{index-2b3bgm20.js → index-8jq3jsas.js} +1 -1
  35. package/dist/cli/{index-xgdypzch.js → index-92bbwjek.js} +1 -1
  36. package/dist/cli/{index-62akgg9d.js → index-92y6cpqn.js} +1 -1
  37. package/dist/cli/{index-cnbpht7m.js → index-98j268bh.js} +3 -3
  38. package/dist/cli/{index-s68z4a39.js → index-9z9g1897.js} +2 -2
  39. package/dist/cli/{index-dryhmaft.js → index-ay508kfq.js} +3 -3
  40. package/dist/cli/{index-8nsjefpc.js → index-bpqw4n2f.js} +1 -1
  41. package/dist/cli/{index-6sffjy74.js → index-c5e1wr7h.js} +1 -1
  42. package/dist/cli/{index-pa6fzbms.js → index-chaa1v0b.js} +4 -4
  43. package/dist/cli/{index-cp2nerjd.js → index-dbcwvc1v.js} +43 -20
  44. package/dist/cli/{index-hgfkcb1q.js → index-ef3pecd4.js} +813 -583
  45. package/dist/cli/{index-nw16apxs.js → index-ezttvjcf.js} +5 -5
  46. package/dist/cli/{index-m1bhg85z.js → index-gbmsvfp2.js} +2 -2
  47. package/dist/cli/{index-zxck9sr7.js → index-gjrs1epm.js} +1 -1
  48. package/dist/cli/{index-9h93zjm3.js → index-hmwnegkz.js} +1 -1
  49. package/dist/cli/{index-7jt24hpz.js → index-hq9f7fwf.js} +2 -2
  50. package/dist/cli/{index-rtznwf0g.js → index-hw8w4mkh.js} +39 -39
  51. package/dist/cli/{index-07bk0zm9.js → index-j42256hj.js} +1 -1
  52. package/dist/cli/{index-ycqsnfd1.js → index-jwkybwv0.js} +4 -4
  53. package/dist/cli/{index-yj7etak0.js → index-m8dry0a6.js} +1 -1
  54. package/dist/cli/{index-dz5cbkrm.js → index-mnb1pg1n.js} +4 -4
  55. package/dist/cli/{index-rr1dggfe.js → index-nnmgg6z6.js} +1 -1
  56. package/dist/cli/{index-7n3h39h9.js → index-pe1wgpvg.js} +7 -7
  57. package/dist/cli/{index-pppjg0ct.js → index-ptp6d5mm.js} +18 -20
  58. package/dist/cli/{index-nen885g8.js → index-q9wnbz9q.js} +1 -1
  59. package/dist/cli/{index-5n08z6qj.js → index-qg0nhcke.js} +5 -5
  60. package/dist/cli/{index-ppj5bjaq.js → index-qj7ewgrf.js} +7 -7
  61. package/dist/cli/{index-nhw5rt5x.js → index-syt8wykh.js} +4 -4
  62. package/dist/cli/{index-74yxwf8y.js → index-t46swpqf.js} +1 -1
  63. package/dist/cli/{index-ekyg4p8b.js → index-teyvb5tr.js} +1 -1
  64. package/dist/cli/{index-ss6b8jpz.js → index-vvajq163.js} +2 -2
  65. package/dist/cli/{index-1fc5aj26.js → index-w12y73z5.js} +1 -1
  66. package/dist/cli/{index-vqz0avr4.js → index-wrhf5apg.js} +2 -2
  67. package/dist/cli/{index-smwybqka.js → index-xe34ymp8.js} +2 -2
  68. package/dist/cli/{index-fa014mra.js → index-xkxt1b08.js} +3 -3
  69. package/dist/cli/{index-373880cv.js → index-y7s92gte.js} +1 -1
  70. package/dist/cli/index.js +40 -40
  71. package/dist/cli/{knowledge-escalator-30bb9fyg.js → knowledge-escalator-gajaew60.js} +11 -11
  72. package/dist/cli/{knowledge-events-gfbx97x0.js → knowledge-events-fsbgfz4z.js} +9 -9
  73. package/dist/cli/{knowledge-link-dv78fb9g.js → knowledge-link-jnnk0nmk.js} +3 -3
  74. package/dist/cli/{knowledge-store-2ssd489f.js → knowledge-store-vaq1g1dx.js} +4 -4
  75. package/dist/cli/{knowledge-validator-7bxvezgv.js → knowledge-validator-pdr6m77a.js} +6 -6
  76. package/dist/cli/{mcp-apr65eya.js → mcp-5sn4e5t2.js} +1 -1
  77. package/dist/cli/{model-preflight-g7b12yn2.js → model-preflight-z9p55ssn.js} +39 -39
  78. package/dist/cli/{pending-delegations-x8q7cxr7.js → pending-delegations-asyc469v.js} +10 -10
  79. package/dist/cli/{pr-subscriptions-qwr6ybcb.js → pr-subscriptions-nacx8r6a.js} +12 -10
  80. package/dist/cli/{pr-workflow-gate-qd5tfkak.js → pr-workflow-gate-j3r636zg.js} +41 -39
  81. package/dist/cli/{runner-tb3eppeg.js → runner-fns4esbf.js} +4 -4
  82. package/dist/cli/{scan-cursor-1m6dj2s2.js → scan-cursor-y9rchz83.js} +5 -5
  83. package/dist/cli/{schema-yvhamv41.js → schema-g377jsvv.js} +1 -1
  84. package/dist/cli/{scope-persistence-xdedbzdg.js → scope-persistence-dtympt37.js} +13 -13
  85. package/dist/cli/{server-nhdkvdt2.js → server-n51pvxds.js} +39 -39
  86. package/dist/cli/{skill-generator-fzvp9m8z.js → skill-generator-k3hnf8xx.js} +13 -13
  87. package/dist/cli/{snapshot-coordination-init-xqxek8kn.js → snapshot-coordination-init-k1f93806.js} +39 -39
  88. package/dist/cli/{speckit-checkoff-57tf4079.js → speckit-checkoff-w7qbrzph.js} +4 -4
  89. package/dist/cli/{workspace-snapshot-kcfkk3a2.js → workspace-snapshot-1sa8m2ea.js} +3 -3
  90. package/dist/cli/{worktree-collision-ownership-80n814a8.js → worktree-collision-ownership-4yxah5wy.js} +11 -11
  91. package/dist/cli/{worktree-isolation-kaxkr61t.js → worktree-isolation-p0pz81a1.js} +39 -39
  92. package/dist/git/pr.d.ts +73 -0
  93. package/dist/hooks/pr-workflow-gate.d.ts +69 -0
  94. package/dist/index.js +39 -39
  95. package/dist/tools/write-pr-review-trigger-eval.d.ts +2 -1
  96. package/package.json +1 -1
  97. package/dist/cli/curator-llm-factory-hkk29g2y.js +0 -81
  98. package/dist/cli/guardrail-explain-ma658hkw.js +0 -82
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-afmyp3kt.js";
4
+ } from "./index-5v1sqv3m.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-yj7etak0.js";
13
+ } from "./index-m8dry0a6.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-xdedbzdg.js");
245
+ const { writeScopeToDisk: realWrite } = await import("./scope-persistence-dtympt37.js");
246
246
  return realWrite(directory, taskId, files);
247
247
  },
248
248
  writeLaneProfileToDisk: async (_worktreePath, _laneIndex, _envOverrides) => {
@@ -10,7 +10,7 @@ import {
10
10
  readCachedTextFile,
11
11
  wasObservedToExist,
12
12
  wasRecentlyWrittenByThisProcess
13
- } from "./index-yj7etak0.js";
13
+ } from "./index-m8dry0a6.js";
14
14
  import {
15
15
  warn
16
16
  } from "./index-zgwm4ryv.js";
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  computePlanStructureHash
4
- } from "./index-dryhmaft.js";
4
+ } from "./index-ay508kfq.js";
5
5
  import {
6
6
  appendCoreEventSync
7
- } from "./index-373880cv.js";
7
+ } from "./index-y7s92gte.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-nen885g8.js";
15
+ } from "./index-q9wnbz9q.js";
16
16
  import {
17
17
  getProjectDb
18
- } from "./index-74yxwf8y.js";
18
+ } from "./index-t46swpqf.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-yj7etak0.js";
35
+ } from "./index-m8dry0a6.js";
36
36
  import {
37
37
  PlanSchema
38
38
  } from "./index-gx2vp8gx.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  writeSpeckitCheckoffLedger
4
- } from "./index-zt3taseq.js";
4
+ } from "./index-3rd7gqfg.js";
5
5
  import {
6
6
  validateSpecContent
7
7
  } from "./index-0725jpp7.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./index-mc72pk74.js";
10
10
  import {
11
11
  atomicWriteSwarmFile
12
- } from "./index-yj7etak0.js";
12
+ } from "./index-m8dry0a6.js";
13
13
 
14
14
  // src/health/learning-health.ts
15
15
  import { promises as fs } from "fs";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./index-txdagbh7.js";
10
10
  import {
11
11
  atomicWriteFile
12
- } from "./index-6sffjy74.js";
12
+ } from "./index-c5e1wr7h.js";
13
13
  import {
14
14
  withEvidenceLock
15
15
  } from "./index-6cjpmvpa.js";
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  autoCommitDirty,
4
4
  cleanUntrackedFiles
5
- } from "./index-2c6e1p7j.js";
5
+ } from "./index-4z0zdcd7.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-afmyp3kt.js";
12
+ } from "./index-5v1sqv3m.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-6sffjy74.js";
20
+ } from "./index-c5e1wr7h.js";
21
21
  import {
22
22
  assertProjectRoot
23
23
  } from "./index-t7hmqgjy.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-afmyp3kt.js";
4
+ } from "./index-5v1sqv3m.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-yj7etak0.js";
14
+ } from "./index-m8dry0a6.js";
15
15
  import {
16
16
  init_git_executable,
17
17
  resolveGitExecutable
@@ -4,7 +4,7 @@ import {
4
4
  projectDbExists,
5
5
  withImmediateTransaction,
6
6
  withProjectDbReadOnly
7
- } from "./index-74yxwf8y.js";
7
+ } from "./index-t46swpqf.js";
8
8
  import {
9
9
  derivePlanId,
10
10
  derivePlanIdentityHash
@@ -27,11 +27,11 @@ import {
27
27
  import {
28
28
  init_loader,
29
29
  loadPluginConfig
30
- } from "./index-ekyg4p8b.js";
30
+ } from "./index-teyvb5tr.js";
31
31
  import {
32
32
  init_package,
33
33
  package_default
34
- } from "./index-rr1dggfe.js";
34
+ } from "./index-nnmgg6z6.js";
35
35
  import {
36
36
  criticalWarn,
37
37
  init_logger,
@@ -11,7 +11,7 @@ import {
11
11
  readLinkPointer,
12
12
  resolveKnowledgeStoreDir,
13
13
  resolveLinkDir
14
- } from "./index-zxck9sr7.js";
14
+ } from "./index-gjrs1epm.js";
15
15
 
16
16
  // src/knowledge/curation-policy.ts
17
17
  import { readFile as readFile2 } from "fs/promises";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./index-6cjpmvpa.js";
5
5
  import {
6
6
  atomicWriteFileAnyRoot
7
- } from "./index-yj7etak0.js";
7
+ } from "./index-m8dry0a6.js";
8
8
 
9
9
  // src/evidence/task-file.ts
10
10
  import * as path from "path";
@@ -3,7 +3,7 @@ import {
3
3
  EvaluationRunV1Schema,
4
4
  GateAuditResultV1Schema,
5
5
  getProtectedEvaluationRunIds
6
- } from "./index-62akgg9d.js";
6
+ } from "./index-92y6cpqn.js";
7
7
  import {
8
8
  TASK_WORKFLOW_SCHEMA_MARKER,
9
9
  deriveApplicableGateSet,
@@ -12,11 +12,11 @@ import {
12
12
  readTaskEvidence,
13
13
  readTaskEvidenceRaw,
14
14
  sanitizeTaskId
15
- } from "./index-cnbpht7m.js";
15
+ } from "./index-98j268bh.js";
16
16
  import {
17
17
  readSwarmFileAsync,
18
18
  validateSwarmPath
19
- } from "./index-afmyp3kt.js";
19
+ } from "./index-5v1sqv3m.js";
20
20
  import {
21
21
  bunWrite
22
22
  } from "./index-2s7dvzff.js";
@@ -33,7 +33,7 @@ import {
33
33
  } from "./index-t7hmqgjy.js";
34
34
  import {
35
35
  invalidateCachedArtifact
36
- } from "./index-yj7etak0.js";
36
+ } from "./index-m8dry0a6.js";
37
37
  import {
38
38
  ZodError,
39
39
  init_zod
@@ -1,21 +1,21 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-afmyp3kt.js";
4
+ } from "./index-5v1sqv3m.js";
5
5
  import {
6
6
  deleteCoordinationState,
7
7
  importCoordinationOnce,
8
8
  listCoordinationStates,
9
9
  transitionCoordinationState,
10
10
  withCoordinationTransaction
11
- } from "./index-nen885g8.js";
11
+ } from "./index-q9wnbz9q.js";
12
12
  import {
13
13
  getProjectDb,
14
14
  projectDbExists
15
- } from "./index-74yxwf8y.js";
15
+ } from "./index-t46swpqf.js";
16
16
  import {
17
17
  observeStoreHealth
18
- } from "./index-xgdypzch.js";
18
+ } from "./index-92bbwjek.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-yj7etak0.js";
32
+ } from "./index-m8dry0a6.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 };