@contextvm/sdk 0.2.10 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,13 +1,26 @@
1
1
  import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
2
2
  import { NostrServerTransportOptions } from '../transport/nostr-server-transport.js';
3
+ type ClientPubkey = string;
3
4
  /**
4
5
  * Options for configuring the NostrMCPGateway.
5
6
  */
6
7
  export interface NostrMCPGatewayOptions {
7
- /** The MCP client transport (e.g., StdioClientTransport) to connect to the original MCP server */
8
- mcpClientTransport: Transport;
8
+ /**
9
+ * The MCP client transport (e.g., StdioClientTransport) to connect to the original MCP server.
10
+ * Required unless `createMcpClientTransport` is provided.
11
+ */
12
+ mcpClientTransport?: Transport;
9
13
  /** Options for configuring the Nostr server transport */
10
14
  nostrTransportOptions: NostrServerTransportOptions;
15
+ /**
16
+ * Optional factory for creating per-client MCP transports keyed by Nostr client pubkey.
17
+ * If provided, the gateway will isolate MCP sessions per pubkey.
18
+ */
19
+ createMcpClientTransport?: (ctx: {
20
+ clientPubkey: ClientPubkey;
21
+ }) => Transport | Promise<Transport>;
22
+ /** Maximum number of per-client MCP transports to keep in memory. @default 1000 */
23
+ maxClientTransports?: number;
11
24
  }
12
25
  /**
13
26
  * The main gateway class that orchestrates communication between Nostr clients
@@ -23,12 +36,22 @@ export interface NostrMCPGatewayOptions {
23
36
  export declare class NostrMCPGateway {
24
37
  private readonly mcpClientTransport;
25
38
  private readonly nostrServerTransport;
39
+ private readonly createMcpClientTransport;
40
+ private readonly clientTransports;
41
+ private readonly clientTransportPromises;
42
+ private readonly handleNostrErrorBound;
43
+ private readonly handleNostrCloseBound;
44
+ private readonly handleServerErrorBound;
45
+ private readonly handleServerCloseBound;
26
46
  private isRunning;
27
47
  constructor(options: NostrMCPGatewayOptions);
28
48
  /**
29
49
  * Sets up event handlers for both transports.
30
50
  */
31
51
  private setupEventHandlers;
52
+ private getOrCreateClientTransport;
53
+ private closeClientTransport;
54
+ private closeTransportForEviction;
32
55
  /**
33
56
  * Starts the gateway, initializing both transports.
34
57
  */
@@ -61,4 +84,5 @@ export declare class NostrMCPGateway {
61
84
  */
62
85
  isActive(): boolean;
63
86
  }
87
+ export {};
64
88
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gateway/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EAEL,2BAA2B,EAC5B,MAAM,wCAAwC,CAAC;AAKhD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,kGAAkG;IAClG,kBAAkB,EAAE,SAAS,CAAC;IAC9B,yDAAyD;IACzD,qBAAqB,EAAE,2BAA2B,CAAC;CACpD;AAED;;;;;;;;;;GAUG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAC5D,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,sBAAsB;IAS3C;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBnC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBlC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACI,QAAQ,IAAI,OAAO;CAG3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gateway/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EAEL,2BAA2B,EAC5B,MAAM,wCAAwC,CAAC;AAMhD,KAAK,YAAY,GAAG,MAAM,CAAC;AAM3B;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,yDAAyD;IACzD,qBAAqB,EAAE,2BAA2B,CAAC;IAEnD;;;OAGG;IACH,wBAAwB,CAAC,EAAE,CAAC,GAAG,EAAE;QAC/B,YAAY,EAAE,YAAY,CAAC;KAC5B,KAAK,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAErC,mFAAmF;IACnF,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAC5D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAE3B;IACd,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAE1B;IACd,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAyB;IAC/D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAChE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAa;IACpD,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,sBAAsB;IAyC3C;;OAEG;IACH,OAAO,CAAC,kBAAkB;YAgDZ,0BAA0B;YAsD1B,oBAAoB;YA6BpB,yBAAyB;IAwBvC;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BnC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuClC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACI,QAAQ,IAAI,OAAO;CAG3B"}
@@ -1,5 +1,6 @@
1
1
  import { NostrServerTransport, } from '../transport/nostr-server-transport.js';
2
2
  import { createLogger } from '../core/utils/logger.js';
3
+ import { LruCache } from '../core/utils/lru-cache.js';
3
4
  const logger = createLogger('gateway');
