@agentplat/mesh 0.3.0-alpha.5 → 0.3.0-beta.2

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 (52) hide show
  1. package/README.md +10 -0
  2. package/dist/coordination-discovery-contracts.d.ts +3 -1
  3. package/dist/coordination-discovery-contracts.d.ts.map +1 -1
  4. package/dist/coordination-discovery-state.d.ts +3 -0
  5. package/dist/coordination-discovery-state.d.ts.map +1 -1
  6. package/dist/coordination-discovery-state.js +93 -8
  7. package/dist/coordination-discovery-state.js.map +1 -1
  8. package/dist/coordination-inbound.d.ts.map +1 -1
  9. package/dist/coordination-inbound.js +54 -3
  10. package/dist/coordination-inbound.js.map +1 -1
  11. package/dist/coordination-wire-version-contracts.d.ts +67 -0
  12. package/dist/coordination-wire-version-contracts.d.ts.map +1 -0
  13. package/dist/coordination-wire-version-contracts.js +2 -0
  14. package/dist/coordination-wire-version-contracts.js.map +1 -0
  15. package/dist/coordination-wire-version.d.ts +8 -0
  16. package/dist/coordination-wire-version.d.ts.map +1 -0
  17. package/dist/coordination-wire-version.js +285 -0
  18. package/dist/coordination-wire-version.js.map +1 -0
  19. package/dist/coordination.d.ts +3 -1
  20. package/dist/coordination.d.ts.map +1 -1
  21. package/dist/coordination.js +3 -1
  22. package/dist/coordination.js.map +1 -1
  23. package/dist/durability.d.ts +60 -5
  24. package/dist/durability.d.ts.map +1 -1
  25. package/dist/durability.js +251 -5
  26. package/dist/durability.js.map +1 -1
  27. package/dist/loopback.d.ts +3 -1
  28. package/dist/loopback.d.ts.map +1 -1
  29. package/dist/loopback.js +9 -7
  30. package/dist/loopback.js.map +1 -1
  31. package/fixtures/beta1/README.md +11 -0
  32. package/fixtures/beta1/durability/wrapper-v1.json +19 -0
  33. package/fixtures/beta1/durability/wrapper-v2.json +51 -0
  34. package/fixtures/beta1/manifest.json +147 -0
  35. package/fixtures/beta1/postgres/alpha5-dump-manifest.json +29 -0
  36. package/fixtures/beta1/postgres/migrations.json +25 -0
  37. package/fixtures/beta1/simulation/replay-trace-v1.json +60 -0
  38. package/fixtures/beta1/simulation/snapshot-v2.json +71 -0
  39. package/fixtures/beta1/states/allocation-v1.json +24 -0
  40. package/fixtures/beta1/states/allocation-v2.json +28 -0
  41. package/fixtures/beta1/states/allocation-v3.json +38 -0
  42. package/fixtures/beta1/states/allocation-v4.json +43 -0
  43. package/fixtures/beta1/states/allocation-v5.json +46 -0
  44. package/fixtures/beta1/states/allocation-v6.json +56 -0
  45. package/fixtures/beta1/states/coordination-v1.json +20 -0
  46. package/fixtures/beta1/states/core-peer.json +26 -0
  47. package/fixtures/beta1/states/discovery-v1.json +31 -0
  48. package/fixtures/beta1/states/discovery-v2.json +32 -0
  49. package/fixtures/beta1/states/inbound-v1.json +19 -0
  50. package/fixtures/beta1/states/objective-work-v1.json +28 -0
  51. package/fixtures/beta1/states/objective-work-v2.json +28 -0
  52. package/package.json +5 -4
@@ -1,5 +1,11 @@
1
1
  import type { MeshJsonValue, MeshProtocolOptions, SignedMeshEnvelope } from "@agentplat/mesh-protocol";
