@contextvm/sdk 0.11.7 → 0.11.9

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 (89) hide show
  1. package/dist/esm/core/utils/base64.d.ts +3 -0
  2. package/dist/esm/core/utils/base64.d.ts.map +1 -0
  3. package/dist/esm/core/utils/base64.js +24 -0
  4. package/dist/esm/core/utils/base64.js.map +1 -0
  5. package/dist/esm/payments/handlers/ln-bolt11-lnbits-payment-handler.d.ts.map +1 -1
  6. package/dist/esm/payments/handlers/ln-bolt11-lnbits-payment-handler.js +2 -1
  7. package/dist/esm/payments/handlers/ln-bolt11-lnbits-payment-handler.js.map +1 -1
  8. package/dist/esm/payments/processors/ln-bolt11-lnbits-payment-processor.d.ts.map +1 -1
  9. package/dist/esm/payments/processors/ln-bolt11-lnbits-payment-processor.js +2 -1
  10. package/dist/esm/payments/processors/ln-bolt11-lnbits-payment-processor.js.map +1 -1
  11. package/dist/esm/transport/capability-negotiator.d.ts +141 -0
  12. package/dist/esm/transport/capability-negotiator.d.ts.map +1 -0
  13. package/dist/esm/transport/capability-negotiator.js +198 -0
  14. package/dist/esm/transport/capability-negotiator.js.map +1 -0
  15. package/dist/esm/transport/middleware.d.ts +9 -0
  16. package/dist/esm/transport/middleware.d.ts.map +1 -0
  17. package/dist/esm/transport/middleware.js +2 -0
  18. package/dist/esm/transport/middleware.js.map +1 -0
  19. package/dist/esm/transport/nostr-client/event-pipeline.d.ts +29 -0
  20. package/dist/esm/transport/nostr-client/event-pipeline.d.ts.map +1 -0
  21. package/dist/esm/transport/nostr-client/event-pipeline.js +109 -0
  22. package/dist/esm/transport/nostr-client/event-pipeline.js.map +1 -0
  23. package/dist/esm/transport/nostr-client/inbound-coordinator.d.ts +37 -0
  24. package/dist/esm/transport/nostr-client/inbound-coordinator.d.ts.map +1 -0
  25. package/dist/esm/transport/nostr-client/inbound-coordinator.js +159 -0
  26. package/dist/esm/transport/nostr-client/inbound-coordinator.js.map +1 -0
  27. package/dist/esm/transport/nostr-client/inbound-notification-dispatcher.d.ts +28 -0
  28. package/dist/esm/transport/nostr-client/inbound-notification-dispatcher.d.ts.map +1 -0
  29. package/dist/esm/transport/nostr-client/inbound-notification-dispatcher.js +65 -0
  30. package/dist/esm/transport/nostr-client/inbound-notification-dispatcher.js.map +1 -0
  31. package/dist/esm/transport/nostr-client/open-stream-factory.d.ts +36 -0
  32. package/dist/esm/transport/nostr-client/open-stream-factory.d.ts.map +1 -0
  33. package/dist/esm/transport/nostr-client/open-stream-factory.js +126 -0
  34. package/dist/esm/transport/nostr-client/open-stream-factory.js.map +1 -0
  35. package/dist/esm/transport/nostr-client/outbound-sender.d.ts +45 -0
  36. package/dist/esm/transport/nostr-client/outbound-sender.d.ts.map +1 -0
  37. package/dist/esm/transport/nostr-client/outbound-sender.js +105 -0
  38. package/dist/esm/transport/nostr-client/outbound-sender.js.map +1 -0
  39. package/dist/esm/transport/nostr-client/server-metadata-store.d.ts +35 -0
  40. package/dist/esm/transport/nostr-client/server-metadata-store.d.ts.map +1 -0
  41. package/dist/esm/transport/nostr-client/server-metadata-store.js +107 -0
  42. package/dist/esm/transport/nostr-client/server-metadata-store.js.map +1 -0
  43. package/dist/esm/transport/nostr-client-transport.d.ts +18 -41
  44. package/dist/esm/transport/nostr-client-transport.d.ts.map +1 -1
  45. package/dist/esm/transport/nostr-client-transport.js +117 -553
  46. package/dist/esm/transport/nostr-client-transport.js.map +1 -1
  47. package/dist/esm/transport/nostr-server/correlation-store.d.ts +2 -2
  48. package/dist/esm/transport/nostr-server/correlation-store.d.ts.map +1 -1
  49. package/dist/esm/transport/nostr-server/correlation-store.js +12 -3
  50. package/dist/esm/transport/nostr-server/correlation-store.js.map +1 -1
  51. package/dist/esm/transport/nostr-server/event-pipeline.d.ts +32 -0
  52. package/dist/esm/transport/nostr-server/event-pipeline.d.ts.map +1 -0
  53. package/dist/esm/transport/nostr-server/event-pipeline.js +118 -0
  54. package/dist/esm/transport/nostr-server/event-pipeline.js.map +1 -0
  55. package/dist/esm/transport/nostr-server/inbound-coordinator.d.ts +56 -0
  56. package/dist/esm/transport/nostr-server/inbound-coordinator.d.ts.map +1 -0
  57. package/dist/esm/transport/nostr-server/inbound-coordinator.js +168 -0
  58. package/dist/esm/transport/nostr-server/inbound-coordinator.js.map +1 -0
  59. package/dist/esm/transport/nostr-server/inbound-notification-dispatcher.d.ts +44 -0
  60. package/dist/esm/transport/nostr-server/inbound-notification-dispatcher.d.ts.map +1 -0
  61. package/dist/esm/transport/nostr-server/inbound-notification-dispatcher.js +153 -0
  62. package/dist/esm/transport/nostr-server/inbound-notification-dispatcher.js.map +1 -0
  63. package/dist/esm/transport/nostr-server/open-stream-factory.d.ts +81 -0
  64. package/dist/esm/transport/nostr-server/open-stream-factory.d.ts.map +1 -0
  65. package/dist/esm/transport/nostr-server/open-stream-factory.js +224 -0
  66. package/dist/esm/transport/nostr-server/open-stream-factory.js.map +1 -0
  67. package/dist/esm/transport/nostr-server/outbound-notification-broadcaster.d.ts +24 -0
  68. package/dist/esm/transport/nostr-server/outbound-notification-broadcaster.d.ts.map +1 -0
  69. package/dist/esm/transport/nostr-server/outbound-notification-broadcaster.js +64 -0
  70. package/dist/esm/transport/nostr-server/outbound-notification-broadcaster.js.map +1 -0
  71. package/dist/esm/transport/nostr-server/outbound-response-router.d.ts +62 -0
  72. package/dist/esm/transport/nostr-server/outbound-response-router.d.ts.map +1 -0
  73. package/dist/esm/transport/nostr-server/outbound-response-router.js +125 -0
  74. package/dist/esm/transport/nostr-server/outbound-response-router.js.map +1 -0
  75. package/dist/esm/transport/nostr-server-transport.d.ts +15 -62
  76. package/dist/esm/transport/nostr-server-transport.d.ts.map +1 -1
  77. package/dist/esm/transport/nostr-server-transport.js +121 -741
  78. package/dist/esm/transport/nostr-server-transport.js.map +1 -1
  79. package/dist/esm/transport/open-stream/registry.d.ts.map +1 -1
  80. package/dist/esm/transport/open-stream/registry.js +7 -1
  81. package/dist/esm/transport/open-stream/registry.js.map +1 -1
  82. package/dist/esm/transport/open-stream/session.d.ts +1 -0
  83. package/dist/esm/transport/open-stream/session.d.ts.map +1 -1
  84. package/dist/esm/transport/open-stream/session.js +14 -4
  85. package/dist/esm/transport/open-stream/session.js.map +1 -1
  86. package/dist/esm/transport/open-stream/writer.d.ts.map +1 -1
  87. package/dist/esm/transport/open-stream/writer.js +6 -12
  88. package/dist/esm/transport/open-stream/writer.js.map +1 -1
  89. package/package.json +1 -1
