@origintrail-official/dkg-core 10.0.11 → 10.0.13

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 (63) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +29 -29
  3. package/dist/assertion-seal.js +46 -1
  4. package/dist/assertion-seal.js.map +1 -1
  5. package/dist/author-catalog-codec.d.ts +8 -20
  6. package/dist/author-catalog-codec.d.ts.map +1 -1
  7. package/dist/author-catalog-codec.js +33 -41
  8. package/dist/author-catalog-codec.js.map +1 -1
  9. package/dist/author-lane-scope-v1.d.ts +40 -0
  10. package/dist/author-lane-scope-v1.d.ts.map +1 -0
  11. package/dist/author-lane-scope-v1.js +168 -0
  12. package/dist/author-lane-scope-v1.js.map +1 -0
  13. package/dist/backpressure-observability.d.ts +273 -0
  14. package/dist/backpressure-observability.d.ts.map +1 -0
  15. package/dist/backpressure-observability.js +572 -0
  16. package/dist/backpressure-observability.js.map +1 -0
  17. package/dist/canonical-graph-scoped-author-seal.d.ts +2 -5
  18. package/dist/canonical-graph-scoped-author-seal.d.ts.map +1 -1
  19. package/dist/canonical-graph-scoped-author-seal.js +40 -32
  20. package/dist/canonical-graph-scoped-author-seal.js.map +1 -1
  21. package/dist/cg-shared-projection.d.ts.map +1 -1
  22. package/dist/cg-shared-projection.js +2 -10
  23. package/dist/cg-shared-projection.js.map +1 -1
  24. package/dist/genesis.js +15 -15
  25. package/dist/graph-knowledge-asset-metadata.js +106 -106
  26. package/dist/imported-artifact-metadata.js +31 -31
  27. package/dist/index.d.ts +5 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +4 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/ka-bundle-v1.d.ts +2 -0
  32. package/dist/ka-bundle-v1.d.ts.map +1 -1
  33. package/dist/ka-bundle-v1.js +7 -2
  34. package/dist/ka-bundle-v1.js.map +1 -1
  35. package/dist/ka-content-scope.d.ts +27 -0
  36. package/dist/ka-content-scope.d.ts.map +1 -1
  37. package/dist/ka-content-scope.js +43 -1
  38. package/dist/ka-content-scope.js.map +1 -1
  39. package/dist/ka-ual-identity.d.ts +33 -0
  40. package/dist/ka-ual-identity.d.ts.map +1 -0
  41. package/dist/ka-ual-identity.js +89 -0
  42. package/dist/ka-ual-identity.js.map +1 -0
  43. package/dist/message-stream-pool.d.ts +15 -0
  44. package/dist/message-stream-pool.d.ts.map +1 -1
  45. package/dist/message-stream-pool.js +23 -0
  46. package/dist/message-stream-pool.js.map +1 -1
  47. package/dist/protocol-router.d.ts +18 -0
  48. package/dist/protocol-router.d.ts.map +1 -1
  49. package/dist/protocol-router.js +96 -1
  50. package/dist/protocol-router.js.map +1 -1
  51. package/dist/swm-author-inventory-v1.d.ts +83 -0
  52. package/dist/swm-author-inventory-v1.d.ts.map +1 -0
  53. package/dist/swm-author-inventory-v1.js +379 -0
  54. package/dist/swm-author-inventory-v1.js.map +1 -0
  55. package/dist/telemetry-api.d.ts +76 -0
  56. package/dist/telemetry-api.d.ts.map +1 -1
  57. package/dist/telemetry-api.js +101 -0
  58. package/dist/telemetry-api.js.map +1 -1
  59. package/dist/vm-update-convergence.d.ts +277 -0
  60. package/dist/vm-update-convergence.d.ts.map +1 -0
  61. package/dist/vm-update-convergence.js +715 -0
  62. package/dist/vm-update-convergence.js.map +1 -0
  63. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-router.js","sourceRoot":"","sources":["../src/protocol-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol-router.js","sourceRoot":"","sources":["../src/protocol-router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { type AssertionCoordinateV1 } from './author-catalog-codec.js';
