@allocator-one/rcl 4.5.8 → 4.5.12

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 (82) hide show
  1. package/README.md +5 -4
  2. package/dist/consensus/semantic-deduper.d.ts +2 -1
  3. package/dist/consensus/semantic-deduper.js +21 -10
  4. package/dist/consensus/semantic-deduper.js.map +1 -1
  5. package/dist/converge/attempt-budget.d.ts +11 -0
  6. package/dist/converge/attempt-budget.js +119 -61
  7. package/dist/converge/attempt-budget.js.map +1 -1
  8. package/dist/converge/cycle-remote.d.ts +6 -1
  9. package/dist/converge/cycle-remote.js +13 -3
  10. package/dist/converge/cycle-remote.js.map +1 -1
  11. package/dist/converge/delivery-reconciliation.d.ts +2 -1
  12. package/dist/converge/delivery-reconciliation.js +105 -11
  13. package/dist/converge/delivery-reconciliation.js.map +1 -1
  14. package/dist/converge/launch-guard.d.ts +3 -0
  15. package/dist/converge/launch-guard.js +53 -17
  16. package/dist/converge/launch-guard.js.map +1 -1
  17. package/dist/converge/ordinary-pending-export.d.ts +5 -0
  18. package/dist/converge/ordinary-pending-export.js +9 -1
  19. package/dist/converge/ordinary-pending-export.js.map +1 -1
  20. package/dist/converge/recovered-production.d.ts +14 -0
  21. package/dist/converge/recovered-production.js +61 -0
  22. package/dist/converge/recovered-production.js.map +1 -0
  23. package/dist/converge/recovery-launch.js +82 -35
  24. package/dist/converge/recovery-launch.js.map +1 -1
  25. package/dist/converge/run-state.d.ts +2 -0
  26. package/dist/converge/run-state.js +26 -12
  27. package/dist/converge/run-state.js.map +1 -1
  28. package/dist/converge/semantic-state.js +18 -4
  29. package/dist/converge/semantic-state.js.map +1 -1
  30. package/dist/coordination/registry-lock.d.ts +2 -0
  31. package/dist/coordination/registry-lock.js +42 -13
  32. package/dist/coordination/registry-lock.js.map +1 -1
  33. package/dist/evidence/claim-recovery/delivery.d.ts +25 -0
  34. package/dist/evidence/claim-recovery/delivery.js +100 -0
  35. package/dist/evidence/claim-recovery/delivery.js.map +1 -0
  36. package/dist/evidence/claim-recovery/public-adoption.d.ts +31 -0
  37. package/dist/evidence/claim-recovery/public-adoption.js +177 -0
  38. package/dist/evidence/claim-recovery/public-adoption.js.map +1 -0
  39. package/dist/evidence/claim-recovery/public-manifest.d.ts +114 -0
  40. package/dist/evidence/claim-recovery/public-manifest.js +11 -0
  41. package/dist/evidence/claim-recovery/public-manifest.js.map +1 -0
  42. package/dist/evidence/claim-recovery/public-model.d.ts +85 -0
  43. package/dist/evidence/claim-recovery/public-model.js +177 -0
  44. package/dist/evidence/claim-recovery/public-model.js.map +1 -0
  45. package/dist/evidence/original-run/journal.d.ts +10 -0
  46. package/dist/evidence/original-run/journal.js +55 -3
  47. package/dist/evidence/original-run/journal.js.map +1 -1
  48. package/dist/evidence/original-run/lock.js +22 -9
  49. package/dist/evidence/original-run/lock.js.map +1 -1
  50. package/dist/evidence/recover-claim.d.ts +21 -0
  51. package/dist/evidence/recover-claim.js +504 -0
  52. package/dist/evidence/recover-claim.js.map +1 -0
  53. package/dist/index.js +239 -137
  54. package/dist/index.js.map +1 -1
  55. package/dist/report/assembly.d.ts +2 -0
  56. package/dist/report/assembly.js +1 -0
  57. package/dist/report/assembly.js.map +1 -1
  58. package/dist/report/consensus-assembly.d.ts +2 -0
  59. package/dist/report/consensus-assembly.js +6 -3
  60. package/dist/report/consensus-assembly.js.map +1 -1
  61. package/dist/report/reviewer-artifact.js +3 -1
  62. package/dist/report/reviewer-artifact.js.map +1 -1
  63. package/dist/report/run-header.js +2 -0
  64. package/dist/report/run-header.js.map +1 -1
  65. package/dist/telemetry/deliver.d.ts +8 -0
  66. package/dist/telemetry/deliver.js +55 -8
  67. package/dist/telemetry/deliver.js.map +1 -1
  68. package/dist/telemetry/events.js +2 -0
  69. package/dist/telemetry/events.js.map +1 -1
  70. package/dist/telemetry/outbox.d.ts +20 -0
  71. package/dist/telemetry/outbox.js +324 -103
  72. package/dist/telemetry/outbox.js.map +1 -1
  73. package/dist/telemetry/reviewer-delivery.d.ts +95 -3
  74. package/dist/telemetry/reviewer-delivery.js +600 -12
  75. package/dist/telemetry/reviewer-delivery.js.map +1 -1
  76. package/dist/telemetry/sink.d.ts +14 -0
  77. package/dist/telemetry/sink.js +44 -2
  78. package/dist/telemetry/sink.js.map +1 -1
  79. package/dist/telemetry/terminal-reviewer-delivery.d.ts +154 -5
  80. package/dist/telemetry/terminal-reviewer-delivery.js +196 -21
  81. package/dist/telemetry/terminal-reviewer-delivery.js.map +1 -1
  82. package/package.json +1 -1
