nostr-websocket-utils 0.3.16 → 0.3.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.
Files changed (71) hide show
  1. package/README.md +2 -2
  2. package/dist/browser/nostr-websocket-utils.min.js +2 -2
  3. package/dist/browser/nostr-websocket-utils.min.js.map +7 -1
  4. package/dist/browser/report.html +2 -2
  5. package/dist/cjs/core/client.d.ts.map +1 -1
  6. package/dist/cjs/core/client.js +10 -3
  7. package/dist/cjs/core/client.js.map +1 -1
  8. package/dist/cjs/core/nostr-server.d.ts.map +1 -1
  9. package/dist/cjs/core/nostr-server.js +2 -1
  10. package/dist/cjs/core/nostr-server.js.map +1 -1
  11. package/dist/cjs/core/queue.js +6 -6
  12. package/dist/cjs/core/queue.js.map +1 -1
  13. package/dist/cjs/core/server.d.ts.map +1 -1
  14. package/dist/cjs/core/server.js +2 -1
  15. package/dist/cjs/core/server.js.map +1 -1
  16. package/dist/cjs/nips/index.d.ts +2 -0
  17. package/dist/cjs/nips/index.d.ts.map +1 -1
  18. package/dist/cjs/nips/index.js +5 -1
  19. package/dist/cjs/nips/index.js.map +1 -1
  20. package/dist/cjs/nips/nip-26.d.ts.map +1 -1
  21. package/dist/cjs/nips/nip-26.js +3 -7
  22. package/dist/cjs/nips/nip-26.js.map +1 -1
  23. package/dist/cjs/nips/nip-44.d.ts +69 -0
  24. package/dist/cjs/nips/nip-44.d.ts.map +1 -0
  25. package/dist/cjs/nips/nip-44.js +143 -0
  26. package/dist/cjs/nips/nip-44.js.map +1 -0
  27. package/dist/cjs/nips/nip-46.d.ts +112 -0
  28. package/dist/cjs/nips/nip-46.d.ts.map +1 -0
  29. package/dist/cjs/nips/nip-46.js +123 -0
  30. package/dist/cjs/nips/nip-46.js.map +1 -0
  31. package/dist/cjs/transport/websocket.d.ts.map +1 -1
  32. package/dist/cjs/transport/websocket.js +3 -0
  33. package/dist/cjs/transport/websocket.js.map +1 -1
  34. package/dist/cjs/utils/rate-limiter.d.ts +5 -0
  35. package/dist/cjs/utils/rate-limiter.d.ts.map +1 -1
  36. package/dist/cjs/utils/rate-limiter.js +28 -0
  37. package/dist/cjs/utils/rate-limiter.js.map +1 -1
  38. package/dist/core/client.d.ts.map +1 -1
  39. package/dist/core/client.js +10 -3
  40. package/dist/core/client.js.map +1 -1
  41. package/dist/core/nostr-server.d.ts.map +1 -1
  42. package/dist/core/nostr-server.js +2 -1
  43. package/dist/core/nostr-server.js.map +1 -1
  44. package/dist/core/queue.js +6 -6
  45. package/dist/core/queue.js.map +1 -1
  46. package/dist/core/server.d.ts.map +1 -1
  47. package/dist/core/server.js +2 -1
  48. package/dist/core/server.js.map +1 -1
  49. package/dist/nips/index.d.ts +2 -0
  50. package/dist/nips/index.d.ts.map +1 -1
  51. package/dist/nips/index.js +5 -1
  52. package/dist/nips/index.js.map +1 -1
  53. package/dist/nips/nip-26.d.ts.map +1 -1
  54. package/dist/nips/nip-26.js +4 -8
  55. package/dist/nips/nip-26.js.map +1 -1
  56. package/dist/nips/nip-44.d.ts +69 -0
  57. package/dist/nips/nip-44.d.ts.map +1 -0
  58. package/dist/nips/nip-44.js +134 -0
  59. package/dist/nips/nip-44.js.map +1 -0
  60. package/dist/nips/nip-46.d.ts +112 -0
  61. package/dist/nips/nip-46.d.ts.map +1 -0
  62. package/dist/nips/nip-46.js +119 -0
  63. package/dist/nips/nip-46.js.map +1 -0
  64. package/dist/transport/websocket.d.ts.map +1 -1
  65. package/dist/transport/websocket.js +3 -0
  66. package/dist/transport/websocket.js.map +1 -1
  67. package/dist/utils/rate-limiter.d.ts +5 -0
  68. package/dist/utils/rate-limiter.d.ts.map +1 -1
  69. package/dist/utils/rate-limiter.js +28 -0
  70. package/dist/utils/rate-limiter.js.map +1 -1
  71. package/package.json +5 -9
