opencode-swarm 7.142.0 → 7.143.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 (75) hide show
  1. package/.opencode/skills/execute/SKILL.md +1 -1
  2. package/.opencode/skills/phase-wrap/SKILL.md +2 -2
  3. package/dist/cli/{config-doctor-7xqerhnw.js → config-doctor-t1r5qwxk.js} +2 -2
  4. package/dist/cli/{core-nwmpg9t8.js → core-e30p4vz9.js} +1 -1
  5. package/dist/cli/{curation-policy-bzk13bj2.js → curation-policy-pkb2eeb1.js} +6 -6
  6. package/dist/cli/{curator-3wsaz7ay.js → curator-ctasdmmq.js} +29 -29
  7. package/dist/cli/curator-drift-49p3jnte.js +1 -1
  8. package/dist/cli/{curator-llm-factory-kbkddqk2.js → curator-llm-factory-y9xg7k6k.js} +29 -29
  9. package/dist/cli/{evidence-summary-service-wwfvpvxq.js → evidence-summary-service-7bmg5r8y.js} +13 -11
  10. package/dist/cli/{gate-evidence-3mazsjrq.js → gate-evidence-1v0cj4c6.js} +9 -5
  11. package/dist/cli/{guardrail-explain-rmz1yjzw.js → guardrail-explain-6x9psbwz.js} +30 -30
  12. package/dist/cli/{guardrail-log-8m4dnkgd.js → guardrail-log-pma4m8vr.js} +4 -4
  13. package/dist/cli/{hive-promoter-ss8dm52r.js → hive-promoter-g16grej1.js} +29 -29
  14. package/dist/cli/{index-kkxt9g8d.js → index-15h4dpsn.js} +3 -3
  15. package/dist/cli/{index-ae0j9qpc.js → index-1g473508.js} +31 -31
  16. package/dist/cli/{index-67vxmh1v.js → index-28jr28fg.js} +9 -9
  17. package/dist/cli/{index-vwyamc2d.js → index-2n8y67b4.js} +2 -2
  18. package/dist/cli/{index-ad93kz8m.js → index-336ra397.js} +1 -1
  19. package/dist/cli/{index-8g5aa1s7.js → index-6texwk9p.js} +2 -2
  20. package/dist/cli/{index-520ev2d7.js → index-7c4bxgdh.js} +1 -1
  21. package/dist/cli/{index-99eftm6b.js → index-82m5kwtd.js} +1 -1
  22. package/dist/cli/{index-mbeqw4cb.js → index-96h1v2jw.js} +1 -1
  23. package/dist/cli/{index-eytxcbm8.js → index-9v53ez3a.js} +6 -6
  24. package/dist/cli/{index-em1kfnss.js → index-erfnw81g.js} +3 -3
  25. package/dist/cli/index-fhxh447f.js +1372 -0
  26. package/dist/cli/{index-z7eeq0tt.js → index-fprxtq3q.js} +137 -36
  27. package/dist/cli/{index-e4y7mfp0.js → index-g0pbvfhw.js} +1 -1
  28. package/dist/cli/{index-hncahn40.js → index-htmsm37t.js} +5 -5
  29. package/dist/cli/{index-bd2h7r2w.js → index-k31en0ja.js} +3 -3
  30. package/dist/cli/{index-0dvx8f03.js → index-k92cagmt.js} +2 -2
  31. package/dist/cli/{index-26ynh10w.js → index-keskta0w.js} +9 -9
  32. package/dist/cli/{index-tzbd5050.js → index-kxpz3ncd.js} +4 -4
  33. package/dist/cli/{index-56knmbwf.js → index-m4v9kab1.js} +2615 -2048
  34. package/dist/cli/{index-2p3h7det.js → index-n96ay8w4.js} +1 -1
  35. package/dist/cli/{index-v8f3wa0e.js → index-q8st0mtw.js} +1 -1
  36. package/dist/cli/{index-sh3r66tt.js → index-r0tn9kpa.js} +1 -1
  37. package/dist/cli/{index-338zfvff.js → index-s2rcz51a.js} +1 -1
  38. package/dist/cli/{index-hgydkvty.js → index-s89y08tk.js} +2 -2
  39. package/dist/cli/{index-amepv9dh.js → index-sb16w4wj.js} +212 -10
  40. package/dist/cli/{index-ycd63sz3.js → index-tq5s07ta.js} +1 -1
  41. package/dist/cli/{index-gcn7tsr3.js → index-w7x7qxz2.js} +1 -1
  42. package/dist/cli/{index-7c5xtcfm.js → index-x6qq39e9.js} +3 -3
  43. package/dist/cli/{index-78p6nvcv.js → index-y9h2vqf6.js} +1 -1
  44. package/dist/cli/index.js +29 -29
  45. package/dist/cli/{knowledge-escalator-w235g6ce.js → knowledge-escalator-1b2hmcgn.js} +12 -12
  46. package/dist/cli/{knowledge-events-amn94djz.js → knowledge-events-vx4fqjzb.js} +10 -10
  47. package/dist/cli/{knowledge-link-xned4jbm.js → knowledge-link-fn5j3r4q.js} +5 -5
  48. package/dist/cli/{knowledge-store-3vb855ta.js → knowledge-store-t2qyr4yr.js} +6 -6
  49. package/dist/cli/{knowledge-validator-a8c185hw.js → knowledge-validator-c7871bjc.js} +8 -8
  50. package/dist/cli/{pending-delegations-8ccjby4b.js → pending-delegations-0hb97ps1.js} +4 -4
  51. package/dist/cli/{pr-subscriptions-gn7r3bg7.js → pr-subscriptions-b63t252j.js} +4 -4
  52. package/dist/cli/{runner-rhgkhy5e.js → runner-hrg7h2h4.js} +6 -6
  53. package/dist/cli/{scan-cursor-vjbjm140.js → scan-cursor-pnbpfjjc.js} +7 -7
  54. package/dist/cli/{schema-dd8mzm6k.js → schema-47xpcghn.js} +1 -1
  55. package/dist/cli/{scope-persistence-8j8d4874.js → scope-persistence-wxx1jpfw.js} +6 -6
  56. package/dist/cli/{skill-generator-a4apb7c2.js → skill-generator-s456hfta.js} +14 -14
  57. package/dist/cli/{telemetry-k9nxy24s.js → telemetry-xyfb5vm8.js} +1 -1
  58. package/dist/cli/{worktree-collision-ownership-183jk2dv.js → worktree-collision-ownership-ymdxetnn.js} +4 -4
  59. package/dist/cli/{worktree-isolation-j71zz7g9.js → worktree-isolation-d0xgp705.js} +29 -29
  60. package/dist/commands/close.d.ts +20 -2
  61. package/dist/gate-evidence.d.ts +24 -1
  62. package/dist/hooks/delegation-gate.d.ts +65 -0
  63. package/dist/index.js +462 -458
  64. package/dist/plan/ledger.d.ts +31 -1
  65. package/dist/plan/manager.d.ts +1 -0
  66. package/dist/state.d.ts +1 -1
  67. package/dist/workflow/close-terminal.d.ts +22 -0
  68. package/dist/workflow/coder-settlement.d.ts +0 -23
  69. package/dist/workflow/task-repair.d.ts +1 -0
  70. package/dist/workflow/task-terminal.d.ts +18 -23
  71. package/dist/workflow/workflow-wal-file.d.ts +20 -0
  72. package/dist/workflow/workflow-wal-schema.d.ts +67 -0
  73. package/dist/worktree/merge.d.ts +17 -0
  74. package/package.json +1 -1
  75. package/dist/cli/index-h2vpk15y.js +0 -623
