@emilia-protocol/gate 0.15.2 → 0.16.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consequence-actuator.js","sourceRoot":"","sources":["../src/consequence-actuator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Address-pinned, manually redirected resolver for Discovery-to-Permit
3
+ * Continuity. No global or plain fetch path exists.
4
+ */
5
+ import { type DiscoveryPermitResolution, type DiscoveryPermitTrustPins, type DiscoveryPermitTrustPinsInput } from '@emilia-protocol/verify/discovery-permit-contract';
6
+ export interface AddressPinnedFetchContext {
7
+ hostname: string;
8
+ approvedAddresses: readonly string[];
9
+ }
10
+ export interface AddressPinnedFetchResult {
11
+ response: any;
12
+ connectedAddress: string;
13
+ }
14
+ export interface AddressPinnedTransport {
15
+ resolveAddresses(hostname: string, context: {
16
+ signal?: AbortSignal;
17
+ }): readonly string[] | Promise<readonly string[]>;
18
+ fetchPinned(url: string, init: RequestInit, context: AddressPinnedFetchContext): AddressPinnedFetchResult | Promise<AddressPinnedFetchResult>;
19
+ }
20
+ export interface DiscoveryPermitResolverOptions {
21
+ pins: DiscoveryPermitTrustPins | DiscoveryPermitTrustPinsInput;
22
+ transport: AddressPinnedTransport;
23
+ clock?: () => number;
24
+ timeout_ms?: number;
25
+ max_body_bytes?: number;
26
+ max_json_depth?: number;
27
+ }
28
+ export interface DiscoveryPermitResolveInput {
29
+ caid: string;
30
+ action: unknown;
31
+ }
32
+ export declare class DiscoveryPermitResolverError extends Error {
33
+ readonly code: string;
34
+ constructor(code: string, message?: string);
35
+ }
36
+ export declare class DiscoveryPermitResolver {
37
+ #private;
38
+ readonly pins: DiscoveryPermitTrustPins;
39
+ readonly timeout_ms: number;
40
+ readonly max_body_bytes: number;
41
+ readonly max_json_depth: number;
42
+ constructor(options: DiscoveryPermitResolverOptions);
43
+ resolve(input: DiscoveryPermitResolveInput): Promise<DiscoveryPermitResolution>;
44
+ }
45
+ export declare function createDiscoveryPermitResolver(options: DiscoveryPermitResolverOptions): DiscoveryPermitResolver;
46
+ //# sourceMappingURL=discovery-permit-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery-permit-resolver.d.ts","sourceRoot":"","sources":["../src/discovery-permit-resolver.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,EAQL,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EACnC,MAAM,mDAAmD,CAAC;AAG3D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,GAAG,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,CACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAChC,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAClD,WAAW,CACT,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,yBAAyB,GACjC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,wBAAwB,GAAG,6BAA6B,CAAC;IAC/D,SAAS,EAAE,sBAAsB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAOD,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,SAAO;CAKzC;AAwOD,qBAAa,uBAAuB;;IAClC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;gBAMpB,OAAO,EAAE,8BAA8B;IAoJ7C,OAAO,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,yBAAyB,CAAC;CA8BtF;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,8BAA8B,GACtC,uBAAuB,CAEzB"}
@@ -0,0 +1,428 @@
1
+ // @ts-nocheck
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ /**
4
+ * Address-pinned, manually redirected resolver for Discovery-to-Permit
5
+ * Continuity. No global or plain fetch path exists.
6
+ */
7
+ import { canonicalizeDiscoveryPermit, digestDiscoveryPermit, digestDiscoveryPermitRaw, evaluateDiscoveryPermitContinuity, pinDiscoveryPermitTrust, } from '@emilia-protocol/verify/discovery-permit-contract';
8
+ import { strictJsonGate } from '@emilia-protocol/verify/strict-json';
9
+ export class DiscoveryPermitResolverError extends Error {
10
+ code;
11
+ constructor(code, message = code) {
12
+ super(message);
13
+ this.name = 'DiscoveryPermitResolverError';
14
+ this.code = code;
15
+ }
16
+ }
17
+ const INPUT_KEYS = new Set(['caid', 'action']);
18
+ const DEFAULT_TIMEOUT_MS = 5_000;
19
+ const DEFAULT_MAX_BODY_BYTES = 64 * 1024;
20
+ const DEFAULT_MAX_JSON_DEPTH = 16;
21
+ function fail(code, message = code) {
22
+ throw new DiscoveryPermitResolverError(code, message);
23
+ }
24
+ function isObject(value) {
25
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
26
+ }
27
+ function exactInput(value) {
28
+ if (!isObject(value))
29
+ return false;
30
+ const keys = Object.keys(value);
31
+ return keys.length === INPUT_KEYS.size
32
+ && keys.every((key) => INPUT_KEYS.has(key))
33
+ && typeof value.caid === 'string';
34
+ }
35
+ function header(response, name) {
36
+ const headers = response?.headers;
37
+ if (headers && typeof headers.get === 'function') {
38
+ const value = headers.get(name);
39
+ return typeof value === 'string' ? value : null;
40
+ }
41
+ if (isObject(headers)) {
42
+ const entry = Object.entries(headers)
43
+ .find(([key]) => key.toLowerCase() === name.toLowerCase());
44
+ return typeof entry?.[1] === 'string' ? entry[1] : null;
45
+ }
46
+ return null;
47
+ }
48
+ function normalizeHost(value) {
49
+ return typeof value === 'string'
50
+ ? value.trim().toLowerCase().replace(/\.$/, '').replace(/^\[|\]$/g, '')
51
+ : '';
52
+ }
53
+ function isIPv4(value) {
54
+ const parts = value.split('.');
55
+ return parts.length === 4
56
+ && parts.every((part) => /^\d{1,3}$/.test(part)
57
+ && Number(part) >= 0
58
+ && Number(part) <= 255);
59
+ }
60
+ function normalizeIpAddress(value) {
61
+ const raw = normalizeHost(value);
62
+ if (isIPv4(raw)) {
63
+ return raw.split('.').map((part) => String(Number(part))).join('.');
64
+ }
65
+ if (!raw.includes(':'))
66
+ return null;
67
+ try {
68
+ const parsed = new URL(`https://[${raw}]/`);
69
+ const normalized = normalizeHost(parsed.hostname);
70
+ return normalized.includes(':') ? normalized : null;
71
+ }
72
+ catch {
73
+ return null;
74
+ }
75
+ }
76
+ function isPrivateIPv4(host) {
77
+ const [a, b, c] = host.split('.').map(Number);
78
+ return a === 0
79
+ || a === 10
80
+ || a === 127
81
+ || (a === 169 && b === 254)
82
+ || (a === 172 && b >= 16 && b <= 31)
83
+ || (a === 192 && b === 168)
84
+ || (a === 100 && b >= 64 && b <= 127)
85
+ || (a === 192 && b === 0)
86
+ || (a === 192 && b === 88 && c === 99)
87
+ || (a === 198 && (b === 18 || b === 19))
88
+ || (a === 198 && b === 51 && c === 100)
89
+ || (a === 203 && b === 0 && c === 113)
90
+ || a >= 224;
91
+ }
92
+ function isPrivateIPv6(host) {
93
+ const normalized = normalizeIpAddress(host);
94
+ if (!normalized || !normalized.includes(':'))
95
+ return true;
96
+ if (normalized === '::' || normalized === '::1')
97
+ return true;
98
+ const mappedDotted = normalized.match(/^::ffff:(\d+\.\d+\.\d+\.\d+)$/);
99
+ if (mappedDotted && isIPv4(mappedDotted[1]))
100
+ return isPrivateIPv4(mappedDotted[1]);
101
+ const mappedHex = normalized.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/);
102
+ if (mappedHex) {
103
+ const high = Number.parseInt(mappedHex[1], 16);
104
+ const low = Number.parseInt(mappedHex[2], 16);
105
+ return isPrivateIPv4(`${high >> 8}.${high & 0xff}.${low >> 8}.${low & 0xff}`);
106
+ }
107
+ const first = Number.parseInt(normalized.split(':', 1)[0] || '0', 16);
108
+ if ((first & 0xe000) !== 0x2000)
109
+ return true;
110
+ return normalized === '2001::'
111
+ || normalized.startsWith('2001::')
112
+ || normalized.startsWith('2001:0:')
113
+ || normalized.startsWith('2001:2:')
114
+ || normalized.startsWith('2001:10:')
115
+ || normalized.startsWith('2001:20:')
116
+ || normalized === '2001:db8::'
117
+ || normalized.startsWith('2001:db8:')
118
+ || normalized === '2002::'
119
+ || normalized.startsWith('2002:')
120
+ || normalized.startsWith('3fff:');
121
+ }
122
+ function validateAddresses(values) {
123
+ if (!Array.isArray(values) || values.length === 0)
124
+ fail('address_resolution_empty');
125
+ const approved = [];
126
+ for (const raw of values) {
127
+ const address = normalizeIpAddress(raw);
128
+ if (!address)
129
+ fail('address_invalid');
130
+ const blocked = isIPv4(address)
131
+ ? isPrivateIPv4(address)
132
+ : isPrivateIPv6(address);
133
+ if (blocked)
134
+ fail('address_not_public');
135
+ if (!approved.includes(address))
136
+ approved.push(address);
137
+ }
138
+ return Object.freeze(approved);
139
+ }
140
+ function jsonDepth(value) {
141
+ if (value === null || typeof value !== 'object')
142
+ return 0;
143
+ const stack = [{ value, depth: 1 }];
144
+ let maximum = 0;
145
+ while (stack.length > 0) {
146
+ const current = stack.pop();
147
+ maximum = Math.max(maximum, current.depth);
148
+ if (current.value !== null && typeof current.value === 'object') {
149
+ const children = Array.isArray(current.value)
150
+ ? current.value
151
+ : Object.values(current.value);
152
+ for (const child of children) {
153
+ if (child !== null && typeof child === 'object') {
154
+ stack.push({ value: child, depth: current.depth + 1 });
155
+ }
156
+ }
157
+ }
158
+ }
159
+ return maximum;
160
+ }
161
+ async function readBoundedBody(response, maximum) {
162
+ const contentLength = header(response, 'content-length');
163
+ if (contentLength !== null) {
164
+ const parsed = Number(contentLength);
165
+ if (!Number.isSafeInteger(parsed) || parsed < 0)
166
+ fail('content_length_invalid');
167
+ if (parsed > maximum)
168
+ fail('body_too_large');
169
+ }
170
+ const body = response?.body;
171
+ if (typeof body === 'string') {
172
+ const bytes = Buffer.from(body, 'utf8');
173
+ if (bytes.byteLength > maximum)
174
+ fail('body_too_large');
175
+ return bytes;
176
+ }
177
+ if (body instanceof Uint8Array) {
178
+ if (body.byteLength > maximum)
179
+ fail('body_too_large');
180
+ return new Uint8Array(body);
181
+ }
182
+ if (body && typeof body.getReader === 'function') {
183
+ const reader = body.getReader();
184
+ const chunks = [];
185
+ let total = 0;
186
+ try {
187
+ while (true) {
188
+ const result = await reader.read();
189
+ if (result.done)
190
+ break;
191
+ if (!(result.value instanceof Uint8Array))
192
+ fail('body_chunk_invalid');
193
+ total += result.value.byteLength;
194
+ if (total > maximum) {
195
+ await reader.cancel();
196
+ fail('body_too_large');
197
+ }
198
+ chunks.push(result.value);
199
+ }
200
+ }
201
+ finally {
202
+ try {
203
+ reader.releaseLock();
204
+ }
205
+ catch {
206
+ // The response stream may already be closed or cancelled.
207
+ }
208
+ }
209
+ const combined = new Uint8Array(total);
210
+ let offset = 0;
211
+ for (const chunk of chunks) {
212
+ combined.set(chunk, offset);
213
+ offset += chunk.byteLength;
214
+ }
215
+ return combined;
216
+ }
217
+ if (typeof response?.arrayBuffer === 'function') {
218
+ const bytes = new Uint8Array(await response.arrayBuffer());
219
+ if (bytes.byteLength > maximum)
220
+ fail('body_too_large');
221
+ return bytes;
222
+ }
223
+ fail('response_body_unavailable');
224
+ }
225
+ function timeoutController(timeoutMs) {
226
+ if (typeof AbortController === 'undefined')
227
+ return { clear: () => { } };
228
+ const controller = new AbortController();
229
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
230
+ return {
231
+ signal: controller.signal,
232
+ clear: () => clearTimeout(timer),
233
+ };
234
+ }
235
+ function boundedInteger(value, fallback, minimum, maximum, code) {
236
+ const selected = value === undefined ? fallback : value;
237
+ if (!Number.isSafeInteger(selected)
238
+ || selected < minimum
239
+ || selected > maximum)
240
+ fail(code);
241
+ return selected;
242
+ }
243
+ export class DiscoveryPermitResolver {
244
+ pins;
245
+ timeout_ms;
246
+ max_body_bytes;
247
+ max_json_depth;
248
+ #resolveAddresses;
249
+ #fetchPinned;
250
+ #clock;
251
+ constructor(options) {
252
+ if (!isObject(options))
253
+ fail('resolver_options_invalid');
254
+ this.pins = pinDiscoveryPermitTrust(options.pins);
255
+ if (!isObject(options.transport)
256
+ || typeof options.transport.resolveAddresses !== 'function'
257
+ || typeof options.transport.fetchPinned !== 'function') {
258
+ fail('address_pinned_transport_required');
259
+ }
260
+ this.#resolveAddresses = options.transport.resolveAddresses.bind(options.transport);
261
+ this.#fetchPinned = options.transport.fetchPinned.bind(options.transport);
262
+ this.#clock = typeof options.clock === 'function' ? options.clock : Date.now;
263
+ this.timeout_ms = boundedInteger(options.timeout_ms, DEFAULT_TIMEOUT_MS, 1, 60_000, 'timeout_invalid');
264
+ this.max_body_bytes = boundedInteger(options.max_body_bytes, DEFAULT_MAX_BODY_BYTES, 128, 4 * 1024 * 1024, 'max_body_bytes_invalid');
265
+ this.max_json_depth = boundedInteger(options.max_json_depth, DEFAULT_MAX_JSON_DEPTH, 1, 64, 'max_json_depth_invalid');
266
+ Object.freeze(this);
267
+ }
268
+ async #retrieve(initialUrl, role) {
269
+ let currentUrl = initialUrl;
270
+ const redirectChain = [initialUrl];
271
+ const visited = new Set();
272
+ for (let hop = 0; hop <= Object.keys(this.pins.redirect_map).length; hop += 1) {
273
+ if (visited.has(currentUrl))
274
+ fail('redirect_cycle');
275
+ visited.add(currentUrl);
276
+ const parsed = new URL(currentUrl);
277
+ const timer = timeoutController(this.timeout_ms);
278
+ try {
279
+ const addresses = await this.#resolveAddresses(parsed.hostname, {
280
+ signal: timer.signal,
281
+ });
282
+ if (timer.signal?.aborted)
283
+ fail('transport_timeout');
284
+ const approvedAddresses = validateAddresses(addresses);
285
+ const init = {
286
+ method: 'GET',
287
+ redirect: 'manual',
288
+ headers: { accept: 'application/json' },
289
+ };
290
+ if (timer.signal)
291
+ init.signal = timer.signal;
292
+ const result = await this.#fetchPinned(currentUrl, init, {
293
+ hostname: parsed.hostname,
294
+ approvedAddresses,
295
+ });
296
+ if (!isObject(result) || !Object.hasOwn(result, 'response')) {
297
+ fail('pinned_transport_result_invalid');
298
+ }
299
+ const connectedAddress = normalizeIpAddress(result.connectedAddress);
300
+ if (!connectedAddress || !approvedAddresses.includes(connectedAddress)) {
301
+ fail('connected_address_not_approved');
302
+ }
303
+ const response = result.response;
304
+ if (!response || response.redirected === true || response.type === 'opaqueredirect') {
305
+ fail('redirect_followed_by_transport');
306
+ }
307
+ const status = response.status;
308
+ if (!Number.isSafeInteger(status))
309
+ fail('http_status_invalid');
310
+ if (status >= 300 && status < 400) {
311
+ const expectedTarget = this.pins.redirect_map[currentUrl];
312
+ if (!expectedTarget)
313
+ fail('redirect_not_pinned');
314
+ const location = header(response, 'location');
315
+ if (!location)
316
+ fail('redirect_location_missing');
317
+ let actualTarget;
318
+ try {
319
+ actualTarget = new URL(location, currentUrl).href;
320
+ }
321
+ catch {
322
+ fail('redirect_location_invalid');
323
+ }
324
+ if (actualTarget !== expectedTarget)
325
+ fail('redirect_target_mismatch');
326
+ currentUrl = actualTarget;
327
+ redirectChain.push(currentUrl);
328
+ continue;
329
+ }
330
+ if (status < 200 || status >= 300)
331
+ fail('http_error', `HTTP ${status}`);
332
+ const contentType = header(response, 'content-type');
333
+ const mediaType = contentType?.split(';', 1)[0].trim().toLowerCase();
334
+ if (mediaType !== 'application/json')
335
+ fail('content_type_invalid');
336
+ const rawBytes = await readBoundedBody(response, this.max_body_bytes);
337
+ let raw;
338
+ try {
339
+ raw = new TextDecoder('utf-8', { fatal: true }).decode(rawBytes);
340
+ }
341
+ catch {
342
+ fail('utf8_invalid');
343
+ }
344
+ const strict = strictJsonGate(raw);
345
+ if (!strict.ok)
346
+ fail('json_not_strict', strict.reason);
347
+ let document;
348
+ try {
349
+ document = JSON.parse(raw);
350
+ }
351
+ catch {
352
+ fail('json_invalid');
353
+ }
354
+ if (!isObject(document))
355
+ fail('document_type_invalid');
356
+ if (jsonDepth(document) > this.max_json_depth)
357
+ fail('json_depth_exceeded');
358
+ let canonicalDigest;
359
+ try {
360
+ canonicalDigest = digestDiscoveryPermit(document);
361
+ }
362
+ catch {
363
+ fail('document_not_canonicalizable');
364
+ }
365
+ return {
366
+ document,
367
+ provenance: Object.freeze({
368
+ role,
369
+ requested_url: initialUrl,
370
+ resolved_url: currentUrl,
371
+ connected_address: connectedAddress,
372
+ media_type: 'application/json',
373
+ byte_length: rawBytes.byteLength,
374
+ raw_digest: digestDiscoveryPermitRaw(rawBytes),
375
+ canonical_digest: canonicalDigest,
376
+ redirect_chain: Object.freeze([...redirectChain]),
377
+ }),
378
+ };
379
+ }
380
+ catch (error) {
381
+ if (error instanceof DiscoveryPermitResolverError)
382
+ throw error;
383
+ const code = timer.signal?.aborted ? 'transport_timeout' : 'transport_failure';
384
+ fail(code, error instanceof Error ? error.message : code);
385
+ }
386
+ finally {
387
+ timer.clear();
388
+ }
389
+ }
390
+ fail('redirect_limit_exceeded');
391
+ }
392
+ async resolve(input) {
393
+ if (!exactInput(input))
394
+ fail('transaction_fields_not_allowed');
395
+ const caid = input.caid;
396
+ let action;
397
+ try {
398
+ // Snapshot into plain JSON before the first await. This prevents caller
399
+ // mutation, accessors, or prototype state from changing the bound action
400
+ // while address resolution and retrieval are in flight.
401
+ action = JSON.parse(canonicalizeDiscoveryPermit(input.action));
402
+ }
403
+ catch {
404
+ fail('action_not_canonicalizable');
405
+ }
406
+ const now = this.#clock();
407
+ if (!Number.isFinite(now))
408
+ fail('clock_invalid');
409
+ const discovery = await this.#retrieve(this.pins.discovery_url, 'discovery');
410
+ const permit = await this.#retrieve(this.pins.permit_url, 'permit');
411
+ return evaluateDiscoveryPermitContinuity({
412
+ pins: this.pins,
413
+ discovery: discovery.document,
414
+ binding: permit.document,
415
+ caid,
416
+ action,
417
+ now,
418
+ provenance: {
419
+ discovery: discovery.provenance,
420
+ permit: permit.provenance,
421
+ },
422
+ });
423
+ }
424
+ }
425
+ export function createDiscoveryPermitResolver(options) {
426
+ return new DiscoveryPermitResolver(options);
427
+ }
428
+ //# sourceMappingURL=discovery-permit-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery-permit-resolver.js","sourceRoot":"","sources":["../src/discovery-permit-resolver.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -42,6 +42,7 @@ export { mintBreakGlassAuthorization, verifyBreakGlass, consumeBreakGlass, build
42
42
  export { createRuntimeMonitor, RUNTIME_MONITOR_VERSION, RUNTIME_MONITOR_MODES, RUNTIME_INVARIANTS } from './runtime-monitor.js';