@@ -125,6 +125,7 @@ function createConnectionRateLimiter(config, logger) {
125
125
  class RateLimiterImpl {
126
126
  constructor(config) {
127
127
  this.clients = new Map();
128
+ this.checkCount = 0;
128
129
  this.config = {
129
130
  windowMs: config.windowMs || 60000,
130
131
  maxRequests: config.maxRequests || 100,
@@ -140,6 +141,11 @@ class RateLimiterImpl {
140
141
  return state;
141
142
  }
142
143
  async shouldLimit(clientId, message) {
144
+ // Periodically clean up stale client entries to prevent memory leaks
145
+ this.checkCount++;
146
+ if (this.checkCount % 100 === 0) {
147
+ this.cleanup();
148
+ }
143
149
  const now = Date.now();
144
150
  const state = this.getClientState(clientId);
145
151
  // Check if client is blocked
@@ -178,6 +184,28 @@ class RateLimiterImpl {
178
184
  const state = this.getClientState(clientId);
179
185
  return !!state.blockedUntil && state.blockedUntil > Date.now();
180
186
  }
187
+ /**
188
+ * Remove stale client entries to prevent memory leaks
189
+ */
190
+ cleanup() {
191
+ const now = Date.now();
192
+ for (const [key, state] of this.clients) {
193
+ // Remove if blocked period has expired and no recent requests
194
+ const cutoff = now - this.config.windowMs - this.config.blockDurationMs;
195
+ // Check if all request arrays are empty or stale
196
+ let hasRecentActivity = false;
197
+ for (const [, timestamps] of state.requests) {
198
+ if (timestamps.length > 0 && timestamps[timestamps.length - 1] > cutoff) {
199
+ hasRecentActivity = true;
200
+ break;
201
+ }
202
+ }
203
+ // Also keep if still actively blocked
204
+ if (!hasRecentActivity && (!state.blockedUntil || state.blockedUntil < now)) {
205
+ this.clients.delete(key);
206
+ }
207
+ }
208
+ }
181
209
  }
182
210
  exports.RateLimiterImpl = RateLimiterImpl;
183
211
  //# sourceMappingURL=rate-limiter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../src/utils/rate-limiter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../src/utils/rate-limiter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAK7D;;GAEG;AACH,qBAAa,aAAa;IAStB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,eAAe,CAAiD;IACxE,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,gBAAgB,CAA+B;gBAGpC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,GAAE,oBAAyB;IAwBrD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsD9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBjC;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,kBAAkB,IAAI,eAAe;CAGtC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAK7D;;GAEG;AACH,qBAAa,aAAa;IAStB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,eAAe,CAAiD;IACxE,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,gBAAgB,CAA+B;gBAGpC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,GAAE,oBAAyB;IAwBrD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA2D9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBjC;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,gBAAgB;IAiCxB;;OAEG;IACH,kBAAkB,IAAI,eAAe;CAGtC"}
@@ -47,6 +47,9 @@ export class NostrWSClient {
47
47
  this.connectionState = ConnectionState.CONNECTING;
48
48
  try {
49
49
  const url = this.relayUrls[0]; // For now just use first relay
50
+ if (url.startsWith('ws://') && !url.includes('localhost') && !url.includes('127.0.0.1')) {
51
+ console.warn('[nostr-websocket] WARNING: Connecting over plaintext ws:// — messages are not encrypted');
52
+ }
50
53
  this.ws = new WebSocket(url);
51
54
  await new Promise((resolve, reject) => {
52
55
  const timeout = setTimeout(() => {
@@ -131,13 +134,17 @@ export class NostrWSClient {
131
134
  this.reconnectAttempts < this.options.retryAttempts) {
132
135
  this.connectionState = ConnectionState.RECONNECTING;
133
136
  this.reconnectAttempts++;
134
- const delay = this.options.retryDelay || 1000;
135
- this.logger.info({ attempt: this.reconnectAttempts, maxAttempts: this.options.retryAttempts }, `Reconnecting in ${delay}ms`);
137
+ const baseDelay = this.options.retryDelay || 1000;
138
+ const maxDelay = 30000; // 30 second cap
139
+ const delay = Math.min(baseDelay * Math.pow(2, this.reconnectAttempts), maxDelay);
140
+ const jitter = delay * 0.1 * Math.random(); // 10% jitter
141
+ const totalDelay = delay + jitter;
142
+ this.logger.info({ attempt: this.reconnectAttempts, maxAttempts: this.options.retryAttempts, delay: Math.round(totalDelay) }, `Reconnecting in ${Math.round(totalDelay)}ms`);
136
143
  this.reconnectTimeout = setTimeout(() => {
137
144
  this.connect().catch(error => {
138
145
  this.logger.error({ error }, 'Reconnection failed');
139
146
  });
140
- }, delay);
147
+ }, totalDelay);
141
148
  }
142
149
  else {
143
150
  this.logger.warn('Max reconnection attempts reached');
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nostr-server.d.ts","sourceRoot":"","sources":["../../src/core/nostr-server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,oBAAoB,EAAwB,MAAM,uBAAuB,CAAC;AAIxG;;GAEG;AACH,qBAAa,aAAa;IACxB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAkB;IAEhC;;;;OAIG;gBACS,OAAO,EAAE,oBAAoB;IAwEzC;;OAEG;IACI,IAAI,IAAI,IAAI;CAGpB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAE3E"}
1
+ {"version":3,"file":"nostr-server.d.ts","sourceRoot":"","sources":["../../src/core/nostr-server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,oBAAoB,EAAwB,MAAM,uBAAuB,CAAC;AAIxG;;GAEG;AACH,qBAAa,aAAa;IACxB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAkB;IAEhC;;;;OAIG;gBACS,OAAO,EAAE,oBAAoB;IAyEzC;;OAEG;IACI,IAAI,IAAI,IAAI;CAGpB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAE3E"}
@@ -14,7 +14,8 @@ export class NostrWSServer {
14
14
  constructor(options) {
15
15
  this.server = new WebSocketServer({
16
16
  port: options.port,
17
- host: options.host
17
+ host: options.host,
18
+ maxPayload: options.maxPayload || 65536, // 64KB default
18
19
  });
19
20
  /**
20
21
  * Handles incoming WebSocket connections
@@ -1 +1 @@
1
- {"version":3,"file":"nostr-server.js","sourceRoot":"","sources":["../../src/core/nostr-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAa,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;AAE1C;;GAEG;AACH,MAAM,OAAO,aAAa;IAMxB;;;;OAIG;IACH,YAAY,OAA6B;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;QAEH;;;;WAIG;QACH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAa,EAAE,EAAE;YACnD,MAAM,MAAM,GAAG,EAAyB,CAAC;YACzC,MAAM,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YAEtB,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpD;;eAEG;YACH,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;YAErC;;;;eAIG;YACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC1C,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAyB,CAAC;oBACpE,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;oBAC1C;;uBAEG;oBACH,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;oBACjD;;uBAEG;oBACH,OAAO,CAAC,OAAO,EAAE,CAAC,KAAc,EAAE,MAAM,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAC,CAAC;YAEH;;;;eAIG;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClC,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,QAAQ,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1D;;mBAEG;gBACH,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH;;eAEG;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvD;;mBAEG;gBACH,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,IAAI;QACT,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,OAA6B;IAC1D,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"nostr-server.js","sourceRoot":"","sources":["../../src/core/nostr-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAa,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;AAE1C;;GAEG;AACH,MAAM,OAAO,aAAa;IAMxB;;;;OAIG;IACH,YAAY,OAA6B;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK,EAAE,eAAe;SACzD,CAAC,CAAC;QAEH;;;;WAIG;QACH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAa,EAAE,EAAE;YACnD,MAAM,MAAM,GAAG,EAAyB,CAAC;YACzC,MAAM,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YAEtB,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpD;;eAEG;YACH,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;YAErC;;;;eAIG;YACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC1C,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAyB,CAAC;oBACpE,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;oBAC1C;;uBAEG;oBACH,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;oBACjD;;uBAEG;oBACH,OAAO,CAAC,OAAO,EAAE,CAAC,KAAc,EAAE,MAAM,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAC,CAAC;YAEH;;;;eAIG;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClC,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,QAAQ,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1D;;mBAEG;gBACH,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH;;eAEG;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvD;;mBAEG;gBACH,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,IAAI;QACT,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,OAA6B;IAC1D,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC"}
@@ -73,16 +73,16 @@ export class MessageQueue {
73
73
  finally {
74
74
  this.processing = false;
75
75
  }
76
- // Clean up stale messages
76
+ // Clean up stale messages (reverse iteration to avoid index mutation bug)
77
77
  if (this.options.staleTimeout) {
78
78
  const now = Date.now();
79
79
  const staleTimeout = this.options.staleTimeout;
80
- this.queue.forEach((message, index) => {
81
- if (now - message.queuedAt > staleTimeout) {
82
- this.logger.warn({ message }, 'Message is stale, removing from queue');
83
- this.queue.splice(index, 1);
80
+ for (let i = this.queue.length - 1; i >= 0; i--) {
81
+ if (now - this.queue[i].queuedAt > staleTimeout) {
82
+ this.logger.warn({ message: this.queue[i] }, 'Message is stale, removing from queue');
83
+ this.queue.splice(i, 1);
84
84
  }
85
- });
85
+ }
86
86
  }
87
87
  }
88
88
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/core/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/core/queue.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,oBAAoB,EAAuB,MAAM,uBAAuB,CAAC;AAOlF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,YAAY,CAAC,CAAiB;gBAE1B,OAAO,EAAE,oBAAoB;IAyBzC;;OAEG;IACH,OAAO,CAAC,WAAW;YA2CL,aAAa;IAuB3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACI,IAAI,IAAI,IAAI;CAYpB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,oBAAoB,EAAuB,MAAM,uBAAuB,CAAC;AAOlF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,YAAY,CAAC,CAAiB;gBAE1B,OAAO,EAAE,oBAAoB;IA0BzC;;OAEG;IACH,OAAO,CAAC,WAAW;YA2CL,aAAa;IAuB3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACI,IAAI,IAAI,IAAI;CAYpB"}
@@ -22,7 +22,8 @@ export class NostrWSServer {
22
22
  };
23
23
  this.wss = new WebSocketServer({
24
24
  port: this.options.port,
25
- host: this.options.host
25
+ host: this.options.host,
26
+ maxPayload: this.options.maxPayload || 65536, // 64KB default
26
27
  });
27
28
  this.setupServer();
28
29
  this.startPingInterval();
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAI7D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,aAAa;IAMxB,YAAY,OAA6B;QACvC,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,WAAW;YACjC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;YAC9C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;YAC3C,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;QAEF,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC;gBACnC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;aAC/B,EAAE,MAAM,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAa,EAAE,EAAE;YAChD,MAAM,MAAM,GAAG,EAAyB,CAAC;YACzC,MAAM,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YAEtB,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAe,EAAE,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,cAAc,WAAW,CAAC,CAAC;gBACxE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;YAED,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC1C,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC/C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;oBACjD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAc,EAAE,MAAM,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClC,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,QAAQ,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACrB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAA2B,EAAE,UAAkB;QACzE,IAAI,CAAC;YACH,8CAA8C;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAmB,CAAC;YAEzD,sBAAsB;YACtB,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBACrF,MAAM,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YAED,kBAAkB;YAClB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAc,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAc,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;gBACnC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAiB,EAAE,EAAE;oBAC7C,MAAM,WAAW,GAAG,MAA6B,CAAC;oBAClD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;wBACzB,WAAW,CAAC,SAAS,EAAE,CAAC;wBACxB,OAAO;oBACT,CAAC;oBACD,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC5B,WAAW,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,IAAI;QACT,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAiB,EAAE,EAAE;YAC7C,MAAM,WAAW,GAAG,MAA6B,CAAC;YAClD,IAAI,WAAW,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC9C,WAAW,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAI7D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,aAAa;IAMxB,YAAY,OAA6B;QACvC,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,WAAW;YACjC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;YAC9C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;YAC3C,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;QAEF,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK,EAAE,eAAe;SAC9D,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC;gBACnC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;aAC/B,EAAE,MAAM,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAa,EAAE,EAAE;YAChD,MAAM,MAAM,GAAG,EAAyB,CAAC;YACzC,MAAM,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YAEtB,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAe,EAAE,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,cAAc,WAAW,CAAC,CAAC;gBACxE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;YAED,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC1C,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC/C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;oBACjD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAc,EAAE,MAAM,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClC,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,QAAQ,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACrB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAA2B,EAAE,UAAkB;QACzE,IAAI,CAAC;YACH,8CAA8C;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAmB,CAAC;YAEzD,sBAAsB;YACtB,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBACrF,MAAM,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YAED,kBAAkB;YAClB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAc,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAc,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;gBACnC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAiB,EAAE,EAAE;oBAC7C,MAAM,WAAW,GAAG,MAA6B,CAAC;oBAClD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;wBACzB,WAAW,CAAC,SAAS,EAAE,CAAC;wBACxB,OAAO;oBACT,CAAC;oBACD,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC5B,WAAW,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,IAAI;QACT,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAiB,EAAE,EAAE;YAC7C,MAAM,WAAW,GAAG,MAA6B,CAAC;YAClD,IAAI,WAAW,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC9C,WAAW,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF"}
@@ -5,6 +5,7 @@
5
5
  export * from './nip-01.js';
6
6
  export * from './nip-02.js';
7
7
  export * from './nip-04.js';
8
+ export * from './nip-44.js';
8
9
  export * from './nip-05.js';
9
10
  export * from './nip-09.js';
10
11
  export * from './nip-19.js';
@@ -17,4 +18,5 @@ export * from './nip-15.js';
17
18
  export * from './nip-22.js';
18
19
  export * from './nip-28.js';
19
20
  export * from './nip-33.js';
21
+ export * from './nip-46.js';
20
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nips/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nips/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC"}
@@ -6,8 +6,10 @@
6
6
  export * from './nip-01.js';
7
7
  // Contact List and Petnames
8
8
  export * from './nip-02.js';
9
- // Encrypted Direct Messages
9
+ // Encrypted Direct Messages (NIP-04)
10
10
  export * from './nip-04.js';
11
+ // Versioned Encrypted Payloads (NIP-44)
12
+ export * from './nip-44.js';
11
13
  // DNS Identity Verification
12
14
  export * from './nip-05.js';
13
15
  // Event Deletion
@@ -32,4 +34,6 @@ export * from './nip-22.js';
32
34
  export * from './nip-28.js';
33
35
  // Parameterized Replaceable Events
34
36
  export * from './nip-33.js';
37
+ // Nostr Connect / Remote Signing Transport (NIP-46)
38
+ export * from './nip-46.js';
35
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nips/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sBAAsB;AACtB,cAAc,aAAa,CAAC;AAE5B,4BAA4B;AAC5B,cAAc,aAAa,CAAC;AAE5B,4BAA4B;AAC5B,cAAc,aAAa,CAAC;AAE5B,4BAA4B;AAC5B,cAAc,aAAa,CAAC;AAE5B,iBAAiB;AACjB,cAAc,aAAa,CAAC;AAE5B,0BAA0B;AAC1B,cAAc,aAAa,CAAC;AAE5B,0BAA0B;AAC1B,cAAc,aAAa,CAAC;AAE5B,6BAA6B;AAC7B,cAAc,aAAa,CAAC;AAE5B,kBAAkB;AAClB,cAAc,aAAa,CAAC;AAE5B,gBAAgB;AAChB,cAAc,aAAa,CAAC;AAE5B,kBAAkB;AAClB,cAAc,aAAa,CAAC;AAE5B,8BAA8B;AAC9B,cAAc,aAAa,CAAC;AAE5B,0BAA0B;AAC1B,cAAc,aAAa,CAAC;AAE5B,cAAc;AACd,cAAc,aAAa,CAAC;AAE5B,mCAAmC;AACnC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nips/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sBAAsB;AACtB,cAAc,aAAa,CAAC;AAE5B,4BAA4B;AAC5B,cAAc,aAAa,CAAC;AAE5B,qCAAqC;AACrC,cAAc,aAAa,CAAC;AAE5B,wCAAwC;AACxC,cAAc,aAAa,CAAC;AAE5B,4BAA4B;AAC5B,cAAc,aAAa,CAAC;AAE5B,iBAAiB;AACjB,cAAc,aAAa,CAAC;AAE5B,0BAA0B;AAC1B,cAAc,aAAa,CAAC;AAE5B,0BAA0B;AAC1B,cAAc,aAAa,CAAC;AAE5B,6BAA6B;AAC7B,cAAc,aAAa,CAAC;AAE5B,kBAAkB;AAClB,cAAc,aAAa,CAAC;AAE5B,gBAAgB;AAChB,cAAc,aAAa,CAAC;AAE5B,kBAAkB;AAClB,cAAc,aAAa,CAAC;AAE5B,8BAA8B;AAC9B,cAAc,aAAa,CAAC;AAE5B,0BAA0B;AAC1B,cAAc,aAAa,CAAC;AAE5B,cAAc;AACd,cAAc,aAAa,CAAC;AAE5B,mCAAmC;AACnC,cAAc,aAAa,CAAC;AAE5B,oDAAoD;AACpD,cAAc,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"nip-26.d.ts","sourceRoot":"","sources":["../../src/nips/nip-26.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD;;;;;;;GAOG;AACH,UAAU,oBAAoB;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,oBAAoB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU,CAYtF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAyBtE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAuChF"}
1
+ {"version":3,"file":"nip-26.d.ts","sourceRoot":"","sources":["../../src/nips/nip-26.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD;;;;;;;GAOG;AACH,UAAU,oBAAoB;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,oBAAoB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU,CAYtF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAyBtE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAuChF"}
@@ -3,7 +3,7 @@
3
3
  * @module nips/nip-26
4
4
  */
5
5
  import { getLogger } from '../utils/logger.js';
6
- import { signEvent, verifySignature } from 'nostr-crypto-utils';
6
+ import { finalizeEvent, verifySignature } from 'nostr-crypto-utils';
7
7
  const logger = getLogger('NIP-26');
8
8
  /**
9
9
  * Create a delegation token
@@ -15,17 +15,13 @@ export async function createDelegation(delegatorPrivkey, delegateePubkey, condit
15
15
  .sort()
16
16
  .join('&');
17
17
  const message = `nostr:delegation:${delegateePubkey}:${conditionsString}`;
18
- // Create a NostrEvent object for signing
19
- const event = {
20
- id: '', // This will be set by signEvent
18
+ // Use finalizeEvent for one-step create+sign
19
+ const signedEvent = await finalizeEvent({
21
20
  pubkey: delegateePubkey,
22
- created_at: Math.floor(Date.now() / 1000),
23
21
  kind: 0, // Using kind 0 for delegation events
24
22
  tags: [],
25
23
  content: message,
26
- sig: '' // This will be set by signEvent
27
- };
28
- const signedEvent = await signEvent(event, delegatorPrivkey);
24
+ }, delegatorPrivkey);
29
25
  return signedEvent.sig;
30
26
  }
31
27
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"nip-26.js","sourceRoot":"","sources":["../../src/nips/nip-26.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nip-26.js","sourceRoot":"","sources":["../../src/nips/nip-26.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @file NIP-44: Versioned Encrypted Payloads
3
+ * @module nips/nip-44
4
+ * @see https://github.com/nostr-protocol/nips/blob/master/44.md
5
+ *
6
+ * NIP-44 replaces NIP-04 with a modern encryption scheme using
7
+ * ChaCha20 + HMAC-SHA256. This module provides DM-level helpers
8
+ * that parallel the NIP-04 module (nip-04.ts).
9
+ */
10
+ import type { NostrWSMessage } from '../types/messages.js';
11
+ import type { Logger } from '../types/logger.js';
12
+ /**
13
+ * Kind value for NIP-44 encrypted direct messages (gift-wrapped DMs use kind 14,
14
+ * but for parity with NIP-04 kind 4 usage, callers may choose their own kind).
15
+ * NIP-44 itself is a payload format, not a kind — the kind depends on the use case.
16
+ * We default to kind 44 as a convenience constant; callers should override as needed.
17
+ */
18
+ export declare const ENCRYPTED_DM_KIND_44 = 44;
19
+ /**
20
+ * Creates a NIP-44 conversation key from a sender's private key and recipient's public key.
21
+ * This key is symmetric and reusable for all messages in the conversation.
22
+ * @param senderPrivkeyHex - Sender's private key in hex
23
+ * @param recipientPubkeyHex - Recipient's public key in hex
24
+ * @returns Conversation key as Uint8Array
25
+ */
26
+ export declare function getConversationKey(senderPrivkeyHex: string, recipientPubkeyHex: string): Uint8Array;
27
+ /**
28
+ * Encrypts a message using NIP-44
29
+ * @param plaintext - Message content to encrypt
30
+ * @param senderPrivkeyHex - Sender's private key in hex
31
+ * @param recipientPubkeyHex - Recipient's public key in hex
32
+ * @returns Encrypted payload string (base64)
33
+ */
34
+ export declare function encryptNip44(plaintext: string, senderPrivkeyHex: string, recipientPubkeyHex: string): string;
35
+ /**
36
+ * Decrypts a NIP-44 encrypted payload
37
+ * @param payload - Encrypted payload string (base64)
38
+ * @param recipientPrivkeyHex - Recipient's private key in hex
39
+ * @param senderPubkeyHex - Sender's public key in hex
40
+ * @returns Decrypted plaintext
41
+ */
42
+ export declare function decryptNip44(payload: string, recipientPrivkeyHex: string, senderPubkeyHex: string): string;
43
+ /**
44
+ * Creates an encrypted direct message event using NIP-44
45
+ * @param content - Message content to encrypt
46
+ * @param recipientPubkey - Recipient's public key (hex)
47
+ * @param senderPrivkey - Sender's private key (hex)
48
+ * @param tags - Additional tags for the event
49
+ * @param kind - Event kind (defaults to ENCRYPTED_DM_KIND_44)
50
+ * @returns Encrypted message event as NostrWSMessage
51
+ */
52
+ export declare function createEncryptedDM44(content: string, recipientPubkey: string, senderPrivkey: string, tags?: string[][], kind?: number): NostrWSMessage;
53
+ /**
54
+ * Decrypts a received direct message event encrypted with NIP-44
55
+ * @param message - Received message
56
+ * @param recipientPrivkey - Recipient's private key (hex)
57
+ * @param senderPubkey - Sender's public key (hex)
58
+ * @param logger - Logger instance
59
+ * @returns Decrypted message content
60
+ */
61
+ export declare function decryptDM44(message: NostrWSMessage, recipientPrivkey: string, senderPubkey: string, logger: Logger): string;
62
+ /**
63
+ * Validates a NIP-44 encrypted DM event format
64
+ * @param message - Message to validate
65
+ * @param logger - Logger instance
66
+ * @returns True if message follows NIP-44 encrypted DM format
67
+ */
68
+ export declare function validateEncryptedDM44(message: NostrWSMessage, logger: Logger): boolean;
69
+ //# sourceMappingURL=nip-44.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nip-44.d.ts","sourceRoot":"","sources":["../../src/nips/nip-44.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,GACzB,UAAU,CAGZ;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,GACzB,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,MAAM,EAC3B,eAAe,EAAE,MAAM,GACtB,MAAM,CAGR;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,IAAI,GAAE,MAAM,EAAE,EAAO,EACrB,IAAI,GAAE,MAA6B,GAClC,cAAc,CAiBhB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,cAAc,EACvB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GACb,MAAM,CAaR;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAiCT"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * @file NIP-44: Versioned Encrypted Payloads
3
+ * @module nips/nip-44
4
+ * @see https://github.com/nostr-protocol/nips/blob/master/44.md
5
+ *
6
+ * NIP-44 replaces NIP-04 with a modern encryption scheme using
7
+ * ChaCha20 + HMAC-SHA256. This module provides DM-level helpers
8
+ * that parallel the NIP-04 module (nip-04.ts).
9
+ */
10
+ import { nip44, hexToBytes, getPublicKeySync } from 'nostr-crypto-utils';
11
+ /**
12
+ * Kind value for NIP-44 encrypted direct messages (gift-wrapped DMs use kind 14,
13
+ * but for parity with NIP-04 kind 4 usage, callers may choose their own kind).
14
+ * NIP-44 itself is a payload format, not a kind — the kind depends on the use case.
15
+ * We default to kind 44 as a convenience constant; callers should override as needed.
16
+ */
17
+ export const ENCRYPTED_DM_KIND_44 = 44;
18
+ /**
19
+ * Creates a NIP-44 conversation key from a sender's private key and recipient's public key.
20
+ * This key is symmetric and reusable for all messages in the conversation.
21
+ * @param senderPrivkeyHex - Sender's private key in hex
22
+ * @param recipientPubkeyHex - Recipient's public key in hex
23
+ * @returns Conversation key as Uint8Array
24
+ */
25
+ export function getConversationKey(senderPrivkeyHex, recipientPubkeyHex) {
26
+ const privkeyBytes = hexToBytes(senderPrivkeyHex);
27
+ return nip44.getConversationKey(privkeyBytes, recipientPubkeyHex);
28
+ }
29
+ /**
30
+ * Encrypts a message using NIP-44
31
+ * @param plaintext - Message content to encrypt
32
+ * @param senderPrivkeyHex - Sender's private key in hex
33
+ * @param recipientPubkeyHex - Recipient's public key in hex
34
+ * @returns Encrypted payload string (base64)
35
+ */
36
+ export function encryptNip44(plaintext, senderPrivkeyHex, recipientPubkeyHex) {
37
+ const conversationKey = getConversationKey(senderPrivkeyHex, recipientPubkeyHex);
38
+ return nip44.encrypt(plaintext, conversationKey);
39
+ }
40
+ /**
41
+ * Decrypts a NIP-44 encrypted payload
42
+ * @param payload - Encrypted payload string (base64)
43
+ * @param recipientPrivkeyHex - Recipient's private key in hex
44
+ * @param senderPubkeyHex - Sender's public key in hex
45
+ * @returns Decrypted plaintext
46
+ */
47
+ export function decryptNip44(payload, recipientPrivkeyHex, senderPubkeyHex) {
48
+ const conversationKey = getConversationKey(recipientPrivkeyHex, senderPubkeyHex);
49
+ return nip44.decrypt(payload, conversationKey);
50
+ }
51
+ /**
52
+ * Creates an encrypted direct message event using NIP-44
53
+ * @param content - Message content to encrypt
54
+ * @param recipientPubkey - Recipient's public key (hex)
55
+ * @param senderPrivkey - Sender's private key (hex)
56
+ * @param tags - Additional tags for the event
57
+ * @param kind - Event kind (defaults to ENCRYPTED_DM_KIND_44)
58
+ * @returns Encrypted message event as NostrWSMessage
59
+ */
60
+ export function createEncryptedDM44(content, recipientPubkey, senderPrivkey, tags = [], kind = ENCRYPTED_DM_KIND_44) {
61
+ try {
62
+ const encryptedContent = encryptNip44(content, senderPrivkey, recipientPubkey);
63
+ const senderPubkey = getPublicKeySync(senderPrivkey);
64
+ return ['EVENT', {
65
+ kind,
66
+ pubkey: senderPubkey,
67
+ content: encryptedContent,
68
+ tags: [
69
+ ['p', recipientPubkey],
70
+ ...tags
71
+ ]
72
+ }];
73
+ }
74
+ catch (error) {
75
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
76
+ throw new Error(`Failed to create NIP-44 encrypted DM: ${errorMessage}`);
77
+ }
78
+ }
79
+ /**
80
+ * Decrypts a received direct message event encrypted with NIP-44
81
+ * @param message - Received message
82
+ * @param recipientPrivkey - Recipient's private key (hex)
83
+ * @param senderPubkey - Sender's public key (hex)
84
+ * @param logger - Logger instance
85
+ * @returns Decrypted message content
86
+ */
87
+ export function decryptDM44(message, recipientPrivkey, senderPubkey, logger) {
88
+ try {
89
+ if (!Array.isArray(message) || message[0] !== 'EVENT') {
90
+ throw new Error('Invalid message format');
91
+ }
92
+ const event = message[1];
93
+ return decryptNip44(event.content, recipientPrivkey, senderPubkey);
94
+ }
95
+ catch (error) {
96
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
97
+ logger.error('Failed to decrypt NIP-44 DM:', errorMessage);
98
+ throw new Error(`Failed to decrypt NIP-44 DM: ${errorMessage}`);
99
+ }
100
+ }
101
+ /**
102
+ * Validates a NIP-44 encrypted DM event format
103
+ * @param message - Message to validate
104
+ * @param logger - Logger instance
105
+ * @returns True if message follows NIP-44 encrypted DM format
106
+ */
107
+ export function validateEncryptedDM44(message, logger) {
108
+ try {
109
+ if (!Array.isArray(message) || message[0] !== 'EVENT') {
110
+ logger.debug('Invalid message format');
111
+ return false;
112
+ }
113
+ const event = message[1];
114
+ if (!event.content || typeof event.content !== 'string') {
115
+ logger.debug('Missing or invalid content');
116
+ return false;
117
+ }
118
+ if (!Array.isArray(event.tags)) {
119
+ logger.debug('Missing tags array');
120
+ return false;
121
+ }
122
+ const recipientTag = event.tags.find((tag) => Array.isArray(tag) && tag[0] === 'p' && tag[1]);
123
+ if (!recipientTag) {
124
+ logger.debug('Missing recipient tag');
125
+ return false;
126
+ }
127
+ return true;
128
+ }
129
+ catch (error) {
130
+ logger.error('Error validating NIP-44 encrypted DM:', error);
131
+ return false;
132
+ }
133
+ }
134
+ //# sourceMappingURL=nip-44.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nip-44.js","sourceRoot":"","sources":["../../src/nips/nip-44.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIzE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,gBAAwB,EACxB,kBAA0B;IAE1B,MAAM,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAiB,EACjB,gBAAwB,EACxB,kBAA0B;IAE1B,MAAM,eAAe,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACjF,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAe,EACf,mBAA2B,EAC3B,eAAuB;IAEvB,MAAM,eAAe,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IACjF,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,eAAuB,EACvB,aAAqB,EACrB,OAAmB,EAAE,EACrB,OAAe,oBAAoB;IAEnC,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACrD,OAAO,CAAC,OAAO,EAAE;gBACf,IAAI;gBACJ,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,gBAAgB;gBACzB,IAAI,EAAE;oBACJ,CAAC,GAAG,EAAE,eAAe,CAAC;oBACtB,GAAG,IAAI;iBACR;aACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,yCAAyC,YAAY,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,OAAuB,EACvB,gBAAwB,EACxB,YAAoB,EACpB,MAAc;IAEd,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAe,CAAC;QACvC,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAuB,EACvB,MAAc;IAEd,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAe,CAAC;QAEvC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAa,EAAE,EAAE,CACrD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAC/C,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}