4
5
  /**
5
6
  * The main gateway class that orchestrates communication between Nostr clients
@@ -14,9 +15,32 @@ const logger = createLogger('gateway');
14
15
  */
15
16
  export class NostrMCPGateway {
16
17
  constructor(options) {
18
+ var _a;
17
19
  this.isRunning = false;
18
20
  this.mcpClientTransport = options.mcpClientTransport;
19
- this.nostrServerTransport = new NostrServerTransport(options.nostrTransportOptions);
21
+ this.createMcpClientTransport = options.createMcpClientTransport;
22
+ if (!this.mcpClientTransport && !this.createMcpClientTransport) {
23
+ throw new Error('NostrMCPGateway requires either mcpClientTransport (single-client mode) or createMcpClientTransport (per-client mode)');
24
+ }
25
+ this.handleNostrErrorBound = this.handleNostrError.bind(this);
26
+ this.handleNostrCloseBound = this.handleNostrClose.bind(this);
27
+ this.handleServerErrorBound = this.handleServerError.bind(this);
28
+ this.handleServerCloseBound = this.handleServerClose.bind(this);
29
+ this.nostrServerTransport = new NostrServerTransport({
30
+ ...options.nostrTransportOptions,
31
+ onClientSessionEvicted: ({ clientPubkey }) => this.closeClientTransport(clientPubkey),
32
+ });
33
+ if (this.createMcpClientTransport) {
34
+ this.clientTransportPromises = new Map();
35
+ this.clientTransports = new LruCache((_a = options.maxClientTransports) !== null && _a !== void 0 ? _a : 1000, (clientPubkey, transport) => {
36
+ this.closeTransportForEviction(clientPubkey, transport).catch((err) => {
37
+ logger.error('Error closing evicted MCP transport', {
38
+ error: err instanceof Error ? err.message : String(err),
39
+ clientPubkey,
40
+ });
41
+ });
42
+ });
43
+ }
20
44
  this.setupEventHandlers();
21
45
  }
22
46
  /**
@@ -24,23 +48,130 @@ export class NostrMCPGateway {
24
48
  */
25
49
  setupEventHandlers() {
26
50
  // Forward messages from Nostr to the MCP server, handling any potential errors.
51
+ // Note: this handler is used for transport-internal messages too (e.g., public-server announcements),
52
+ // which don't have a client pubkey context.
27
53
  this.nostrServerTransport.onmessage = (message) => {
54
+ if (this.createMcpClientTransport) {
55
+ // In per-client mode, we only forward messages that have pubkey context.
56
+ // Internal transport messages (e.g., announcement traffic) should not be sent to an MCP server.
57
+ return;
58
+ }
59
+ if (!this.mcpClientTransport) {
60
+ throw new Error('mcpClientTransport is required when not using per-client mode');
61
+ }
28
62
  logger.debug('Received message from Nostr:', message);
29
- this.mcpClientTransport
30
- .send(message)
31
- .catch(this.handleServerError.bind(this));
63
+ this.mcpClientTransport.send(message).catch(this.handleServerErrorBound);
32
64
  };
33
- this.nostrServerTransport.onerror = this.handleNostrError.bind(this);
34
- this.nostrServerTransport.onclose = this.handleNostrClose.bind(this);
35
- // Forward messages from the MCP server to the Nostr transport, handling any potential errors.
36
- this.mcpClientTransport.onmessage = (message) => {
37
- logger.debug('Received message from MCP server:', message);
38
- this.nostrServerTransport
39
- .send(message)
40
- .catch(this.handleNostrError.bind(this));
65
+ this.nostrServerTransport.onmessageWithContext = (message, ctx) => {
66
+ logger.debug('Received message from Nostr (context):', {
67
+ clientPubkey: ctx.clientPubkey,
68
+ message,
69
+ });
70
+ this.getOrCreateClientTransport(ctx.clientPubkey)
71
+ .then((transport) => transport.send(message))
72
+ .catch(this.handleServerErrorBound);
41
73
  };
42
- this.mcpClientTransport.onerror = this.handleServerError.bind(this);
43
- this.mcpClientTransport.onclose = this.handleServerClose.bind(this);
74
+ this.nostrServerTransport.onerror = this.handleNostrErrorBound;
75
+ this.nostrServerTransport.onclose = this.handleNostrCloseBound;
76
+ // Forward messages from the MCP server to the Nostr transport, handling any potential errors.
77
+ if (this.mcpClientTransport) {
78
+ this.mcpClientTransport.onmessage = (message) => {
79
+ logger.debug('Received message from MCP server:', message);
80
+ this.nostrServerTransport
81
+ .send(message)
82
+ .catch(this.handleNostrErrorBound);
83
+ };
84
+ this.mcpClientTransport.onerror = this.handleServerErrorBound;
85
+ this.mcpClientTransport.onclose = this.handleServerCloseBound;
86
+ }
87
+ }
88
+ async getOrCreateClientTransport(clientPubkey) {
89
+ var _a, _b, _c;
90
+ const createMcpClientTransport = this.createMcpClientTransport;
91
+ const clientTransports = this.clientTransports;
92
+ if (!createMcpClientTransport || !clientTransports) {
93
+ if (!this.mcpClientTransport) {
94
+ throw new Error('mcpClientTransport is required when not using per-client mode');
95
+ }
96
+ return this.mcpClientTransport;
97
+ }
98
+ const existing = clientTransports.get(clientPubkey);
99
+ if (existing) {
100
+ return existing;
101
+ }
102
+ const inflight = (_a = this.clientTransportPromises) === null || _a === void 0 ? void 0 : _a.get(clientPubkey);
103
+ if (inflight) {
104
+ return inflight;
105
+ }
106
+ const createPromise = (async () => {
107
+ const created = await createMcpClientTransport({ clientPubkey });
108
+ created.onmessage = (message) => {
109
+ logger.debug('Received message from MCP server (per-client):', {
110
+ clientPubkey,
111
+ message,
112
+ });
113
+ this.nostrServerTransport
114
+ .send(message)
115
+ .catch(this.handleNostrErrorBound);
116
+ };
117
+ created.onerror = this.handleServerErrorBound;
118
+ created.onclose = this.handleServerCloseBound;
119
+ await created.start();
120
+ clientTransports.set(clientPubkey, created);
121
+ return created;
122
+ })();
123
+ (_b = this.clientTransportPromises) === null || _b === void 0 ? void 0 : _b.set(clientPubkey, createPromise);
124
+ try {
125
+ return await createPromise;
126
+ }
127
+ finally {
128
+ (_c = this.clientTransportPromises) === null || _c === void 0 ? void 0 : _c.delete(clientPubkey);
129
+ }
130
+ }
131
+ async closeClientTransport(clientPubkey) {
132
+ var _a, _b;
133
+ if (!this.clientTransports) {
134
+ return;
135
+ }
136
+ const inflight = (_a = this.clientTransportPromises) === null || _a === void 0 ? void 0 : _a.get(clientPubkey);
137
+ if (inflight) {
138
+ // Best-effort: wait for creation to complete, then close.
139
+ // (If creation fails, the promise will reject and there's nothing to close.)
140
+ await inflight
141
+ .then((transport) => this.closeTransportForEviction(clientPubkey, transport))
142
+ .catch(() => undefined);
143
+ (_b = this.clientTransportPromises) === null || _b === void 0 ? void 0 : _b.delete(clientPubkey);
144
+ this.clientTransports.delete(clientPubkey);
145
+ return;
146
+ }
147
+ const transport = this.clientTransports.get(clientPubkey);
148
+ if (!transport) {
149
+ return;
150
+ }
151
+ this.clientTransports.delete(clientPubkey);
152
+ await this.closeTransportForEviction(clientPubkey, transport);
153
+ }
154
+ async closeTransportForEviction(clientPubkey, transport) {
155
+ var _a;
156
+ try {
157
+ const maybeTerminable = transport;
158
+ await ((_a = maybeTerminable.terminateSession) === null || _a === void 0 ? void 0 : _a.call(maybeTerminable));
159
+ }
160
+ catch (error) {
161
+ logger.warn('Failed to terminate MCP session', {
162
+ error: error instanceof Error ? error.message : String(error),
163
+ clientPubkey,
164
+ });
165
+ }
166
+ try {
167
+ await transport.close();
168
+ }
169
+ catch (error) {
170
+ logger.warn('Failed to close MCP transport', {
171
+ error: error instanceof Error ? error.message : String(error),
172
+ clientPubkey,
173
+ });
174
+ }
44
175
  }
45
176
  /**
46
177
  * Starts the gateway, initializing both transports.
@@ -51,7 +182,12 @@ export class NostrMCPGateway {
51
182
  }
52
183
  try {
53
184
  // Start both transports
54
- await this.mcpClientTransport.start();
185
+ if (!this.createMcpClientTransport) {
186
+ if (!this.mcpClientTransport) {
187
+ throw new Error('mcpClientTransport is required when not using per-client mode');
188
+ }
189
+ await this.mcpClientTransport.start();
190
+ }
55
191
  await this.nostrServerTransport.start();
56
192
  this.isRunning = true;
57
193
  logger.info('NostrMCPGateway started successfully');
@@ -66,13 +202,28 @@ export class NostrMCPGateway {
66
202
  * Stops the gateway, closing both transports.
67
203
  */
68
204
  async stop() {
69
- if (!this.isRunning) {
70
- return;
71
- }
205
+ var _a;
72
206
  try {
73
207
  // Stop both transports
74
208
  await this.nostrServerTransport.close();
75
- await this.mcpClientTransport.close();
209
+ if ((_a = this.clientTransportPromises) === null || _a === void 0 ? void 0 : _a.size) {
210
+ await Promise.allSettled(this.clientTransportPromises.values());
211
+ this.clientTransportPromises.clear();
212
+ }
213
+ if (this.clientTransports) {
214
+ const closePromises = [];
215
+ for (const [clientPubkey, transport,] of this.clientTransports.entries()) {
216
+ closePromises.push(this.closeTransportForEviction(clientPubkey, transport));
217
+ }
218
+ this.clientTransports.clear();
219
+ await Promise.all(closePromises);
220
+ }
221
+ else {
222
+ if (!this.mcpClientTransport) {
223
+ throw new Error('mcpClientTransport is required when not using per-client mode');
224
+ }
225
+ await this.mcpClientTransport.close();
226
+ }
76
227
  this.isRunning = false;
77
228
  logger.info('NostrMCPGateway stopped successfully');
78
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gateway/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gateway/index.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { BaseNostrTransport, BaseNostrTransportOptions } from './base-nostr-tran
4
4
  import { NostrEvent } from 'nostr-tools';
5
5
  import { LogLevel } from '../core/utils/logger.js';
6
6
  import { CorrelationStore } from './nostr-server/correlation-store.js';
7
- import { SessionStore } from './nostr-server/session-store.js';
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
10
  /**
@@ -18,11 +18,21 @@ export interface NostrServerTransportOptions extends BaseNostrTransportOptions {
18
18
  excludedCapabilities?: CapabilityExclusion[];
19
19
  /** Log level for the NostrServerTransport: 'debug' | 'info' | 'warn' | 'error' | 'silent' */
20
20
  logLevel?: LogLevel;
21
+ /** Maximum number of client sessions to keep in memory. @default 1000 */
22
+ maxSessions?: number;
21
23
  /**
22
24
  * Whether to inject the client's public key into the _meta field of incoming messages.
23
25
  * @default false
24
26
  */
25
27
  injectClientPubkey?: boolean;
28
+ /**
29
+ * Optional callback invoked when a client session is evicted.
30
+ * Useful for external resource cleanup (e.g., per-client MCP transport sessions).
31
+ */
32
+ onClientSessionEvicted?: (ctx: {
33
+ clientPubkey: string;
34
+ session: ClientSession;
35
+ }) => void | Promise<void>;
26
36
  }
27
37
  /**
28
38
  * A server-side transport layer for CTXVM that uses Nostr events for communication.
@@ -32,6 +42,9 @@ export interface NostrServerTransportOptions extends BaseNostrTransportOptions {
32
42
  */
33
43
  export declare class NostrServerTransport extends BaseNostrTransport implements Transport {
34
44
  onmessage?: (message: JSONRPCMessage) => void;
45
+ onmessageWithContext?: (message: JSONRPCMessage, ctx: {
46
+ clientPubkey: string;
47
+ }) => void;
35
48
  onclose?: () => void;
36
49
  onerror?: (error: Error) => void;
37
50
  private readonly sessionStore;
@@ -39,6 +52,7 @@ export declare class NostrServerTransport extends BaseNostrTransport implements
39
52
  private readonly authorizationPolicy;
40
53
  private readonly announcementManager;
41
54
  private readonly injectClientPubkey;
55
+ private readonly onClientSessionEvicted;
42
56
  constructor(options: NostrServerTransportOptions);
43
57
  /**
44
58
  * Starts the transport, connecting to the relay and setting up event listeners
@@ -1 +1 @@
1
- {"version":3,"file":"nostr-server-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/nostr-server-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,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;AASnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAiB,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAEL,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAEL,UAAU,EACX,MAAM,wCAAwC,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,yBAAyB;IAC5E,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;GAKG;AACH,qBAAa,oBACX,SAAQ,kBACR,YAAW,SAAS;IAEb,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,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;gBAEjC,OAAO,EAAE,2BAA2B;IA6DhD;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCnC;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBnC;;;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;IAWhC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAYlC;;;OAGG;YACW,cAAc;IA+D5B;;;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;IAqBhB;;;;;OAKG;YACW,oBAAoB;IAkBlC;;;OAGG;YACW,oBAAoB;IA8BlC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA4FhC;;;OAGG;IACH,0BAA0B;;;;CAM3B"}
1
+ {"version":3,"file":"nostr-server-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/nostr-server-transport.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,10 @@ import { AnnouncementManager, } from './nostr-server/announcement-manager.js';
15
15
  */
16
16
  export class NostrServerTransport extends BaseNostrTransport {
17
17
  constructor(options) {
18
- var _a;
18
+ var _a, _b;
19
19
  super('nostr-server-transport', options);
20
20
  this.injectClientPubkey = (_a = options.injectClientPubkey) !== null && _a !== void 0 ? _a : false;
21
+ this.onClientSessionEvicted = options.onClientSessionEvicted;
21
22
  // Initialize authorization policy
22
23
  this.authorizationPolicy = new AuthorizationPolicy({
23
24
  allowedPublicKeys: options.allowedPublicKeys
@@ -28,7 +29,7 @@ export class NostrServerTransport extends BaseNostrTransport {
28
29
  });
29
30
  // Initialize session store with eviction callback for correlation cleanup
30
31
  this.sessionStore = new SessionStore({
31
- maxSessions: 1000,
32
+ maxSessions: (_b = options.maxSessions) !== null && _b !== void 0 ? _b : 1000,
32
33
  shouldEvictSession: (clientPubkey) => {
33
34
  // Prevent eviction if client has active routes (in-flight requests)
34
35
  if (this.correlationStore.hasActiveRoutesForClient(clientPubkey)) {
@@ -37,10 +38,18 @@ export class NostrServerTransport extends BaseNostrTransport {
37
38
  }
38
39
  return true;
39
40
  },
40
- onSessionEvicted: (clientPubkey) => {
41
+ onSessionEvicted: (clientPubkey, session) => {
41
42
  // Clean up all correlation data for evicted session
42
43
  const removedCount = this.correlationStore.removeRoutesForClient(clientPubkey);
43
44
  this.logger.info(`Evicted session for ${clientPubkey} (removed ${removedCount} routes)`);
45
+ if (this.onClientSessionEvicted) {
46
+ Promise.resolve(this.onClientSessionEvicted({ clientPubkey, session })).catch((error) => {
47
+ this.logger.error('Error in onClientSessionEvicted callback', {
48
+ error: error instanceof Error ? error.message : String(error),
49
+ clientPubkey,
50
+ });
51
+ });
52
+ }
44
53
  },
45
54
  });
46
55
  // Initialize correlation store with bounded event routes
@@ -378,7 +387,7 @@ export class NostrServerTransport extends BaseNostrTransport {
378
387
  * @param isEncrypted Whether the original event was encrypted.
379
388
  */
380
389
  authorizeAndProcessEvent(event, isEncrypted) {
381
- var _a, _b;
390
+ var _a, _b, _c;
382
391
  try {
383
392
  const mcpMessage = this.convertNostrEventToMcpMessage(event);
384
393
  if (!mcpMessage) {
@@ -431,6 +440,9 @@ export class NostrServerTransport extends BaseNostrTransport {
431
440
  this.handleIncomingNotification(event.pubkey, mcpMessage);
432
441
  }
433
442
  (_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, mcpMessage);
443
+ (_b = this.onmessageWithContext) === null || _b === void 0 ? void 0 : _b.call(this, mcpMessage, {
444
+ clientPubkey: event.pubkey,
445
+ });
434
446
  }
435
447
  catch (error) {
436
448
  this.logger.error('Error in authorizeAndProcessEvent', {
@@ -439,7 +451,7 @@ export class NostrServerTransport extends BaseNostrTransport {
439
451
  eventId: event.id,
440
452
  pubkey: event.pubkey,
441
453
  });
442
- (_b = this.onerror) === null || _b === void 0 ? void 0 : _b.call(this, error instanceof Error ? error : new Error(String(error)));
454
+ (_c = this.onerror) === null || _c === void 0 ? void 0 : _c.call(this, error instanceof Error ? error : new Error(String(error)));
443
455
  }
444
456
  }
445
457
  /**
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contextvm/sdk",
3
- "version": "0.2.10",
3
+ "version": "0.3.1",
4
4
  "description": "CtxVM SDK for JavaScript/TypeScript",
5
5
  "license": "LGPL-3.0-1",
6
6
  "author": "ContextVM",