@contextvm/sdk 0.1.30-rc.0 → 0.1.30-rc.2

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.
@@ -12,7 +12,10 @@ export class NostrClientTransport extends BaseNostrTransport {
12
12
  constructor(options) {
13
13
  var _a;
14
14
  super(options);
15
- this.serverInitializeEvent = undefined;
15
+ // Validate serverPubkey is valid hex
16
+ if (!/^[0-9a-f]{64}$/i.test(options.serverPubkey)) {
17
+ throw new Error(`Invalid serverPubkey format: ${options.serverPubkey}`);
18
+ }
16
19
  this.serverPubkey = options.serverPubkey;
17
20
  this.pendingRequestIds = new Set();
18
21
  this.isStateless = (_a = options.isStateless) !== null && _a !== void 0 ? _a : false;
@@ -21,39 +24,93 @@ export class NostrClientTransport extends BaseNostrTransport {
21
24
  * Starts the transport, connecting to the relay and setting up event listeners.
22
25
  */
23
26
  async start() {
24
- await this.connect();
25
- const pubkey = await this.getPublicKey();
26
- const filters = this.createSubscriptionFilters(pubkey);
27
- await this.subscribe(filters, this.processIncomingEvent.bind(this));
27
+ var _a;
28
+ try {
29
+ await this.connect();
30
+ const pubkey = await this.getPublicKey();
31
+ logger.info('Client pubkey:', pubkey);
32
+ const filters = this.createSubscriptionFilters(pubkey);
33
+ await this.subscribe(filters, async (event) => {
34
+ var _a;
35
+ try {
36
+ await this.processIncomingEvent(event);
37
+ }
38
+ catch (error) {
39
+ logger.error('Error processing incoming event', {
40
+ error: error instanceof Error ? error.message : String(error),
41
+ stack: error instanceof Error ? error.stack : undefined,
42
+ eventId: event.id,
43
+ });
44
+ (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error instanceof Error ? error : new Error(String(error)));
45
+ }
46
+ });
47
+ }
48
+ catch (error) {
49
+ logger.error('Error starting NostrClientTransport', {
50
+ error: error instanceof Error ? error.message : String(error),
51
+ stack: error instanceof Error ? error.stack : undefined,
52
+ });
53
+ (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error instanceof Error ? error : new Error(String(error)));
54
+ throw error;
55
+ }
28
56
  }
29
57
  /**
30
58
  * Closes the transport, disconnecting from the relay.
31
59
  */
32
60
  async close() {
33
- var _a;
34
- await this.disconnect();
35
- (_a = this.onclose) === null || _a === void 0 ? void 0 : _a.call(this);
61
+ var _a, _b;
62
+ try {
63
+ await this.disconnect();
64
+ (_a = this.onclose) === null || _a === void 0 ? void 0 : _a.call(this);
65
+ }
66
+ catch (error) {
67
+ logger.error('Error closing NostrClientTransport', {
68
+ error: error instanceof Error ? error.message : String(error),
69
+ stack: error instanceof Error ? error.stack : undefined,
70
+ });
71
+ (_b = this.onerror) === null || _b === void 0 ? void 0 : _b.call(this, error instanceof Error ? error : new Error(String(error)));
72
+ throw error;
73
+ }
36
74
  }
37
75
  /**
38
76
  * Sends a JSON-RPC message over the Nostr transport.
39
77
  * @param message The JSON-RPC request or response to send.
40
78
  */
41
79
  async send(message) {
42
- if (this.isStateless) {
43
- if (isJSONRPCRequest(message) && message.method === 'initialize') {
44
- logger.info('Stateless mode: Emulating initialize response.');
45
- this.emulateInitializeResponse(message.id);
46
- return;
80
+ var _a;
81
+ try {
82
+ if (this.isStateless) {
83
+ if (isJSONRPCRequest(message) && message.method === 'initialize') {
84
+ logger.info('Stateless mode: Emulating initialize response.');
85
+ this.emulateInitializeResponse(message.id);
86
+ return;
87
+ }
88
+ if (isJSONRPCNotification(message) &&
89
+ message.method === 'notifications/initialized') {
90
+ logger.info('Stateless mode: Catching notifications/initialized.', message);
91
+ return;
92
+ }
47
93
  }
48
- if (isJSONRPCNotification(message) &&
49
- message.method === 'notifications/initialized') {
50
- logger.info('Stateless mode: Catching notifications/initialized.', message);
51
- return;
94
+ const eventId = await this._sendInternal(message);
95
+ if (eventId) {
96
+ this.pendingRequestIds.add(eventId);
52
97
  }
53
98
  }
54
- const eventId = await this._sendInternal(message);
55
- if (eventId) {
56
- this.pendingRequestIds.add(eventId);
99
+ catch (error) {
100
+ logger.error('Error sending message', {
101
+ error: error instanceof Error ? error.message : String(error),
102
+ stack: error instanceof Error ? error.stack : undefined,
103
+ messageType: isJSONRPCRequest(message)
104
+ ? 'request'
105
+ : isJSONRPCNotification(message)
106
+ ? 'notification'
107
+ : 'unknown',
108
+ method: isJSONRPCRequest(message) || isJSONRPCNotification(message)
109
+ ? message.method
110
+ : undefined,
111
+ });
112
+ (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error instanceof Error ? error : new Error(String(error)));
113
+ throw error;
57
114
  }
58
115
  }
59
116
  /**
@@ -63,36 +120,57 @@ export class NostrClientTransport extends BaseNostrTransport {
63
120
  * @param requestId The ID of the original initialize request.
64
121
  */
65
122
  emulateInitializeResponse(requestId) {
66
- const emulatedResult = {
67
- protocolVersion: LATEST_PROTOCOL_VERSION,
68
- serverInfo: {
69
- name: 'Emulated-Stateless-Server',
70
- version: '1.0.0',
71
- },
72
- capabilities: {
73
- tools: {
74
- listChanged: true,
75
- },
76
- prompts: {
77
- listChanged: true,
123
+ var _a;
124
+ try {
125
+ const emulatedResult = {
126
+ protocolVersion: LATEST_PROTOCOL_VERSION,
127
+ serverInfo: {
128
+ name: 'Emulated-Stateless-Server',
129
+ version: '1.0.0',
78
130
  },
79
- resources: {
80
- subscribe: true,
81
- listChanged: true,
131
+ capabilities: {
132
+ tools: {
133
+ listChanged: true,
134
+ },
135
+ prompts: {
136
+ listChanged: true,
137
+ },
138
+ resources: {
139
+ subscribe: true,
140
+ listChanged: true,
141
+ },
82
142
  },
83
- },
84
- };
85
- const response = {
86
- jsonrpc: '2.0',
87
- id: requestId,
88
- result: emulatedResult,
89
- };
90
- // Feed the emulated response back to the MCP client.
91
- // Use a setTimeout to avoid re-entrancy issues and mimic a slight network delay.
92
- setTimeout(() => {
93
- var _a;
94
- (_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, response);
95
- }, 50);
143
+ };
144
+ const response = {
145
+ jsonrpc: '2.0',
146
+ id: requestId,
147
+ result: emulatedResult,
148
+ };
149
+ // Feed the emulated response back to the MCP client.
150
+ // Use queueMicrotask to avoid re-entrancy issues without artificial delay.
151
+ queueMicrotask(() => {
152
+ var _a, _b;
153
+ try {
154
+ (_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, response);
155
+ }
156
+ catch (error) {
157
+ logger.error('Error in emulated initialize response callback', {
158
+ error: error instanceof Error ? error.message : String(error),
159
+ stack: error instanceof Error ? error.stack : undefined,
160
+ requestId,
161
+ });
162
+ (_b = this.onerror) === null || _b === void 0 ? void 0 : _b.call(this, error instanceof Error ? error : new Error(String(error)));
163
+ }
164
+ });
165
+ }
166
+ catch (error) {
167
+ logger.error('Error emulating initialize response', {
168
+ error: error instanceof Error ? error.message : String(error),
169
+ stack: error instanceof Error ? error.stack : undefined,
170
+ requestId,
171
+ });
172
+ (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error instanceof Error ? error : new Error(String(error)));
173
+ }
96
174
  }
97
175
  /**
98
176
  * Internal method to send a JSON-RPC message and get the resulting event ID.
@@ -100,50 +178,89 @@ export class NostrClientTransport extends BaseNostrTransport {
100
178
  * @returns The ID of the published Nostr event.
101
179
  */
102
180
  async _sendInternal(message) {
103
- const tags = this.createRecipientTags(this.serverPubkey);
104
- return this.sendMcpMessage(message, this.serverPubkey, CTXVM_MESSAGES_KIND, tags);
181
+ try {
182
+ const tags = this.createRecipientTags(this.serverPubkey);
183
+ return this.sendMcpMessage(message, this.serverPubkey, CTXVM_MESSAGES_KIND, tags);
184
+ }
185
+ catch (error) {
186
+ logger.error('Error in _sendInternal', {
187
+ error: error instanceof Error ? error.message : String(error),
188
+ stack: error instanceof Error ? error.stack : undefined,
189
+ serverPubkey: this.serverPubkey,
190
+ });
191
+ throw error;
192
+ }
105
193
  }
106
194
  /**
107
195
  * Processes incoming Nostr events, routing them to the correct handler.
108
196
  */
109
197
  async processIncomingEvent(event) {
110
- var _a;
198
+ var _a, _b;
111
199
  try {
112
200
  let nostrEvent = event;
113
201
  // Handle encrypted messages
114
202
  if (event.kind === GIFT_WRAP_KIND) {
115
- const decryptedContent = await decryptMessage(event, this.signer);
116
- nostrEvent = JSON.parse(decryptedContent);
203
+ try {
204
+ const decryptedContent = await decryptMessage(event, this.signer);
205
+ nostrEvent = JSON.parse(decryptedContent);
206
+ }
207
+ catch (decryptError) {
208
+ logger.error('Failed to decrypt gift-wrapped event', {
209
+ error: decryptError instanceof Error
210
+ ? decryptError.message
211
+ : String(decryptError),
212
+ stack: decryptError instanceof Error ? decryptError.stack : undefined,
213
+ eventId: event.id,
214
+ pubkey: event.pubkey,
215
+ });
216
+ (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, decryptError instanceof Error
217
+ ? decryptError
218
+ : new Error('Failed to decrypt gift-wrapped event'));
219
+ return;
220
+ }
117
221
  }
118
222
  // Check if the event is from the expected server
119
223
  if (nostrEvent.pubkey !== this.serverPubkey) {
120
224
  logger.debug('Skipping event from unexpected server pubkey:', {
121
225
  receivedPubkey: nostrEvent.pubkey,
122
226
  expectedPubkey: this.serverPubkey,
227
+ eventId: nostrEvent.id,
123
228
  });
124
229
  return;
125
230
  }
126
- if (!this.serverInitializeEvent) {
231
+ const eTag = getNostrEventTag(nostrEvent.tags, 'e');
232
+ // Only check if we haven't initialized AND this looks like an initialize response
233
+ if (!this.serverInitializeEvent && eTag) {
234
+ // Only check responses (have eTag), not notifications
127
235
  try {
128
236
  const content = JSON.parse(nostrEvent.content);
129
237
  const parse = InitializeResultSchema.safeParse(content.result);
130
238
  if (parse.success) {
131
239
  this.serverInitializeEvent = nostrEvent;
240
+ logger.info('Received server initialize event', {
241
+ eventId: nostrEvent.id,
242
+ });
132
243
  }
133
244
  }
134
245
  catch (error) {
135
- logger.warn('Failed to parse server initialize event:', error);
246
+ // Ignore parse errors - not every response is an initialize response
247
+ logger.debug('Event is not a valid initialize response', {
248
+ eventId: nostrEvent.id,
249
+ });
136
250
  }
137
251
  }
138
- const eTag = getNostrEventTag(nostrEvent.tags, 'e');
139
252
  if (eTag && !this.pendingRequestIds.has(eTag)) {
140
- logger.error(`Received Nostr event with unexpected 'e' tag: ${eTag}.`);
253
+ logger.warn(`Received response for unknown/expired request`, {
254
+ eventId: nostrEvent.id,
255
+ eTag,
256
+ reason: 'Request not found in pending set - may be duplicate or late response',
257
+ });
141
258
  return;
142
259
  }
143
260
  // Process the resulting event
144
261
  const mcpMessage = this.convertNostrEventToMcpMessage(nostrEvent);
145
262
  if (!mcpMessage) {
146
- logger.error('Skipping invalid Nostr event with malformed JSON content');
263
+ logger.error('Skipping invalid Nostr event with malformed JSON content', { eventId: nostrEvent.id, pubkey: nostrEvent.pubkey });
147
264
  return;
148
265
  }
149
266
  if (eTag) {
@@ -154,8 +271,14 @@ export class NostrClientTransport extends BaseNostrTransport {
154
271
  }
155
272
  }
156
273
  catch (error) {
157
- logger.error('Error handling incoming Nostr event:', error);
158
- (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error instanceof Error
274
+ logger.error('Error handling incoming Nostr event', {
275
+ error: error instanceof Error ? error.message : String(error),
276
+ stack: error instanceof Error ? error.stack : undefined,
277
+ eventId: event.id,
278
+ pubkey: event.pubkey,
279
+ kind: event.kind,
280
+ });
281
+ (_b = this.onerror) === null || _b === void 0 ? void 0 : _b.call(this, error instanceof Error
159
282
  ? error
160
283
  : new Error('Failed to handle incoming Nostr event'));
161
284
  }
@@ -172,9 +295,19 @@ export class NostrClientTransport extends BaseNostrTransport {
172
295
  * @param mcpMessage The incoming MCP message.
173
296
  */
174
297
  handleResponse(correlatedEventId, mcpMessage) {
175
- var _a;
176
- (_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, mcpMessage);
177
- this.pendingRequestIds.delete(correlatedEventId);
298
+ var _a, _b;
299
+ try {
300
+ (_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, mcpMessage);
301
+ this.pendingRequestIds.delete(correlatedEventId);
302
+ }
303
+ catch (error) {
304
+ logger.error('Error handling response', {
305
+ error: error instanceof Error ? error.message : String(error),
306
+ stack: error instanceof Error ? error.stack : undefined,
307
+ correlatedEventId,
308
+ });
309
+ (_b = this.onerror) === null || _b === void 0 ? void 0 : _b.call(this, error instanceof Error ? error : new Error(String(error)));
310
+ }
178
311
  }
179
312
  /**
180
313
  * Handles notification messages.
@@ -183,10 +316,21 @@ export class NostrClientTransport extends BaseNostrTransport {
183
316
  handleNotification(mcpMessage) {
184
317
  var _a, _b;
185
318
  try {
186
- NotificationSchema.parse(mcpMessage);
319
+ const result = NotificationSchema.safeParse(mcpMessage);
320
+ if (!result.success) {
321
+ logger.warn('Invalid notification schema', {
322
+ errors: result.error.errors,
323
+ message: mcpMessage,
324
+ });
325
+ return;
326
+ }
187
327
  (_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, mcpMessage);
188
328
  }
189
329
  catch (error) {
330
+ logger.error('Failed to handle incoming notification', {
331
+ error: error instanceof Error ? error.message : String(error),
332
+ stack: error instanceof Error ? error.stack : undefined,
333
+ });
190
334
  (_b = this.onerror) === null || _b === void 0 ? void 0 : _b.call(this, error instanceof Error
191
335
  ? error
192
336
  : new Error('Failed to handle incoming notification'));
@@ -1 +1 @@
1
- {"version":3,"file":"nostr-client-transport.js","sourceRoot":"","sources":["../../../src/transport/nostr-client-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nostr-client-transport.js","sourceRoot":"","sources":["../../../src/transport/nostr-client-transport.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,10 @@ export interface NostrServerTransportOptions extends BaseNostrTransportOptions {
21
21
  allowedPublicKeys?: string[];
22
22
  /** List of capabilities that are excluded from public key whitelisting requirements */
23
23
  excludedCapabilities?: CapabilityExclusion[];
24
+ /** Interval in milliseconds for cleaning up inactive sessions (default: 60000) */
25
+ cleanupIntervalMs?: number;
26
+ /** Timeout in milliseconds for considering a session inactive (default: 300000) */
27
+ sessionTimeoutMs?: number;
24
28
  }
25
29
  /**
26
30
  * Information about a server.
@@ -42,11 +46,18 @@ export declare class NostrServerTransport extends BaseNostrTransport implements
42
46
  onclose?: () => void;
43
47
  onerror?: (error: Error) => void;
44
48
  private readonly clientSessions;
49
+ private readonly eventIdToClient;
45
50
  private readonly isPublicServer?;
46
51
  private readonly allowedPublicKeys?;
47
52
  private readonly excludedCapabilities?;
48
53
  private readonly serverInfo?;
54
+ private readonly cleanupIntervalMs;
55
+ private readonly sessionTimeoutMs;
49
56
  private isInitialized;
57
+ private cleanupInterval?;
58
+ private initializationPromise?;
59
+ private initializationResolver?;
60
+ private cachedCommonTags?;
50
61
  constructor(options: NostrServerTransportOptions);
51
62
  /**
52
63
  * Generates common tags from server information for use in Nostr events.
@@ -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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"}