2
+ import { type AuthorLaneScopeV1 } from './author-lane-scope-v1.js';
3
+ import { type StrictJsonParseOptions } from './canonical-json.js';
4
+ import { type CanonicalDeterministicUalV1 } from './ka-content-scope.js';
5
+ import { type SignedControlEnvelopeV1, type UnsignedControlEnvelopeV1 } from './sync-control-object.js';
6
+ import { type CountV1, type DecimalU64V1, type Digest32V1, type TimestampMsV1 } from './sync-wire-scalars.js';
7
+ export declare const SWM_AUTHOR_INVENTORY_HEAD_OBJECT_TYPE_V1: "SwmAuthorInventoryHeadV1";
8
+ export declare const SWM_AUTHOR_INVENTORY_SCOPE_DIGEST_DOMAIN_V1: "dkg-swm-author-inventory-scope-v1\n";
9
+ export declare const SWM_AUTHOR_INVENTORY_ROWS_DIGEST_DOMAIN_V1: "dkg-swm-author-inventory-rows-v1\n";
10
+ export declare const MAX_SWM_AUTHOR_INVENTORY_HEAD_BYTES_V1: number;
11
+ export declare const MAX_SWM_AUTHOR_INVENTORY_ROWS_BYTES_V1: number;
12
+ export declare const MAX_SWM_AUTHOR_INVENTORY_ROWS_V1 = 100000;
13
+ export declare const MAX_SWM_AUTHOR_INVENTORY_SHARE_OPERATION_ID_BYTES_V1 = 256;
14
+ declare const SWM_AUTHOR_INVENTORY_SHARE_OPERATION_ID_V1_BRAND: unique symbol;
15
+ /** Canonical publisher-minted operation identity committed by an SWM inventory row. */
16
+ export type SwmAuthorInventoryShareOperationIdV1 = string & {
17
+ readonly [SWM_AUTHOR_INVENTORY_SHARE_OPERATION_ID_V1_BRAND]: true;
18
+ };
19
+ /**
20
+ * Exact public-CG lane whose active, author-sealed SWM-only set is attested.
21
+ * The separate object type and digest domain deliberately prevent this
22
+ * pre-finalization claim from being mistaken for a finalized-VM catalog.
23
+ */
24
+ export interface SwmAuthorInventoryScopeV1 extends AuthorLaneScopeV1 {
25
+ }
26
+ /** One active, completely committed SWM assertion. */
27
+ export interface SwmAuthorInventoryRowV1 {
28
+ readonly assertionCoordinate: AssertionCoordinateV1;
29
+ readonly assertionVersion: DecimalU64V1;
30
+ readonly kaUal: CanonicalDeterministicUalV1;
31
+ readonly shareOperationId: SwmAuthorInventoryShareOperationIdV1;
32
+ readonly projectionDigest: Digest32V1;
33
+ readonly publicTripleCount: CountV1;
34
+ readonly privateTripleCount: CountV1;
35
+ readonly sealDigest: Digest32V1;
36
+ readonly sharedAt: TimestampMsV1;
37
+ readonly expiresAt: TimestampMsV1 | null;
38
+ }
39
+ /** Constant-size signed exact-set commitment. The rows remain a separate blob. */
40
+ export interface SwmAuthorInventoryHeadV1 extends SwmAuthorInventoryScopeV1 {
41
+ readonly version: DecimalU64V1;
42
+ readonly previousHeadDigest: Digest32V1 | null;
43
+ readonly totalRows: CountV1;
44
+ readonly rowsDigest: Digest32V1;
45
+ readonly issuedAt: TimestampMsV1;
46
+ }
47
+ export type UnsignedSwmAuthorInventoryHeadEnvelopeV1 = UnsignedControlEnvelopeV1 & {
48
+ readonly objectType: typeof SWM_AUTHOR_INVENTORY_HEAD_OBJECT_TYPE_V1;
49
+ readonly payload: SwmAuthorInventoryHeadV1;
50
+ };
51
+ export type SignedSwmAuthorInventoryHeadEnvelopeV1 = SignedControlEnvelopeV1 & {
52
+ readonly objectType: typeof SWM_AUTHOR_INVENTORY_HEAD_OBJECT_TYPE_V1;
53
+ readonly payload: SwmAuthorInventoryHeadV1;
54
+ };
55
+ export interface SwmAuthorInventorySnapshotV1 {
56
+ readonly head: SignedSwmAuthorInventoryHeadEnvelopeV1;
57
+ readonly rows: readonly SwmAuthorInventoryRowV1[];
58
+ }
59
+ export type SwmAuthorInventoryCodecErrorCodeV1 = 'swm-inventory-schema' | 'swm-inventory-scalar' | 'swm-inventory-order' | 'swm-inventory-duplicate' | 'swm-inventory-binding' | 'swm-inventory-too-large';
60
+ export declare class SwmAuthorInventoryCodecErrorV1 extends Error {
61
+ readonly code: SwmAuthorInventoryCodecErrorCodeV1;
62
+ constructor(code: SwmAuthorInventoryCodecErrorCodeV1, message: string, options?: ErrorOptions);
63
+ }
64
+ export declare function assertSwmAuthorInventoryScopeV1(value: unknown): asserts value is SwmAuthorInventoryScopeV1;
65
+ export declare function canonicalizeSwmAuthorInventoryScopeV1(scope: SwmAuthorInventoryScopeV1): string;
66
+ export declare function computeSwmAuthorInventoryScopeDigestV1(scope: SwmAuthorInventoryScopeV1): Digest32V1;
67
+ export declare function assertSwmAuthorInventoryRowV1(value: unknown): asserts value is SwmAuthorInventoryRowV1;
68
+ export declare function assertSwmAuthorInventoryShareOperationIdV1(value: unknown): asserts value is SwmAuthorInventoryShareOperationIdV1;
69
+ export declare function compareSwmAuthorInventoryRowsV1(left: SwmAuthorInventoryRowV1, right: SwmAuthorInventoryRowV1): number;
70
+ export declare function canonicalizeSwmAuthorInventoryRowsBytesV1(rows: readonly SwmAuthorInventoryRowV1[]): Uint8Array;
71
+ export declare function parseCanonicalSwmAuthorInventoryRowsV1(input: string | Uint8Array, options?: StrictJsonParseOptions): readonly SwmAuthorInventoryRowV1[];
72
+ export declare function computeSwmAuthorInventoryRowsDigestV1(rows: readonly SwmAuthorInventoryRowV1[]): Digest32V1;
73
+ export declare function assertSwmAuthorInventoryHeadV1(value: unknown): asserts value is SwmAuthorInventoryHeadV1;
74
+ export declare function deriveSwmAuthorInventoryScopeFromHeadV1(head: SwmAuthorInventoryHeadV1): SwmAuthorInventoryScopeV1;
75
+ export declare function assertUnsignedSwmAuthorInventoryHeadEnvelopeV1(value: unknown): asserts value is UnsignedSwmAuthorInventoryHeadEnvelopeV1;
76
+ export declare function canonicalizeUnsignedSwmAuthorInventoryHeadEnvelopeBytesV1(envelope: UnsignedSwmAuthorInventoryHeadEnvelopeV1): Uint8Array;
77
+ export declare function computeSwmAuthorInventoryHeadObjectDigestV1(envelope: UnsignedSwmAuthorInventoryHeadEnvelopeV1): Digest32V1;
78
+ export declare function assertSignedSwmAuthorInventoryHeadEnvelopeV1(value: unknown): asserts value is SignedSwmAuthorInventoryHeadEnvelopeV1;
79
+ export declare function canonicalizeSignedSwmAuthorInventoryHeadEnvelopeBytesV1(envelope: SignedSwmAuthorInventoryHeadEnvelopeV1): Uint8Array;
80
+ export declare function parseCanonicalSignedSwmAuthorInventoryHeadEnvelopeV1(input: string | Uint8Array): SignedSwmAuthorInventoryHeadEnvelopeV1;
81
+ export declare function assertSwmAuthorInventorySnapshotBindingV1(snapshot: SwmAuthorInventorySnapshotV1): void;
82
+ export {};
83
+ //# sourceMappingURL=swm-author-inventory-v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swm-author-inventory-v1.d.ts","sourceRoot":"","sources":["../src/swm-author-inventory-v1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,379 @@
1
+ import { sha256 } from '@noble/hashes/sha2.js';
2
+ import { assertAssertionCoordinateV1, } from './author-catalog-codec.js';
3
+ import { AUTHOR_LANE_SCOPE_KEYS_V1, assertAuthorLaneScopeV1, snapshotAuthorLaneScopeV1, } from './author-lane-scope-v1.js';
4
+ import { MAX_SEAL_TRIPLE_COUNT_V1, } from './canonical-graph-scoped-author-seal.js';
5
+ import { canonicalizeJson, parseCanonicalJson, } from './canonical-json.js';
6
+ import { assertCanonicalDeterministicUalV1, } from './ka-content-scope.js';
7
+ import { assertUnsignedControlEnvelope, assertSignedControlEnvelope, canonicalizeUnsignedControlEnvelopeBytes, canonicalizeSignedControlEnvelopeBytes, computeControlObjectDigestHex, parseCanonicalSignedControlEnvelope, } from './sync-control-object.js';
8
+ import { assertCanonicalDigest, assertCanonicalTimestampMs, parseCanonicalDecimalU64, } from './sync-wire-scalars.js';
9
+ import { assertExactKeys, isPlainRecord } from './sync-wire-objects.js';
10
+ export const SWM_AUTHOR_INVENTORY_HEAD_OBJECT_TYPE_V1 = 'SwmAuthorInventoryHeadV1';
11
+ export const SWM_AUTHOR_INVENTORY_SCOPE_DIGEST_DOMAIN_V1 = 'dkg-swm-author-inventory-scope-v1\n';
12
+ export const SWM_AUTHOR_INVENTORY_ROWS_DIGEST_DOMAIN_V1 = 'dkg-swm-author-inventory-rows-v1\n';
13
+ export const MAX_SWM_AUTHOR_INVENTORY_HEAD_BYTES_V1 = 4 * 1024;
14
+ export const MAX_SWM_AUTHOR_INVENTORY_ROWS_BYTES_V1 = 8 * 1024 * 1024;
15
+ export const MAX_SWM_AUTHOR_INVENTORY_ROWS_V1 = 100_000;
16
+ export const MAX_SWM_AUTHOR_INVENTORY_SHARE_OPERATION_ID_BYTES_V1 = 256;
17
+ const UTF8 = new TextEncoder();
18
+ const SCOPE_DOMAIN_BYTES = UTF8.encode(SWM_AUTHOR_INVENTORY_SCOPE_DIGEST_DOMAIN_V1);
19
+ const ROWS_DOMAIN_BYTES = UTF8.encode(SWM_AUTHOR_INVENTORY_ROWS_DIGEST_DOMAIN_V1);
20
+ const SWM_AUTHOR_INVENTORY_SCOPE_KEYS = AUTHOR_LANE_SCOPE_KEYS_V1;
21
+ const SWM_AUTHOR_INVENTORY_HEAD_ONLY_KEYS = Object.freeze([
22
+ 'version',
23
+ 'previousHeadDigest',
24
+ 'totalRows',
25
+ 'rowsDigest',
26
+ 'issuedAt',
27
+ ]);
28
+ const SWM_AUTHOR_INVENTORY_HEAD_KEYS = Object.freeze([
29
+ ...SWM_AUTHOR_INVENTORY_SCOPE_KEYS,
30
+ ...SWM_AUTHOR_INVENTORY_HEAD_ONLY_KEYS,
31
+ ]);
32
+ export class SwmAuthorInventoryCodecErrorV1 extends Error {
33
+ code;
34
+ constructor(code, message, options = {}) {
35
+ super(`[${code}] ${message}`, options);
36
+ this.code = code;
37
+ this.name = 'SwmAuthorInventoryCodecErrorV1';
38
+ }
39
+ }
40
+ export function assertSwmAuthorInventoryScopeV1(value) {
41
+ if (!isPlainRecord(value))
42
+ fail('swm-inventory-schema', 'scope must be a plain object');
43
+ assertExactKeysAdapted(value, SWM_AUTHOR_INVENTORY_SCOPE_KEYS, 'scope');
44
+ adaptScalars(() => assertAuthorLaneScopeV1(value));
45
+ }
46
+ export function canonicalizeSwmAuthorInventoryScopeV1(scope) {
47
+ assertSwmAuthorInventoryScopeV1(scope);
48
+ return canonicalizeJson(scope, {
49
+ maxBytes: MAX_SWM_AUTHOR_INVENTORY_HEAD_BYTES_V1,
50
+ maxDepth: 1,
51
+ });
52
+ }
53
+ export function computeSwmAuthorInventoryScopeDigestV1(scope) {
54
+ return digestWithDomain(SCOPE_DOMAIN_BYTES, UTF8.encode(canonicalizeSwmAuthorInventoryScopeV1(scope)));
55
+ }
56
+ export function assertSwmAuthorInventoryRowV1(value) {
57
+ if (!isPlainRecord(value))
58
+ fail('swm-inventory-schema', 'row must be a plain object');
59
+ assertExactKeysAdapted(value, [
60
+ 'assertionCoordinate',
61
+ 'assertionVersion',
62
+ 'kaUal',
63
+ 'shareOperationId',
64
+ 'projectionDigest',
65
+ 'publicTripleCount',
66
+ 'privateTripleCount',
67
+ 'sealDigest',
68
+ 'sharedAt',
69
+ 'expiresAt',
70
+ ], 'row');
71
+ adaptScalars(() => {
72
+ assertAssertionCoordinateV1(value.assertionCoordinate);
73
+ const assertionVersion = parseCanonicalDecimalU64(value.assertionVersion, 'assertionVersion');
74
+ if (assertionVersion < 1n)
75
+ throw new Error('assertionVersion must be positive');
76
+ assertCanonicalDeterministicUalV1(value.kaUal);
77
+ assertSwmAuthorInventoryShareOperationIdV1(value.shareOperationId);
78
+ assertCanonicalDigest(value.projectionDigest, 'projectionDigest');
79
+ const publicTripleCount = parseCanonicalDecimalU64(value.publicTripleCount, 'publicTripleCount');
80
+ const privateTripleCount = parseCanonicalDecimalU64(value.privateTripleCount, 'privateTripleCount');
81
+ if (publicTripleCount > MAX_SEAL_TRIPLE_COUNT_V1
82
+ || privateTripleCount > MAX_SEAL_TRIPLE_COUNT_V1) {
83
+ throw new Error('triple counts must fit the canonical author seal bounds');
84
+ }
85
+ if (publicTripleCount + privateTripleCount === 0n) {
86
+ throw new Error('inventory row must commit at least one triple');
87
+ }
88
+ assertCanonicalDigest(value.sealDigest, 'sealDigest');
89
+ assertCanonicalTimestampMs(value.sharedAt, 'sharedAt');
90
+ if (value.expiresAt !== null) {
91
+ assertCanonicalTimestampMs(value.expiresAt, 'expiresAt');
92
+ if (BigInt(value.expiresAt) <= BigInt(value.sharedAt)) {
93
+ throw new Error('expiresAt must be later than sharedAt');
94
+ }
95
+ }
96
+ });
97
+ }
98
+ export function assertSwmAuthorInventoryShareOperationIdV1(value) {
99
+ assertBoundedIdentifier(value, 'shareOperationId');
100
+ }
101
+ export function compareSwmAuthorInventoryRowsV1(left, right) {
102
+ const leftIdentity = assertCanonicalDeterministicUalV1(left.kaUal);
103
+ const rightIdentity = assertCanonicalDeterministicUalV1(right.kaUal);
104
+ if (leftIdentity.chainId !== rightIdentity.chainId) {
105
+ return leftIdentity.chainId < rightIdentity.chainId ? -1 : 1;
106
+ }
107
+ if (leftIdentity.agentAddress !== rightIdentity.agentAddress) {
108
+ return leftIdentity.agentAddress < rightIdentity.agentAddress ? -1 : 1;
109
+ }
110
+ const leftNumber = BigInt(leftIdentity.kaNumber);
111
+ const rightNumber = BigInt(rightIdentity.kaNumber);
112
+ return leftNumber < rightNumber ? -1 : leftNumber > rightNumber ? 1 : 0;
113
+ }
114
+ export function canonicalizeSwmAuthorInventoryRowsBytesV1(rows) {
115
+ assertSwmAuthorInventoryRowsV1(rows);
116
+ try {
117
+ return UTF8.encode(canonicalizeJson(rows, {
118
+ maxBytes: MAX_SWM_AUTHOR_INVENTORY_ROWS_BYTES_V1,
119
+ maxDepth: 2,
120
+ }));
121
+ }
122
+ catch (cause) {
123
+ fail('swm-inventory-too-large', 'row set exceeds the canonical v1 byte limit', cause);
124
+ }
125
+ }
126
+ export function parseCanonicalSwmAuthorInventoryRowsV1(input, options = {}) {
127
+ let parsed;
128
+ try {
129
+ parsed = parseCanonicalJson(input, {
130
+ ...options,
131
+ maxBytes: Math.min(options.maxBytes ?? MAX_SWM_AUTHOR_INVENTORY_ROWS_BYTES_V1, MAX_SWM_AUTHOR_INVENTORY_ROWS_BYTES_V1),
132
+ maxDepth: Math.min(options.maxDepth ?? 2, 2),
133
+ });
134
+ }
135
+ catch (cause) {
136
+ fail('swm-inventory-schema', 'rows are not strict canonical JSON', cause);
137
+ }
138
+ assertSwmAuthorInventoryRowsV1(parsed);
139
+ return Object.freeze(parsed.map((row) => Object.freeze({ ...row })));
140
+ }
141
+ export function computeSwmAuthorInventoryRowsDigestV1(rows) {
142
+ return digestWithDomain(ROWS_DOMAIN_BYTES, canonicalizeSwmAuthorInventoryRowsBytesV1(rows));
143
+ }
144
+ export function assertSwmAuthorInventoryHeadV1(value) {
145
+ if (!isPlainRecord(value))
146
+ fail('swm-inventory-schema', 'head must be a plain object');
147
+ assertExactKeysAdapted(value, SWM_AUTHOR_INVENTORY_HEAD_KEYS, 'head');
148
+ const scope = scopeCandidateFromHead(value);
149
+ assertSwmAuthorInventoryScopeV1(scope);
150
+ adaptScalars(() => {
151
+ const version = parseCanonicalDecimalU64(value.version, 'version');
152
+ if (value.previousHeadDigest !== null) {
153
+ assertCanonicalDigest(value.previousHeadDigest, 'previousHeadDigest');
154
+ }
155
+ if ((version === 0n) !== (value.previousHeadDigest === null)) {
156
+ throw new Error('only version 0 may have a null previousHeadDigest');
157
+ }
158
+ const totalRows = parseCanonicalDecimalU64(value.totalRows, 'totalRows');
159
+ if (totalRows > BigInt(MAX_SWM_AUTHOR_INVENTORY_ROWS_V1)) {
160
+ throw new Error(`totalRows must not exceed ${MAX_SWM_AUTHOR_INVENTORY_ROWS_V1}`);
161
+ }
162
+ assertCanonicalDigest(value.rowsDigest, 'rowsDigest');
163
+ assertCanonicalTimestampMs(value.issuedAt, 'issuedAt');
164
+ });
165
+ try {
166
+ canonicalizeJson(value, {
167
+ maxBytes: MAX_SWM_AUTHOR_INVENTORY_HEAD_BYTES_V1,
168
+ maxDepth: 1,
169
+ });
170
+ }
171
+ catch (cause) {
172
+ fail('swm-inventory-too-large', 'head exceeds the canonical v1 byte limit', cause);
173
+ }
174
+ }
175
+ export function deriveSwmAuthorInventoryScopeFromHeadV1(head) {
176
+ assertSwmAuthorInventoryHeadV1(head);
177
+ return snapshotAuthorLaneScopeV1(head);
178
+ }
179
+ export function assertUnsignedSwmAuthorInventoryHeadEnvelopeV1(value) {
180
+ try {
181
+ assertUnsignedControlEnvelope(value);
182
+ }
183
+ catch (cause) {
184
+ fail('swm-inventory-schema', 'head envelope is not an unsigned control object', cause);
185
+ }
186
+ const envelope = value;
187
+ assertSwmAuthorInventoryEnvelopeBinding(envelope);
188
+ try {
189
+ const bytes = canonicalizeUnsignedControlEnvelopeBytes(envelope);
190
+ if (bytes.length > MAX_SWM_AUTHOR_INVENTORY_HEAD_BYTES_V1) {
191
+ fail('swm-inventory-too-large', 'unsigned head exceeds the v1 byte limit');
192
+ }
193
+ }
194
+ catch (cause) {
195
+ if (cause instanceof SwmAuthorInventoryCodecErrorV1)
196
+ throw cause;
197
+ fail('swm-inventory-too-large', 'unsigned head exceeds control-object bounds', cause);
198
+ }
199
+ }
200
+ export function canonicalizeUnsignedSwmAuthorInventoryHeadEnvelopeBytesV1(envelope) {
201
+ assertUnsignedSwmAuthorInventoryHeadEnvelopeV1(envelope);
202
+ return canonicalizeUnsignedControlEnvelopeBytes(envelope);
203
+ }
204
+ export function computeSwmAuthorInventoryHeadObjectDigestV1(envelope) {
205
+ assertUnsignedSwmAuthorInventoryHeadEnvelopeV1(envelope);
206
+ const digest = computeControlObjectDigestHex(envelope);
207
+ assertCanonicalDigest(digest, 'SWM author inventory head objectDigest');
208
+ return digest;
209
+ }
210
+ export function assertSignedSwmAuthorInventoryHeadEnvelopeV1(value) {
211
+ try {
212
+ assertSignedControlEnvelope(value);
213
+ }
214
+ catch (cause) {
215
+ fail('swm-inventory-schema', 'head envelope is not a signed control object', cause);
216
+ }
217
+ const envelope = value;
218
+ assertSwmAuthorInventoryEnvelopeBinding(envelope);
219
+ try {
220
+ const bytes = canonicalizeSignedControlEnvelopeBytes(envelope);
221
+ if (bytes.length > MAX_SWM_AUTHOR_INVENTORY_HEAD_BYTES_V1) {
222
+ fail('swm-inventory-too-large', 'signed head exceeds the v1 byte limit');
223
+ }
224
+ }
225
+ catch (cause) {
226
+ if (cause instanceof SwmAuthorInventoryCodecErrorV1)
227
+ throw cause;
228
+ fail('swm-inventory-too-large', 'signed head exceeds control-object bounds', cause);
229
+ }
230
+ }
231
+ export function canonicalizeSignedSwmAuthorInventoryHeadEnvelopeBytesV1(envelope) {
232
+ assertSignedSwmAuthorInventoryHeadEnvelopeV1(envelope);
233
+ const bytes = canonicalizeSignedControlEnvelopeBytes(envelope);
234
+ if (bytes.length > MAX_SWM_AUTHOR_INVENTORY_HEAD_BYTES_V1) {
235
+ fail('swm-inventory-too-large', 'signed head exceeds the v1 byte limit');
236
+ }
237
+ return bytes;
238
+ }
239
+ export function parseCanonicalSignedSwmAuthorInventoryHeadEnvelopeV1(input) {
240
+ let parsed;
241
+ try {
242
+ parsed = parseCanonicalSignedControlEnvelope(input, {
243
+ maxBytes: MAX_SWM_AUTHOR_INVENTORY_HEAD_BYTES_V1,
244
+ maxDepth: 3,
245
+ });
246
+ }
247
+ catch (cause) {
248
+ fail('swm-inventory-schema', 'signed head is not strict canonical JSON', cause);
249
+ }
250
+ assertSignedSwmAuthorInventoryHeadEnvelopeV1(parsed);
251
+ return parsed;
252
+ }
253
+ export function assertSwmAuthorInventorySnapshotBindingV1(snapshot) {
254
+ assertSignedSwmAuthorInventoryHeadEnvelopeV1(snapshot.head);
255
+ assertSwmAuthorInventoryRowsV1(snapshot.rows);
256
+ const expectedCount = BigInt(snapshot.rows.length);
257
+ if (BigInt(snapshot.head.payload.totalRows) !== expectedCount) {
258
+ fail('swm-inventory-binding', 'head totalRows does not equal the exact row set');
259
+ }
260
+ const expectedRowsDigest = computeSwmAuthorInventoryRowsDigestV1(snapshot.rows);
261
+ if (snapshot.head.payload.rowsDigest !== expectedRowsDigest) {
262
+ fail('swm-inventory-binding', 'head rowsDigest does not commit to the exact row set');
263
+ }
264
+ for (const row of snapshot.rows) {
265
+ const parsedUal = assertCanonicalDeterministicUalV1(row.kaUal);
266
+ if (parsedUal.chainId !== snapshot.head.payload.networkId) {
267
+ fail('swm-inventory-binding', 'row kaUal network does not equal the scoped networkId');
268
+ }
269
+ if (parsedUal.agentAddress !== snapshot.head.payload.authorAddress) {
270
+ fail('swm-inventory-binding', 'row kaUal author does not equal the scoped authorAddress');
271
+ }
272
+ if (BigInt(row.sharedAt) > BigInt(snapshot.head.payload.issuedAt)) {
273
+ fail('swm-inventory-binding', 'row sharedAt must not be later than head issuedAt');
274
+ }
275
+ if (row.expiresAt !== null
276
+ && BigInt(row.expiresAt) <= BigInt(snapshot.head.payload.issuedAt)) {
277
+ fail('swm-inventory-binding', 'row expiresAt must be later than head issuedAt');
278
+ }
279
+ }
280
+ }
281
+ function assertSwmAuthorInventoryRowsV1(value) {
282
+ if (!Array.isArray(value))
283
+ fail('swm-inventory-schema', 'rows must be an array');
284
+ if (value.length > MAX_SWM_AUTHOR_INVENTORY_ROWS_V1) {
285
+ fail('swm-inventory-too-large', 'row set exceeds the v1 row limit');
286
+ }
287
+ let previous;
288
+ const coordinates = new Set();
289
+ const operations = new Set();
290
+ for (let index = 0; index < value.length; index += 1) {
291
+ const row = value[index];
292
+ assertSwmAuthorInventoryRowV1(row);
293
+ if (previous && compareSwmAuthorInventoryRowsV1(previous, row) >= 0) {
294
+ fail(previous.kaUal === row.kaUal ? 'swm-inventory-duplicate' : 'swm-inventory-order', `rows must be strictly ordered by canonical kaUal at index ${index}`);
295
+ }
296
+ if (coordinates.has(row.assertionCoordinate)) {
297
+ fail('swm-inventory-duplicate', 'assertionCoordinate must be unique within a row set');
298
+ }
299
+ if (operations.has(row.shareOperationId)) {
300
+ fail('swm-inventory-duplicate', 'shareOperationId must be unique within a row set');
301
+ }
302
+ coordinates.add(row.assertionCoordinate);
303
+ operations.add(row.shareOperationId);
304
+ previous = row;
305
+ }
306
+ }
307
+ function assertBoundedIdentifier(value, label) {
308
+ if (typeof value !== 'string' || value.length === 0) {
309
+ throw new Error(`${label} must be a nonempty NFC string`);
310
+ }
311
+ // One UTF-16 code unit always encodes to at least one UTF-8 byte. Reject an
312
+ // oversized hostile scalar before normalization performs proportional work.
313
+ if (value.length > MAX_SWM_AUTHOR_INVENTORY_SHARE_OPERATION_ID_BYTES_V1) {
314
+ throw new Error(`${label} exceeds its v1 byte limit`);
315
+ }
316
+ if (value.normalize('NFC') !== value) {
317
+ throw new Error(`${label} must be a nonempty NFC string`);
318
+ }
319
+ const bytes = UTF8.encode(value);
320
+ if (bytes.length > MAX_SWM_AUTHOR_INVENTORY_SHARE_OPERATION_ID_BYTES_V1) {
321
+ throw new Error(`${label} exceeds its v1 byte limit`);
322
+ }
323
+ for (const codePoint of value) {
324
+ const point = codePoint.codePointAt(0);
325
+ if (point <= 0x1f || (point >= 0x7f && point <= 0x9f)) {
326
+ throw new Error(`${label} contains a forbidden control character`);
327
+ }
328
+ }
329
+ }
330
+ function scopeCandidateFromHead(value) {
331
+ return {
332
+ authorAddress: value.authorAddress,
333
+ contextGraphId: value.contextGraphId,
334
+ era: value.era,
335
+ governanceChainId: value.governanceChainId,
336
+ governanceContractAddress: value.governanceContractAddress,
337
+ networkId: value.networkId,
338
+ ownershipTransitionDigest: value.ownershipTransitionDigest,
339
+ subGraphName: value.subGraphName,
340
+ };
341
+ }
342
+ function assertSwmAuthorInventoryEnvelopeBinding(envelope) {
343
+ if (envelope.objectType !== SWM_AUTHOR_INVENTORY_HEAD_OBJECT_TYPE_V1) {
344
+ fail('swm-inventory-schema', 'head envelope has the wrong objectType');
345
+ }
346
+ assertSwmAuthorInventoryHeadV1(envelope.payload);
347
+ if (envelope.issuer !== envelope.payload.authorAddress) {
348
+ fail('swm-inventory-binding', 'head issuer must equal the scoped authorAddress');
349
+ }
350
+ }
351
+ function adaptScalars(operation) {
352
+ try {
353
+ operation();
354
+ }
355
+ catch (cause) {
356
+ if (cause instanceof SwmAuthorInventoryCodecErrorV1)
357
+ throw cause;
358
+ const detail = cause instanceof Error ? `: ${cause.message}` : '';
359
+ fail('swm-inventory-scalar', `inventory scalar is not canonical${detail}`, cause);
360
+ }
361
+ }
362
+ function assertExactKeysAdapted(value, keys, label) {
363
+ try {
364
+ assertExactKeys(value, keys, `SWM author inventory ${label}`);
365
+ }
366
+ catch (cause) {
367
+ fail('swm-inventory-schema', `${label} has unexpected or missing keys`, cause);
368
+ }
369
+ }
370
+ function digestWithDomain(domain, bytes) {
371
+ const hasher = sha256.create();
372
+ hasher.update(domain);
373
+ hasher.update(bytes);
374
+ return `0x${Array.from(hasher.digest(), (byte) => byte.toString(16).padStart(2, '0')).join('')}`;
375
+ }
376
+ function fail(code, message, cause) {
377
+ throw new SwmAuthorInventoryCodecErrorV1(code, message, cause === undefined ? {} : { cause });
378
+ }
379
+ //# sourceMappingURL=swm-author-inventory-v1.js.map