43
43
  export { FORMAL_RUNTIME_BRIDGE_VERSION, FORMAL_RUNTIME_SPEC, FORMAL_RUNTIME_CONFIG, FORMAL_RUNTIME_INVARIANT_MAP, } from './formal-runtime-map.js';
44
44
  export { CAPABILITY_RECEIPT_VERSION, CAPABILITY_STATE_VERSION, CAPABILITY_SHARE_VERSION, CAPABILITY_SCOPE_PROFILE, CAPABILITY_CAID_SCOPE_PROFILE, CAPABILITY_STATE_DDL, CAPABILITY_SQL, capabilityBaseReceiptDigest, capabilityActionDigest, verifyCapabilityScope, mintCapabilityReceipt, verifyCapabilityReceipt, splitCapabilitySecret, reconstructCapabilitySecret, createMemoryCapabilityStore, createPostgresCapabilityStore, isSecureCapabilityStore, executeWithCapability, executeWithThreshold, reconcileCapabilityOperation, delegateCapabilityReceipt, } from './capability-receipt.js';
45
+ export * from './authority-allocation.js';
45
46
  export { ZK_RANGE_RECEIPT_VERSION, ZK_RANGE_SCHEME, ZK_RANGE_BACKEND_PACKAGE, deriveZkRangeBases, loadBulletproofBackend, mintZkRangeReceipt, verifyZkRangeReceipt, } from './zk-range-proof.js';