2
- export declare const MESH_DURABILITY_SCHEMA_VERSION: 1;
2
+ export declare const MESH_DURABILITY_SCHEMA_VERSION: 2;
3
+ export declare const MESH_PREVIOUS_DURABILITY_SCHEMA_VERSION: 1;
4
+ export type MeshDurabilitySchemaVersion = typeof MESH_PREVIOUS_DURABILITY_SCHEMA_VERSION | typeof MESH_DURABILITY_SCHEMA_VERSION;
5
+ export declare const MESH_DURABLE_ENVELOPE_FORMAT: "application/vnd.agentplat.mesh-envelope+json";
6
+ export declare const MESH_DURABLE_OPAQUE_SNAPSHOT_FORMAT: "application/json";
7
+ export declare const MESH_DURABLE_LEGACY_OPAQUE_SNAPSHOT_FORMAT: "application/json; profile=legacy-opaque";
8
+ export declare const MESH_DURABLE_JOURNAL_VERSION: 1;
3
9
  export declare const MESH_DURABLE_GENESIS_DIGEST = "sha256:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
4
10
  export interface MeshDurableScope {
5
11
  readonly tenantId: string;
@@ -16,11 +22,15 @@ export interface MeshDurableClaim {
16
22
  }
17
23
  export type MeshDurableInboxStatus = "pending" | "processing" | "applied" | "rejected";
18
24
  export interface MeshDurableInboxRecord {
19
- readonly schemaVersion: typeof MESH_DURABILITY_SCHEMA_VERSION;
25
+ readonly schemaVersion: MeshDurabilitySchemaVersion;
20
26
  readonly scope: MeshDurableScope;
21
27
  readonly messageId: string;
22
28
  readonly envelope: SignedMeshEnvelope;
23
29
  readonly envelopeDigest: string;
30
+ /** Present on schema-2 writes; legacy rows remain explicitly distinguishable. */
31
+ readonly envelopeFormat?: string;
32
+ readonly envelopeWireVersion?: number;
33
+ readonly envelopeBytes?: string;
24
34
  readonly status: MeshDurableInboxStatus;
25
35
  readonly attempts: number;
26
36
  readonly receivedAt: string;
@@ -30,11 +40,13 @@ export interface MeshDurableInboxRecord {
30
40
  readonly reasonCode?: string;
31
41
  }
32
42
  export interface MeshDurablePeerSnapshot {
33
- readonly schemaVersion: typeof MESH_DURABILITY_SCHEMA_VERSION;
43
+ readonly schemaVersion: MeshDurabilitySchemaVersion;
34
44
  readonly scope: MeshDurableScope;
35
45
  readonly revision: number;
36
46
  readonly state: MeshJsonValue;
37
47
  readonly stateDigest: string;
48
+ readonly snapshotFormat?: string;
49
+ readonly snapshotSchemaVersion?: number;
38
50
  readonly committedAt: string;
39
51
  }
40
52
  export interface MeshDurableJournalDraft {
@@ -43,7 +55,8 @@ export interface MeshDurableJournalDraft {
43
55
  readonly reasonCode?: string;
44
56
  }
45
57
  export interface MeshDurableJournalEntry extends MeshDurableJournalDraft {
46
- readonly schemaVersion: typeof MESH_DURABILITY_SCHEMA_VERSION;
58
+ readonly schemaVersion: MeshDurabilitySchemaVersion;
59
+ readonly journalVersion?: typeof MESH_DURABLE_JOURNAL_VERSION;
47
60
  readonly scope: MeshDurableScope;
48
61
  readonly sequence: number;
49
62
  readonly previousDigest: string;
@@ -62,10 +75,13 @@ export interface MeshDurableOutboundDraft {
62
75
  readonly targetPeerId?: string;
63
76
  }
64
77
  export interface MeshDurableOutboxRecord extends MeshDurableOutboundDraft {
65
- readonly schemaVersion: typeof MESH_DURABILITY_SCHEMA_VERSION;
78
+ readonly schemaVersion: MeshDurabilitySchemaVersion;
66
79
  readonly scope: MeshDurableScope;
67
80
  readonly messageId: string;
68
81
  readonly envelopeDigest: string;
82
+ readonly envelopeFormat?: string;
83
+ readonly envelopeWireVersion?: number;
84
+ readonly envelopeBytes?: string;
69
85
  readonly status: MeshDurableOutboxStatus;
70
86
  readonly attempts: number;
71
87
  readonly availableAt: string;
@@ -95,10 +111,38 @@ export interface MeshDurableCommitInboxInput {
95
111
  readonly transitionId: string;
96
112
  readonly outcome: "applied" | "rejected";
97
113
  readonly nextState?: MeshJsonValue;
114
+ /** Defaults to explicit opaque JSON schema 0 for source compatibility. */
115
+ readonly nextStateDescriptor?: MeshDurableSnapshotDescriptor;
98
116
  readonly journal: readonly MeshDurableJournalDraft[];
99
117
  readonly outbox: readonly MeshDurableOutboundDraft[];
100
118
  readonly reasonCode?: string;
101
119
  }
120
+ /** Caller-owned snapshot content identity, separate from wrapper/DB versions. */
121
+ export interface MeshDurableSnapshotDescriptor {
122
+ readonly format: string;
123
+ readonly schemaVersion: number;
124
+ }
125
+ /** Provider-neutral codec contract for typed snapshot content. */
126
+ export interface MeshDurableSnapshotCodec<T = unknown> {
127
+ readonly descriptor: MeshDurableSnapshotDescriptor;
128
+ /** Exact content schemas accepted by decode; defaults to the current one. */
129
+ readonly readableSchemaVersions?: readonly number[];
130
+ encode(value: T): MeshJsonValue;
131
+ decode(state: MeshJsonValue, schemaVersion?: number): T;
132
+ /** Deterministically migrates one readable legacy schema to the current one. */
133
+ migrate?(state: MeshJsonValue, fromSchemaVersion: number): MeshJsonValue;
134
+ }
135
+ export interface MeshDurableSnapshotEncoding {
136
+ readonly descriptor: MeshDurableSnapshotDescriptor;
137
+ readonly state: MeshJsonValue;
138
+ readonly stateDigest: string;
139
+ }
140
+ export interface MeshDurableSnapshotCodecRegistry {
141
+ readonly formats: readonly string[];
142
+ encode<T>(format: string, value: T): Promise<MeshDurableSnapshotEncoding>;
143
+ decode<T = unknown>(snapshot: MeshDurablePeerSnapshot): Promise<T>;
144
+ migrate(snapshot: MeshDurablePeerSnapshot): Promise<MeshDurableSnapshotEncoding>;
145
+ }
102
146
  export type MeshDurableCommitResult = {
103
147
  readonly committed: true;
104
148
  readonly snapshot?: MeshDurablePeerSnapshot;
@@ -203,6 +247,14 @@ export interface MeshDurableWorker {
203
247
  /** Creates an inert worker. Work starts only through an explicit run method. */
204
248
  export declare function createMeshDurableWorker(options: MeshDurableWorkerOptions): MeshDurableWorker;
205
249
  export declare function normalizeMeshDurableScope(scope: MeshDurableScope): MeshDurableScope;
250
+ /**
251
+ * Creates an immutable, exact-format snapshot codec registry. Codec selection
252
+ * never guesses from state shape and every decode verifies the stored digest.
253
+ */
254
+ export declare function createMeshDurableSnapshotCodecRegistry(codecs: readonly MeshDurableSnapshotCodec[], options?: {
255
+ readonly protocolOptions?: MeshProtocolOptions;
256
+ readonly crypto?: Crypto;
257
+ }): MeshDurableSnapshotCodecRegistry;
206
258
  export declare function computeMeshDurableValueDigest(value: MeshJsonValue, options?: {
207
259
  readonly protocolOptions?: MeshProtocolOptions;
208
260
  readonly crypto?: Crypto;
@@ -218,11 +270,14 @@ export declare function createMeshDurableJournalEntry(input: {
218
270
  readonly draft: MeshDurableJournalDraft;
219
271
  readonly occurredAt: string;
220
272
  readonly crypto?: Crypto;
273
+ readonly schemaVersion?: MeshDurabilitySchemaVersion;
221
274
  }): Promise<MeshDurableJournalEntry>;
222
275
  export declare function verifyMeshDurableJournal(input: {
223
276
  readonly entries: readonly MeshDurableJournalEntry[];
224
277
  readonly anchorDigest?: string;
225
278
  readonly anchorSequence?: number;
279
+ readonly expectedHeadDigest?: string;
280
+ readonly expectedHeadSequence?: number;
226
281
  readonly crypto?: Crypto;
227
282
  }): Promise<boolean>;
228
283
  //# sourceMappingURL=durability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"durability.d.ts","sourceRoot":"","sources":["../src/durability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durability.d.ts","sourceRoot":"","sources":["../src/durability.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
1
  import { canonicalizeMeshJsonBytes, validateSignedMeshEnvelope, } from "@agentplat/mesh-protocol";
2
- export const MESH_DURABILITY_SCHEMA_VERSION = 1;
2
+ export const MESH_DURABILITY_SCHEMA_VERSION = 2;
3
+ export const MESH_PREVIOUS_DURABILITY_SCHEMA_VERSION = 1;
4
+ export const MESH_DURABLE_ENVELOPE_FORMAT = "application/vnd.agentplat.mesh-envelope+json";
5
+ export const MESH_DURABLE_OPAQUE_SNAPSHOT_FORMAT = "application/json";
6
+ export const MESH_DURABLE_LEGACY_OPAQUE_SNAPSHOT_FORMAT = "application/json; profile=legacy-opaque";
7
+ export const MESH_DURABLE_JOURNAL_VERSION = 1;
3
8
  export const MESH_DURABLE_GENESIS_DIGEST = "sha256:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
4
9
  /** Creates an inert worker. Work starts only through an explicit run method. */
5
10
  export function createMeshDurableWorker(options) {
@@ -185,6 +190,105 @@ export function normalizeMeshDurableScope(scope) {
185
190
  instanceId: boundedIdentifier(scope.instanceId, "instanceId"),
186
191
  });
187
192
  }
193
+ /**
194
+ * Creates an immutable, exact-format snapshot codec registry. Codec selection
195
+ * never guesses from state shape and every decode verifies the stored digest.
196
+ */
197
+ export function createMeshDurableSnapshotCodecRegistry(codecs, options = {}) {
198
+ if (!Array.isArray(codecs) || codecs.length < 1 || codecs.length > 64) {
199
+ throw new RangeError("Mesh snapshot codec count is outside its range");
200
+ }
201
+ const registered = new Map();
202
+ for (const codec of codecs) {
203
+ if (!codec ||
204
+ typeof codec !== "object" ||
205
+ typeof codec.encode !== "function" ||
206
+ typeof codec.decode !== "function") {
207
+ throw new TypeError("Mesh snapshot codec is invalid");
208
+ }
209
+ const descriptor = normalizeSnapshotDescriptor(codec.descriptor);
210
+ if (registered.has(descriptor.format)) {
211
+ throw new TypeError("Mesh snapshot codec format is duplicated");
212
+ }
213
+ const versions = codec.readableSchemaVersions ?? [descriptor.schemaVersion];
214
+ if (!Array.isArray(versions) ||
215
+ versions.length < 1 ||
216
+ versions.length > 64) {
217
+ throw new RangeError("Mesh snapshot readable schema count is outside its range");
218
+ }
219
+ const readable = new Set();
220
+ for (const version of versions) {
221
+ const normalized = snapshotSchemaVersion(version);
222
+ if (readable.has(normalized)) {
223
+ throw new TypeError("Mesh snapshot readable schema is duplicated");
224
+ }
225
+ readable.add(normalized);
226
+ }
227
+ if (!readable.has(descriptor.schemaVersion)) {
228
+ throw new TypeError("Mesh snapshot codec must read its current schema");
229
+ }
230
+ const encodeSnapshot = codec.encode;
231
+ const decodeSnapshot = codec.decode;
232
+ const migrateSnapshot = codec.migrate;
233
+ registered.set(descriptor.format, Object.freeze({
234
+ descriptor,
235
+ readable,
236
+ encode: (value) => encodeSnapshot(value),
237
+ decode: (state, schemaVersion) => decodeSnapshot(state, schemaVersion),
238
+ ...(migrateSnapshot === undefined
239
+ ? {}
240
+ : {
241
+ migrate: (state, fromSchemaVersion) => migrateSnapshot(state, fromSchemaVersion),
242
+ }),
243
+ }));
244
+ }
245
+ const encode = async (format, value) => {
246
+ const registration = requireSnapshotCodec(registered, format);
247
+ return snapshotEncoding(registration.descriptor, registration.encode(value), options);
248
+ };
249
+ const decode = async (snapshot) => {
250
+ const metadata = snapshotMetadata(snapshot);
251
+ const registration = requireSnapshotCodec(registered, metadata.format);
252
+ if (!registration.readable.has(metadata.schemaVersion)) {
253
+ throw new TypeError("Mesh snapshot schema version is unsupported");
254
+ }
255
+ const actualDigest = await computeMeshDurableValueDigest(snapshot.state, options);
256
+ if (actualDigest !== snapshot.stateDigest) {
257
+ throw new TypeError("Mesh snapshot state digest does not match");
258
+ }
259
+ return deepFreezeDurableValue(registration.decode(cloneSnapshotState(snapshot.state, options.protocolOptions), metadata.schemaVersion));
260
+ };
261
+ const migrate = async (snapshot) => {
262
+ const metadata = snapshotMetadata(snapshot);
263
+ const registration = requireSnapshotCodec(registered, metadata.format);
264
+ await decode(snapshot);
265
+ if (metadata.schemaVersion === registration.descriptor.schemaVersion) {
266
+ return snapshotEncoding(registration.descriptor, snapshot.state, options);
267
+ }
268
+ if (registration.migrate === undefined) {
269
+ throw new TypeError("Mesh snapshot migration is unavailable");
270
+ }
271
+ const first = registration.migrate(cloneSnapshotState(snapshot.state, options.protocolOptions), metadata.schemaVersion);
272
+ const second = registration.migrate(cloneSnapshotState(snapshot.state, options.protocolOptions), metadata.schemaVersion);
273
+ const firstCanonical = canonicalSnapshotBytes(first, options.protocolOptions);
274
+ const secondCanonical = canonicalSnapshotBytes(second, options.protocolOptions);
275
+ if (!bytesEqual(firstCanonical, secondCanonical)) {
276
+ throw new TypeError("Mesh snapshot migration is nondeterministic");
277
+ }
278
+ const decoded = registration.decode(cloneSnapshotState(first, options.protocolOptions), registration.descriptor.schemaVersion);
279
+ const normalized = registration.encode(deepFreezeDurableValue(decoded));
280
+ if (!bytesEqual(firstCanonical, canonicalSnapshotBytes(normalized, options.protocolOptions))) {
281
+ throw new TypeError("Mesh snapshot migration is not canonical");
282
+ }
283
+ return snapshotEncoding(registration.descriptor, normalized, options);
284
+ };
285
+ return Object.freeze({
286
+ formats: Object.freeze([...registered.keys()].sort()),
287
+ encode,
288
+ decode,
289
+ migrate,
290
+ });
291
+ }
188
292
  export async function computeMeshDurableValueDigest(value, options = {}) {
189
293
  const canonical = canonicalizeMeshJsonBytes(value, options.protocolOptions);
190
294
  if (!canonical.ok) {
@@ -207,8 +311,16 @@ export async function createMeshDurableJournalEntry(input) {
207
311
  assertMessageId(input.inboxMessageId);
208
312
  }
209
313
  assertTimestamp(input.occurredAt, "occurredAt");
314
+ const schemaVersion = input.schemaVersion ?? MESH_DURABILITY_SCHEMA_VERSION;
315
+ if (schemaVersion !== MESH_PREVIOUS_DURABILITY_SCHEMA_VERSION &&
316
+ schemaVersion !== MESH_DURABILITY_SCHEMA_VERSION) {
317
+ throw new TypeError("Mesh durability schema version is unsupported");
318
+ }
210
319
  const document = {
211
- schemaVersion: MESH_DURABILITY_SCHEMA_VERSION,
320
+ schemaVersion,
321
+ ...(schemaVersion === MESH_DURABILITY_SCHEMA_VERSION
322
+ ? { journalVersion: MESH_DURABLE_JOURNAL_VERSION }
323
+ : {}),
212
324
  scope: {
213
325
  tenantId: scope.tenantId,
214
326
  meshId: scope.meshId,
@@ -232,7 +344,10 @@ export async function createMeshDurableJournalEntry(input) {
232
344
  crypto: input.crypto,
233
345
  });
234
346
  return Object.freeze({
235
- schemaVersion: MESH_DURABILITY_SCHEMA_VERSION,
347
+ schemaVersion,
348
+ ...(schemaVersion === MESH_DURABILITY_SCHEMA_VERSION
349
+ ? { journalVersion: MESH_DURABLE_JOURNAL_VERSION }
350
+ : {}),
236
351
  scope,
237
352
  sequence,
238
353
  previousDigest: input.previousDigest,
@@ -250,13 +365,26 @@ export async function createMeshDurableJournalEntry(input) {
250
365
  });
251
366
  }
252
367
  export async function verifyMeshDurableJournal(input) {
368
+ if ((input.anchorDigest === undefined) !==
369
+ (input.anchorSequence === undefined) ||
370
+ (input.expectedHeadDigest === undefined) !==
371
+ (input.expectedHeadSequence === undefined)) {
372
+ throw new TypeError("Mesh durable journal anchor is incomplete");
373
+ }
253
374
  let previousDigest = input.anchorDigest ?? MESH_DURABLE_GENESIS_DIGEST;
254
375
  let sequence = input.anchorSequence ?? 0;
255
376
  assertDigest(previousDigest, "anchor digest");
256
377
  nonNegativeInteger(sequence, "anchor sequence");
378
+ if (input.expectedHeadDigest !== undefined) {
379
+ assertDigest(input.expectedHeadDigest, "expected head digest");
380
+ nonNegativeInteger(input.expectedHeadSequence, "expected head sequence");
381
+ }
257
382
  for (const entry of input.entries) {
258
383
  if (entry.sequence !== sequence + 1 ||
259
- entry.previousDigest !== previousDigest) {
384
+ entry.previousDigest !== previousDigest ||
385
+ (entry.schemaVersion === MESH_DURABILITY_SCHEMA_VERSION
386
+ ? entry.journalVersion !== MESH_DURABLE_JOURNAL_VERSION
387
+ : entry.journalVersion !== undefined)) {
260
388
  return false;
261
389
  }
262
390
  const rebuilt = await createMeshDurableJournalEntry({
@@ -270,13 +398,16 @@ export async function verifyMeshDurableJournal(input) {
270
398
  draft: entry,
271
399
  occurredAt: entry.occurredAt,
272
400
  crypto: input.crypto,
401
+ schemaVersion: entry.schemaVersion,
273
402
  });
274
403
  if (rebuilt.digest !== entry.digest)
275
404
  return false;
276
405
  previousDigest = entry.digest;
277
406
  sequence = entry.sequence;
278
407
  }
279
- return true;
408
+ return (input.expectedHeadDigest === undefined ||
409
+ (previousDigest === input.expectedHeadDigest &&
410
+ sequence === input.expectedHeadSequence));
280
411
  }
281
412
  function normalizeProcessorResult(result, scope, inbox) {
282
413
  if (!result || typeof result !== "object") {
@@ -479,6 +610,121 @@ function nonNegativeInteger(value, label) {
479
610
  }
480
611
  return value;
481
612
  }
613
+ function normalizeSnapshotDescriptor(descriptor) {
614
+ if (!descriptor || typeof descriptor !== "object") {
615
+ throw new TypeError("Mesh snapshot descriptor is required");
616
+ }
617
+ const keys = Object.keys(descriptor).sort();
618
+ if (keys.length !== 2 ||
619
+ keys[0] !== "format" ||
620
+ keys[1] !== "schemaVersion") {
621
+ throw new TypeError("Mesh snapshot descriptor must have an exact shape");
622
+ }
623
+ return Object.freeze({
624
+ format: snapshotFormat(descriptor.format),
625
+ schemaVersion: snapshotSchemaVersion(descriptor.schemaVersion),
626
+ });
627
+ }
628
+ function snapshotMetadata(snapshot) {
629
+ if (!snapshot || typeof snapshot !== "object") {
630
+ throw new TypeError("Mesh snapshot is required");
631
+ }
632
+ const keys = Object.keys(snapshot).sort();
633
+ const expectedKeys = [
634
+ "committedAt",
635
+ "revision",
636
+ "schemaVersion",
637
+ "scope",
638
+ "snapshotFormat",
639
+ "snapshotSchemaVersion",
640
+ "state",
641
+ "stateDigest",
642
+ ];
643
+ if (keys.length !== expectedKeys.length ||
644
+ keys.some((key, index) => key !== expectedKeys[index])) {
645
+ throw new TypeError("Mesh snapshot must have an exact shape");
646
+ }
647
+ if (snapshot.snapshotFormat === undefined ||
648
+ snapshot.snapshotSchemaVersion === undefined) {
649
+ throw new TypeError("Legacy Mesh snapshot requires an explicit backfill");
650
+ }
651
+ if (snapshot.schemaVersion !== MESH_PREVIOUS_DURABILITY_SCHEMA_VERSION &&
652
+ snapshot.schemaVersion !== MESH_DURABILITY_SCHEMA_VERSION) {
653
+ throw new TypeError("Mesh snapshot wrapper schema is unsupported");
654
+ }
655
+ normalizeMeshDurableScope(snapshot.scope);
656
+ boundedInteger(snapshot.revision, "snapshot revision", Number.MAX_SAFE_INTEGER);
657
+ assertTimestamp(snapshot.committedAt, "snapshot committedAt");
658
+ assertDigest(snapshot.stateDigest, "snapshot state digest");
659
+ const metadata = {
660
+ format: snapshotFormat(snapshot.snapshotFormat),
661
+ schemaVersion: snapshotSchemaVersion(snapshot.snapshotSchemaVersion),
662
+ };
663
+ if ((snapshot.schemaVersion === MESH_PREVIOUS_DURABILITY_SCHEMA_VERSION) !==
664
+ (metadata.format === MESH_DURABLE_LEGACY_OPAQUE_SNAPSHOT_FORMAT)) {
665
+ throw new TypeError("Mesh snapshot format does not match its wrapper");
666
+ }
667
+ return metadata;
668
+ }
669
+ function snapshotFormat(value) {
670
+ if (typeof value !== "string" ||
671
+ value.length < 3 ||
672
+ new TextEncoder().encode(value).byteLength > 256 ||
673
+ /[\u0000-\u001f\u007f]/u.test(value)) {
674
+ throw new TypeError("Mesh snapshot format is invalid");
675
+ }
676
+ return value;
677
+ }
678
+ function snapshotSchemaVersion(value) {
679
+ if (!Number.isSafeInteger(value) || value < 0 || value > 65_535) {
680
+ throw new RangeError("Mesh snapshot schema version is outside its range");
681
+ }
682
+ return value;
683
+ }
684
+ function requireSnapshotCodec(registered, format) {
685
+ const normalized = snapshotFormat(format);
686
+ const registration = registered.get(normalized);
687
+ if (!registration) {
688
+ throw new TypeError("Mesh snapshot format is unsupported");
689
+ }
690
+ return registration;
691
+ }
692
+ async function snapshotEncoding(descriptor, state, options) {
693
+ const snapshot = cloneSnapshotState(state, options.protocolOptions);
694
+ return Object.freeze({
695
+ descriptor,
696
+ state: snapshot,
697
+ stateDigest: await computeMeshDurableValueDigest(snapshot, options),
698
+ });
699
+ }
700
+ function cloneSnapshotState(state, protocolOptions) {
701
+ const bytes = canonicalSnapshotBytes(state, protocolOptions);
702
+ return deepFreezeDurableValue(JSON.parse(new TextDecoder().decode(bytes)));
703
+ }
704
+ function canonicalSnapshotBytes(state, protocolOptions) {
705
+ const canonical = canonicalizeMeshJsonBytes(state, protocolOptions);
706
+ if (!canonical.ok) {
707
+ throw new TypeError("Mesh snapshot state must be bounded strict JSON");
708
+ }
709
+ return canonical.value;
710
+ }
711
+ function bytesEqual(left, right) {
712
+ if (left.byteLength !== right.byteLength)
713
+ return false;
714
+ for (let index = 0; index < left.byteLength; index += 1) {
715
+ if (left[index] !== right[index])
716
+ return false;
717
+ }
718
+ return true;
719
+ }
720
+ function deepFreezeDurableValue(value) {
721
+ if (value !== null && typeof value === "object" && !Object.isFrozen(value)) {
722
+ Object.freeze(value);
723
+ for (const nested of Object.values(value))
724
+ deepFreezeDurableValue(nested);
725
+ }
726
+ return value;
727
+ }
482
728
  function assertDigest(value, label) {
483
729
  if (typeof value !== "string" || !/^sha256:[A-Za-z0-9_-]{43}$/u.test(value)) {
484
730
  throw new TypeError(`Mesh durable ${label} is invalid`);
@@ -1 +1 @@
1
- {"version":3,"file":"durability.js","sourceRoot":"","sources":["../src/durability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durability.js","sourceRoot":"","sources":["../src/durability.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type MeshProtocolOptions, type SignedMeshEnvelope } from '@agentplat/mesh-protocol';
1
+ import { type MeshProtocolOptions, type SignedMeshEnvelope, type MeshWireVersion } from '@agentplat/mesh-protocol';
2
2
  import type { MeshCryptoPolicy, MeshEnvelopeSigner, MeshEnvelopeVerifier, MeshKeyResolver } from '@agentplat/mesh-crypto';
3
3
  import type { MeshAdmissionPolicy, MeshLogicalTime, MeshPeerEffect, MeshPeerInput, MeshPeerState } from './contracts.js';
4
4
  /** Exact transport route; peer IDs are never global lookup keys. */
@@ -64,6 +64,8 @@ export interface MeshLoopbackPeerOptions {
64
64
  readonly messageIds?: MeshLoopbackMessageIdSource;
65
65
  readonly admissionPolicy?: MeshAdmissionPolicy;
66
66
  readonly outboundSequence?: number;
67
+ /** Construction-bound outbound version; compatibility v0 needs a v0 signer. */
68
+ readonly wireVersion?: MeshWireVersion;
67
69
  readonly crypto?: Crypto;
68
70
  readonly protocolOptions?: MeshProtocolOptions;
69
71
  readonly supportedCriticalExtensions?: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"loopback.d.ts","sourceRoot":"","sources":["../src/loopback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loopback.d.ts","sourceRoot":"","sources":["../src/loopback.ts"],"names":[],"mappings":"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"}