nostr-websocket-utils 0.3.13 → 0.3.15

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 (36) hide show
  1. package/README.md +11 -3
  2. package/dist/__mocks__/extendedWsMock.d.ts +5 -5
  3. package/dist/__mocks__/extendedWsMock.d.ts.map +1 -1
  4. package/dist/__mocks__/mockLogger.d.ts +7 -7
  5. package/dist/__mocks__/mockLogger.d.ts.map +1 -1
  6. package/dist/__mocks__/mockserver.d.ts +6 -6
  7. package/dist/__mocks__/mockserver.d.ts.map +1 -1
  8. package/dist/browser/nostr-websocket-utils.min.js +1 -1
  9. package/dist/browser/nostr-websocket-utils.min.js.map +1 -1
  10. package/dist/browser/report.html +2 -2
  11. package/dist/cjs/__mocks__/extendedWsMock.d.ts +5 -5
  12. package/dist/cjs/__mocks__/extendedWsMock.d.ts.map +1 -1
  13. package/dist/cjs/__mocks__/mockLogger.d.ts +7 -7
  14. package/dist/cjs/__mocks__/mockLogger.d.ts.map +1 -1
  15. package/dist/cjs/__mocks__/mockserver.d.ts +6 -6
  16. package/dist/cjs/__mocks__/mockserver.d.ts.map +1 -1
  17. package/dist/cjs/crypto/handlers.js +1 -1
  18. package/dist/cjs/crypto/handlers.js.map +1 -1
  19. package/dist/cjs/nips/nip-02.js +1 -1
  20. package/dist/cjs/nips/nip-02.js.map +1 -1
  21. package/dist/cjs/nips/nip-09.js +4 -4
  22. package/dist/cjs/nips/nip-09.js.map +1 -1
  23. package/dist/cjs/utils/metrics.js +6 -1
  24. package/dist/cjs/utils/metrics.js.map +1 -1
  25. package/dist/crypto/handlers.js +1 -1
  26. package/dist/crypto/handlers.js.map +1 -1
  27. package/dist/nips/nip-02.js +1 -1
  28. package/dist/nips/nip-02.js.map +1 -1
  29. package/dist/nips/nip-09.js +4 -4
  30. package/dist/nips/nip-09.js.map +1 -1
  31. package/dist/utils/metrics.js +6 -1
  32. package/dist/utils/metrics.js.map +1 -1
  33. package/examples/basic-client.ts +40 -0
  34. package/examples/browser.html +38 -0
  35. package/examples/server.ts +38 -0
  36. package/package.json +25 -21
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # nostr-websocket-utils
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/@humanjavaenterprises/nostr-websocket-utils.svg)](https://www.npmjs.com/package/@humanjavaenterprises/nostr-websocket-utils)
4
- [![License](https://img.shields.io/npm/l/@humanjavaenterprises/nostr-websocket-utils.svg)](https://github.com/HumanjavaEnterprises/nostr-websocket-utils/blob/main/LICENSE)
3
+ [![npm version](https://img.shields.io/npm/v/nostr-websocket-utils.svg)](https://www.npmjs.com/package/nostr-websocket-utils)
4
+ [![License](https://img.shields.io/npm/l/nostr-websocket-utils.svg)](https://github.com/HumanjavaEnterprises/nostr-websocket-utils/blob/main/LICENSE)
5
5
  [![Build Status](https://github.com/HumanjavaEnterprises/nostr-websocket-utils/workflows/CI/badge.svg)](https://github.com/HumanjavaEnterprises/nostr-websocket-utils/actions)
6
6
  [![Documentation](https://github.com/HumanjavaEnterprises/nostr-websocket-utils/workflows/Documentation/badge.svg)](https://humanjavaenterprises.github.io/nostr-websocket-utils/)
7
7
  [![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)](https://www.typescriptlang.org)
@@ -103,7 +103,7 @@ await client.connect();
103
103
  ### Creating a Nostr WebSocket Server
104
104
 
105
105
  ```typescript
106
- import { createNostrServer } from '@humanjavaenterprises/nostr-websocket-utils';
106
+ import { createNostrServer } from 'nostr-websocket-utils';
107
107
 
108
108
  const server = await createNostrServer(8080, {
109
109
  logger: console,
@@ -229,6 +229,14 @@ server.broadcast({
229
229
  });
230
230
  ```
231
231
 
232
+ ## Security
233
+
234
+ ### Dependency Vulnerability Status
235
+
236
+ We actively monitor and address security vulnerabilities in this codebase. **`npm audit --omit=dev` reports zero vulnerabilities** for this package — there are no known security issues in production dependencies.
237
+
238
+ Any remaining `npm audit` findings are in development-only tooling (eslint, typescript-eslint, vitest, typedoc, etc.) and stem from transitive dependencies with no upstream fix available. These are devDependencies that are never included in the published package and pose no risk to consumers of this library. We monitor upstream fixes and update promptly when they become available.
239
+
232
240
  ## Contributing
233
241
 
234
242
  Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
@@ -38,11 +38,11 @@ export declare class ExtendedWsMock extends EventEmitter {
38
38
  private createWsEvent;
39
39
  addEventListener(type: string, listener: (event: WebSocketEventBase) => void): void;
40
40
  removeEventListener(type: string, listener: (event: WebSocketEventBase) => void): void;
41
- send: import("vitest").Mock<[data: string | Buffer<ArrayBufferLike>], this>;
42
- ping: import("vitest").Mock<[data?: Uint8Array<ArrayBufferLike> | Buffer<ArrayBufferLike> | undefined], this>;
43
- pong: import("vitest").Mock<[data?: Uint8Array<ArrayBufferLike> | Buffer<ArrayBufferLike> | undefined], this>;
44
- close: import("vitest").Mock<[code?: number | undefined, reason?: string | undefined], this>;
45
- terminate: import("vitest").Mock<[], this>;
41
+ send: import("vitest").Mock<(data: string | Buffer) => this>;
42
+ ping: import("vitest").Mock<(data?: Buffer | Uint8Array) => this>;
43
+ pong: import("vitest").Mock<(data?: Buffer | Uint8Array) => this>;
44
+ close: import("vitest").Mock<(code?: number, reason?: string) => this>;
45
+ terminate: import("vitest").Mock<() => this>;
46
46
  pause(): this;
47
47
  resume(): this;
48
48
  setMaxListeners(n: number): this;
@@ -1 +1 @@
1
- {"version":3,"file":"extendedWsMock.d.ts","sourceRoot":"","sources":["../../src/__mocks__/extendedWsMock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,aAAa,EAAE,SAAS,CAAC;CAC1B;AAED,UAAU,qBAAsB,SAAQ,kBAAkB;IACxD,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,cAAe,SAAQ,YAAY;IAE9C,SAAgB,UAAU,EAAG,CAAC,CAAU;IACxC,SAAgB,IAAI,EAAG,CAAC,CAAU;IAClC,SAAgB,OAAO,EAAG,CAAC,CAAU;IACrC,SAAgB,MAAM,EAAG,CAAC,CAAU;IAG7B,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAK;IAC9B,QAAQ,SAAM;IACd,GAAG,SAAmB;IACtB,cAAc,SAAK;IACnB,UAAU,SAAM;IAChB,UAAU,EAAE,YAAY,GAAG,aAAa,GAAG,WAAW,CAAgB;IACtE,QAAQ,UAAS;IAGxB,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC5D,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC9D,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC9D,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;;IAOlE,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,aAAa;IASrB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAOnF,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAI/E,IAAI,wEAaR;IAEI,IAAI,0GAKR;IAEI,IAAI,0GAKR;IAEI,KAAK,wFAYT;IAEI,SAAS,kCAYb;IAEI,KAAK,IAAI,IAAI;IAKb,MAAM,IAAI,IAAI;IAMrB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;CAIjC;AAgED,eAAO,MAAM,aAAa,gBAAuB,CAAC"}
1
+ {"version":3,"file":"extendedWsMock.d.ts","sourceRoot":"","sources":["../../src/__mocks__/extendedWsMock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,aAAa,EAAE,SAAS,CAAC;CAC1B;AAED,UAAU,qBAAsB,SAAQ,kBAAkB;IACxD,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,cAAe,SAAQ,YAAY;IAE9C,SAAgB,UAAU,EAAG,CAAC,CAAU;IACxC,SAAgB,IAAI,EAAG,CAAC,CAAU;IAClC,SAAgB,OAAO,EAAG,CAAC,CAAU;IACrC,SAAgB,MAAM,EAAG,CAAC,CAAU;IAG7B,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAK;IAC9B,QAAQ,SAAM;IACd,GAAG,SAAmB;IACtB,cAAc,SAAK;IACnB,UAAU,SAAM;IAChB,UAAU,EAAE,YAAY,GAAG,aAAa,GAAG,WAAW,CAAgB;IACtE,QAAQ,UAAS;IAGxB,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC5D,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC9D,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC9D,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;;IAOlE,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,aAAa;IASrB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAOnF,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAI/E,IAAI,+BAAgB,MAAM,GAAG,MAAM,KAAG,IAAI,EAa9C;IAEI,IAAI,gCAAiB,MAAM,GAAG,UAAU,KAAG,IAAI,EAKnD;IAEI,IAAI,gCAAiB,MAAM,GAAG,UAAU,KAAG,IAAI,EAKnD;IAEI,KAAK,gCAAiB,MAAM,WAAW,MAAM,KAAG,IAAI,EAYxD;IAEI,SAAS,8BAAa,IAAI,EAY9B;IAEI,KAAK,IAAI,IAAI;IAKb,MAAM,IAAI,IAAI;IAMrB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;CAIjC;AAgED,eAAO,MAAM,aAAa,gBAAuB,CAAC"}
@@ -7,13 +7,13 @@ export declare class MockPinoLogger implements Partial<Logger> {
7
7
  useLevelLabels: boolean;
8
8
  useOnlyCustomLevels: boolean;
9
9
  customLevels: {};
10
- debug: import("vitest").Mock<any, any>;
11
- info: import("vitest").Mock<any, any>;
12
- warn: import("vitest").Mock<any, any>;
13
- error: import("vitest").Mock<any, any>;
14
- fatal: import("vitest").Mock<any, any>;
15
- trace: import("vitest").Mock<any, any>;
16
- silent: import("vitest").Mock<any, any>;
10
+ debug: import("vitest").Mock<(...args: any[]) => any>;
11
+ info: import("vitest").Mock<(...args: any[]) => any>;
12
+ warn: import("vitest").Mock<(...args: any[]) => any>;
13
+ error: import("vitest").Mock<(...args: any[]) => any>;
14
+ fatal: import("vitest").Mock<(...args: any[]) => any>;
15
+ trace: import("vitest").Mock<(...args: any[]) => any>;
16
+ silent: import("vitest").Mock<(...args: any[]) => any>;
17
17
  levels: {
18
18
  values: {
19
19
  fatal: number;
@@ -1 +1 @@
1
- {"version":3,"file":"mockLogger.d.ts","sourceRoot":"","sources":["../../src/__mocks__/mockLogger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEjE,qBAAa,cAAe,YAAW,OAAO,CAAC,MAAM,CAAC;IACpD,KAAK,EAAE,MAAM,CAAW;IACxB,QAAQ,EAAE,MAAM,CAAM;IACtB,OAAO,EAAE,MAAM,CAAW;IAC1B,WAAW,EAAE,MAAM,CAAK;IACxB,cAAc,EAAE,OAAO,CAAQ;IAC/B,mBAAmB,EAAE,OAAO,CAAS;IACrC,YAAY,KAAM;IAElB,KAAK,kCAAW;IAChB,IAAI,kCAAW;IACf,IAAI,kCAAW;IACf,KAAK,kCAAW;IAChB,KAAK,kCAAW;IAChB,KAAK,kCAAW;IAChB,MAAM,kCAAW;IAEjB,MAAM;;;;;;;;;;;;;;;;;MAiBJ;IAEF,QAAQ,WAAc;IACtB,KAAK,sBAA2B;IAChC,cAAc,gBAAc;IAE5B,KAAK,CAAC,iBAAiB,SAAS,MAAM,GAAG,KAAK,EAC5C,SAAS,EAAE,QAAQ,EACnB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAC/C,MAAM,CAAC,iBAAiB,CAAC;IAI5B,MAAM,CAAC,MAAM,IAAI,MAAM;CAGxB;AAED,eAAO,MAAM,gBAAgB,QAAO,MAAiC,CAAC"}
1
+ {"version":3,"file":"mockLogger.d.ts","sourceRoot":"","sources":["../../src/__mocks__/mockLogger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEjE,qBAAa,cAAe,YAAW,OAAO,CAAC,MAAM,CAAC;IACpD,KAAK,EAAE,MAAM,CAAW;IACxB,QAAQ,EAAE,MAAM,CAAM;IACtB,OAAO,EAAE,MAAM,CAAW;IAC1B,WAAW,EAAE,MAAM,CAAK;IACxB,cAAc,EAAE,OAAO,CAAQ;IAC/B,mBAAmB,EAAE,OAAO,CAAS;IACrC,YAAY,KAAM;IAElB,KAAK,iDAAW;IAChB,IAAI,iDAAW;IACf,IAAI,iDAAW;IACf,KAAK,iDAAW;IAChB,KAAK,iDAAW;IAChB,KAAK,iDAAW;IAChB,MAAM,iDAAW;IAEjB,MAAM;;;;;;;;;;;;;;;;;MAiBJ;IAEF,QAAQ,WAAc;IACtB,KAAK,sBAA2B;IAChC,cAAc,gBAAc;IAE5B,KAAK,CAAC,iBAAiB,SAAS,MAAM,GAAG,KAAK,EAC5C,SAAS,EAAE,QAAQ,EACnB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAC/C,MAAM,CAAC,iBAAiB,CAAC;IAI5B,MAAM,CAAC,MAAM,IAAI,MAAM;CAGxB;AAED,eAAO,MAAM,gBAAgB,QAAO,MAAiC,CAAC"}
@@ -16,12 +16,12 @@ export declare class MockServer extends EventEmitter {
16
16
  address: string;
17
17
  constructor(options?: MockServerOptions);
18
18
  listen(port: number, cb?: () => void): void;
19
- handleConnection: import("vitest").Mock<[socket: NostrWSSocket], void>;
20
- handleMessage: import("vitest").Mock<[socket: NostrWSSocket, message: NostrWSMessage], void>;
21
- handleClose: import("vitest").Mock<[socket: NostrWSSocket], void>;
22
- broadcast: import("vitest").Mock<[message: NostrWSMessage], void>;
23
- handleUpgrade: import("vitest").Mock<[request: IncomingMessage, socket: Socket, head: Buffer<ArrayBufferLike>, callback: (ws: WebSocket) => void], void>;
24
- shouldHandle: import("vitest").Mock<[_request: IncomingMessage], boolean>;
19
+ handleConnection: import("vitest").Mock<(socket: NostrWSSocket) => void>;
20
+ handleMessage: import("vitest").Mock<(socket: NostrWSSocket, message: NostrWSMessage) => void>;
21
+ handleClose: import("vitest").Mock<(socket: NostrWSSocket) => void>;
22
+ broadcast: import("vitest").Mock<(message: NostrWSMessage) => void>;
23
+ handleUpgrade: import("vitest").Mock<(request: IncomingMessage, socket: Socket, head: Buffer, callback: (ws: WebSocket) => void) => void>;
24
+ shouldHandle: import("vitest").Mock<(_request: IncomingMessage) => boolean>;
25
25
  }
26
26
  export {};
27
27
  //# sourceMappingURL=mockserver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockserver.d.ts","sourceRoot":"","sources":["../../src/__mocks__/mockserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAGpC,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAa;IACxC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;gBAEJ,OAAO,CAAC,EAAE,iBAAiB;IAOvC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAI3C,gBAAgB,uDAGb;IAEH,aAAa,gFAEV;IAEH,WAAW,uDAGR;IAEH,SAAS,yDAIN;IAEH,aAAa,iHAAiF,SAAS,KAAK,IAAI,SAG7G;IAEH,YAAY,8DAET;CACJ"}
1
+ {"version":3,"file":"mockserver.d.ts","sourceRoot":"","sources":["../../src/__mocks__/mockserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAGpC,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAa;IACxC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;gBAEJ,OAAO,CAAC,EAAE,iBAAiB;IAOvC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAI3C,gBAAgB,iCAAkB,aAAa,WAG5C;IAEH,aAAa,iCAAkB,aAAa,WAAW,cAAc,WAElE;IAEH,WAAW,iCAAkB,aAAa,WAGvC;IAEH,SAAS,kCAAmB,cAAc,WAIvC;IAEH,aAAa,kCAAmB,eAAe,UAAU,MAAM,QAAQ,MAAM,YAAY,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,WAG7G;IAEH,YAAY,mCAAoB,eAAe,KAAG,OAAO,EAEtD;CACJ"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.NostrWebSocketUtils=t():e.NostrWebSocketUtils=t()}(this,(()=>(()=>{"use strict";var e={793:e=>{function t(e){try{return JSON.stringify(e)}catch(e){return'"[Circular]"'}}e.exports=function(e,r,n){var i=n&&n.stringify||t;if("object"==typeof e&&null!==e){var s=r.length+1;if(1===s)return e;var o=new Array(s);o[0]=i(e);for(var l=1;l<s;l++)o[l]=i(r[l]);return o.join(" ")}if("string"!=typeof e)return e;var a=r.length;if(0===a)return e;for(var c="",u=0,h=-1,f=e&&e.length||0,g=0;g<f;){if(37===e.charCodeAt(g)&&g+1<f){switch(h=h>-1?h:0,e.charCodeAt(g+1)){case 100:case 102:if(u>=a)break;if(null==r[u])break;h<g&&(c+=e.slice(h,g)),c+=Number(r[u]),h=g+2,g++;break;case 105:if(u>=a)break;if(null==r[u])break;h<g&&(c+=e.slice(h,g)),c+=Math.floor(Number(r[u])),h=g+2,g++;break;case 79:case 111:case 106:if(u>=a)break;if(void 0===r[u])break;h<g&&(c+=e.slice(h,g));var d=typeof r[u];if("string"===d){c+="'"+r[u]+"'",h=g+2,g++;break}if("function"===d){c+=r[u].name||"<anonymous>",h=g+2,g++;break}c+=i(r[u]),h=g+2,g++;break;case 115:if(u>=a)break;h<g&&(c+=e.slice(h,g)),c+=String(r[u]),h=g+2,g++;break;case 37:h<g&&(c+=e.slice(h,g)),c+="%",h=g+2,g++,u--}++u}++g}if(-1===h)return e;h<f&&(c+=e.slice(h));return c}},591:e=>{e.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}},874:(e,t,r)=>{const n=r(793);e.exports=h;const i=function(){function e(e){return void 0!==e&&e}try{return"undefined"!=typeof globalThis||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch(t){return e(self)||e(window)||e(this)||{}}}().console||{},s={mapHttpRequest:v,mapHttpResponse:v,wrapRequestSerializer:b,wrapResponseSerializer:b,wrapErrorSerializer:b,req:v,res:v,err:p,errWithCause:p};function o(e,t){return"silent"===e?1/0:t.levels.values[e]}const l=Symbol("pino.logFuncs"),a=Symbol("pino.hierarchy"),c={error:"log",fatal:"error",warn:"error",info:"log",debug:"log",trace:"log"};function u(e,t){const r={logger:t,parent:e[a]};t[a]=r}function h(e){(e=e||{}).browser=e.browser||{};const t=e.browser.transmit;if(t&&"function"!=typeof t.send)throw Error("pino: transmit option must have a send function");const r=e.browser.write||i;e.browser.write&&(e.browser.asObject=!0);const n=e.serializers||{},s=function(e,t){if(Array.isArray(e))return e.filter((function(e){return"!stdSerializers.err"!==e}));return!0===e&&Object.keys(t)}(e.browser.serialize,n);let a=e.browser.serialize;Array.isArray(e.browser.serialize)&&e.browser.serialize.indexOf("!stdSerializers.err")>-1&&(a=!1);const p=Object.keys(e.customLevels||{}),v=["error","fatal","warn","info","debug","trace"].concat(p);"function"==typeof r&&v.forEach((function(e){r[e]=r})),(!1===e.enabled||e.browser.disabled)&&(e.level="silent");const b=e.level||"info",w=Object.create(r);w.log||(w.log=y),function(e,t,r){const n={};t.forEach((e=>{n[e]=r[e]?r[e]:i[e]||i[c[e]||"log"]||y})),e[l]=n}(w,v,r),u({},w),Object.defineProperty(w,"levelVal",{get:function(){return o(this.level,this)}}),Object.defineProperty(w,"level",{get:function(){return this._level},set:function(e){if("silent"!==e&&!this.levels.values[e])throw Error("unknown level "+e);this._level=e,f(this,E,w,"error"),f(this,E,w,"fatal"),f(this,E,w,"warn"),f(this,E,w,"info"),f(this,E,w,"debug"),f(this,E,w,"trace"),p.forEach((e=>{f(this,E,w,e)}))}});const E={transmit:t,serialize:s,asObject:e.browser.asObject,formatters:e.browser.formatters,levels:v,timestamp:m(e)};return w.levels=function(e){const t=e.customLevels||{},r=Object.assign({},h.levels.values,t),n=Object.assign({},h.levels.labels,function(e){const t={};return Object.keys(e).forEach((function(r){t[e[r]]=r})),t}(t));return{values:r,labels:n}}(e),w.level=b,w.setMaxListeners=w.getMaxListeners=w.emit=w.addListener=w.on=w.prependListener=w.once=w.prependOnceListener=w.removeListener=w.removeAllListeners=w.listeners=w.listenerCount=w.eventNames=w.write=w.flush=y,w.serializers=n,w._serialize=s,w._stdErrSerialize=a,w.child=function(r,i){if(!r)throw new Error("missing bindings for child Pino");i=i||{},s&&r.serializers&&(i.serializers=r.serializers);const o=i.serializers;if(s&&o){var l=Object.assign({},n,o),a=!0===e.browser.serialize?Object.keys(l):s;delete r.serializers,g([r],a,l,this._stdErrSerialize)}function c(e){this._childLevel=1+(0|e._childLevel),this.bindings=r,l&&(this.serializers=l,this._serialize=a),t&&(this._logEvent=d([].concat(e._logEvent.bindings,r)))}c.prototype=this;const h=new c(this);return u(this,h),h.level=this.level,h},t&&(w._logEvent=d()),w}function f(e,t,r,s){if(Object.defineProperty(e,s,{value:o(e.level,r)>o(s,r)?y:r[l][s],writable:!0,enumerable:!0,configurable:!0}),!t.transmit&&e[s]===y)return;e[s]=function(e,t,r,s){return a=e[l][s],function(){const l=t.timestamp(),c=new Array(arguments.length),u=Object.getPrototypeOf&&Object.getPrototypeOf(this)===i?i:this;for(var h=0;h<c.length;h++)c[h]=arguments[h];if(t.serialize&&!t.asObject&&g(c,this._serialize,this.serializers,this._stdErrSerialize),t.asObject||t.formatters?a.call(u,function(e,t,r,i,s={}){const{level:o=()=>e.levels.values[t],log:l=e=>e}=s;e._serialize&&g(r,e._serialize,e.serializers,e._stdErrSerialize);const a=r.slice();let c=a[0];const u={};i&&(u.time=i),u.level=o(t,e.levels.values[t]);let h=1+(0|e._childLevel);if(h<1&&(h=1),null!==c&&"object"==typeof c){for(;h--&&"object"==typeof a[0];)Object.assign(u,a.shift());c=a.length?n(a.shift(),a):void 0}else"string"==typeof c&&(c=n(a.shift(),a));return void 0!==c&&(u.msg=c),l(u)}(this,s,c,l,t.formatters)):a.apply(u,c),t.transmit){const n=t.transmit.level||e._level,i=r.levels.values[n],a=r.levels.values[s];if(a<i)return;!function(e,t,r){const n=t.send,i=t.ts,s=t.methodLevel,o=t.methodValue,l=t.val,a=e._logEvent.bindings;g(r,e._serialize||Object.keys(e.serializers),e.serializers,void 0===e._stdErrSerialize||e._stdErrSerialize),e._logEvent.ts=i,e._logEvent.messages=r.filter((function(e){return-1===a.indexOf(e)})),e._logEvent.level.label=s,e._logEvent.level.value=o,n(s,e._logEvent,l),e._logEvent=d(a)}(this,{ts:l,methodLevel:s,methodValue:a,transmitLevel:n,transmitValue:r.levels.values[t.transmit.level||e._level],send:t.transmit.send,val:o(e._level,r)},c)}};var a}(e,t,r,s);const c=function(e){const t=[];e.bindings&&t.push(e.bindings);let r=e[a];for(;r.parent;)r=r.parent,r.logger.bindings&&t.push(r.logger.bindings);return t.reverse()}(e);0!==c.length&&(e[s]=function(e,t){return function(){return t.apply(this,[...e,...arguments])}}(c,e[s]))}function g(e,t,r,n){for(const i in e)if(n&&e[i]instanceof Error)e[i]=h.stdSerializers.err(e[i]);else if("object"==typeof e[i]&&!Array.isArray(e[i]))for(const n in e[i])t&&t.indexOf(n)>-1&&n in r&&(e[i][n]=r[n](e[i][n]))}function d(e){return{ts:0,messages:[],bindings:e||[],level:{label:"",value:0}}}function p(e){const t={type:e.constructor.name,msg:e.message,stack:e.stack};for(const r in e)void 0===t[r]&&(t[r]=e[r]);return t}function m(e){return"function"==typeof e.timestamp?e.timestamp:!1===e.timestamp?w:E}function v(){return{}}function b(e){return e}function y(){}function w(){return!1}function E(){return Date.now()}h.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},h.stdSerializers=s,h.stdTimeFunctions=Object.assign({},{nullTime:w,epochTime:E,unixTime:function(){return Math.round(Date.now()/1e3)},isoTime:function(){return new Date(Date.now()).toISOString()}}),e.exports.default=h,e.exports.pino=h}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var n={};r.d(n,{default:()=>d});var i,s,o=r(591),l=r.n(o);!function(e){e.HIGH="HIGH",e.NORMAL="NORMAL",e.LOW="LOW"}(i||(i={})),function(e){e.CONNECTING="CONNECTING",e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.RECONNECTING="RECONNECTING",e.FAILED="FAILED"}(s||(s={}));var a=r(874),c=r.n(a);function u(e){return c()({name:e,level:process.env.LOG_LEVEL||"info",timestamp:c().stdTimeFunctions.isoTime})}var h=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{a(n.next(e))}catch(e){s(e)}}function l(e){try{a(n.throw(e))}catch(e){s(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,l)}a((n=n.apply(e,t||[])).next())}))};class f{constructor(e,t={}){this.sender=e,this.options=t,this.queue=[],this.processing=!1,this.logger=u("MessageQueue")}enqueue(e){return h(this,void 0,void 0,(function*(){if(this.options.maxSize&&this.queue.length>=this.options.maxSize)throw new Error("Queue is full");const[t,...r]=e,n={type:t,data:1===r.length?r[0]:r,priority:i.NORMAL,queuedAt:Date.now(),retryCount:0};this.queue.push(n),this.queue.sort(((e,t)=>e.priority===t.priority?e.queuedAt-t.queuedAt:e.priority===i.HIGH?-1:1)),this.processing||this.processQueue().catch((e=>{this.logger.error({error:e},"Error processing queue")}))}))}processQueue(){return h(this,void 0,void 0,(function*(){if(!this.processing&&0!==this.queue.length){this.processing=!0;try{for(;this.queue.length>0;){const e=this.queue[0],t=[e.type,e.data];try{yield this.sender(t),this.queue.shift()}catch(r){if(this.logger.error({error:r,message:t},"Failed to send message"),this.options.maxRetries&&e.retryCount>=this.options.maxRetries){this.logger.warn({message:t},"Max retries reached, removing message from queue"),this.queue.shift();continue}e.retryCount++,yield new Promise((e=>setTimeout(e,this.options.retryDelay||1e3)))}}}finally{this.processing=!1}if(this.options.staleTimeout){const e=Date.now(),t=this.options.staleTimeout;this.queue.forEach(((r,n)=>{e-r.queuedAt>t&&(this.logger.warn({message:r},"Message is stale, removing from queue"),this.queue.splice(n,1))}))}}}))}getSize(){return this.queue.length}clear(){this.queue.length=0}}var g=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{a(n.next(e))}catch(e){s(e)}}function l(e){try{a(n.throw(e))}catch(e){s(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,l)}a((n=n.apply(e,t||[])).next())}))};const d={NostrWSClient:class{constructor(e,t={}){this.relayUrls=e,this.options=t,this.ws=null,this.connectionState=s.DISCONNECTED,this.reconnectAttempts=0,this.reconnectTimeout=null,this.logger=t.logger||u("NostrWSClient"),this.queue=new f((e=>g(this,void 0,void 0,(function*(){if(!this.ws||this.connectionState!==s.CONNECTED)throw new Error("Not connected to relay");try{this.ws.send(JSON.stringify(e)),this.logger.debug({message:e},"Message sent")}catch(t){throw this.logger.error({error:t,message:e},"Failed to send message"),t}}))),{maxSize:t.queueSize,maxRetries:t.maxRetries,retryDelay:t.retryDelay})}connect(){return g(this,void 0,void 0,(function*(){if(this.connectionState!==s.CONNECTED)if(this.connectionState!==s.CONNECTING){this.connectionState=s.CONNECTING;try{const e=this.relayUrls[0];this.ws=new(l())(e),yield new Promise(((e,t)=>{const r=setTimeout((()=>{t(new Error("Connection timeout"))}),this.options.connectionTimeout||5e3);this.ws.on("open",(()=>{clearTimeout(r),this.connectionState=s.CONNECTED,this.reconnectAttempts=0,this.logger.info("Connected to relay"),e()})),this.ws.on("error",(e=>{clearTimeout(r),this.logger.error({error:e},"WebSocket error"),this.options.onError&&this.options.onError(e),t(e)})),this.ws.on("close",(()=>{this.handleDisconnect()})),this.ws.on("message",(e=>{this.handleMessage(e)}))}))}catch(e){throw this.logger.error({error:e},"Failed to connect"),this.handleDisconnect(),e}}else this.logger.debug("Connection already in progress");else this.logger.debug("Already connected")}))}disconnect(){return g(this,void 0,void 0,(function*(){this.connectionState!==s.DISCONNECTED?(this.connectionState=s.DISCONNECTED,this.reconnectTimeout&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.ws&&(this.ws.close(),this.ws=null),this.logger.info("Disconnected from relay")):this.logger.debug("Already disconnected")}))}sendMessage(e){return g(this,void 0,void 0,(function*(){if(this.connectionState!==s.CONNECTED)throw new Error("Not connected to relay");yield this.queue.enqueue(e)}))}handleMessage(e){try{const t=JSON.parse(e.toString());this.logger.debug({message:t},"Received message"),this.options.onMessage&&this.options.onMessage(e.toString())}catch(t){this.logger.error({error:t,data:e},"Failed to parse message"),this.options.onError&&this.options.onError(t)}}handleDisconnect(){if(this.connectionState=s.DISCONNECTED,this.ws=null,this.options.retryAttempts&&this.reconnectAttempts<this.options.retryAttempts){this.connectionState=s.RECONNECTING,this.reconnectAttempts++;const e=this.options.retryDelay||1e3;this.logger.info({attempt:this.reconnectAttempts,maxAttempts:this.options.retryAttempts},`Reconnecting in ${e}ms`),this.reconnectTimeout=setTimeout((()=>{this.connect().catch((e=>{this.logger.error({error:e},"Reconnection failed")}))}),e)}else this.logger.warn("Max reconnection attempts reached"),this.connectionState=s.FAILED}getConnectionState(){return this.connectionState}}};return n=n.default})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.NostrWebSocketUtils=t():e.NostrWebSocketUtils=t()}(this,()=>(()=>{"use strict";var e={793(e){function t(e){try{return JSON.stringify(e)}catch(e){return'"[Circular]"'}}e.exports=function(e,r,n){var i=n&&n.stringify||t;if("object"==typeof e&&null!==e){var s=r.length+1;if(1===s)return e;var o=new Array(s);o[0]=i(e);for(var l=1;l<s;l++)o[l]=i(r[l]);return o.join(" ")}if("string"!=typeof e)return e;var a=r.length;if(0===a)return e;for(var c="",u=0,h=-1,f=e&&e.length||0,g=0;g<f;){if(37===e.charCodeAt(g)&&g+1<f){switch(h=h>-1?h:0,e.charCodeAt(g+1)){case 100:case 102:if(u>=a)break;if(null==r[u])break;h<g&&(c+=e.slice(h,g)),c+=Number(r[u]),h=g+2,g++;break;case 105:if(u>=a)break;if(null==r[u])break;h<g&&(c+=e.slice(h,g)),c+=Math.floor(Number(r[u])),h=g+2,g++;break;case 79:case 111:case 106:if(u>=a)break;if(void 0===r[u])break;h<g&&(c+=e.slice(h,g));var d=typeof r[u];if("string"===d){c+="'"+r[u]+"'",h=g+2,g++;break}if("function"===d){c+=r[u].name||"<anonymous>",h=g+2,g++;break}c+=i(r[u]),h=g+2,g++;break;case 115:if(u>=a)break;h<g&&(c+=e.slice(h,g)),c+=String(r[u]),h=g+2,g++;break;case 37:h<g&&(c+=e.slice(h,g)),c+="%",h=g+2,g++,u--}++u}++g}if(-1===h)return e;h<f&&(c+=e.slice(h));return c}},591(e){e.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}},874(e,t,r){const n=r(793);e.exports=h;const i=function(){function e(e){return void 0!==e&&e}try{return"undefined"!=typeof globalThis||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch(t){return e(self)||e(window)||e(this)||{}}}().console||{},s={mapHttpRequest:v,mapHttpResponse:v,wrapRequestSerializer:b,wrapResponseSerializer:b,wrapErrorSerializer:b,req:v,res:v,err:p,errWithCause:p};function o(e,t){return"silent"===e?1/0:t.levels.values[e]}const l=Symbol("pino.logFuncs"),a=Symbol("pino.hierarchy"),c={error:"log",fatal:"error",warn:"error",info:"log",debug:"log",trace:"log"};function u(e,t){const r={logger:t,parent:e[a]};t[a]=r}function h(e){(e=e||{}).browser=e.browser||{};const t=e.browser.transmit;if(t&&"function"!=typeof t.send)throw Error("pino: transmit option must have a send function");const r=e.browser.write||i;e.browser.write&&(e.browser.asObject=!0);const n=e.serializers||{},s=function(e,t){if(Array.isArray(e))return e.filter(function(e){return"!stdSerializers.err"!==e});return!0===e&&Object.keys(t)}(e.browser.serialize,n);let a=e.browser.serialize;Array.isArray(e.browser.serialize)&&e.browser.serialize.indexOf("!stdSerializers.err")>-1&&(a=!1);const p=Object.keys(e.customLevels||{}),v=["error","fatal","warn","info","debug","trace"].concat(p);"function"==typeof r&&v.forEach(function(e){r[e]=r}),(!1===e.enabled||e.browser.disabled)&&(e.level="silent");const b=e.level||"info",w=Object.create(r);w.log||(w.log=y),function(e,t,r){const n={};t.forEach(e=>{n[e]=r[e]?r[e]:i[e]||i[c[e]||"log"]||y}),e[l]=n}(w,v,r),u({},w),Object.defineProperty(w,"levelVal",{get:function(){return o(this.level,this)}}),Object.defineProperty(w,"level",{get:function(){return this._level},set:function(e){if("silent"!==e&&!this.levels.values[e])throw Error("unknown level "+e);this._level=e,f(this,E,w,"error"),f(this,E,w,"fatal"),f(this,E,w,"warn"),f(this,E,w,"info"),f(this,E,w,"debug"),f(this,E,w,"trace"),p.forEach(e=>{f(this,E,w,e)})}});const E={transmit:t,serialize:s,asObject:e.browser.asObject,formatters:e.browser.formatters,levels:v,timestamp:m(e)};return w.levels=function(e){const t=e.customLevels||{},r=Object.assign({},h.levels.values,t),n=Object.assign({},h.levels.labels,function(e){const t={};return Object.keys(e).forEach(function(r){t[e[r]]=r}),t}(t));return{values:r,labels:n}}(e),w.level=b,w.setMaxListeners=w.getMaxListeners=w.emit=w.addListener=w.on=w.prependListener=w.once=w.prependOnceListener=w.removeListener=w.removeAllListeners=w.listeners=w.listenerCount=w.eventNames=w.write=w.flush=y,w.serializers=n,w._serialize=s,w._stdErrSerialize=a,w.child=function(r,i){if(!r)throw new Error("missing bindings for child Pino");i=i||{},s&&r.serializers&&(i.serializers=r.serializers);const o=i.serializers;if(s&&o){var l=Object.assign({},n,o),a=!0===e.browser.serialize?Object.keys(l):s;delete r.serializers,g([r],a,l,this._stdErrSerialize)}function c(e){this._childLevel=1+(0|e._childLevel),this.bindings=r,l&&(this.serializers=l,this._serialize=a),t&&(this._logEvent=d([].concat(e._logEvent.bindings,r)))}c.prototype=this;const h=new c(this);return u(this,h),h.level=this.level,h},t&&(w._logEvent=d()),w}function f(e,t,r,s){if(Object.defineProperty(e,s,{value:o(e.level,r)>o(s,r)?y:r[l][s],writable:!0,enumerable:!0,configurable:!0}),!t.transmit&&e[s]===y)return;e[s]=function(e,t,r,s){return a=e[l][s],function(){const l=t.timestamp(),c=new Array(arguments.length),u=Object.getPrototypeOf&&Object.getPrototypeOf(this)===i?i:this;for(var h=0;h<c.length;h++)c[h]=arguments[h];if(t.serialize&&!t.asObject&&g(c,this._serialize,this.serializers,this._stdErrSerialize),t.asObject||t.formatters?a.call(u,function(e,t,r,i,s={}){const{level:o=()=>e.levels.values[t],log:l=e=>e}=s;e._serialize&&g(r,e._serialize,e.serializers,e._stdErrSerialize);const a=r.slice();let c=a[0];const u={};i&&(u.time=i),u.level=o(t,e.levels.values[t]);let h=1+(0|e._childLevel);if(h<1&&(h=1),null!==c&&"object"==typeof c){for(;h--&&"object"==typeof a[0];)Object.assign(u,a.shift());c=a.length?n(a.shift(),a):void 0}else"string"==typeof c&&(c=n(a.shift(),a));return void 0!==c&&(u.msg=c),l(u)}(this,s,c,l,t.formatters)):a.apply(u,c),t.transmit){const n=t.transmit.level||e._level,i=r.levels.values[n],a=r.levels.values[s];if(a<i)return;!function(e,t,r){const n=t.send,i=t.ts,s=t.methodLevel,o=t.methodValue,l=t.val,a=e._logEvent.bindings;g(r,e._serialize||Object.keys(e.serializers),e.serializers,void 0===e._stdErrSerialize||e._stdErrSerialize),e._logEvent.ts=i,e._logEvent.messages=r.filter(function(e){return-1===a.indexOf(e)}),e._logEvent.level.label=s,e._logEvent.level.value=o,n(s,e._logEvent,l),e._logEvent=d(a)}(this,{ts:l,methodLevel:s,methodValue:a,transmitLevel:n,transmitValue:r.levels.values[t.transmit.level||e._level],send:t.transmit.send,val:o(e._level,r)},c)}};var a}(e,t,r,s);const c=function(e){const t=[];e.bindings&&t.push(e.bindings);let r=e[a];for(;r.parent;)r=r.parent,r.logger.bindings&&t.push(r.logger.bindings);return t.reverse()}(e);0!==c.length&&(e[s]=function(e,t){return function(){return t.apply(this,[...e,...arguments])}}(c,e[s]))}function g(e,t,r,n){for(const i in e)if(n&&e[i]instanceof Error)e[i]=h.stdSerializers.err(e[i]);else if("object"==typeof e[i]&&!Array.isArray(e[i]))for(const n in e[i])t&&t.indexOf(n)>-1&&n in r&&(e[i][n]=r[n](e[i][n]))}function d(e){return{ts:0,messages:[],bindings:e||[],level:{label:"",value:0}}}function p(e){const t={type:e.constructor.name,msg:e.message,stack:e.stack};for(const r in e)void 0===t[r]&&(t[r]=e[r]);return t}function m(e){return"function"==typeof e.timestamp?e.timestamp:!1===e.timestamp?w:E}function v(){return{}}function b(e){return e}function y(){}function w(){return!1}function E(){return Date.now()}h.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},h.stdSerializers=s,h.stdTimeFunctions=Object.assign({},{nullTime:w,epochTime:E,unixTime:function(){return Math.round(Date.now()/1e3)},isoTime:function(){return new Date(Date.now()).toISOString()}}),e.exports.default=h,e.exports.pino=h}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var n={};r.d(n,{default:()=>d});var i,s,o=r(591),l=r.n(o);!function(e){e.HIGH="HIGH",e.NORMAL="NORMAL",e.LOW="LOW"}(i||(i={})),function(e){e.CONNECTING="CONNECTING",e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.RECONNECTING="RECONNECTING",e.FAILED="FAILED"}(s||(s={}));var a=r(874),c=r.n(a);function u(e){return c()({name:e,level:process.env.LOG_LEVEL||"info",timestamp:c().stdTimeFunctions.isoTime})}var h=function(e,t,r,n){return new(r||(r=Promise))(function(i,s){function o(e){try{a(n.next(e))}catch(e){s(e)}}function l(e){try{a(n.throw(e))}catch(e){s(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,l)}a((n=n.apply(e,t||[])).next())})};class f{constructor(e,t={}){this.sender=e,this.options=t,this.queue=[],this.processing=!1,this.logger=u("MessageQueue")}enqueue(e){return h(this,void 0,void 0,function*(){if(this.options.maxSize&&this.queue.length>=this.options.maxSize)throw new Error("Queue is full");const[t,...r]=e,n={type:t,data:1===r.length?r[0]:r,priority:i.NORMAL,queuedAt:Date.now(),retryCount:0};this.queue.push(n),this.queue.sort((e,t)=>e.priority===t.priority?e.queuedAt-t.queuedAt:e.priority===i.HIGH?-1:1),this.processing||this.processQueue().catch(e=>{this.logger.error({error:e},"Error processing queue")})})}processQueue(){return h(this,void 0,void 0,function*(){if(!this.processing&&0!==this.queue.length){this.processing=!0;try{for(;this.queue.length>0;){const e=this.queue[0],t=[e.type,e.data];try{yield this.sender(t),this.queue.shift()}catch(r){if(this.logger.error({error:r,message:t},"Failed to send message"),this.options.maxRetries&&e.retryCount>=this.options.maxRetries){this.logger.warn({message:t},"Max retries reached, removing message from queue"),this.queue.shift();continue}e.retryCount++,yield new Promise(e=>setTimeout(e,this.options.retryDelay||1e3))}}}finally{this.processing=!1}if(this.options.staleTimeout){const e=Date.now(),t=this.options.staleTimeout;this.queue.forEach((r,n)=>{e-r.queuedAt>t&&(this.logger.warn({message:r},"Message is stale, removing from queue"),this.queue.splice(n,1))})}}})}getSize(){return this.queue.length}clear(){this.queue.length=0}}var g=function(e,t,r,n){return new(r||(r=Promise))(function(i,s){function o(e){try{a(n.next(e))}catch(e){s(e)}}function l(e){try{a(n.throw(e))}catch(e){s(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,l)}a((n=n.apply(e,t||[])).next())})};const d={NostrWSClient:class{constructor(e,t={}){this.relayUrls=e,this.options=t,this.ws=null,this.connectionState=s.DISCONNECTED,this.reconnectAttempts=0,this.reconnectTimeout=null,this.logger=t.logger||u("NostrWSClient"),this.queue=new f(e=>g(this,void 0,void 0,function*(){if(!this.ws||this.connectionState!==s.CONNECTED)throw new Error("Not connected to relay");try{this.ws.send(JSON.stringify(e)),this.logger.debug({message:e},"Message sent")}catch(t){throw this.logger.error({error:t,message:e},"Failed to send message"),t}}),{maxSize:t.queueSize,maxRetries:t.maxRetries,retryDelay:t.retryDelay})}connect(){return g(this,void 0,void 0,function*(){if(this.connectionState!==s.CONNECTED)if(this.connectionState!==s.CONNECTING){this.connectionState=s.CONNECTING;try{const e=this.relayUrls[0];this.ws=new(l())(e),yield new Promise((e,t)=>{const r=setTimeout(()=>{t(new Error("Connection timeout"))},this.options.connectionTimeout||5e3);this.ws.on("open",()=>{clearTimeout(r),this.connectionState=s.CONNECTED,this.reconnectAttempts=0,this.logger.info("Connected to relay"),e()}),this.ws.on("error",e=>{clearTimeout(r),this.logger.error({error:e},"WebSocket error"),this.options.onError&&this.options.onError(e),t(e)}),this.ws.on("close",()=>{this.handleDisconnect()}),this.ws.on("message",e=>{this.handleMessage(e)})})}catch(e){throw this.logger.error({error:e},"Failed to connect"),this.handleDisconnect(),e}}else this.logger.debug("Connection already in progress");else this.logger.debug("Already connected")})}disconnect(){return g(this,void 0,void 0,function*(){this.connectionState!==s.DISCONNECTED?(this.connectionState=s.DISCONNECTED,this.reconnectTimeout&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.ws&&(this.ws.close(),this.ws=null),this.logger.info("Disconnected from relay")):this.logger.debug("Already disconnected")})}sendMessage(e){return g(this,void 0,void 0,function*(){if(this.connectionState!==s.CONNECTED)throw new Error("Not connected to relay");yield this.queue.enqueue(e)})}handleMessage(e){try{const t=JSON.parse(e.toString());this.logger.debug({message:t},"Received message"),this.options.onMessage&&this.options.onMessage(e.toString())}catch(t){this.logger.error({error:t,data:e},"Failed to parse message"),this.options.onError&&this.options.onError(t)}}handleDisconnect(){if(this.connectionState=s.DISCONNECTED,this.ws=null,this.options.retryAttempts&&this.reconnectAttempts<this.options.retryAttempts){this.connectionState=s.RECONNECTING,this.reconnectAttempts++;const e=this.options.retryDelay||1e3;this.logger.info({attempt:this.reconnectAttempts,maxAttempts:this.options.retryAttempts},`Reconnecting in ${e}ms`),this.reconnectTimeout=setTimeout(()=>{this.connect().catch(e=>{this.logger.error({error:e},"Reconnection failed")})},e)}else this.logger.warn("Max reconnection attempts reached"),this.connectionState=s.FAILED}getConnectionState(){return this.connectionState}}};return n=n.default})());
2
2
  //# sourceMappingURL=nostr-websocket-utils.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nostr-websocket-utils.min.js","mappings":"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","sources":["webpack://NostrWebSocketUtils/webpack/universalModuleDefinition","webpack://NostrWebSocketUtils/./node_modules/quick-format-unescaped/index.js","webpack://NostrWebSocketUtils/./node_modules/ws/browser.js","webpack://NostrWebSocketUtils/./node_modules/pino/browser.js","webpack://NostrWebSocketUtils/webpack/bootstrap","webpack://NostrWebSocketUtils/webpack/runtime/compat get default export","webpack://NostrWebSocketUtils/webpack/runtime/define property getters","webpack://NostrWebSocketUtils/webpack/runtime/hasOwnProperty shorthand","webpack://NostrWebSocketUtils/./src/types/priority.ts","webpack://NostrWebSocketUtils/./src/types/index.ts","webpack://NostrWebSocketUtils/./src/utils/logger.ts","webpack://NostrWebSocketUtils/./src/core/queue.ts","webpack://NostrWebSocketUtils/./src/browser.ts","webpack://NostrWebSocketUtils/./src/core/client.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NostrWebSocketUtils\"] = factory();\n\telse\n\t\troot[\"NostrWebSocketUtils\"] = factory();\n})(this, () => {\nreturn ","'use strict'\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || '<anonymous>'\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n","'use strict';\n\nmodule.exports = function () {\n throw new Error(\n 'ws does not work in the browser. Browser clients must use the native ' +\n 'WebSocket object'\n );\n};\n","'use strict'\n\nconst format = require('quick-format-unescaped')\n\nmodule.exports = pino\n\nconst _console = pfGlobalThisOrFallback().console || {}\nconst stdSerializers = {\n mapHttpRequest: mock,\n mapHttpResponse: mock,\n wrapRequestSerializer: passthrough,\n wrapResponseSerializer: passthrough,\n wrapErrorSerializer: passthrough,\n req: mock,\n res: mock,\n err: asErrValue,\n errWithCause: asErrValue\n}\nfunction levelToValue (level, logger) {\n return level === 'silent'\n ? Infinity\n : logger.levels.values[level]\n}\nconst baseLogFunctionSymbol = Symbol('pino.logFuncs')\nconst hierarchySymbol = Symbol('pino.hierarchy')\n\nconst logFallbackMap = {\n error: 'log',\n fatal: 'error',\n warn: 'error',\n info: 'log',\n debug: 'log',\n trace: 'log'\n}\n\nfunction appendChildLogger (parentLogger, childLogger) {\n const newEntry = {\n logger: childLogger,\n parent: parentLogger[hierarchySymbol]\n }\n childLogger[hierarchySymbol] = newEntry\n}\n\nfunction setupBaseLogFunctions (logger, levels, proto) {\n const logFunctions = {}\n levels.forEach(level => {\n logFunctions[level] = proto[level] ? proto[level] : (_console[level] || _console[logFallbackMap[level] || 'log'] || noop)\n })\n logger[baseLogFunctionSymbol] = logFunctions\n}\n\nfunction shouldSerialize (serialize, serializers) {\n if (Array.isArray(serialize)) {\n const hasToFilter = serialize.filter(function (k) {\n return k !== '!stdSerializers.err'\n })\n return hasToFilter\n } else if (serialize === true) {\n return Object.keys(serializers)\n }\n\n return false\n}\n\nfunction pino (opts) {\n opts = opts || {}\n opts.browser = opts.browser || {}\n\n const transmit = opts.browser.transmit\n if (transmit && typeof transmit.send !== 'function') { throw Error('pino: transmit option must have a send function') }\n\n const proto = opts.browser.write || _console\n if (opts.browser.write) opts.browser.asObject = true\n const serializers = opts.serializers || {}\n const serialize = shouldSerialize(opts.browser.serialize, serializers)\n let stdErrSerialize = opts.browser.serialize\n\n if (\n Array.isArray(opts.browser.serialize) &&\n opts.browser.serialize.indexOf('!stdSerializers.err') > -1\n ) stdErrSerialize = false\n\n const customLevels = Object.keys(opts.customLevels || {})\n const levels = ['error', 'fatal', 'warn', 'info', 'debug', 'trace'].concat(customLevels)\n\n if (typeof proto === 'function') {\n levels.forEach(function (level) {\n proto[level] = proto\n })\n }\n if (opts.enabled === false || opts.browser.disabled) opts.level = 'silent'\n const level = opts.level || 'info'\n const logger = Object.create(proto)\n if (!logger.log) logger.log = noop\n\n setupBaseLogFunctions(logger, levels, proto)\n // setup root hierarchy entry\n appendChildLogger({}, logger)\n\n Object.defineProperty(logger, 'levelVal', {\n get: getLevelVal\n })\n Object.defineProperty(logger, 'level', {\n get: getLevel,\n set: setLevel\n })\n\n const setOpts = {\n transmit,\n serialize,\n asObject: opts.browser.asObject,\n formatters: opts.browser.formatters,\n levels,\n timestamp: getTimeFunction(opts)\n }\n logger.levels = getLevels(opts)\n logger.level = level\n\n logger.setMaxListeners = logger.getMaxListeners =\n logger.emit = logger.addListener = logger.on =\n logger.prependListener = logger.once =\n logger.prependOnceListener = logger.removeListener =\n logger.removeAllListeners = logger.listeners =\n logger.listenerCount = logger.eventNames =\n logger.write = logger.flush = noop\n logger.serializers = serializers\n logger._serialize = serialize\n logger._stdErrSerialize = stdErrSerialize\n logger.child = child\n\n if (transmit) logger._logEvent = createLogEventShape()\n\n function getLevelVal () {\n return levelToValue(this.level, this)\n }\n\n function getLevel () {\n return this._level\n }\n function setLevel (level) {\n if (level !== 'silent' && !this.levels.values[level]) {\n throw Error('unknown level ' + level)\n }\n this._level = level\n\n set(this, setOpts, logger, 'error') // <-- must stay first\n set(this, setOpts, logger, 'fatal')\n set(this, setOpts, logger, 'warn')\n set(this, setOpts, logger, 'info')\n set(this, setOpts, logger, 'debug')\n set(this, setOpts, logger, 'trace')\n\n customLevels.forEach((level) => {\n set(this, setOpts, logger, level)\n })\n }\n\n function child (bindings, childOptions) {\n if (!bindings) {\n throw new Error('missing bindings for child Pino')\n }\n childOptions = childOptions || {}\n if (serialize && bindings.serializers) {\n childOptions.serializers = bindings.serializers\n }\n const childOptionsSerializers = childOptions.serializers\n if (serialize && childOptionsSerializers) {\n var childSerializers = Object.assign({}, serializers, childOptionsSerializers)\n var childSerialize = opts.browser.serialize === true\n ? Object.keys(childSerializers)\n : serialize\n delete bindings.serializers\n applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize)\n }\n function Child (parent) {\n this._childLevel = (parent._childLevel | 0) + 1\n\n // make sure bindings are available in the `set` function\n this.bindings = bindings\n\n if (childSerializers) {\n this.serializers = childSerializers\n this._serialize = childSerialize\n }\n if (transmit) {\n this._logEvent = createLogEventShape(\n [].concat(parent._logEvent.bindings, bindings)\n )\n }\n }\n Child.prototype = this\n const newLogger = new Child(this)\n\n // must happen before the level is assigned\n appendChildLogger(this, newLogger)\n // required to actually initialize the logger functions for any given child\n newLogger.level = this.level\n\n return newLogger\n }\n return logger\n}\n\nfunction getLevels (opts) {\n const customLevels = opts.customLevels || {}\n\n const values = Object.assign({}, pino.levels.values, customLevels)\n const labels = Object.assign({}, pino.levels.labels, invertObject(customLevels))\n\n return {\n values,\n labels\n }\n}\n\nfunction invertObject (obj) {\n const inverted = {}\n Object.keys(obj).forEach(function (key) {\n inverted[obj[key]] = key\n })\n return inverted\n}\n\npino.levels = {\n values: {\n fatal: 60,\n error: 50,\n warn: 40,\n info: 30,\n debug: 20,\n trace: 10\n },\n labels: {\n 10: 'trace',\n 20: 'debug',\n 30: 'info',\n 40: 'warn',\n 50: 'error',\n 60: 'fatal'\n }\n}\n\npino.stdSerializers = stdSerializers\npino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime })\n\nfunction getBindingChain (logger) {\n const bindings = []\n if (logger.bindings) {\n bindings.push(logger.bindings)\n }\n\n // traverse up the tree to get all bindings\n let hierarchy = logger[hierarchySymbol]\n while (hierarchy.parent) {\n hierarchy = hierarchy.parent\n if (hierarchy.logger.bindings) {\n bindings.push(hierarchy.logger.bindings)\n }\n }\n\n return bindings.reverse()\n}\n\nfunction set (self, opts, rootLogger, level) {\n // override the current log functions with either `noop` or the base log function\n Object.defineProperty(self, level, {\n value: (levelToValue(self.level, rootLogger) > levelToValue(level, rootLogger)\n ? noop\n : rootLogger[baseLogFunctionSymbol][level]),\n writable: true,\n enumerable: true,\n configurable: true\n })\n\n if (!opts.transmit && self[level] === noop) {\n return\n }\n\n // make sure the log format is correct\n self[level] = createWrap(self, opts, rootLogger, level)\n\n // prepend bindings if it is not the root logger\n const bindings = getBindingChain(self)\n if (bindings.length === 0) {\n // early exit in case for rootLogger\n return\n }\n self[level] = prependBindingsInArguments(bindings, self[level])\n}\n\nfunction prependBindingsInArguments (bindings, logFunc) {\n return function () {\n return logFunc.apply(this, [...bindings, ...arguments])\n }\n}\n\nfunction createWrap (self, opts, rootLogger, level) {\n return (function (write) {\n return function LOG () {\n const ts = opts.timestamp()\n const args = new Array(arguments.length)\n const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this\n for (var i = 0; i < args.length; i++) args[i] = arguments[i]\n\n if (opts.serialize && !opts.asObject) {\n applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize)\n }\n if (opts.asObject || opts.formatters) {\n write.call(proto, asObject(this, level, args, ts, opts.formatters))\n } else write.apply(proto, args)\n\n if (opts.transmit) {\n const transmitLevel = opts.transmit.level || self._level\n const transmitValue = rootLogger.levels.values[transmitLevel]\n const methodValue = rootLogger.levels.values[level]\n if (methodValue < transmitValue) return\n transmit(this, {\n ts,\n methodLevel: level,\n methodValue,\n transmitLevel,\n transmitValue: rootLogger.levels.values[opts.transmit.level || self._level],\n send: opts.transmit.send,\n val: levelToValue(self._level, rootLogger)\n }, args)\n }\n }\n })(self[baseLogFunctionSymbol][level])\n}\n\nfunction asObject (logger, level, args, ts, formatters = {}) {\n const {\n level: levelFormatter = () => logger.levels.values[level],\n log: logObjectFormatter = (obj) => obj\n } = formatters\n if (logger._serialize) applySerializers(args, logger._serialize, logger.serializers, logger._stdErrSerialize)\n const argsCloned = args.slice()\n let msg = argsCloned[0]\n const logObject = {}\n if (ts) {\n logObject.time = ts\n }\n logObject.level = levelFormatter(level, logger.levels.values[level])\n\n let lvl = (logger._childLevel | 0) + 1\n if (lvl < 1) lvl = 1\n // deliberate, catching objects, arrays\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(logObject, argsCloned.shift())\n }\n msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined\n } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned)\n if (msg !== undefined) logObject.msg = msg\n\n const formattedLogObject = logObjectFormatter(logObject)\n return formattedLogObject\n}\n\nfunction applySerializers (args, serialize, serializers, stdErrSerialize) {\n for (const i in args) {\n if (stdErrSerialize && args[i] instanceof Error) {\n args[i] = pino.stdSerializers.err(args[i])\n } else if (typeof args[i] === 'object' && !Array.isArray(args[i])) {\n for (const k in args[i]) {\n if (serialize && serialize.indexOf(k) > -1 && k in serializers) {\n args[i][k] = serializers[k](args[i][k])\n }\n }\n }\n }\n}\n\nfunction transmit (logger, opts, args) {\n const send = opts.send\n const ts = opts.ts\n const methodLevel = opts.methodLevel\n const methodValue = opts.methodValue\n const val = opts.val\n const bindings = logger._logEvent.bindings\n\n applySerializers(\n args,\n logger._serialize || Object.keys(logger.serializers),\n logger.serializers,\n logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize\n )\n logger._logEvent.ts = ts\n logger._logEvent.messages = args.filter(function (arg) {\n // bindings can only be objects, so reference equality check via indexOf is fine\n return bindings.indexOf(arg) === -1\n })\n\n logger._logEvent.level.label = methodLevel\n logger._logEvent.level.value = methodValue\n\n send(methodLevel, logger._logEvent, val)\n\n logger._logEvent = createLogEventShape(bindings)\n}\n\nfunction createLogEventShape (bindings) {\n return {\n ts: 0,\n messages: [],\n bindings: bindings || [],\n level: { label: '', value: 0 }\n }\n}\n\nfunction asErrValue (err) {\n const obj = {\n type: err.constructor.name,\n msg: err.message,\n stack: err.stack\n }\n for (const key in err) {\n if (obj[key] === undefined) {\n obj[key] = err[key]\n }\n }\n return obj\n}\n\nfunction getTimeFunction (opts) {\n if (typeof opts.timestamp === 'function') {\n return opts.timestamp\n }\n if (opts.timestamp === false) {\n return nullTime\n }\n return epochTime\n}\n\nfunction mock () { return {} }\nfunction passthrough (a) { return a }\nfunction noop () {}\n\nfunction nullTime () { return false }\nfunction epochTime () { return Date.now() }\nfunction unixTime () { return Math.round(Date.now() / 1000.0) }\nfunction isoTime () { return new Date(Date.now()).toISOString() } // using Date.now() for testability\n\n/* eslint-disable */\n/* istanbul ignore next */\nfunction pfGlobalThisOrFallback () {\n function defd (o) { return typeof o !== 'undefined' && o }\n try {\n if (typeof globalThis !== 'undefined') return globalThis\n Object.defineProperty(Object.prototype, 'globalThis', {\n get: function () {\n delete Object.prototype.globalThis\n return (this.globalThis = this)\n },\n configurable: true\n })\n return globalThis\n } catch (e) {\n return defd(self) || defd(window) || defd(this) || {}\n }\n}\n/* eslint-enable */\n\nmodule.exports.default = pino\nmodule.exports.pino = pino\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/**\n * @file Message priority definitions\n * @module types/priority\n */\n\n/**\n * Message priority levels for queue management\n */\nexport enum MessagePriority {\n HIGH = 'HIGH',\n NORMAL = 'NORMAL',\n LOW = 'LOW'\n}\n","/**\n * @file Core type definitions\n * @module types\n */\n\nimport type { WebSocket } from 'ws';\nimport type { Logger } from './logger.js';\nimport type { NostrWSMessage, NostrEvent as MessageNostrEvent } from './messages.js';\n\n// Re-export specific types to avoid ambiguity\nexport type { NostrWSMessage } from './messages.js';\nexport type { QueueItem } from './messages.js';\nexport * from './filters.js';\nexport * from './relays.js';\nexport * from './logger.js';\nexport * from './priority.js';\n\n// Export the NostrEvent from messages.ts as our canonical version\nexport type NostrEvent = MessageNostrEvent;\n\n/**\n * Extended WebSocket interface with client ID\n */\nexport interface ExtendedWebSocket extends WebSocket {\n clientId?: string;\n isAlive?: boolean;\n subscriptions?: Set<string>;\n lastPing?: number;\n reconnectAttempts?: number;\n messageQueue?: NostrWSMessage[];\n}\n\n/**\n * WebSocket connection states\n */\nexport enum ConnectionState {\n CONNECTING = 'CONNECTING',\n CONNECTED = 'CONNECTED',\n DISCONNECTED = 'DISCONNECTED',\n RECONNECTING = 'RECONNECTING',\n FAILED = 'FAILED'\n}\n\n/**\n * Retry configuration options\n */\nexport interface RetryConfig {\n maxAttempts: number;\n initialDelay: number;\n maxDelay: number;\n backoffFactor: number;\n}\n\n/**\n * Queue configuration options\n */\nexport interface QueueConfig {\n maxSize: number;\n maxRetries: number;\n retryDelay: number;\n staleTimeout: number;\n}\n\n/**\n * Heartbeat configuration options\n */\nexport interface HeartbeatConfig {\n interval: number;\n timeout: number;\n maxMissed: number;\n}\n\n/**\n * WebSocket client options\n */\nexport interface NostrWSOptions {\n WebSocketImpl?: typeof WebSocket;\n connectionTimeout?: number;\n retryAttempts?: number;\n retryDelay?: number;\n onMessage?: (message: string) => void;\n onError?: (error: Error) => void;\n retry?: Partial<RetryConfig>;\n queue?: Partial<QueueConfig>;\n heartbeat?: Partial<HeartbeatConfig>;\n autoReconnect?: boolean;\n bufferMessages?: boolean;\n cleanStaleMessages?: boolean;\n logger?: Logger;\n}\n\n/**\n * Represents a subscription to a Nostr relay\n */\nexport interface NostrWSSubscription {\n /**\n * Channel identifier for the subscription\n */\n channel: string;\n \n /**\n * Filter criteria for the subscription\n */\n filter?: Record<string, unknown>;\n}\n\n/**\n * Events emitted by the NostrWSClient\n */\nexport interface NostrWSClientEvents {\n /**\n * Emitted when the client connects to the relay\n */\n connect: () => void;\n \n /**\n * Emitted when the client disconnects from the relay\n */\n disconnect: () => void;\n \n /**\n * Emitted when the client reconnects to the relay\n */\n reconnect: () => void;\n \n /**\n * Emitted when a message is received from the relay\n * @param message - The received message\n */\n message: (message: NostrWSMessage) => Promise<void>;\n \n /**\n * Emitted when an error occurs\n * @param error - The error that occurred\n */\n error: (error: Error) => void;\n close: () => void;\n stateChange?: (state: ConnectionState) => void;\n heartbeat?: () => void;\n}\n\n/**\n * Events emitted by the NostrWSServer\n */\nexport interface NostrWSServerEvents {\n /**\n * Emitted when a client connects\n * @param client - The connected client\n */\n connection: (client: ExtendedWebSocket) => void;\n\n /**\n * Emitted when a message is received from a client\n * @param message - The received message\n * @param client - The client that sent the message\n */\n message: (message: NostrWSMessage, client: ExtendedWebSocket) => void;\n\n /**\n * Emitted when an error occurs\n * @param error - The error that occurred\n */\n error: (error: Error) => void;\n}\n","/**\n * @file Logger utility\n * @module utils/logger\n */\n\nimport pino, { Logger } from 'pino';\n\n/**\n * Create a new logger instance\n * @param name Name of the logger\n * @returns Logger instance\n */\nexport function createLogger(name: string): Logger {\n return pino({\n name,\n level: process.env.LOG_LEVEL || 'info',\n timestamp: pino.stdTimeFunctions.isoTime\n });\n}\n\n/**\n * Get a logger instance for a specific component\n * @param component Component name for the logger\n * @returns Logger instance\n */\nexport function getLogger(component: string): Logger {\n return createLogger(component);\n}\n\n/**\n * Get a child logger instance\n * @param parent Parent logger instance\n * @param bindings Additional bindings for the child logger\n * @returns Child logger instance\n */\nexport function getChildLogger(parent: Logger, bindings: object): Logger {\n return parent.child(bindings);\n}\n\nexport type { Logger };\n","/**\n * @file Message queue implementation\n * @module core/queue\n */\n\nimport { NostrWSMessage, MessagePriority, QueueItem } from '../types/index.js';\nimport { createLogger } from '../utils/logger.js';\nimport { Logger } from 'pino';\n\n/**\n * Message queue implementation for handling WebSocket messages\n */\nexport class MessageQueue {\n private readonly queue: QueueItem[] = [];\n private readonly logger: Logger;\n private processing = false;\n\n constructor(\n private readonly sender: (message: NostrWSMessage) => Promise<void>,\n private readonly options: {\n maxSize?: number;\n maxRetries?: number;\n retryDelay?: number;\n staleTimeout?: number;\n } = {}\n ) {\n this.logger = createLogger('MessageQueue');\n }\n\n /**\n * Add a message to the queue\n */\n async enqueue(message: NostrWSMessage): Promise<void> {\n if (\n this.options.maxSize &&\n this.queue.length >= this.options.maxSize\n ) {\n throw new Error('Queue is full');\n }\n\n const [type, ...data] = message;\n const queueItem: QueueItem = {\n type,\n data: data.length === 1 ? data[0] : data,\n priority: MessagePriority.NORMAL,\n queuedAt: Date.now(),\n retryCount: 0\n };\n\n this.queue.push(queueItem);\n this.queue.sort((a, b) => \n (a.priority === b.priority) ? \n (a.queuedAt - b.queuedAt) : \n (a.priority === MessagePriority.HIGH ? -1 : 1)\n );\n\n if (!this.processing) {\n this.processQueue().catch(error => {\n this.logger.error({ error }, 'Error processing queue');\n });\n }\n }\n\n /**\n * Process messages in the queue\n */\n private async processQueue(): Promise<void> {\n if (this.processing || this.queue.length === 0) {\n return;\n }\n\n this.processing = true;\n\n try {\n while (this.queue.length > 0) {\n const item = this.queue[0];\n const message: NostrWSMessage = [item.type, item.data];\n\n try {\n await this.sender(message);\n this.queue.shift();\n } catch (error) {\n this.logger.error({ error, message }, 'Failed to send message');\n\n if (\n this.options.maxRetries &&\n item.retryCount >= this.options.maxRetries\n ) {\n this.logger.warn(\n { message },\n 'Max retries reached, removing message from queue'\n );\n this.queue.shift();\n continue;\n }\n\n item.retryCount++;\n await new Promise(resolve =>\n setTimeout(resolve, this.options.retryDelay || 1000)\n );\n }\n }\n } finally {\n this.processing = false;\n }\n\n // Clean up stale messages\n if (this.options.staleTimeout) {\n const now = Date.now();\n const staleTimeout = this.options.staleTimeout;\n this.queue.forEach((message, index) => {\n if (now - message.queuedAt > staleTimeout) {\n this.logger.warn(\n { message },\n 'Message is stale, removing from queue'\n );\n this.queue.splice(index, 1);\n }\n });\n }\n }\n\n /**\n * Get the current size of the queue\n */\n getSize(): number {\n return this.queue.length;\n }\n\n /**\n * Clear all messages from the queue\n */\n clear(): void {\n this.queue.length = 0;\n }\n}\n","import { NostrWSClient } from './core/client';\nimport type { NostrWSMessage, ConnectionState } from './types/index';\nimport type { NostrWSClientOptions } from './types/websocket';\n\n// Re-export the client\nexport { NostrWSClient };\n\n// Re-export types\nexport type {\n NostrWSMessage,\n NostrWSClientOptions,\n ConnectionState\n};\n\n// Export a default object for UMD bundle\nexport default {\n NostrWSClient\n};\n","import WebSocket from 'ws';\nimport { \n NostrWSMessage, \n ConnectionState\n} from '../types/index.js';\nimport { NostrWSClientOptions } from '../types/websocket.js';\nimport { MessageQueue } from './queue.js';\nimport { createLogger } from '../utils/logger.js';\nimport { Logger } from 'pino';\n\n/**\n * NostrWSClient handles WebSocket connections to Nostr relays\n */\nexport class NostrWSClient {\n private ws: WebSocket | null = null;\n private readonly queue: MessageQueue;\n private readonly logger: Logger;\n private connectionState: ConnectionState = ConnectionState.DISCONNECTED;\n private reconnectAttempts = 0;\n private reconnectTimeout: NodeJS.Timeout | null = null;\n\n constructor(\n private readonly relayUrls: string[],\n private readonly options: NostrWSClientOptions = {}\n ) {\n this.logger = options.logger || createLogger('NostrWSClient');\n this.queue = new MessageQueue(\n async (message: NostrWSMessage) => {\n if (!this.ws || this.connectionState !== ConnectionState.CONNECTED) {\n throw new Error('Not connected to relay');\n }\n try {\n this.ws.send(JSON.stringify(message));\n this.logger.debug({ message }, 'Message sent');\n } catch (error) {\n this.logger.error({ error, message }, 'Failed to send message');\n throw error;\n }\n },\n {\n maxSize: options.queueSize,\n maxRetries: options.maxRetries,\n retryDelay: options.retryDelay\n }\n );\n }\n\n /**\n * Connect to the relay\n */\n async connect(): Promise<void> {\n if (this.connectionState === ConnectionState.CONNECTED) {\n this.logger.debug('Already connected');\n return;\n }\n\n if (this.connectionState === ConnectionState.CONNECTING) {\n this.logger.debug('Connection already in progress');\n return;\n }\n\n this.connectionState = ConnectionState.CONNECTING;\n\n try {\n const url = this.relayUrls[0]; // For now just use first relay\n this.ws = new WebSocket(url);\n\n await new Promise<void>((resolve, reject) => {\n const timeout = setTimeout(() => {\n reject(new Error('Connection timeout'));\n }, this.options.connectionTimeout || 5000);\n\n this.ws!.on('open', () => {\n clearTimeout(timeout);\n this.connectionState = ConnectionState.CONNECTED;\n this.reconnectAttempts = 0;\n this.logger.info('Connected to relay');\n resolve();\n });\n\n this.ws!.on('error', (error) => {\n clearTimeout(timeout);\n this.logger.error({ error }, 'WebSocket error');\n if (this.options.onError) {\n this.options.onError(error);\n }\n reject(error);\n });\n\n this.ws!.on('close', () => {\n this.handleDisconnect();\n });\n\n this.ws!.on('message', (data: WebSocket.Data) => {\n this.handleMessage(data);\n });\n });\n } catch (error) {\n this.logger.error({ error }, 'Failed to connect');\n this.handleDisconnect();\n throw error;\n }\n }\n\n /**\n * Disconnect from the relay\n */\n async disconnect(): Promise<void> {\n if (this.connectionState === ConnectionState.DISCONNECTED) {\n this.logger.debug('Already disconnected');\n return;\n }\n\n this.connectionState = ConnectionState.DISCONNECTED;\n \n if (this.reconnectTimeout) {\n clearTimeout(this.reconnectTimeout);\n this.reconnectTimeout = null;\n }\n\n if (this.ws) {\n this.ws.close();\n this.ws = null;\n }\n\n this.logger.info('Disconnected from relay');\n }\n\n /**\n * Send a message to the relay\n */\n async sendMessage(message: NostrWSMessage): Promise<void> {\n if (this.connectionState !== ConnectionState.CONNECTED) {\n throw new Error('Not connected to relay');\n }\n\n await this.queue.enqueue(message);\n }\n\n private handleMessage(data: WebSocket.Data): void {\n try {\n const message = JSON.parse(data.toString()) as NostrWSMessage;\n this.logger.debug({ message }, 'Received message');\n \n if (this.options.onMessage) {\n this.options.onMessage(data.toString());\n }\n } catch (error) {\n this.logger.error({ error, data }, 'Failed to parse message');\n if (this.options.onError) {\n this.options.onError(error as Error);\n }\n }\n }\n\n private handleDisconnect(): void {\n this.connectionState = ConnectionState.DISCONNECTED;\n this.ws = null;\n\n if (\n this.options.retryAttempts &&\n this.reconnectAttempts < this.options.retryAttempts\n ) {\n this.connectionState = ConnectionState.RECONNECTING;\n this.reconnectAttempts++;\n\n const delay = this.options.retryDelay || 1000;\n this.logger.info(\n { attempt: this.reconnectAttempts, maxAttempts: this.options.retryAttempts },\n `Reconnecting in ${delay}ms`\n );\n\n this.reconnectTimeout = setTimeout(() => {\n this.connect().catch(error => {\n this.logger.error({ error }, 'Reconnection failed');\n });\n }, delay);\n } else {\n this.logger.warn('Max reconnection attempts reached');\n this.connectionState = ConnectionState.FAILED;\n }\n }\n\n /**\n * Get the current connection state\n */\n getConnectionState(): ConnectionState {\n return this.connectionState;\n }\n}\n"],"names":["root","factory","exports","module","define","amd","this","tryStringify","o","JSON","stringify","e","f","args","opts","ss","len","length","objects","Array","index","join","argLen","str","a","lastPos","flen","i","charCodeAt","slice","Number","Math","floor","undefined","type","name","String","Error","format","pino","_console","defd","globalThis","Object","defineProperty","prototype","get","configurable","self","window","pfGlobalThisOrFallback","console","stdSerializers","mapHttpRequest","mock","mapHttpResponse","wrapRequestSerializer","passthrough","wrapResponseSerializer","wrapErrorSerializer","req","res","err","asErrValue","errWithCause","levelToValue","level","logger","Infinity","levels","values","baseLogFunctionSymbol","Symbol","hierarchySymbol","logFallbackMap","error","fatal","warn","info","debug","trace","appendChildLogger","parentLogger","childLogger","newEntry","parent","browser","transmit","send","proto","write","asObject","serializers","serialize","isArray","filter","k","keys","shouldSerialize","stdErrSerialize","indexOf","customLevels","concat","forEach","enabled","disabled","create","log","noop","logFunctions","setupBaseLogFunctions","_level","set","setOpts","formatters","timestamp","getTimeFunction","assign","labels","obj","inverted","key","invertObject","getLevels","setMaxListeners","getMaxListeners","emit","addListener","on","prependListener","once","prependOnceListener","removeListener","removeAllListeners","listeners","listenerCount","eventNames","flush","_serialize","_stdErrSerialize","child","bindings","childOptions","childOptionsSerializers","childSerializers","childSerialize","applySerializers","Child","_childLevel","_logEvent","createLogEventShape","newLogger","rootLogger","value","writable","enumerable","ts","arguments","getPrototypeOf","call","levelFormatter","logObjectFormatter","argsCloned","msg","logObject","time","lvl","shift","apply","transmitLevel","transmitValue","methodValue","methodLevel","val","messages","arg","label","createWrap","push","hierarchy","reverse","getBindingChain","logFunc","prependBindingsInArguments","constructor","message","stack","nullTime","epochTime","Date","now","stdTimeFunctions","unixTime","round","isoTime","toISOString","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","definition","prop","hasOwnProperty","MessagePriority","ConnectionState","createLogger","process","env","LOG_LEVEL","MessageQueue","sender","options","queue","processing","enqueue","maxSize","data","queueItem","priority","NORMAL","queuedAt","retryCount","sort","b","HIGH","processQueue","catch","item","maxRetries","Promise","resolve","setTimeout","retryDelay","staleTimeout","splice","getSize","clear","NostrWSClient","relayUrls","ws","connectionState","DISCONNECTED","reconnectAttempts","reconnectTimeout","CONNECTED","queueSize","connect","CONNECTING","url","reject","timeout","connectionTimeout","clearTimeout","onError","handleDisconnect","handleMessage","disconnect","close","sendMessage","parse","toString","onMessage","retryAttempts","RECONNECTING","delay","attempt","maxAttempts","FAILED","getConnectionState"],"sourceRoot":""}
1
+ {"version":3,"file":"nostr-websocket-utils.min.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAA6B,oBAAID,IAEjCD,EAA0B,oBAAIC,GAC/B,CATD,CASGK,KAAM,I,iCCRT,SAASC,EAAcC,GACrB,IAAM,OAAOC,KAAKC,UAAUF,EAAG,CAAE,MAAMG,GAAK,MAAO,cAAe,CACpE,CAEAR,EAAOD,QAEP,SAAgBU,EAAGC,EAAMC,GACvB,IAAIC,EAAMD,GAAQA,EAAKJ,WAAcH,EAErC,GAAiB,iBAANK,GAAwB,OAANA,EAAY,CACvC,IAAII,EAAMH,EAAKI,OAFJ,EAGX,GAAY,IAARD,EAAW,OAAOJ,EACtB,IAAIM,EAAU,IAAIC,MAAMH,GACxBE,EAAQ,GAAKH,EAAGH,GAChB,IAAK,IAAIQ,EAAQ,EAAGA,EAAQJ,EAAKI,IAC/BF,EAAQE,GAASL,EAAGF,EAAKO,IAE3B,OAAOF,EAAQG,KAAK,IACtB,CACA,GAAiB,iBAANT,EACT,OAAOA,EAET,IAAIU,EAAST,EAAKI,OAClB,GAAe,IAAXK,EAAc,OAAOV,EAKzB,IAJA,IAAIW,EAAM,GACNC,EAAI,EACJC,GAAW,EACXC,EAAQd,GAAKA,EAAEK,QAAW,EACrBU,EAAI,EAAGA,EAAID,GAAO,CACzB,GAAwB,KAApBd,EAAEgB,WAAWD,IAAaA,EAAI,EAAID,EAAM,CAE1C,OADAD,EAAUA,GAAW,EAAIA,EAAU,EAC3Bb,EAAEgB,WAAWD,EAAI,IACvB,KAAK,IACL,KAAK,IACH,GAAIH,GAAKF,EACP,MACF,GAAe,MAAXT,EAAKW,GAAa,MAClBC,EAAUE,IACZJ,GAAOX,EAAEiB,MAAMJ,EAASE,IAC1BJ,GAAOO,OAAOjB,EAAKW,IACnBC,EAAUE,EAAI,EACdA,IACA,MACF,KAAK,IACH,GAAIH,GAAKF,EACP,MACF,GAAe,MAAXT,EAAKW,GAAa,MAClBC,EAAUE,IACZJ,GAAOX,EAAEiB,MAAMJ,EAASE,IAC1BJ,GAAOQ,KAAKC,MAAMF,OAAOjB,EAAKW,KAC9BC,EAAUE,EAAI,EACdA,IACA,MACF,KAAK,GACL,KAAK,IACL,KAAK,IACH,GAAIH,GAAKF,EACP,MACF,QAAgBW,IAAZpB,EAAKW,GAAkB,MACvBC,EAAUE,IACZJ,GAAOX,EAAEiB,MAAMJ,EAASE,IAC1B,IAAIO,SAAcrB,EAAKW,GACvB,GAAa,WAATU,EAAmB,CACrBX,GAAO,IAAOV,EAAKW,GAAK,IACxBC,EAAUE,EAAI,EACdA,IACA,KACF,CACA,GAAa,aAATO,EAAqB,CACvBX,GAAOV,EAAKW,GAAGW,MAAQ,cACvBV,EAAUE,EAAI,EACdA,IACA,KACF,CACAJ,GAAOR,EAAGF,EAAKW,IACfC,EAAUE,EAAI,EACdA,IACA,MACF,KAAK,IACH,GAAIH,GAAKF,EACP,MACEG,EAAUE,IACZJ,GAAOX,EAAEiB,MAAMJ,EAASE,IAC1BJ,GAAOa,OAAOvB,EAAKW,IACnBC,EAAUE,EAAI,EACdA,IACA,MACF,KAAK,GACCF,EAAUE,IACZJ,GAAOX,EAAEiB,MAAMJ,EAASE,IAC1BJ,GAAO,IACPE,EAAUE,EAAI,EACdA,IACAH,MAGFA,CACJ,GACEG,CACJ,CACA,IAAiB,IAAbF,EACF,OAAOb,EACAa,EAAUC,IACjBH,GAAOX,EAAEiB,MAAMJ,IAGjB,OAAOF,CACT,C,SC1GApB,EAAOD,QAAU,WACf,MAAM,IAAImC,MACR,wFAGJ,C,aCLA,MAAMC,EAAS,EAAQ,KAEvBnC,EAAOD,QAAUqC,EAEjB,MAAMC,EAubN,WACE,SAASC,EAAMjC,GAAK,YAAoB,IAANA,GAAqBA,CAAE,CACzD,IACE,MAA0B,oBAAfkC,YACXC,OAAOC,eAAeD,OAAOE,UAAW,aAAc,CACpDC,IAAK,WAEH,cADOH,OAAOE,UAAUH,WAChBpC,KAAKoC,WAAapC,IAC5B,EACAyC,cAAc,IAN8BL,UAShD,CAAE,MAAO/B,GACP,OAAO8B,EAAKO,OAASP,EAAKQ,SAAWR,EAAKnC,OAAS,CAAC,CACtD,CACF,CAtciB4C,GAAyBC,SAAW,CAAC,EAChDC,EAAiB,CACrBC,eAAgBC,EAChBC,gBAAiBD,EACjBE,sBAAuBC,EACvBC,uBAAwBD,EACxBE,oBAAqBF,EACrBG,IAAKN,EACLO,IAAKP,EACLQ,IAAKC,EACLC,aAAcD,GAEhB,SAASE,EAAcC,EAAOC,GAC5B,MAAiB,WAAVD,EACHE,IACAD,EAAOE,OAAOC,OAAOJ,EAC3B,CACA,MAAMK,EAAwBC,OAAO,iBAC/BC,EAAkBD,OAAO,kBAEzBE,EAAiB,CACrBC,MAAO,MACPC,MAAO,QACPC,KAAM,QACNC,KAAM,MACNC,MAAO,MACPC,MAAO,OAGT,SAASC,EAAmBC,EAAcC,GACxC,MAAMC,EAAW,CACfjB,OAAQgB,EACRE,OAAQH,EAAaT,IAEvBU,EAAYV,GAAmBW,CACjC,CAuBA,SAAS7C,EAAMzB,IACbA,EAAOA,GAAQ,CAAC,GACXwE,QAAUxE,EAAKwE,SAAW,CAAC,EAEhC,MAAMC,EAAWzE,EAAKwE,QAAQC,SAC9B,GAAIA,GAAqC,mBAAlBA,EAASC,KAAuB,MAAMnD,MAAM,mDAEnE,MAAMoD,EAAQ3E,EAAKwE,QAAQI,OAASlD,EAChC1B,EAAKwE,QAAQI,QAAO5E,EAAKwE,QAAQK,UAAW,GAChD,MAAMC,EAAc9E,EAAK8E,aAAe,CAAC,EACnCC,EAvBR,SAA0BA,EAAWD,GACnC,GAAIzE,MAAM2E,QAAQD,GAIhB,OAHoBA,EAAUE,OAAO,SAAUC,GAC7C,MAAa,wBAANA,CACT,GAEK,OAAkB,IAAdH,GACFlD,OAAOsD,KAAKL,EAIvB,CAYoBM,CAAgBpF,EAAKwE,QAAQO,UAAWD,GAC1D,IAAIO,EAAkBrF,EAAKwE,QAAQO,UAGjC1E,MAAM2E,QAAQhF,EAAKwE,QAAQO,YAC3B/E,EAAKwE,QAAQO,UAAUO,QAAQ,wBAA0B,IACzDD,GAAkB,GAEpB,MAAME,EAAe1D,OAAOsD,KAAKnF,EAAKuF,cAAgB,CAAC,GACjDhC,EAAS,CAAC,QAAS,QAAS,OAAQ,OAAQ,QAAS,SAASiC,OAAOD,GAEtD,mBAAVZ,GACTpB,EAAOkC,QAAQ,SAAUrC,GACvBuB,EAAMvB,GAASuB,CACjB,KAEmB,IAAjB3E,EAAK0F,SAAqB1F,EAAKwE,QAAQmB,YAAU3F,EAAKoD,MAAQ,UAClE,MAAMA,EAAQpD,EAAKoD,OAAS,OACtBC,EAASxB,OAAO+D,OAAOjB,GACxBtB,EAAOwC,MAAKxC,EAAOwC,IAAMC,GAlDhC,SAAgCzC,EAAQE,EAAQoB,GAC9C,MAAMoB,EAAe,CAAC,EACtBxC,EAAOkC,QAAQrC,IACb2C,EAAa3C,GAASuB,EAAMvB,GAASuB,EAAMvB,GAAU1B,EAAS0B,IAAU1B,EAASkC,EAAeR,IAAU,QAAU0C,IAEtHzC,EAAOI,GAAyBsC,CAClC,CA8CEC,CAAsB3C,EAAQE,EAAQoB,GAEtCR,EAAkB,CAAC,EAAGd,GAEtBxB,OAAOC,eAAeuB,EAAQ,WAAY,CACxCrB,IAgCF,WACE,OAAOmB,EAAa3D,KAAK4D,MAAO5D,KAClC,IAhCAqC,OAAOC,eAAeuB,EAAQ,QAAS,CACrCrB,IAiCF,WACE,OAAOxC,KAAKyG,MACd,EAlCEC,IAmCF,SAAmB9C,GACjB,GAAc,WAAVA,IAAuB5D,KAAK+D,OAAOC,OAAOJ,GAC5C,MAAM7B,MAAM,iBAAmB6B,GAEjC5D,KAAKyG,OAAS7C,EAEd8C,EAAI1G,KAAM2G,EAAS9C,EAAQ,SAC3B6C,EAAI1G,KAAM2G,EAAS9C,EAAQ,SAC3B6C,EAAI1G,KAAM2G,EAAS9C,EAAQ,QAC3B6C,EAAI1G,KAAM2G,EAAS9C,EAAQ,QAC3B6C,EAAI1G,KAAM2G,EAAS9C,EAAQ,SAC3B6C,EAAI1G,KAAM2G,EAAS9C,EAAQ,SAE3BkC,EAAaE,QAASrC,IACpB8C,EAAI1G,KAAM2G,EAAS9C,EAAQD,IAE/B,IAhDA,MAAM+C,EAAU,CACd1B,WACAM,YACAF,SAAU7E,EAAKwE,QAAQK,SACvBuB,WAAYpG,EAAKwE,QAAQ4B,WACzB7C,SACA8C,UAAWC,EAAgBtG,IAuF7B,OArFAqD,EAAOE,OAwFT,SAAoBvD,GAClB,MAAMuF,EAAevF,EAAKuF,cAAgB,CAAC,EAErC/B,EAAS3B,OAAO0E,OAAO,CAAC,EAAG9E,EAAK8B,OAAOC,OAAQ+B,GAC/CiB,EAAS3E,OAAO0E,OAAO,CAAC,EAAG9E,EAAK8B,OAAOiD,OAQ/C,SAAuBC,GACrB,MAAMC,EAAW,CAAC,EAIlB,OAHA7E,OAAOsD,KAAKsB,GAAKhB,QAAQ,SAAUkB,GACjCD,EAASD,EAAIE,IAAQA,CACvB,GACOD,CACT,CAduDE,CAAarB,IAElE,MAAO,CACL/B,SACAgD,SAEJ,CAlGkBK,CAAU7G,GAC1BqD,EAAOD,MAAQA,EAEfC,EAAOyD,gBAAkBzD,EAAO0D,gBAChC1D,EAAO2D,KAAO3D,EAAO4D,YAAc5D,EAAO6D,GAC1C7D,EAAO8D,gBAAkB9D,EAAO+D,KAChC/D,EAAOgE,oBAAsBhE,EAAOiE,eACpCjE,EAAOkE,mBAAqBlE,EAAOmE,UACnCnE,EAAOoE,cAAgBpE,EAAOqE,WAC9BrE,EAAOuB,MAAQvB,EAAOsE,MAAQ7B,EAC9BzC,EAAOyB,YAAcA,EACrBzB,EAAOuE,WAAa7C,EACpB1B,EAAOwE,iBAAmBxC,EAC1BhC,EAAOyE,MA6BP,SAAgBC,EAAUC,GACxB,IAAKD,EACH,MAAM,IAAIxG,MAAM,mCAElByG,EAAeA,GAAgB,CAAC,EAC5BjD,GAAagD,EAASjD,cACxBkD,EAAalD,YAAciD,EAASjD,aAEtC,MAAMmD,EAA0BD,EAAalD,YAC7C,GAAIC,GAAakD,EAAyB,CACxC,IAAIC,EAAmBrG,OAAO0E,OAAO,CAAC,EAAGzB,EAAamD,GAClDE,GAA4C,IAA3BnI,EAAKwE,QAAQO,UAC9BlD,OAAOsD,KAAK+C,GACZnD,SACGgD,EAASjD,YAChBsD,EAAiB,CAACL,GAAWI,EAAgBD,EAAkB1I,KAAKqI,iBACtE,CACA,SAASQ,EAAO9D,GACd/E,KAAK8I,YAAyC,GAAL,EAArB/D,EAAO+D,aAG3B9I,KAAKuI,SAAWA,EAEZG,IACF1I,KAAKsF,YAAcoD,EACnB1I,KAAKoI,WAAaO,GAEhB1D,IACFjF,KAAK+I,UAAYC,EACf,GAAGhD,OAAOjB,EAAOgE,UAAUR,SAAUA,IAG3C,CACAM,EAAMtG,UAAYvC,KAClB,MAAMiJ,EAAY,IAAIJ,EAAM7I,MAO5B,OAJA2E,EAAkB3E,KAAMiJ,GAExBA,EAAUrF,MAAQ5D,KAAK4D,MAEhBqF,CACT,EArEIhE,IAAUpB,EAAOkF,UAAYC,KAsE1BnF,CACT,CA8DA,SAAS6C,EAAKhE,EAAMlC,EAAM0I,EAAYtF,GAWpC,GATAvB,OAAOC,eAAeI,EAAMkB,EAAO,CACjCuF,MAAQxF,EAAajB,EAAKkB,MAAOsF,GAAcvF,EAAaC,EAAOsF,GAC/D5C,EACA4C,EAAWjF,GAAuBL,GACtCwF,UAAU,EACVC,YAAY,EACZ5G,cAAc,KAGXjC,EAAKyE,UAAYvC,EAAKkB,KAAW0C,EACpC,OAIF5D,EAAKkB,GAiBP,SAAqBlB,EAAMlC,EAAM0I,EAAYtF,GAC3C,OAAkBwB,EA8Bf1C,EAAKuB,GAAuBL,GA7BtB,WACL,MAAM0F,EAAK9I,EAAKqG,YACVtG,EAAO,IAAIM,MAAM0I,UAAU5I,QAC3BwE,EAAS9C,OAAOmH,gBAAkBnH,OAAOmH,eAAexJ,QAAUkC,EAAYA,EAAWlC,KAC/F,IAAK,IAAIqB,EAAI,EAAGA,EAAId,EAAKI,OAAQU,IAAKd,EAAKc,GAAKkI,UAAUlI,GAS1D,GAPIb,EAAK+E,YAAc/E,EAAK6E,UAC1BuD,EAAiBrI,EAAMP,KAAKoI,WAAYpI,KAAKsF,YAAatF,KAAKqI,kBAE7D7H,EAAK6E,UAAY7E,EAAKoG,WACxBxB,EAAMqE,KAAKtE,EAsBnB,SAAmBtB,EAAQD,EAAOrD,EAAM+I,EAAI1C,EAAa,CAAC,GACxD,MACEhD,MAAO8F,EAAiB,IAAM7F,EAAOE,OAAOC,OAAOJ,GACnDyC,IAAKsD,EAAsB1C,GAAQA,GACjCL,EACA/C,EAAOuE,YAAYQ,EAAiBrI,EAAMsD,EAAOuE,WAAYvE,EAAOyB,YAAazB,EAAOwE,kBAC5F,MAAMuB,EAAarJ,EAAKgB,QACxB,IAAIsI,EAAMD,EAAW,GACrB,MAAME,EAAY,CAAC,EACfR,IACFQ,EAAUC,KAAOT,GAEnBQ,EAAUlG,MAAQ8F,EAAe9F,EAAOC,EAAOE,OAAOC,OAAOJ,IAE7D,IAAIoG,EAAiC,GAAL,EAArBnG,EAAOiF,aAGlB,GAFIkB,EAAM,IAAGA,EAAM,GAEP,OAARH,GAA+B,iBAARA,EAAkB,CAC3C,KAAOG,KAAkC,iBAAlBJ,EAAW,IAChCvH,OAAO0E,OAAO+C,EAAWF,EAAWK,SAEtCJ,EAAMD,EAAWjJ,OAASqB,EAAO4H,EAAWK,QAASL,QAAcjI,CACrE,KAA0B,iBAARkI,IAAkBA,EAAM7H,EAAO4H,EAAWK,QAASL,IAIrE,YAHYjI,IAARkI,IAAmBC,EAAUD,IAAMA,GAEZF,EAAmBG,EAEhD,CAjD0BzE,CAASrF,KAAM4D,EAAOrD,EAAM+I,EAAI9I,EAAKoG,aAClDxB,EAAM8E,MAAM/E,EAAO5E,GAEtBC,EAAKyE,SAAU,CACjB,MAAMkF,EAAgB3J,EAAKyE,SAASrB,OAASlB,EAAK+D,OAC5C2D,EAAgBlB,EAAWnF,OAAOC,OAAOmG,GACzCE,EAAcnB,EAAWnF,OAAOC,OAAOJ,GAC7C,GAAIyG,EAAcD,EAAe,QA0DzC,SAAmBvG,EAAQrD,EAAMD,GAC/B,MAAM2E,EAAO1E,EAAK0E,KACZoE,EAAK9I,EAAK8I,GACVgB,EAAc9J,EAAK8J,YACnBD,EAAc7J,EAAK6J,YACnBE,EAAM/J,EAAK+J,IACXhC,EAAW1E,EAAOkF,UAAUR,SAElCK,EACErI,EACAsD,EAAOuE,YAAc/F,OAAOsD,KAAK9B,EAAOyB,aACxCzB,EAAOyB,iBACqB3D,IAA5BkC,EAAOwE,kBAAwCxE,EAAOwE,kBAExDxE,EAAOkF,UAAUO,GAAKA,EACtBzF,EAAOkF,UAAUyB,SAAWjK,EAAKkF,OAAO,SAAUgF,GAEhD,OAAkC,IAA3BlC,EAASzC,QAAQ2E,EAC1B,GAEA5G,EAAOkF,UAAUnF,MAAM8G,MAAQJ,EAC/BzG,EAAOkF,UAAUnF,MAAMuF,MAAQkB,EAE/BnF,EAAKoF,EAAazG,EAAOkF,UAAWwB,GAEpC1G,EAAOkF,UAAYC,EAAoBT,EACzC,CAnFQtD,CAASjF,KAAM,CACbsJ,KACAgB,YAAa1G,EACbyG,cACAF,gBACAC,cAAelB,EAAWnF,OAAOC,OAAOxD,EAAKyE,SAASrB,OAASlB,EAAK+D,QACpEvB,KAAM1E,EAAKyE,SAASC,KACpBqF,IAAK5G,EAAajB,EAAK+D,OAAQyC,IAC9B3I,EACL,CACF,EA7BK,IAAW6E,CA+BpB,CAjDgBuF,CAAWjI,EAAMlC,EAAM0I,EAAYtF,GAGjD,MAAM2E,EArCR,SAA0B1E,GACxB,MAAM0E,EAAW,GACb1E,EAAO0E,UACTA,EAASqC,KAAK/G,EAAO0E,UAIvB,IAAIsC,EAAYhH,EAAOM,GACvB,KAAO0G,EAAU9F,QACf8F,EAAYA,EAAU9F,OAClB8F,EAAUhH,OAAO0E,UACnBA,EAASqC,KAAKC,EAAUhH,OAAO0E,UAInC,OAAOA,EAASuC,SAClB,CAqBmBC,CAAgBrI,GACT,IAApB6F,EAAS5H,SAIb+B,EAAKkB,GAGP,SAAqC2E,EAAUyC,GAC7C,OAAO,WACL,OAAOA,EAAQd,MAAMlK,KAAM,IAAIuI,KAAagB,WAC9C,CACF,CAPgB0B,CAA2B1C,EAAU7F,EAAKkB,IAC1D,CAuEA,SAASgF,EAAkBrI,EAAMgF,EAAWD,EAAaO,GACvD,IAAK,MAAMxE,KAAKd,EACd,GAAIsF,GAAmBtF,EAAKc,aAAcU,MACxCxB,EAAKc,GAAKY,EAAKa,eAAeU,IAAIjD,EAAKc,SAClC,GAAuB,iBAAZd,EAAKc,KAAoBR,MAAM2E,QAAQjF,EAAKc,IAC5D,IAAK,MAAMqE,KAAKnF,EAAKc,GACfkE,GAAaA,EAAUO,QAAQJ,IAAM,GAAKA,KAAKJ,IACjD/E,EAAKc,GAAGqE,GAAKJ,EAAYI,GAAGnF,EAAKc,GAAGqE,IAK9C,CA8BA,SAASsD,EAAqBT,GAC5B,MAAO,CACLe,GAAI,EACJkB,SAAU,GACVjC,SAAUA,GAAY,GACtB3E,MAAO,CAAE8G,MAAO,GAAIvB,MAAO,GAE/B,CAEA,SAAS1F,EAAYD,GACnB,MAAMyD,EAAM,CACVrF,KAAM4B,EAAI0H,YAAYrJ,KACtBgI,IAAKrG,EAAI2H,QACTC,MAAO5H,EAAI4H,OAEb,IAAK,MAAMjE,KAAO3D,OACC7B,IAAbsF,EAAIE,KACNF,EAAIE,GAAO3D,EAAI2D,IAGnB,OAAOF,CACT,CAEA,SAASH,EAAiBtG,GACxB,MAA8B,mBAAnBA,EAAKqG,UACPrG,EAAKqG,WAES,IAAnBrG,EAAKqG,UACAwE,EAEFC,CACT,CAEA,SAAStI,IAAU,MAAO,CAAC,CAAE,CAC7B,SAASG,EAAajC,GAAK,OAAOA,CAAE,CACpC,SAASoF,IAAS,CAElB,SAAS+E,IAAc,OAAO,CAAM,CACpC,SAASC,IAAe,OAAOC,KAAKC,KAAM,CAxN1CvJ,EAAK8B,OAAS,CACZC,OAAQ,CACNM,MAAO,GACPD,MAAO,GACPE,KAAM,GACNC,KAAM,GACNC,MAAO,GACPC,MAAO,IAETsC,OAAQ,CACN,GAAI,QACJ,GAAI,QACJ,GAAI,OACJ,GAAI,OACJ,GAAI,QACJ,GAAI,UAIR/E,EAAKa,eAAiBA,EACtBb,EAAKwJ,iBAAmBpJ,OAAO0E,OAAO,CAAC,EAAG,CAAEsE,WAAUC,YAAWI,SAqMjE,WAAuB,OAAOjK,KAAKkK,MAAMJ,KAAKC,MAAQ,IAAQ,EArMaI,QAsM3E,WAAsB,OAAO,IAAIL,KAAKA,KAAKC,OAAOK,aAAc,IAsBhEhM,EAAOD,QAAP,QAAyBqC,EACzBpC,EAAOD,QAAQqC,KAAOA,C,GC/clB6J,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBrK,IAAjBsK,EACH,OAAOA,EAAarM,QAGrB,IAAIC,EAASiM,EAAyBE,GAAY,CAGjDpM,QAAS,CAAC,GAOX,OAHAsM,EAAoBF,GAAUnM,EAAQA,EAAOD,QAASmM,GAG/ClM,EAAOD,OACf,CCrBAmM,EAAoBI,EAAKtM,IACxB,IAAIuM,EAASvM,GAAUA,EAAOwM,WAC7B,IAAOxM,EAAiB,QACxB,IAAM,EAEP,OADAkM,EAAoBO,EAAEF,EAAQ,CAAElL,EAAGkL,IAC5BA,GCLRL,EAAoBO,EAAI,CAAC1M,EAAS2M,KACjC,IAAI,IAAIpF,KAAOoF,EACXR,EAAoB7L,EAAEqM,EAAYpF,KAAS4E,EAAoB7L,EAAEN,EAASuH,IAC5E9E,OAAOC,eAAe1C,EAASuH,EAAK,CAAEkC,YAAY,EAAM7G,IAAK+J,EAAWpF,MCJ3E4E,EAAoB7L,EAAI,CAAC+G,EAAKuF,IAAUnK,OAAOE,UAAUkK,eAAehD,KAAKxC,EAAKuF,G,oCCQtEE,EC2BAC,E,mBD3BZ,SAAYD,GACV,cACA,kBACA,WACD,CAJD,CAAYA,IAAAA,EAAe,KC2B3B,SAAYC,GACV,0BACA,wBACA,8BACA,8BACA,iBACD,CAND,CAAYA,IAAAA,EAAe,K,sBCvBpB,SAASC,EAAa/K,GAC3B,OAAO,IAAK,CACVA,OACA+B,MAAOiJ,QAAQC,IAAIC,WAAa,OAChClG,UAAW,qBAAsB+E,SAErC,C,sSCNO,MAAMoB,EAKX,WAAA9B,CACmB+B,EACAC,EAKb,CAAC,GANY,KAAAD,OAAAA,EACA,KAAAC,QAAAA,EANF,KAAAC,MAAqB,GAE9B,KAAAC,YAAa,EAWnBpN,KAAK6D,OAAS+I,EAAa,eAC7B,CAKM,OAAAS,CAAQlC,G,wCACZ,GACEnL,KAAKkN,QAAQI,SACbtN,KAAKmN,MAAMxM,QAAUX,KAAKkN,QAAQI,QAElC,MAAM,IAAIvL,MAAM,iBAGlB,MAAOH,KAAS2L,GAAQpC,EAClBqC,EAAuB,CAC3B5L,OACA2L,KAAsB,IAAhBA,EAAK5M,OAAe4M,EAAK,GAAKA,EACpCE,SAAUf,EAAgBgB,OAC1BC,SAAUpC,KAAKC,MACfoC,WAAY,GAGd5N,KAAKmN,MAAMvC,KAAK4C,GAChBxN,KAAKmN,MAAMU,KAAK,CAAC3M,EAAG4M,IACjB5M,EAAEuM,WAAaK,EAAEL,SACfvM,EAAEyM,SAAWG,EAAEH,SACfzM,EAAEuM,WAAaf,EAAgBqB,MAAQ,EAAI,GAG3C/N,KAAKoN,YACRpN,KAAKgO,eAAeC,MAAM5J,IACxBrE,KAAK6D,OAAOQ,MAAM,CAAEA,SAAS,2BAGnC,E,CAKc,YAAA2J,G,wCACZ,IAAIhO,KAAKoN,YAAoC,IAAtBpN,KAAKmN,MAAMxM,OAAlC,CAIAX,KAAKoN,YAAa,EAElB,IACE,KAAOpN,KAAKmN,MAAMxM,OAAS,GAAG,CAC5B,MAAMuN,EAAOlO,KAAKmN,MAAM,GAClBhC,EAA0B,CAAC+C,EAAKtM,KAAMsM,EAAKX,MAEjD,UACQvN,KAAKiN,OAAO9B,GAClBnL,KAAKmN,MAAMlD,OACb,CAAE,MAAO5F,GAGP,GAFArE,KAAK6D,OAAOQ,MAAM,CAAEA,QAAO8G,WAAW,0BAGpCnL,KAAKkN,QAAQiB,YACbD,EAAKN,YAAc5N,KAAKkN,QAAQiB,WAChC,CACAnO,KAAK6D,OAAOU,KACV,CAAE4G,WACF,oDAEFnL,KAAKmN,MAAMlD,QACX,QACF,CAEAiE,EAAKN,mBACC,IAAIQ,QAAQC,GAChBC,WAAWD,EAASrO,KAAKkN,QAAQqB,YAAc,KAEnD,CACF,CACF,C,QACEvO,KAAKoN,YAAa,CACpB,CAGA,GAAIpN,KAAKkN,QAAQsB,aAAc,CAC7B,MAAMhD,EAAMD,KAAKC,MACXgD,EAAexO,KAAKkN,QAAQsB,aAClCxO,KAAKmN,MAAMlH,QAAQ,CAACkF,EAASrK,KACvB0K,EAAML,EAAQwC,SAAWa,IAC3BxO,KAAK6D,OAAOU,KACV,CAAE4G,WACF,yCAEFnL,KAAKmN,MAAMsB,OAAO3N,EAAO,KAG/B,CAlDA,CAmDF,E,CAKA,OAAA4N,GACE,OAAO1O,KAAKmN,MAAMxM,MACpB,CAKA,KAAAgO,GACE3O,KAAKmN,MAAMxM,OAAS,CACtB,E,sSCvHF,SACEiO,cCHK,MAQL,WAAA1D,CACmB2D,EACA3B,EAAgC,CAAC,GADjC,KAAA2B,UAAAA,EACA,KAAA3B,QAAAA,EATX,KAAA4B,GAAuB,KAGvB,KAAAC,gBAAmCpC,EAAgBqC,aACnD,KAAAC,kBAAoB,EACpB,KAAAC,iBAA0C,KAMhDlP,KAAK6D,OAASqJ,EAAQrJ,QAAU+I,EAAa,iBAC7C5M,KAAKmN,MAAQ,IAAIH,EACR7B,GAA4B,iCACjC,IAAKnL,KAAK8O,IAAM9O,KAAK+O,kBAAoBpC,EAAgBwC,UACvD,MAAM,IAAIpN,MAAM,0BAElB,IACE/B,KAAK8O,GAAG5J,KAAK/E,KAAKC,UAAU+K,IAC5BnL,KAAK6D,OAAOY,MAAM,CAAE0G,WAAW,eACjC,CAAE,MAAO9G,GAEP,MADArE,KAAK6D,OAAOQ,MAAM,CAAEA,QAAO8G,WAAW,0BAChC9G,CACR,CACF,GACA,CACEiJ,QAASJ,EAAQkC,UACjBjB,WAAYjB,EAAQiB,WACpBI,WAAYrB,EAAQqB,YAG1B,CAKM,OAAAc,G,wCACJ,GAAIrP,KAAK+O,kBAAoBpC,EAAgBwC,UAK7C,GAAInP,KAAK+O,kBAAoBpC,EAAgB2C,WAA7C,CAKAtP,KAAK+O,gBAAkBpC,EAAgB2C,WAEvC,IACE,MAAMC,EAAMvP,KAAK6O,UAAU,GAC3B7O,KAAK8O,GAAK,IAAI,IAAJ,CAAcS,SAElB,IAAInB,QAAc,CAACC,EAASmB,KAChC,MAAMC,EAAUnB,WAAW,KACzBkB,EAAO,IAAIzN,MAAM,wBAChB/B,KAAKkN,QAAQwC,mBAAqB,KAErC1P,KAAK8O,GAAIpH,GAAG,OAAQ,KAClBiI,aAAaF,GACbzP,KAAK+O,gBAAkBpC,EAAgBwC,UACvCnP,KAAKiP,kBAAoB,EACzBjP,KAAK6D,OAAOW,KAAK,sBACjB6J,MAGFrO,KAAK8O,GAAIpH,GAAG,QAAUrD,IACpBsL,aAAaF,GACbzP,KAAK6D,OAAOQ,MAAM,CAAEA,SAAS,mBACzBrE,KAAKkN,QAAQ0C,SACf5P,KAAKkN,QAAQ0C,QAAQvL,GAEvBmL,EAAOnL,KAGTrE,KAAK8O,GAAIpH,GAAG,QAAS,KACnB1H,KAAK6P,qBAGP7P,KAAK8O,GAAIpH,GAAG,UAAY6F,IACtBvN,KAAK8P,cAAcvC,MAGzB,CAAE,MAAOlJ,GAGP,MAFArE,KAAK6D,OAAOQ,MAAM,CAAEA,SAAS,qBAC7BrE,KAAK6P,mBACCxL,CACR,CA1CA,MAFErE,KAAK6D,OAAOY,MAAM,uCALlBzE,KAAK6D,OAAOY,MAAM,oBAkDtB,E,CAKM,UAAAsL,G,wCACA/P,KAAK+O,kBAAoBpC,EAAgBqC,cAK7ChP,KAAK+O,gBAAkBpC,EAAgBqC,aAEnChP,KAAKkP,mBACPS,aAAa3P,KAAKkP,kBAClBlP,KAAKkP,iBAAmB,MAGtBlP,KAAK8O,KACP9O,KAAK8O,GAAGkB,QACRhQ,KAAK8O,GAAK,MAGZ9O,KAAK6D,OAAOW,KAAK,4BAhBfxE,KAAK6D,OAAOY,MAAM,uBAiBtB,E,CAKM,WAAAwL,CAAY9E,G,wCAChB,GAAInL,KAAK+O,kBAAoBpC,EAAgBwC,UAC3C,MAAM,IAAIpN,MAAM,gCAGZ/B,KAAKmN,MAAME,QAAQlC,EAC3B,E,CAEQ,aAAA2E,CAAcvC,GACpB,IACE,MAAMpC,EAAUhL,KAAK+P,MAAM3C,EAAK4C,YAChCnQ,KAAK6D,OAAOY,MAAM,CAAE0G,WAAW,oBAE3BnL,KAAKkN,QAAQkD,WACfpQ,KAAKkN,QAAQkD,UAAU7C,EAAK4C,WAEhC,CAAE,MAAO9L,GACPrE,KAAK6D,OAAOQ,MAAM,CAAEA,QAAOkJ,QAAQ,2BAC/BvN,KAAKkN,QAAQ0C,SACf5P,KAAKkN,QAAQ0C,QAAQvL,EAEzB,CACF,CAEQ,gBAAAwL,GAIN,GAHA7P,KAAK+O,gBAAkBpC,EAAgBqC,aACvChP,KAAK8O,GAAK,KAGR9O,KAAKkN,QAAQmD,eACbrQ,KAAKiP,kBAAoBjP,KAAKkN,QAAQmD,cACtC,CACArQ,KAAK+O,gBAAkBpC,EAAgB2D,aACvCtQ,KAAKiP,oBAEL,MAAMsB,EAAQvQ,KAAKkN,QAAQqB,YAAc,IACzCvO,KAAK6D,OAAOW,KACV,CAAEgM,QAASxQ,KAAKiP,kBAAmBwB,YAAazQ,KAAKkN,QAAQmD,eAC7D,mBAAmBE,OAGrBvQ,KAAKkP,iBAAmBZ,WAAW,KACjCtO,KAAKqP,UAAUpB,MAAM5J,IACnBrE,KAAK6D,OAAOQ,MAAM,CAAEA,SAAS,0BAE9BkM,EACL,MACEvQ,KAAK6D,OAAOU,KAAK,qCACjBvE,KAAK+O,gBAAkBpC,EAAgB+D,MAE3C,CAKA,kBAAAC,GACE,OAAO3Q,KAAK+O,eACd,I","sources":["webpack://NostrWebSocketUtils/webpack/universalModuleDefinition","webpack://NostrWebSocketUtils/./node_modules/quick-format-unescaped/index.js","webpack://NostrWebSocketUtils/./node_modules/ws/browser.js","webpack://NostrWebSocketUtils/./node_modules/pino/browser.js","webpack://NostrWebSocketUtils/webpack/bootstrap","webpack://NostrWebSocketUtils/webpack/runtime/compat get default export","webpack://NostrWebSocketUtils/webpack/runtime/define property getters","webpack://NostrWebSocketUtils/webpack/runtime/hasOwnProperty shorthand","webpack://NostrWebSocketUtils/./src/types/priority.ts","webpack://NostrWebSocketUtils/./src/types/index.ts","webpack://NostrWebSocketUtils/./src/utils/logger.ts","webpack://NostrWebSocketUtils/./src/core/queue.ts","webpack://NostrWebSocketUtils/./src/browser.ts","webpack://NostrWebSocketUtils/./src/core/client.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NostrWebSocketUtils\"] = factory();\n\telse\n\t\troot[\"NostrWebSocketUtils\"] = factory();\n})(this, () => {\nreturn ","'use strict'\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || '<anonymous>'\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n","'use strict';\n\nmodule.exports = function () {\n throw new Error(\n 'ws does not work in the browser. Browser clients must use the native ' +\n 'WebSocket object'\n );\n};\n","'use strict'\n\nconst format = require('quick-format-unescaped')\n\nmodule.exports = pino\n\nconst _console = pfGlobalThisOrFallback().console || {}\nconst stdSerializers = {\n mapHttpRequest: mock,\n mapHttpResponse: mock,\n wrapRequestSerializer: passthrough,\n wrapResponseSerializer: passthrough,\n wrapErrorSerializer: passthrough,\n req: mock,\n res: mock,\n err: asErrValue,\n errWithCause: asErrValue\n}\nfunction levelToValue (level, logger) {\n return level === 'silent'\n ? Infinity\n : logger.levels.values[level]\n}\nconst baseLogFunctionSymbol = Symbol('pino.logFuncs')\nconst hierarchySymbol = Symbol('pino.hierarchy')\n\nconst logFallbackMap = {\n error: 'log',\n fatal: 'error',\n warn: 'error',\n info: 'log',\n debug: 'log',\n trace: 'log'\n}\n\nfunction appendChildLogger (parentLogger, childLogger) {\n const newEntry = {\n logger: childLogger,\n parent: parentLogger[hierarchySymbol]\n }\n childLogger[hierarchySymbol] = newEntry\n}\n\nfunction setupBaseLogFunctions (logger, levels, proto) {\n const logFunctions = {}\n levels.forEach(level => {\n logFunctions[level] = proto[level] ? proto[level] : (_console[level] || _console[logFallbackMap[level] || 'log'] || noop)\n })\n logger[baseLogFunctionSymbol] = logFunctions\n}\n\nfunction shouldSerialize (serialize, serializers) {\n if (Array.isArray(serialize)) {\n const hasToFilter = serialize.filter(function (k) {\n return k !== '!stdSerializers.err'\n })\n return hasToFilter\n } else if (serialize === true) {\n return Object.keys(serializers)\n }\n\n return false\n}\n\nfunction pino (opts) {\n opts = opts || {}\n opts.browser = opts.browser || {}\n\n const transmit = opts.browser.transmit\n if (transmit && typeof transmit.send !== 'function') { throw Error('pino: transmit option must have a send function') }\n\n const proto = opts.browser.write || _console\n if (opts.browser.write) opts.browser.asObject = true\n const serializers = opts.serializers || {}\n const serialize = shouldSerialize(opts.browser.serialize, serializers)\n let stdErrSerialize = opts.browser.serialize\n\n if (\n Array.isArray(opts.browser.serialize) &&\n opts.browser.serialize.indexOf('!stdSerializers.err') > -1\n ) stdErrSerialize = false\n\n const customLevels = Object.keys(opts.customLevels || {})\n const levels = ['error', 'fatal', 'warn', 'info', 'debug', 'trace'].concat(customLevels)\n\n if (typeof proto === 'function') {\n levels.forEach(function (level) {\n proto[level] = proto\n })\n }\n if (opts.enabled === false || opts.browser.disabled) opts.level = 'silent'\n const level = opts.level || 'info'\n const logger = Object.create(proto)\n if (!logger.log) logger.log = noop\n\n setupBaseLogFunctions(logger, levels, proto)\n // setup root hierarchy entry\n appendChildLogger({}, logger)\n\n Object.defineProperty(logger, 'levelVal', {\n get: getLevelVal\n })\n Object.defineProperty(logger, 'level', {\n get: getLevel,\n set: setLevel\n })\n\n const setOpts = {\n transmit,\n serialize,\n asObject: opts.browser.asObject,\n formatters: opts.browser.formatters,\n levels,\n timestamp: getTimeFunction(opts)\n }\n logger.levels = getLevels(opts)\n logger.level = level\n\n logger.setMaxListeners = logger.getMaxListeners =\n logger.emit = logger.addListener = logger.on =\n logger.prependListener = logger.once =\n logger.prependOnceListener = logger.removeListener =\n logger.removeAllListeners = logger.listeners =\n logger.listenerCount = logger.eventNames =\n logger.write = logger.flush = noop\n logger.serializers = serializers\n logger._serialize = serialize\n logger._stdErrSerialize = stdErrSerialize\n logger.child = child\n\n if (transmit) logger._logEvent = createLogEventShape()\n\n function getLevelVal () {\n return levelToValue(this.level, this)\n }\n\n function getLevel () {\n return this._level\n }\n function setLevel (level) {\n if (level !== 'silent' && !this.levels.values[level]) {\n throw Error('unknown level ' + level)\n }\n this._level = level\n\n set(this, setOpts, logger, 'error') // <-- must stay first\n set(this, setOpts, logger, 'fatal')\n set(this, setOpts, logger, 'warn')\n set(this, setOpts, logger, 'info')\n set(this, setOpts, logger, 'debug')\n set(this, setOpts, logger, 'trace')\n\n customLevels.forEach((level) => {\n set(this, setOpts, logger, level)\n })\n }\n\n function child (bindings, childOptions) {\n if (!bindings) {\n throw new Error('missing bindings for child Pino')\n }\n childOptions = childOptions || {}\n if (serialize && bindings.serializers) {\n childOptions.serializers = bindings.serializers\n }\n const childOptionsSerializers = childOptions.serializers\n if (serialize && childOptionsSerializers) {\n var childSerializers = Object.assign({}, serializers, childOptionsSerializers)\n var childSerialize = opts.browser.serialize === true\n ? Object.keys(childSerializers)\n : serialize\n delete bindings.serializers\n applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize)\n }\n function Child (parent) {\n this._childLevel = (parent._childLevel | 0) + 1\n\n // make sure bindings are available in the `set` function\n this.bindings = bindings\n\n if (childSerializers) {\n this.serializers = childSerializers\n this._serialize = childSerialize\n }\n if (transmit) {\n this._logEvent = createLogEventShape(\n [].concat(parent._logEvent.bindings, bindings)\n )\n }\n }\n Child.prototype = this\n const newLogger = new Child(this)\n\n // must happen before the level is assigned\n appendChildLogger(this, newLogger)\n // required to actually initialize the logger functions for any given child\n newLogger.level = this.level\n\n return newLogger\n }\n return logger\n}\n\nfunction getLevels (opts) {\n const customLevels = opts.customLevels || {}\n\n const values = Object.assign({}, pino.levels.values, customLevels)\n const labels = Object.assign({}, pino.levels.labels, invertObject(customLevels))\n\n return {\n values,\n labels\n }\n}\n\nfunction invertObject (obj) {\n const inverted = {}\n Object.keys(obj).forEach(function (key) {\n inverted[obj[key]] = key\n })\n return inverted\n}\n\npino.levels = {\n values: {\n fatal: 60,\n error: 50,\n warn: 40,\n info: 30,\n debug: 20,\n trace: 10\n },\n labels: {\n 10: 'trace',\n 20: 'debug',\n 30: 'info',\n 40: 'warn',\n 50: 'error',\n 60: 'fatal'\n }\n}\n\npino.stdSerializers = stdSerializers\npino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime })\n\nfunction getBindingChain (logger) {\n const bindings = []\n if (logger.bindings) {\n bindings.push(logger.bindings)\n }\n\n // traverse up the tree to get all bindings\n let hierarchy = logger[hierarchySymbol]\n while (hierarchy.parent) {\n hierarchy = hierarchy.parent\n if (hierarchy.logger.bindings) {\n bindings.push(hierarchy.logger.bindings)\n }\n }\n\n return bindings.reverse()\n}\n\nfunction set (self, opts, rootLogger, level) {\n // override the current log functions with either `noop` or the base log function\n Object.defineProperty(self, level, {\n value: (levelToValue(self.level, rootLogger) > levelToValue(level, rootLogger)\n ? noop\n : rootLogger[baseLogFunctionSymbol][level]),\n writable: true,\n enumerable: true,\n configurable: true\n })\n\n if (!opts.transmit && self[level] === noop) {\n return\n }\n\n // make sure the log format is correct\n self[level] = createWrap(self, opts, rootLogger, level)\n\n // prepend bindings if it is not the root logger\n const bindings = getBindingChain(self)\n if (bindings.length === 0) {\n // early exit in case for rootLogger\n return\n }\n self[level] = prependBindingsInArguments(bindings, self[level])\n}\n\nfunction prependBindingsInArguments (bindings, logFunc) {\n return function () {\n return logFunc.apply(this, [...bindings, ...arguments])\n }\n}\n\nfunction createWrap (self, opts, rootLogger, level) {\n return (function (write) {\n return function LOG () {\n const ts = opts.timestamp()\n const args = new Array(arguments.length)\n const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this\n for (var i = 0; i < args.length; i++) args[i] = arguments[i]\n\n if (opts.serialize && !opts.asObject) {\n applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize)\n }\n if (opts.asObject || opts.formatters) {\n write.call(proto, asObject(this, level, args, ts, opts.formatters))\n } else write.apply(proto, args)\n\n if (opts.transmit) {\n const transmitLevel = opts.transmit.level || self._level\n const transmitValue = rootLogger.levels.values[transmitLevel]\n const methodValue = rootLogger.levels.values[level]\n if (methodValue < transmitValue) return\n transmit(this, {\n ts,\n methodLevel: level,\n methodValue,\n transmitLevel,\n transmitValue: rootLogger.levels.values[opts.transmit.level || self._level],\n send: opts.transmit.send,\n val: levelToValue(self._level, rootLogger)\n }, args)\n }\n }\n })(self[baseLogFunctionSymbol][level])\n}\n\nfunction asObject (logger, level, args, ts, formatters = {}) {\n const {\n level: levelFormatter = () => logger.levels.values[level],\n log: logObjectFormatter = (obj) => obj\n } = formatters\n if (logger._serialize) applySerializers(args, logger._serialize, logger.serializers, logger._stdErrSerialize)\n const argsCloned = args.slice()\n let msg = argsCloned[0]\n const logObject = {}\n if (ts) {\n logObject.time = ts\n }\n logObject.level = levelFormatter(level, logger.levels.values[level])\n\n let lvl = (logger._childLevel | 0) + 1\n if (lvl < 1) lvl = 1\n // deliberate, catching objects, arrays\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(logObject, argsCloned.shift())\n }\n msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined\n } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned)\n if (msg !== undefined) logObject.msg = msg\n\n const formattedLogObject = logObjectFormatter(logObject)\n return formattedLogObject\n}\n\nfunction applySerializers (args, serialize, serializers, stdErrSerialize) {\n for (const i in args) {\n if (stdErrSerialize && args[i] instanceof Error) {\n args[i] = pino.stdSerializers.err(args[i])\n } else if (typeof args[i] === 'object' && !Array.isArray(args[i])) {\n for (const k in args[i]) {\n if (serialize && serialize.indexOf(k) > -1 && k in serializers) {\n args[i][k] = serializers[k](args[i][k])\n }\n }\n }\n }\n}\n\nfunction transmit (logger, opts, args) {\n const send = opts.send\n const ts = opts.ts\n const methodLevel = opts.methodLevel\n const methodValue = opts.methodValue\n const val = opts.val\n const bindings = logger._logEvent.bindings\n\n applySerializers(\n args,\n logger._serialize || Object.keys(logger.serializers),\n logger.serializers,\n logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize\n )\n logger._logEvent.ts = ts\n logger._logEvent.messages = args.filter(function (arg) {\n // bindings can only be objects, so reference equality check via indexOf is fine\n return bindings.indexOf(arg) === -1\n })\n\n logger._logEvent.level.label = methodLevel\n logger._logEvent.level.value = methodValue\n\n send(methodLevel, logger._logEvent, val)\n\n logger._logEvent = createLogEventShape(bindings)\n}\n\nfunction createLogEventShape (bindings) {\n return {\n ts: 0,\n messages: [],\n bindings: bindings || [],\n level: { label: '', value: 0 }\n }\n}\n\nfunction asErrValue (err) {\n const obj = {\n type: err.constructor.name,\n msg: err.message,\n stack: err.stack\n }\n for (const key in err) {\n if (obj[key] === undefined) {\n obj[key] = err[key]\n }\n }\n return obj\n}\n\nfunction getTimeFunction (opts) {\n if (typeof opts.timestamp === 'function') {\n return opts.timestamp\n }\n if (opts.timestamp === false) {\n return nullTime\n }\n return epochTime\n}\n\nfunction mock () { return {} }\nfunction passthrough (a) { return a }\nfunction noop () {}\n\nfunction nullTime () { return false }\nfunction epochTime () { return Date.now() }\nfunction unixTime () { return Math.round(Date.now() / 1000.0) }\nfunction isoTime () { return new Date(Date.now()).toISOString() } // using Date.now() for testability\n\n/* eslint-disable */\n/* istanbul ignore next */\nfunction pfGlobalThisOrFallback () {\n function defd (o) { return typeof o !== 'undefined' && o }\n try {\n if (typeof globalThis !== 'undefined') return globalThis\n Object.defineProperty(Object.prototype, 'globalThis', {\n get: function () {\n delete Object.prototype.globalThis\n return (this.globalThis = this)\n },\n configurable: true\n })\n return globalThis\n } catch (e) {\n return defd(self) || defd(window) || defd(this) || {}\n }\n}\n/* eslint-enable */\n\nmodule.exports.default = pino\nmodule.exports.pino = pino\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/**\n * @file Message priority definitions\n * @module types/priority\n */\n\n/**\n * Message priority levels for queue management\n */\nexport enum MessagePriority {\n HIGH = 'HIGH',\n NORMAL = 'NORMAL',\n LOW = 'LOW'\n}\n","/**\n * @file Core type definitions\n * @module types\n */\n\nimport type { WebSocket } from 'ws';\nimport type { Logger } from './logger.js';\nimport type { NostrWSMessage, NostrEvent as MessageNostrEvent } from './messages.js';\n\n// Re-export specific types to avoid ambiguity\nexport type { NostrWSMessage } from './messages.js';\nexport type { QueueItem } from './messages.js';\nexport * from './filters.js';\nexport * from './relays.js';\nexport * from './logger.js';\nexport * from './priority.js';\n\n// Export the NostrEvent from messages.ts as our canonical version\nexport type NostrEvent = MessageNostrEvent;\n\n/**\n * Extended WebSocket interface with client ID\n */\nexport interface ExtendedWebSocket extends WebSocket {\n clientId?: string;\n isAlive?: boolean;\n subscriptions?: Set<string>;\n lastPing?: number;\n reconnectAttempts?: number;\n messageQueue?: NostrWSMessage[];\n}\n\n/**\n * WebSocket connection states\n */\nexport enum ConnectionState {\n CONNECTING = 'CONNECTING',\n CONNECTED = 'CONNECTED',\n DISCONNECTED = 'DISCONNECTED',\n RECONNECTING = 'RECONNECTING',\n FAILED = 'FAILED'\n}\n\n/**\n * Retry configuration options\n */\nexport interface RetryConfig {\n maxAttempts: number;\n initialDelay: number;\n maxDelay: number;\n backoffFactor: number;\n}\n\n/**\n * Queue configuration options\n */\nexport interface QueueConfig {\n maxSize: number;\n maxRetries: number;\n retryDelay: number;\n staleTimeout: number;\n}\n\n/**\n * Heartbeat configuration options\n */\nexport interface HeartbeatConfig {\n interval: number;\n timeout: number;\n maxMissed: number;\n}\n\n/**\n * WebSocket client options\n */\nexport interface NostrWSOptions {\n WebSocketImpl?: typeof WebSocket;\n connectionTimeout?: number;\n retryAttempts?: number;\n retryDelay?: number;\n onMessage?: (message: string) => void;\n onError?: (error: Error) => void;\n retry?: Partial<RetryConfig>;\n queue?: Partial<QueueConfig>;\n heartbeat?: Partial<HeartbeatConfig>;\n autoReconnect?: boolean;\n bufferMessages?: boolean;\n cleanStaleMessages?: boolean;\n logger?: Logger;\n}\n\n/**\n * Represents a subscription to a Nostr relay\n */\nexport interface NostrWSSubscription {\n /**\n * Channel identifier for the subscription\n */\n channel: string;\n \n /**\n * Filter criteria for the subscription\n */\n filter?: Record<string, unknown>;\n}\n\n/**\n * Events emitted by the NostrWSClient\n */\nexport interface NostrWSClientEvents {\n /**\n * Emitted when the client connects to the relay\n */\n connect: () => void;\n \n /**\n * Emitted when the client disconnects from the relay\n */\n disconnect: () => void;\n \n /**\n * Emitted when the client reconnects to the relay\n */\n reconnect: () => void;\n \n /**\n * Emitted when a message is received from the relay\n * @param message - The received message\n */\n message: (message: NostrWSMessage) => Promise<void>;\n \n /**\n * Emitted when an error occurs\n * @param error - The error that occurred\n */\n error: (error: Error) => void;\n close: () => void;\n stateChange?: (state: ConnectionState) => void;\n heartbeat?: () => void;\n}\n\n/**\n * Events emitted by the NostrWSServer\n */\nexport interface NostrWSServerEvents {\n /**\n * Emitted when a client connects\n * @param client - The connected client\n */\n connection: (client: ExtendedWebSocket) => void;\n\n /**\n * Emitted when a message is received from a client\n * @param message - The received message\n * @param client - The client that sent the message\n */\n message: (message: NostrWSMessage, client: ExtendedWebSocket) => void;\n\n /**\n * Emitted when an error occurs\n * @param error - The error that occurred\n */\n error: (error: Error) => void;\n}\n","/**\n * @file Logger utility\n * @module utils/logger\n */\n\nimport pino, { Logger } from 'pino';\n\n/**\n * Create a new logger instance\n * @param name Name of the logger\n * @returns Logger instance\n */\nexport function createLogger(name: string): Logger {\n return pino({\n name,\n level: process.env.LOG_LEVEL || 'info',\n timestamp: pino.stdTimeFunctions.isoTime\n });\n}\n\n/**\n * Get a logger instance for a specific component\n * @param component Component name for the logger\n * @returns Logger instance\n */\nexport function getLogger(component: string): Logger {\n return createLogger(component);\n}\n\n/**\n * Get a child logger instance\n * @param parent Parent logger instance\n * @param bindings Additional bindings for the child logger\n * @returns Child logger instance\n */\nexport function getChildLogger(parent: Logger, bindings: object): Logger {\n return parent.child(bindings);\n}\n\nexport type { Logger };\n","/**\n * @file Message queue implementation\n * @module core/queue\n */\n\nimport { NostrWSMessage, MessagePriority, QueueItem } from '../types/index.js';\nimport { createLogger } from '../utils/logger.js';\nimport { Logger } from 'pino';\n\n/**\n * Message queue implementation for handling WebSocket messages\n */\nexport class MessageQueue {\n private readonly queue: QueueItem[] = [];\n private readonly logger: Logger;\n private processing = false;\n\n constructor(\n private readonly sender: (message: NostrWSMessage) => Promise<void>,\n private readonly options: {\n maxSize?: number;\n maxRetries?: number;\n retryDelay?: number;\n staleTimeout?: number;\n } = {}\n ) {\n this.logger = createLogger('MessageQueue');\n }\n\n /**\n * Add a message to the queue\n */\n async enqueue(message: NostrWSMessage): Promise<void> {\n if (\n this.options.maxSize &&\n this.queue.length >= this.options.maxSize\n ) {\n throw new Error('Queue is full');\n }\n\n const [type, ...data] = message;\n const queueItem: QueueItem = {\n type,\n data: data.length === 1 ? data[0] : data,\n priority: MessagePriority.NORMAL,\n queuedAt: Date.now(),\n retryCount: 0\n };\n\n this.queue.push(queueItem);\n this.queue.sort((a, b) => \n (a.priority === b.priority) ? \n (a.queuedAt - b.queuedAt) : \n (a.priority === MessagePriority.HIGH ? -1 : 1)\n );\n\n if (!this.processing) {\n this.processQueue().catch(error => {\n this.logger.error({ error }, 'Error processing queue');\n });\n }\n }\n\n /**\n * Process messages in the queue\n */\n private async processQueue(): Promise<void> {\n if (this.processing || this.queue.length === 0) {\n return;\n }\n\n this.processing = true;\n\n try {\n while (this.queue.length > 0) {\n const item = this.queue[0];\n const message: NostrWSMessage = [item.type, item.data];\n\n try {\n await this.sender(message);\n this.queue.shift();\n } catch (error) {\n this.logger.error({ error, message }, 'Failed to send message');\n\n if (\n this.options.maxRetries &&\n item.retryCount >= this.options.maxRetries\n ) {\n this.logger.warn(\n { message },\n 'Max retries reached, removing message from queue'\n );\n this.queue.shift();\n continue;\n }\n\n item.retryCount++;\n await new Promise(resolve =>\n setTimeout(resolve, this.options.retryDelay || 1000)\n );\n }\n }\n } finally {\n this.processing = false;\n }\n\n // Clean up stale messages\n if (this.options.staleTimeout) {\n const now = Date.now();\n const staleTimeout = this.options.staleTimeout;\n this.queue.forEach((message, index) => {\n if (now - message.queuedAt > staleTimeout) {\n this.logger.warn(\n { message },\n 'Message is stale, removing from queue'\n );\n this.queue.splice(index, 1);\n }\n });\n }\n }\n\n /**\n * Get the current size of the queue\n */\n getSize(): number {\n return this.queue.length;\n }\n\n /**\n * Clear all messages from the queue\n */\n clear(): void {\n this.queue.length = 0;\n }\n}\n","import { NostrWSClient } from './core/client';\nimport type { NostrWSMessage, ConnectionState } from './types/index';\nimport type { NostrWSClientOptions } from './types/websocket';\n\n// Re-export the client\nexport { NostrWSClient };\n\n// Re-export types\nexport type {\n NostrWSMessage,\n NostrWSClientOptions,\n ConnectionState\n};\n\n// Export a default object for UMD bundle\nexport default {\n NostrWSClient\n};\n","import WebSocket from 'ws';\nimport { \n NostrWSMessage, \n ConnectionState\n} from '../types/index.js';\nimport { NostrWSClientOptions } from '../types/websocket.js';\nimport { MessageQueue } from './queue.js';\nimport { createLogger } from '../utils/logger.js';\nimport { Logger } from 'pino';\n\n/**\n * NostrWSClient handles WebSocket connections to Nostr relays\n */\nexport class NostrWSClient {\n private ws: WebSocket | null = null;\n private readonly queue: MessageQueue;\n private readonly logger: Logger;\n private connectionState: ConnectionState = ConnectionState.DISCONNECTED;\n private reconnectAttempts = 0;\n private reconnectTimeout: NodeJS.Timeout | null = null;\n\n constructor(\n private readonly relayUrls: string[],\n private readonly options: NostrWSClientOptions = {}\n ) {\n this.logger = options.logger || createLogger('NostrWSClient');\n this.queue = new MessageQueue(\n async (message: NostrWSMessage) => {\n if (!this.ws || this.connectionState !== ConnectionState.CONNECTED) {\n throw new Error('Not connected to relay');\n }\n try {\n this.ws.send(JSON.stringify(message));\n this.logger.debug({ message }, 'Message sent');\n } catch (error) {\n this.logger.error({ error, message }, 'Failed to send message');\n throw error;\n }\n },\n {\n maxSize: options.queueSize,\n maxRetries: options.maxRetries,\n retryDelay: options.retryDelay\n }\n );\n }\n\n /**\n * Connect to the relay\n */\n async connect(): Promise<void> {\n if (this.connectionState === ConnectionState.CONNECTED) {\n this.logger.debug('Already connected');\n return;\n }\n\n if (this.connectionState === ConnectionState.CONNECTING) {\n this.logger.debug('Connection already in progress');\n return;\n }\n\n this.connectionState = ConnectionState.CONNECTING;\n\n try {\n const url = this.relayUrls[0]; // For now just use first relay\n this.ws = new WebSocket(url);\n\n await new Promise<void>((resolve, reject) => {\n const timeout = setTimeout(() => {\n reject(new Error('Connection timeout'));\n }, this.options.connectionTimeout || 5000);\n\n this.ws!.on('open', () => {\n clearTimeout(timeout);\n this.connectionState = ConnectionState.CONNECTED;\n this.reconnectAttempts = 0;\n this.logger.info('Connected to relay');\n resolve();\n });\n\n this.ws!.on('error', (error) => {\n clearTimeout(timeout);\n this.logger.error({ error }, 'WebSocket error');\n if (this.options.onError) {\n this.options.onError(error);\n }\n reject(error);\n });\n\n this.ws!.on('close', () => {\n this.handleDisconnect();\n });\n\n this.ws!.on('message', (data: WebSocket.Data) => {\n this.handleMessage(data);\n });\n });\n } catch (error) {\n this.logger.error({ error }, 'Failed to connect');\n this.handleDisconnect();\n throw error;\n }\n }\n\n /**\n * Disconnect from the relay\n */\n async disconnect(): Promise<void> {\n if (this.connectionState === ConnectionState.DISCONNECTED) {\n this.logger.debug('Already disconnected');\n return;\n }\n\n this.connectionState = ConnectionState.DISCONNECTED;\n \n if (this.reconnectTimeout) {\n clearTimeout(this.reconnectTimeout);\n this.reconnectTimeout = null;\n }\n\n if (this.ws) {\n this.ws.close();\n this.ws = null;\n }\n\n this.logger.info('Disconnected from relay');\n }\n\n /**\n * Send a message to the relay\n */\n async sendMessage(message: NostrWSMessage): Promise<void> {\n if (this.connectionState !== ConnectionState.CONNECTED) {\n throw new Error('Not connected to relay');\n }\n\n await this.queue.enqueue(message);\n }\n\n private handleMessage(data: WebSocket.Data): void {\n try {\n const message = JSON.parse(data.toString()) as NostrWSMessage;\n this.logger.debug({ message }, 'Received message');\n \n if (this.options.onMessage) {\n this.options.onMessage(data.toString());\n }\n } catch (error) {\n this.logger.error({ error, data }, 'Failed to parse message');\n if (this.options.onError) {\n this.options.onError(error as Error);\n }\n }\n }\n\n private handleDisconnect(): void {\n this.connectionState = ConnectionState.DISCONNECTED;\n this.ws = null;\n\n if (\n this.options.retryAttempts &&\n this.reconnectAttempts < this.options.retryAttempts\n ) {\n this.connectionState = ConnectionState.RECONNECTING;\n this.reconnectAttempts++;\n\n const delay = this.options.retryDelay || 1000;\n this.logger.info(\n { attempt: this.reconnectAttempts, maxAttempts: this.options.retryAttempts },\n `Reconnecting in ${delay}ms`\n );\n\n this.reconnectTimeout = setTimeout(() => {\n this.connect().catch(error => {\n this.logger.error({ error }, 'Reconnection failed');\n });\n }, delay);\n } else {\n this.logger.warn('Max reconnection attempts reached');\n this.connectionState = ConnectionState.FAILED;\n }\n }\n\n /**\n * Get the current connection state\n */\n getConnectionState(): ConnectionState {\n return this.connectionState;\n }\n}\n"],"names":["root","factory","exports","module","define","amd","this","tryStringify","o","JSON","stringify","e","f","args","opts","ss","len","length","objects","Array","index","join","argLen","str","a","lastPos","flen","i","charCodeAt","slice","Number","Math","floor","undefined","type","name","String","Error","format","pino","_console","defd","globalThis","Object","defineProperty","prototype","get","configurable","self","window","pfGlobalThisOrFallback","console","stdSerializers","mapHttpRequest","mock","mapHttpResponse","wrapRequestSerializer","passthrough","wrapResponseSerializer","wrapErrorSerializer","req","res","err","asErrValue","errWithCause","levelToValue","level","logger","Infinity","levels","values","baseLogFunctionSymbol","Symbol","hierarchySymbol","logFallbackMap","error","fatal","warn","info","debug","trace","appendChildLogger","parentLogger","childLogger","newEntry","parent","browser","transmit","send","proto","write","asObject","serializers","serialize","isArray","filter","k","keys","shouldSerialize","stdErrSerialize","indexOf","customLevels","concat","forEach","enabled","disabled","create","log","noop","logFunctions","setupBaseLogFunctions","_level","set","setOpts","formatters","timestamp","getTimeFunction","assign","labels","obj","inverted","key","invertObject","getLevels","setMaxListeners","getMaxListeners","emit","addListener","on","prependListener","once","prependOnceListener","removeListener","removeAllListeners","listeners","listenerCount","eventNames","flush","_serialize","_stdErrSerialize","child","bindings","childOptions","childOptionsSerializers","childSerializers","childSerialize","applySerializers","Child","_childLevel","_logEvent","createLogEventShape","newLogger","rootLogger","value","writable","enumerable","ts","arguments","getPrototypeOf","call","levelFormatter","logObjectFormatter","argsCloned","msg","logObject","time","lvl","shift","apply","transmitLevel","transmitValue","methodValue","methodLevel","val","messages","arg","label","createWrap","push","hierarchy","reverse","getBindingChain","logFunc","prependBindingsInArguments","constructor","message","stack","nullTime","epochTime","Date","now","stdTimeFunctions","unixTime","round","isoTime","toISOString","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","definition","prop","hasOwnProperty","MessagePriority","ConnectionState","createLogger","process","env","LOG_LEVEL","MessageQueue","sender","options","queue","processing","enqueue","maxSize","data","queueItem","priority","NORMAL","queuedAt","retryCount","sort","b","HIGH","processQueue","catch","item","maxRetries","Promise","resolve","setTimeout","retryDelay","staleTimeout","splice","getSize","clear","NostrWSClient","relayUrls","ws","connectionState","DISCONNECTED","reconnectAttempts","reconnectTimeout","CONNECTED","queueSize","connect","CONNECTING","url","reject","timeout","connectionTimeout","clearTimeout","onError","handleDisconnect","handleMessage","disconnect","close","sendMessage","parse","toString","onMessage","retryAttempts","RECONNECTING","delay","attempt","maxAttempts","FAILED","getConnectionState"],"sourceRoot":""}
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>nostr-websocket-utils [13 Jan 2025 at 18:36]</title>
6
+ <title>nostr-websocket-utils [20 Feb 2026 at 10:52]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
@@ -31,7 +31,7 @@
31
31
  <body>
32
32
  <div id="app"></div>
33
33
  <script>
34
- window.chartData = [{"label":"nostr-websocket-utils.min.js","isAsset":true,"statSize":28900,"parsedSize":13574,"gzipSize":4733,"groups":[{"label":"node_modules","path":"./node_modules","statSize":15978,"groups":[{"label":"pino","path":"./node_modules/pino","statSize":13141,"groups":[{"id":874,"label":"browser.js","path":"./node_modules/pino/browser.js","statSize":13141}],"parsedSize":0,"gzipSize":0},{"label":"quick-format-unescaped","path":"./node_modules/quick-format-unescaped","statSize":2661,"groups":[{"id":793,"label":"index.js","path":"./node_modules/quick-format-unescaped/index.js","statSize":2661}],"parsedSize":0,"gzipSize":0},{"label":"ws","path":"./node_modules/ws","statSize":176,"groups":[{"id":591,"label":"browser.js","path":"./node_modules/ws/browser.js","statSize":176}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"src","path":"./src","statSize":12922,"groups":[{"id":999,"label":"browser.ts + 5 modules (concatenated)","path":"./src/browser.ts + 5 modules (concatenated)","statSize":12922,"parsedSize":13574,"gzipSize":4733,"concatenated":true,"groups":[{"label":"src","path":"./src/browser.ts + 5 modules (concatenated)/src","statSize":12922,"groups":[{"id":null,"label":"browser.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/browser.ts","statSize":177,"parsedSize":185,"gzipSize":64,"inaccurateSizes":true},{"label":"core","path":"./src/browser.ts + 5 modules (concatenated)/src/core","statSize":10996,"groups":[{"id":null,"label":"client.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/core/client.ts","statSize":6696,"parsedSize":7033,"gzipSize":2452,"inaccurateSizes":true},{"id":null,"label":"queue.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/core/queue.ts","statSize":4300,"parsedSize":4516,"gzipSize":1574,"inaccurateSizes":true}],"parsedSize":11550,"gzipSize":4027,"inaccurateSizes":true},{"label":"types","path":"./src/browser.ts + 5 modules (concatenated)/src/types","statSize":916,"groups":[{"id":null,"label":"index.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/types/index.ts","statSize":567,"parsedSize":595,"gzipSize":207,"inaccurateSizes":true},{"id":null,"label":"priority.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/types/priority.ts","statSize":349,"parsedSize":366,"gzipSize":127,"inaccurateSizes":true}],"parsedSize":962,"gzipSize":335,"inaccurateSizes":true},{"label":"utils","path":"./src/browser.ts + 5 modules (concatenated)/src/utils","statSize":833,"groups":[{"id":null,"label":"logger.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/utils/logger.ts","statSize":833,"parsedSize":875,"gzipSize":305,"inaccurateSizes":true}],"parsedSize":875,"gzipSize":305,"inaccurateSizes":true}],"parsedSize":13574,"gzipSize":4733,"inaccurateSizes":true}]}],"parsedSize":13574,"gzipSize":4733}],"isInitialByEntrypoint":{"main":true}}];
34
+ window.chartData = [{"label":"nostr-websocket-utils.min.js","isAsset":true,"statSize":28900,"parsedSize":13509,"gzipSize":4726,"groups":[{"label":"node_modules","path":"./node_modules","statSize":15978,"groups":[{"label":"pino","path":"./node_modules/pino","statSize":13141,"groups":[{"id":874,"label":"browser.js","path":"./node_modules/pino/browser.js","statSize":13141}],"parsedSize":0,"gzipSize":0},{"label":"quick-format-unescaped","path":"./node_modules/quick-format-unescaped","statSize":2661,"groups":[{"id":793,"label":"index.js","path":"./node_modules/quick-format-unescaped/index.js","statSize":2661}],"parsedSize":0,"gzipSize":0},{"label":"ws","path":"./node_modules/ws","statSize":176,"groups":[{"id":591,"label":"browser.js","path":"./node_modules/ws/browser.js","statSize":176}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"src","path":"./src","statSize":12922,"groups":[{"id":999,"label":"browser.ts + 5 modules (concatenated)","path":"./src/browser.ts + 5 modules (concatenated)","statSize":12922,"parsedSize":13509,"gzipSize":4726,"concatenated":true,"groups":[{"label":"src","path":"./src/browser.ts + 5 modules (concatenated)/src","statSize":12922,"groups":[{"id":null,"label":"browser.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/browser.ts","statSize":177,"parsedSize":185,"gzipSize":64,"inaccurateSizes":true},{"label":"core","path":"./src/browser.ts + 5 modules (concatenated)/src/core","statSize":10996,"groups":[{"id":null,"label":"client.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/core/client.ts","statSize":6696,"parsedSize":7000,"gzipSize":2448,"inaccurateSizes":true},{"id":null,"label":"queue.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/core/queue.ts","statSize":4300,"parsedSize":4495,"gzipSize":1572,"inaccurateSizes":true}],"parsedSize":11495,"gzipSize":4021,"inaccurateSizes":true},{"label":"types","path":"./src/browser.ts + 5 modules (concatenated)/src/types","statSize":916,"groups":[{"id":null,"label":"index.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/types/index.ts","statSize":567,"parsedSize":592,"gzipSize":207,"inaccurateSizes":true},{"id":null,"label":"priority.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/types/priority.ts","statSize":349,"parsedSize":364,"gzipSize":127,"inaccurateSizes":true}],"parsedSize":957,"gzipSize":335,"inaccurateSizes":true},{"label":"utils","path":"./src/browser.ts + 5 modules (concatenated)/src/utils","statSize":833,"groups":[{"id":null,"label":"logger.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/utils/logger.ts","statSize":833,"parsedSize":870,"gzipSize":304,"inaccurateSizes":true}],"parsedSize":870,"gzipSize":304,"inaccurateSizes":true}],"parsedSize":13509,"gzipSize":4726,"inaccurateSizes":true}]}],"parsedSize":13509,"gzipSize":4726}],"isInitialByEntrypoint":{"main":true}}];
35
35
  window.entrypoints = ["main"];
36
36
  window.defaultSizes = "parsed";
37
37
  </script>
@@ -38,11 +38,11 @@ export declare class ExtendedWsMock extends EventEmitter {
38
38
  private createWsEvent;
39
39
  addEventListener(type: string, listener: (event: WebSocketEventBase) => void): void;
40
40
  removeEventListener(type: string, listener: (event: WebSocketEventBase) => void): void;
41
- send: import("vitest").Mock<[data: string | Buffer<ArrayBufferLike>], this>;
42
- ping: import("vitest").Mock<[data?: Uint8Array<ArrayBufferLike> | Buffer<ArrayBufferLike> | undefined], this>;
43
- pong: import("vitest").Mock<[data?: Uint8Array<ArrayBufferLike> | Buffer<ArrayBufferLike> | undefined], this>;
44
- close: import("vitest").Mock<[code?: number | undefined, reason?: string | undefined], this>;
45
- terminate: import("vitest").Mock<[], this>;
41
+ send: import("vitest").Mock<(data: string | Buffer) => this>;
42
+ ping: import("vitest").Mock<(data?: Buffer | Uint8Array) => this>;
43
+ pong: import("vitest").Mock<(data?: Buffer | Uint8Array) => this>;
44
+ close: import("vitest").Mock<(code?: number, reason?: string) => this>;
45
+ terminate: import("vitest").Mock<() => this>;
46
46
  pause(): this;
47
47
  resume(): this;
48
48
  setMaxListeners(n: number): this;
@@ -1 +1 @@
1
- {"version":3,"file":"extendedWsMock.d.ts","sourceRoot":"","sources":["../../../src/__mocks__/extendedWsMock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,aAAa,EAAE,SAAS,CAAC;CAC1B;AAED,UAAU,qBAAsB,SAAQ,kBAAkB;IACxD,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,cAAe,SAAQ,YAAY;IAE9C,SAAgB,UAAU,EAAG,CAAC,CAAU;IACxC,SAAgB,IAAI,EAAG,CAAC,CAAU;IAClC,SAAgB,OAAO,EAAG,CAAC,CAAU;IACrC,SAAgB,MAAM,EAAG,CAAC,CAAU;IAG7B,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAK;IAC9B,QAAQ,SAAM;IACd,GAAG,SAAmB;IACtB,cAAc,SAAK;IACnB,UAAU,SAAM;IAChB,UAAU,EAAE,YAAY,GAAG,aAAa,GAAG,WAAW,CAAgB;IACtE,QAAQ,UAAS;IAGxB,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC5D,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC9D,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC9D,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;;IAOlE,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,aAAa;IASrB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAOnF,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAI/E,IAAI,wEAaR;IAEI,IAAI,0GAKR;IAEI,IAAI,0GAKR;IAEI,KAAK,wFAYT;IAEI,SAAS,kCAYb;IAEI,KAAK,IAAI,IAAI;IAKb,MAAM,IAAI,IAAI;IAMrB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;CAIjC;AAgED,eAAO,MAAM,aAAa,gBAAuB,CAAC"}
1
+ {"version":3,"file":"extendedWsMock.d.ts","sourceRoot":"","sources":["../../../src/__mocks__/extendedWsMock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,aAAa,EAAE,SAAS,CAAC;CAC1B;AAED,UAAU,qBAAsB,SAAQ,kBAAkB;IACxD,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,cAAe,SAAQ,YAAY;IAE9C,SAAgB,UAAU,EAAG,CAAC,CAAU;IACxC,SAAgB,IAAI,EAAG,CAAC,CAAU;IAClC,SAAgB,OAAO,EAAG,CAAC,CAAU;IACrC,SAAgB,MAAM,EAAG,CAAC,CAAU;IAG7B,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAK;IAC9B,QAAQ,SAAM;IACd,GAAG,SAAmB;IACtB,cAAc,SAAK;IACnB,UAAU,SAAM;IAChB,UAAU,EAAE,YAAY,GAAG,aAAa,GAAG,WAAW,CAAgB;IACtE,QAAQ,UAAS;IAGxB,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC5D,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC9D,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC9D,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;;IAOlE,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,aAAa;IASrB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAOnF,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAI/E,IAAI,+BAAgB,MAAM,GAAG,MAAM,KAAG,IAAI,EAa9C;IAEI,IAAI,gCAAiB,MAAM,GAAG,UAAU,KAAG,IAAI,EAKnD;IAEI,IAAI,gCAAiB,MAAM,GAAG,UAAU,KAAG,IAAI,EAKnD;IAEI,KAAK,gCAAiB,MAAM,WAAW,MAAM,KAAG,IAAI,EAYxD;IAEI,SAAS,8BAAa,IAAI,EAY9B;IAEI,KAAK,IAAI,IAAI;IAKb,MAAM,IAAI,IAAI;IAMrB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;CAIjC;AAgED,eAAO,MAAM,aAAa,gBAAuB,CAAC"}
@@ -7,13 +7,13 @@ export declare class MockPinoLogger implements Partial<Logger> {
7
7
  useLevelLabels: boolean;
8
8
  useOnlyCustomLevels: boolean;
9
9
  customLevels: {};
10
- debug: import("vitest").Mock<any, any>;
11
- info: import("vitest").Mock<any, any>;
12
- warn: import("vitest").Mock<any, any>;
13
- error: import("vitest").Mock<any, any>;
14
- fatal: import("vitest").Mock<any, any>;
15
- trace: import("vitest").Mock<any, any>;
16
- silent: import("vitest").Mock<any, any>;
10
+ debug: import("vitest").Mock<(...args: any[]) => any>;
11
+ info: import("vitest").Mock<(...args: any[]) => any>;
12
+ warn: import("vitest").Mock<(...args: any[]) => any>;
13
+ error: import("vitest").Mock<(...args: any[]) => any>;
14
+ fatal: import("vitest").Mock<(...args: any[]) => any>;
15
+ trace: import("vitest").Mock<(...args: any[]) => any>;
16
+ silent: import("vitest").Mock<(...args: any[]) => any>;
17
17
  levels: {
18
18
  values: {
19
19
  fatal: number;
@@ -1 +1 @@
1
- {"version":3,"file":"mockLogger.d.ts","sourceRoot":"","sources":["../../../src/__mocks__/mockLogger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEjE,qBAAa,cAAe,YAAW,OAAO,CAAC,MAAM,CAAC;IACpD,KAAK,EAAE,MAAM,CAAW;IACxB,QAAQ,EAAE,MAAM,CAAM;IACtB,OAAO,EAAE,MAAM,CAAW;IAC1B,WAAW,EAAE,MAAM,CAAK;IACxB,cAAc,EAAE,OAAO,CAAQ;IAC/B,mBAAmB,EAAE,OAAO,CAAS;IACrC,YAAY,KAAM;IAElB,KAAK,kCAAW;IAChB,IAAI,kCAAW;IACf,IAAI,kCAAW;IACf,KAAK,kCAAW;IAChB,KAAK,kCAAW;IAChB,KAAK,kCAAW;IAChB,MAAM,kCAAW;IAEjB,MAAM;;;;;;;;;;;;;;;;;MAiBJ;IAEF,QAAQ,WAAc;IACtB,KAAK,sBAA2B;IAChC,cAAc,gBAAc;IAE5B,KAAK,CAAC,iBAAiB,SAAS,MAAM,GAAG,KAAK,EAC5C,SAAS,EAAE,QAAQ,EACnB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAC/C,MAAM,CAAC,iBAAiB,CAAC;IAI5B,MAAM,CAAC,MAAM,IAAI,MAAM;CAGxB;AAED,eAAO,MAAM,gBAAgB,QAAO,MAAiC,CAAC"}
1
+ {"version":3,"file":"mockLogger.d.ts","sourceRoot":"","sources":["../../../src/__mocks__/mockLogger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEjE,qBAAa,cAAe,YAAW,OAAO,CAAC,MAAM,CAAC;IACpD,KAAK,EAAE,MAAM,CAAW;IACxB,QAAQ,EAAE,MAAM,CAAM;IACtB,OAAO,EAAE,MAAM,CAAW;IAC1B,WAAW,EAAE,MAAM,CAAK;IACxB,cAAc,EAAE,OAAO,CAAQ;IAC/B,mBAAmB,EAAE,OAAO,CAAS;IACrC,YAAY,KAAM;IAElB,KAAK,iDAAW;IAChB,IAAI,iDAAW;IACf,IAAI,iDAAW;IACf,KAAK,iDAAW;IAChB,KAAK,iDAAW;IAChB,KAAK,iDAAW;IAChB,MAAM,iDAAW;IAEjB,MAAM;;;;;;;;;;;;;;;;;MAiBJ;IAEF,QAAQ,WAAc;IACtB,KAAK,sBAA2B;IAChC,cAAc,gBAAc;IAE5B,KAAK,CAAC,iBAAiB,SAAS,MAAM,GAAG,KAAK,EAC5C,SAAS,EAAE,QAAQ,EACnB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAC/C,MAAM,CAAC,iBAAiB,CAAC;IAI5B,MAAM,CAAC,MAAM,IAAI,MAAM;CAGxB;AAED,eAAO,MAAM,gBAAgB,QAAO,MAAiC,CAAC"}
@@ -16,12 +16,12 @@ export declare class MockServer extends EventEmitter {
16
16
  address: string;
17
17
  constructor(options?: MockServerOptions);
18
18
  listen(port: number, cb?: () => void): void;
19
- handleConnection: import("vitest").Mock<[socket: NostrWSSocket], void>;
20
- handleMessage: import("vitest").Mock<[socket: NostrWSSocket, message: NostrWSMessage], void>;
21
- handleClose: import("vitest").Mock<[socket: NostrWSSocket], void>;
22
- broadcast: import("vitest").Mock<[message: NostrWSMessage], void>;
23
- handleUpgrade: import("vitest").Mock<[request: IncomingMessage, socket: Socket, head: Buffer<ArrayBufferLike>, callback: (ws: WebSocket) => void], void>;
24
- shouldHandle: import("vitest").Mock<[_request: IncomingMessage], boolean>;
19
+ handleConnection: import("vitest").Mock<(socket: NostrWSSocket) => void>;
20
+ handleMessage: import("vitest").Mock<(socket: NostrWSSocket, message: NostrWSMessage) => void>;
21
+ handleClose: import("vitest").Mock<(socket: NostrWSSocket) => void>;
22
+ broadcast: import("vitest").Mock<(message: NostrWSMessage) => void>;
23
+ handleUpgrade: import("vitest").Mock<(request: IncomingMessage, socket: Socket, head: Buffer, callback: (ws: WebSocket) => void) => void>;
24
+ shouldHandle: import("vitest").Mock<(_request: IncomingMessage) => boolean>;
25
25
  }
26
26
  export {};
27
27
  //# sourceMappingURL=mockserver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockserver.d.ts","sourceRoot":"","sources":["../../../src/__mocks__/mockserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAGpC,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAa;IACxC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;gBAEJ,OAAO,CAAC,EAAE,iBAAiB;IAOvC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAI3C,gBAAgB,uDAGb;IAEH,aAAa,gFAEV;IAEH,WAAW,uDAGR;IAEH,SAAS,yDAIN;IAEH,aAAa,iHAAiF,SAAS,KAAK,IAAI,SAG7G;IAEH,YAAY,8DAET;CACJ"}
1
+ {"version":3,"file":"mockserver.d.ts","sourceRoot":"","sources":["../../../src/__mocks__/mockserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAGpC,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAa;IACxC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;gBAEJ,OAAO,CAAC,EAAE,iBAAiB;IAOvC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAI3C,gBAAgB,iCAAkB,aAAa,WAG5C;IAEH,aAAa,iCAAkB,aAAa,WAAW,cAAc,WAElE;IAEH,WAAW,iCAAkB,aAAa,WAGvC;IAEH,SAAS,kCAAmB,cAAc,WAIvC;IAEH,aAAa,kCAAmB,eAAe,UAAU,MAAM,QAAQ,MAAM,YAAY,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,WAG7G;IAEH,YAAY,mCAAoB,eAAe,KAAG,OAAO,EAEtD;CACJ"}
@@ -22,7 +22,7 @@ async function validateSignedMessage(message) {
22
22
  return false;
23
23
  }
24
24
  const event = message[1];
25
- if (!(0, nostr_crypto_utils_1.validateRelayMessage)(event)) {
25
+ if (!(0, nostr_crypto_utils_1.validateEvent)(event)) {
26
26
  logger.debug('Invalid event format');
27
27
  return false;
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/crypto/handlers.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAeH,sDA2BC;AAQD,8CAkBC;AAlED,kDAA+C;AAE/C,sDAAqD;AAErD,2DAA4F;AAE5F,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC;AAEnC;;;;GAIG;AACI,KAAK,UAAU,qBAAqB,CACzC,OAAuB;IAEvB,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,2BAAa,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,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,IAAA,yCAAa,EAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAA,oCAAe,EAAC,KAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,OAAuB,EAAE,MAAW;IACpE,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,2BAAa,CAAC,KAAK,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC,CAAC,uBAAuB;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAe,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,iCAAiC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/crypto/handlers.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAeH,sDA2BC;AAQD,8CAkBC;AAlED,kDAA+C;AAE/C,sDAAqD;AAErD,2DAAoE;AAEpE,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC;AAEnC;;;;GAIG;AACI,KAAK,UAAU,qBAAqB,CACzC,OAAuB;IAEvB,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,2BAAa,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,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,IAAA,kCAAa,EAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAA,oCAAe,EAAC,KAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,OAAuB,EAAE,MAAW;IACpE,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,2BAAa,CAAC,KAAK,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC,CAAC,uBAAuB;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAe,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,iCAAiC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -62,7 +62,7 @@ function extractContacts(message) {
62
62
  metadata
63
63
  }));
64
64
  }
65
- catch (error) {
65
+ catch (_error) {
66
66
  return [];
67
67
  }
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nip-02.js","sourceRoot":"","sources":["../../../src/nips/nip-02.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nip-02.js","sourceRoot":"","sources":["../../../src/nips/nip-02.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ async function validateDeletionEvent(event, _logger) {
51
51
  }
52
52
  return true;
53
53
  }
54
- catch (error) {
54
+ catch (_error) {
55
55
  return false;
56
56
  }
57
57
  }
@@ -81,7 +81,7 @@ async function processDeletionEvent(event, _logger, deleteEvent) {
81
81
  failedIds.push(eventId);
82
82
  }
83
83
  }
84
- catch (error) {
84
+ catch (_error) {
85
85
  failedIds.push(eventId);
86
86
  }
87
87
  }
@@ -97,7 +97,7 @@ async function processDeletionEvent(event, _logger, deleteEvent) {
97
97
  deletedIds
98
98
  };
99
99
  }
100
- catch (error) {
100
+ catch (_error) {
101
101
  return {
102
102
  success: false,
103
103
  error: 'Unknown error'
@@ -135,7 +135,7 @@ function createEventDeletionManager(_logger) {
135
135
  });
136
136
  return eventIds;
137
137
  }
138
- catch (error) {
138
+ catch (_error) {
139
139
  return [];
140
140
  }
141
141
  },
@@ -1 +1 @@
1
- {"version":3,"file":"nip-09.js","sourceRoot":"","sources":["../../../src/nips/nip-09.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nip-09.js","sourceRoot":"","sources":["../../../src/nips/nip-09.ts"],"names":[],"mappings":"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"}
@@ -114,7 +114,12 @@ class RelayMetricsTracker extends events_1.EventEmitter {
114
114
  trackProtocolEvent(relayUrl, type, sent) {
115
115
  const metrics = this.getRelayMetrics(relayUrl);
116
116
  if (type === 'event') {
117
- sent ? metrics.eventsSent++ : metrics.eventsReceived++;
117
+ if (sent) {
118
+ metrics.eventsSent++;
119
+ }
120
+ else {
121
+ metrics.eventsReceived++;
122
+ }
118
123
  }
119
124
  else if (type === 'subscription') {
120
125
  metrics.subscriptions += sent ? 1 : -1;
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/utils/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/utils/metrics.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { getLogger } from '../utils/logger.js';
6
6
  import { MESSAGE_TYPES } from '../types/messages.js';
7
- import { validateRelayMessage as validateEvent, verifySignature } from 'nostr-crypto-utils';
7
+ import { validateEvent, verifySignature } from 'nostr-crypto-utils';
8
8
  const logger = getLogger('crypto');
9
9
  /**
10
10
  * Validates a signed message
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/crypto/handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,oBAAoB,IAAI,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE5F,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAuB;IAEvB,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,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,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAuB,EAAE,MAAW;IACpE,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,KAAK,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC,CAAC,uBAAuB;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAe,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,iCAAiC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/crypto/handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEpE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAuB;IAEvB,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,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,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAuB,EAAE,MAAW;IACpE,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,KAAK,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC,CAAC,uBAAuB;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAe,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,iCAAiC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -55,7 +55,7 @@ export function extractContacts(message) {
55
55
  metadata
56
56
  }));
57
57
  }
58
- catch (error) {
58
+ catch (_error) {
59
59
  return [];
60
60
  }
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nip-02.js","sourceRoot":"","sources":["../../src/nips/nip-02.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nip-02.js","sourceRoot":"","sources":["../../src/nips/nip-02.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ export async function validateDeletionEvent(event, _logger) {
43
43
  }
44
44
  return true;
45
45
  }
46
- catch (error) {
46
+ catch (_error) {
47
47
  return false;
48
48
  }
49
49
  }
@@ -73,7 +73,7 @@ export async function processDeletionEvent(event, _logger, deleteEvent) {
73
73
  failedIds.push(eventId);
74
74
  }
75
75
  }
76
- catch (error) {
76
+ catch (_error) {
77
77
  failedIds.push(eventId);
78
78
  }
79
79
  }
@@ -89,7 +89,7 @@ export async function processDeletionEvent(event, _logger, deleteEvent) {
89
89
  deletedIds
90
90
  };
91
91
  }
92
- catch (error) {
92
+ catch (_error) {
93
93
  return {
94
94
  success: false,
95
95
  error: 'Unknown error'
@@ -127,7 +127,7 @@ export function createEventDeletionManager(_logger) {
127
127
  });
128
128
  return eventIds;
129
129
  }
130
- catch (error) {
130
+ catch (_error) {
131
131
  return [];
132
132
  }
133
133
  },
@@ -1 +1 @@
1
- {"version":3,"file":"nip-09.js","sourceRoot":"","sources":["../../src/nips/nip-09.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nip-09.js","sourceRoot":"","sources":["../../src/nips/nip-09.ts"],"names":[],"mappings":"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"}
@@ -111,7 +111,12 @@ export class RelayMetricsTracker extends EventEmitter {
111
111
  trackProtocolEvent(relayUrl, type, sent) {
112
112
  const metrics = this.getRelayMetrics(relayUrl);
113
113
  if (type === 'event') {
114
- sent ? metrics.eventsSent++ : metrics.eventsReceived++;
114
+ if (sent) {
115
+ metrics.eventsSent++;
116
+ }
117
+ else {
118
+ metrics.eventsReceived++;
119
+ }
115
120
  }
116
121
  else if (type === 'subscription') {
117
122
  metrics.subscriptions += sent ? 1 : -1;
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/utils/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/utils/metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Basic Client Example — nostr-websocket-utils
3
+ *
4
+ * Demonstrates connecting to a relay and subscribing to events.
5
+ */
6
+ import { NostrWSClient } from 'nostr-websocket-utils';
7
+
8
+ async function main() {
9
+ // Create a WebSocket client connected to a relay
10
+ const client = new NostrWSClient('wss://relay.damus.io', {
11
+ heartbeatInterval: 30000,
12
+ handlers: {
13
+ message: async (msg) => {
14
+ console.log('Received message:', JSON.stringify(msg, null, 2));
15
+ },
16
+ error: (err) => {
17
+ console.error('Connection error:', err);
18
+ },
19
+ close: () => {
20
+ console.log('Connection closed');
21
+ },
22
+ },
23
+ });
24
+
25
+ // Connect to the relay
26
+ await client.connect();
27
+ console.log('Connected to relay');
28
+
29
+ // Subscribe to text note events (kind 1) from specific authors
30
+ client.subscribe('my-subscription', {
31
+ filter: {
32
+ kinds: [1],
33
+ limit: 10,
34
+ },
35
+ });
36
+
37
+ console.log('Subscribed to text notes. Listening for events...');
38
+ }
39
+
40
+ main().catch(console.error);
@@ -0,0 +1,38 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Nostr WebSocket Utils Browser Demo</title>
7
+ </head>
8
+ <body>
9
+ <h1>Nostr WebSocket Utils Browser Demo</h1>
10
+ <div id="status"></div>
11
+ <div id="messages"></div>
12
+
13
+ <script src="../dist/browser/nostr-websocket-utils.min.js"></script>
14
+ <script>
15
+ // Example usage
16
+ const client = new NostrWebSocketUtils.NostrWSClient({
17
+ url: 'wss://relay.damus.io',
18
+ options: {
19
+ autoReconnect: true,
20
+ maxRetries: 3
21
+ }
22
+ });
23
+
24
+ client.onMessage((message) => {
25
+ const messagesDiv = document.getElementById('messages');
26
+ messagesDiv.innerHTML += `<p>Received: ${JSON.stringify(message)}</p>`;
27
+ });
28
+
29
+ client.onStatusChange((status) => {
30
+ const statusDiv = document.getElementById('status');
31
+ statusDiv.innerHTML = `Status: ${status}`;
32
+ });
33
+
34
+ // Connect to the relay
35
+ client.connect();
36
+ </script>
37
+ </body>
38
+ </html>
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Server Example — nostr-websocket-utils
3
+ *
4
+ * Demonstrates creating a basic Nostr WebSocket server.
5
+ */
6
+ import { createNostrServer } from 'nostr-websocket-utils';
7
+
8
+ async function main() {
9
+ const port = 8080;
10
+
11
+ const server = await createNostrServer(port, {
12
+ heartbeatInterval: 30000,
13
+ handlers: {
14
+ message: async (ws, msg) => {
15
+ console.log('Received message from client:', JSON.stringify(msg, null, 2));
16
+
17
+ // Echo the message type back
18
+ if (msg.type === 'EVENT') {
19
+ console.log('Event received:', msg.data);
20
+ } else if (msg.type === 'REQ') {
21
+ console.log('Subscription request:', msg.data);
22
+ } else if (msg.type === 'CLOSE') {
23
+ console.log('Subscription closed:', msg.data);
24
+ }
25
+ },
26
+ },
27
+ });
28
+
29
+ console.log(`Nostr WebSocket server listening on port ${port}`);
30
+
31
+ // Broadcast a message to all connected clients
32
+ server.broadcast({
33
+ type: 'NOTICE',
34
+ data: 'Welcome to the Nostr relay!',
35
+ });
36
+ }
37
+
38
+ main().catch(console.error);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nostr-websocket-utils",
3
- "version": "0.3.13",
3
+ "version": "0.3.15",
4
4
  "description": "Robust WebSocket utilities for Nostr applications with automatic reconnection, supporting both ESM and CommonJS. Features channel-based messaging, heartbeat monitoring, message queueing, and comprehensive error handling with type-safe handlers.",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/index.js",
@@ -23,9 +23,11 @@
23
23
  "build": "npm run build:ts && npm run build:browser",
24
24
  "build:ts": "tsc && tsc -p tsconfig.cjs.json",
25
25
  "build:browser": "webpack",
26
- "test": "vitest",
26
+ "test": "vitest run",
27
+ "test:watch": "vitest",
27
28
  "test:coverage": "vitest run --coverage",
28
- "lint": "eslint src --ext .ts",
29
+ "lint": "eslint .",
30
+ "lint:fix": "eslint . --fix",
29
31
  "prepare": "npm run build",
30
32
  "prepublishOnly": "npm test && npm run lint",
31
33
  "docs": "typedoc",
@@ -59,30 +61,32 @@
59
61
  "homepage": "https://github.com/HumanjavaEnterprises/nostr-websocket-utils#readme",
60
62
  "dependencies": {
61
63
  "@types/uuid": "^10.0.0",
62
- "nostr-crypto-utils": "^0.4.12",
63
- "pino": "^8.17.2",
64
- "uuid": "^11.0.3",
65
- "ws": "^8.16.0"
64
+ "nostr-crypto-utils": "^0.4.10",
65
+ "pino": "^8.21.0",
66
+ "uuid": "^11.1.0",
67
+ "ws": "^8.19.0"
66
68
  },
67
69
  "devDependencies": {
68
- "@types/node": "^20.10.6",
69
- "@types/ws": "^8.5.10",
70
- "@typescript-eslint/eslint-plugin": "^6.16.0",
71
- "@typescript-eslint/parser": "^6.16.0",
72
- "@vitest/coverage-v8": "^1.6.0",
73
- "eslint": "^8.56.0",
74
- "ts-loader": "^9.5.1",
75
- "typedoc": "^0.27.5",
76
- "typedoc-plugin-markdown": "^4.3.2",
77
- "typescript": "^5.3.3",
78
- "vitest": "^1.6.0",
79
- "webpack": "^5.89.0",
70
+ "@eslint/js": "^10.0.1",
71
+ "@types/node": "^20.19.33",
72
+ "@types/ws": "^8.18.1",
73
+ "@typescript-eslint/eslint-plugin": "^8.56.0",
74
+ "@typescript-eslint/parser": "^8.56.0",
75
+ "@vitest/coverage-v8": "^3.2.4",
76
+ "eslint": "^10.0.0",
77
+ "terser-webpack-plugin": "^5.3.16",
78
+ "ts-loader": "^9.5.4",
79
+ "typedoc": "^0.28.17",
80
+ "typedoc-plugin-markdown": "^4.10.0",
81
+ "typescript": "^5.9.3",
82
+ "vitest": "^3.2.4",
83
+ "webpack": "^5.105.2",
80
84
  "webpack-bundle-analyzer": "^4.10.1",
81
- "webpack-cli": "^5.1.4",
82
- "terser-webpack-plugin": "^5.3.9"
85
+ "webpack-cli": "^5.1.4"
83
86
  },
84
87
  "files": [
85
88
  "dist",
89
+ "examples/**/*",
86
90
  "README.md",
87
91
  "LICENSE"
88
92
  ],