@contextvm/sdk 0.1.16 → 0.1.18

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 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/core/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,eAAe,QAAQ,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,UAAU;;IAErB;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEK,CAAC;AAEX,eAAO,MAAM,mBAAmB,EAAE,mBAMxB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAc,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/core/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,eAAe,QAAQ,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,UAAU;;IAErB;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEK,CAAC;AAEX,eAAO,MAAM,mBAAmB,EAAE,mBAKxB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAc,CAAC"}
@@ -65,7 +65,6 @@ export const NOSTR_TAGS = {
65
65
  SUPPORT_ENCRYPTION: 'support_encryption',
66
66
  };
67
67
  export const announcementMethods = {
68
- server: 'initialize',
69
68
  tools: 'tools/list',
70
69
  resources: 'resources/list',
71
70
  resourceTemplates: 'resources/templates/list',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/core/constants.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AAErC;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,GAAG;IACX;;OAEG;IACH,QAAQ,EAAE,GAAG;IACb;;OAEG;IACH,UAAU,EAAE,KAAK;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM;IACZ;;OAEG;IACH,OAAO,EAAE,SAAS;IAClB;;OAEG;IACH,OAAO,EAAE,SAAS;IAClB;;OAEG;IACH,KAAK,EAAE,OAAO;IACd;;OAEG;IACH,kBAAkB,EAAE,oBAAoB;CAChC,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAwB;IACtD,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,YAAY;IACnB,SAAS,EAAE,gBAAgB;IAC3B,iBAAiB,EAAE,0BAA0B;IAC7C,OAAO,EAAE,cAAc;CACf,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/core/constants.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AAErC;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,GAAG;IACX;;OAEG;IACH,QAAQ,EAAE,GAAG;IACb;;OAEG;IACH,UAAU,EAAE,KAAK;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM;IACZ;;OAEG;IACH,OAAO,EAAE,SAAS;IAClB;;OAEG;IACH,OAAO,EAAE,SAAS;IAClB;;OAEG;IACH,KAAK,EAAE,OAAO;IACd;;OAEG;IACH,kBAAkB,EAAE,oBAAoB;CAChC,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAwB;IACtD,KAAK,EAAE,YAAY;IACnB,SAAS,EAAE,gBAAgB;IAC3B,iBAAiB,EAAE,0BAA0B;IAC7C,OAAO,EAAE,cAAc;CACf,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC"}
@@ -1,4 +1,4 @@
1
- import { InitializeRequest, ListPromptsRequest, ListResourcesRequest, ListResourceTemplatesRequest, ListToolsRequest } from '@modelcontextprotocol/sdk/types.js';
1
+ import { ListPromptsRequest, ListResourcesRequest, ListResourceTemplatesRequest, ListToolsRequest } from '@modelcontextprotocol/sdk/types.js';
2
2
  import type { EventTemplate, Filter, NostrEvent } from 'nostr-tools';
3
3
  /**
4
4
  * Defines the encryption mode for the transport.
@@ -37,7 +37,6 @@ export interface RelayHandler {
37
37
  unsubscribe(): void;
38
38
  }
39
39
  export interface AnnouncementMethods {
40
- server: InitializeRequest['method'];
41
40
  tools: ListToolsRequest['method'];
42
41
  resources: ListResourcesRequest['method'];
43
42
  resourceTemplates: ListResourceTemplatesRequest['method'];
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErE;;;;;GAKG;AACH,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAGrD,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;KAClE,CAAC;IAGF,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;KAClE,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,SAAS,CACP,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,MAAM,CAAC,EAAE,MAAM,IAAI,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,WAAW,IAAI,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpC,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClC,SAAS,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC1C,iBAAiB,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAC1D,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;CACvC"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErE;;;;;GAKG;AACH,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAGrD,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;KAClE,CAAC;IAGF,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;KAClE,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,SAAS,CACP,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,MAAM,CAAC,EAAE,MAAM,IAAI,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,WAAW,IAAI,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClC,SAAS,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC1C,iBAAiB,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAC1D,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;CACvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/core/interfaces.ts"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/core/interfaces.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
@@ -4,8 +4,8 @@ import { NostrServerTransportOptions } from '../transport/nostr-server-transport
4
4
  * Options for configuring the NostrMCPGateway.
5
5
  */
6
6
  export interface NostrMCPGatewayOptions {
7
- /** The MCP server transport (e.g., StdioServerTransport) to connect to the original MCP server */
8
- mcpServerTransport: Transport;
7
+ /** The MCP client transport (e.g., StdioClientTransport) to connect to the original MCP server */
8
+ mcpClientTransport: Transport;
9
9
  /** Options for configuring the Nostr server transport */
10
10
  nostrTransportOptions: NostrServerTransportOptions;
11
11
  }
@@ -15,9 +15,13 @@ export interface NostrMCPGatewayOptions {
15
15
  * events and forwarding them to the local MCP server, then publishing the
16
16
  * responses back to Nostr. All request/response correlation is handled by the
17
17
  * NostrServerTransport, making this a simple message forwarder.
18
+ * @param options - Configuration options for the gateway
19
+ * @param options.mcpClientTransport - The MCP client transport (e.g., StdioServerTransport)
20
+ * used to connect to and communicate with the original MCP server
21
+ * @param options.nostrTransportOptions - Configuration options for the Nostr server transport
18
22
  */
19
23
  export declare class NostrMCPGateway {
20
- private readonly mcpServerTransport;
24
+ private readonly mcpClientTransport;
21
25
  private readonly nostrServerTransport;
22
26
  private isRunning;
23
27
  constructor(options: NostrMCPGatewayOptions);
@@ -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;;;;;;GAMG;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;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"}
@@ -7,11 +7,15 @@ const logger = createLogger('gateway');
7
7
  * events and forwarding them to the local MCP server, then publishing the
8
8
  * responses back to Nostr. All request/response correlation is handled by the
9
9
  * NostrServerTransport, making this a simple message forwarder.
10
+ * @param options - Configuration options for the gateway
11
+ * @param options.mcpClientTransport - The MCP client transport (e.g., StdioServerTransport)
12
+ * used to connect to and communicate with the original MCP server
13
+ * @param options.nostrTransportOptions - Configuration options for the Nostr server transport
10
14
  */
11
15
  export class NostrMCPGateway {
12
16
  constructor(options) {
13
17
  this.isRunning = false;
14
- this.mcpServerTransport = options.mcpServerTransport;
18
+ this.mcpClientTransport = options.mcpClientTransport;
15
19
  this.nostrServerTransport = new NostrServerTransport(options.nostrTransportOptions);
16
20
  this.setupEventHandlers();
17
21
  }
@@ -22,21 +26,21 @@ export class NostrMCPGateway {
22
26
  // Forward messages from Nostr to the MCP server, handling any potential errors.
23
27
  this.nostrServerTransport.onmessage = (message) => {
24
28
  logger.debug('Received message from Nostr:', message);
25
- this.mcpServerTransport
29
+ this.mcpClientTransport
26
30
  .send(message)
27
31
  .catch(this.handleServerError.bind(this));
28
32
  };
29
33
  this.nostrServerTransport.onerror = this.handleNostrError.bind(this);
30
34
  this.nostrServerTransport.onclose = this.handleNostrClose.bind(this);
31
35
  // Forward messages from the MCP server to the Nostr transport, handling any potential errors.
32
- this.mcpServerTransport.onmessage = (message) => {
36
+ this.mcpClientTransport.onmessage = (message) => {
33
37
  logger.debug('Received message from MCP server:', message);
34
38
  this.nostrServerTransport
35
39
  .send(message)
36
40
  .catch(this.handleNostrError.bind(this));
37
41
  };
38
- this.mcpServerTransport.onerror = this.handleServerError.bind(this);
39
- this.mcpServerTransport.onclose = this.handleServerClose.bind(this);
42
+ this.mcpClientTransport.onerror = this.handleServerError.bind(this);
43
+ this.mcpClientTransport.onclose = this.handleServerClose.bind(this);
40
44
  }
41
45
  /**
42
46
  * Starts the gateway, initializing both transports.
@@ -47,7 +51,7 @@ export class NostrMCPGateway {
47
51
  }
48
52
  try {
49
53
  // Start both transports
50
- await this.mcpServerTransport.start();
54
+ await this.mcpClientTransport.start();
51
55
  await this.nostrServerTransport.start();
52
56
  this.isRunning = true;
53
57
  logger.info('NostrMCPGateway started successfully');
@@ -68,7 +72,7 @@ export class NostrMCPGateway {
68
72
  try {
69
73
  // Stop both transports
70
74
  await this.nostrServerTransport.close();
71
- await this.mcpServerTransport.close();
75
+ await this.mcpClientTransport.close();
72
76
  this.isRunning = false;
73
77
  logger.info('NostrMCPGateway stopped successfully');
74
78
  }
@@ -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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"}
@@ -0,0 +1,35 @@
1
+ import type { NostrEvent, Filter } from 'nostr-tools';
2
+ import { RelayHandler } from '../core/interfaces.js';
3
+ /**
4
+ * A RelayHandler implementation that uses the applesauce-relay library's RelayPool to manage connections and subscriptions.
5
+ */
6
+ export declare class ApplesauceRelayPool implements RelayHandler {
7
+ private readonly pool;
8
+ private readonly relayUrls;
9
+ private readonly relayGroup;
10
+ private subscriptions;
11
+ /**
12
+ * Creates a new ApplesauceRelayPool instance.
13
+ * @param relayUrls - An array of relay URLs to connect to.
14
+ */
15
+ constructor(relayUrls: string[]);
16
+ /**
17
+ * Sets up monitoring of relay connections and triggers resubscription when connections are lost
18
+ */
19
+ private setupConnectionMonitoring;
20
+ connect(): Promise<void>;
21
+ disconnect(): Promise<void>;
22
+ publish(event: NostrEvent): Promise<void>;
23
+ /**
24
+ * Creates a simplified subscription wrapper around the RelayPool's subscription method.
25
+ * This provides a cleaner interface similar to other relay pool implementations.
26
+ */
27
+ private createSubscription;
28
+ /**
29
+ * Resubscribes to all active subscriptions after relay reconnection
30
+ */
31
+ private resubscribeAll;
32
+ subscribe(filters: Filter[], onEvent: (event: NostrEvent) => void, onEose?: () => void): Promise<void>;
33
+ unsubscribe(): void;
34
+ }
35
+ //# sourceMappingURL=applesauce-relay-pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applesauce-relay-pool.d.ts","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAerD;;GAEG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAGxC,OAAO,CAAC,aAAa,CAA+B;IAEpD;;;OAGG;gBACS,SAAS,EAAE,MAAM,EAAE;IAO/B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAY3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC/C;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuC1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBhB,SAAS,CACb,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,MAAM,CAAC,EAAE,MAAM,IAAI,GAClB,OAAO,CAAC,IAAI,CAAC;IAoBhB,WAAW,IAAI,IAAI;CAcpB"}
@@ -0,0 +1,172 @@
1
+ import { RelayPool } from 'applesauce-relay';
2
+ import { createLogger } from '../core/utils/logger.js';
3
+ const logger = createLogger('applesauce-relay');
4
+ /**
5
+ * A RelayHandler implementation that uses the applesauce-relay library's RelayPool to manage connections and subscriptions.
6
+ */
7
+ export class ApplesauceRelayPool {
8
+ /**
9
+ * Creates a new ApplesauceRelayPool instance.
10
+ * @param relayUrls - An array of relay URLs to connect to.
11
+ */
12
+ constructor(relayUrls) {
13
+ // Subscription management similar to other relay pools
14
+ this.subscriptions = [];
15
+ this.relayUrls = relayUrls;
16
+ this.pool = new RelayPool();
17
+ this.relayGroup = this.pool.group(relayUrls);
18
+ this.setupConnectionMonitoring();
19
+ }
20
+ /**
21
+ * Sets up monitoring of relay connections and triggers resubscription when connections are lost
22
+ */
23
+ setupConnectionMonitoring() {
24
+ this.pool.relays$.subscribe((relays) => {
25
+ relays.forEach((relay) => {
26
+ relay.connected$.subscribe((connected) => {
27
+ if (!connected) {
28
+ this.resubscribeAll();
29
+ }
30
+ });
31
+ });
32
+ });
33
+ }
34
+ async connect() {
35
+ logger.info('Connecting to relays', { relayUrls: this.relayUrls });
36
+ // Validate URL format
37
+ for (const url of this.relayUrls) {
38
+ try {
39
+ new URL(url);
40
+ }
41
+ catch (error) {
42
+ logger.error('Invalid relay URL', { url, error });
43
+ throw new Error(`Invalid relay URL: ${url}`);
44
+ }
45
+ }
46
+ // The RelayPool automatically connects to relays when needed
47
+ logger.info('Relay pool initialized', { relayUrls: this.relayUrls });
48
+ }
49
+ async disconnect() {
50
+ logger.info('Disconnecting from relays');
51
+ // Close all active subscriptions
52
+ this.unsubscribe();
53
+ // Close the relay pool
54
+ // Note: RelayPool doesn't have a close method, connections are managed automatically
55
+ // We just need to clear our subscriptions
56
+ logger.info('Disconnected from all relays');
57
+ }
58
+ async publish(event) {
59
+ logger.debug('Publishing event', { eventId: event.id, kind: event.kind });
60
+ // Use the publish method which handles retries automatically
61
+ const publishObservable = this.relayGroup.publish(event);
62
+ // Subscribe to the publish observable to handle responses
63
+ return new Promise((resolve, reject) => {
64
+ const subscription = publishObservable.subscribe({
65
+ next: (response) => {
66
+ if (!response.ok) {
67
+ logger.warn('Failed to publish event to relay', {
68
+ eventId: event.id,
69
+ relay: response.from,
70
+ message: response.message,
71
+ });
72
+ }
73
+ },
74
+ error: (error) => {
75
+ logger.error('Failed to publish event', {
76
+ eventId: event.id,
77
+ error,
78
+ });
79
+ reject(error);
80
+ },
81
+ complete: () => {
82
+ logger.debug('Event publishing completed', { eventId: event.id });
83
+ subscription.unsubscribe();
84
+ resolve();
85
+ },
86
+ });
87
+ });
88
+ }
89
+ /**
90
+ * Creates a simplified subscription wrapper around the RelayPool's subscription method.
91
+ * This provides a cleaner interface similar to other relay pool implementations.
92
+ */
93
+ createSubscription(filters, onEvent, onEose) {
94
+ // Create a persistent subscription with automatic reconnection
95
+ const subscription = this.relayGroup.subscription(filters, {
96
+ retries: 3,
97
+ });
98
+ // Subscribe to the stream of events
99
+ const sub = subscription.subscribe({
100
+ next: (response) => {
101
+ if (response === 'EOSE') {
102
+ onEose === null || onEose === void 0 ? void 0 : onEose();
103
+ }
104
+ else {
105
+ onEvent(response);
106
+ }
107
+ },
108
+ error: (error) => {
109
+ logger.error('Subscription error', { error });
110
+ // Remove the subscription from the array if it fails
111
+ const index = this.subscriptions.findIndex((sub) => sub.onEvent === onEvent && sub.filters === filters);
112
+ if (index !== -1) {
113
+ this.subscriptions.splice(index, 1);
114
+ }
115
+ sub.unsubscribe();
116
+ },
117
+ });
118
+ return {
119
+ unsubscribe: () => {
120
+ sub.unsubscribe();
121
+ },
122
+ };
123
+ }
124
+ /**
125
+ * Resubscribes to all active subscriptions after relay reconnection
126
+ */
127
+ resubscribeAll() {
128
+ logger.debug('Resubscribing to all subscriptions after relay reconnection');
129
+ try {
130
+ this.subscriptions.forEach((sub) => {
131
+ if (sub.closer)
132
+ sub.closer.unsubscribe();
133
+ sub.closer = this.createSubscription(sub.filters, sub.onEvent, sub.onEose);
134
+ });
135
+ }
136
+ catch (error) {
137
+ logger.error('Failed to resubscribe to subscriptions', { error });
138
+ }
139
+ }
140
+ async subscribe(filters, onEvent, onEose) {
141
+ logger.debug('Creating subscription', { filters });
142
+ try {
143
+ // Create a subscription using our simplified wrapper
144
+ const closer = this.createSubscription(filters, onEvent, onEose);
145
+ // Store the subscription for cleanup
146
+ this.subscriptions.push({
147
+ filters,
148
+ onEvent,
149
+ onEose,
150
+ closer,
151
+ });
152
+ }
153
+ catch (error) {
154
+ logger.error('Failed to create subscription', { filters, error });
155
+ throw error;
156
+ }
157
+ }
158
+ unsubscribe() {
159
+ logger.debug('Unsubscribing from all subscriptions');
160
+ try {
161
+ // Close all active subscriptions
162
+ for (const subscription of this.subscriptions) {
163
+ subscription.closer.unsubscribe();
164
+ }
165
+ this.subscriptions = [];
166
+ }
167
+ catch (error) {
168
+ logger.error('Error while unsubscribing from subscriptions', { error });
169
+ }
170
+ }
171
+ }
172
+ //# sourceMappingURL=applesauce-relay-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applesauce-relay-pool.js","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export * from './simple-relay-pool.js';
2
- export * from './nostrify-relay-pool.js';
2
+ export * from './applesauce-relay-pool.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/relay/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/relay/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export * from './simple-relay-pool.js';
2
- export * from './nostrify-relay-pool.js';
2
+ export * from './applesauce-relay-pool.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/relay/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/relay/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"simple-relay-pool.d.ts","sourceRoot":"","sources":["../../../src/relay/simple-relay-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAMrD;;;;;GAKG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAW;IAC/C,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,cAAc,CAAC,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAK;IAGhC,OAAO,CAAC,WAAW,CAOf;IAEJ,OAAO,CAAC,aAAa,CAKb;gBAEI,SAAS,EAAE,MAAM,EAAE;IAgB/B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAkBpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B;;;OAGG;YACW,uBAAuB;IAmDrC;;OAEG;IACH,OAAO,CAAC,cAAc;IAchB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/C,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,SAAS,CACb,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,MAAM,CAAC,EAAE,MAAM,IAAI,GAClB,OAAO,CAAC,IAAI,CAAC;IAQhB,WAAW,IAAI,IAAI;CAIpB"}
1
+ {"version":3,"file":"simple-relay-pool.d.ts","sourceRoot":"","sources":["../../../src/relay/simple-relay-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAMrD;;;;;GAKG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAW;IAC/C,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,cAAc,CAAC,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAK;IAEhC,OAAO,CAAC,WAAW,CAOf;IAEJ,OAAO,CAAC,aAAa,CAKb;gBAEI,SAAS,EAAE,MAAM,EAAE;IAgB/B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAkBpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B;;;OAGG;YACW,uBAAuB;IAmDrC;;OAEG;IACH,OAAO,CAAC,cAAc;IAchB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/C,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,SAAS,CACb,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,MAAM,CAAC,EAAE,MAAM,IAAI,GAClB,OAAO,CAAC,IAAI,CAAC;IAQhB,WAAW,IAAI,IAAI;CAIpB"}
@@ -11,7 +11,6 @@ const logger = createLogger('relay');
11
11
  export class SimpleRelayPool {
12
12
  constructor(relayUrls) {
13
13
  this.maxRetries = 5;
14
- // Use Map for more efficient relay state management
15
14
  this.relayStates = new Map();
16
15
  this.subscriptions = [];
17
16
  this.relayUrls = relayUrls;
@@ -40,7 +39,7 @@ export class SimpleRelayPool {
40
39
  // Check all relays every 5 seconds
41
40
  this.reconnectTimer = setTimeout(() => {
42
41
  const connectionStatus = this.pool.listConnectionStatus();
43
- this.relayStates.forEach((state, url) => {
42
+ this.relayStates.forEach((_, url) => {
44
43
  if (!connectionStatus.get(url)) {
45
44
  this.handleDisconnectedRelay(url);
46
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"simple-relay-pool.js","sourceRoot":"","sources":["../../../src/relay/simple-relay-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simple-relay-pool.js","sourceRoot":"","sources":["../../../src/relay/simple-relay-pool.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export declare class NostrServerTransport extends BaseNostrTransport implements
32
32
  private readonly isPublicServer?;
33
33
  private readonly allowedPublicKeys?;
34
34
  private readonly serverInfo?;
35
+ private isInitialized;
35
36
  constructor(options: NostrServerTransportOptions);
36
37
  /**
37
38
  * Generates common tags from server information for use in Nostr events.
@@ -54,6 +55,8 @@ export declare class NostrServerTransport extends BaseNostrTransport implements
54
55
  send(message: JSONRPCMessage): Promise<void>;
55
56
  /**
56
57
  * Initiates the process of fetching announcement data from the server's internal logic.
58
+ * This method now properly handles the initialization handshake by first sending
59
+ * the initialize request, waiting for the response, and then proceeding with other announcements.
57
60
  */
58
61
  private getAnnouncementData;
59
62
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"nostr-server-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/nostr-server-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,KAAK,cAAc,EAIpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAmBnC;;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;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAYD;;;;;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,cAAc,CAAoC;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAW;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAa;gBAE7B,OAAO,EAAE,2BAA2B;IAOhD;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAanC;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC;;;OAGG;IACU,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;;;OAIG;YACW,SAAS;IAqCvB;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAoBhC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAYlC;;;OAGG;YACW,cAAc;IAiF5B;;;OAGG;YACW,kBAAkB;IAkChC;;;;;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;IAQlC;;;OAGG;YACW,oBAAoB;IAoBlC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAoChC;;;;OAIG;IACI,uBAAuB,CAAC,SAAS,GAAE,MAAe,GAAG,MAAM;CAgBnE"}
1
+ {"version":3,"file":"nostr-server-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/nostr-server-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,KAAK,cAAc,EAIpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAoBnC;;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;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAYD;;;;;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,cAAc,CAAoC;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAW;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAa;IACzC,OAAO,CAAC,aAAa,CAAS;gBAElB,OAAO,EAAE,2BAA2B;IAOhD;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAanC;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC;;;OAGG;IACU,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzD;;;;OAIG;YACW,mBAAmB;IA2CjC;;;;OAIG;YACW,SAAS;IAqCvB;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAoBhC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAYlC;;;OAGG;YACW,cAAc;IA2F5B;;;OAGG;YACW,kBAAkB;IAkChC;;;;;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;IAQlC;;;OAGG;YACW,oBAAoB;IAoBlC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAoChC;;;;OAIG;IACI,uBAAuB,CAAC,SAAS,GAAE,MAAe,GAAG,MAAM;CAgBnE"}
@@ -3,6 +3,7 @@ import { BaseNostrTransport, } from './base-nostr-transport.js';
3
3
  import { announcementMethods, CTXVM_MESSAGES_KIND, GIFT_WRAP_KIND, NOSTR_TAGS, PROMPTS_LIST_KIND, RESOURCES_LIST_KIND, RESOURCETEMPLATES_LIST_KIND, SERVER_ANNOUNCEMENT_KIND, TOOLS_LIST_KIND, decryptMessage, } from '../core/index.js';
4
4
  import { EncryptionMode } from '../core/interfaces.js';
5
5
  import { createLogger } from '../core/utils/logger.js';
6
+ import { sleep } from 'bun';
6
7
  const logger = createLogger('nostr-server-transport');
7
8
  /**
8
9
  * A server-side transport layer for CTXVM that uses Nostr events for communication.
@@ -14,6 +15,7 @@ export class NostrServerTransport extends BaseNostrTransport {
14
15
  constructor(options) {
15
16
  super(options);
16
17
  this.clientSessions = new Map();
18
+ this.isInitialized = false;
17
19
  this.serverInfo = options.serverInfo;
18
20
  this.isPublicServer = options.isPublicServer;
19
21
  this.allowedPublicKeys = options.allowedPublicKeys;
@@ -53,7 +55,7 @@ export class NostrServerTransport extends BaseNostrTransport {
53
55
  const filters = this.createSubscriptionFilters(pubkey);
54
56
  await this.subscribe(filters, this.processIncomingEvent.bind(this));
55
57
  if (this.isPublicServer) {
56
- this.getAnnouncementData();
58
+ await this.getAnnouncementData();
57
59
  }
58
60
  }
59
61
  /**
@@ -85,9 +87,11 @@ export class NostrServerTransport extends BaseNostrTransport {
85
87
  }
86
88
  /**
87
89
  * Initiates the process of fetching announcement data from the server's internal logic.
90
+ * This method now properly handles the initialization handshake by first sending
91
+ * the initialize request, waiting for the response, and then proceeding with other announcements.
88
92
  */
89
- getAnnouncementData() {
90
- var _a;
93
+ async getAnnouncementData() {
94
+ var _a, _b;
91
95
  const initializeParams = {
92
96
  protocolVersion: LATEST_PROTOCOL_VERSION,
93
97
  capabilities: {},
@@ -96,14 +100,32 @@ export class NostrServerTransport extends BaseNostrTransport {
96
100
  version: '1.0.0',
97
101
  },
98
102
  };
103
+ // First, send the initialize request and wait for completion
104
+ if (!this.isInitialized) {
105
+ const initializeMessage = {
106
+ jsonrpc: '2.0',
107
+ id: 'announcement',
108
+ method: 'initialize',
109
+ params: initializeParams,
110
+ };
111
+ console.error('Sending initialize request for announcement');
112
+ (_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, initializeMessage);
113
+ let attempts = 0;
114
+ while (!this.isInitialized && attempts < 10) {
115
+ attempts++;
116
+ await sleep(50);
117
+ }
118
+ }
119
+ // Now send all other announcements
99
120
  for (const [key, methodValue] of Object.entries(announcementMethods)) {
121
+ console.error('Sending announcement', key, methodValue);
100
122
  const message = {
101
123
  jsonrpc: '2.0',
102
124
  id: 'announcement',
103
125
  method: methodValue,
104
126
  params: key === 'server' ? initializeParams : {},
105
127
  };
106
- (_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, message);
128
+ (_b = this.onmessage) === null || _b === void 0 ? void 0 : _b.call(this, message);
107
129
  }
108
130
  }
109
131
  /**
@@ -197,10 +219,19 @@ export class NostrServerTransport extends BaseNostrTransport {
197
219
  * @param response The JSON-RPC response or error to send.
198
220
  */
199
221
  async handleResponse(response) {
200
- var _a, _b;
222
+ var _a, _b, _c;
201
223
  // Handle special announcement responses
202
224
  if (response.id === 'announcement') {
203
225
  if (isJSONRPCResponse(response)) {
226
+ if (InitializeResultSchema.safeParse(response.result).success) {
227
+ this.isInitialized = true;
228
+ // Send the initialized notification
229
+ const initializedNotification = {
230
+ jsonrpc: '2.0',
231
+ method: 'notifications/initialized',
232
+ };
233
+ (_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, initializedNotification);
234
+ }
204
235
  await this.announcer(response);
205
236
  }
206
237
  return;
@@ -218,7 +249,7 @@ export class NostrServerTransport extends BaseNostrTransport {
218
249
  }
219
250
  }
220
251
  if (!targetClientPubkey || originalRequestId === undefined) {
221
- (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, new Error(`No pending request found for response ID: ${response.id}`));
252
+ (_b = this.onerror) === null || _b === void 0 ? void 0 : _b.call(this, new Error(`No pending request found for response ID: ${response.id}`));
222
253
  return;
223
254
  }
224
255
  // Restore the original request ID in the response
@@ -226,7 +257,7 @@ export class NostrServerTransport extends BaseNostrTransport {
226
257
  // Send the response back to the original requester
227
258
  const session = this.clientSessions.get(targetClientPubkey);
228
259
  if (!session) {
229
- (_b = this.onerror) === null || _b === void 0 ? void 0 : _b.call(this, new Error(`No session found for client: ${targetClientPubkey}`));
260
+ (_c = this.onerror) === null || _c === void 0 ? void 0 : _c.call(this, new Error(`No session found for client: ${targetClientPubkey}`));
230
261
  return;
231
262
  }
232
263
  const tags = this.createResponseTags(targetClientPubkey, nostrEventId);
@@ -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.1.16",
3
+ "version": "0.1.18",
4
4
  "description": "CtxVM SDK for JavaScript/TypeScript",
5
5
  "license": "LGPL-3.0-1",
6
6
  "author": "ContextVM",
@@ -42,7 +42,7 @@
42
42
  "build:esm": "mkdir -p dist/esm && echo '{\"type\": \"module\"}' > dist/esm/package.json && bun tsc -p tsconfig.prod.json",
43
43
  "lint": "eslint src/",
44
44
  "test": "bun tests",
45
- "fmt": "bun prettier --write .",
45
+ "format": "bun prettier --write .",
46
46
  "release": "bun run build && bun changeset publish"
47
47
  },
48
48
  "devDependencies": {
@@ -59,7 +59,7 @@
59
59
  },
60
60
  "dependencies": {
61
61
  "@modelcontextprotocol/sdk": "^1.17.2",
62
- "@nostrify/nostrify": "npm:@jsr/nostrify__nostrify",
62
+ "applesauce-relay": "^2.3.0",
63
63
  "nostr-tools": "^2.16.2"
64
64
  }
65
65
  }
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env bun
2
- export {};
3
- //# sourceMappingURL=proxy-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxy-server.d.ts","sourceRoot":"","sources":["../../../src/proxy/proxy-server.ts"],"names":[],"mappings":""}
@@ -1,55 +0,0 @@
1
- #!/usr/bin/env bun
2
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
- import { NostrMCPProxy } from './index.js';
4
- import { PrivateKeySigner } from '../signer/private-key-signer.js';
5
- import { SimpleRelayPool } from '../relay/simple-relay-pool.js';
6
- /**
7
- * Proxy server that exposes a remote Nostr MCP server via stdio.
8
- * This allows MCP clients to connect to remote servers through the Nostr network.
9
- */
10
- async function main() {
11
- // Get configuration from environment variables
12
- const relayUrl = process.env.RELAY_URL || 'ws://localhost:7777';
13
- const clientPrivateKey = process.env.CLIENT_PRIVATE_KEY;
14
- const serverPubkey = process.env.SERVER_PUBKEY;
15
- if (!clientPrivateKey) {
16
- console.error('CLIENT_PRIVATE_KEY environment variable is required');
17
- process.exit(1);
18
- }
19
- if (!serverPubkey) {
20
- console.error('SERVER_PUBKEY environment variable is required');
21
- process.exit(1);
22
- }
23
- // Set up stdio transport for the server
24
- const transport = new StdioServerTransport();
25
- // Create Nostr components
26
- const signer = new PrivateKeySigner(clientPrivateKey);
27
- const relayPool = new SimpleRelayPool([relayUrl]);
28
- // Create and start the proxy
29
- const proxy = new NostrMCPProxy({
30
- mcpHostTransport: transport,
31
- nostrTransportOptions: {
32
- signer,
33
- relayHandler: relayPool,
34
- serverPubkey,
35
- },
36
- });
37
- // Handle cleanup on process termination
38
- process.on('SIGINT', async () => {
39
- await proxy.stop();
40
- process.exit(0);
41
- });
42
- process.on('SIGTERM', async () => {
43
- await proxy.stop();
44
- process.exit(0);
45
- });
46
- // Start the proxy
47
- await proxy.start();
48
- console.error('Proxy server started and connected to stdio');
49
- }
50
- // Run the server
51
- main().catch((error) => {
52
- console.error('Proxy server error:', error);
53
- process.exit(1);
54
- });
55
- //# sourceMappingURL=proxy-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxy-server.js","sourceRoot":"","sources":["../../../src/proxy/proxy-server.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE;;;GAGG;AACH,KAAK,UAAU,IAAI;IACjB,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,qBAAqB,CAAC;IAChE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACxD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAE/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wCAAwC;IACxC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,0BAA0B;IAC1B,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAElD,6BAA6B;IAC7B,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC;QAC9B,gBAAgB,EAAE,SAAS;QAC3B,qBAAqB,EAAE;YACrB,MAAM;YACN,YAAY,EAAE,SAAS;YACvB,YAAY;SACb;KACF,CAAC,CAAC;IAEH,wCAAwC;IACxC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;AAC/D,CAAC;AAED,iBAAiB;AACjB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}