@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.
Files changed (49) hide show
  1. package/dist/esm/core/constants.d.ts +4 -0
  2. package/dist/esm/core/constants.d.ts.map +1 -1
  3. package/dist/esm/core/constants.js +4 -0
  4. package/dist/esm/core/constants.js.map +1 -1
  5. package/dist/esm/core/utils/utils.d.ts +3 -0
  6. package/dist/esm/core/utils/utils.d.ts.map +1 -1
  7. package/dist/esm/core/utils/utils.js +7 -0
  8. package/dist/esm/core/utils/utils.js.map +1 -1
  9. package/dist/esm/transport/nostr-client-transport.d.ts +27 -1
  10. package/dist/esm/transport/nostr-client-transport.d.ts.map +1 -1
  11. package/dist/esm/transport/nostr-client-transport.js +124 -41
  12. package/dist/esm/transport/nostr-client-transport.js.map +1 -1
  13. package/dist/esm/transport/nostr-server/session-store.d.ts +2 -0
  14. package/dist/esm/transport/nostr-server/session-store.d.ts.map +1 -1
  15. package/dist/esm/transport/nostr-server/session-store.js +1 -0
  16. package/dist/esm/transport/nostr-server/session-store.js.map +1 -1
  17. package/dist/esm/transport/nostr-server-transport.d.ts +22 -0
  18. package/dist/esm/transport/nostr-server-transport.d.ts.map +1 -1
  19. package/dist/esm/transport/nostr-server-transport.js +144 -24
  20. package/dist/esm/transport/nostr-server-transport.js.map +1 -1
  21. package/dist/esm/transport/oversized-transfer/constants.d.ts +11 -0
  22. package/dist/esm/transport/oversized-transfer/constants.d.ts.map +1 -0
  23. package/dist/esm/transport/oversized-transfer/constants.js +21 -0
  24. package/dist/esm/transport/oversized-transfer/constants.js.map +1 -0
  25. package/dist/esm/transport/oversized-transfer/errors.d.ts +27 -0
  26. package/dist/esm/transport/oversized-transfer/errors.d.ts.map +1 -0
  27. package/dist/esm/transport/oversized-transfer/errors.js +45 -0
  28. package/dist/esm/transport/oversized-transfer/errors.js.map +1 -0
  29. package/dist/esm/transport/oversized-transfer/index.d.ts +10 -0
  30. package/dist/esm/transport/oversized-transfer/index.d.ts.map +1 -0
  31. package/dist/esm/transport/oversized-transfer/index.js +7 -0
  32. package/dist/esm/transport/oversized-transfer/index.js.map +1 -0
  33. package/dist/esm/transport/oversized-transfer/receiver.d.ts +57 -0
  34. package/dist/esm/transport/oversized-transfer/receiver.d.ts.map +1 -0
  35. package/dist/esm/transport/oversized-transfer/receiver.js +367 -0
  36. package/dist/esm/transport/oversized-transfer/receiver.js.map +1 -0
  37. package/dist/esm/transport/oversized-transfer/sender-session.d.ts +16 -0
  38. package/dist/esm/transport/oversized-transfer/sender-session.d.ts.map +1 -0
  39. package/dist/esm/transport/oversized-transfer/sender-session.js +22 -0
  40. package/dist/esm/transport/oversized-transfer/sender-session.js.map +1 -0
  41. package/dist/esm/transport/oversized-transfer/sender.d.ts +15 -0
  42. package/dist/esm/transport/oversized-transfer/sender.d.ts.map +1 -0
  43. package/dist/esm/transport/oversized-transfer/sender.js +81 -0
  44. package/dist/esm/transport/oversized-transfer/sender.js.map +1 -0
  45. package/dist/esm/transport/oversized-transfer/types.d.ts +39 -0
  46. package/dist/esm/transport/oversized-transfer/types.d.ts.map +1 -0
  47. package/dist/esm/transport/oversized-transfer/types.js +2 -0
  48. package/dist/esm/transport/oversized-transfer/types.js.map +1 -0
  49. 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":"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"}
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;AAMnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG9E,OAAO,EAEL,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAEL,UAAU,EACX,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,+BAA+B,CAAC;AAMvC;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,yBAAyB;IAC5E,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8GAA8G;IAC9G,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,gGAAgG;IAChG,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C,wGAAwG;IACxG,oBAAoB,CAAC,EAAE,CACrB,SAAS,EAAE,mBAAmB,KAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,CAAC,GAAG,EAAE;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAClB,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,EAC7B,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,KAChD,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE;QAClB,2DAA2D;QAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;WAGG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,yEAAyE;QACzE,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,sCAAsC;QACtC,MAAM,CAAC,EAAE,cAAc,CAAC;KACzB,CAAC;CACH;AAED,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EAC7D,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,KAChD,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;;;;GAKG;AACH,qBAAa,oBACX,SAAQ,kBACR,YAAW,SAAS;IAEb,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,oBAAoB,CAAC,EAAE,CAC5B,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAC1B,IAAI,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAExC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAKzB;IACd,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6B;IAEhE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwC;IAErE,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAG9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;gBAEhC,OAAO,EAAE,2BAA2B;IA0GhD;;;;OAIG;IACI,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IAIvD;;;;OAIG;IACI,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IAIzD;;;;OAIG;IACI,oBAAoB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI;IAIlE;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCnC;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBnC;;;OAGG;IACU,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAazD;;;;;;OAMG;IACU,kBAAkB,CAC7B,MAAM,GAAE,MAA0B,GACjC,OAAO,CAAC,UAAU,EAAE,CAAC;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,YAAY;YAIN,uBAAuB;IAkCrC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAYlC;;;OAGG;YACW,cAAc;IA4G5B;;;OAGG;YACW,kBAAkB;IAiEhC;;;;;OAKG;IACU,gBAAgB,CAC3B,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,cAAc,EAC5B,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC;YA+BF,qBAAqB;YAuDrB,eAAe;IAsB7B;;;;;OAKG;YACW,oBAAoB;IAsClC;;;OAGG;YACW,oBAAoB;IA+BlC;;;OAGG;YACW,sBAAsB;IAUpC;;;;;OAKG;YACW,wBAAwB;IA2NtC;;;OAGG;IACH,0BAA0B;;;;CAM3B"}
@@ -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
- // Get or create session for this client (ensures session exists for authorized messages)
564
- this.getOrCreateClientSession(event.pubkey, isEncrypted);
565
- // Handle message routing and conditionally inject client pubkey
566
- if (isJSONRPCRequest(mcpMessage)) {
567
- this.handleIncomingRequest(event.id, mcpMessage, event.pubkey, wrapKind);
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":"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"}
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"}