@@ -15,7 +15,7 @@ import {
15
15
  import {
16
16
  init_schema,
17
17
  stripKnownSwarmPrefix
18
- } from "./index-v8f3wa0e.js";
18
+ } from "./index-q8st0mtw.js";
19
19
  import {
20
20
  init_constants
21
21
  } from "./index-jqsfsqbx.js";
@@ -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.142.0",
24
+ version: "7.143.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",
@@ -9,7 +9,7 @@ import {
9
9
  PluginConfigSchema,
10
10
  init_schema,
11
11
  stripKnownSwarmPrefix
12
- } from "./index-v8f3wa0e.js";
12
+ } from "./index-q8st0mtw.js";
13
13
  import {
14
14
  ALL_AGENT_NAMES,
15
15
  init_constants
@@ -558,7 +558,7 @@ var CATALOG_SOURCE = [
558
558
  category: "plan",
559
559
  severity: "error",
560
560
  privacyClass: "sensitive",
561
- producer: "src/plan/ledger.ts:762",
561
+ producer: "src/plan/ledger.ts:1143",
562
562
  consumers: NO_CONSUMERS,
563
563
  futureOwnerIssue: ISSUE_SINK,
564
564
  retentionOwnerIssue: ISSUE_PLAN_EVIDENCE_RETENTION,
@@ -12,14 +12,14 @@ import {
12
12
  detectPosixWrites,
13
13
  detectWindowsWrites,
14
14
  resolveWriteTargets
15
- } from "./index-56knmbwf.js";
15
+ } from "./index-m4v9kab1.js";
16
16
  import {
17
17
  checkFileAuthority,
18
18
  classifyFile,
19
19
  isInDeclaredScope,
20
20
  redactPath,
21
21
  redactShellCommand
22
- } from "./index-2p3h7det.js";
22
+ } from "./index-n96ay8w4.js";
23
23
 
24
24
  // src/services/guardrail-explain-service.ts
25
25
  import path from "path";
@@ -2,21 +2,21 @@
2
2
  import {
3
3
  assertProjectRoot,
4
4
  withEvidenceLock
5
- } from "./index-bd2h7r2w.js";
5
+ } from "./index-k31en0ja.js";
6
+ import {
7
+ emit
8
+ } from "./index-s2rcz51a.js";
6
9
  import {
7
10
  ExecutionProfileSchema,
8
11
  PlanSchema,
9
12
  TaskStatusSchema,
10
13
  init_loader
11
- } from "./index-ad93kz8m.js";
14
+ } from "./index-336ra397.js";
12
15
  import {
13
16
  criticalWarn,
14
17
  init_logger,
15
18
  log
16
19
  } from "./index-zgwm4ryv.js";