@@ -264,18 +264,45 @@ export async function withRegistryLock(root, identity, work, policy, hooks = {})
264
264
  if (!LOCK_UUID.test(token))
265
265
  throw new Error('invalid_recovery_lock_token');
266
266
  return withLegacyReservation(root, identity, { pid: process.pid, token, scope }, async () => {
267
- // Keep this directory permanently: removing it on release could split two
268
- // contenders across different inodes of the same registry pathname.
267
+ // The outer legacy reservation serializes pathname creation and removal.
268
+ // Direct bakery-only tests bypass this lifecycle and keep their registry.
269
269
  const registry = join(root, `${key}.bakery`);
270
+ const removeEmptyRegistry = async () => {
271
+ try {
272
+ await rmdir(registry);
273
+ }
274
+ catch (error) {
275
+ // Another registration or conservative unknown entry keeps the registry.
276
+ // A queued production contender is still behind our outer reservation and
277
+ // recreates the directory only after this release completes.
278
+ if (['ENOENT', 'ENOTEMPTY'].includes(code(error) ?? ''))
279
+ return;
280
+ throw error;
281
+ }
282
+ // Directory removal committed. A durability error must remain visible so
283
+ // completed work is not replayed even though registry cleanup is uncertain.
284
+ await sync(root);
285
+ };
270
286
  try {
271
- await mkdir(registry, { mode: 0o700 });
287
+ try {
288
+ await mkdir(registry, { mode: 0o700 });
289
+ }
290
+ catch (error) {
291
+ if (code(error) !== 'EEXIST')
292
+ throw error;
293
+ }
294
+ await sync(root);
295
+ await policy.inspectRegistry(registry);
272
296
  }
273
297
  catch (error) {
274
- if (code(error) !== 'EEXIST')
275
- throw error;
298
+ try {
299
+ await removeEmptyRegistry();
300
+ }
301
+ catch (cleanup) {
302
+ throw new AggregateError([error, cleanup], 'registry_lock_initialization_cleanup_failed', { cause: error });
303
+ }
304
+ throw error;
276
305
  }
277
- await sync(root);
278
- await policy.inspectRegistry(registry);
279
306
  const path = join(registry, `${token}.json`);
280
307
  let owner = { version: 1, pid: process.pid, token, scope, state: 'choosing' };
281
308
  const lockTimeoutMs = policy.lockTimeoutMs ?? 5_000;
@@ -401,12 +428,13 @@ export async function withRegistryLock(root, identity, work, policy, hooks = {})
401
428
  }
402
429
  };
