@agentplat/mesh-protocol 0.3.0-alpha.4 → 0.3.0-beta.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 (48) hide show
  1. package/README.md +10 -3
  2. package/dist/contracts.d.ts +26 -9
  3. package/dist/contracts.d.ts.map +1 -1
  4. package/dist/contracts.js +9 -2
  5. package/dist/contracts.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/validation.d.ts +9 -1
  11. package/dist/validation.d.ts.map +1 -1
  12. package/dist/validation.js +88 -12
  13. package/dist/validation.js.map +1 -1
  14. package/fixtures/v0/README.md +5 -0
  15. package/fixtures/v0/manifest.json +384 -0
  16. package/fixtures/v1/README.md +16 -0
  17. package/fixtures/v1/capability-advertise.json +47 -0
  18. package/fixtures/v1/capability-withdraw.json +32 -0
  19. package/fixtures/v1/evidence-attest.json +40 -0
  20. package/fixtures/v1/evidence-challenge.json +46 -0
  21. package/fixtures/v1/evidence-claim.json +48 -0
  22. package/fixtures/v1/evidence-retract.json +39 -0
  23. package/fixtures/v1/lease-certificate.json +38 -0
  24. package/fixtures/v1/lease-renew.json +47 -0
  25. package/fixtures/v1/lease-takeover-proposal.json +52 -0
  26. package/fixtures/v1/lease-vote.json +34 -0
  27. package/fixtures/v1/manifest.json +477 -0
  28. package/fixtures/v1/objective-announce.json +59 -0
  29. package/fixtures/v1/objective-cancel.json +34 -0
  30. package/fixtures/v1/objective-revise.json +58 -0
  31. package/fixtures/v1/peer-card.json +44 -0
  32. package/fixtures/v1/peer-goodbye.json +32 -0
  33. package/fixtures/v1/peer-hello.json +30 -0
  34. package/fixtures/v1/peer-ping-ack.json +29 -0
  35. package/fixtures/v1/peer-ping.json +28 -0
  36. package/fixtures/v1/public-key.raw.json +6 -0
  37. package/fixtures/v1/trust-observation.json +54 -0
  38. package/fixtures/v1/work-accept.json +44 -0
  39. package/fixtures/v1/work-award.json +52 -0
  40. package/fixtures/v1/work-bid.json +54 -0
  41. package/fixtures/v1/work-cancel.json +46 -0
  42. package/fixtures/v1/work-checkpoint.json +48 -0
  43. package/fixtures/v1/work-decline.json +44 -0
  44. package/fixtures/v1/work-offer.json +51 -0
  45. package/fixtures/v1/work-progress.json +47 -0
  46. package/fixtures/v1/work-release.json +47 -0
  47. package/fixtures/v1/work-result.json +48 -0
  48. package/package.json +2 -2
package/README.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  Closed, bounded and transport-neutral wire contracts for AgentPlat Mesh peers.
4
4
 
5
+ Beta 1 writes `wireVersion: 1` and reads both the frozen current version and
6
+ the preceding `wireVersion: 0` compatibility profile. The general parser
7
+ accepts both; `parseSignedMeshEnvelopeV0` and `parseSignedMeshEnvelopeV1`
8
+ narrow to one exact version. Parser limit overrides may only narrow the frozen
9
+ wire ceilings.
10
+
5
11
  The implementation provides:
6
12
 
7
13
  - strict UTF-8 and JSON parsing that rejects duplicate decoded keys, malformed
@@ -27,7 +33,8 @@ The implementation provides:
27
33
  proofs;
28
34
  - receiver-context checks for tenant and Mesh scope, audience, freshness and
29
35
  critical-extension support; and
30
- - public, structurally valid conformance fixtures in `fixtures/v0`.
36
+ - frozen v0 byte-lock fixtures and signed v1 conformance fixtures under
37
+ `fixtures/v0` and `fixtures/v1`.
31
38
 
32
39
  Use `parseSignedMeshEnvelope` with the decompressed `Uint8Array` at a wire
33
40
  boundary. Accepting bytes rather than pre-decoded text prevents lossy UTF-8
@@ -55,7 +62,7 @@ boundary until their reducers and state authorization are implemented.
55
62
 
56
63
  ## Frozen limits
57
64
 
58
- Protocol v0 applies these structural limits before a payload can enter a
65
+ Protocol v0 and v1 apply these structural limits before a payload can enter a
59
66
  reducer:
60
67
 
61
68
  | Limit | Maximum |
@@ -77,7 +84,7 @@ these narrower limits:
77
84
 
78
85
  | Field | Rule |
79
86
  | ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
80
- | `protocolVersions` | 1–8 sorted unique non-negative safe integers and must include `0` |
87
+ | `protocolVersions` | 1–8 sorted unique non-negative safe integers and must include the Peer Card envelope's own wire version |
81
88
  | Peer Card transport hints | At most 8 sorted unique non-empty strings; 2,048 UTF-8 bytes each and 8,192 bytes in aggregate |
82
89
  | Peer Card capability IDs | At most 32 sorted unique identifiers |
83
90
  | Capability key | Non-empty; at most 4,096 UTF-8 bytes |