17
- import {
18
- emit
19
- } from "./index-338zfvff.js";
20
20
 
21
21
  // src/plan/utils.ts
22
22
  import { createHash } from "crypto";
@@ -47,6 +47,28 @@ function normalizeExecutionProfileForHash(profile) {
47
47
 
48
48
  // src/plan/ledger.ts
49
49
  var LEDGER_SCHEMA_VERSION = "1.1.0";
50
+ function resolvePlanEpochIdentity(events, authoritativePlan) {
51
+ const planId = derivePlanId(authoritativePlan);
52
+ const planIdentityHash = derivePlanIdentityHash(authoritativePlan);
53
+ const payloadHash = computePlanHash(authoritativePlan);
54
+ const candidates = extractPlanEpochCandidates(events, planId);
55
+ const distinctCandidateKeys = new Set(candidates.map((candidate) => `${candidate.planEpoch}:${candidate.rootEventHash}`));
56
+ if (distinctCandidateKeys.size > 1) {
57
+ throw new Error(`Conflicting plan epoch metadata detected for ${planId}; refusing to continue.`);
58
+ }
59
+ if (candidates.length === 0) {
60
+ return null;
61
+ }
62
+ const existing = candidates[0];
63
+ return {
64
+ planId,
65
+ planIdentityHash,
66
+ planEpoch: existing.planEpoch,
67
+ rootEventHash: existing.rootEventHash,
68
+ payloadHash,
69
+ source: existing.source
70
+ };
71
+ }
50
72
  var LEDGER_FILENAME = "plan-ledger.jsonl";
51
73
  var LEDGER_LOCK_PATH = path.join(".swarm", LEDGER_FILENAME);
52
74
  var PLAN_JSON_FILENAME = "plan.json";
@@ -63,6 +85,90 @@ function getLedgerPath(directory) {
63
85
  function getPlanJsonPath(directory) {
64
86
  return path.join(directory, ".swarm", PLAN_JSON_FILENAME);
65
87
  }
88
+ function asRecord(value) {
89
+ if (value && typeof value === "object" && !Array.isArray(value)) {
90
+ return value;
91
+ }
92
+ return null;
93
+ }
94
+ function isSha256Hex(value) {
95
+ return /^[a-f0-9]{64}$/i.test(value);
96
+ }
97
+ function isUuid(value) {
98
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value);
99
+ }
100
+ function serializeLedgerEvent(event) {
101
+ return JSON.stringify(event);
102
+ }
103
+ function computeLedgerEventHash(event) {
104
+ return crypto.createHash("sha256").update(serializeLedgerEvent(event), "utf8").digest("hex");
105
+ }
106
+ function extractPlanEpochCandidates(events, expectedPlanId) {
107
+ if (events.length === 0) {
108
+ throw new Error("Plan ledger is empty; missing plan_created root.");
109
+ }
110
+ const rootEvent = events[0];
111
+ if (rootEvent.event_type !== "plan_created") {
112
+ throw new Error(`Plan ledger root must be plan_created; found ${rootEvent.event_type} at seq ${rootEvent.seq}.`);
113
+ }
114
+ if (rootEvent.plan_id !== expectedPlanId) {
115
+ throw new Error(`Plan ledger identity mismatch: expected ${expectedPlanId} but found ${rootEvent.plan_id}.`);
116
+ }
117
+ const rootEventHash = computeLedgerEventHash(rootEvent);
118
+ const candidates = [];
119
+ const rootPayload = asRecord(rootEvent.payload);
120
+ const rootPlanEpoch = rootPayload?.plan_epoch;
121
+ if (typeof rootPlanEpoch === "string" && rootPlanEpoch.length > 0) {
122
+ if (!isUuid(rootPlanEpoch)) {
123
+ throw new Error("Plan ledger root carries an invalid plan_epoch.");
124
+ }
125
+ candidates.push({
126
+ planEpoch: rootPlanEpoch,
127
+ rootEventHash,
128
+ source: "root"
129
+ });
130
+ }
131
+ for (const event of events) {
132
+ if (event.event_type !== "snapshot" || event.source !== "plan_epoch_adopted") {
133
+ continue;
134
+ }
135
+ if (event.plan_id !== expectedPlanId) {
136
+ throw new Error(`Plan epoch adoption snapshot at seq ${event.seq} belongs to ${event.plan_id}, expected ${expectedPlanId}.`);
137
+ }
138
+ const payload = asRecord(event.payload);
139
+ const planEpoch = payload?.plan_epoch;
140
+ const rootHash = payload?.root_event_hash;
141
+ const embeddedPlan = PlanSchema.safeParse(payload?.plan);
142
+ if (!embeddedPlan.success) {
143
+ throw new Error(`Plan epoch adoption snapshot at seq ${event.seq} carries an invalid embedded plan.`);
144
+ }
145
+ const payloadHash = payload?.payload_hash;
146
+ if (typeof planEpoch !== "string" || !isUuid(planEpoch)) {
147
+ throw new Error(`Plan epoch adoption snapshot at seq ${event.seq} has an invalid plan_epoch.`);
148
+ }
149
+ if (typeof rootHash !== "string" || !isSha256Hex(rootHash)) {
150
+ throw new Error(`Plan epoch adoption snapshot at seq ${event.seq} has an invalid root_event_hash.`);
151
+ }
152
+ if (rootHash !== rootEventHash) {
153
+ throw new Error(`Plan epoch adoption snapshot at seq ${event.seq} does not match the canonical ledger root.`);
154
+ }
155
+ if (typeof payloadHash !== "string") {
156
+ throw new Error(`Plan epoch adoption snapshot at seq ${event.seq} is missing payload_hash.`);
157
+ }
158
+ if (derivePlanId(embeddedPlan.data) !== expectedPlanId) {
159
+ throw new Error(`Plan epoch adoption snapshot at seq ${event.seq} embeds a different plan identity.`);
160
+ }
161
+ if (computePlanHash(embeddedPlan.data) !== payloadHash) {
162
+ throw new Error(`Plan epoch adoption snapshot at seq ${event.seq} has a mismatched payload_hash.`);
163
+ }
164
+ candidates.push({
165
+ planEpoch,
166
+ rootEventHash: rootHash,
167
+ source: "plan_epoch_adopted"
168
+ });
169
+ }
170
+ return candidates;
171
+ }
66
172
  function writeFileFsyncedThenRename(tempPath, targetPath, data) {
67
173
  const fd = fs.openSync(tempPath, "w");
68
174
  try {
@@ -258,7 +364,10 @@ async function initLedger(directory, planId, initialPlanHash, initialPlan) {
258
364
  }
259
365
  } catch {}
260
366
  }
261
- const payload = embeddedPlan ? { plan: embeddedPlan, payload_hash: planHashAfter } : undefined;
367
+ const payload = {
368
+ plan_epoch: crypto.randomUUID(),
369
+ ...embeddedPlan ? { plan: embeddedPlan, payload_hash: planHashAfter } : {}
370
+ };
262
371
  const event = {
263
372
  seq: 1,
264
373
  timestamp: new Date().toISOString(),
@@ -276,6 +385,95 @@ async function initLedger(directory, planId, initialPlanHash, initialPlan) {
276
385
  `;
277
386
  writeFileFsyncedThenRename(tempPath, ledgerPath, line);
278
387
  }
388
+ async function readLedgerEventsForEpoch(directory) {
389
+ const integrity = await _internals.readLedgerEventsWithIntegrity(directory, {
390
+ failClosedOnReadError: true
391
+ });
392
+ if (integrity.truncated) {
393
+ throw new Error(`PLAN_LEDGER_TRUNCATED: ${getLedgerPath(directory)} has a malformed line; plan epoch identity cannot be resolved. Preserve this file and quarantine the corrupted suffix before retrying.`);
394
+ }
395
+ return integrity.events;
396
+ }
397
+ async function readPlanEpochIdentity(directory, authoritativePlan) {
398
+ assertProjectRoot(directory);
399
+ if (!await ledgerExists(directory)) {
400
+ return null;
401
+ }
402
+ const events = await readLedgerEventsForEpoch(directory);
403
+ if (events.length === 0) {
404
+ throw new Error("Plan ledger is empty; missing plan_created root.");
405
+ }
406
+ return resolvePlanEpochIdentity(events, authoritativePlan);
407
+ }
408
+ async function getOrAdoptPlanEpochUnderLock(directory, authoritativePlan) {
409
+ assertProjectRoot(directory);
410
+ const planId = derivePlanId(authoritativePlan);
411
+ const planIdentityHash = derivePlanIdentityHash(authoritativePlan);
412
+ const payloadHash = computePlanHash(authoritativePlan);
413
+ let lastStaleWriterError;
414
+ for (let attempt = 0;attempt < 4; attempt++) {
415
+ if (!await ledgerExists(directory)) {
416
+ try {
417
+ await initLedger(directory, planId, payloadHash, authoritativePlan);
418
+ } catch (error) {
419
+ if (!(error instanceof Error && error.message.includes("Ledger already initialized"))) {
420
+ throw error;
421
+ }
422
+ }
423
+ }
424
+ const events = await readLedgerEventsForEpoch(directory);
425
+ const existing = resolvePlanEpochIdentity(events, authoritativePlan);
426
+ if (existing) {
427
+ return existing;
428
+ }
429
+ if (events.length === 0) {
430
+ throw new Error("Plan ledger is empty; cannot adopt a plan epoch.");
431
+ }
432
+ const rootEvent = events[0];
433
+ const rootEventHash = computeLedgerEventHash(rootEvent);
434
+ const tail = events[events.length - 1];
435
+ const planEpoch = _internals.randomUUID();
436
+ const adoptionPayload = {
437
+ plan: authoritativePlan,
438
+ payload_hash: payloadHash,
439
+ plan_epoch: planEpoch,
440
+ root_event_hash: rootEventHash
441
+ };
442
+ try {
443
+ const appended = await _internals.appendLedgerEvent(directory, {
444
+ event_type: "snapshot",
445
+ source: "plan_epoch_adopted",
446
+ plan_id: planId,
447
+ payload: adoptionPayload
448
+ }, {
449
+ expectedSeq: tail.seq,
450
+ expectedLedgerHash: tail.plan_hash_after,
451
+ planHashAfter: payloadHash
452
+ });
453
+ const verifiedEvents = await readLedgerEventsForEpoch(directory);
454
+ const verified = verifiedEvents[verifiedEvents.length - 1];
455
+ const verifiedPayload = asRecord(verified?.payload);
456
+ if (!verified || verified.seq !== appended.seq || verified.event_type !== "snapshot" || verified.source !== "plan_epoch_adopted" || verified.plan_id !== planId || verifiedPayload?.plan_epoch !== planEpoch || verifiedPayload?.root_event_hash !== rootEventHash || verifiedPayload?.payload_hash !== payloadHash) {
457
+ throw new Error(`Plan epoch adoption read verification failed for ${planId}.`);
458
+ }
459
+ return {
460
+ planId,
461
+ planIdentityHash,
462
+ planEpoch,
463
+ rootEventHash,
464
+ payloadHash,
465
+ source: "plan_epoch_adopted"
466
+ };
467
+ } catch (error) {
468
+ if (error instanceof LedgerStaleWriterError) {
469
+ lastStaleWriterError = error;
470
+ continue;
471
+ }
472
+ throw error;
473
+ }
474
+ }
475
+ throw new Error(`Unable to settle plan epoch for ${planId} after repeated stale-writer retries.`, { cause: lastStaleWriterError });
476
+ }
279
477
  async function appendLedgerEvent(directory, eventInput, options) {
280
478
  assertProjectRoot(directory);
281
479
  return withEvidenceLock(directory, LEDGER_LOCK_PATH, "plan-ledger", "append-ledger-event", async () => {
@@ -627,7 +825,7 @@ function applyEventToPlan(plan, event) {
627
825
  throw new Error(`applyEventToPlan: unhandled event type "${event.event_type}" at seq ${event.seq}`);
628
826
  }
629
827
  }
630
- async function readLedgerEventsWithIntegrity(directory) {
828
+ async function readLedgerEventsWithIntegrity(directory, options) {
631
829
  const ledgerPath = getLedgerPath(directory);
632
830
  if (!fs.existsSync(ledgerPath)) {
633
831
  return { events: [], truncated: false, badSuffix: null };
@@ -656,7 +854,10 @@ async function readLedgerEventsWithIntegrity(directory) {
656
854
  }
657
855
  events.sort((a, b) => a.seq - b.seq);
658
856
  return { events, truncated, badSuffix };
659
- } catch {
857
+ } catch (error) {
858
+ if (options?.failClosedOnReadError) {
859
+ throw new Error(`PLAN_LEDGER_UNREADABLE: ${ledgerPath} exists but could not be read (${error instanceof Error ? error.message : String(error)}); plan state cannot be resolved. This is NOT an absent ledger \u2014 preserve the file and check permissions/filesystem health before retrying.`);
860
+ }
660
861
  return { events: [], truncated: false, badSuffix: null };
661
862
  }
662
863
  }
@@ -757,7 +958,8 @@ var _internals = {
757
958
  getLedgerPath,
758
959
  getPlanJsonPath,
759
960
  writeFileFsyncedThenRename,
760
- fsyncRecoveryDirectory
961
+ fsyncRecoveryDirectory,
962
+ randomUUID: () => crypto.randomUUID()
761
963
  };
762
964
 
763
- export { normalizeExecutionProfileForHash, derivePlanId, derivePlanIdentityHash, LedgerStaleWriterError, computePlanHash, computePlanStructureHash, computeCurrentPlanHash, ledgerExists, getLatestLedgerSeq, readLedgerEvents, initLedger, appendLedgerEvent, takeSnapshotWithRetry, takeSnapshotEvent, replaceTruncatedLedgerWithRecoveryRoot, replayFromLedger, replayFromLedgerWithStatus, readLedgerEventsWithIntegrity, loadLastApprovedPlan };
965
+ export { normalizeExecutionProfileForHash, derivePlanId, derivePlanIdentityHash, LedgerStaleWriterError, computePlanHash, computePlanStructureHash, computeCurrentPlanHash, ledgerExists, getLatestLedgerSeq, readLedgerEvents, initLedger, readPlanEpochIdentity, getOrAdoptPlanEpochUnderLock, appendLedgerEvent, takeSnapshotWithRetry, takeSnapshotEvent, replaceTruncatedLedgerWithRecoveryRoot, replayFromLedger, replayFromLedgerWithStatus, readLedgerEventsWithIntegrity, loadLastApprovedPlan };
@@ -7,7 +7,7 @@ import {
7
7
  readLinkPointer,
8
8
  resolveKnowledgeStoreDir,
9
9
  resolveLinkDir
10
- } from "./index-gcn7tsr3.js";
10
+ } from "./index-w7x7qxz2.js";
11
11
 
12
12
  // src/knowledge/curation-policy.ts
13
13
  import { appendFile, mkdir as mkdir2, readFile as readFile2 } from "fs/promises";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  atomicWriteFile
4
- } from "./index-em1kfnss.js";
4
+ } from "./index-erfnw81g.js";
5
5
  import {
6
6
  init_logger,
7
7
  warn
@@ -2,18 +2,18 @@
2
2
  import {
3
3
  effectiveRetrievalOutcomes,
4
4
  readAuthoritativeKnowledgeCounterRollups
5
- } from "./index-67vxmh1v.js";
5
+ } from "./index-28jr28fg.js";
6
6
  import {
7
7
  ALLOWED_SKILL_PATH_PREFIXES,
8
8
  validateSkillPath
9
- } from "./index-tzbd5050.js";
9
+ } from "./index-kxpz3ncd.js";
10
10
  import {
11
11
  computeOutcomeSignal,
12
12
  readKnowledge,
13
13
  resolveHiveKnowledgePath,
14
14
  resolveSwarmKnowledgePath,
15
15
  transactKnowledge
16
- } from "./index-26ynh10w.js";
16
+ } from "./index-keskta0w.js";
17
17
  import {
18
18
  advisoryWarn,
19
19
  init_warning_buffer
@@ -9,7 +9,7 @@ import {
9
9
  readEvaluationRun,
10
10
  saveEvaluationRun,
11
11
  saveTaskSetSnapshot
12
- } from "./index-0dvx8f03.js";
12
+ } from "./index-k92cagmt.js";
13
13
  import {
14
14
  canonicalHash,
15
15
  computeCandidateInputContentHash,
package/dist/cli/index.js CHANGED
@@ -7,65 +7,65 @@ import {
7
7
  getPluginConfigDir,
8
8
  getPluginLockFilePaths,
9
9
  resolveCommand
10
- } from "./index-56knmbwf.js";
10
+ } from "./index-m4v9kab1.js";
11
11
  import"./index-4905hd2m.js";
12
12
  import"./index-ebwznsfy.js";
13
- import"./index-78p6nvcv.js";
14
- import"./index-2p3h7det.js";
13
+ import"./index-y9h2vqf6.js";
14
+ import"./index-n96ay8w4.js";
15
15
  import"./index-c8s9a3zh.js";
16
- import"./index-sh3r66tt.js";
17
- import"./index-z7eeq0tt.js";
16
+ import"./index-r0tn9kpa.js";
17
+ import"./index-fprxtq3q.js";
18
18
  import"./index-134d35c1.js";
19
- import"./index-0dvx8f03.js";
19
+ import"./index-k92cagmt.js";
20
20
  import"./index-y8552snf.js";
21
21
  import"./index-9ss2m4rs.js";
22
22
  import"./index-74hpm6sh.js";
23
- import"./index-7c5xtcfm.js";
24
- import"./index-hncahn40.js";
25
- import"./index-8g5aa1s7.js";
23
+ import"./index-x6qq39e9.js";
24
+ import"./index-htmsm37t.js";
25
+ import"./index-6texwk9p.js";
26
26
  import"./index-xmzmeknp.js";
27
- import"./index-99eftm6b.js";
28
- import"./index-eytxcbm8.js";
29
- import"./index-556ja8an.js";
30
- import"./index-amepv9dh.js";
27
+ import"./index-82m5kwtd.js";
31
28
  import"./index-zsrtt42s.js";
32
- import"./index-e4y7mfp0.js";
33
29
  import"./index-qwm6vdyv.js";
34
- import"./index-h2vpk15y.js";
35
- import"./index-520ev2d7.js";
30
+ import"./index-fhxh447f.js";
31
+ import"./index-g0pbvfhw.js";
32
+ import"./index-7c4bxgdh.js";
36
33
  import"./index-8fwhhayc.js";
37
34
  import"./index-q1exe2b3.js";
38
- import"./index-67vxmh1v.js";
35
+ import"./index-28jr28fg.js";
39
36
  import"./index-k46me75h.js";
40
37
  import"./index-ee3x66a5.js";
41
- import"./index-tzbd5050.js";
42
- import"./index-ycd63sz3.js";
38
+ import"./index-kxpz3ncd.js";
39
+ import"./index-tq5s07ta.js";
43
40
  import"./index-rtry5xyf.js";
44
- import"./index-26ynh10w.js";
41
+ import"./index-keskta0w.js";
45
42
  import"./index-ae75rja9.js";
46
- import"./index-gcn7tsr3.js";
47
- import"./index-em1kfnss.js";
48
- import"./index-bd2h7r2w.js";
49
- import"./index-7g4c7s5r.js";
43
+ import"./index-w7x7qxz2.js";
44
+ import"./index-erfnw81g.js";
50
45
  import"./index-ed5ykebp.js";
51
- import"./index-4nt52yr9.js";
52
- import"./index-vwyamc2d.js";
46
+ import"./index-2n8y67b4.js";
53
47
  import"./index-gprxjmm7.js";
54
48
  import"./index-n832052r.js";
55
- import"./index-ad93kz8m.js";
49
+ import"./index-9v53ez3a.js";
50
+ import"./index-sb16w4wj.js";
51
+ import"./index-556ja8an.js";
52
+ import"./index-k31en0ja.js";
53
+ import"./index-7g4c7s5r.js";
54
+ import"./index-s2rcz51a.js";
55
+ import"./index-4nt52yr9.js";
56
+ import"./index-336ra397.js";
56
57
  import"./index-4rhhvd1a.js";
57
58
  import"./index-zgwm4ryv.js";
58
59
  import {
59
60
  init_package,
60
61
  package_default
61
- } from "./index-v8f3wa0e.js";
62
+ } from "./index-q8st0mtw.js";
62
63
  import {
63
64
  DEFAULT_AGENT_CONFIGS,
64
65
  init_constants
65
66
  } from "./index-jqsfsqbx.js";
66
67
  import"./index-zjygnfay.js";
67
68
  import"./index-bk5tah7q.js";
68
- import"./index-338zfvff.js";
69
69
  import"./index-bpmtbmy9.js";
70
70
  import"./index-a76rekgs.js";
71
71
 
@@ -9,29 +9,29 @@ import {
9
9
  maybeEscalateOnViolation,
10
10
  maybeQuarantineOnContradiction,
11
11
  readRecentEscalations
12
- } from "./index-hncahn40.js";
13
- import"./index-67vxmh1v.js";
12
+ } from "./index-htmsm37t.js";
13
+ import"./index-28jr28fg.js";
14
14
  import"./index-k46me75h.js";
15
15
  import"./index-ee3x66a5.js";
16
- import"./index-26ynh10w.js";
16
+ import"./index-keskta0w.js";
17
17
  import"./index-ae75rja9.js";
18
- import"./index-gcn7tsr3.js";
19
- import"./index-em1kfnss.js";
20
- import"./index-bd2h7r2w.js";
21
- import"./index-7g4c7s5r.js";
18
+ import"./index-w7x7qxz2.js";
19
+ import"./index-erfnw81g.js";
22
20
  import"./index-ed5ykebp.js";
23
- import"./index-4nt52yr9.js";
24
- import"./index-vwyamc2d.js";
21
+ import"./index-2n8y67b4.js";
25
22
  import"./index-gprxjmm7.js";
26
23
  import"./index-n832052r.js";
27
- import"./index-ad93kz8m.js";
24
+ import"./index-k31en0ja.js";
25
+ import"./index-7g4c7s5r.js";
26
+ import"./index-s2rcz51a.js";
27
+ import"./index-4nt52yr9.js";
28
+ import"./index-336ra397.js";
28
29
  import"./index-4rhhvd1a.js";
29
30
  import"./index-zgwm4ryv.js";
30
- import"./index-v8f3wa0e.js";
31
+ import"./index-q8st0mtw.js";
31
32
  import"./index-jqsfsqbx.js";
32
33
  import"./index-zjygnfay.js";
33
34
  import"./index-bk5tah7q.js";
34
- import"./index-338zfvff.js";
35
35
  import"./index-bpmtbmy9.js";
36
36
  import"./index-a76rekgs.js";
37
37
  export {
@@ -29,27 +29,27 @@ import {
29
29
  resolveKnowledgeCounterBaselinePath,
30
30
  resolveKnowledgeEventsPath,
31
31
  resolveLegacyApplicationLogPath
32
- } from "./index-67vxmh1v.js";
32
+ } from "./index-28jr28fg.js";
33
33
  import"./index-k46me75h.js";
34
34
  import"./index-ee3x66a5.js";
35
35
  import"./index-ae75rja9.js";
36
- import"./index-gcn7tsr3.js";
37
- import"./index-em1kfnss.js";
38
- import"./index-bd2h7r2w.js";
39
- import"./index-7g4c7s5r.js";
36
+ import"./index-w7x7qxz2.js";
37
+ import"./index-erfnw81g.js";
40
38
  import"./index-ed5ykebp.js";
41
- import"./index-4nt52yr9.js";
42
- import"./index-vwyamc2d.js";
39
+ import"./index-2n8y67b4.js";
43
40
  import"./index-gprxjmm7.js";
44
41
  import"./index-n832052r.js";
45
- import"./index-ad93kz8m.js";
42
+ import"./index-k31en0ja.js";
43
+ import"./index-7g4c7s5r.js";
44
+ import"./index-s2rcz51a.js";
45
+ import"./index-4nt52yr9.js";
46
+ import"./index-336ra397.js";
46
47
  import"./index-4rhhvd1a.js";
47
48
  import"./index-zgwm4ryv.js";
48
- import"./index-v8f3wa0e.js";
49
+ import"./index-q8st0mtw.js";
49
50
  import"./index-jqsfsqbx.js";
50
51
  import"./index-zjygnfay.js";
51
52
  import"./index-bk5tah7q.js";
52
- import"./index-338zfvff.js";
53
53
  import"./index-bpmtbmy9.js";
54
54
  import"./index-a76rekgs.js";
55
55
  export {
@@ -12,14 +12,14 @@ import {
12
12
  resolveLinkDir,
13
13
  sanitizeLinkId,
14
14
  writeLinkPointer
15
- } from "./index-gcn7tsr3.js";
16
- import"./index-em1kfnss.js";
17
- import"./index-bd2h7r2w.js";
18
- import"./index-7g4c7s5r.js";
15
+ } from "./index-w7x7qxz2.js";
16
+ import"./index-erfnw81g.js";
19
17
  import"./index-ed5ykebp.js";
18
+ import"./index-k31en0ja.js";
19
+ import"./index-7g4c7s5r.js";
20
+ import"./index-s2rcz51a.js";
20
21
  import"./index-4nt52yr9.js";
21
22
  import"./index-zgwm4ryv.js";
22
- import"./index-338zfvff.js";
23
23
  import"./index-bpmtbmy9.js";
24
24
  import"./index-a76rekgs.js";
25
25
  export {
@@ -41,19 +41,19 @@ import {
41
41
  transactKnowledge,
42
42
  transactKnowledgeWithCas,
43
43
  wordBigrams
44
- } from "./index-26ynh10w.js";
44
+ } from "./index-keskta0w.js";
45
45
  import {
46
46
  resolveHiveDataDir
47
47
  } from "./index-ae75rja9.js";
48
- import"./index-gcn7tsr3.js";
49
- import"./index-em1kfnss.js";
50
- import"./index-bd2h7r2w.js";
51
- import"./index-7g4c7s5r.js";
48
+ import"./index-w7x7qxz2.js";
49
+ import"./index-erfnw81g.js";
52
50
  import"./index-ed5ykebp.js";
51
+ import"./index-k31en0ja.js";
52
+ import"./index-7g4c7s5r.js";
53
+ import"./index-s2rcz51a.js";
53
54
  import"./index-4nt52yr9.js";
54
55
  import"./index-zgwm4ryv.js";
55
56
  import"./index-bk5tah7q.js";
56
- import"./index-338zfvff.js";
57
57
  import"./index-bpmtbmy9.js";
58
58
  import"./index-a76rekgs.js";
59
59
  export {
@@ -23,20 +23,20 @@ import {
23
23
  validateLesson,
24
24
  validateSkillCandidatePath,
25
25
  validateSkillPath
26
- } from "./index-tzbd5050.js";
27
- import"./index-ycd63sz3.js";
26
+ } from "./index-kxpz3ncd.js";
27
+ import"./index-tq5s07ta.js";
28
28
  import"./index-rtry5xyf.js";
29
- import"./index-26ynh10w.js";
29
+ import"./index-keskta0w.js";
30
30
  import"./index-ae75rja9.js";
31
- import"./index-gcn7tsr3.js";
32
- import"./index-em1kfnss.js";
33
- import"./index-bd2h7r2w.js";
34
- import"./index-7g4c7s5r.js";
31
+ import"./index-w7x7qxz2.js";
32
+ import"./index-erfnw81g.js";
35
33
  import"./index-ed5ykebp.js";
34
+ import"./index-k31en0ja.js";
35
+ import"./index-7g4c7s5r.js";
36
+ import"./index-s2rcz51a.js";
36
37
  import"./index-4nt52yr9.js";
37
38
  import"./index-zgwm4ryv.js";
38
39
  import"./index-bk5tah7q.js";
39
- import"./index-338zfvff.js";
40
40
  import"./index-bpmtbmy9.js";
41
41
  import"./index-a76rekgs.js";
42
42
  export {
@@ -41,16 +41,16 @@ import {
41
41
  sweepStaleDelegations,
42
42
  updateCoderSettlement,
43
43
  writeDelegationFallback
44
- } from "./index-520ev2d7.js";
44
+ } from "./index-7c4bxgdh.js";
45
45
  import"./index-k46me75h.js";
46
46
  import"./index-ee3x66a5.js";
47
- import"./index-bd2h7r2w.js";
48
- import"./index-7g4c7s5r.js";
49
47
  import"./index-ed5ykebp.js";
48
+ import"./index-k31en0ja.js";
49
+ import"./index-7g4c7s5r.js";
50
+ import"./index-s2rcz51a.js";
50
51
  import"./index-4nt52yr9.js";
51
52
  import"./index-zgwm4ryv.js";
52
53
  import"./index-zjygnfay.js";
53
- import"./index-338zfvff.js";
54
54
  import"./index-bpmtbmy9.js";
55
55
  import"./index-a76rekgs.js";
56
56
  export {