@contextvm/sdk 0.1.47 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/core/constants.d.ts +3 -0
- package/dist/esm/core/constants.d.ts.map +1 -1
- package/dist/esm/core/constants.js +3 -0
- package/dist/esm/core/constants.js.map +1 -1
- package/dist/esm/core/utils/logger.d.ts +1 -1
- package/dist/esm/core/utils/logger.d.ts.map +1 -1
- package/dist/esm/core/utils/lru-cache.d.ts.map +1 -1
- package/dist/esm/core/utils/lru-cache.js +9 -1
- package/dist/esm/core/utils/lru-cache.js.map +1 -1
- package/dist/esm/core/utils/task-queue.d.ts +5 -0
- package/dist/esm/core/utils/task-queue.d.ts.map +1 -1
- package/dist/esm/core/utils/task-queue.js +11 -0
- package/dist/esm/core/utils/task-queue.js.map +1 -1
- package/dist/esm/core/utils/utils.d.ts +8 -0
- package/dist/esm/core/utils/utils.d.ts.map +1 -1
- package/dist/esm/core/utils/utils.js +23 -0
- package/dist/esm/core/utils/utils.js.map +1 -1
- package/dist/esm/relay/applesauce-relay-pool.d.ts +37 -4
- package/dist/esm/relay/applesauce-relay-pool.d.ts.map +1 -1
- package/dist/esm/relay/applesauce-relay-pool.js +165 -11
- package/dist/esm/relay/applesauce-relay-pool.js.map +1 -1
- package/dist/esm/signer/private-key-signer.d.ts.map +1 -1
- package/dist/esm/signer/private-key-signer.js +1 -1
- package/dist/esm/signer/private-key-signer.js.map +1 -1
- package/dist/esm/transport/base-nostr-transport.d.ts +1 -1
- package/dist/esm/transport/base-nostr-transport.d.ts.map +1 -1
- package/dist/esm/transport/base-nostr-transport.js +8 -6
- package/dist/esm/transport/base-nostr-transport.js.map +1 -1
- package/dist/esm/transport/nostr-client/correlation-store.d.ts +60 -0
- package/dist/esm/transport/nostr-client/correlation-store.d.ts.map +1 -0
- package/dist/esm/transport/nostr-client/correlation-store.js +61 -0
- package/dist/esm/transport/nostr-client/correlation-store.js.map +1 -0
- package/dist/esm/transport/nostr-client/stateless-mode-handler.d.ts +24 -0
- package/dist/esm/transport/nostr-client/stateless-mode-handler.d.ts.map +1 -0
- package/dist/esm/transport/nostr-client/stateless-mode-handler.js +61 -0
- package/dist/esm/transport/nostr-client/stateless-mode-handler.js.map +1 -0
- package/dist/esm/transport/nostr-client-transport.d.ts +48 -24
- package/dist/esm/transport/nostr-client-transport.d.ts.map +1 -1
- package/dist/esm/transport/nostr-client-transport.js +92 -131
- package/dist/esm/transport/nostr-client-transport.js.map +1 -1
- package/dist/esm/transport/nostr-server/announcement-manager.d.ts +116 -0
- package/dist/esm/transport/nostr-server/announcement-manager.d.ts.map +1 -0
- package/dist/esm/transport/nostr-server/announcement-manager.js +288 -0
- package/dist/esm/transport/nostr-server/announcement-manager.js.map +1 -0
- package/dist/esm/transport/nostr-server/authorization-policy.d.ts +74 -0
- package/dist/esm/transport/nostr-server/authorization-policy.d.ts.map +1 -0
- package/dist/esm/transport/nostr-server/authorization-policy.js +91 -0
- package/dist/esm/transport/nostr-server/authorization-policy.js.map +1 -0
- package/dist/esm/transport/nostr-server/correlation-store.d.ts +102 -0
- package/dist/esm/transport/nostr-server/correlation-store.d.ts.map +1 -0
- package/dist/esm/transport/nostr-server/correlation-store.js +167 -0
- package/dist/esm/transport/nostr-server/correlation-store.js.map +1 -0
- package/dist/esm/transport/nostr-server/session-store.d.ts +99 -0
- package/dist/esm/transport/nostr-server/session-store.d.ts.map +1 -0
- package/dist/esm/transport/nostr-server/session-store.js +123 -0
- package/dist/esm/transport/nostr-server/session-store.js.map +1 -0
- package/dist/esm/transport/nostr-server-transport.d.ts +18 -63
- package/dist/esm/transport/nostr-server-transport.d.ts.map +1 -1
- package/dist/esm/transport/nostr-server-transport.js +135 -378
- package/dist/esm/transport/nostr-server-transport.js.map +1 -1
- package/package.json +15 -12
|
@@ -1,26 +1,37 @@
|
|
|
1
|
-
import { InitializeResultSchema, NotificationSchema, isJSONRPCRequest, isJSONRPCNotification,
|
|
2
|
-
import { CTXVM_MESSAGES_KIND, GIFT_WRAP_KIND, decryptMessage, } from '../core/index.js';
|
|
1
|
+
import { InitializeResultSchema, NotificationSchema, isJSONRPCRequest, isJSONRPCNotification, } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import { CTXVM_MESSAGES_KIND, GIFT_WRAP_KIND, decryptMessage, DEFAULT_LRU_SIZE, INITIALIZE_METHOD, } from '../core/index.js';
|
|
3
3
|
import { BaseNostrTransport, } from './base-nostr-transport.js';
|
|
4
4
|
import { getNostrEventTag } from '../core/utils/serializers.js';
|
|
5
|
-
import {
|
|
5
|
+
import { ClientCorrelationStore } from './nostr-client/correlation-store.js';
|
|
6
|
+
import { StatelessModeHandler } from './nostr-client/stateless-mode-handler.js';
|
|
7
|
+
import { withTimeout } from '../core/utils/utils.js';
|
|
6
8
|
/**
|
|
7
|
-
* A transport layer for CTXVM that uses Nostr events for communication.
|
|
8
|
-
*
|
|
9
|
+
* A client transport layer for CTXVM that uses Nostr events for communication.
|
|
10
|
+
* Implements the Transport interface from the @modelcontextprotocol/sdk.
|
|
11
|
+
* Handles request/response correlation and optional stateless mode emulation.
|
|
9
12
|
*/
|
|
10
13
|
export class NostrClientTransport extends BaseNostrTransport {
|
|
14
|
+
/**
|
|
15
|
+
* Creates a new NostrClientTransport instance.
|
|
16
|
+
* @param options - Configuration options for the transport
|
|
17
|
+
* @throws Error if serverPubkey is not a valid hex public key
|
|
18
|
+
*/
|
|
11
19
|
constructor(options) {
|
|
12
20
|
var _a;
|
|
13
21
|
super('nostr-client-transport', options);
|
|
14
|
-
this.maxPendingRequests = 1000; // LRU cache limit
|
|
15
22
|
// Validate serverPubkey is valid hex
|
|
16
23
|
if (!/^[0-9a-f]{64}$/i.test(options.serverPubkey)) {
|
|
17
24
|
throw new Error(`Invalid serverPubkey format: ${options.serverPubkey}`);
|
|
18
25
|
}
|
|
19
26
|
this.serverPubkey = options.serverPubkey;
|
|
20
|
-
this.pendingRequestIds = new LruCache(this.maxPendingRequests, (key) => {
|
|
21
|
-
this.logger.debug('Evicted LRU pending request', { eventId: key });
|
|
22
|
-
});
|
|
23
27
|
this.isStateless = (_a = options.isStateless) !== null && _a !== void 0 ? _a : false;
|
|
28
|
+
this.correlationStore = new ClientCorrelationStore({
|
|
29
|
+
maxPendingRequests: DEFAULT_LRU_SIZE,
|
|
30
|
+
onRequestEvicted: (eventId) => {
|
|
31
|
+
this.logger.debug('Evicted pending request', { eventId });
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
this.statelessHandler = new StatelessModeHandler();
|
|
24
35
|
}
|
|
25
36
|
/**
|
|
26
37
|
* Starts the transport, connecting to the relay and setting up event listeners.
|
|
@@ -51,57 +62,47 @@ export class NostrClientTransport extends BaseNostrTransport {
|
|
|
51
62
|
});
|
|
52
63
|
}
|
|
53
64
|
catch (error) {
|
|
54
|
-
this.logger.error('Error starting NostrClientTransport', {
|
|
55
|
-
error: error instanceof Error ? error.message : String(error),
|
|
56
|
-
stack: error instanceof Error ? error.stack : undefined,
|
|
57
|
-
});
|
|
58
65
|
(_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error instanceof Error ? error : new Error(String(error)));
|
|
59
|
-
|
|
66
|
+
this.logAndRethrowError('Error starting NostrClientTransport', error);
|
|
60
67
|
}
|
|
61
68
|
}
|
|
62
69
|
/**
|
|
63
|
-
* Closes the transport, disconnecting from the relay.
|
|
70
|
+
* Closes the transport, disconnecting from the relay and clearing state.
|
|
64
71
|
*/
|
|
65
72
|
async close() {
|
|
66
73
|
var _a, _b;
|
|
67
74
|
try {
|
|
68
75
|
await this.disconnect();
|
|
76
|
+
this.correlationStore.clear();
|
|
69
77
|
(_a = this.onclose) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
70
78
|
}
|
|
71
79
|
catch (error) {
|
|
72
|
-
this.logger.error('Error closing NostrClientTransport', {
|
|
73
|
-
error: error instanceof Error ? error.message : String(error),
|
|
74
|
-
stack: error instanceof Error ? error.stack : undefined,
|
|
75
|
-
});
|
|
76
80
|
(_b = this.onerror) === null || _b === void 0 ? void 0 : _b.call(this, error instanceof Error ? error : new Error(String(error)));
|
|
77
|
-
|
|
81
|
+
this.logAndRethrowError('Error closing NostrClientTransport', error);
|
|
78
82
|
}
|
|
79
83
|
}
|
|
80
84
|
/**
|
|
81
85
|
* Sends a JSON-RPC message over the Nostr transport.
|
|
82
|
-
*
|
|
86
|
+
* Handles stateless mode emulation for initialize requests.
|
|
87
|
+
* @param message - The JSON-RPC request or notification to send
|
|
83
88
|
*/
|
|
84
89
|
async send(message) {
|
|
85
90
|
var _a;
|
|
86
91
|
try {
|
|
87
|
-
if (this.isStateless
|
|
88
|
-
|
|
92
|
+
if (this.isStateless &&
|
|
93
|
+
this.statelessHandler.shouldHandleStatelessly(message)) {
|
|
94
|
+
if (isJSONRPCRequest(message) && message.method === INITIALIZE_METHOD) {
|
|
89
95
|
this.logger.info('Stateless mode: Emulating initialize response.');
|
|
90
96
|
this.emulateInitializeResponse(message.id);
|
|
91
97
|
return;
|
|
92
98
|
}
|
|
93
|
-
|
|
94
|
-
message.method === 'notifications/initialized') {
|
|
95
|
-
this.logger.info('Stateless mode: Catching notifications/initialized.', message);
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
99
|
+
return;
|
|
98
100
|
}
|
|
99
|
-
await this.
|
|
101
|
+
await this.sendRequest(message);
|
|
100
102
|
}
|
|
101
103
|
catch (error) {
|
|
102
|
-
this.
|
|
103
|
-
|
|
104
|
-
stack: error instanceof Error ? error.stack : undefined,
|
|
104
|
+
(_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error instanceof Error ? error : new Error(String(error)));
|
|
105
|
+
this.logAndRethrowError('Error sending message', error, {
|
|
105
106
|
messageType: isJSONRPCRequest(message)
|
|
106
107
|
? 'request'
|
|
107
108
|
: isJSONRPCNotification(message)
|
|
@@ -111,107 +112,54 @@ export class NostrClientTransport extends BaseNostrTransport {
|
|
|
111
112
|
? message.method
|
|
112
113
|
: undefined,
|
|
113
114
|
});
|
|
114
|
-
(_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error instanceof Error ? error : new Error(String(error)));
|
|
115
|
-
throw error;
|
|
116
115
|
}
|
|
117
116
|
}
|
|
118
117
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
* @param requestId The ID of the original initialize request.
|
|
118
|
+
* Sends a request and registers it for correlation tracking.
|
|
119
|
+
* @param message - The JSON-RPC message to send
|
|
120
|
+
* @returns The ID of the published Nostr event
|
|
123
121
|
*/
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
name: 'Emulated-Stateless-Server',
|
|
131
|
-
version: '1.0.0',
|
|
132
|
-
},
|
|
133
|
-
capabilities: {
|
|
134
|
-
tools: {
|
|
135
|
-
listChanged: true,
|
|
136
|
-
},
|
|
137
|
-
prompts: {
|
|
138
|
-
listChanged: true,
|
|
139
|
-
},
|
|
140
|
-
resources: {
|
|
141
|
-
subscribe: true,
|
|
142
|
-
listChanged: true,
|
|
143
|
-
},
|
|
144
|
-
},
|
|
145
|
-
};
|
|
146
|
-
const response = {
|
|
147
|
-
jsonrpc: '2.0',
|
|
148
|
-
id: requestId,
|
|
149
|
-
result: emulatedResult,
|
|
150
|
-
};
|
|
151
|
-
// Feed the emulated response back to the MCP client.
|
|
152
|
-
// Use queueMicrotask to avoid re-entrancy issues without artificial delay.
|
|
153
|
-
queueMicrotask(() => {
|
|
154
|
-
var _a, _b;
|
|
155
|
-
try {
|
|
156
|
-
(_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, response);
|
|
157
|
-
}
|
|
158
|
-
catch (error) {
|
|
159
|
-
this.logger.error('Error in emulated initialize response callback', {
|
|
160
|
-
error: error instanceof Error ? error.message : String(error),
|
|
161
|
-
stack: error instanceof Error ? error.stack : undefined,
|
|
162
|
-
requestId,
|
|
163
|
-
});
|
|
164
|
-
(_b = this.onerror) === null || _b === void 0 ? void 0 : _b.call(this, error instanceof Error ? error : new Error(String(error)));
|
|
165
|
-
}
|
|
122
|
+
async sendRequest(message) {
|
|
123
|
+
const tags = this.createRecipientTags(this.serverPubkey);
|
|
124
|
+
return await this.sendMcpMessage(message, this.serverPubkey, CTXVM_MESSAGES_KIND, tags, undefined, (eventId) => {
|
|
125
|
+
this.correlationStore.registerRequest(eventId, {
|
|
126
|
+
originalRequestId: isJSONRPCRequest(message) ? message.id : null,
|
|
127
|
+
isInitialize: isJSONRPCRequest(message) && message.method === INITIALIZE_METHOD,
|
|
166
128
|
});
|
|
167
|
-
}
|
|
168
|
-
catch (error) {
|
|
169
|
-
this.logger.error('Error emulating initialize response', {
|
|
170
|
-
error: error instanceof Error ? error.message : String(error),
|
|
171
|
-
stack: error instanceof Error ? error.stack : undefined,
|
|
172
|
-
requestId,
|
|
173
|
-
});
|
|
174
|
-
(_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error instanceof Error ? error : new Error(String(error)));
|
|
175
|
-
}
|
|
129
|
+
});
|
|
176
130
|
}
|
|
177
131
|
/**
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
* where responses may arrive before the publish operation completes.
|
|
181
|
-
*
|
|
182
|
-
* @param message The JSON-RPC message to send.
|
|
183
|
-
* @returns The ID of the published Nostr event.
|
|
132
|
+
* Emulates the server's initialize response for stateless clients.
|
|
133
|
+
* @param requestId - The ID of the original initialize request
|
|
184
134
|
*/
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
throw error;
|
|
202
|
-
}
|
|
135
|
+
emulateInitializeResponse(requestId) {
|
|
136
|
+
const response = this.statelessHandler.createEmulatedResponse(requestId);
|
|
137
|
+
queueMicrotask(() => {
|
|
138
|
+
var _a, _b;
|
|
139
|
+
try {
|
|
140
|
+
(_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, response);
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
this.logger.error('Error in emulated initialize response callback', {
|
|
144
|
+
error: error instanceof Error ? error.message : String(error),
|
|
145
|
+
stack: error instanceof Error ? error.stack : undefined,
|
|
146
|
+
requestId,
|
|
147
|
+
});
|
|
148
|
+
(_b = this.onerror) === null || _b === void 0 ? void 0 : _b.call(this, error instanceof Error ? error : new Error(String(error)));
|
|
149
|
+
}
|
|
150
|
+
});
|
|
203
151
|
}
|
|
204
152
|
/**
|
|
205
153
|
* Processes incoming Nostr events, routing them to the correct handler.
|
|
154
|
+
* @param event - The incoming Nostr event
|
|
206
155
|
*/
|
|
207
156
|
async processIncomingEvent(event) {
|
|
208
157
|
var _a, _b;
|
|
209
158
|
try {
|
|
210
159
|
let nostrEvent = event;
|
|
211
|
-
// Handle encrypted messages
|
|
212
160
|
if (event.kind === GIFT_WRAP_KIND) {
|
|
213
161
|
try {
|
|
214
|
-
const decryptedContent = await decryptMessage(event, this.signer);
|
|
162
|
+
const decryptedContent = await withTimeout(decryptMessage(event, this.signer), 30000, 'Decrypt message timed out');
|
|
215
163
|
nostrEvent = JSON.parse(decryptedContent);
|
|
216
164
|
}
|
|
217
165
|
catch (decryptError) {
|
|
@@ -229,7 +177,6 @@ export class NostrClientTransport extends BaseNostrTransport {
|
|
|
229
177
|
return;
|
|
230
178
|
}
|
|
231
179
|
}
|
|
232
|
-
// Check if the event is from the expected server
|
|
233
180
|
if (nostrEvent.pubkey !== this.serverPubkey) {
|
|
234
181
|
this.logger.debug('Skipping event from unexpected server pubkey:', {
|
|
235
182
|
receivedPubkey: nostrEvent.pubkey,
|
|
@@ -239,9 +186,7 @@ export class NostrClientTransport extends BaseNostrTransport {
|
|
|
239
186
|
return;
|
|
240
187
|
}
|
|
241
188
|
const eTag = getNostrEventTag(nostrEvent.tags, 'e');
|
|
242
|
-
// Only check if we haven't initialized AND this looks like an initialize response
|
|
243
189
|
if (!this.serverInitializeEvent && eTag) {
|
|
244
|
-
// Only check responses (have eTag), not notifications
|
|
245
190
|
try {
|
|
246
191
|
const content = JSON.parse(nostrEvent.content);
|
|
247
192
|
const parse = InitializeResultSchema.safeParse(content.result);
|
|
@@ -252,23 +197,20 @@ export class NostrClientTransport extends BaseNostrTransport {
|
|
|
252
197
|
});
|
|
253
198
|
}
|
|
254
199
|
}
|
|
255
|
-
catch (
|
|
256
|
-
// Ignore parse errors - not every response is an initialize response
|
|
200
|
+
catch (_c) {
|
|
257
201
|
this.logger.debug('Event is not a valid initialize response', {
|
|
258
202
|
eventId: nostrEvent.id,
|
|
259
|
-
error,
|
|
260
203
|
});
|
|
261
204
|
}
|
|
262
205
|
}
|
|
263
|
-
if (eTag && !this.
|
|
264
|
-
this.logger.warn(
|
|
206
|
+
if (eTag && !this.correlationStore.hasPendingRequest(eTag)) {
|
|
207
|
+
this.logger.warn('Received response for unknown/expired request', {
|
|
265
208
|
eventId: nostrEvent.id,
|
|
266
209
|
eTag,
|
|
267
210
|
reason: 'Request not found in pending set - may be duplicate or late response',
|
|
268
211
|
});
|
|
269
212
|
return;
|
|
270
213
|
}
|
|
271
|
-
// Process the resulting event
|
|
272
214
|
const mcpMessage = this.convertNostrEventToMcpMessage(nostrEvent);
|
|
273
215
|
if (!mcpMessage) {
|
|
274
216
|
this.logger.error('Skipping invalid Nostr event with malformed JSON content', { eventId: nostrEvent.id, pubkey: nostrEvent.pubkey });
|
|
@@ -295,21 +237,29 @@ export class NostrClientTransport extends BaseNostrTransport {
|
|
|
295
237
|
}
|
|
296
238
|
}
|
|
297
239
|
/**
|
|
298
|
-
*
|
|
240
|
+
* Gets the server's initialize event if received.
|
|
241
|
+
* @returns The server initialize event or undefined
|
|
299
242
|
*/
|
|
300
243
|
getServerInitializeEvent() {
|
|
301
244
|
return this.serverInitializeEvent;
|
|
302
245
|
}
|
|
303
246
|
/**
|
|
304
247
|
* Handles response messages by correlating them with pending requests.
|
|
305
|
-
* @param correlatedEventId The event ID
|
|
306
|
-
* @param mcpMessage The
|
|
248
|
+
* @param correlatedEventId - The Nostr event ID used for correlation
|
|
249
|
+
* @param mcpMessage - The JSON-RPC response message
|
|
307
250
|
*/
|
|
308
251
|
handleResponse(correlatedEventId, mcpMessage) {
|
|
309
252
|
var _a, _b;
|
|
310
253
|
try {
|
|
311
|
-
|
|
312
|
-
|
|
254
|
+
const resolved = this.correlationStore.resolveResponse(correlatedEventId, mcpMessage);
|
|
255
|
+
if (resolved) {
|
|
256
|
+
(_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, mcpMessage);
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
this.logger.warn('Response for unknown request', {
|
|
260
|
+
eventId: correlatedEventId,
|
|
261
|
+
});
|
|
262
|
+
}
|
|
313
263
|
}
|
|
314
264
|
catch (error) {
|
|
315
265
|
this.logger.error('Error handling response', {
|
|
@@ -321,8 +271,8 @@ export class NostrClientTransport extends BaseNostrTransport {
|
|
|
321
271
|
}
|
|
322
272
|
}
|
|
323
273
|
/**
|
|
324
|
-
* Handles notification messages.
|
|
325
|
-
* @param mcpMessage The
|
|
274
|
+
* Handles notification messages by validating and forwarding them.
|
|
275
|
+
* @param mcpMessage - The JSON-RPC notification message
|
|
326
276
|
*/
|
|
327
277
|
handleNotification(mcpMessage) {
|
|
328
278
|
var _a, _b;
|
|
@@ -347,5 +297,16 @@ export class NostrClientTransport extends BaseNostrTransport {
|
|
|
347
297
|
: new Error('Failed to handle incoming notification'));
|
|
348
298
|
}
|
|
349
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* Test-only accessor for internal state.
|
|
302
|
+
* @internal
|
|
303
|
+
*/
|
|
304
|
+
getInternalStateForTesting() {
|
|
305
|
+
return {
|
|
306
|
+
correlationStore: this.correlationStore,
|
|
307
|
+
statelessHandler: this.statelessHandler,
|
|
308
|
+
serverInitializeEvent: this.serverInitializeEvent,
|
|
309
|
+
};
|
|
310
|
+
}
|
|
350
311
|
}
|
|
351
312
|
//# sourceMappingURL=nostr-client-transport.js.map
|
|
@@ -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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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal announcement manager for NostrServerTransport.
|
|
3
|
+
* Handles public server announcements including initialization handshake,
|
|
4
|
+
* schema mapping, and deletion events.
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
import { type JSONRPCMessage, type JSONRPCResponse } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
+
import type { Filter } from 'nostr-tools';
|
|
9
|
+
import { NostrEvent } from 'nostr-tools';
|
|
10
|
+
import { EncryptionMode } from '../../core/interfaces.js';
|
|
11
|
+
/**
|
|
12
|
+
* Information about a server.
|
|
13
|
+
*/
|
|
14
|
+
export interface ServerInfo {
|
|
15
|
+
name?: string;
|
|
16
|
+
picture?: string;
|
|
17
|
+
website?: string;
|
|
18
|
+
about?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Options for configuring the AnnouncementManager.
|
|
22
|
+
*/
|
|
23
|
+
export interface AnnouncementManagerOptions {
|
|
24
|
+
/** Server information to include in announcements */
|
|
25
|
+
serverInfo?: ServerInfo;
|
|
26
|
+
/** Encryption mode for determining tag inclusion */
|
|
27
|
+
encryptionMode: EncryptionMode;
|
|
28
|
+
/** Callback to send a message to the MCP server */
|
|
29
|
+
onSendMessage: (message: JSONRPCMessage) => void;
|
|
30
|
+
/** Callback to publish a Nostr event */
|
|
31
|
+
onPublishEvent: (event: NostrEvent) => Promise<void>;
|
|
32
|
+
/** Callback to sign an event */
|
|
33
|
+
onSignEvent: (eventTemplate: NostrEvent) => Promise<NostrEvent>;
|
|
34
|
+
/** Callback to get the server's public key */
|
|
35
|
+
onGetPublicKey: () => Promise<string>;
|
|
36
|
+
/** Callback to subscribe to relay events */
|
|
37
|
+
onSubscribe: (filters: Filter[], onEvent: (event: NostrEvent) => void) => Promise<void>;
|
|
38
|
+
/** Logger for debug output */
|
|
39
|
+
logger: {
|
|
40
|
+
info: (message: string, meta?: unknown) => void;
|
|
41
|
+
warn: (message: string, meta?: unknown) => void;
|
|
42
|
+
error: (message: string, meta?: unknown) => void;
|
|
43
|
+
debug: (message: string, meta?: unknown) => void;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Internal manager for public server announcements.
|
|
48
|
+
*
|
|
49
|
+
* This class encapsulates the announcement flow:
|
|
50
|
+
* - Initialize handshake with timeout
|
|
51
|
+
* - Schema-to-kind mapping for different announcement types
|
|
52
|
+
* - Publishing announcements as Nostr events
|
|
53
|
+
* - Deleting announcements via deletion events
|
|
54
|
+
*/
|
|
55
|
+
export declare class AnnouncementManager {
|
|
56
|
+
private readonly serverInfo?;
|
|
57
|
+
private readonly encryptionMode;
|
|
58
|
+
private readonly onSendMessage;
|
|
59
|
+
private readonly onPublishEvent;
|
|
60
|
+
private readonly onSignEvent;
|
|
61
|
+
private readonly onGetPublicKey;
|
|
62
|
+
private readonly onSubscribe;
|
|
63
|
+
private readonly logger;
|
|
64
|
+
private isInitialized;
|
|
65
|
+
private initializationPromise?;
|
|
66
|
+
private initializationResolver?;
|
|
67
|
+
private cachedCommonTags?;
|
|
68
|
+
constructor(options: AnnouncementManagerOptions);
|
|
69
|
+
/**
|
|
70
|
+
* Generates common tags from server information for use in Nostr events.
|
|
71
|
+
* @returns Array of tag arrays for Nostr events.
|
|
72
|
+
*/
|
|
73
|
+
getCommonTags(): string[][];
|
|
74
|
+
/**
|
|
75
|
+
* Gets the announcement mapping for schema-to-kind conversion.
|
|
76
|
+
* @returns Array of announcement mappings.
|
|
77
|
+
*/
|
|
78
|
+
private getAnnouncementMapping;
|
|
79
|
+
/**
|
|
80
|
+
* Initiates the process of fetching announcement data from the server's internal logic.
|
|
81
|
+
* This method properly handles the initialization handshake by first sending
|
|
82
|
+
* the initialize request, waiting for the response, and then proceeding with other announcements.
|
|
83
|
+
*/
|
|
84
|
+
getAnnouncementData(): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Waits for the server to be initialized with a timeout.
|
|
87
|
+
* @returns Promise that resolves when initialized or after 10-second timeout.
|
|
88
|
+
* The method will always resolve, allowing announcements to proceed.
|
|
89
|
+
*/
|
|
90
|
+
private waitForInitialization;
|
|
91
|
+
/**
|
|
92
|
+
* Handles the JSON-RPC responses for public server announcements and publishes
|
|
93
|
+
* them as Nostr events to the configured relays.
|
|
94
|
+
* @param message The JSON-RPC response containing the announcement data.
|
|
95
|
+
* @returns true if the message was an announcement response and was handled, false otherwise.
|
|
96
|
+
*/
|
|
97
|
+
handleAnnouncementResponse(message: JSONRPCResponse): Promise<boolean>;
|
|
98
|
+
/**
|
|
99
|
+
* Publishes an announcement as a Nostr event.
|
|
100
|
+
* @param result The announcement result to publish.
|
|
101
|
+
*/
|
|
102
|
+
private publishAnnouncement;
|
|
103
|
+
/**
|
|
104
|
+
* Deletes server announcements and capability listings by publishing deletion events.
|
|
105
|
+
* This method queries for existing announcement events and publishes deletion events (kind 5)
|
|
106
|
+
* to remove them from the relay network.
|
|
107
|
+
* @param reason Optional reason for deletion (default: 'Service offline').
|
|
108
|
+
* @returns Promise that resolves to an array of deletion events that were published.
|
|
109
|
+
*/
|
|
110
|
+
deleteAnnouncement(reason?: string): Promise<NostrEvent[]>;
|
|
111
|
+
/**
|
|
112
|
+
* Checks if the manager is initialized.
|
|
113
|
+
*/
|
|
114
|
+
get initialized(): boolean;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=announcement-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"announcement-manager.d.ts","sourceRoot":"","sources":["../../../../src/transport/nostr-server/announcement-manager.ts"],"names":[],"mappings":"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"}
|