@@ -1,8 +1,14 @@
1
1
  /** Public protocol contracts shared by parsing and validation. */
2
2
  /** Exact protocol identifier signed by every Mesh peer. */
3
3
  export declare const MESH_PROTOCOL: "agentplat.mesh";
4
- /** Alpha releases use wire version zero until beta fixtures are frozen. */
5
- export declare const MESH_WIRE_VERSION: 0;
4
+ /** Current wire version emitted by Beta writers. */
5
+ export declare const MESH_WIRE_VERSION: 1;
6
+ /** Preceding wire version retained for explicit Alpha compatibility. */
7
+ export declare const MESH_PREVIOUS_WIRE_VERSION: 0;
8
+ /** Complete built-in read set in ascending preference order. */
9
+ export declare const MESH_SUPPORTED_WIRE_VERSIONS: readonly [0, 1];
10
+ /** Wire versions understood by this release line. */
11
+ export type MeshWireVersion = (typeof MESH_SUPPORTED_WIRE_VERSIONS)[number];
6
12
  /** Reference signature suite for the initial protocol. */
7
13
  export declare const MESH_SIGNATURE_ALGORITHM: "Ed25519";
8
14
  /** Closed audience topics recognized by protocol v0. */
@@ -507,9 +513,9 @@ export interface TrustObservationPayload {
507
513
  /** Structurally implemented protocol payload subset. */
508
514
  export type MeshMessagePayload = PeerHelloPayload | PeerCardPayload | PeerPingPayload | PeerPingAckPayload | PeerGoodbyePayload | CapabilityAdvertisePayload | CapabilityWithdrawPayload | ObjectiveAnnouncePayload | ObjectiveRevisePayload | ObjectiveCancelPayload | WorkOfferPayload | WorkBidPayload | WorkAwardPayload | WorkAcceptPayload | WorkDeclinePayload | WorkProgressPayload | WorkCheckpointPayload | WorkResultPayload | WorkReleasePayload | WorkCancelPayload | LeaseRenewPayload | LeaseTakeoverProposalPayload | LeaseVotePayload | LeaseCertificatePayload | EvidenceClaimPayload | EvidenceAttestationPayload | EvidenceChallengePayload | EvidenceRetractionPayload | TrustObservationPayload;
509
515
  /** Shared fields that participate in envelope identity and signing. */
510
- export interface MeshEnvelopeHeader<TPayload extends MeshMessagePayload = MeshMessagePayload> {
516
+ export interface MeshEnvelopeHeader<TPayload extends MeshMessagePayload = MeshMessagePayload, TWireVersion extends MeshWireVersion = MeshWireVersion> {
511
517
  readonly protocol: typeof MESH_PROTOCOL;
512
- readonly wireVersion: typeof MESH_WIRE_VERSION;
518
+ readonly wireVersion: TWireVersion;
513
519
  readonly messageId: string;
514
520
  readonly tenantId: string;
515
521
  readonly meshId: string;
@@ -526,30 +532,39 @@ export interface MeshEnvelopeHeader<TPayload extends MeshMessagePayload = MeshMe
526
532
  readonly criticalExtensions?: readonly string[];
527
533
  }
528
534
  /** Producer input before payload hashing and signature generation. */
529
- export interface UnsignedMeshEnvelope<TPayload extends MeshMessagePayload = MeshMessagePayload> extends MeshEnvelopeHeader<TPayload> {
535
+ export interface UnsignedMeshEnvelope<TPayload extends MeshMessagePayload = MeshMessagePayload, TWireVersion extends MeshWireVersion = MeshWireVersion> extends MeshEnvelopeHeader<TPayload, TWireVersion> {
530
536
  readonly payload: TPayload;
531
537
  readonly proof: MeshProofHeader;
532
538
  }
533
539
  /** Structurally complete signed wire envelope. */
534
- export interface MeshEnvelope<TPayload extends MeshMessagePayload = MeshMessagePayload> extends MeshEnvelopeHeader<TPayload> {
540
+ export interface MeshEnvelope<TPayload extends MeshMessagePayload = MeshMessagePayload, TWireVersion extends MeshWireVersion = MeshWireVersion> extends MeshEnvelopeHeader<TPayload, TWireVersion> {
535
541
  readonly payloadHash: string;
536
542
  readonly payload: TPayload;
537
543
  readonly proof: MeshProof;
538
544
  }
539
545
  /** Canonical document signed after hashing the payload. */
540
- export type MeshSigningDocument<TPayload extends MeshMessagePayload = MeshMessagePayload> = Omit<MeshEnvelope<TPayload>, 'payload' | 'proof'> & {
546
+ export type MeshSigningDocument<TPayload extends MeshMessagePayload = MeshMessagePayload, TWireVersion extends MeshWireVersion = MeshWireVersion> = Omit<MeshEnvelope<TPayload, TWireVersion>, 'payload' | 'proof'> & {
541
547
  proof: MeshProofHeader;
542
548
  };
543
549
  declare const signedMeshEnvelopeBrand: unique symbol;
544
550
  declare const verifiedMeshEnvelopeBrand: unique symbol;
545
551
  /** Envelope produced by an approved signer or strict wire parser. */
546
- export type SignedMeshEnvelope<TPayload extends MeshMessagePayload = MeshMessagePayload> = Readonly<MeshEnvelope<TPayload> & {
552
+ export type SignedMeshEnvelope<TPayload extends MeshMessagePayload = MeshMessagePayload, TWireVersion extends MeshWireVersion = MeshWireVersion> = Readonly<MeshEnvelope<TPayload, TWireVersion> & {
547
553
  [signedMeshEnvelopeBrand]: true;
548
554
  }>;
549
555
  /** Signed envelope whose digest and proof have been verified locally. */
550
- export type VerifiedMeshEnvelope<TPayload extends MeshMessagePayload = MeshMessagePayload> = Readonly<SignedMeshEnvelope<TPayload> & {
556
+ export type VerifiedMeshEnvelope<TPayload extends MeshMessagePayload = MeshMessagePayload, TWireVersion extends MeshWireVersion = MeshWireVersion> = Readonly<SignedMeshEnvelope<TPayload, TWireVersion> & {
551
557
  [verifiedMeshEnvelopeBrand]: true;
552
558
  }>;
559
+ /** Explicit compatibility aliases for version-narrowed consumers. */
560
+ export type MeshEnvelopeV0<TPayload extends MeshMessagePayload = MeshMessagePayload> = MeshEnvelope<TPayload, typeof MESH_PREVIOUS_WIRE_VERSION>;
561
+ export type MeshEnvelopeV1<TPayload extends MeshMessagePayload = MeshMessagePayload> = MeshEnvelope<TPayload, typeof MESH_WIRE_VERSION>;
562
+ export type SignedMeshEnvelopeV0<TPayload extends MeshMessagePayload = MeshMessagePayload> = SignedMeshEnvelope<TPayload, typeof MESH_PREVIOUS_WIRE_VERSION>;
563
+ export type SignedMeshEnvelopeV1<TPayload extends MeshMessagePayload = MeshMessagePayload> = SignedMeshEnvelope<TPayload, typeof MESH_WIRE_VERSION>;
564
+ export type UnsignedMeshEnvelopeV0<TPayload extends MeshMessagePayload = MeshMessagePayload> = UnsignedMeshEnvelope<TPayload, typeof MESH_PREVIOUS_WIRE_VERSION>;
565
+ export type UnsignedMeshEnvelopeV1<TPayload extends MeshMessagePayload = MeshMessagePayload> = UnsignedMeshEnvelope<TPayload, typeof MESH_WIRE_VERSION>;
566
+ export type VerifiedMeshEnvelopeV0<TPayload extends MeshMessagePayload = MeshMessagePayload> = VerifiedMeshEnvelope<TPayload, typeof MESH_PREVIOUS_WIRE_VERSION>;
567
+ export type VerifiedMeshEnvelopeV1<TPayload extends MeshMessagePayload = MeshMessagePayload> = VerifiedMeshEnvelope<TPayload, typeof MESH_WIRE_VERSION>;
553
568
  /** Explicit parser and protocol bounds. */
554
569
  export interface MeshProtocolLimits {
555
570
  readonly maximumEnvelopeBytes: number;
@@ -579,6 +594,8 @@ export interface MeshProtocolIssue {
579
594
  /** Optional limit overrides used by pure parsing and serialization helpers. */
580
595
  export interface MeshProtocolOptions {
581
596
  readonly limits?: Partial<MeshProtocolLimits>;
597
+ /** Optional read-policy narrowing; unsupported versions cannot be added. */
598
+ readonly acceptedWireVersions?: readonly MeshWireVersion[];
582
599
  }
583
600
  /** Local context applied after structural envelope validation. */
584
601
  export interface MeshEnvelopeContext {
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
package/dist/contracts.js CHANGED
@@ -1,8 +1,15 @@
1
1
  /** Public protocol contracts shared by parsing and validation. */
2
2
  /** Exact protocol identifier signed by every Mesh peer. */
3
3
  export const MESH_PROTOCOL = 'agentplat.mesh';
4
- /** Alpha releases use wire version zero until beta fixtures are frozen. */
5
- export const MESH_WIRE_VERSION = 0;
4
+ /** Current wire version emitted by Beta writers. */
5
+ export const MESH_WIRE_VERSION = 1;
6
+ /** Preceding wire version retained for explicit Alpha compatibility. */
7
+ export const MESH_PREVIOUS_WIRE_VERSION = 0;
8
+ /** Complete built-in read set in ascending preference order. */
9
+ export const MESH_SUPPORTED_WIRE_VERSIONS = Object.freeze([
10
+ MESH_PREVIOUS_WIRE_VERSION,
11
+ MESH_WIRE_VERSION,
12
+ ]);
6
13
  /** Reference signature suite for the initial protocol. */
7
14
  export const MESH_SIGNATURE_ALGORITHM = 'Ed25519';
8
15
  /** Closed audience topics recognized by protocol v0. */
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,2DAA2D;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAyB,CAAC;AAEvD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAU,CAAC;AAE5C,0DAA0D;AAC1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAkB,CAAC;AAE3D,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,MAAM;IACN,UAAU;CACF,CAAC,CAAC;AAEZ,mFAAmF;AACnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,YAAY;IACZ,WAAW;IACX,WAAW;IACX,eAAe;IACf,aAAa;IACb,mBAAmB;IACnB,oBAAoB;IACpB,cAAc;IACd,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,aAAa;IACb,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,aAAa;IACb,cAAc;IACd,aAAa;IACb,aAAa;IACb,yBAAyB;IACzB,YAAY;IACZ,mBAAmB;IACnB,gBAAgB;IAChB,iBAAiB;IACjB,oBAAoB;IACpB,kBAAkB;IAClB,mBAAmB;CACX,CAAC,CAAC;AAurBZ,2DAA2D;AAC3D,MAAM,CAAC,MAAM,4BAA4B,GACvC,MAAM,CAAC,MAAM,CAAC;IACZ,oBAAoB,EAAE,OAAO;IAC7B,mBAAmB,EAAE,OAAO;IAC5B,mBAAmB,EAAE,EAAE;IACvB,sBAAsB,EAAE,KAAK;IAC7B,iBAAiB,EAAE,GAAG;IACtB,sBAAsB,EAAE,KAAK;IAC7B,iBAAiB,EAAE,KAAK;IACxB,kBAAkB,EAAE,MAAM;IAC1B,iBAAiB,EAAE,EAAE;IACrB,yBAAyB,EAAE,CAAC;IAC5B,cAAc,EAAE,GAAG;IACnB,iBAAiB,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK;IAClC,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK;IACpC,gBAAgB,EAAE,KAAK;CACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,2DAA2D;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAyB,CAAC;AAEvD,oDAAoD;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAU,CAAC;AAE5C,wEAAwE;AACxE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAU,CAAC;AAErD,gEAAgE;AAChE,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC;IACxD,0BAA0B;IAC1B,iBAAiB;CACT,CAAC,CAAC;AAKZ,0DAA0D;AAC1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAkB,CAAC;AAE3D,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,MAAM;IACN,UAAU;CACF,CAAC,CAAC;AAEZ,mFAAmF;AACnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,YAAY;IACZ,WAAW;IACX,WAAW;IACX,eAAe;IACf,aAAa;IACb,mBAAmB;IACnB,oBAAoB;IACpB,cAAc;IACd,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,aAAa;IACb,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,aAAa;IACb,cAAc;IACd,aAAa;IACb,aAAa;IACb,yBAAyB;IACzB,YAAY;IACZ,mBAAmB;IACnB,gBAAgB;IAChB,iBAAiB;IACjB,oBAAoB;IACpB,kBAAkB;IAClB,mBAAmB;CACX,CAAC,CAAC;AAutBZ,2DAA2D;AAC3D,MAAM,CAAC,MAAM,4BAA4B,GACvC,MAAM,CAAC,MAAM,CAAC;IACZ,oBAAoB,EAAE,OAAO;IAC7B,mBAAmB,EAAE,OAAO;IAC5B,mBAAmB,EAAE,EAAE;IACvB,sBAAsB,EAAE,KAAK;IAC7B,iBAAiB,EAAE,GAAG;IACtB,sBAAsB,EAAE,KAAK;IAC7B,iBAAiB,EAAE,KAAK;IACxB,kBAAkB,EAAE,MAAM;IAC1B,iBAAiB,EAAE,EAAE;IACrB,yBAAyB,EAAE,CAAC;IAC5B,cAAc,EAAE,GAAG;IACnB,iBAAiB,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK;IAClC,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK;IACpC,gBAAgB,EAAE,KAAK;CACxB,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export * from './contracts.js';
2
- export { canonicalizeMeshJson, canonicalizeMeshJsonBytes, canonicalizeMeshPayload, canonicalizeMeshSigningDocument, compareMeshTimestamps, createMeshSigningDocument, parseMeshJson, parseSignedMeshEnvelope, validateMeshEnvelopeContext, validateSignedMeshEnvelope, } from './validation.js';
2
+ export { canonicalizeMeshJson, canonicalizeMeshJsonBytes, canonicalizeMeshPayload, canonicalizeMeshSigningDocument, compareMeshTimestamps, createMeshSigningDocument, parseMeshJson, parseSignedMeshEnvelope, parseSignedMeshEnvelopeV0, parseSignedMeshEnvelopeV1, validateMeshEnvelopeContext, validateSignedMeshEnvelope, validateSignedMeshEnvelopeV0, validateSignedMeshEnvelopeV1, } from './validation.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export * from './contracts.js';
2
- export { canonicalizeMeshJson, canonicalizeMeshJsonBytes, canonicalizeMeshPayload, canonicalizeMeshSigningDocument, compareMeshTimestamps, createMeshSigningDocument, parseMeshJson, parseSignedMeshEnvelope, validateMeshEnvelopeContext, validateSignedMeshEnvelope, } from './validation.js';
2
+ export { canonicalizeMeshJson, canonicalizeMeshJsonBytes, canonicalizeMeshPayload, canonicalizeMeshSigningDocument, compareMeshTimestamps, createMeshSigningDocument, parseMeshJson, parseSignedMeshEnvelope, parseSignedMeshEnvelopeV0, parseSignedMeshEnvelopeV1, validateMeshEnvelopeContext, validateSignedMeshEnvelope, validateSignedMeshEnvelopeV0, validateSignedMeshEnvelopeV1, } from './validation.js';
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type MeshEnvelope, type MeshEnvelopeContext, type MeshJsonValue, type MeshMessagePayload, type MeshProtocolOptions, type MeshProtocolResult, type MeshSigningDocument, type MeshTimestampOrder, type SignedMeshEnvelope } from './contracts.js';
1
+ import { type MeshEnvelope, type MeshEnvelopeContext, type MeshJsonValue, type MeshMessagePayload, type MeshProtocolOptions, type MeshProtocolResult, type MeshSigningDocument, type MeshTimestampOrder, type SignedMeshEnvelope, type SignedMeshEnvelopeV0, type SignedMeshEnvelopeV1 } from './contracts.js';
2
2
  /** Strictly parses any bounded JSON value without losing duplicate-key data. */
3
3
  export declare function parseMeshJson(input: string | Uint8Array, options?: MeshProtocolOptions): MeshProtocolResult<MeshJsonValue>;
4
4
  /** Canonicalizes an I-JSON-compatible value using RFC 8785 ordering rules. */
@@ -12,11 +12,19 @@ export declare function compareMeshTimestamps(left: string, right: string): Mesh
12
12
  * This stage does not verify the payload digest or proof.
13
13
  */
14
14
  export declare function parseSignedMeshEnvelope(input: Uint8Array, options?: MeshProtocolOptions): MeshProtocolResult<SignedMeshEnvelope>;
15
+ /** Strictly parses one compatibility wire-v0 envelope. */
16
+ export declare function parseSignedMeshEnvelopeV0(input: Uint8Array, options?: Omit<MeshProtocolOptions, 'acceptedWireVersions'>): MeshProtocolResult<SignedMeshEnvelopeV0>;
17
+ /** Strictly parses one current wire-v1 envelope. */
18
+ export declare function parseSignedMeshEnvelopeV1(input: Uint8Array, options?: Omit<MeshProtocolOptions, 'acceptedWireVersions'>): MeshProtocolResult<SignedMeshEnvelopeV1>;
15
19
  /**
16
20
  * Validates an in-memory envelope and returns a deeply frozen signed value.
17
21
  * This stage does not verify the payload digest or proof.
18
22
  */
19
23
  export declare function validateSignedMeshEnvelope(input: unknown, options?: MeshProtocolOptions): MeshProtocolResult<SignedMeshEnvelope>;
24
+ /** Validates and narrows one in-memory compatibility wire-v0 envelope. */
25
+ export declare function validateSignedMeshEnvelopeV0(input: unknown, options?: Omit<MeshProtocolOptions, 'acceptedWireVersions'>): MeshProtocolResult<SignedMeshEnvelopeV0>;
26
+ /** Validates and narrows one in-memory current wire-v1 envelope. */
27
+ export declare function validateSignedMeshEnvelopeV1(input: unknown, options?: Omit<MeshProtocolOptions, 'acceptedWireVersions'>): MeshProtocolResult<SignedMeshEnvelopeV1>;
20
28
  /**
21
29
  * Applies receiver scope, freshness and critical-extension support.
22
30
  * This stage does not perform peer admission or replay acceptance.
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AASA,OAAO,EAmBL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EAKxB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAIvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAEvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAWvB,KAAK,kBAAkB,EAmBxB,MAAM,gBAAgB,CAAC;AA6FxB,gFAAgF;AAChF,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,GAAG,UAAU,EAC1B,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,aAAa,CAAC,CAKnC;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,MAAM,CAAC,CAG5B;AAED,+EAA+E;AAC/E,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,UAAU,CAAC,CAGhC;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,kBAAkB,CAAC,kBAAkB,CAAC,CAgBxC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,kBAAkB,CAAC,CAWxC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,kBAAkB,CAAC,CA8BxC;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,kBAAkB,CAAC,CAgExC;AAED,mEAAmE;AACnE,wBAAgB,yBAAyB,CAAC,QAAQ,SAAS,kBAAkB,EAC3E,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,GAC/B,mBAAmB,CAAC,QAAQ,CAAC,CAmC/B;AAED,iFAAiF;AACjF,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,UAAU,CAAC,CAKhC;AAED,6EAA6E;AAC7E,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,UAAU,CAAC,CAQhC"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AASA,OAAO,EAqBL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EAKxB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAIvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAEvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAYvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAmB1B,MAAM,gBAAgB,CAAC;AA6FxB,gFAAgF;AAChF,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,GAAG,UAAU,EAC1B,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,aAAa,CAAC,CAKnC;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,MAAM,CAAC,CAG5B;AAED,+EAA+E;AAC/E,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,UAAU,CAAC,CAGhC;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,kBAAkB,CAAC,kBAAkB,CAAC,CAgBxC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,kBAAkB,CAAC,CAiBxC;AAED,0DAA0D;AAC1D,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,CAAM,GAC9D,kBAAkB,CAAC,oBAAoB,CAAC,CAK1C;AAED,oDAAoD;AACpD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,CAAM,GAC9D,kBAAkB,CAAC,oBAAoB,CAAC,CAK1C;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,kBAAkB,CAAC,CAiCxC;AAED,0EAA0E;AAC1E,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,CAAM,GAC9D,kBAAkB,CAAC,oBAAoB,CAAC,CAK1C;AAED,oEAAoE;AACpE,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,CAAM,GAC9D,kBAAkB,CAAC,oBAAoB,CAAC,CAK1C;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,kBAAkB,CAAC,CAiExC;AAED,mEAAmE;AACnE,wBAAgB,yBAAyB,CAAC,QAAQ,SAAS,kBAAkB,EAC3E,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,GAC/B,mBAAmB,CAAC,QAAQ,CAAC,CAmC/B;AAED,iFAAiF;AACjF,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,UAAU,CAAC,CAKhC;AAED,6EAA6E;AAC7E,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAAC,UAAU,CAAC,CAQhC"}
@@ -1,6 +1,6 @@
1
1
  import { canonicalizeJsonValue } from './canonical-json.js';
2
2
  import { normalizeMeshEvidenceAttestationV1, normalizeMeshEvidenceChallengeV1, normalizeMeshEvidenceClaimV1, normalizeMeshEvidenceRetractionV1, normalizeMeshTrustObservationV1, } from '@agentplat/trust/mesh-records';
3
- import { DEFAULT_MESH_PROTOCOL_LIMITS, MESH_AUDIENCE_TOPICS, MESH_MESSAGE_TYPES, MESH_PROTOCOL, MESH_SIGNATURE_ALGORITHM, MESH_WIRE_VERSION, } from './contracts.js';
3
+ import { DEFAULT_MESH_PROTOCOL_LIMITS, MESH_AUDIENCE_TOPICS, MESH_MESSAGE_TYPES, MESH_PREVIOUS_WIRE_VERSION, MESH_PROTOCOL, MESH_SIGNATURE_ALGORITHM, MESH_SUPPORTED_WIRE_VERSIONS, MESH_WIRE_VERSION, } from './contracts.js';
4
4
  import { parseStrictJsonDocument, } from './strict-json.js';
5
5
  const identifierPattern = /^[A-Za-z0-9][A-Za-z0-9._:@-]*$/;
6
6
  const base64UrlPattern = /^[A-Za-z0-9_-]+$/;
@@ -120,6 +120,7 @@ export function compareMeshTimestamps(left, right) {
120
120
  */
121
121
  export function parseSignedMeshEnvelope(input, options = {}) {
122
122
  const limits = resolveLimits(options.limits);
123
+ const acceptedWireVersions = resolveAcceptedWireVersions(options.acceptedWireVersions);
123
124
  const parsed = parseStrictJsonDocument(input, strictLimits(limits));
124
125
  if (!parsed.ok)
125
126
  return failure(parsed.code, parsed.path);
@@ -127,7 +128,24 @@ export function parseSignedMeshEnvelope(input, options = {}) {
127
128
  parsed.payloadByteLength > limits.maximumPayloadBytes) {
128
129
  return failure('structural_limit_exceeded', '$["payload"]');
129
130
  }
130
- return validateSignedMeshEnvelope(parsed.value, { limits });
131
+ return validateSignedMeshEnvelope(parsed.value, {
132
+ acceptedWireVersions: [...acceptedWireVersions],
133
+ limits,
134
+ });
135
+ }
136
+ /** Strictly parses one compatibility wire-v0 envelope. */
137
+ export function parseSignedMeshEnvelopeV0(input, options = {}) {
138
+ return parseSignedMeshEnvelope(input, {
139
+ ...options,
140
+ acceptedWireVersions: [MESH_PREVIOUS_WIRE_VERSION],
141
+ });
142
+ }
143
+ /** Strictly parses one current wire-v1 envelope. */
144
+ export function parseSignedMeshEnvelopeV1(input, options = {}) {
145
+ return parseSignedMeshEnvelope(input, {
146
+ ...options,
147
+ acceptedWireVersions: [MESH_WIRE_VERSION],
148
+ });
131
149
  }
132
150
  /**
133
151
  * Validates an in-memory envelope and returns a deeply frozen signed value.
@@ -136,11 +154,12 @@ export function parseSignedMeshEnvelope(input, options = {}) {
136
154
  export function validateSignedMeshEnvelope(input, options = {}) {
137
155
  const limits = resolveLimits(options.limits);
138
156
  try {
157
+ const acceptedWireVersions = resolveAcceptedWireVersions(options.acceptedWireVersions);
139
158
  const envelopeCanonicalization = canonicalizeJsonValue(input, strictLimits(limits), limits.maximumEnvelopeBytes);
140
159
  if (!envelopeCanonicalization.ok) {
141
160
  return failure(envelopeCanonicalization.code, envelopeCanonicalization.path);
142
161
  }
143
- const envelope = validateEnvelope(input, limits);
162
+ const envelope = validateEnvelope(input, limits, acceptedWireVersions);
144
163
  const payloadCanonicalization = canonicalizeJsonValue(envelope.payload, strictLimits(limits), limits.maximumPayloadBytes);
145
164
  if (!payloadCanonicalization.ok) {
146
165
  return failure(payloadCanonicalization.code, prefixPath('$["payload"]', payloadCanonicalization.path));
@@ -151,6 +170,20 @@ export function validateSignedMeshEnvelope(input, options = {}) {
151
170
  return validationFailure(error);
152
171
  }
153
172
  }
173
+ /** Validates and narrows one in-memory compatibility wire-v0 envelope. */
174
+ export function validateSignedMeshEnvelopeV0(input, options = {}) {
175
+ return validateSignedMeshEnvelope(input, {
176
+ ...options,
177
+ acceptedWireVersions: [MESH_PREVIOUS_WIRE_VERSION],
178
+ });
179
+ }
180
+ /** Validates and narrows one in-memory current wire-v1 envelope. */
181
+ export function validateSignedMeshEnvelopeV1(input, options = {}) {
182
+ return validateSignedMeshEnvelope(input, {
183
+ ...options,
184
+ acceptedWireVersions: [MESH_WIRE_VERSION],
185
+ });
186
+ }
154
187
  /**
155
188
  * Applies receiver scope, freshness and critical-extension support.
156
189
  * This stage does not perform peer admission or replay acceptance.
@@ -159,6 +192,7 @@ export function validateMeshEnvelopeContext(envelope, context, options = {}) {
159
192
  const limits = resolveLimits(options.limits);
160
193
  try {
161
194
  const structuralValidation = validateSignedMeshEnvelope(envelope, {
195
+ acceptedWireVersions: options.acceptedWireVersions,
162
196
  limits,
163
197
  });
164
198
  if (!structuralValidation.ok)
@@ -248,14 +282,16 @@ export function canonicalizeMeshPayload(payload, options = {}) {
248
282
  const result = canonicalizeJsonValue(payload, strictLimits(limits), limits.maximumPayloadBytes);
249
283
  return result.ok ? success(result.bytes) : failure(result.code, result.path);
250
284
  }
251
- function validateEnvelope(input, limits) {
285
+ function validateEnvelope(input, limits, acceptedWireVersions) {
252
286
  const envelope = assertClosedRecord(input, [], [...topLevelRequiredKeys, ...topLevelOptionalKeys], '$', 'unknown_envelope_field');
253
287
  if (envelope.protocol !== MESH_PROTOCOL) {
254
288
  fail('invalid_protocol', '$["protocol"]');
255
289
  }
256
- if (envelope.wireVersion !== MESH_WIRE_VERSION) {
290
+ if (!MESH_SUPPORTED_WIRE_VERSIONS.includes(envelope.wireVersion) ||
291
+ !acceptedWireVersions.has(envelope.wireVersion)) {
257
292
  fail('unsupported_wire_version', '$["wireVersion"]');
258
293
  }
294
+ const wireVersion = envelope.wireVersion;
259
295
  const messageId = assertMessageId(envelope.messageId, '$["messageId"]');
260
296
  const tenantId = assertIdentifier(envelope.tenantId, '$["tenantId"]', limits);
261
297
  const meshId = assertIdentifier(envelope.meshId, '$["meshId"]', limits);
@@ -284,7 +320,7 @@ function validateEnvelope(input, limits) {
284
320
  ? undefined
285
321
  : assertMessageId(envelope.causationId, '$["causationId"]');
286
322
  const payloadHash = assertPayloadHash(envelope.payloadHash, '$["payloadHash"]');
287
- const payload = validatePayload(type, envelope.payload, limits);
323
+ const payload = validatePayload(type, envelope.payload, limits, wireVersion);
288
324
  const proof = validateProof(envelope.proof, limits);
289
325
  const extensions = envelope.extensions === undefined
290
326
  ? undefined
@@ -299,7 +335,7 @@ function validateEnvelope(input, limits) {
299
335
  validateEvidenceTrustBinding(tenantId, meshId, objectiveId, sender, causationId, payload);
300
336
  return {
301
337
  protocol: MESH_PROTOCOL,
302
- wireVersion: MESH_WIRE_VERSION,
338
+ wireVersion,
303
339
  messageId,
304
340
  tenantId,
305
341
  meshId,
@@ -345,7 +381,7 @@ function validateAudience(input, limits) {
345
381
  }
346
382
  return fail('invalid_audience', '$["audience"]["kind"]');
347
383
  }
348
- function validatePayload(type, input, limits) {
384
+ function validatePayload(type, input, limits, wireVersion) {
349
385
  if (type === 'peer.hello') {
350
386
  const payload = assertClosedRecord(input, ['cardRevision', 'peerCardId', 'type'], [], '$["payload"]', 'invalid_payload');
351
387
  const result = {
@@ -386,7 +422,7 @@ function validatePayload(type, input, limits) {
386
422
  cardRevision,
387
423
  subjectPeerId: assertIdentifier(payload.subjectPeerId, '$["payload"]["subjectPeerId"]', limits),
388
424
  instanceId: assertIdentifier(payload.instanceId, '$["payload"]["instanceId"]', limits),
389
- protocolVersions: validateProtocolVersions(payload.protocolVersions),
425
+ protocolVersions: validateProtocolVersions(payload.protocolVersions, wireVersion),
390
426
  transportHints: validateBoundedStringArray(payload.transportHints, '$["payload"]["transportHints"]', maximumTransportHints, maximumTransportHintBytes, maximumTransportHintsBytes, true),
391
427
  capabilityIds: validateIdentifierArray(payload.capabilityIds, '$["payload"]["capabilityIds"]', maximumCapabilityIds, limits),
392
428
  validFrom: validFrom.text,
@@ -2356,7 +2392,7 @@ function assertRfc3339PayloadTimestamp(input, path) {
2356
2392
  throw error;
2357
2393
  }
2358
2394
  }
2359
- function validateProtocolVersions(input) {
2395
+ function validateProtocolVersions(input, envelopeWireVersion) {
2360
2396
  const path = '$["payload"]["protocolVersions"]';
2361
2397
  if (!Array.isArray(input) ||
2362
2398
  input.length === 0 ||
@@ -2373,7 +2409,7 @@ function validateProtocolVersions(input) {
2373
2409
  (previous !== undefined && value <= previous)) {
2374
2410
  fail('invalid_payload', `${path}[${index}]`);
2375
2411
  }
2376
- if (value === MESH_WIRE_VERSION)
2412
+ if (value === envelopeWireVersion)
2377
2413
  includesCurrentWireVersion = true;
2378
2414
  previous = value;
2379
2415
  result.push(value);
@@ -2704,7 +2740,11 @@ function isImplementedMessageType(value) {
2704
2740
  value === 'trust.observation');
2705
2741
  }
2706
2742
  function canonicalizeMeshJsonInternal(input, options) {
2707
- const limits = resolveLimits(options.limits);
2743
+ // Generic canonicalization is also used for bounded simulator artifacts,
2744
+ // whose aggregate document ceilings are intentionally larger than one wire
2745
+ // envelope. Envelope parsing and validation continue to use resolveLimits,
2746
+ // which only permits narrowing the frozen protocol maxima.
2747
+ const limits = resolveGenericJsonLimits(options.limits);
2708
2748
  const result = canonicalizeJsonValue(input, strictLimits(limits), limits.maximumEnvelopeBytes);
2709
2749
  return result.ok
2710
2750
  ? result
@@ -2713,6 +2753,22 @@ function canonicalizeMeshJsonInternal(input, options) {
2713
2753
  issues: [{ code: result.code, path: result.path }],
2714
2754
  };
2715
2755
  }
2756
+ function resolveGenericJsonLimits(overrides) {
2757
+ const result = {
2758
+ ...DEFAULT_MESH_PROTOCOL_LIMITS,
2759
+ };
2760
+ if (overrides) {
2761
+ for (const key of Object.keys(overrides)) {
2762
+ const value = overrides[key];
2763
+ if (value !== undefined && (!Number.isSafeInteger(value) || value < 1)) {
2764
+ throw new RangeError(`Invalid Mesh protocol limit: ${key}`);
2765
+ }
2766
+ if (value !== undefined)
2767
+ result[key] = value;
2768
+ }
2769
+ }
2770
+ return Object.freeze(result);
2771
+ }
2716
2772
  function resolveLimits(overrides) {
2717
2773
  const result = {
2718
2774
  ...DEFAULT_MESH_PROTOCOL_LIMITS,
@@ -2723,12 +2779,32 @@ function resolveLimits(overrides) {
2723
2779
  if (value !== undefined && (!Number.isSafeInteger(value) || value < 1)) {
2724
2780
  throw new RangeError(`Invalid Mesh protocol limit: ${key}`);
2725
2781
  }
2782
+ if (value !== undefined && value > DEFAULT_MESH_PROTOCOL_LIMITS[key]) {
2783
+ throw new RangeError(`Mesh protocol limit may only be narrowed: ${key}`);
2784
+ }
2726
2785
  if (value !== undefined)
2727
2786
  result[key] = value;
2728
2787
  }
2729
2788
  }
2730
2789
  return Object.freeze(result);
2731
2790
  }
2791
+ function resolveAcceptedWireVersions(versions) {
2792
+ const requested = versions ?? MESH_SUPPORTED_WIRE_VERSIONS;
2793
+ if (requested.length === 0) {
2794
+ throw new RangeError('At least one Mesh wire version must be accepted');
2795
+ }
2796
+ const accepted = new Set();
2797
+ for (const version of requested) {
2798
+ if (!MESH_SUPPORTED_WIRE_VERSIONS.includes(version)) {
2799
+ throw new RangeError(`Unsupported Mesh wire version policy: ${version}`);
2800
+ }
2801
+ if (accepted.has(version)) {
2802
+ throw new RangeError(`Duplicate Mesh wire version policy: ${version}`);
2803
+ }
2804
+ accepted.add(version);
2805
+ }
2806
+ return accepted;
2807
+ }
2732
2808
  function strictLimits(limits) {
2733
2809
  return {
2734
2810
  maximumEnvelopeBytes: limits.maximumEnvelopeBytes,