46
47
  export { RECEIPT_PROGRAM_VERSION, RECEIPT_PROGRAM_CERTIFICATE_VERSION, RECEIPT_PROGRAM_SIGNATURE_ALGORITHM, createReceiptProgramKernel, verifyReceiptProgramCertificate, } from './receipt-program.js';
47
48
  export { TRUST_PROGRAM_VERSION, TRUST_STAGE_RECEIPT_VERSION, validateTrustProgram, trustProgramDigest, verifyTrustStageReceipt, createMemoryTrustProgramStore, createTrustProgramKernel, } from './trust-program.js';
@@ -57,6 +58,8 @@ export { PROPOSAL_TO_EFFECT_STATUS_HEAD_STORE_VERSION, PROPOSAL_TO_EFFECT_STATUS
57
58
  export type { PostgresProposalToEffectStatusHeadStoreOptions, ProposalToEffectStatusHeadAcceptance, ProposalToEffectStatusHeadAcceptanceInput, ProposalToEffectStatusHeadPgClient, ProposalToEffectStatusHeadPgPool, ProposalToEffectStatusHeadStore, } from './proposal-to-effect-status.js';
58
59
  export { PROPOSAL_TO_EFFECT_POSTGRES_DDL, PROPOSAL_TO_EFFECT_POSTGRES_SQL, proposalToEffectAttemptDigest, createProposalToEffectPostgresStore, } from './proposal-to-effect-postgres.js';
59
60
  export { AEB_PG_CONSUMPTION_STORE_VERSION, AEB_CONSUMPTION_OPERATION_TABLE, AEB_CONSUMPTION_REPLAY_TABLE, AEB_CONSUMPTION_DDL, AEB_CONSUMPTION_SQL, createPostgresAebDurableConsumptionStore, } from './aeb-consumption-store.js';
61
+ export * from './consequence-actuator.js';
62
+ export * from './discovery-permit-resolver.js';
60
63
  export declare const ASSURANCE_TIERS: string[];
61
64
  /**
62
65
  * Structurally compare a PRE-COMPUTED admissibility block with a profile hash.