@origintrail-official/dkg-core 10.0.19 → 10.0.21
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.
- package/dist/absolute-rfc3987-iri.d.ts +8 -0
- package/dist/absolute-rfc3987-iri.d.ts.map +1 -0
- package/dist/absolute-rfc3987-iri.js +8 -0
- package/dist/absolute-rfc3987-iri.js.map +1 -0
- package/dist/author-catalog-directory.d.ts.map +1 -1
- package/dist/author-catalog-directory.js +68 -24
- package/dist/author-catalog-directory.js.map +1 -1
- package/dist/bounded-denial-logger.d.ts +10 -0
- package/dist/bounded-denial-logger.d.ts.map +1 -1
- package/dist/bounded-denial-logger.js +58 -14
- package/dist/bounded-denial-logger.js.map +1 -1
- package/dist/bounded-gzip.d.ts +20 -0
- package/dist/bounded-gzip.d.ts.map +1 -0
- package/dist/bounded-gzip.js +156 -0
- package/dist/bounded-gzip.js.map +1 -0
- package/dist/constants.d.ts +8 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -1
- package/dist/context-graph-on-chain-binding.d.ts +8 -1
- package/dist/context-graph-on-chain-binding.d.ts.map +1 -1
- package/dist/context-graph-on-chain-binding.js +18 -3
- package/dist/context-graph-on-chain-binding.js.map +1 -1
- package/dist/crypto/swm-sender-key.d.ts.map +1 -1
- package/dist/crypto/swm-sender-key.js +13 -5
- package/dist/crypto/swm-sender-key.js.map +1 -1
- package/dist/daemon-request-deadlines.d.ts +60 -0
- package/dist/daemon-request-deadlines.d.ts.map +1 -0
- package/dist/daemon-request-deadlines.js +86 -0
- package/dist/daemon-request-deadlines.js.map +1 -0
- package/dist/errors.d.ts +21 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +30 -0
- package/dist/errors.js.map +1 -1
- package/dist/event-bus.d.ts +1 -0
- package/dist/event-bus.d.ts.map +1 -1
- package/dist/event-bus.js +1 -0
- package/dist/event-bus.js.map +1 -1
- package/dist/experimental-exact-batch-stream.d.ts +77 -0
- package/dist/experimental-exact-batch-stream.d.ts.map +1 -0
- package/dist/experimental-exact-batch-stream.js +198 -0
- package/dist/experimental-exact-batch-stream.js.map +1 -0
- package/dist/experimental-exact-batch-wire.d.ts +41 -0
- package/dist/experimental-exact-batch-wire.d.ts.map +1 -0
- package/dist/experimental-exact-batch-wire.js +116 -0
- package/dist/experimental-exact-batch-wire.js.map +1 -0
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/network/address-policy.d.ts +5 -0
- package/dist/network/address-policy.d.ts.map +1 -1
- package/dist/network/address-policy.js +24 -5
- package/dist/network/address-policy.js.map +1 -1
- package/dist/network/index.d.ts +1 -1
- package/dist/network/index.d.ts.map +1 -1
- package/dist/network/index.js.map +1 -1
- package/dist/network/libp2p-network.d.ts +2 -1
- package/dist/network/libp2p-network.d.ts.map +1 -1
- package/dist/network/libp2p-network.js +4 -1
- package/dist/network/libp2p-network.js.map +1 -1
- package/dist/network/libp2p-peer-connect.d.ts +10 -4
- package/dist/network/libp2p-peer-connect.d.ts.map +1 -1
- package/dist/network/libp2p-peer-connect.js +73 -9
- package/dist/network/libp2p-peer-connect.js.map +1 -1
- package/dist/network/network.d.ts +19 -0
- package/dist/network/network.d.ts.map +1 -1
- package/dist/network/network.js.map +1 -1
- package/dist/network/peer-resolver.d.ts +11 -0
- package/dist/network/peer-resolver.d.ts.map +1 -1
- package/dist/network/peer-resolver.js +90 -15
- package/dist/network/peer-resolver.js.map +1 -1
- package/dist/proto/swm-sender-key.d.ts +1 -1
- package/dist/proto/swm-sender-key.d.ts.map +1 -1
- package/dist/proto/swm-sender-key.js +1 -0
- package/dist/proto/swm-sender-key.js.map +1 -1
- package/dist/protocol-outbox.d.ts +2 -2
- package/dist/protocol-outbox.js +2 -2
- package/dist/protocol-router.d.ts +42 -0
- package/dist/protocol-router.d.ts.map +1 -1
- package/dist/protocol-router.js +280 -165
- package/dist/protocol-router.js.map +1 -1
- package/dist/request-abort-lifecycle.d.ts +35 -0
- package/dist/request-abort-lifecycle.d.ts.map +1 -0
- package/dist/request-abort-lifecycle.js +54 -0
- package/dist/request-abort-lifecycle.js.map +1 -0
- package/dist/sparql-safe.d.ts +8 -0
- package/dist/sparql-safe.d.ts.map +1 -1
- package/dist/sparql-safe.js +13 -2
- package/dist/sparql-safe.js.map +1 -1
- package/dist/sparql-terms.d.ts +36 -0
- package/dist/sparql-terms.d.ts.map +1 -0
- package/dist/sparql-terms.js +98 -0
- package/dist/sparql-terms.js.map +1 -0
- package/dist/sync-wire-objects.d.ts.map +1 -1
- package/dist/sync-wire-objects.js +9 -4
- package/dist/sync-wire-objects.js.map +1 -1
- package/dist/telemetry-api.d.ts +15 -4
- package/dist/telemetry-api.d.ts.map +1 -1
- package/dist/telemetry-api.js +13 -6
- package/dist/telemetry-api.js.map +1 -1
- package/package.json +7 -2
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Opt-in exact-batch transport over the router's existing encrypted libp2p
|
|
3
|
+
* connections. Core owns framing; KA proofs/gzip/verified atomic commits stay agent-owned.
|
|
4
|
+
* No pooled RESPONSE frame, new cipher, default registration or payload replay.
|
|
5
|
+
*/
|
|
6
|
+
import type { Stream } from '@libp2p/interface';
|
|
7
|
+
import { type ProtocolRouter, type DuplexStreamOptions } from './protocol-router.js';
|
|
8
|
+
import { type ExactBatchFrame, type ExactBatchFrameKind, type ExactBatchRefusal } from './experimental-exact-batch-wire.js';
|
|
9
|
+
export { EXACT_BATCH_STREAM_PROTOCOL as EXPERIMENTAL_EXACT_BATCH_STREAM_PROTOCOL, EXACT_BATCH_STREAM_WINDOW_SIZE as EXPERIMENTAL_EXACT_BATCH_STREAM_WINDOW_SIZE, } from './experimental-exact-batch-wire.js';
|
|
10
|
+
/** Closed numeric observations; never request text, scope identifiers or peers. */
|
|
11
|
+
export type ExactBatchTransportEvent = Readonly<{
|
|
12
|
+
event: 'streamReady';
|
|
13
|
+
elapsedMs: number;
|
|
14
|
+
}> | Readonly<{
|
|
15
|
+
event: 'bytes';
|
|
16
|
+
direction: 'sent' | 'received';
|
|
17
|
+
byteLength: number;
|
|
18
|
+
}> | Readonly<{
|
|
19
|
+
event: 'frame';
|
|
20
|
+
direction: 'sent' | 'received';
|
|
21
|
+
frameKind: ExactBatchFrameKind;
|
|
22
|
+
}>;
|
|
23
|
+
export interface ExactBatchTransportOptions extends DuplexStreamOptions {
|
|
24
|
+
/** Fixed experimental wire profile; window1 is contract unit-test coverage only. */
|
|
25
|
+
windowSize: 2;
|
|
26
|
+
maxRequestBytes: number;
|
|
27
|
+
maxFrameBytes: number;
|
|
28
|
+
/** Existing effective wire/phase ceiling, not an aggregate buffered batch. */
|
|
29
|
+
maxResponseBytes: number;
|
|
30
|
+
/**
|
|
31
|
+
* Best-effort only. Sent bytes are encoded payload accepted by native send,
|
|
32
|
+
* including a send that subsequently fails drain; sent frame counts follow
|
|
33
|
+
* successful send/drain. Received bytes include a later rejected raw chunk.
|
|
34
|
+
* These exclude Noise, muxer and TCP overhead. Never awaited by transport.
|
|
35
|
+
*/
|
|
36
|
+
onTransportEvent?: (event: ExactBatchTransportEvent) => void | Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
/** Only before START bytes: legacy fallback must never replay an ambiguous request. */
|
|
39
|
+
export declare class ExperimentalExactBatchUnsupportedError extends Error {
|
|
40
|
+
readonly code = "EXPERIMENTAL_EXACT_BATCH_UNSUPPORTED";
|
|
41
|
+
constructor(cause: unknown);
|
|
42
|
+
}
|
|
43
|
+
export declare class ExactBatchTransportSession {
|
|
44
|
+
private readonly stream;
|
|
45
|
+
readonly signal: AbortSignal;
|
|
46
|
+
private readonly options;
|
|
47
|
+
private readonly frames;
|
|
48
|
+
readonly windowSize: 2;
|
|
49
|
+
private authorizedAssets?;
|
|
50
|
+
get assetUals(): readonly string[];
|
|
51
|
+
constructor(stream: Stream, signal: AbortSignal, options: ExactBatchTransportOptions, assetUals?: readonly string[]);
|
|
52
|
+
authorizeAssets(assetUals: readonly string[]): void;
|
|
53
|
+
next(): Promise<ExactBatchFrame | undefined>;
|
|
54
|
+
send(frame: ExactBatchFrame): Promise<void>;
|
|
55
|
+
dispose(): Promise<void>;
|
|
56
|
+
}
|
|
57
|
+
/** Client owns REQUEST and subsequent ACKs on the same duplex stream. */
|
|
58
|
+
export declare function exchangeExperimentalExactBatch<T>(router: ProtocolRouter, peerId: string, request: ExactBatchFrame, options: ExactBatchTransportOptions & {
|
|
59
|
+
assetUals: readonly string[];
|
|
60
|
+
}, consume: (session: ExactBatchTransportSession) => Promise<T>): Promise<T>;
|
|
61
|
+
/** Core binds the selected assets and passes the caller's context through without interpreting it. */
|
|
62
|
+
export interface ExactBatchResponderAuthorization<Context> {
|
|
63
|
+
readonly assetUals: readonly string[];
|
|
64
|
+
readonly context: Context;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Thrown by a responder callback to end the exchange with a refusal frame the
|
|
68
|
+
* requester can read, where any other error aborts the stream and looks like a
|
|
69
|
+
* broken connection. Only the closed wire code is sent, never the cause.
|
|
70
|
+
*/
|
|
71
|
+
export declare class ExactBatchResponderRefusal extends Error {
|
|
72
|
+
readonly refusal: ExactBatchRefusal;
|
|
73
|
+
constructor(refusal: ExactBatchRefusal, options?: ErrorOptions);
|
|
74
|
+
}
|
|
75
|
+
/** Explicit responder registration. Authorization precedes any scoped export. */
|
|
76
|
+
export declare function registerExperimentalExactBatchResponder<Context>(router: ProtocolRouter, options: ExactBatchTransportOptions, authorizeRequest: (request: Uint8Array, peerId: string, signal: AbortSignal) => Promise<ExactBatchResponderAuthorization<Context>>, respond: (context: Context, session: ExactBatchTransportSession, peerId: string) => Promise<void>): void;
|
|
77
|
+
//# sourceMappingURL=experimental-exact-batch-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experimental-exact-batch-stream.d.ts","sourceRoot":"","sources":["../src/experimental-exact-batch-stream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAA8B,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEjH,OAAO,EAI4C,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAC/F,KAAK,iBAAiB,EACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,2BAA2B,IAAI,wCAAwC,EACvE,8BAA8B,IAAI,2CAA2C,GAC9E,MAAM,oCAAoC,CAAC;AAE5C,mFAAmF;AACnF,MAAM,MAAM,wBAAwB,GAChC,QAAQ,CAAC;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,GACrD,QAAQ,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,GAChF,QAAQ,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC;IAAC,SAAS,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAAC;AAEjG,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,oFAAoF;IACpF,UAAU,EAAE,CAAC,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E;AAqCD,uFAAuF;AACvF,qBAAa,sCAAuC,SAAQ,KAAK;IAC/D,QAAQ,CAAC,IAAI,0CAA0C;gBAC3C,KAAK,EAAE,OAAO;CAC3B;AAED,qBAAa,0BAA0B;IAUnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,QAAQ,CAAC,UAAU,IAAkC;IACrD,OAAO,CAAC,gBAAgB,CAAC,CAAoB;IAC7C,IAAI,SAAS,IAAI,SAAS,MAAM,EAAE,CAGjC;gBAGkB,MAAM,EAAE,MAAM,EACtB,MAAM,EAAE,WAAW,EACX,OAAO,EAAE,0BAA0B,EACpD,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE;IAsB/B,eAAe,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAM7C,IAAI,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAQ5C,IAAI,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAc3C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B;AAED,yEAAyE;AACzE,wBAAsB,8BAA8B,CAAC,CAAC,EACpD,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,0BAA0B,GAAG;IAAE,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EACtE,OAAO,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,CAAC,CAAC,GAC3D,OAAO,CAAC,CAAC,CAAC,CAsBZ;AAED,sGAAsG;AACtG,MAAM,WAAW,gCAAgC,CAAC,OAAO;IACvD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACvC,QAAQ,CAAC,OAAO,EAAE,iBAAiB;gBAA1B,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,YAAY;CAIxE;AAED,iFAAiF;AACjF,wBAAgB,uCAAuC,CAAC,OAAO,EAC7D,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,0BAA0B,EACnC,gBAAgB,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC,EAClI,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAChG,IAAI,CA6BN"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { isProtocolUnsupportedError } from './protocol-router.js';
|
|
2
|
+
import { EXACT_BATCH_STREAM_PROTOCOL, EXACT_BATCH_STREAM_WINDOW_SIZE, EXACT_BATCH_FRAME_KIND, EXACT_BATCH_BATCH_INDEX, EXACT_BATCH_MAX_REQUEST_BYTES, EXACT_BATCH_MAX_FRAME_BYTES, EXACT_BATCH_FRAME_HEADER_BYTES, EXACT_BATCH_MAX_ASSETS, encodeExactBatchFrame, decodeExactBatchFrames, validateExactBatchFrame, } from './experimental-exact-batch-wire.js';
|
|
3
|
+
export { EXACT_BATCH_STREAM_PROTOCOL as EXPERIMENTAL_EXACT_BATCH_STREAM_PROTOCOL, EXACT_BATCH_STREAM_WINDOW_SIZE as EXPERIMENTAL_EXACT_BATCH_STREAM_WINDOW_SIZE, } from './experimental-exact-batch-wire.js';
|
|
4
|
+
function observe(options, event) {
|
|
5
|
+
if (!options.onTransportEvent)
|
|
6
|
+
return;
|
|
7
|
+
try {
|
|
8
|
+
const pending = options.onTransportEvent(Object.freeze(event));
|
|
9
|
+
if (pending)
|
|
10
|
+
void Promise.resolve(pending).catch(() => undefined);
|
|
11
|
+
}
|
|
12
|
+
catch { /* An observer cannot turn a transport outcome into a failure. */ }
|
|
13
|
+
}
|
|
14
|
+
function observeFrame(options, direction, kind) {
|
|
15
|
+
if (!options.onTransportEvent)
|
|
16
|
+
return;
|
|
17
|
+
if (Number.isInteger(kind) && kind >= 1 && kind <= 7) {
|
|
18
|
+
observe(options, { event: 'frame', direction, frameKind: kind });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function checkSignal(signal) {
|
|
22
|
+
if (signal.aborted)
|
|
23
|
+
throw signal.reason instanceof Error ? signal.reason : new Error('Exact batch stream aborted');
|
|
24
|
+
}
|
|
25
|
+
function validateLimits(options) {
|
|
26
|
+
for (const value of [options.maxRequestBytes, options.maxFrameBytes, options.maxResponseBytes]) {
|
|
27
|
+
if (!Number.isSafeInteger(value) || value <= 0)
|
|
28
|
+
throw new RangeError('Exact batch transport limits must be positive safe integers');
|
|
29
|
+
}
|
|
30
|
+
if (options.maxRequestBytes > EXACT_BATCH_MAX_REQUEST_BYTES || options.maxFrameBytes > EXACT_BATCH_MAX_FRAME_BYTES + EXACT_BATCH_FRAME_HEADER_BYTES
|
|
31
|
+
|| options.maxReadBufferBytes > options.maxFrameBytes * 2)
|
|
32
|
+
throw new RangeError('Exact batch transport exceeds experimental wire limits');
|
|
33
|
+
if (options.windowSize !== 2)
|
|
34
|
+
throw new Error('Experimental exact-batch profile requires window2');
|
|
35
|
+
}
|
|
36
|
+
function validateAssets(assetUals) {
|
|
37
|
+
if (!Array.isArray(assetUals) || assetUals.length < 1 || assetUals.length > EXACT_BATCH_MAX_ASSETS
|
|
38
|
+
|| assetUals.some((ual) => typeof ual !== 'string' || ual.length === 0)
|
|
39
|
+
|| new Set(assetUals).size !== assetUals.length)
|
|
40
|
+
throw new Error('Exact batch requires 1-10 distinct authorized asset UALs');
|
|
41
|
+
}
|
|
42
|
+
/** Only before START bytes: legacy fallback must never replay an ambiguous request. */
|
|
43
|
+
export class ExperimentalExactBatchUnsupportedError extends Error {
|
|
44
|
+
code = 'EXPERIMENTAL_EXACT_BATCH_UNSUPPORTED';
|
|
45
|
+
constructor(cause) { super('Experimental exact-batch protocol unsupported before START', { cause }); }
|
|
46
|
+
}
|
|
47
|
+
export class ExactBatchTransportSession {
|
|
48
|
+
stream;
|
|
49
|
+
signal;
|
|
50
|
+
options;
|
|
51
|
+
frames;
|
|
52
|
+
windowSize = EXACT_BATCH_STREAM_WINDOW_SIZE;
|
|
53
|
+
authorizedAssets;
|
|
54
|
+
get assetUals() {
|
|
55
|
+
if (!this.authorizedAssets)
|
|
56
|
+
throw new Error('Exact batch asset scope has not been authorized');
|
|
57
|
+
return this.authorizedAssets;
|
|
58
|
+
}
|
|
59
|
+
constructor(stream, signal, options, assetUals) {
|
|
60
|
+
this.stream = stream;
|
|
61
|
+
this.signal = signal;
|
|
62
|
+
this.options = options;
|
|
63
|
+
if (assetUals)
|
|
64
|
+
this.authorizeAssets(assetUals);
|
|
65
|
+
let wireBytes = 0;
|
|
66
|
+
const source = {
|
|
67
|
+
async *[Symbol.asyncIterator]() {
|
|
68
|
+
for await (const incoming of stream) {
|
|
69
|
+
checkSignal(signal);
|
|
70
|
+
const length = incoming.byteLength;
|
|
71
|
+
observe(options, { event: 'bytes', direction: 'received', byteLength: length });
|
|
72
|
+
if (length > options.maxResponseBytes - wireBytes)
|
|
73
|
+
throw new RangeError('Exact batch wire byte limit exceeded');
|
|
74
|
+
wireBytes += length;
|
|
75
|
+
// Preserve one iterator; never end it after reading the START frame.
|
|
76
|
+
for (let offset = 0; offset < length; offset += options.maxFrameBytes) {
|
|
77
|
+
yield incoming.subarray(offset, Math.min(offset + options.maxFrameBytes, length));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
this.frames = decodeExactBatchFrames(source, { signal });
|
|
83
|
+
}
|
|
84
|
+
authorizeAssets(assetUals) {
|
|
85
|
+
if (this.authorizedAssets)
|
|
86
|
+
throw new Error('Exact batch asset scope is already bound');
|
|
87
|
+
validateAssets(assetUals);
|
|
88
|
+
this.authorizedAssets = Object.freeze([...assetUals]);
|
|
89
|
+
}
|
|
90
|
+
async next() {
|
|
91
|
+
checkSignal(this.signal);
|
|
92
|
+
const frame = await this.frames.next();
|
|
93
|
+
if (!frame.done)
|
|
94
|
+
observeFrame(this.options, 'received', frame.value.kind);
|
|
95
|
+
checkSignal(this.signal);
|
|
96
|
+
return frame.done ? undefined : frame.value;
|
|
97
|
+
}
|
|
98
|
+
async send(frame) {
|
|
99
|
+
checkSignal(this.signal);
|
|
100
|
+
const frameKind = frame.kind;
|
|
101
|
+
const bytes = encodeExactBatchFrame(frame);
|
|
102
|
+
if (bytes.byteLength > this.options.maxFrameBytes)
|
|
103
|
+
throw new RangeError('Exact batch frame byte limit exceeded');
|
|
104
|
+
if (this.stream.writableNeedsDrain)
|
|
105
|
+
await this.stream.onDrain({ signal: this.signal });
|
|
106
|
+
checkSignal(this.signal);
|
|
107
|
+
const accepted = this.stream.send(bytes);
|
|
108
|
+
observe(this.options, { event: 'bytes', direction: 'sent', byteLength: bytes.byteLength });
|
|
109
|
+
if (!accepted)
|
|
110
|
+
await this.stream.onDrain({ signal: this.signal });
|
|
111
|
+
checkSignal(this.signal);
|
|
112
|
+
observeFrame(this.options, 'sent', frameKind);
|
|
113
|
+
}
|
|
114
|
+
async dispose() {
|
|
115
|
+
// Router must first close/abort the physical stream, unblocking any read.
|
|
116
|
+
await this.frames.return(undefined).catch(() => undefined);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/** Client owns REQUEST and subsequent ACKs on the same duplex stream. */
|
|
120
|
+
export async function exchangeExperimentalExactBatch(router, peerId, request, options, consume) {
|
|
121
|
+
const enteredAt = performance.now();
|
|
122
|
+
validateLimits(options);
|
|
123
|
+
validateStart(request, options.maxRequestBytes);
|
|
124
|
+
validateAssets(options.assetUals);
|
|
125
|
+
const stableRequest = { ...request, payload: request.payload.slice() };
|
|
126
|
+
const stableOptions = Object.freeze({ ...options, assetUals: Object.freeze([...options.assetUals]) });
|
|
127
|
+
let session;
|
|
128
|
+
try {
|
|
129
|
+
return await router.withDuplexStream(peerId, EXACT_BATCH_STREAM_PROTOCOL, stableOptions, async (stream, signal) => {
|
|
130
|
+
session = new ExactBatchTransportSession(stream, signal, stableOptions, stableOptions.assetUals);
|
|
131
|
+
observe(stableOptions, { event: 'streamReady', elapsedMs: performance.now() - enteredAt });
|
|
132
|
+
await session.send(stableRequest);
|
|
133
|
+
return consume(session);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
if (!session && isProtocolUnsupportedError(error))
|
|
138
|
+
throw new ExperimentalExactBatchUnsupportedError(error);
|
|
139
|
+
throw error;
|
|
140
|
+
}
|
|
141
|
+
finally {
|
|
142
|
+
await session?.dispose();
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Thrown by a responder callback to end the exchange with a refusal frame the
|
|
147
|
+
* requester can read, where any other error aborts the stream and looks like a
|
|
148
|
+
* broken connection. Only the closed wire code is sent, never the cause.
|
|
149
|
+
*/
|
|
150
|
+
export class ExactBatchResponderRefusal extends Error {
|
|
151
|
+
refusal;
|
|
152
|
+
constructor(refusal, options) {
|
|
153
|
+
super(`Exact batch responder refused: ${refusal}`, options);
|
|
154
|
+
this.refusal = refusal;
|
|
155
|
+
this.name = 'ExactBatchResponderRefusal';
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/** Explicit responder registration. Authorization precedes any scoped export. */
|
|
159
|
+
export function registerExperimentalExactBatchResponder(router, options, authorizeRequest, respond) {
|
|
160
|
+
validateLimits(options);
|
|
161
|
+
const stableOptions = Object.freeze({ ...options });
|
|
162
|
+
router.registerDuplexStream(EXACT_BATCH_STREAM_PROTOCOL, async (stream, signal) => {
|
|
163
|
+
const session = new ExactBatchTransportSession(stream, signal, stableOptions);
|
|
164
|
+
try {
|
|
165
|
+
const start = await session.next();
|
|
166
|
+
if (!start)
|
|
167
|
+
throw new Error('Exact batch START missing');
|
|
168
|
+
validateStart(start, stableOptions.maxRequestBytes);
|
|
169
|
+
return { requestData: start.payload, continuation: session, dispose: () => session.dispose() };
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
stream.abort(error instanceof Error ? error : new Error('Exact batch START failed'));
|
|
173
|
+
await session.dispose();
|
|
174
|
+
throw error;
|
|
175
|
+
}
|
|
176
|
+
}, async ({ requestData, peerId, continuation: session, signal }) => {
|
|
177
|
+
try {
|
|
178
|
+
const authorized = await authorizeRequest(requestData, peerId, signal);
|
|
179
|
+
session.authorizeAssets(authorized.assetUals);
|
|
180
|
+
checkSignal(signal);
|
|
181
|
+
await respond(authorized.context, session, peerId);
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
if (!(error instanceof ExactBatchResponderRefusal))
|
|
185
|
+
throw error;
|
|
186
|
+
// `send` rejects in a cancelled scope, which then aborts as before.
|
|
187
|
+
await session.send({ kind: EXACT_BATCH_FRAME_KIND.REFUSE, assetIndex: EXACT_BATCH_BATCH_INDEX,
|
|
188
|
+
sequence: 0, payload: new TextEncoder().encode(error.refusal) });
|
|
189
|
+
}
|
|
190
|
+
}, stableOptions);
|
|
191
|
+
}
|
|
192
|
+
function validateStart(frame, limit) {
|
|
193
|
+
validateExactBatchFrame(frame);
|
|
194
|
+
if (frame.kind !== EXACT_BATCH_FRAME_KIND.REQUEST || frame.assetIndex !== EXACT_BATCH_BATCH_INDEX || frame.sequence !== 0
|
|
195
|
+
|| frame.payload.byteLength > limit)
|
|
196
|
+
throw new Error('Invalid bounded exact-batch START');
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=experimental-exact-batch-stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experimental-exact-batch-stream.js","sourceRoot":"","sources":["../src/experimental-exact-batch-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/** Fixed experimental wire contract; registration and authorization belong to the host. */
|
|
2
|
+
export declare const EXACT_BATCH_STREAM_PROTOCOL = "/dkg/experimental/exact-batch-stream/1.0.0";
|
|
3
|
+
/** Fixed experimental profile, not an additional signed request field. */
|
|
4
|
+
export declare const EXACT_BATCH_STREAM_WINDOW_SIZE: 2;
|
|
5
|
+
export declare const EXACT_BATCH_FRAME_KIND: Readonly<{
|
|
6
|
+
REQUEST: 1;
|
|
7
|
+
META: 2;
|
|
8
|
+
DATA: 3;
|
|
9
|
+
ASSET_END: 4;
|
|
10
|
+
ACK: 5;
|
|
11
|
+
BATCH_END: 6;
|
|
12
|
+
REFUSE: 7;
|
|
13
|
+
}>;
|
|
14
|
+
export declare const EXACT_BATCH_BATCH_INDEX = 255;
|
|
15
|
+
export declare const EXACT_BATCH_FRAME_HEADER_BYTES = 16;
|
|
16
|
+
export declare const EXACT_BATCH_MAX_FRAME_BYTES: number;
|
|
17
|
+
export declare const EXACT_BATCH_MAX_REQUEST_BYTES: number;
|
|
18
|
+
export declare const EXACT_BATCH_MAX_ASSETS = 10;
|
|
19
|
+
export declare const EXACT_BATCH_MAX_CHUNKS_PER_ASSET = 1024;
|
|
20
|
+
/**
|
|
21
|
+
* `BUSY` (added after the first five) says the responder is alive and could not
|
|
22
|
+
* admit the request now. A requester built before it rejects the frame as an
|
|
23
|
+
* unknown refusal, which it handles like the stream reset it got before.
|
|
24
|
+
*/
|
|
25
|
+
export declare const EXACT_BATCH_REFUSALS: readonly ["UNSUPPORTED", "RESOURCE_LIMIT", "SOURCE_CHANGED", "ASSET_MISSING", "DENIED", "BUSY"];
|
|
26
|
+
export type ExactBatchFrameKind = typeof EXACT_BATCH_FRAME_KIND[keyof typeof EXACT_BATCH_FRAME_KIND];
|
|
27
|
+
export type ExactBatchRefusal = typeof EXACT_BATCH_REFUSALS[number];
|
|
28
|
+
export interface ExactBatchFrame {
|
|
29
|
+
readonly kind: number;
|
|
30
|
+
readonly assetIndex: number;
|
|
31
|
+
readonly sequence: number;
|
|
32
|
+
readonly payload: Uint8Array;
|
|
33
|
+
}
|
|
34
|
+
/** Validate a wire frame without interpreting its asset or compression payload. */
|
|
35
|
+
export declare function validateExactBatchFrame(frame: ExactBatchFrame): void;
|
|
36
|
+
export declare function encodeExactBatchFrame(frame: ExactBatchFrame): Uint8Array;
|
|
37
|
+
/** Incremental header-first parsing: never concatenate unbounded source chunks. */
|
|
38
|
+
export declare function decodeExactBatchFrames(source: AsyncIterable<Uint8Array>, options?: {
|
|
39
|
+
readonly signal?: AbortSignal;
|
|
40
|
+
}): AsyncGenerator<ExactBatchFrame>;
|
|
41
|
+
//# sourceMappingURL=experimental-exact-batch-wire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experimental-exact-batch-wire.d.ts","sourceRoot":"","sources":["../src/experimental-exact-batch-wire.ts"],"names":[],"mappings":"AACA,2FAA2F;AAC3F,eAAO,MAAM,2BAA2B,+CAA+C,CAAC;AACxF,0EAA0E;AAC1E,eAAO,MAAM,8BAA8B,EAAG,CAAU,CAAC;AACzD,eAAO,MAAM,sBAAsB;;;;;;;;EAAiG,CAAC;AACrI,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,2BAA2B,QAAY,CAAC;AACrD,eAAO,MAAM,6BAA6B,QAAW,CAAC;AACtD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,gCAAgC,OAAO,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,iGAAiH,CAAC;AACnJ,MAAM,MAAM,mBAAmB,GAAG,OAAO,sBAAsB,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC;AACrG,MAAM,MAAM,iBAAiB,GAAG,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAC9B;AAwBD,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAGpE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU,CAOxE;AAED,mFAAmF;AACnF,wBAAuB,sBAAsB,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GAAG,cAAc,CAAC,eAAe,CAAC,CA8BjK"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
/** Fixed experimental wire contract; registration and authorization belong to the host. */
|
|
3
|
+
export const EXACT_BATCH_STREAM_PROTOCOL = '/dkg/experimental/exact-batch-stream/1.0.0';
|
|
4
|
+
/** Fixed experimental profile, not an additional signed request field. */
|
|
5
|
+
export const EXACT_BATCH_STREAM_WINDOW_SIZE = 2;
|
|
6
|
+
export const EXACT_BATCH_FRAME_KIND = Object.freeze({ REQUEST: 1, META: 2, DATA: 3, ASSET_END: 4, ACK: 5, BATCH_END: 6, REFUSE: 7 });
|
|
7
|
+
export const EXACT_BATCH_BATCH_INDEX = 255;
|
|
8
|
+
export const EXACT_BATCH_FRAME_HEADER_BYTES = 16;
|
|
9
|
+
export const EXACT_BATCH_MAX_FRAME_BYTES = 64 * 1024;
|
|
10
|
+
export const EXACT_BATCH_MAX_REQUEST_BYTES = 8 * 1024;
|
|
11
|
+
export const EXACT_BATCH_MAX_ASSETS = 10;
|
|
12
|
+
export const EXACT_BATCH_MAX_CHUNKS_PER_ASSET = 1024;
|
|
13
|
+
const MAGIC = new Uint8Array([68, 75, 66, 49]); // DKB1
|
|
14
|
+
/**
|
|
15
|
+
* `BUSY` (added after the first five) says the responder is alive and could not
|
|
16
|
+
* admit the request now. A requester built before it rejects the frame as an
|
|
17
|
+
* unknown refusal, which it handles like the stream reset it got before.
|
|
18
|
+
*/
|
|
19
|
+
export const EXACT_BATCH_REFUSALS = Object.freeze(['UNSUPPORTED', 'RESOURCE_LIMIT', 'SOURCE_CHANGED', 'ASSET_MISSING', 'DENIED', 'BUSY']);
|
|
20
|
+
function uint(value, max) { return Number.isInteger(value) && value >= 0 && value <= max; }
|
|
21
|
+
function validateHeader(kind, index, sequence, length) {
|
|
22
|
+
if (!uint(kind, 7) || kind === 0 || !uint(index, 255) || !uint(sequence, 0xffff_ffff) || !uint(length, EXACT_BATCH_MAX_FRAME_BYTES)) {
|
|
23
|
+
throw new Error('Invalid exact batch frame header');
|
|
24
|
+
}
|
|
25
|
+
const batch = kind === EXACT_BATCH_FRAME_KIND.REQUEST || kind === EXACT_BATCH_FRAME_KIND.BATCH_END || kind === EXACT_BATCH_FRAME_KIND.REFUSE;
|
|
26
|
+
if (batch ? index !== EXACT_BATCH_BATCH_INDEX : index >= EXACT_BATCH_MAX_ASSETS)
|
|
27
|
+
throw new Error('Invalid exact batch frame index');
|
|
28
|
+
if (kind === EXACT_BATCH_FRAME_KIND.REQUEST && (sequence !== 0 || length < 1 || length > EXACT_BATCH_MAX_REQUEST_BYTES))
|
|
29
|
+
throw new Error('Invalid exact batch request');
|
|
30
|
+
if (kind === EXACT_BATCH_FRAME_KIND.META && (sequence !== 0 || length < 1))
|
|
31
|
+
throw new Error('Invalid exact batch metadata');
|
|
32
|
+
if (kind === EXACT_BATCH_FRAME_KIND.DATA && (length < 1 || sequence >= EXACT_BATCH_MAX_CHUNKS_PER_ASSET))
|
|
33
|
+
throw new Error('Invalid exact batch data frame');
|
|
34
|
+
if ((kind === EXACT_BATCH_FRAME_KIND.ASSET_END || kind === EXACT_BATCH_FRAME_KIND.ACK || kind === EXACT_BATCH_FRAME_KIND.BATCH_END) && length !== 0)
|
|
35
|
+
throw new Error('Invalid exact batch control payload');
|
|
36
|
+
if ((kind === EXACT_BATCH_FRAME_KIND.ASSET_END || kind === EXACT_BATCH_FRAME_KIND.ACK) && (sequence < 1 || sequence > EXACT_BATCH_MAX_CHUNKS_PER_ASSET))
|
|
37
|
+
throw new Error('Invalid exact batch chunk count');
|
|
38
|
+
if (kind === EXACT_BATCH_FRAME_KIND.BATCH_END && (sequence < 1 || sequence > EXACT_BATCH_MAX_ASSETS))
|
|
39
|
+
throw new Error('Invalid exact batch end count');
|
|
40
|
+
if (kind === EXACT_BATCH_FRAME_KIND.REFUSE && (sequence !== 0 || length < 1 || length > 64))
|
|
41
|
+
throw new Error('Invalid exact batch refusal');
|
|
42
|
+
}
|
|
43
|
+
function validatePayload(frame) {
|
|
44
|
+
if (frame.kind === EXACT_BATCH_FRAME_KIND.REFUSE) {
|
|
45
|
+
const code = new TextDecoder('utf-8', { fatal: true }).decode(frame.payload);
|
|
46
|
+
if (!EXACT_BATCH_REFUSALS.includes(code))
|
|
47
|
+
throw new Error('Unknown exact batch refusal');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/** Validate a wire frame without interpreting its asset or compression payload. */
|
|
51
|
+
export function validateExactBatchFrame(frame) {
|
|
52
|
+
if (!(frame.payload instanceof Uint8Array))
|
|
53
|
+
throw new TypeError('Exact batch payload must be bytes');
|
|
54
|
+
validateHeader(frame.kind, frame.assetIndex, frame.sequence, frame.payload.byteLength);
|
|
55
|
+
validatePayload(frame);
|
|
56
|
+
}
|
|
57
|
+
export function encodeExactBatchFrame(frame) {
|
|
58
|
+
validateExactBatchFrame(frame);
|
|
59
|
+
const result = new Uint8Array(EXACT_BATCH_FRAME_HEADER_BYTES + frame.payload.byteLength);
|
|
60
|
+
result.set(MAGIC);
|
|
61
|
+
const view = new DataView(result.buffer);
|
|
62
|
+
view.setUint8(4, frame.kind);
|
|
63
|
+
view.setUint8(5, frame.assetIndex);
|
|
64
|
+
view.setUint32(8, frame.sequence);
|
|
65
|
+
view.setUint32(12, frame.payload.byteLength);
|
|
66
|
+
result.set(frame.payload, EXACT_BATCH_FRAME_HEADER_BYTES);
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
/** Incremental header-first parsing: never concatenate unbounded source chunks. */
|
|
70
|
+
export async function* decodeExactBatchFrames(source, options = {}) {
|
|
71
|
+
const header = new Uint8Array(EXACT_BATCH_FRAME_HEADER_BYTES);
|
|
72
|
+
let headerBytes = 0, body, bodyBytes = 0;
|
|
73
|
+
let kind = 0, index = 0, sequence = 0;
|
|
74
|
+
for await (const chunk of source) {
|
|
75
|
+
options.signal?.throwIfAborted();
|
|
76
|
+
if (!(chunk instanceof Uint8Array))
|
|
77
|
+
throw new TypeError('Exact batch stream must yield bytes');
|
|
78
|
+
let offset = 0;
|
|
79
|
+
while (offset < chunk.byteLength) {
|
|
80
|
+
options.signal?.throwIfAborted();
|
|
81
|
+
if (body === undefined) {
|
|
82
|
+
const take = Math.min(header.byteLength - headerBytes, chunk.byteLength - offset);
|
|
83
|
+
header.set(chunk.subarray(offset, offset + take), headerBytes);
|
|
84
|
+
headerBytes += take;
|
|
85
|
+
offset += take;
|
|
86
|
+
if (headerBytes < header.byteLength)
|
|
87
|
+
continue;
|
|
88
|
+
const view = new DataView(header.buffer);
|
|
89
|
+
if (!MAGIC.every((byte, i) => header[i] === byte) || view.getUint16(6) !== 0)
|
|
90
|
+
throw new Error('Invalid exact batch magic or reserved bits');
|
|
91
|
+
kind = view.getUint8(4);
|
|
92
|
+
index = view.getUint8(5);
|
|
93
|
+
sequence = view.getUint32(8);
|
|
94
|
+
const length = view.getUint32(12);
|
|
95
|
+
validateHeader(kind, index, sequence, length);
|
|
96
|
+
body = new Uint8Array(length);
|
|
97
|
+
bodyBytes = 0;
|
|
98
|
+
}
|
|
99
|
+
const take = Math.min(body.byteLength - bodyBytes, chunk.byteLength - offset);
|
|
100
|
+
body.set(chunk.subarray(offset, offset + take), bodyBytes);
|
|
101
|
+
bodyBytes += take;
|
|
102
|
+
offset += take;
|
|
103
|
+
if (bodyBytes === body.byteLength) {
|
|
104
|
+
const frame = Object.freeze({ kind, assetIndex: index, sequence, payload: body });
|
|
105
|
+
validatePayload(frame);
|
|
106
|
+
body = undefined;
|
|
107
|
+
headerBytes = 0;
|
|
108
|
+
yield frame;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
options.signal?.throwIfAborted();
|
|
113
|
+
if (headerBytes !== 0 || body !== undefined)
|
|
114
|
+
throw new Error('Truncated exact batch stream frame');
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=experimental-exact-batch-wire.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experimental-exact-batch-wire.js","sourceRoot":"","sources":["../src/experimental-exact-batch-wire.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './types.js';
|
|
2
|
+
export { gzipBounded, gunzipBounded, BoundedGzipLimitError, BoundedGzipCapacityError, type BoundedGzipOptions } from './bounded-gzip.js';
|
|
2
3
|
export * from './constants.js';
|
|
3
4
|
export * from './storage-ack-protocols.js';
|
|
4
5
|
export * from './context-graph-storage-uri.js';
|
|
@@ -55,15 +56,19 @@ export * from './backpressure-observability.js';
|
|
|
55
56
|
export { Logger, createOperationContext, formatLogRecord, type OperationContext, type OperationName, type LogSink, type LogRecord, type LogRecordFormatOptions, type CanonicalLogRecord, type LogLevel, LOG_LEVELS, normalizeLogLevel, } from './logger.js';
|
|
56
57
|
export { KA_LIFECYCLE_ROLES, KA_LIFECYCLE_STAGES, isKaPublishLifecycleDebugLoggingEnabled, logKaLifecycleEvent, resolveKaLifecycleLogDetail, setKaPublishLifecycleDebugLoggingEnabled, type KaLifecycleLogDetail, type KaLifecycleLogEvent, type KaLifecycleLogLevel, type KaLifecycleMetadataValue, type KaLifecycleRole, type KaLifecycleStage, } from './ka-lifecycle-logger.js';
|
|
57
58
|
export { createLogRedactor, redactLogEntry, redactMessage, DEFAULT_SENSITIVE_KEYS, REDACTED } from './log-redaction.js';
|
|
59
|
+
export { createBoundedKeyedLimiter, type BoundedKeyedLimiterOptions } from './bounded-denial-logger.js';
|
|
58
60
|
export type { LogRedactor } from './log-redaction.js';
|
|
59
61
|
export { getTracer, withSpan, linkedSpan, currentTraceIds, activeSpanContext, getMetrics, rebuildMetrics, type WithSpanOpts, type DkgMetrics, } from './telemetry-api.js';
|
|
60
62
|
export * from './crypto/index.js';
|
|
61
63
|
export * from './proto/index.js';
|
|
62
64
|
export { DEFAULT_RELAY_SERVER_CAPACITY, RELAY_CAPACITY_MULTIPLIER, RELAY_DEFAULT_DURATION_LIMIT_MS, RELAY_RESERVATION_TTL_MS, EDGE_NODE_MAX_CONNECTIONS, deriveRelayCaps, validateRelayServerCapacity, type RelayCapacityValidation, type DerivedRelayCaps, DEFAULT_RELAY_RESERVATION_COUNT, MAX_RELAY_RESERVATION_COUNT, validateRelayReservationCount, type RelayReservationCountValidation, } from './relay-capacity-policy.js';
|
|
63
65
|
export { DKGNode, type RelayStats, type RelayReservationDetail, type NetworkTunables, pickNetworkTunables, isPublicLikeAddress, isLocalOrInternalHostname, } from './node.js';
|
|
66
|
+
export { isIpLoopbackAddress, isLocalhostAddress, isLocalhostHostname, isLoopbackAddress, isUnspecifiedAddress, } from './network/address-policy.js';
|
|
64
67
|
export { peerIdFromRelayAddress } from './network-peer-dial-policy.js';
|
|
65
68
|
export { type Network, type PeerConnectionNetwork, type NodeIdentity, type Address, type DialOpts, type PeerConnectOpts, type ProtocolHandler, LibP2PNetwork, canonicalPeerIdString, tryCanonicalPeerIdString, type CanonicalPeerId, type NetworkStateRegistry, StubNetworkStateRegistry, type AgentDirectoryLookup, type PeerResolverDeps, type PeerConnectionOutcome, connectLibp2pCandidate, parseLibp2pConnectCandidate, Libp2pConnectCandidateParseError, type Libp2pConnectCandidate, type Libp2pConnectHost, type PeerResolverLogger, type ResolveOpts, type ConnectOpts, PeerResolver, dkgGossipMsgId, dkgGossipMsgIdRaw, type DkgGossipMsgIdInput, DkgGossipUnsignedMessageError, DkgGossipMissingPublisherError, } from './network/index.js';
|
|
66
|
-
export { ProtocolRouter, QuietRetryableHandlerError, type AdmissionCheckOptions, type ProtocolRegistrationOptions, type ProtocolRouterOptions, type SendOptions, DEFAULT_MAX_READ_BYTES, DEFAULT_SEND_TIMEOUT_MS, isRecoverableSendError, isProtocolUnsupportedError, } from './protocol-router.js';
|
|
69
|
+
export { ProtocolRouter, QuietRetryableHandlerError, type AdmissionCheckOptions, type DuplexStreamOptions, type DuplexStreamRequest, type ProtocolRegistrationOptions, type ProtocolRouterOptions, type SendOptions, DEFAULT_MAX_READ_BYTES, DEFAULT_SEND_TIMEOUT_MS, isRecoverableSendError, isProtocolUnsupportedError, } from './protocol-router.js';
|
|
70
|
+
export { EXPERIMENTAL_EXACT_BATCH_STREAM_PROTOCOL, EXPERIMENTAL_EXACT_BATCH_STREAM_WINDOW_SIZE, exchangeExperimentalExactBatch, registerExperimentalExactBatchResponder, ExperimentalExactBatchUnsupportedError, ExactBatchResponderRefusal, type ExactBatchTransportSession, type ExactBatchTransportOptions, type ExactBatchTransportEvent, type ExactBatchResponderAuthorization, } from './experimental-exact-batch-stream.js';
|
|
71
|
+
export { EXACT_BATCH_STREAM_PROTOCOL, EXACT_BATCH_STREAM_WINDOW_SIZE, EXACT_BATCH_FRAME_KIND, EXACT_BATCH_BATCH_INDEX, EXACT_BATCH_FRAME_HEADER_BYTES, EXACT_BATCH_MAX_FRAME_BYTES, EXACT_BATCH_MAX_REQUEST_BYTES, EXACT_BATCH_MAX_ASSETS, EXACT_BATCH_MAX_CHUNKS_PER_ASSET, EXACT_BATCH_REFUSALS, encodeExactBatchFrame, decodeExactBatchFrames, validateExactBatchFrame, type ExactBatchFrame, type ExactBatchFrameKind, type ExactBatchRefusal, } from './experimental-exact-batch-wire.js';
|
|
67
72
|
export { MessageStreamPool, POOLED_MESSAGE_PROTOCOL, DEFAULT_KEEPALIVE_MS, DEFAULT_IDLE_TIMEOUT_MS, DEFAULT_REQUEST_TIMEOUT_MS, PooledStreamResetError, type MessageStreamPoolOptions, type PooledStreamHandler, type PerPeerStats, type PoolNode, } from './message-stream-pool.js';
|
|
68
73
|
export { FrameType, encodeFrame, encodeVarint, tryDecodeVarint, decodeFrames, DEFAULT_MAX_FRAME_BYTES, type DecodedFrame, } from './message-frame.js';
|
|
69
74
|
export { GossipSubManager, type GossipMessageHandler } from './gossipsub-manager.js';
|
|
@@ -83,9 +88,10 @@ export { DEFAULT_SETUP_NETWORK, LEGACY_FALLBACK_NETWORK, SELECTABLE_SETUP_NETWOR
|
|
|
83
88
|
export { resolveCliPackageDir } from './resolve-cli-package-dir.js';
|
|
84
89
|
export { resolveDkgCli, type ResolvedDkgCli } from './resolve-dkg-cli.js';
|
|
85
90
|
export { startDaemon } from './daemon-lifecycle.js';
|
|
86
|
-
export { assertSafeIri, isSafeIri, sparqlIri, escapeSparqlLiteral, sparqlString, sparqlInt, assertSafeRdfTerm, } from './sparql-safe.js';
|
|
91
|
+
export { assertSafeIri, isSafeIri, sparqlIri, escapeSparqlLiteral, sparqlString, sparqlInt, assertSafeRdfTerm, UnsafeSparqlValueError, } from './sparql-safe.js';
|
|
92
|
+
export { formatIriPrefix, formatSparqlTerm, SparqlTermValidationError, unwrapIri, type SparqlTermContext, type SparqlTermKind, type SparqlTermPosition, } from './sparql-terms.js';
|
|
87
93
|
export { JAVA_WRITE_UTF_MAX_BYTES, DKG_RDF_LITERAL_SAFE_MUTF8_BYTES, OVERSIZED_RDF_LITERAL_ERROR_CODE, OversizedRdfLiteralError, javaModifiedUtf8ByteLength, rdfLiteralTermMutf8ByteLength, isOversizedRdfLiteralError, assertRdfLiteralMutf8Safe, assertQuadLiteralsMutf8Safe, type RdfLiteralSizeContext, type QuadLiteralLike, } from './rdf-literal-size.js';
|
|
88
|
-
export { DKGError, DKGUserError, DKGInternalError, PayloadTooLargeError, SwmGossipPayloadTooLargeError, toErrorMessage, hasErrorCode, NO_FUNDED_PUBLISHER_WALLET_CODE, NO_FUNDED_PUBLISHER_WALLET_MESSAGE_PREFIX, PUBLISH_AUTHOR_NOT_CUSTODIAL_CODE, PUBLISH_AUTHOR_NOT_CUSTODIAL_MESSAGE_MARKER, AMBIGUOUS_ASSERTION_AUTHOR_CODE, ASSERTION_AUTHOR_NOT_RESIDENT_CODE, PUBLISH_AUTHOR_SELECTION_CONFLICT_CODE, messageIndicatesNoFundedPublisherWallet, messageIndicatesPublishAuthorNotCustodial, formatPublishAuthorNotCustodialMessage, } from './errors.js';
|
|
94
|
+
export { DKGError, DKGUserError, DKGInternalError, PayloadTooLargeError, SwmGossipPayloadTooLargeError, toErrorMessage, hasErrorCode, NO_FUNDED_PUBLISHER_WALLET_CODE, NO_FUNDED_PUBLISHER_WALLET_MESSAGE_PREFIX, PUBLISH_AUTHOR_NOT_CUSTODIAL_CODE, PUBLISH_AUTHOR_NOT_CUSTODIAL_MESSAGE_MARKER, AMBIGUOUS_ASSERTION_AUTHOR_CODE, ASSERTION_AUTHOR_NOT_RESIDENT_CODE, PUBLISH_AUTHOR_SELECTION_CONFLICT_CODE, RFC64_LEGACY_SWM_BOUNDARY_RETIREMENT_IN_PROGRESS_CODE, isRfc64LegacySwmBoundaryRetirementInProgressError, UNSCOPED_QUERY_INVALIDATED_CODE, UNSCOPED_QUERY_INVALIDATED_MESSAGE, messageIndicatesNoFundedPublisherWallet, messageIndicatesPublishAuthorNotCustodial, formatPublishAuthorNotCustodialMessage, } from './errors.js';
|
|
89
95
|
export { dkgHomeDir, resolveDkgConfigHome, dkgAuthTokenPath, isDkgMonorepoRoot, findDkgMonorepoRoot, resolveDkgHome, readDaemonPid, isProcessAlive, readDkgApiPort, loadAuthTokenSync, loadAuthToken, toEip55Checksum, } from './dkg-home.js';
|
|
90
96
|
export { type Quad as ExtractionQuad, type ExtractionInput, type ConverterOutput, type ExtractionOutput, type ExtractionPipeline, ExtractionPipelineRegistry, } from './extraction-pipeline.js';
|
|
91
97
|
export * from './transducers.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACzI,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACZ,SAAS,EACT,OAAO,EACP,YAAY,EACZ,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EACZ,OAAO,EACP,MAAM,EACN,cAAc,EACd,WAAW,EACX,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,+BAA+B,EAC/B,iCAAiC,EACjC,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,GAC/B,MAAM,0BAA0B,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,wBAAwB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iCAAiC,CAAC;AAChD,OAAO,EACL,MAAM,EACN,sBAAsB,EACtB,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,UAAU,EACV,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,uCAAuC,EACvC,mBAAmB,EACnB,2BAA2B,EAC3B,wCAAwC,EACxC,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACxH,OAAO,EAAE,yBAAyB,EAAE,KAAK,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxG,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EACnE,UAAU,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,GAC/D,MAAM,oBAAoB,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAIL,6BAA6B,EAC7B,yBAAyB,EACzB,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EAErB,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,+BAA+B,GACrC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,OAAO,EACP,KAAK,UAAU,EACf,KAAK,sBAAsB,EAQ3B,KAAK,eAAe,EACpB,mBAAmB,EAInB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAavE,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,wBAAwB,EACxB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,sBAAsB,EACtB,2BAA2B,EAC3B,gCAAgC,EAChC,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,0BAA0B,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,wCAAwC,EACxC,2CAA2C,EAC3C,8BAA8B,EAC9B,uCAAuC,EACvC,sCAAsC,EACtC,0BAA0B,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,GACtC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,2BAA2B,EAAE,8BAA8B,EAAE,sBAAsB,EACnF,uBAAuB,EAAE,8BAA8B,EAAE,2BAA2B,EACpF,6BAA6B,EAAE,sBAAsB,EAAE,gCAAgC,EACvF,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,uBAAuB,EAC5F,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,GACvE,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,QAAQ,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACZ,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACpB,gCAAgC,EAChC,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,UAAU,EACV,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,aAAa,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,gCAAgC,EAChC,+BAA+B,EAC/B,KAAK,qBAAqB,EAC1B,mCAAmC,EACnC,kCAAkC,EAClC,gCAAgC,EAChC,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,WAAW,EACX,oBAAoB,EACpB,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,GAChC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,KAAK,8BAA8B,GACpC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,aAAa,EACb,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EACzB,SAAS,EACT,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,gCAAgC,EAChC,wBAAwB,EACxB,0BAA0B,EAC1B,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,6BAA6B,EAC7B,cAAc,EACd,YAAY,EACZ,+BAA+B,EAC/B,yCAAyC,EACzC,iCAAiC,EACjC,2CAA2C,EAC3C,+BAA+B,EAC/B,kCAAkC,EAClC,sCAAsC,EACtC,qDAAqD,EACrD,iDAAiD,EACjD,+BAA+B,EAC/B,kCAAkC,EAClC,uCAAuC,EACvC,yCAAyC,EACzC,sCAAsC,GACvC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,IAAI,IAAI,cAAc,EAC3B,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,yBAAyB,EACzB,oCAAoC,EACpC,uBAAuB,EACvB,iCAAiC,EACjC,uBAAuB,EACvB,sCAAsC,EACtC,KAAK,iCAAiC,EACtC,KAAK,sBAAsB,EAC3B,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mDAAmD,EACnD,+CAA+C,EAC/C,wBAAwB,EACxB,mCAAmC,EACnC,sCAAsC,EACtC,iDAAiD,EACjD,4CAA4C,EAC5C,iDAAiD,EACjD,qCAAqC,EACrC,6CAA6C,EAC7C,gDAAgD,EAChD,+CAA+C,EAC/C,2CAA2C,EAC3C,gDAAgD,EAChD,mCAAmC,EACnC,yCAAyC,EACzC,0CAA0C,EAC1C,kDAAkD,EAClD,4CAA4C,EAC5C,KAAK,OAAO,EACZ,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,gCAAgC,EACrC,KAAK,0CAA0C,EAC/C,KAAK,mCAAmC,EACxC,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAClC,KAAK,yCAAyC,EAC9C,KAAK,2CAA2C,EAChD,KAAK,8CAA8C,EACnD,KAAK,uCAAuC,GAC7C,MAAM,yCAAyC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './types.js';
|
|
2
|
+
export { gzipBounded, gunzipBounded, BoundedGzipLimitError, BoundedGzipCapacityError } from './bounded-gzip.js';
|
|
2
3
|
export * from './constants.js';
|
|
3
4
|
export * from './storage-ack-protocols.js';
|
|
4
5
|
export * from './context-graph-storage-uri.js';
|
|
@@ -54,6 +55,7 @@ export * from './backpressure-observability.js';
|
|
|
54
55
|
export { Logger, createOperationContext, formatLogRecord, LOG_LEVELS, normalizeLogLevel, } from './logger.js';
|
|
55
56
|
export { KA_LIFECYCLE_ROLES, KA_LIFECYCLE_STAGES, isKaPublishLifecycleDebugLoggingEnabled, logKaLifecycleEvent, resolveKaLifecycleLogDetail, setKaPublishLifecycleDebugLoggingEnabled, } from './ka-lifecycle-logger.js';
|
|
56
57
|
export { createLogRedactor, redactLogEntry, redactMessage, DEFAULT_SENSITIVE_KEYS, REDACTED } from './log-redaction.js';
|
|
58
|
+
export { createBoundedKeyedLimiter } from './bounded-denial-logger.js';
|
|
57
59
|
export { getTracer, withSpan, linkedSpan, currentTraceIds, activeSpanContext, getMetrics, rebuildMetrics, } from './telemetry-api.js';
|
|
58
60
|
export * from './crypto/index.js';
|
|
59
61
|
export * from './proto/index.js';
|
|
@@ -69,6 +71,7 @@ export { DKGNode, pickNetworkTunables,
|
|
|
69
71
|
// advertise as `dkg:multiaddr` so peers don't learn RFC1918/CGNAT
|
|
70
72
|
// entries from the phonebook).
|
|
71
73
|
isPublicLikeAddress, isLocalOrInternalHostname, } from './node.js';
|
|
74
|
+
export { isIpLoopbackAddress, isLocalhostAddress, isLocalhostHostname, isLoopbackAddress, isUnspecifiedAddress, } from './network/address-policy.js';
|
|
72
75
|
// Transport-level network isolation. `peerIdFromRelayAddress` is shared with
|
|
73
76
|
// the CLI, which derives other-network relay ids from bundled network configs.
|
|
74
77
|
export { peerIdFromRelayAddress } from './network-peer-dial-policy.js';
|
|
@@ -86,6 +89,9 @@ export { peerIdFromRelayAddress } from './network-peer-dial-policy.js';
|
|
|
86
89
|
// deep-import it from `../src/node.js`.
|
|
87
90
|
export { LibP2PNetwork, canonicalPeerIdString, tryCanonicalPeerIdString, StubNetworkStateRegistry, connectLibp2pCandidate, parseLibp2pConnectCandidate, Libp2pConnectCandidateParseError, PeerResolver, dkgGossipMsgId, dkgGossipMsgIdRaw, DkgGossipUnsignedMessageError, DkgGossipMissingPublisherError, } from './network/index.js';
|
|
88
91
|
export { ProtocolRouter, QuietRetryableHandlerError, DEFAULT_MAX_READ_BYTES, DEFAULT_SEND_TIMEOUT_MS, isRecoverableSendError, isProtocolUnsupportedError, } from './protocol-router.js';
|
|
92
|
+
// Explicit experimental capability only; importing Core installs no handler.
|
|
93
|
+
export { EXPERIMENTAL_EXACT_BATCH_STREAM_PROTOCOL, EXPERIMENTAL_EXACT_BATCH_STREAM_WINDOW_SIZE, exchangeExperimentalExactBatch, registerExperimentalExactBatchResponder, ExperimentalExactBatchUnsupportedError, ExactBatchResponderRefusal, } from './experimental-exact-batch-stream.js';
|
|
94
|
+
export { EXACT_BATCH_STREAM_PROTOCOL, EXACT_BATCH_STREAM_WINDOW_SIZE, EXACT_BATCH_FRAME_KIND, EXACT_BATCH_BATCH_INDEX, EXACT_BATCH_FRAME_HEADER_BYTES, EXACT_BATCH_MAX_FRAME_BYTES, EXACT_BATCH_MAX_REQUEST_BYTES, EXACT_BATCH_MAX_ASSETS, EXACT_BATCH_MAX_CHUNKS_PER_ASSET, EXACT_BATCH_REFUSALS, encodeExactBatchFrame, decodeExactBatchFrames, validateExactBatchFrame, } from './experimental-exact-batch-wire.js';
|
|
89
95
|
export { MessageStreamPool, POOLED_MESSAGE_PROTOCOL, DEFAULT_KEEPALIVE_MS, DEFAULT_IDLE_TIMEOUT_MS, DEFAULT_REQUEST_TIMEOUT_MS, PooledStreamResetError, } from './message-stream-pool.js';
|
|
90
96
|
export { FrameType, encodeFrame, encodeVarint, tryDecodeVarint, decodeFrames, DEFAULT_MAX_FRAME_BYTES, } from './message-frame.js';
|
|
91
97
|
export { GossipSubManager } from './gossipsub-manager.js';
|
|
@@ -105,9 +111,10 @@ export { DEFAULT_SETUP_NETWORK, LEGACY_FALLBACK_NETWORK, SELECTABLE_SETUP_NETWOR
|
|
|
105
111
|
export { resolveCliPackageDir } from './resolve-cli-package-dir.js';
|
|
106
112
|
export { resolveDkgCli } from './resolve-dkg-cli.js';
|
|
107
113
|
export { startDaemon } from './daemon-lifecycle.js';
|
|
108
|
-
export { assertSafeIri, isSafeIri, sparqlIri, escapeSparqlLiteral, sparqlString, sparqlInt, assertSafeRdfTerm, } from './sparql-safe.js';
|
|
114
|
+
export { assertSafeIri, isSafeIri, sparqlIri, escapeSparqlLiteral, sparqlString, sparqlInt, assertSafeRdfTerm, UnsafeSparqlValueError, } from './sparql-safe.js';
|
|
115
|
+
export { formatIriPrefix, formatSparqlTerm, SparqlTermValidationError, unwrapIri, } from './sparql-terms.js';
|
|
109
116
|
export { JAVA_WRITE_UTF_MAX_BYTES, DKG_RDF_LITERAL_SAFE_MUTF8_BYTES, OVERSIZED_RDF_LITERAL_ERROR_CODE, OversizedRdfLiteralError, javaModifiedUtf8ByteLength, rdfLiteralTermMutf8ByteLength, isOversizedRdfLiteralError, assertRdfLiteralMutf8Safe, assertQuadLiteralsMutf8Safe, } from './rdf-literal-size.js';
|
|
110
|
-
export { DKGError, DKGUserError, DKGInternalError, PayloadTooLargeError, SwmGossipPayloadTooLargeError, toErrorMessage, hasErrorCode, NO_FUNDED_PUBLISHER_WALLET_CODE, NO_FUNDED_PUBLISHER_WALLET_MESSAGE_PREFIX, PUBLISH_AUTHOR_NOT_CUSTODIAL_CODE, PUBLISH_AUTHOR_NOT_CUSTODIAL_MESSAGE_MARKER, AMBIGUOUS_ASSERTION_AUTHOR_CODE, ASSERTION_AUTHOR_NOT_RESIDENT_CODE, PUBLISH_AUTHOR_SELECTION_CONFLICT_CODE, messageIndicatesNoFundedPublisherWallet, messageIndicatesPublishAuthorNotCustodial, formatPublishAuthorNotCustodialMessage, } from './errors.js';
|
|
117
|
+
export { DKGError, DKGUserError, DKGInternalError, PayloadTooLargeError, SwmGossipPayloadTooLargeError, toErrorMessage, hasErrorCode, NO_FUNDED_PUBLISHER_WALLET_CODE, NO_FUNDED_PUBLISHER_WALLET_MESSAGE_PREFIX, PUBLISH_AUTHOR_NOT_CUSTODIAL_CODE, PUBLISH_AUTHOR_NOT_CUSTODIAL_MESSAGE_MARKER, AMBIGUOUS_ASSERTION_AUTHOR_CODE, ASSERTION_AUTHOR_NOT_RESIDENT_CODE, PUBLISH_AUTHOR_SELECTION_CONFLICT_CODE, RFC64_LEGACY_SWM_BOUNDARY_RETIREMENT_IN_PROGRESS_CODE, isRfc64LegacySwmBoundaryRetirementInProgressError, UNSCOPED_QUERY_INVALIDATED_CODE, UNSCOPED_QUERY_INVALIDATED_MESSAGE, messageIndicatesNoFundedPublisherWallet, messageIndicatesPublishAuthorNotCustodial, formatPublishAuthorNotCustodialMessage, } from './errors.js';
|
|
111
118
|
export { dkgHomeDir, resolveDkgConfigHome, dkgAuthTokenPath, isDkgMonorepoRoot, findDkgMonorepoRoot, resolveDkgHome, readDaemonPid, isProcessAlive, readDkgApiPort, loadAuthTokenSync, loadAuthToken, toEip55Checksum, } from './dkg-home.js';
|
|
112
119
|
export { ExtractionPipelineRegistry, } from './extraction-pipeline.js';
|
|
113
120
|
export * from './transducers.js';
|