@contextvm/sdk 0.1.24 → 0.1.25

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.
@@ -4,7 +4,6 @@ import { RelayHandler } from '../core/interfaces.js';
4
4
  * A RelayHandler implementation that uses the applesauce-relay library's RelayPool to manage connections and subscriptions.
5
5
  */
6
6
  export declare class ApplesauceRelayPool implements RelayHandler {
7
- private readonly pool;
8
7
  private readonly relayUrls;
9
8
  private readonly relayGroup;
10
9
  private subscriptions;
@@ -14,22 +13,37 @@ export declare class ApplesauceRelayPool implements RelayHandler {
14
13
  */
15
14
  constructor(relayUrls: string[]);
16
15
  /**
17
- * Sets up monitoring of relay connections and triggers resubscription when connections are lost
16
+ * Connects to the configured relays.
17
+ * Validates relay URLs and initializes the relay group.
18
18
  */
19
- private setupConnectionMonitoring;
20
19
  connect(): Promise<void>;
20
+ /**
21
+ * Publishes a Nostr event to the relay group.
22
+ * @param event - The Nostr event to publish.
23
+ */
21
24
  publish(event: NostrEvent): Promise<void>;
22
25
  /**
23
- * Creates a simplified subscription wrapper around the RelayPool's subscription method.
24
- * This provides a cleaner interface similar to other relay pool implementations.
26
+ * Creates a subscription wrapper around the RelayGroup's subscription method.
27
+ * @param filters - Array of filters to subscribe to.
28
+ * @param onEvent - Callback function for received events.
29
+ * @param onEose - Optional callback function for end-of-stream events.
30
+ * @returns Object with unsubscribe method.
25
31
  */
26
32
  private createSubscription;
27
33
  /**
28
- * Resubscribes to all active subscriptions after relay reconnection
34
+ * Subscribes to events from the relay group.
35
+ * @param filters - Array of filters to subscribe to.
36
+ * @param onEvent - Callback function for received events.
37
+ * @param onEose - Optional callback function for end-of-stream events.
29
38
  */
30
- private resubscribeAll;
31
39
  subscribe(filters: Filter[], onEvent: (event: NostrEvent) => void, onEose?: () => void): Promise<void>;
40
+ /**
41
+ * Disconnects from all relays and cleans up resources.
42
+ */
32
43
  disconnect(): Promise<void>;
44
+ /**
45
+ * Unsubscribes from all active subscriptions.
46
+ */
33
47
  unsubscribe(): void;
34
48
  }
35
49
  //# sourceMappingURL=applesauce-relay-pool.d.ts.map
@@ -1 +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,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;IAoBV,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC,WAAW,IAAI,IAAI;CAcpB"}
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,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,aAAa,CAA0B;IAE/C;;;OAGG;gBACS,SAAS,EAAE,MAAM,EAAE;IAM/B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B;;;OAGG;IACG,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB/C;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;;;;OAKG;IACG,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;IAiBhB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;OAEG;IACH,WAAW,IAAI,IAAI;CAYpB"}
@@ -1,4 +1,4 @@
1
- import { RelayPool } from 'applesauce-relay';
1
+ import { RelayGroup, RelayPool } from 'applesauce-relay';
2
2
  import { createLogger } from '../core/utils/logger.js';
3
3
  const logger = createLogger('applesauce-relay');
4
4
  /**
@@ -10,30 +10,17 @@ export class ApplesauceRelayPool {
10
10
  * @param relayUrls - An array of relay URLs to connect to.
11
11
  */
12
12
  constructor(relayUrls) {
13
- // Subscription management similar to other relay pools
14
13
  this.subscriptions = [];
15
14
  this.relayUrls = relayUrls;
16
- this.pool = new RelayPool();
17
- this.relayGroup = this.pool.group(relayUrls);
18
- this.setupConnectionMonitoring();
15
+ const relays = relayUrls.map((url) => new RelayPool().relay(url));
16
+ this.relayGroup = new RelayGroup(relays);
19
17
  }
20
18
  /**
21
- * Sets up monitoring of relay connections and triggers resubscription when connections are lost
19
+ * Connects to the configured relays.
20
+ * Validates relay URLs and initializes the relay group.
22
21
  */
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
22
  async connect() {
35
23
  logger.info('Connecting to relays', { relayUrls: this.relayUrls });
36
- // Validate URL format
37
24
  for (const url of this.relayUrls) {
38
25
  try {
39
26
  new URL(url);
@@ -43,50 +30,45 @@ export class ApplesauceRelayPool {
43
30
  throw new Error(`Invalid relay URL: ${url}`);
44
31
  }
45
32
  }
46
- // The RelayPool automatically connects to relays when needed
47
- logger.info('Relay pool initialized', { relayUrls: this.relayUrls });
33
+ logger.info('Relay group initialized', { relayUrls: this.relayUrls });
48
34
  }
35
+ /**
36
+ * Publishes a Nostr event to the relay group.
37
+ * @param event - The Nostr event to publish.
38
+ */
49
39
  async publish(event) {
50
40
  logger.debug('Publishing event', { eventId: event.id, kind: event.kind });
51
- // Use the publish method which handles retries automatically
52
- const publishObservable = this.relayGroup.publish(event);
53
- // Subscribe to the publish observable to handle responses
54
- return new Promise((resolve, reject) => {
55
- const subscription = publishObservable.subscribe({
56
- next: (response) => {
57
- if (!response.ok) {
58
- logger.warn('Failed to publish event to relay', {
59
- eventId: event.id,
60
- relay: response.from,
61
- message: response.message,
62
- });
63
- }
64
- },
65
- error: (error) => {
66
- logger.error('Failed to publish event', {
67
- eventId: event.id,
68
- error,
69
- });
70
- reject(error);
71
- },
72
- complete: () => {
73
- logger.debug('Event publishing completed', { eventId: event.id });
74
- subscription.unsubscribe();
75
- resolve();
76
- },
77
- });
78
- });
41
+ try {
42
+ const responses = await this.relayGroup.publish(event);
43
+ const failedResponses = responses.filter((response) => !response.ok);
44
+ if (failedResponses.length > 0) {
45
+ logger.warn('Failed to publish event to some relays', {
46
+ eventId: event.id,
47
+ failedCount: failedResponses.length,
48
+ responses: failedResponses.map((r) => ({
49
+ ok: r.ok,
50
+ message: r.message || 'No message',
51
+ })),
52
+ });
53
+ }
54
+ logger.debug('Event publishing completed', { eventId: event.id });
55
+ }
56
+ catch (error) {
57
+ logger.error('Failed to publish event', { eventId: event.id, error });
58
+ throw error;
59
+ }
79
60
  }
80
61
  /**
81
- * Creates a simplified subscription wrapper around the RelayPool's subscription method.
82
- * This provides a cleaner interface similar to other relay pool implementations.
62
+ * Creates a subscription wrapper around the RelayGroup's subscription method.
63
+ * @param filters - Array of filters to subscribe to.
64
+ * @param onEvent - Callback function for received events.
65
+ * @param onEose - Optional callback function for end-of-stream events.
66
+ * @returns Object with unsubscribe method.
83
67
  */
84
68
  createSubscription(filters, onEvent, onEose) {
85
- // Create a persistent subscription with automatic reconnection
86
69
  const subscription = this.relayGroup.subscription(filters, {
87
- retries: 3,
70
+ reconnect: { count: undefined, delay: 1000, resetOnSuccess: true },
88
71
  });
89
- // Subscribe to the stream of events
90
72
  const sub = subscription.subscribe({
91
73
  next: (response) => {
92
74
  if (response === 'EOSE') {
@@ -96,44 +78,27 @@ export class ApplesauceRelayPool {
96
78
  onEvent(response);
97
79
  }
98
80
  },
81
+ complete: () => {
82
+ logger.debug('Subscription complete');
83
+ },
99
84
  error: (error) => {
100
85
  logger.error('Subscription error', { error });
101
- // Remove the subscription from the array if it fails
102
- const index = this.subscriptions.findIndex((sub) => sub.onEvent === onEvent && sub.filters === filters);
103
- if (index !== -1) {
104
- this.subscriptions.splice(index, 1);
105
- }
106
- sub.unsubscribe();
107
86
  },
108
87
  });
109
88
  return {
110
- unsubscribe: () => {
111
- sub.unsubscribe();
112
- },
89
+ unsubscribe: () => sub.unsubscribe(),
113
90
  };
114
91
  }
115
92
  /**
116
- * Resubscribes to all active subscriptions after relay reconnection
93
+ * Subscribes to events from the relay group.
94
+ * @param filters - Array of filters to subscribe to.
95
+ * @param onEvent - Callback function for received events.
96
+ * @param onEose - Optional callback function for end-of-stream events.
117
97
  */
118
- resubscribeAll() {
119
- logger.debug('Resubscribing to all subscriptions after relay reconnection');
120
- try {
121
- this.subscriptions.forEach((sub) => {
122
- if (sub.closer)
123
- sub.closer.unsubscribe();
124
- sub.closer = this.createSubscription(sub.filters, sub.onEvent, sub.onEose);
125
- });
126
- }
127
- catch (error) {
128
- logger.error('Failed to resubscribe to subscriptions', { error });
129
- }
130
- }
131
98
  async subscribe(filters, onEvent, onEose) {
132
99
  logger.debug('Creating subscription', { filters });
133
100
  try {
134
- // Create a subscription using our simplified wrapper
135
101
  const closer = this.createSubscription(filters, onEvent, onEose);
136
- // Store the subscription for cleanup
137
102
  this.subscriptions.push({
138
103
  filters,
139
104
  onEvent,
@@ -146,19 +111,20 @@ export class ApplesauceRelayPool {
146
111
  throw error;
147
112
  }
148
113
  }
114
+ /**
115
+ * Disconnects from all relays and cleans up resources.
116
+ */
149
117
  async disconnect() {
150
118
  logger.info('Disconnecting from relays');
151
- // Close all active subscriptions
152
119
  this.unsubscribe();
153
- // Close the relay pool
154
- // Note: RelayPool doesn't have a close method, connections are managed automatically
155
- // We just need to clear our subscriptions
156
120
  logger.info('Disconnected from all relays');
157
121
  }
122
+ /**
123
+ * Unsubscribes from all active subscriptions.
124
+ */
158
125
  unsubscribe() {
159
126
  logger.debug('Unsubscribing from all subscriptions');
160
127
  try {
161
- // Close all active subscriptions
162
128
  for (const subscription of this.subscriptions) {
163
129
  subscription.closer.unsubscribe();
164
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"applesauce-relay-pool.js","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applesauce-relay-pool.js","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.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.24",
3
+ "version": "0.1.25",
4
4
  "description": "CtxVM SDK for JavaScript/TypeScript",
5
5
  "license": "LGPL-3.0-1",
6
6
  "author": "ContextVM",
@@ -46,20 +46,20 @@
46
46
  "release": "bun run build && bun changeset publish"
47
47
  },
48
48
  "devDependencies": {
49
- "@changesets/cli": "^2.29.5",
50
- "@eslint/js": "^9.33.0",
51
- "@types/bun": "latest",
52
- "eslint": "^9.33.0",
49
+ "@changesets/cli": "^2.29.6",
50
+ "@eslint/js": "^9.34.0",
51
+ "@types/bun": "^1.2.21",
52
+ "eslint": "^9.34.0",
53
53
  "eslint-config-prettier": "^10.1.8",
54
54
  "prettier": "^3.6.2",
55
- "typescript-eslint": "^8.39.0"
55
+ "typescript-eslint": "^8.42.0"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "typescript": "^5.9.2"
59
59
  },
60
60
  "dependencies": {
61
- "@modelcontextprotocol/sdk": "^1.17.2",
62
- "applesauce-relay": "^2.3.0",
61
+ "@modelcontextprotocol/sdk": "^1.17.5",
62
+ "applesauce-relay": "^3.1.0",
63
63
  "nostr-tools": "^2.16.2"
64
64
  }
65
65
  }