403
430
  const release = async () => {
404
- if (!published)
405
- return;
406
- await verifyOwned();
407
- await unlink(path);
408
- published = false;
409
- await sync(registry);
431
+ if (published) {
432
+ await verifyOwned();
433
+ await unlink(path);
434
+ published = false;
435
+ await sync(registry);
436
+ }
437
+ await removeEmptyRegistry();
410
438
  };
411
439
  let failed = false;
412
440
  let failure;
@@ -491,6 +519,7 @@ export async function withRegistryLock(root, identity, work, policy, hooks = {})
491
519
  }
492
520
  }, { sync, read: hooks.read ?? policy.read, probe: hooks.probe, now: hooks.now, wait: hooks.wait,
493
521
  lockTimeoutMs: policy.lockTimeoutMs, lockRetryMs: policy.lockRetryMs, onPrepared: hooks.onLegacyPrepared,
522
+ reclaimLegacy: policy.reclaimLegacy,
494
523
  qualifiedLegacy: owner => policy.validScope(owner.scope) &&
495
524
  isDeepStrictEqual(owner.scope, scope),
496
525
  mayProbeLegacy: owner => policy.validScope(owner.scope) && policy.mayProbePid(owner.scope) });
@@ -1 +1 @@
1
- {"version":3,"file":"registry-lock.js","sourceRoot":"","sources":["../../src/coordination/registry-lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-lock.js","sourceRoot":"","sources":["../../src/coordination/registry-lock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { HarnessSink } from '../../telemetry/sink.js';
2
+ import { type NativeTargetOwnership } from '../../converge/target-ownership.js';
3
+ import { type StoredEventReceipt, type EventReceiptScope } from '../event-receipts.js';
4
+ import { type Journal } from '../original-run/journal.js';
5
+ export interface ClaimEventDeliveryOptions {
6
+ gitCommonDir: string;
7
+ target: string;
8
+ ownership: NativeTargetOwnership;
9
+ operationId: string;
10
+ manifestSha256: string;
11
+ packetPath: string;
12
+ mode: 'apply' | 'resume';
13
+ /** An adopted receipt is read-only: its disappearance never authorizes POST. */
14
+ allowPost: boolean;
15
+ scope: EventReceiptScope;
16
+ actor: string;
17
+ /** Already prepared assertion; recovery must never regenerate its UUID/time. */
18
+ eventJson: string;
19
+ sink: HarnessSink;
20
+ journal: Journal;
21
+ /** Fresh source, capability and authenticated-actor checks before delivery. */
22
+ verifyContext: () => Promise<void>;
23
+ }
24
+ /** Retain a prepared claim event, deliver it once, and require exact readback. */
25
+ export declare function deliverPreparedClaimEvent(options: ClaimEventDeliveryOptions): Promise<StoredEventReceipt>;
@@ -0,0 +1,100 @@
1
+ import { dirname } from 'node:path';
2
+ import { isDeepStrictEqual } from 'node:util';
3
+ import { platformPath, readStable, sha256 } from '../../telemetry/recovery/files.js';
4
+ import { assertRecoveryTargetOwnership, withOwnedNativeOperation } from '../../converge/target-ownership.js';
5
+ import { matchesPreparedEventReceipt, readEventReceipts } from '../event-receipts.js';
6
+ import { MAX_RECOVERY_DOCUMENT_BYTES, writeExclusive } from '../original-run/journal.js';
7
+ import { inspectRecoveryDirectory } from '../original-run/lock-path.js';
8
+ import { decodeOriginalReport } from '../original-run/decode.js';
9
+ import { object } from '../original-run/remote.js';
10
+ import { uuidSchema } from '../original-run/source.js';
11
+ /** Retain a prepared claim event, deliver it once, and require exact readback. */
12
+ export function deliverPreparedClaimEvent(options) {
13
+ // Pin caller-owned objects before the first await. Every replay compares the
14
+ // retained packet, not a newly generated event or an acknowledgment counter.
15
+ const scope = structuredClone(options.scope);
16
+ const { actor, eventJson, operationId, manifestSha256, target, mode, gitCommonDir, sink, journal, verifyContext, allowPost } = options;
17
+ const path = platformPath(options.packetPath);
18
+ return withOwnedNativeOperation(options.ownership, gitCommonDir, target, async (ownership) => {
19
+ await assertRecoveryTargetOwnership(ownership, gitCommonDir, target);
20
+ if (!uuidSchema.safeParse(operationId).success || !/^[a-f0-9]{64}$/.test(manifestSha256) ||
21
+ !['apply', 'resume'].includes(mode) || sink.credentialSource === 'attest') {
22
+ throw new Error('claim_event_input_conflict');
23
+ }
24
+ if (sink.baseUrl !== scope.base_url)
25
+ throw new Error('claim_event_destination_conflict');
26
+ const decoded = decodeOriginalReport(eventJson, { exactNumbers: true });
27
+ const event = decoded.value;
28
+ if (decoded.transformations.length || !object(event) || !['finding_claim_split', 'finding_obligation_transferred', 'finding_claim_disposition'].includes(event.kind) ||
29
+ event.converge_target !== target || !matchesPreparedEventReceipt({
30
+ ...event, org_id: scope.org_id, repo: scope.repo, pr_number: scope.pr_number,
31
+ actor_user_id: actor, attempt: event.attempt ?? null,
32
+ }, eventJson, scope, actor))
33
+ throw new Error('claim_event_input_conflict');
34
+ const packet = { kind: 'rcl-prepared-claim-event', version: 1, operation_id: operationId,
35
+ manifest_sha256: manifestSha256, destination: scope, actor_user_id: actor, target,
36
+ event_json: eventJson, event_sha256: sha256(eventJson) };
37
+ await inspectRecoveryDirectory(dirname(path), true);
38
+ await verifyContext();
39
+ if (mode === 'apply')
40
+ await writeExclusive(path, packet, MAX_RECOVERY_DOCUMENT_BYTES);
41
+ const retained = await readStable(path, MAX_RECOVERY_DOCUMENT_BYTES);
42
+ const parsed = decodeOriginalReport(retained.text, { exactNumbers: true });
43
+ if (parsed.transformations.length || !isDeepStrictEqual(parsed.value, packet)) {
44
+ throw new Error('claim_event_packet_conflict');
45
+ }
46
+ const audit = { operation_id: operationId, manifest_sha256: manifestSha256,
47
+ packet_sha256: retained.sha256, event_id: event.id, event_sha256: packet.event_sha256 };
48
+ const verifyPinnedContext = async () => {
49
+ await verifyContext();
50
+ if (sink.baseUrl !== scope.base_url)
51
+ throw new Error('claim_event_destination_conflict');
52
+ const current = await readStable(path, MAX_RECOVERY_DOCUMENT_BYTES);
53
+ if (current.sha256 !== retained.sha256)
54
+ throw new Error('claim_event_packet_conflict');
55
+ };
56
+ await journal.append('claim_event_prepared', audit);
57
+ const readReceipt = async () => {
58
+ await verifyPinnedContext();
59
+ const outcome = await readEventReceipts(sink, scope, [event.id]);
60
+ if (outcome.kind !== 'ok')
61
+ throw new Error('claim_event_receipt_unanswered');
62
+ const receipt = outcome.value.receipts[0];
63
+ if (receipt && !matchesPreparedEventReceipt(receipt, eventJson, scope, actor)) {
64
+ throw new Error('claim_event_receipt_conflict');
65
+ }
66
+ return receipt;
67
+ };
68
+ let receipt = await readReceipt();
69
+ if (!receipt) {
70
+ if (!allowPost)
71
+ throw new Error('claim_adopted_receipt_unavailable');
72
+ await journal.append('claim_event_post_intent', audit);
73
+ // Any quota wait precedes the final authenticated source/packet proof.
74
+ const permit = await sink.reserveRecoveryWrite();
75
+ let outcome;
76
+ try {
77
+ await verifyPinnedContext();
78
+ // Transport failures remain uncertain; their prose never enters audit.
79
+ try {
80
+ outcome = await sink.postEvents([event], { recoveryWritePermit: permit });
81
+ }
82
+ catch {
83
+ outcome = { kind: 'unknown' };
84
+ }
85
+ }
86
+ finally {
87
+ sink.releaseRecoveryWrite(permit);
88
+ }
89
+ await journal.append('claim_event_post_outcome', { ...audit, kind: outcome.kind,
90
+ ...(Number.isInteger(outcome.httpStatus) ? { http_status: outcome.httpStatus } : {}),
91
+ ...(Number.isInteger(outcome.retryAfterMs) ? { retry_after_ms: outcome.retryAfterMs } : {}) });
92
+ receipt = await readReceipt();
93
+ if (!receipt)
94
+ throw new Error('claim_event_delivery_unverified');
95
+ }
96
+ await journal.append('claim_event_verified', { ...audit, receipt });
97
+ return receipt;
98
+ });
99
+ }
100
+ //# sourceMappingURL=delivery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../src/evidence/claim-recovery/delivery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { HarnessSink } from '../../telemetry/sink.js';
2
+ import { type StoredEventReceipt } from '../event-receipts.js';
3
+ import type { PublicClaimSelection } from './public-model.js';
4
+ import type { ClaimHistoryContent } from './carrier-inventory.js';
5
+ import type { Manifest, Material, Preparation, ClaimAdoption } from './public-manifest.js';
6
+ import { type ClaimSplitInput } from '../claim-split.js';
7
+ import type { AcceptedSplitEvidence } from './validation/occurrence-types.js';
8
+ /** Old packet and proof paths remain immutable, including previously absent
9
+ * packet paths. All referenced material bytes are physically revalidated. */
10
+ export declare function verifyAdoptionFiles(proof: ClaimAdoption): Promise<void>;
11
+ /** Absence is rechecked before each remaining write. A late old receipt is
12
+ * never ignored or replaced by a second assertion. Re-preview may adopt it. */
13
+ export declare function verifyReplacedAbsence(proof: ClaimAdoption, sink: HarnessSink): Promise<void>;
14
+ interface Options {
15
+ path: string;
16
+ manifest: Manifest;
17
+ manifestSha: string;
18
+ current: ClaimHistoryContent;
19
+ stages: Manifest['stages'];
20
+ sink: HarnessSink;
21
+ validate: (manifest: Manifest, material: Material, item: Manifest['stages'][number], preparation: Preparation, history: ClaimHistoryContent, split: AcceptedSplitEvidence | undefined, createdAt?: string) => void;
22
+ splitEvidence: (material: Material, selection: PublicClaimSelection, input: ClaimSplitInput, receipt: StoredEventReceipt) => AcceptedSplitEvidence;
23
+ }
24
+ /** Explicit adoption can extend the old history only additively. It never
25
+ * edits the old manifest, reallocates an accepted UUID, or asserts absence
26
+ * from a failed/partial read. Current CAS is used only by new event UUIDs. */
27
+ export declare function prepareClaimAdoption(o: Options): Promise<{
28
+ proof: ClaimAdoption;
29
+ stages: Manifest['stages'];
30
+ }>;
31
+ export {};
@@ -0,0 +1,177 @@
1
+ import { lstat } from 'node:fs/promises';
2
+ import { dirname, join } from 'node:path';
3
+ import { isDeepStrictEqual } from 'node:util';
4
+ import { readStable, sha256 } from '../../telemetry/recovery/files.js';
5
+ import { inspectRecoveryDirectory } from '../original-run/lock-path.js';
6
+ import { decodeRecoveryDocument } from '../original-run/decode.js';
7
+ import { MAX_RECOVERY_DOCUMENT_BYTES } from '../original-run/journal.js';
8
+ import { readEventReceipts, matchesPreparedEventReceipt } from '../event-receipts.js';
9
+ import { readClaimProof } from './proof-storage.js';
10
+ import { claimCarriers, assertUnusedClaimIdentity, assertOwnedSplitSourceExtension } from './public-model.js';
11
+ import { prepareClaimSplit } from '../claim-split.js';
12
+ import { prepareClaimDisposition, prepareObligationTransfer } from './validation/occurrence.js';
13
+ const MAX = 64 * 1024 * 1024;
14
+ async function pin(path) {
15
+ try {
16
+ await lstat(path);
17
+ }
18
+ catch (e) {
19
+ if (e.code === 'ENOENT')
20
+ return { path, sha256: null };
21
+ throw e;
22
+ }
23
+ return { path, sha256: (await readStable(path, MAX)).sha256 };
24
+ }
25
+ /** Old packet and proof paths remain immutable, including previously absent
26
+ * packet paths. All referenced material bytes are physically revalidated. */
27
+ export async function verifyAdoptionFiles(proof) {
28
+ if (proof.version !== 1 || !Number.isSafeInteger(proof.depth) || proof.depth < 1 || proof.depth > 8 || proof.pins.length > 40000 || proof.proofRoots.length > 20000)
29
+ throw new Error('claim_adoption_bounds');
30
+ for (const directory of new Set(proof.pins.map(p => dirname(p.path))))
31
+ await inspectRecoveryDirectory(directory, true);
32
+ for (const item of proof.pins)
33
+ if (!isDeepStrictEqual(await pin(item.path), item))
34
+ throw new Error('claim_adoption_source_changed');
35
+ }
36
+ /** Absence is rechecked before each remaining write. A late old receipt is
37
+ * never ignored or replaced by a second assertion. Re-preview may adopt it. */
38
+ export async function verifyReplacedAbsence(proof, sink) {
39
+ for (const item of proof.replacements) {
40
+ const answer = await readEventReceipts(sink, item.scope, [item.oldId]);
41
+ if (answer.kind !== 'ok')
42
+ throw new Error('claim_adoption_receipt_unanswered');
43
+ if (answer.value.receipts.length)
44
+ throw new Error('claim_superseded_receipt_arrived');
45
+ }
46
+ }
47
+ /** Explicit adoption can extend the old history only additively. It never
48
+ * edits the old manifest, reallocates an accepted UUID, or asserts absence
49
+ * from a failed/partial read. Current CAS is used only by new event UUIDs. */
50
+ export async function prepareClaimAdoption(o) {
51
+ const { manifest: old, current } = o, selection = old.selection;
52
+ await inspectRecoveryDirectory(dirname(o.path), true);
53
+ if (selection.action !== 'split')
54
+ throw new Error('claim_adoption_requires_split_operation');
55
+ const materialPin = await pin(o.path + '.material');
56
+ if (materialPin.sha256 !== old.materialSha256)
57
+ throw new Error('claim_material_changed');
58
+ const material = await readClaimProof(o.path + '.material', o.path + '.proofs');
59
+ if (sha256(material.nativeJson) !== old.nativeSha256)
60
+ throw new Error('native_source_conflict');
61
+ if (Boolean(material.adoption) !== (old.version === 3))
62
+ throw new Error('claim_adoption_version_conflict');
63
+ if (material.adoption) {
64
+ await verifyAdoptionFiles(material.adoption);
65
+ await verifyReplacedAbsence(material.adoption, o.sink);
66
+ }
67
+ if (material.history.actorUserId !== old.actorUserId || old.actorUserId !== current.actorUserId)
68
+ throw new Error('claim_adoption_actor_changed');
69
+ for (const history of material.history.histories) {
70
+ const now = current.histories.find(h => h.runId === history.runId);
71
+ if (!now || now.eventSequence < history.eventSequence || history.receipts.some(r => !isDeepStrictEqual(r, now.receipts.find(n => n.id === r.id))))
72
+ throw new Error('claim_adoption_history_changed');
73
+ }
74
+ const oldCarriers = claimCarriers(material.history, selection), carriers = claimCarriers(current, selection);
75
+ const kinds = ['split', ...oldCarriers.map(() => 'transfer'), ...(selection.disposition ? ['disposition'] : [])];
76
+ if (!isDeepStrictEqual(old.stages.map(s => s.kind), kinds) || new Set(old.stages.map(s => s.id)).size !== old.stages.length || oldCarriers.some((_, i) => old.stages[i + 1]?.carrierIndex !== i))
77
+ throw new Error('claim_manifest_stage_conflict');
78
+ const pins = [...(material.adoption?.pins ?? []), await pin(o.path), materialPin];
79
+ if (pins.at(-2).sha256 !== o.manifestSha)
80
+ throw new Error('manifest_digest_mismatch');
81
+ const proofRoots = [...(material.adoption?.proofRoots ?? []), { path: o.path + '.material', pool: o.path + '.proofs' }];
82
+ const receiptsById = new Map(current.histories.flatMap(history => history.receipts.map(receipt => [receipt.id, receipt])));
83
+ const rows = [];
84
+ // Query every allocated stage, even if no packet was published. The index
85
+ // and selected read must agree about presence and the complete receipt.
86
+ for (const stage of old.stages) {
87
+ const scope = stage.kind === 'transfer' ? oldCarriers[stage.carrierIndex].scope : selection.source.scope;
88
+ const target = stage.kind === 'transfer' ? oldCarriers[stage.carrierIndex].target : selection.source.target;
89
+ const answer = await readEventReceipts(o.sink, scope, [stage.id]);
90
+ if (answer.kind !== 'ok')
91
+ throw new Error('claim_adoption_receipt_unanswered');
92
+ const receipt = answer.value.receipts[0];
93
+ const indexed = receiptsById.get(stage.id);
94
+ if (!isDeepStrictEqual(receipt, indexed))
95
+ throw new Error('claim_adoption_receipt_conflict');
96
+ const inputPath = `${o.path}.${stage.id}.input`, packetPath = `${o.path}.${stage.id}.packet`;
97
+ const inputPin = await pin(inputPath), packetPin = await pin(packetPath);
98
+ pins.push(inputPin, packetPin);
99
+ if (inputPin.sha256)
100
+ proofRoots.push({ path: inputPath, pool: o.path + '.proofs' });
101
+ const inherited = material.adoption?.accepted.find(a => a.id === stage.id);
102
+ const preparation = inputPin.sha256 ? await readClaimProof(inputPath, o.path + '.proofs') : inherited?.preparation;
103
+ let eventJson;
104
+ if (preparation) {
105
+ if (preparation.eventId !== stage.id)
106
+ throw new Error('claim_preparation_conflict');
107
+ const event = stage.kind === 'split' ? prepareClaimSplit(preparation).event : stage.kind === 'transfer' ? prepareObligationTransfer(preparation).event : prepareClaimDisposition(preparation).event;
108
+ eventJson = JSON.stringify(event);
109
+ }
110
+ if (packetPin.sha256) {
111
+ const packet = decodeRecoveryDocument((await readStable(packetPath, MAX_RECOVERY_DOCUMENT_BYTES)).text);
112
+ const expected = { kind: 'rcl-prepared-claim-event', version: 1, operation_id: old.operationId, manifest_sha256: o.manifestSha, destination: scope, actor_user_id: old.actorUserId, target, event_json: eventJson, event_sha256: eventJson ? sha256(eventJson) : undefined };
113
+ if (!isDeepStrictEqual(packet, expected))
114
+ throw new Error('claim_event_packet_conflict');
115
+ }
116
+ if (receipt && (!preparation || !eventJson || (!packetPin.sha256 && !inherited) || !matchesPreparedEventReceipt(receipt, eventJson, scope, old.actorUserId)))
117
+ throw new Error('claim_adoption_receipt_conflict');
118
+ if (inherited && (!receipt || !isDeepStrictEqual(inherited.receipt, receipt) || inherited.eventJson !== eventJson))
119
+ throw new Error('claim_adopted_receipt_unavailable');
120
+ rows.push({ stage, scope, receipt, preparation, eventJson, inherited });
121
+ }
122
+ const owned = new Map(rows.flatMap(row => row.eventJson ? [[row.stage.id, row.eventJson]] : []));
123
+ const acceptedReceipts = rows.flatMap(row => row.receipt ? [row.receipt] : []);
124
+ const sources = material.history.sources.map(source => {
125
+ const currentSource = current.sources.find(s => isDeepStrictEqual(s.selector, source.selector));
126
+ assertOwnedSplitSourceExtension(source, currentSource, acceptedReceipts, owned, old.actorUserId);
127
+ return currentSource;
128
+ });
129
+ const priorHistory = { ...material.history, sources, histories: material.history.histories.map(h => {
130
+ const receipts = [...h.receipts, ...rows.flatMap(r => r.receipt && r.receipt.run_id === h.runId && !h.receipts.some(x => x.id === r.receipt.id) ? [r.receipt] : [])].sort((a, b) => a.sequence - b.sequence);
131
+ return { ...h, receipts, eventSequence: Math.max(h.eventSequence, ...receipts.map(r => r.sequence)) };
132
+ }) };
133
+ const accepted = [], replacements = [...(material.adoption?.replacements ?? [])];
134
+ const reserved = new Set([...old.stages.map(s => s.id), ...(material.adoption?.replacements.flatMap(r => [r.oldId, r.newId]) ?? [])]);
135
+ if (o.stages.some(s => reserved.has(s.id)))
136
+ throw new Error('claim_adoption_uuid_conflict');
137
+ const stages = o.stages.map(s => ({ ...s }));
138
+ let split;
139
+ for (const row of rows) {
140
+ const { stage, receipt, preparation, inherited } = row;
141
+ const index = stage.kind === 'transfer' ? carriers.findIndex(c => isDeepStrictEqual(c, oldCarriers[stage.carrierIndex])) + 1 : stage.kind === 'split' ? 0 : stages.length - 1;
142
+ if (index < 0 || !stages[index] || stages[index].kind !== stage.kind)
143
+ throw new Error('claim_adoption_carrier_changed');
144
+ if (receipt) {
145
+ const history = inherited?.history ?? priorHistory, createdAt = inherited?.createdAt ?? old.createdAt;
146
+ const validationStage = inherited?.validationStage ?? stage;
147
+ o.validate(old, material, validationStage, preparation, history, split, createdAt);
148
+ accepted.push({ id: stage.id, preparation: preparation, eventJson: row.eventJson, receipt, history, createdAt, validationStage });
149
+ stages[index].id = stage.id;
150
+ if (stage.kind === 'split')
151
+ split = o.splitEvidence({ ...material, history: priorHistory }, selection, preparation, receipt);
152
+ }
153
+ else
154
+ replacements.push({ oldId: stage.id, newId: stages[index].id, scope: row.scope });
155
+ }
156
+ if (!split)
157
+ assertUnusedClaimIdentity(current, selection.identity);
158
+ // readClaimProof already validated these root inventories. Retain every
159
+ // physical blob digest so fresh checks hash bytes without repeatedly
160
+ // reparsing the entire immutable proof graph.
161
+ for (const root of proofRoots) {
162
+ const inventory = decodeRecoveryDocument((await readStable(root.path, MAX_RECOVERY_DOCUMENT_BYTES)).text);
163
+ for (const digest of inventory.sha256s)
164
+ pins.push({ path: join(root.pool, digest), sha256: digest });
165
+ }
166
+ const uniquePins = new Map();
167
+ for (const value of pins) {
168
+ const previous = uniquePins.get(value.path);
169
+ if (previous && !isDeepStrictEqual(previous, value))
170
+ throw new Error('claim_adoption_source_changed');
171
+ uniquePins.set(value.path, value);
172
+ }
173
+ const proof = { version: 1, depth: (material.adoption?.depth ?? 0) + 1, previousManifest: o.path, previousManifestSha256: o.manifestSha, pins: [...uniquePins.values()], proofRoots: [...new Map(proofRoots.map(r => [r.path, r])).values()], accepted, replacements };
174
+ await verifyAdoptionFiles(proof);
175
+ return { proof, stages };
176
+ }
177
+ //# sourceMappingURL=public-adoption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-adoption.js","sourceRoot":"","sources":["../../../src/evidence/claim-recovery/public-adoption.ts"],"names":[],"mappings":"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"}