@@ -0,0 +1,62 @@
1
+ import { type JSONRPCResponse, type JSONRPCErrorResponse, type ListToolsResult, type JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';
2
+ import { type Logger } from '../../core/utils/logger.js';
3
+ import { type CorrelationStore } from './correlation-store.js';
4
+ import { type ClientSession, type SessionStore } from './session-store.js';
5
+ import { type AnnouncementManager } from './announcement-manager.js';
6
+ /**
7
+ * Dependencies for the OutboundResponseRouter.
8
+ */
9
+ export interface OutboundResponseRouterDeps {
10
+ correlationStore: CorrelationStore;
11
+ sessionStore: SessionStore;
12
+ announcementManager: AnnouncementManager;
13
+ openStreamFactory: {
14
+ deferIfStreamActive: (eventId: string, response: JSONRPCResponse) => boolean;
15
+ takePendingEviction: (eventId: string) => {
16
+ clientPubkey: string;
17
+ session: ClientSession;
18
+ } | undefined;
19
+ };
20
+ oversizedConfig: {
21
+ enabled: boolean;
22
+ threshold: number;
23
+ chunkSize: number;
24
+ };
25
+ applyListToolsResultTransformers: (result: ListToolsResult) => ListToolsResult;
26
+ buildOutboundTags: (params: {
27
+ baseTags: readonly string[][];
28
+ session: ClientSession;
29
+ }) => string[][];
30
+ createResponseTags: (clientPubkey: string, eventId: string) => string[][];
31
+ chooseGiftWrapKind: (params: {
32
+ session: ClientSession;
33
+ fallbackWrapKind?: number;
34
+ }) => number | undefined;
35
+ sendMcpMessage: (message: JSONRPCMessage, targetPubkey: string, kind: number, tags?: string[][], encrypt?: boolean, onCreateEvent?: (eventId: string) => void, giftWrapKind?: number) => Promise<string>;
36
+ measurePublishedMcpMessageSize: (message: JSONRPCMessage, recipientPublicKey: string, kind: number, tags?: string[][], isEncrypted?: boolean, giftWrapKind?: number) => Promise<number>;
37
+ resolveSafeOversizedChunkSize: (params: {
38
+ desiredChunkSizeBytes: number;
39
+ maxPublishedEventBytes: number;
40
+ recipientPublicKey: string;
41
+ kind: number;
42
+ progressToken: string;
43
+ progress: number;
44
+ tags?: string[][];
45
+ isEncrypted?: boolean;
46
+ giftWrapKind?: number;
47
+ }) => Promise<number>;
48
+ logger: Logger;
49
+ onerror?: (error: Error) => void;
50
+ }
51
+ /**
52
+ * Routes outbound JSON-RPC responses back to the original client.
53
+ */
54
+ export declare class OutboundResponseRouter {
55
+ private deps;
56
+ constructor(deps: OutboundResponseRouterDeps);
57
+ /**
58
+ * Routes a response, handling oversized transfer and stream deferral.
59
+ */
60
+ route(response: JSONRPCResponse | JSONRPCErrorResponse): Promise<void>;
61
+ }
62
+ //# sourceMappingURL=outbound-response-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbound-response-router.d.ts","sourceRoot":"","sources":["../../../../src/transport/nostr-server/outbound-response-router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ import { isJSONRPCResultResponse, InitializeResultSchema, ListToolsResultSchema, ListResourcesResultSchema, ListResourceTemplatesResultSchema, ListPromptsResultSchema, } from '@modelcontextprotocol/sdk/types.js';
2
+ import { CTXVM_MESSAGES_KIND } from '../../core/constants.js';
3
+ import { sendOversizedServerResponse } from './oversized-server-handler.js';
4
+ /**
5
+ * Routes outbound JSON-RPC responses back to the original client.
6
+ */
7
+ export class OutboundResponseRouter {
8
+ constructor(deps) {
9
+ this.deps = deps;
10
+ }
11
+ /**
12
+ * Routes a response, handling oversized transfer and stream deferral.
13
+ */
14
+ async route(response) {
15
+ var _a, _b, _c, _d, _e;
16
+ // Handle special announcement responses
17
+ if (response.id === 'announcement') {
18
+ const wasHandled = await this.deps.announcementManager.handleAnnouncementResponse(response);
19
+ if (wasHandled && isJSONRPCResultResponse(response)) {
20
+ if (InitializeResultSchema.safeParse(response.result).success) {
21
+ this.deps.logger.info('Initialized');
22
+ }
23
+ }
24
+ return;
25
+ }
26
+ // Find the event route using O(1) lookup
27
+ const nostrEventId = response.id;
28
+ if (this.deps.openStreamFactory.deferIfStreamActive(nostrEventId, response)) {
29
+ return;
30
+ }
31
+ const route = this.deps.correlationStore.popEventRoute(nostrEventId);
32
+ if (!route) {
33
+ (_b = (_a = this.deps).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(`No pending request found for response ID: ${response.id}`));
34
+ return;
35
+ }
36
+ const pendingEviction = this.deps.openStreamFactory.takePendingEviction(nostrEventId);
37
+ const session = (_c = this.deps.sessionStore.getSession(route.clientPubkey)) !== null && _c !== void 0 ? _c : pendingEviction === null || pendingEviction === void 0 ? void 0 : pendingEviction.session;
38
+ if (!session) {
39
+ (_e = (_d = this.deps).onerror) === null || _e === void 0 ? void 0 : _e.call(_d, new Error(`No session found for client: ${route.clientPubkey}`));
40
+ return;
41
+ }
42
+ const parsedListToolsResult = isJSONRPCResultResponse(response)
43
+ ? ListToolsResultSchema.safeParse(response.result)
44
+ : null;
45
+ const responseToSend = (parsedListToolsResult === null || parsedListToolsResult === void 0 ? void 0 : parsedListToolsResult.success)
46
+ ? {
47
+ ...response,
48
+ result: this.deps.applyListToolsResultTransformers(parsedListToolsResult.data),
49
+ }
50
+ : response;
51
+ // Restore the original request ID in the response
52
+ responseToSend.id = route.originalRequestId;
53
+ // CEP-22 Oversized Transfer (proactive path for server responses)
54
+ if (this.deps.oversizedConfig.enabled &&
55
+ route.progressToken &&
56
+ session.supportsOversizedTransfer) {
57
+ const continuationFrameTags = this.deps.createResponseTags(route.clientPubkey, nostrEventId);
58
+ const startFrameTags = this.deps.buildOutboundTags({
59
+ baseTags: continuationFrameTags,
60
+ session,
61
+ });
62
+ const giftWrapKind = this.deps.chooseGiftWrapKind({
63
+ session,
64
+ fallbackWrapKind: route.wrapKind,
65
+ });
66
+ const publishedEventSize = await this.deps.measurePublishedMcpMessageSize(responseToSend, route.clientPubkey, CTXVM_MESSAGES_KIND, startFrameTags, session.isEncrypted, giftWrapKind);
67
+ if (publishedEventSize > this.deps.oversizedConfig.threshold) {
68
+ const chunkSizeBytes = await this.deps.resolveSafeOversizedChunkSize({
69
+ desiredChunkSizeBytes: this.deps.oversizedConfig.chunkSize,
70
+ maxPublishedEventBytes: this.deps.oversizedConfig.threshold,
71
+ recipientPublicKey: route.clientPubkey,
72
+ kind: CTXVM_MESSAGES_KIND,
73
+ progressToken: route.progressToken,
74
+ progress: 2,
75
+ tags: continuationFrameTags,
76
+ isEncrypted: session.isEncrypted,
77
+ giftWrapKind,
78
+ });
79
+ const serialized = JSON.stringify(responseToSend);
80
+ await sendOversizedServerResponse({
81
+ serialized,
82
+ clientPubkey: route.clientPubkey,
83
+ progressToken: route.progressToken,
84
+ startFrameTags,
85
+ continuationFrameTags,
86
+ isEncrypted: session.isEncrypted,
87
+ giftWrapKind,
88
+ }, {
89
+ chunkSizeBytes,
90
+ }, {
91
+ sendMcpMessage: this.deps.sendMcpMessage,
92
+ logger: this.deps.logger,
93
+ });
94
+ return;
95
+ }
96
+ }
97
+ // Send the response back to the original requester
98
+ const tags = this.deps.buildOutboundTags({
99
+ baseTags: this.deps.createResponseTags(route.clientPubkey, nostrEventId),
100
+ session,
101
+ });
102
+ const giftWrapKind = this.deps.chooseGiftWrapKind({
103
+ session,
104
+ fallbackWrapKind: route.wrapKind,
105
+ });
106
+ // Attach pricing tags to capability list responses so clients can access CEP-8 pricing
107
+ if (isJSONRPCResultResponse(responseToSend)) {
108
+ const result = responseToSend.result;
109
+ if (ListToolsResultSchema.safeParse(result).success ||
110
+ ListResourcesResultSchema.safeParse(result).success ||
111
+ ListResourceTemplatesResultSchema.safeParse(result).success ||
112
+ ListPromptsResultSchema.safeParse(result).success) {
113
+ tags.push(...this.deps.announcementManager.getPricingTags());
114
+ }
115
+ }
116
+ try {
117
+ await this.deps.sendMcpMessage(responseToSend, route.clientPubkey, CTXVM_MESSAGES_KIND, tags, session.isEncrypted, undefined, giftWrapKind);
118
+ }
119
+ catch (error) {
120
+ this.deps.correlationStore.registerEventRoute(nostrEventId, route.clientPubkey, route.originalRequestId, route.progressToken, route.wrapKind);
121
+ throw error;
122
+ }
123
+ }
124
+ }
125
+ //# sourceMappingURL=outbound-response-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbound-response-router.js","sourceRoot":"","sources":["../../../../src/transport/nostr-server/outbound-response-router.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,11 @@ import { ClientSession, SessionStore } from './nostr-server/session-store.js';
8
8
  import { CapabilityExclusion } from './nostr-server/authorization-policy.js';
9
9
  import { type ProfileMetadata, type ServerInfo } from './nostr-server/announcement-manager.js';
10
10
  import { OversizedTransferReceiver, type TransferPolicy } from './oversized-transfer/index.js';
11
- import { OpenStreamReceiver, OpenStreamWriter } from './open-stream/index.js';
12
11
  import type { OpenStreamTransportPolicy } from './open-stream-policy.js';
12
+ import { ServerOpenStreamFactory } from './nostr-server/open-stream-factory.js';
13
+ import { ServerInboundCoordinator } from './nostr-server/inbound-coordinator.js';
14
+ import type { InboundMiddlewareFn } from './middleware.js';
15
+ export type { InboundMiddlewareFn } from './middleware.js';
13
16
  /**
14
17
  * Options for configuring the NostrServerTransport.
15
18
  */
@@ -95,10 +98,6 @@ export interface NostrServerTransportOptions extends BaseNostrTransportOptions {
95
98
  }
96
99
  export type ListToolsResultTransformer = (result: ListToolsResult) => ListToolsResult;
97
100
  export type ListToolsAnnouncementTagsProducer = (result: ListToolsResult) => string[][];
98
- export type InboundMiddlewareFn = (message: JSONRPCMessage, ctx: {
99
- clientPubkey: string;
100
- clientPmis?: readonly string[];
101
- }, forward: (message: JSONRPCMessage) => Promise<void>) => Promise<void>;
102
101
  /**
103
102
  * A server-side transport layer for CTXVM that uses Nostr events for communication.
104
103
  * This transport listens for incoming MCP requests via Nostr events and can send
@@ -130,20 +129,17 @@ export declare class NostrServerTransport extends BaseNostrTransport implements
130
129
  private readonly seenEventIds;
131
130
  /** Receives inbound oversized-transfer frames from clients (client→server requests). */
132
131
  private readonly oversizedReceiver;
133
- /** Receives inbound open-stream frames from clients (client→server notifications). */
134
- private readonly openStreamReceiver;
135
- /** Pending final responses held until their CEP-41 stream terminates. */
136
- private readonly pendingOpenStreamResponses;
137
- /** Sessions logically evicted after CEP-41 probe timeout, retained only to flush deferred finals. */
138
- private readonly pendingOpenStreamSessionEvictions;
139
- /** Client pubkeys that should no longer receive new notifications. */
140
- private readonly evictedOpenStreamClientPubkeys;
141
- /** Active server-side CEP-41 writers keyed by inbound request event id. */
142
- private readonly openStreamWriters;
143
132
  private readonly oversizedEnabled;
144
133
  private readonly oversizedThreshold;
145
134
  private readonly oversizedChunkSize;
146
135
  private readonly openStreamEnabled;
136
+ private readonly capabilityNegotiator;
137
+ private readonly openStreamFactory;
138
+ private readonly eventPipeline;
139
+ private readonly inboundCoordinator;
140
+ private readonly inboundNotificationDispatcher;
141
+ private readonly outboundResponseRouter;
142
+ private readonly outboundNotificationBroadcaster;
147
143
  constructor(options: NostrServerTransportOptions);
148
144
  /**
149
145
  * Sets extra tags to include in server announcement + initialize response events.
@@ -209,32 +205,8 @@ export declare class NostrServerTransport extends BaseNostrTransport implements
209
205
  * @returns The client session.
210
206
  */
211
207
  private getOrCreateClientSession;
212
- private takePendingServerDiscoveryTags;
213
- private buildServerOutboundTags;
214
- private chooseServerOutboundGiftWrapKind;
215
208
  private getRelayUrls;
216
209
  private publishEventToRelayUrls;
217
- /**
218
- * Handles incoming requests with correlation tracking.
219
- * @param eventId The Nostr event ID.
220
- * @param request The request message.
221
- * @param clientPubkey The client's public key.
222
- */
223
- private handleIncomingRequest;
224
- private flushPendingOpenStreamResponse;
225
- private handleOpenStreamWriterAbort;
226
- private finalizePendingOpenStreamSessionEviction;
227
- private findEventIdByProgressToken;
228
- /**
229
- * Cleans up request correlation for a request that was dropped by middleware.
230
- */
231
- private cleanupDroppedRequest;
232
- /**
233
- * Handles incoming notifications.
234
- * @param clientPubkey The client's public key.
235
- * @param notification The notification message.
236
- */
237
- private handleIncomingNotification;
238
210
  /**
239
211
  * Handles response messages by finding the original request and routing back to client.
240
212
  * @param response The JSON-RPC response or error to send.
@@ -261,23 +233,6 @@ export declare class NostrServerTransport extends BaseNostrTransport implements
261
233
  * @param event The incoming Nostr event.
262
234
  */
263
235
  private processIncomingEvent;
264
- /**
265
- * Handles encrypted (gift-wrapped) events.
266
- * @param event The incoming gift-wrapped Nostr event.
267
- */
268
- private handleEncryptedEvent;
269
- /**
270
- * Handles unencrypted events.
271
- * @param event The incoming Nostr event.
272
- */
273
- private handleUnencryptedEvent;
274
- /**
275
- * Authorizes and processes an incoming Nostr event, handling message validation,
276
- * client authorization, session management, and optional client public key injection.
277
- * @param event The Nostr event to process.
278
- * @param isEncrypted Whether the original event was encrypted.
279
- */
280
- private authorizeAndProcessEvent;
281
236
  /**
282
237
  * Test-only accessor for internal state.
283
238
  * @internal
@@ -286,13 +241,11 @@ export declare class NostrServerTransport extends BaseNostrTransport implements
286
241
  sessionStore: SessionStore;
287
242
  correlationStore: CorrelationStore;
288
243
  oversizedReceiver: OversizedTransferReceiver;
289
- openStreamReceiver: OpenStreamReceiver;
244
+ openStreamReceiver: import("./index.js").OpenStreamReceiver;
245
+ openStreamWriters: Map<string, import("./index.js").OpenStreamWriter>;
290
246
  pendingOpenStreamResponses: Map<string, JSONRPCResponse>;
291
- pendingOpenStreamSessionEvictions: Map<string, {
292
- clientPubkey: string;
293
- session: ClientSession;
294
- }>;
295
- openStreamWriters: Map<string, OpenStreamWriter>;
247
+ openStreamFactory: ServerOpenStreamFactory;
248
+ inboundCoordinator: ServerInboundCoordinator;
296
249
  };
297
250
  }
298
251
  //# sourceMappingURL=nostr-server-transport.d.ts.map
@@ -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":"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"}