@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.
Files changed (61) hide show
  1. package/dist/esm/core/constants.d.ts +3 -0
  2. package/dist/esm/core/constants.d.ts.map +1 -1
  3. package/dist/esm/core/constants.js +3 -0
  4. package/dist/esm/core/constants.js.map +1 -1
  5. package/dist/esm/core/utils/logger.d.ts +1 -1
  6. package/dist/esm/core/utils/logger.d.ts.map +1 -1
  7. package/dist/esm/core/utils/lru-cache.d.ts.map +1 -1
  8. package/dist/esm/core/utils/lru-cache.js +9 -1
  9. package/dist/esm/core/utils/lru-cache.js.map +1 -1
  10. package/dist/esm/core/utils/task-queue.d.ts +5 -0
  11. package/dist/esm/core/utils/task-queue.d.ts.map +1 -1
  12. package/dist/esm/core/utils/task-queue.js +11 -0
  13. package/dist/esm/core/utils/task-queue.js.map +1 -1
  14. package/dist/esm/core/utils/utils.d.ts +8 -0
  15. package/dist/esm/core/utils/utils.d.ts.map +1 -1
  16. package/dist/esm/core/utils/utils.js +23 -0
  17. package/dist/esm/core/utils/utils.js.map +1 -1
  18. package/dist/esm/relay/applesauce-relay-pool.d.ts +37 -4
  19. package/dist/esm/relay/applesauce-relay-pool.d.ts.map +1 -1
  20. package/dist/esm/relay/applesauce-relay-pool.js +165 -11
  21. package/dist/esm/relay/applesauce-relay-pool.js.map +1 -1
  22. package/dist/esm/signer/private-key-signer.d.ts.map +1 -1
  23. package/dist/esm/signer/private-key-signer.js +1 -1
  24. package/dist/esm/signer/private-key-signer.js.map +1 -1
  25. package/dist/esm/transport/base-nostr-transport.d.ts +1 -1
  26. package/dist/esm/transport/base-nostr-transport.d.ts.map +1 -1
  27. package/dist/esm/transport/base-nostr-transport.js +8 -6
  28. package/dist/esm/transport/base-nostr-transport.js.map +1 -1
  29. package/dist/esm/transport/nostr-client/correlation-store.d.ts +60 -0
  30. package/dist/esm/transport/nostr-client/correlation-store.d.ts.map +1 -0
  31. package/dist/esm/transport/nostr-client/correlation-store.js +61 -0
  32. package/dist/esm/transport/nostr-client/correlation-store.js.map +1 -0
  33. package/dist/esm/transport/nostr-client/stateless-mode-handler.d.ts +24 -0
  34. package/dist/esm/transport/nostr-client/stateless-mode-handler.d.ts.map +1 -0
  35. package/dist/esm/transport/nostr-client/stateless-mode-handler.js +61 -0
  36. package/dist/esm/transport/nostr-client/stateless-mode-handler.js.map +1 -0
  37. package/dist/esm/transport/nostr-client-transport.d.ts +48 -24
  38. package/dist/esm/transport/nostr-client-transport.d.ts.map +1 -1
  39. package/dist/esm/transport/nostr-client-transport.js +92 -131
  40. package/dist/esm/transport/nostr-client-transport.js.map +1 -1
  41. package/dist/esm/transport/nostr-server/announcement-manager.d.ts +116 -0
  42. package/dist/esm/transport/nostr-server/announcement-manager.d.ts.map +1 -0
  43. package/dist/esm/transport/nostr-server/announcement-manager.js +288 -0
  44. package/dist/esm/transport/nostr-server/announcement-manager.js.map +1 -0
  45. package/dist/esm/transport/nostr-server/authorization-policy.d.ts +74 -0
  46. package/dist/esm/transport/nostr-server/authorization-policy.d.ts.map +1 -0
  47. package/dist/esm/transport/nostr-server/authorization-policy.js +91 -0
  48. package/dist/esm/transport/nostr-server/authorization-policy.js.map +1 -0
  49. package/dist/esm/transport/nostr-server/correlation-store.d.ts +102 -0
  50. package/dist/esm/transport/nostr-server/correlation-store.d.ts.map +1 -0
  51. package/dist/esm/transport/nostr-server/correlation-store.js +167 -0
  52. package/dist/esm/transport/nostr-server/correlation-store.js.map +1 -0
  53. package/dist/esm/transport/nostr-server/session-store.d.ts +99 -0
  54. package/dist/esm/transport/nostr-server/session-store.d.ts.map +1 -0
  55. package/dist/esm/transport/nostr-server/session-store.js +123 -0
  56. package/dist/esm/transport/nostr-server/session-store.js.map +1 -0
  57. package/dist/esm/transport/nostr-server-transport.d.ts +18 -63
  58. package/dist/esm/transport/nostr-server-transport.d.ts.map +1 -1
  59. package/dist/esm/transport/nostr-server-transport.js +135 -378
  60. package/dist/esm/transport/nostr-server-transport.js.map +1 -1
  61. package/package.json +15 -12
@@ -1,26 +1,37 @@
1
- import { InitializeResultSchema, NotificationSchema, isJSONRPCRequest, isJSONRPCNotification, LATEST_PROTOCOL_VERSION, } from '@modelcontextprotocol/sdk/types.js';
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 { LruCache } from '../core/utils/lru-cache.js';
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
- * It implements the Transport interface from the @modelcontextprotocol/sdk.
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
- throw error;
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
- throw error;
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
- * @param message The JSON-RPC request or response to send.
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
- if (isJSONRPCRequest(message) && message.method === 'initialize') {
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
- if (isJSONRPCNotification(message) &&
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._sendInternal(message);
101
+ await this.sendRequest(message);
100
102
  }
101
103
  catch (error) {
102
- this.logger.error('Error sending message', {
103
- error: error instanceof Error ? error.message : String(error),
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
- * Emulates the server's initialize response for stateless clients.
120
- * This method constructs a generic server response and injects it back into the client,
121
- * allowing the client to self-initialize without a network roundtrip.
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
- emulateInitializeResponse(requestId) {
125
- var _a;
126
- try {
127
- const emulatedResult = {
128
- protocolVersion: LATEST_PROTOCOL_VERSION,
129
- serverInfo: {
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
- * Internal method to send a JSON-RPC message and get the resulting event ID.
179
- * Registers the event ID before publishing to avoid race conditions in multi-relay setups
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
- async _sendInternal(message) {
186
- try {
187
- const tags = this.createRecipientTags(this.serverPubkey);
188
- // Use sendMcpMessage with callback to register event ID before publishing
189
- return await this.sendMcpMessage(message, this.serverPubkey, CTXVM_MESSAGES_KIND, tags, undefined, // isEncrypted - let sendMcpMessage determine from encryptionMode
190
- (eventId) => {
191
- // Register before publishing to handle fast responses from working relays
192
- this.pendingRequestIds.set(eventId, Date.now());
193
- });
194
- }
195
- catch (error) {
196
- this.logger.error('Error in _sendInternal', {
197
- error: error instanceof Error ? error.message : String(error),
198
- stack: error instanceof Error ? error.stack : undefined,
199
- serverPubkey: this.serverPubkey,
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 (error) {
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.pendingRequestIds.has(eTag)) {
264
- this.logger.warn(`Received response for unknown/expired request`, {
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
- * Get the server initialize event
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 from the 'e' tag.
306
- * @param mcpMessage The incoming MCP message.
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
- (_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, mcpMessage);
312
- this.pendingRequestIds.delete(correlatedEventId);
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 incoming MCP message.
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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"}