@contextvm/sdk 0.7.7 → 0.8.0-next.0
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/esm/core/constants.d.ts +4 -0
- package/dist/esm/core/constants.d.ts.map +1 -1
- package/dist/esm/core/constants.js +4 -0
- package/dist/esm/core/constants.js.map +1 -1
- package/dist/esm/core/utils/utils.d.ts +3 -0
- package/dist/esm/core/utils/utils.d.ts.map +1 -1
- package/dist/esm/core/utils/utils.js +7 -0
- package/dist/esm/core/utils/utils.js.map +1 -1
- package/dist/esm/transport/nostr-client-transport.d.ts +27 -1
- package/dist/esm/transport/nostr-client-transport.d.ts.map +1 -1
- package/dist/esm/transport/nostr-client-transport.js +124 -41
- package/dist/esm/transport/nostr-client-transport.js.map +1 -1
- package/dist/esm/transport/nostr-server/session-store.d.ts +2 -0
- package/dist/esm/transport/nostr-server/session-store.d.ts.map +1 -1
- package/dist/esm/transport/nostr-server/session-store.js +1 -0
- package/dist/esm/transport/nostr-server/session-store.js.map +1 -1
- package/dist/esm/transport/nostr-server-transport.d.ts +22 -0
- package/dist/esm/transport/nostr-server-transport.d.ts.map +1 -1
- package/dist/esm/transport/nostr-server-transport.js +144 -24
- package/dist/esm/transport/nostr-server-transport.js.map +1 -1
- package/dist/esm/transport/oversized-transfer/constants.d.ts +11 -0
- package/dist/esm/transport/oversized-transfer/constants.d.ts.map +1 -0
- package/dist/esm/transport/oversized-transfer/constants.js +21 -0
- package/dist/esm/transport/oversized-transfer/constants.js.map +1 -0
- package/dist/esm/transport/oversized-transfer/errors.d.ts +27 -0
- package/dist/esm/transport/oversized-transfer/errors.d.ts.map +1 -0
- package/dist/esm/transport/oversized-transfer/errors.js +45 -0
- package/dist/esm/transport/oversized-transfer/errors.js.map +1 -0
- package/dist/esm/transport/oversized-transfer/index.d.ts +10 -0
- package/dist/esm/transport/oversized-transfer/index.d.ts.map +1 -0
- package/dist/esm/transport/oversized-transfer/index.js +7 -0
- package/dist/esm/transport/oversized-transfer/index.js.map +1 -0
- package/dist/esm/transport/oversized-transfer/receiver.d.ts +57 -0
- package/dist/esm/transport/oversized-transfer/receiver.d.ts.map +1 -0
- package/dist/esm/transport/oversized-transfer/receiver.js +367 -0
- package/dist/esm/transport/oversized-transfer/receiver.js.map +1 -0
- package/dist/esm/transport/oversized-transfer/sender-session.d.ts +16 -0
- package/dist/esm/transport/oversized-transfer/sender-session.d.ts.map +1 -0
- package/dist/esm/transport/oversized-transfer/sender-session.js +22 -0
- package/dist/esm/transport/oversized-transfer/sender-session.js.map +1 -0
- package/dist/esm/transport/oversized-transfer/sender.d.ts +15 -0
- package/dist/esm/transport/oversized-transfer/sender.d.ts.map +1 -0
- package/dist/esm/transport/oversized-transfer/sender.js +81 -0
- package/dist/esm/transport/oversized-transfer/sender.js.map +1 -0
- package/dist/esm/transport/oversized-transfer/types.d.ts +39 -0
- package/dist/esm/transport/oversized-transfer/types.d.ts.map +1 -0
- package/dist/esm/transport/oversized-transfer/types.js +2 -0
- package/dist/esm/transport/oversized-transfer/types.js.map +1 -0
- package/package.json +2 -1
|
@@ -7,6 +7,7 @@ import { CorrelationStore } from './nostr-server/correlation-store.js';
|
|
|
7
7
|
import { ClientSession, SessionStore } from './nostr-server/session-store.js';
|
|
8
8
|
import { CapabilityExclusion } from './nostr-server/authorization-policy.js';
|
|
9
9
|
import { ServerInfo } from './nostr-server/announcement-manager.js';
|
|
10
|
+
import { type TransferPolicy } from './oversized-transfer/index.js';
|
|
10
11
|
/**
|
|
11
12
|
* Options for configuring the NostrServerTransport.
|
|
12
13
|
*/
|
|
@@ -60,6 +61,20 @@ export interface NostrServerTransportOptions extends BaseNostrTransportOptions {
|
|
|
60
61
|
inboundMiddleware?: (message: JSONRPCMessage, ctx: {
|
|
61
62
|
clientPubkey: string;
|
|
62
63
|
}, forward: (message: JSONRPCMessage) => Promise<void>) => Promise<void>;
|
|
64
|
+
/** Options controlling CEP-22 oversized payload transfer. */
|
|
65
|
+
oversizedTransfer?: {
|
|
66
|
+
/** Whether oversized transfer is enabled. @default true */
|
|
67
|
+
enabled?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Byte threshold at which the server proactively fragments a response.
|
|
70
|
+
* @default DEFAULT_OVERSIZED_THRESHOLD (48 000)
|
|
71
|
+
*/
|
|
72
|
+
thresholdBytes?: number;
|
|
73
|
+
/** Per-chunk data size in bytes. @default DEFAULT_CHUNK_SIZE (48 000) */
|
|
74
|
+
chunkSizeBytes?: number;
|
|
75
|
+
/** Receiver-side admission policy. */
|
|
76
|
+
policy?: TransferPolicy;
|
|
77
|
+
};
|
|
63
78
|
}
|
|
64
79
|
export type InboundMiddlewareFn = (message: JSONRPCMessage, ctx: {
|
|
65
80
|
clientPubkey: string;
|
|
@@ -91,6 +106,11 @@ export declare class NostrServerTransport extends BaseNostrTransport implements
|
|
|
91
106
|
* Used for gift-wrap envelopes (outer event ids) and decrypted inner events.
|
|
92
107
|
*/
|
|
93
108
|
private readonly seenEventIds;
|
|
109
|
+
/** Receives inbound oversized-transfer frames from clients (client→server requests). */
|
|
110
|
+
private readonly oversizedReceiver;
|
|
111
|
+
private readonly oversizedEnabled;
|
|
112
|
+
private readonly oversizedThreshold;
|
|
113
|
+
private readonly oversizedChunkSize;
|
|
94
114
|
constructor(options: NostrServerTransportOptions);
|
|
95
115
|
/**
|
|
96
116
|
* Sets extra tags to include in server announcement + initialize response events.
|
|
@@ -171,6 +191,8 @@ export declare class NostrServerTransport extends BaseNostrTransport implements
|
|
|
171
191
|
* @returns Promise that resolves when the notification is sent.
|
|
172
192
|
*/
|
|
173
193
|
sendNotification(clientPubkey: string, notification: JSONRPCMessage, correlatedEventId?: string): Promise<void>;
|
|
194
|
+
private sendOversizedResponse;
|
|
195
|
+
private sendAcceptFrame;
|
|
174
196
|
/**
|
|
175
197
|
* Processes incoming Nostr events, handling decryption and client authorization.
|
|
176
198
|
* This method centralizes the logic for determining whether to process an event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nostr-server-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/nostr-server-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,cAAc,EAMpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAYnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"nostr-server-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/nostr-server-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,15 @@ import { InitializeResultSchema, ListPromptsResultSchema, ListResourcesResultSch
|
|
|
2
2
|
import { BaseNostrTransport, } from './base-nostr-transport.js';
|
|
3
3
|
import { CTXVM_MESSAGES_KIND, DEFAULT_TIMEOUT_MS, EPHEMERAL_GIFT_WRAP_KIND, GIFT_WRAP_KIND, NOSTR_TAGS, NOTIFICATIONS_INITIALIZED_METHOD, decryptMessage, DEFAULT_LRU_SIZE, } from '../core/index.js';
|
|
4
4
|
import { EncryptionMode, GiftWrapMode } from '../core/interfaces.js';
|
|
5
|
-
import { injectClientPubkey, withTimeout } from '../core/utils/utils.js';
|
|
5
|
+
import { hasSingleTag, injectClientPubkey, withTimeout, } from '../core/utils/utils.js';
|
|
6
6
|
import { CorrelationStore } from './nostr-server/correlation-store.js';
|
|
7
7
|
import { SessionStore } from './nostr-server/session-store.js';
|
|
8
8
|
import { LruCache } from '../core/utils/lru-cache.js';
|
|
9
9
|
import { ApplesauceRelayPool } from '../relay/applesauce-relay-pool.js';
|
|
10
10
|
import { AuthorizationPolicy, } from './nostr-server/authorization-policy.js';
|
|
11
11
|
import { AnnouncementManager, } from './nostr-server/announcement-manager.js';
|
|
12
|
+
import { OversizedTransferReceiver, sendOversizedTransfer, } from './oversized-transfer/index.js';
|
|
13
|
+
import { DEFAULT_CHUNK_SIZE, DEFAULT_OVERSIZED_THRESHOLD, } from './oversized-transfer/constants.js';
|
|
12
14
|
/**
|
|
13
15
|
* A server-side transport layer for CTXVM that uses Nostr events for communication.
|
|
14
16
|
* This transport listens for incoming MCP requests via Nostr events and can send
|
|
@@ -17,7 +19,7 @@ import { AnnouncementManager, } from './nostr-server/announcement-manager.js';
|
|
|
17
19
|
*/
|
|
18
20
|
export class NostrServerTransport extends BaseNostrTransport {
|
|
19
21
|
constructor(options) {
|
|
20
|
-
var _a, _b, _c;
|
|
22
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
21
23
|
super('nostr-server-transport', options);
|
|
22
24
|
this.inboundMiddlewares = [];
|
|
23
25
|
/**
|
|
@@ -94,6 +96,17 @@ export class NostrServerTransport extends BaseNostrTransport {
|
|
|
94
96
|
onSubscribe: (filters, onEvent) => this.relayHandler.subscribe(filters, onEvent).then(() => undefined),
|
|
95
97
|
logger: this.logger,
|
|
96
98
|
});
|
|
99
|
+
const ot = options.oversizedTransfer;
|
|
100
|
+
this.oversizedEnabled = (_d = ot === null || ot === void 0 ? void 0 : ot.enabled) !== null && _d !== void 0 ? _d : true;
|
|
101
|
+
this.oversizedThreshold = (_e = ot === null || ot === void 0 ? void 0 : ot.thresholdBytes) !== null && _e !== void 0 ? _e : DEFAULT_OVERSIZED_THRESHOLD;
|
|
102
|
+
this.oversizedChunkSize = (_f = ot === null || ot === void 0 ? void 0 : ot.chunkSizeBytes) !== null && _f !== void 0 ? _f : DEFAULT_CHUNK_SIZE;
|
|
103
|
+
this.oversizedReceiver = new OversizedTransferReceiver((_g = ot === null || ot === void 0 ? void 0 : ot.policy) !== null && _g !== void 0 ? _g : {}, this.logger);
|
|
104
|
+
// Advertise CEP-22 support so clients can skip the accept handshake.
|
|
105
|
+
if (this.oversizedEnabled) {
|
|
106
|
+
this.announcementManager.setExtraCommonTags([
|
|
107
|
+
[NOSTR_TAGS.SUPPORT_OVERSIZED_TRANSFER],
|
|
108
|
+
]);
|
|
109
|
+
}
|
|
97
110
|
}
|
|
98
111
|
/**
|
|
99
112
|
* Sets extra tags to include in server announcement + initialize response events.
|
|
@@ -172,6 +185,7 @@ export class NostrServerTransport extends BaseNostrTransport {
|
|
|
172
185
|
this.sessionStore.clear();
|
|
173
186
|
this.correlationStore.clear();
|
|
174
187
|
this.seenEventIds.clear();
|
|
188
|
+
this.oversizedReceiver.clear();
|
|
175
189
|
(_a = this.onclose) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
176
190
|
}
|
|
177
191
|
catch (error) {
|
|
@@ -303,6 +317,20 @@ export class NostrServerTransport extends BaseNostrTransport {
|
|
|
303
317
|
}
|
|
304
318
|
// Restore the original request ID in the response
|
|
305
319
|
response.id = route.originalRequestId;
|
|
320
|
+
// CEP-22 Oversized Transfer (proactive path for server responses)
|
|
321
|
+
if (this.oversizedEnabled && route.progressToken) {
|
|
322
|
+
// Serialize before restoring id so the client receives the correct id.
|
|
323
|
+
const serialized = JSON.stringify(response);
|
|
324
|
+
const byteLength = new TextEncoder().encode(serialized).byteLength;
|
|
325
|
+
if (byteLength > this.oversizedThreshold) {
|
|
326
|
+
const includeCommonTags = !session.hasSentCommonTags;
|
|
327
|
+
if (includeCommonTags) {
|
|
328
|
+
session.hasSentCommonTags = true;
|
|
329
|
+
}
|
|
330
|
+
await this.sendOversizedResponse(serialized, route.clientPubkey, route.progressToken, nostrEventId, session.isEncrypted, includeCommonTags);
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
306
334
|
// Send the response back to the original requester
|
|
307
335
|
const tags = this.createResponseTags(route.clientPubkey, nostrEventId);
|
|
308
336
|
// Attach discovery tags on the first response for a client session.
|
|
@@ -324,16 +352,6 @@ export class NostrServerTransport extends BaseNostrTransport {
|
|
|
324
352
|
giftWrapKind = GIFT_WRAP_KIND;
|
|
325
353
|
}
|
|
326
354
|
}
|
|
327
|
-
// Add server metadata tags for initialize responses when the first-response replay
|
|
328
|
-
// path did not already include them.
|
|
329
|
-
if (isJSONRPCResultResponse(response) &&
|
|
330
|
-
!session.hasSentCommonTags &&
|
|
331
|
-
InitializeResultSchema.safeParse(response.result).success) {
|
|
332
|
-
const serverInfoTags = this.announcementManager.getServerInfoTags();
|
|
333
|
-
serverInfoTags.forEach((tag) => {
|
|
334
|
-
tags.push(tag);
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
355
|
// Attach pricing tags to capability list responses so clients can access CEP-8 pricing
|
|
338
356
|
if (isJSONRPCResultResponse(response)) {
|
|
339
357
|
const result = response.result;
|
|
@@ -428,6 +446,60 @@ export class NostrServerTransport extends BaseNostrTransport {
|
|
|
428
446
|
: undefined
|
|
429
447
|
: undefined);
|
|
430
448
|
}
|
|
449
|
+
//Fragments an oversized response into CEP-22 transfer frames and sends them
|
|
450
|
+
//as `notifications/progress` messages to the client.
|
|
451
|
+
async sendOversizedResponse(serialized, clientPubkey, progressToken, correlatedEventId, isEncrypted, includeCommonTags) {
|
|
452
|
+
const frameTags = this.createResponseTags(clientPubkey, correlatedEventId);
|
|
453
|
+
const startFrameTags = includeCommonTags
|
|
454
|
+
? [...frameTags, ...this.announcementManager.getCommonTags()]
|
|
455
|
+
: frameTags;
|
|
456
|
+
let giftWrapKind;
|
|
457
|
+
if (isEncrypted) {
|
|
458
|
+
if (this.giftWrapMode === GiftWrapMode.EPHEMERAL) {
|
|
459
|
+
giftWrapKind = EPHEMERAL_GIFT_WRAP_KIND;
|
|
460
|
+
}
|
|
461
|
+
else if (this.giftWrapMode === GiftWrapMode.PERSISTENT) {
|
|
462
|
+
giftWrapKind = GIFT_WRAP_KIND;
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
const sendFrame = async (params, tags) => {
|
|
466
|
+
const notification = {
|
|
467
|
+
jsonrpc: '2.0',
|
|
468
|
+
method: 'notifications/progress',
|
|
469
|
+
params,
|
|
470
|
+
};
|
|
471
|
+
await this.sendMcpMessage(notification, clientPubkey, CTXVM_MESSAGES_KIND, tags, isEncrypted, undefined, giftWrapKind);
|
|
472
|
+
};
|
|
473
|
+
await sendOversizedTransfer(serialized, {
|
|
474
|
+
progressToken,
|
|
475
|
+
chunkSizeBytes: this.oversizedChunkSize,
|
|
476
|
+
needsAcceptHandshake: false,
|
|
477
|
+
publishFrame: async (frame, ctx) => {
|
|
478
|
+
await sendFrame(frame, ctx.isStartFrame ? startFrameTags : frameTags);
|
|
479
|
+
return undefined;
|
|
480
|
+
},
|
|
481
|
+
});
|
|
482
|
+
}
|
|
483
|
+
// Sends a CEP-22 `accept` frame back to a client that has initiated
|
|
484
|
+
// an oversized transfer (stateless bootstrap).
|
|
485
|
+
async sendAcceptFrame(clientPubkey, progressToken) {
|
|
486
|
+
const acceptParams = {
|
|
487
|
+
progressToken,
|
|
488
|
+
// progress=2 is the slot reserved between start(1) and the first chunk(3).
|
|
489
|
+
progress: 2,
|
|
490
|
+
message: 'oversized request accepted',
|
|
491
|
+
cvm: {
|
|
492
|
+
type: 'oversized-transfer',
|
|
493
|
+
frameType: 'accept',
|
|
494
|
+
},
|
|
495
|
+
};
|
|
496
|
+
const notification = {
|
|
497
|
+
jsonrpc: '2.0',
|
|
498
|
+
method: 'notifications/progress',
|
|
499
|
+
params: acceptParams,
|
|
500
|
+
};
|
|
501
|
+
await this.sendNotification(clientPubkey, notification);
|
|
502
|
+
}
|
|
431
503
|
/**
|
|
432
504
|
* Processes incoming Nostr events, handling decryption and client authorization.
|
|
433
505
|
* This method centralizes the logic for determining whether to process an event
|
|
@@ -560,18 +632,11 @@ export class NostrServerTransport extends BaseNostrTransport {
|
|
|
560
632
|
}
|
|
561
633
|
return;
|
|
562
634
|
}
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
// Inject client public key for enhanced server integration (in-place mutation)
|
|
569
|
-
if (this.injectClientPubkey) {
|
|
570
|
-
injectClientPubkey(mcpMessage, event.pubkey);
|
|
571
|
-
}
|
|
572
|
-
}
|
|
573
|
-
else if (isJSONRPCNotification(mcpMessage)) {
|
|
574
|
-
this.handleIncomingNotification(event.pubkey, mcpMessage);
|
|
635
|
+
const session = this.getOrCreateClientSession(event.pubkey, isEncrypted);
|
|
636
|
+
const shouldSendAccept = !session.supportsOversizedTransfer;
|
|
637
|
+
if (shouldSendAccept &&
|
|
638
|
+
hasSingleTag(event.tags, NOSTR_TAGS.SUPPORT_OVERSIZED_TRANSFER)) {
|
|
639
|
+
session.supportsOversizedTransfer = true;
|
|
575
640
|
}
|
|
576
641
|
const forward = async (msg) => {
|
|
577
642
|
var _a, _b;
|
|
@@ -598,6 +663,61 @@ export class NostrServerTransport extends BaseNostrTransport {
|
|
|
598
663
|
await dispatch(index + 1, nextMsg);
|
|
599
664
|
});
|
|
600
665
|
};
|
|
666
|
+
if (isJSONRPCRequest(mcpMessage)) {
|
|
667
|
+
this.handleIncomingRequest(event.id, mcpMessage, event.pubkey, wrapKind);
|
|
668
|
+
if (this.injectClientPubkey) {
|
|
669
|
+
injectClientPubkey(mcpMessage, event.pubkey);
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
else if (isJSONRPCNotification(mcpMessage)) {
|
|
673
|
+
this.handleIncomingNotification(event.pubkey, mcpMessage);
|
|
674
|
+
if (mcpMessage.method === 'notifications/progress' &&
|
|
675
|
+
OversizedTransferReceiver.isOversizedFrame(mcpMessage)) {
|
|
676
|
+
this.oversizedReceiver
|
|
677
|
+
.processFrame(mcpMessage)
|
|
678
|
+
.then(async (synthetic) => {
|
|
679
|
+
var _a, _b, _c, _d;
|
|
680
|
+
if (synthetic === null) {
|
|
681
|
+
if (((_b = (_a = mcpMessage.params) === null || _a === void 0 ? void 0 : _a.cvm) === null || _b === void 0 ? void 0 : _b.frameType) === 'start' &&
|
|
682
|
+
shouldSendAccept) {
|
|
683
|
+
await this.sendAcceptFrame(event.pubkey, String((_d = (_c = mcpMessage.params) === null || _c === void 0 ? void 0 : _c.progressToken) !== null && _d !== void 0 ? _d : '')).catch((err) => {
|
|
684
|
+
this.logger.error('Failed to send oversized accept', {
|
|
685
|
+
error: err instanceof Error ? err.message : String(err),
|
|
686
|
+
});
|
|
687
|
+
});
|
|
688
|
+
}
|
|
689
|
+
return;
|
|
690
|
+
}
|
|
691
|
+
if (isJSONRPCRequest(synthetic)) {
|
|
692
|
+
this.handleIncomingRequest(event.id, synthetic, event.pubkey, wrapKind);
|
|
693
|
+
if (this.injectClientPubkey) {
|
|
694
|
+
injectClientPubkey(synthetic, event.pubkey);
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
else if (isJSONRPCNotification(synthetic)) {
|
|
698
|
+
this.handleIncomingNotification(event.pubkey, synthetic);
|
|
699
|
+
}
|
|
700
|
+
void dispatch(0, synthetic).catch((err) => {
|
|
701
|
+
var _a;
|
|
702
|
+
this.logger.error('Error dispatching reassembled oversized message', {
|
|
703
|
+
error: err instanceof Error ? err.message : String(err),
|
|
704
|
+
pubkey: event.pubkey,
|
|
705
|
+
});
|
|
706
|
+
(_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, err instanceof Error
|
|
707
|
+
? err
|
|
708
|
+
: new Error('oversized dispatch failed'));
|
|
709
|
+
});
|
|
710
|
+
})
|
|
711
|
+
.catch((err) => {
|
|
712
|
+
var _a;
|
|
713
|
+
this.logger.error('Oversized transfer error (server)', {
|
|
714
|
+
error: err instanceof Error ? err.message : String(err),
|
|
715
|
+
});
|
|
716
|
+
(_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, err instanceof Error ? err : new Error(String(err)));
|
|
717
|
+
});
|
|
718
|
+
return;
|
|
719
|
+
}
|
|
720
|
+
}
|
|
601
721
|
void dispatch(0, mcpMessage).catch((err) => {
|
|
602
722
|
var _a;
|
|
603
723
|
this.logger.error('Error in inboundMiddleware chain', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nostr-server-transport.js","sourceRoot":"","sources":["../../../src/transport/nostr-server-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,iCAAiC,EACjC,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EAIrB,uBAAuB,EACvB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,kBAAkB,GAEnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,UAAU,EACV,gCAAgC,EAChC,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAiB,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EACL,mBAAmB,GAEpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,mBAAmB,GAEpB,MAAM,wCAAwC,CAAC;AAsEhD;;;;;GAKG;AACH,MAAM,OAAO,oBACX,SAAQ,kBAAkB;IA+B1B,YAAY,OAAoC;;QAC9C,KAAK,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QAV1B,uBAAkB,GAA0B,EAAE,CAAC;QAEhE;;;;WAIG;QACc,iBAAY,GAAG,IAAI,QAAQ,CAAO,gBAAgB,CAAC,CAAC;QAInE,IAAI,CAAC,kBAAkB,GAAG,MAAA,OAAO,CAAC,kBAAkB,mCAAI,KAAK,CAAC;QAC9D,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;QAC7D,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC1D,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC;YACjD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC1C,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBACpC,CAAC,CAAC,SAAS;YACb,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,iBAAiB,EAAE,MAAA,OAAO,CAAC,iBAAiB,mCAAI,OAAO,CAAC,cAAc;SACvE,CAAC,CAAC;QAEH,0EAA0E;QAC1E,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;YACnC,WAAW,EAAE,MAAA,OAAO,CAAC,WAAW,mCAAI,IAAI;YACxC,gBAAgB,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE;gBAC1C,oDAAoD;gBACpD,MAAM,YAAY,GAChB,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,uBAAuB,YAAY,aAAa,YAAY,UAAU,CACvE,CAAC;gBAEF,yEAAyE;gBACzE,gDAAgD;gBAChD,IAAI,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE,CAAC;oBACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sBAAsB,YAAY,uBAAuB,CAC1D,CAAC;oBACF,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAClC,YAAY,EACZ,OAAO,CAAC,WAAW,CACpB,CAAC;oBACF,OAAO,CAAC,wDAAwD;gBAClE,CAAC;gBAED,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAChC,OAAO,CAAC,OAAO,CACb,IAAI,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CACvD,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;wBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE;4BAC5D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC7D,YAAY;yBACb,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,yDAAyD;QACzD,oFAAoF;QACpF,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC3C,cAAc,EAAE,KAAK;YACrB,mBAAmB,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,EAAE,EAAE;oBACtD,YAAY,EAAE,KAAK,CAAC,YAAY;iBACjC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC;YACjD,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,eAAe,EAAE,EAAE;YACnB,WAAW,EAAE,EAAE;YACf,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,SAAS,qDAAG,OAAO,CAAC,CAAA,EAAA;YACzD,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YACnD,sBAAsB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAC3C,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC;YAChD,WAAW,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;YACpE,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;YACzC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;YAC1D,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAChC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YACrE,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,wBAAwB,CAAC,IAAgB;QAC9C,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACI,0BAA0B,CAAC,IAAgB;QAChD,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACI,oBAAoB,CAAC,UAA+B;QACzD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,KAAK;;QAChB,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACpD,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,YAAY,EAAE;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAC3C,yDAAyD;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAEvD,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;;gBAC5C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE;wBACnD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;wBACvD,OAAO,EAAE,KAAK,CAAC,EAAE;qBAClB,CAAC,CAAC;oBACH,MAAA,IAAI,CAAC,OAAO,qDACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;gBAC/C,MAAM,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,CAAC;YAC9D,CAAC;YAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,kBAAkB,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;;QAChB,IAAI,CAAC;YACH,iEAAiE;YACjE,4DAA4D;YAC5D,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAEhC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAA,IAAI,CAAC,OAAO,oDAAI,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,kBAAkB,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,IAAI,CAAC,OAAuB;;QACvC,qCAAqC;QACrC,IAAI,uBAAuB,CAAC,OAAO,CAAC,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,CAAC,cAAc,CACvB,OAAiD,CAClD,CAAC;QACJ,CAAC;aAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAA,IAAI,CAAC,OAAO,qDAAG,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,kBAAkB,CAC7B,SAAiB,iBAAiB;QAElC,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAC9B,YAAoB,EACpB,WAAoB;QAEpB,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAC7D,YAAY,EACZ,WAAW,CACZ,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAAC,YAA0B;;QAC7C,OAAO,MAAA,YAAY,CAAC,YAAY,4DAAI,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,KAAiB,EACjB,SAAmB;QAEnB,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,WAAW,CACf,SAAS,CAAC,OAAO,EAAE,EACnB,kBAAkB,EAClB,gDAAgD,CACjD,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,WAAW,CACf,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE;oBACvB,WAAW,EAAE,UAAU,CAAC,MAAM;iBAC/B,CAAC,EACF,kBAAkB,EAClB,mDAAmD,CACpD,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE;oBAClE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,UAAU,EAAE,SAAS,CAAC,MAAM;iBAC7B,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,qBAAqB,CAC3B,OAAe,EACf,OAAuB,EACvB,YAAoB,EACpB,QAAiB;;QAEjB,sDAAsD;QACtD,MAAM,iBAAiB,GAAG,OAAO,CAAC,EAAE,CAAC;QACrC,0EAA0E;QAC1E,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC;QAErB,oDAAoD;QACpD,MAAM,aAAa,GAAG,MAAA,MAAA,OAAO,CAAC,MAAM,0CAAE,KAAK,0CAAE,aAAa,CAAC;QAC3D,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACtC,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EACjD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,0BAA0B,CAChC,YAAoB,EACpB,YAA4B;QAE5B,IACE,qBAAqB,CAAC,YAAY,CAAC;YACnC,YAAY,CAAC,MAAM,KAAK,gCAAgC,EACxD,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAC1B,QAAgD;;QAEhD,wCAAwC;QACxC,IAAI,QAAQ,CAAC,EAAE,KAAK,cAAc,EAAE,CAAC;YACnC,MAAM,UAAU,GACd,MAAM,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YACtE,IAAI,UAAU,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpD,IAAI,sBAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,EAAY,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAEhE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAA,IAAI,CAAC,OAAO,qDACV,IAAI,KAAK,CAAC,6CAA6C,QAAQ,CAAC,EAAE,EAAE,CAAC,CACtE,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAA,IAAI,CAAC,OAAO,qDACV,IAAI,KAAK,CAAC,gCAAgC,KAAK,CAAC,YAAY,EAAE,CAAC,CAChE,CAAC;YACF,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAEtC,mDAAmD;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAEvE,oEAAoE;QACpE,kFAAkF;QAClF,iFAAiF;QACjF,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,IAAI,YAAgC,CAAC;QACrC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAChD,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,CAAC;iBAAM,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;gBACxD,YAAY,GAAG,wBAAwB,CAAC;YAC1C,CAAC;iBAAM,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,UAAU,EAAE,CAAC;gBACzD,YAAY,GAAG,cAAc,CAAC;YAChC,CAAC;QACH,CAAC;QAED,mFAAmF;QACnF,qCAAqC;QACrC,IACE,uBAAuB,CAAC,QAAQ,CAAC;YACjC,CAAC,OAAO,CAAC,iBAAiB;YAC1B,sBAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EACzD,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;YACpE,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,uFAAuF;QACvF,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,IACE,qBAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO;gBAC/C,yBAAyB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO;gBACnD,iCAAiC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO;gBAC3D,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EACjD,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,CAAC;gBAC9D,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,cAAc,CACvB,QAAQ,EACR,KAAK,CAAC,YAAY,EAClB,mBAAmB,EACnB,IAAI,EACJ,OAAO,CAAC,WAAW,EACnB,SAAS,EACT,YAAY,CACb,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAC9B,YAA4B;;QAE5B,IAAI,CAAC;YACH,8CAA8C;YAC9C,qGAAqG;YACrG,IACE,qBAAqB,CAAC,YAAY,CAAC;gBACnC,YAAY,CAAC,MAAM,KAAK,wBAAwB;iBAChD,MAAA,YAAY,CAAC,MAAM,0CAAE,aAAa,CAAA,EAClC,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAExD,6CAA6C;gBAC7C,MAAM,YAAY,GAChB,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;gBAEzD,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oBAChE,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,IAAI,CAAC,gBAAgB,CACzB,KAAK,CAAC,YAAY,EAClB,YAAY,EACZ,YAAY,CACb,CAAC;wBACF,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzD,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAK,CAAC,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,sFAAsF;YACtF,KAAK,MAAM,CACT,YAAY,EACZ,OAAO,EACR,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC;gBACxC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;wBAC5B,IAAI,CAAC;4BACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;wBAC1D,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;gCAC9C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gCAC7D,YAAY;gCACZ,MAAM,EAAE,qBAAqB,CAAC,YAAY,CAAC;oCACzC,CAAC,CAAC,YAAY,CAAC,MAAM;oCACrB,CAAC,CAAC,SAAS;6BACd,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAC/C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACxD,CAAC,CAAC;YACH,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,gBAAgB,CAC3B,YAAoB,EACpB,YAA4B,EAC5B,iBAA0B;QAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uCAAuC,YAAY,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,gDAAgD;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,CAAC,cAAc,CACvB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,IAAI,EACJ,OAAO,CAAC,WAAW,EACnB,SAAS,EACT,OAAO,CAAC,WAAW;YACjB,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,SAAS;gBAC5C,CAAC,CAAC,wBAAwB;gBAC1B,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,UAAU;oBAC7C,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,SAAS;YACf,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,oBAAoB,CAAC,KAAiB;;QAClD,IAAI,CAAC;YACH,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,KAAK,CAAC,IAAI,KAAK,wBAAwB,EACvC,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE;wBACjE,OAAO,EAAE,KAAK,CAAC,EAAE;wBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,mEAAmE;gBACnE,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;wBACzD,OAAO,EAAE,KAAK,CAAC,EAAE;qBAClB,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAEtC,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBACjD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACvD,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,SAAS,EAAE,KAAK,CAAC,IAAI;aACtB,CAAC,CAAC;YACH,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAAC,KAAiB;;QAClD,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,CAAC,QAAQ,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mCAAmC,KAAK,CAAC,MAAM,wCAAwC,CACxF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,WAAW,CACrC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAClC,kBAAkB,EAClB,2BAA2B,CAC5B,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAe,CAAC;YAE7D,MAAM,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;gBAC1D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACvD,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;YACH,MAAA,IAAI,CAAC,OAAO,qDACV,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,sBAAsB,CAAC,KAAiB;QACpD,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,CAAC,QAAQ,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qCAAqC,KAAK,CAAC,MAAM,wCAAwC,CAC1F,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,wBAAwB,CACpC,KAAiB,EACjB,WAAoB,EACpB,QAAiB;;QAEjB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;YAE7D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0DAA0D,EAC1D;oBACE,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,qDAAqD;YACrD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAC3D,KAAK,CAAC,MAAM,EACZ,UAAU,CACX,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6BAA6B,KAAK,CAAC,MAAM,cAAc,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAC/F,CAAC;gBAEF,IACE,yBAAyB,IAAI,YAAY;oBACzC,YAAY,CAAC,uBAAuB;oBACpC,gBAAgB,CAAC,UAAU,CAAC,EAC5B,CAAC;oBACD,MAAM,aAAa,GAAyB;wBAC1C,OAAO,EAAE,KAAK;wBACd,EAAE,EAAE,UAAU,CAAC,EAAE;wBACjB,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC,KAAK;4BACZ,OAAO,EAAE,cAAc;yBACxB;qBACF,CAAC;oBAEF,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC7D,IAAI,CAAC,cAAc,CACjB,aAAa,EACb,KAAK,CAAC,MAAM,EACZ,mBAAmB,EACnB,IAAI,EACJ,WAAW,EACX,SAAS,EACT,WAAW;wBACT,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,SAAS;4BAC5C,CAAC,CAAC,wBAAwB;4BAC1B,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,UAAU;gCAC7C,CAAC,CAAC,cAAc;gCAChB,CAAC,CAAC,QAAQ;wBACd,CAAC,CAAC,SAAS,CACd,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;;wBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;4BACxD,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;4BACvD,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,OAAO,EAAE,KAAK,CAAC,EAAE;yBAClB,CAAC,CAAC;wBACH,MAAA,IAAI,CAAC,OAAO,qDACV,IAAI,KAAK,CAAC,yCAAyC,GAAG,EAAE,CAAC,CAC1D,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YAED,yFAAyF;YACzF,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAEzD,gEAAgE;YAChE,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,qBAAqB,CACxB,KAAK,CAAC,EAAE,EACR,UAAU,EACV,KAAK,CAAC,MAAM,EACZ,QAAQ,CACT,CAAC;gBAEF,+EAA+E;gBAC/E,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC5B,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;iBAAM,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,EAAE,GAAmB,EAAiB,EAAE;;gBAC3D,MAAA,IAAI,CAAC,SAAS,qDAAG,GAAG,CAAC,CAAC;gBACtB,MAAA,IAAI,CAAC,oBAAoB,qDAAG,GAAG,EAAE;oBAC/B,YAAY,EAAE,KAAK,CAAC,MAAM;iBAC3B,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI;iBAC1B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;iBAC/D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG;gBACV,YAAY,EAAE,KAAK,CAAC,MAAM;gBAC1B,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;aAC3D,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAE5C,MAAM,QAAQ,GAAG,KAAK,EACpB,KAAa,EACb,GAAmB,EACJ,EAAE;gBACjB,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;oBACnB,OAAO;gBACT,CAAC;gBACD,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBACnC,MAAM,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,KAAK,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;;gBAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;oBACpD,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACvD,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC,CAAC;gBACH,MAAA,IAAI,CAAC,OAAO,qDACV,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CACnE,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;gBACrD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACvD,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;YACH,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,0BAA0B;QACxB,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"nostr-server-transport.js","sourceRoot":"","sources":["../../../src/transport/nostr-server-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const OVERSIZED_TRANSFER_TYPE = "oversized-transfer";
|
|
2
|
+
export declare const DEFAULT_CHUNK_SIZE = 48000;
|
|
3
|
+
export declare const DEFAULT_OVERSIZED_THRESHOLD = 48000;
|
|
4
|
+
export declare const DIGEST_PREFIX = "sha256:";
|
|
5
|
+
export declare const DEFAULT_MAX_ACCEPTABLE_BYTES: number;
|
|
6
|
+
export declare const DEFAULT_MAX_TRANSFER_CHUNKS = 10000;
|
|
7
|
+
export declare const DEFAULT_MAX_CONCURRENT_TRANSFERS = 64;
|
|
8
|
+
export declare const DEFAULT_TRANSFER_TIMEOUT_MS: number;
|
|
9
|
+
export declare const DEFAULT_MAX_OUT_OF_ORDER_WINDOW = 21;
|
|
10
|
+
export declare const DEFAULT_MAX_OUT_OF_ORDER_CHUNKS = 42;
|
|
11
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/transport/oversized-transfer/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAI5D,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAGzC,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAGlD,eAAO,MAAM,aAAa,YAAY,CAAC;AAGvC,eAAO,MAAM,4BAA4B,QAAoB,CAAC;AAG9D,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAGlD,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAGnD,eAAO,MAAM,2BAA2B,QAAgB,CAAC;AAIzD,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAGlD,eAAO,MAAM,+BAA+B,KAAK,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const OVERSIZED_TRANSFER_TYPE = 'oversized-transfer';
|
|
2
|
+
// Default per-chunk data size. Conservative: leaves ~16 KiB headroom for 64KiB Nostr event relay threshold
|
|
3
|
+
export const DEFAULT_CHUNK_SIZE = 48000;
|
|
4
|
+
// Byte length at which the sender proactively switches to oversized transfer.
|
|
5
|
+
export const DEFAULT_OVERSIZED_THRESHOLD = 48000;
|
|
6
|
+
// Prefix for SHA-256 digest values.
|
|
7
|
+
export const DIGEST_PREFIX = 'sha256:';
|
|
8
|
+
// Default upper bound on the total serialized payload a receiver will accept.
|
|
9
|
+
export const DEFAULT_MAX_ACCEPTABLE_BYTES = 100 * 1024 * 1024; // 100 MiB
|
|
10
|
+
// Default upper bound on the number of chunks a receiver will accept.
|
|
11
|
+
export const DEFAULT_MAX_TRANSFER_CHUNKS = 10000;
|
|
12
|
+
// Default upper bound on concurrently active receiver-side transfers.
|
|
13
|
+
export const DEFAULT_MAX_CONCURRENT_TRANSFERS = 64;
|
|
14
|
+
// Default hard timeout for an in-flight transfer (ms).
|
|
15
|
+
export const DEFAULT_TRANSFER_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes
|
|
16
|
+
// Default maximum forward gap between the next expected chunk and an
|
|
17
|
+
// out-of-order chunk that will still be buffered.
|
|
18
|
+
export const DEFAULT_MAX_OUT_OF_ORDER_WINDOW = 21;
|
|
19
|
+
// Default maximum number of buffered out-of-order chunks.
|
|
20
|
+
export const DEFAULT_MAX_OUT_OF_ORDER_CHUNKS = 42;
|
|
21
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/transport/oversized-transfer/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAE5D,2GAA2G;AAE3G,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAM,CAAC;AAEzC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAM,CAAC;AAElD,oCAAoC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AAEvC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,UAAU;AAEzE,sEAAsE;AACtE,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAM,CAAC;AAElD,sEAAsE;AACtE,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAEnD,uDAAuD;AACvD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAEtE,qEAAqE;AACrE,kDAAkD;AAClD,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAElD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** Base class for all CEP-22 transfer errors. */
|
|
2
|
+
export declare class OversizedTransferError extends Error {
|
|
3
|
+
constructor(message: string);
|
|
4
|
+
}
|
|
5
|
+
/** Thrown when the transfer is aborted by the remote peer. */
|
|
6
|
+
export declare class OversizedTransferAbortError extends OversizedTransferError {
|
|
7
|
+
readonly token: string;
|
|
8
|
+
readonly reason: string | undefined;
|
|
9
|
+
constructor(token: string, reason?: string);
|
|
10
|
+
}
|
|
11
|
+
/** Thrown when a frame violates the declared policy limits (totalBytes, totalChunks). */
|
|
12
|
+
export declare class OversizedTransferPolicyError extends OversizedTransferError {
|
|
13
|
+
constructor(message: string);
|
|
14
|
+
}
|
|
15
|
+
/** Thrown when the digest or byte-length of the reassembled payload does not match. */
|
|
16
|
+
export declare class OversizedTransferDigestError extends OversizedTransferError {
|
|
17
|
+
constructor(message: string);
|
|
18
|
+
}
|
|
19
|
+
/** Thrown when chunks cannot be reassembled (missing frames, gap in sequence). */
|
|
20
|
+
export declare class OversizedTransferReassemblyError extends OversizedTransferError {
|
|
21
|
+
constructor(message: string);
|
|
22
|
+
}
|
|
23
|
+
/** Thrown when transfer frames violate CEP-22 sequencing rules. */
|
|
24
|
+
export declare class OversizedTransferSequenceError extends OversizedTransferError {
|
|
25
|
+
constructor(message: string);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/transport/oversized-transfer/errors.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAED,8DAA8D;AAC9D,qBAAa,2BAA4B,SAAQ,sBAAsB;IACrE,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBAC/B,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAM3C;AAED,yFAAyF;AACzF,qBAAa,4BAA6B,SAAQ,sBAAsB;gBAC1D,OAAO,EAAE,MAAM;CAI5B;AAED,uFAAuF;AACvF,qBAAa,4BAA6B,SAAQ,sBAAsB;gBAC1D,OAAO,EAAE,MAAM;CAI5B;AAED,kFAAkF;AAClF,qBAAa,gCAAiC,SAAQ,sBAAsB;gBAC9D,OAAO,EAAE,MAAM;CAI5B;AAED,mEAAmE;AACnE,qBAAa,8BAA+B,SAAQ,sBAAsB;gBAC5D,OAAO,EAAE,MAAM;CAI5B"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** Base class for all CEP-22 transfer errors. */
|
|
2
|
+
export class OversizedTransferError extends Error {
|
|
3
|
+
constructor(message) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.name = 'OversizedTransferError';
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/** Thrown when the transfer is aborted by the remote peer. */
|
|
9
|
+
export class OversizedTransferAbortError extends OversizedTransferError {
|
|
10
|
+
constructor(token, reason) {
|
|
11
|
+
super(`Transfer aborted${reason ? `: ${reason}` : ''}`);
|
|
12
|
+
this.name = 'OversizedTransferAbortError';
|
|
13
|
+
this.token = token;
|
|
14
|
+
this.reason = reason;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/** Thrown when a frame violates the declared policy limits (totalBytes, totalChunks). */
|
|
18
|
+
export class OversizedTransferPolicyError extends OversizedTransferError {
|
|
19
|
+
constructor(message) {
|
|
20
|
+
super(message);
|
|
21
|
+
this.name = 'OversizedTransferPolicyError';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/** Thrown when the digest or byte-length of the reassembled payload does not match. */
|
|
25
|
+
export class OversizedTransferDigestError extends OversizedTransferError {
|
|
26
|
+
constructor(message) {
|
|
27
|
+
super(message);
|
|
28
|
+
this.name = 'OversizedTransferDigestError';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/** Thrown when chunks cannot be reassembled (missing frames, gap in sequence). */
|
|
32
|
+
export class OversizedTransferReassemblyError extends OversizedTransferError {
|
|
33
|
+
constructor(message) {
|
|
34
|
+
super(message);
|
|
35
|
+
this.name = 'OversizedTransferReassemblyError';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/** Thrown when transfer frames violate CEP-22 sequencing rules. */
|
|
39
|
+
export class OversizedTransferSequenceError extends OversizedTransferError {
|
|
40
|
+
constructor(message) {
|
|
41
|
+
super(message);
|
|
42
|
+
this.name = 'OversizedTransferSequenceError';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/transport/oversized-transfer/errors.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,8DAA8D;AAC9D,MAAM,OAAO,2BAA4B,SAAQ,sBAAsB;IAGrE,YAAY,KAAa,EAAE,MAAe;QACxC,KAAK,CAAC,mBAAmB,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,yFAAyF;AACzF,MAAM,OAAO,4BAA6B,SAAQ,sBAAsB;IACtE,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED,uFAAuF;AACvF,MAAM,OAAO,4BAA6B,SAAQ,sBAAsB;IACtE,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED,kFAAkF;AAClF,MAAM,OAAO,gCAAiC,SAAQ,sBAAsB;IAC1E,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AAED,mEAAmE;AACnE,MAAM,OAAO,8BAA+B,SAAQ,sBAAsB;IACxE,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './types.js';
|
|
2
|
+
export * from './constants.js';
|
|
3
|
+
export { buildOversizedTransferFrames } from './sender.js';
|
|
4
|
+
export type { SenderOptions, SenderResult } from './sender.js';
|
|
5
|
+
export { sendOversizedTransfer } from './sender-session.js';
|
|
6
|
+
export type { OversizedAcceptWaiter, OversizedFramePublishContext, OversizedFramePublisher, OversizedSendOptions, } from './sender-session.js';
|
|
7
|
+
export { OversizedTransferError, OversizedTransferAbortError, OversizedTransferPolicyError, OversizedTransferDigestError, OversizedTransferReassemblyError, OversizedTransferSequenceError, } from './errors.js';
|
|
8
|
+
export { OversizedTransferReceiver } from './receiver.js';
|
|
9
|
+
export type { TransferPolicy } from './receiver.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transport/oversized-transfer/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './types.js';
|
|
2
|
+
export * from './constants.js';
|
|
3
|
+
export { buildOversizedTransferFrames } from './sender.js';
|
|
4
|
+
export { sendOversizedTransfer } from './sender-session.js';
|
|
5
|
+
export { OversizedTransferError, OversizedTransferAbortError, OversizedTransferPolicyError, OversizedTransferDigestError, OversizedTransferReassemblyError, OversizedTransferSequenceError, } from './errors.js';
|
|
6
|
+
export { OversizedTransferReceiver } from './receiver.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transport/oversized-transfer/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAO5D,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { JSONRPCMessage, JSONRPCNotification } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { Logger } from '../../core/utils/logger.js';
|
|
3
|
+
export interface TransferPolicy {
|
|
4
|
+
maxTransferBytes?: number;
|
|
5
|
+
maxTransferChunks?: number;
|
|
6
|
+
maxConcurrentTransfers?: number;
|
|
7
|
+
maxOutOfOrderWindow?: number;
|
|
8
|
+
maxOutOfOrderChunks?: number;
|
|
9
|
+
/** Hard timeout for an in-flight transfer in ms. */
|
|
10
|
+
transferTimeoutMs?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare class OversizedTransferReceiver {
|
|
13
|
+
private readonly maxTransferBytes;
|
|
14
|
+
private readonly maxTransferChunks;
|
|
15
|
+
private readonly maxConcurrentTransfers;
|
|
16
|
+
private readonly maxOutOfOrderWindow;
|
|
17
|
+
private readonly maxOutOfOrderChunks;
|
|
18
|
+
private readonly transferTimeoutMs;
|
|
19
|
+
private readonly transfers;
|
|
20
|
+
private readonly acceptWaiters;
|
|
21
|
+
private readonly logger;
|
|
22
|
+
constructor(policy: TransferPolicy, logger: Logger);
|
|
23
|
+
static isOversizedFrame(notification: JSONRPCNotification): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Process one inbound `notifications/progress` frame.
|
|
26
|
+
*
|
|
27
|
+
* @returns The reassembled `JSONRPCMessage` when the transfer is complete,
|
|
28
|
+
* or `null` when more frames are needed.
|
|
29
|
+
* @throws `OversizedTransferAbortError` on `abort` frame.
|
|
30
|
+
* @throws `OversizedTransferPolicyError` when limits are exceeded.
|
|
31
|
+
* @throws `OversizedTransferDigestError` on integrity failure.
|
|
32
|
+
* @throws `OversizedTransferReassemblyError` on structural failure.
|
|
33
|
+
*/
|
|
34
|
+
processFrame(notification: JSONRPCNotification): Promise<JSONRPCMessage | null>;
|
|
35
|
+
waitForAccept(token: string, timeoutMs?: number): Promise<void>;
|
|
36
|
+
get activeTransferCount(): number;
|
|
37
|
+
/** Releases all in-flight transfers and their watchdog timers. */
|
|
38
|
+
clear(): void;
|
|
39
|
+
private handleStart;
|
|
40
|
+
private handleAccept;
|
|
41
|
+
private handleChunk;
|
|
42
|
+
private handleEnd;
|
|
43
|
+
private handleAbort;
|
|
44
|
+
private assertValidToken;
|
|
45
|
+
private assertValidProgress;
|
|
46
|
+
private refreshChunkProgressState;
|
|
47
|
+
private getBufferedOutOfOrderChunkCount;
|
|
48
|
+
private getNextExpectedChunkProgress;
|
|
49
|
+
private assembleTransferPayload;
|
|
50
|
+
private getAssemblyFirstChunkProgress;
|
|
51
|
+
private hasCompleteChunkRange;
|
|
52
|
+
private failTransfer;
|
|
53
|
+
private resolveAcceptWaiter;
|
|
54
|
+
private rejectAcceptWaiter;
|
|
55
|
+
private cleanup;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=receiver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receiver.d.ts","sourceRoot":"","sources":["../../../../src/transport/oversized-transfer/receiver.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,cAAc,EAEd,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AA4BzD,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAyBD,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmC;IACjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAGpB,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM;IAkBlD,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,mBAAmB,GAAG,OAAO;IAInE;;;;;;;;;OASG;IAGG,YAAY,CAChB,YAAY,EAAE,mBAAmB,GAChC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA2BjC,aAAa,CACX,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,MAA+B,GACzC,OAAO,CAAC,IAAI,CAAC;IAuBhB,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,kEAAkE;IAClE,KAAK,IAAI,IAAI;IAeb,OAAO,CAAC,WAAW;IAmEnB,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,WAAW;YA0GL,SAAS;IA2EvB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,yBAAyB;IAqBjC,OAAO,CAAC,+BAA+B;IAavC,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,uBAAuB;IA2B/B,OAAO,CAAC,6BAA6B;IAoBrC,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,OAAO;CAKhB"}
|