nostr-websocket-utils 0.3.1 → 0.3.3
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.
- package/dist/__mocks__/extendedWsMock.d.ts +6 -8
- package/dist/__mocks__/extendedWsMock.d.ts.map +1 -0
- package/dist/__mocks__/extendedWsMock.js +1 -0
- package/dist/__mocks__/extendedWsMock.js.map +1 -0
- package/dist/__mocks__/mockLogger.d.ts +8 -7
- package/dist/__mocks__/mockLogger.d.ts.map +1 -0
- package/dist/__mocks__/mockLogger.js +1 -0
- package/dist/__mocks__/mockLogger.js.map +1 -0
- package/dist/__mocks__/mockserver.d.ts +7 -11
- package/dist/__mocks__/mockserver.d.ts.map +1 -0
- package/dist/__mocks__/mockserver.js +1 -0
- package/dist/__mocks__/mockserver.js.map +1 -0
- package/dist/__mocks__/wsMock.d.ts +1 -2
- package/dist/__mocks__/wsMock.d.ts.map +1 -0
- package/dist/__mocks__/wsMock.js +1 -0
- package/dist/__mocks__/wsMock.js.map +1 -0
- package/dist/cjs/__mocks__/extendedWsMock.d.ts +52 -0
- package/dist/cjs/__mocks__/extendedWsMock.d.ts.map +1 -0
- package/dist/cjs/__mocks__/extendedWsMock.js +161 -0
- package/dist/cjs/__mocks__/extendedWsMock.js.map +1 -0
- package/dist/cjs/__mocks__/mockLogger.d.ts +42 -0
- package/dist/cjs/__mocks__/mockLogger.d.ts.map +1 -0
- package/dist/cjs/__mocks__/mockLogger.js +53 -0
- package/dist/cjs/__mocks__/mockLogger.js.map +1 -0
- package/dist/cjs/__mocks__/mockserver.d.ts +27 -0
- package/dist/cjs/__mocks__/mockserver.d.ts.map +1 -0
- package/dist/cjs/__mocks__/mockserver.js +44 -0
- package/dist/cjs/__mocks__/mockserver.js.map +1 -0
- package/dist/cjs/__mocks__/wsMock.d.ts +25 -0
- package/dist/cjs/__mocks__/wsMock.d.ts.map +1 -0
- package/dist/cjs/__mocks__/wsMock.js +123 -0
- package/dist/cjs/__mocks__/wsMock.js.map +1 -0
- package/dist/cjs/core/client.d.ts +35 -0
- package/dist/cjs/core/client.d.ts.map +1 -0
- package/dist/cjs/core/client.js +161 -0
- package/dist/cjs/core/client.js.map +1 -0
- package/dist/{nostr-server.d.ts → cjs/core/nostr-server.d.ts} +3 -6
- package/dist/cjs/core/nostr-server.d.ts.map +1 -0
- package/dist/cjs/core/nostr-server.js +101 -0
- package/dist/cjs/core/nostr-server.js.map +1 -0
- package/dist/cjs/core/queue.d.ts +38 -0
- package/dist/cjs/core/queue.d.ts.map +1 -0
- package/dist/cjs/core/queue.js +105 -0
- package/dist/cjs/core/queue.js.map +1 -0
- package/dist/cjs/core/server.d.ts +29 -0
- package/dist/cjs/core/server.d.ts.map +1 -0
- package/dist/cjs/core/server.js +134 -0
- package/dist/cjs/core/server.js.map +1 -0
- package/dist/cjs/crypto/bech32.d.ts +27 -0
- package/dist/cjs/crypto/bech32.d.ts.map +1 -0
- package/dist/cjs/crypto/bech32.js +170 -0
- package/dist/cjs/crypto/bech32.js.map +1 -0
- package/dist/cjs/crypto/handlers.d.ts +19 -0
- package/dist/cjs/crypto/handlers.d.ts.map +1 -0
- package/dist/cjs/crypto/handlers.js +65 -0
- package/dist/cjs/crypto/handlers.js.map +1 -0
- package/dist/cjs/crypto/index.d.ts +7 -0
- package/dist/cjs/crypto/index.d.ts.map +1 -0
- package/dist/cjs/crypto/index.js +23 -0
- package/dist/cjs/crypto/index.js.map +1 -0
- package/dist/cjs/endpoints/metrics.d.ts +30 -0
- package/dist/cjs/endpoints/metrics.d.ts.map +1 -0
- package/dist/cjs/endpoints/metrics.js +106 -0
- package/dist/cjs/endpoints/metrics.js.map +1 -0
- package/dist/cjs/index.d.ts +13 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +40 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/nips/index.d.ts +20 -0
- package/dist/cjs/nips/index.d.ts.map +1 -0
- package/dist/cjs/nips/index.js +51 -0
- package/dist/cjs/nips/index.js.map +1 -0
- package/dist/cjs/nips/nip-01.d.ts +35 -0
- package/dist/cjs/nips/nip-01.d.ts.map +1 -0
- package/dist/cjs/nips/nip-01.js +142 -0
- package/dist/cjs/nips/nip-01.js.map +1 -0
- package/dist/cjs/nips/nip-02.d.ts +83 -0
- package/dist/cjs/nips/nip-02.d.ts.map +1 -0
- package/dist/cjs/nips/nip-02.js +119 -0
- package/dist/cjs/nips/nip-02.js.map +1 -0
- package/dist/cjs/nips/nip-04.d.ts +37 -0
- package/dist/cjs/nips/nip-04.d.ts.map +1 -0
- package/dist/cjs/nips/nip-04.js +104 -0
- package/dist/cjs/nips/nip-04.js.map +1 -0
- package/dist/cjs/nips/nip-05.d.ts +88 -0
- package/dist/cjs/nips/nip-05.d.ts.map +1 -0
- package/dist/cjs/nips/nip-05.js +158 -0
- package/dist/cjs/nips/nip-05.js.map +1 -0
- package/dist/cjs/nips/nip-09.d.ts +93 -0
- package/dist/cjs/nips/nip-09.d.ts.map +1 -0
- package/dist/cjs/nips/nip-09.js +180 -0
- package/dist/cjs/nips/nip-09.js.map +1 -0
- package/dist/cjs/nips/nip-11.d.ts +65 -0
- package/dist/cjs/nips/nip-11.d.ts.map +1 -0
- package/dist/cjs/nips/nip-11.js +161 -0
- package/dist/cjs/nips/nip-11.js.map +1 -0
- package/dist/cjs/nips/nip-13.d.ts +74 -0
- package/dist/cjs/nips/nip-13.d.ts.map +1 -0
- package/dist/cjs/nips/nip-13.js +136 -0
- package/dist/cjs/nips/nip-13.js.map +1 -0
- package/dist/cjs/nips/nip-15.d.ts +84 -0
- package/dist/cjs/nips/nip-15.d.ts.map +1 -0
- package/dist/cjs/nips/nip-15.js +102 -0
- package/dist/cjs/nips/nip-15.js.map +1 -0
- package/dist/cjs/nips/nip-16.d.ts +89 -0
- package/dist/cjs/nips/nip-16.d.ts.map +1 -0
- package/dist/cjs/nips/nip-16.js +157 -0
- package/dist/cjs/nips/nip-16.js.map +1 -0
- package/dist/cjs/nips/nip-19.d.ts +29 -0
- package/dist/cjs/nips/nip-19.d.ts.map +1 -0
- package/dist/cjs/nips/nip-19.js +112 -0
- package/dist/cjs/nips/nip-19.js.map +1 -0
- package/dist/cjs/nips/nip-20.d.ts +60 -0
- package/dist/cjs/nips/nip-20.d.ts.map +1 -0
- package/dist/cjs/nips/nip-20.js +102 -0
- package/dist/cjs/nips/nip-20.js.map +1 -0
- package/dist/cjs/nips/nip-22.d.ts +90 -0
- package/dist/cjs/nips/nip-22.d.ts.map +1 -0
- package/dist/cjs/nips/nip-22.js +149 -0
- package/dist/cjs/nips/nip-22.js.map +1 -0
- package/dist/cjs/nips/nip-26.d.ts +53 -0
- package/dist/cjs/nips/nip-26.d.ts.map +1 -0
- package/dist/cjs/nips/nip-26.js +147 -0
- package/dist/cjs/nips/nip-26.js.map +1 -0
- package/dist/cjs/nips/nip-28.d.ts +104 -0
- package/dist/cjs/nips/nip-28.d.ts.map +1 -0
- package/dist/cjs/nips/nip-28.js +164 -0
- package/dist/cjs/nips/nip-28.js.map +1 -0
- package/dist/cjs/nips/nip-33.d.ts +95 -0
- package/dist/cjs/nips/nip-33.d.ts.map +1 -0
- package/dist/cjs/nips/nip-33.js +135 -0
- package/dist/cjs/nips/nip-33.js.map +1 -0
- package/dist/cjs/transport/base.d.ts +54 -0
- package/dist/cjs/transport/base.d.ts.map +1 -0
- package/dist/cjs/transport/base.js +109 -0
- package/dist/cjs/transport/base.js.map +1 -0
- package/dist/cjs/transport/websocket.d.ts +24 -0
- package/dist/cjs/transport/websocket.d.ts.map +1 -0
- package/dist/cjs/transport/websocket.js +136 -0
- package/dist/cjs/transport/websocket.js.map +1 -0
- package/dist/cjs/types/events.d.ts +74 -0
- package/dist/cjs/types/events.d.ts.map +1 -0
- package/dist/cjs/types/events.js +7 -0
- package/dist/cjs/types/events.js.map +1 -0
- package/dist/cjs/types/filters.d.ts +20 -0
- package/dist/cjs/types/filters.d.ts.map +1 -0
- package/dist/cjs/types/filters.js +7 -0
- package/dist/cjs/types/filters.js.map +1 -0
- package/dist/cjs/types/handlers.d.ts +81 -0
- package/dist/cjs/types/handlers.d.ts.map +1 -0
- package/dist/cjs/types/handlers.js +7 -0
- package/dist/cjs/types/handlers.js.map +1 -0
- package/dist/cjs/types/index.d.ts +144 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +37 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/logger.d.ts +41 -0
- package/dist/cjs/types/logger.d.ts.map +1 -0
- package/dist/cjs/types/logger.js +7 -0
- package/dist/cjs/types/logger.js.map +1 -0
- package/dist/cjs/types/messages.d.ts +133 -0
- package/dist/cjs/types/messages.d.ts.map +1 -0
- package/dist/cjs/types/messages.js +46 -0
- package/dist/cjs/types/messages.js.map +1 -0
- package/dist/cjs/types/nostr.d.ts +134 -0
- package/dist/cjs/types/nostr.d.ts.map +1 -0
- package/dist/cjs/types/nostr.js +7 -0
- package/dist/cjs/types/nostr.js.map +1 -0
- package/dist/cjs/types/options.d.ts +155 -0
- package/dist/cjs/types/options.d.ts.map +1 -0
- package/dist/cjs/types/options.js +7 -0
- package/dist/cjs/types/options.js.map +1 -0
- package/dist/cjs/types/priority.d.ts +13 -0
- package/dist/cjs/types/priority.d.ts.map +1 -0
- package/dist/cjs/types/priority.js +17 -0
- package/dist/cjs/types/priority.js.map +1 -0
- package/dist/cjs/types/relays.d.ts +27 -0
- package/dist/cjs/types/relays.d.ts.map +1 -0
- package/dist/cjs/types/relays.js +7 -0
- package/dist/cjs/types/relays.js.map +1 -0
- package/dist/cjs/types/scoring.d.ts +59 -0
- package/dist/cjs/types/scoring.d.ts.map +1 -0
- package/dist/cjs/types/scoring.js +34 -0
- package/dist/cjs/types/scoring.js.map +1 -0
- package/dist/cjs/types/socket.d.ts +98 -0
- package/dist/cjs/types/socket.d.ts.map +1 -0
- package/dist/cjs/types/socket.js +7 -0
- package/dist/cjs/types/socket.js.map +1 -0
- package/dist/cjs/types/transport.d.ts +98 -0
- package/dist/cjs/types/transport.d.ts.map +1 -0
- package/dist/cjs/types/transport.js +7 -0
- package/dist/cjs/types/transport.js.map +1 -0
- package/dist/cjs/types/validation.d.ts +51 -0
- package/dist/cjs/types/validation.d.ts.map +1 -0
- package/dist/cjs/types/validation.js +7 -0
- package/dist/cjs/types/validation.js.map +1 -0
- package/dist/cjs/types/websocket.d.ts +250 -0
- package/dist/cjs/types/websocket.d.ts.map +1 -0
- package/dist/cjs/types/websocket.js +7 -0
- package/dist/cjs/types/websocket.js.map +1 -0
- package/dist/cjs/utils/http.d.ts +11 -0
- package/dist/cjs/utils/http.d.ts.map +1 -0
- package/dist/cjs/utils/http.js +28 -0
- package/dist/cjs/utils/http.js.map +1 -0
- package/dist/cjs/utils/logger.d.ts +26 -0
- package/dist/cjs/utils/logger.d.ts.map +1 -0
- package/dist/cjs/utils/logger.js +43 -0
- package/dist/cjs/utils/logger.js.map +1 -0
- package/dist/cjs/utils/metrics.d.ts +81 -0
- package/dist/cjs/utils/metrics.d.ts.map +1 -0
- package/dist/cjs/utils/metrics.js +211 -0
- package/dist/cjs/utils/metrics.js.map +1 -0
- package/dist/cjs/utils/rate-limiter.d.ts +86 -0
- package/dist/cjs/utils/rate-limiter.d.ts.map +1 -0
- package/dist/cjs/utils/rate-limiter.js +183 -0
- package/dist/cjs/utils/rate-limiter.js.map +1 -0
- package/dist/core/client.d.ts +1 -0
- package/dist/core/client.d.ts.map +1 -0
- package/dist/core/client.js +1 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/nostr-server.d.ts +1 -0
- package/dist/core/nostr-server.d.ts.map +1 -0
- package/dist/core/nostr-server.js +1 -0
- package/dist/core/nostr-server.js.map +1 -0
- package/dist/core/queue.d.ts +1 -0
- package/dist/core/queue.d.ts.map +1 -0
- package/dist/core/queue.js +1 -0
- package/dist/core/queue.js.map +1 -0
- package/dist/core/server.d.ts +1 -0
- package/dist/core/server.d.ts.map +1 -0
- package/dist/core/server.js +1 -0
- package/dist/core/server.js.map +1 -0
- package/dist/crypto/bech32.d.ts +1 -0
- package/dist/crypto/bech32.d.ts.map +1 -0
- package/dist/crypto/bech32.js +1 -0
- package/dist/crypto/bech32.js.map +1 -0
- package/dist/crypto/handlers.d.ts +1 -0
- package/dist/crypto/handlers.d.ts.map +1 -0
- package/dist/crypto/handlers.js +1 -0
- package/dist/crypto/handlers.js.map +1 -0
- package/dist/crypto/index.d.ts +3 -1
- package/dist/crypto/index.d.ts.map +1 -0
- package/dist/crypto/index.js +3 -1
- package/dist/crypto/index.js.map +1 -0
- package/dist/endpoints/metrics.d.ts +1 -0
- package/dist/endpoints/metrics.d.ts.map +1 -0
- package/dist/endpoints/metrics.js +1 -0
- package/dist/endpoints/metrics.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/nips/index.d.ts +1 -0
- package/dist/nips/index.d.ts.map +1 -0
- package/dist/nips/index.js +1 -0
- package/dist/nips/index.js.map +1 -0
- package/dist/nips/nip-01.d.ts +1 -0
- package/dist/nips/nip-01.d.ts.map +1 -0
- package/dist/nips/nip-01.js +1 -0
- package/dist/nips/nip-01.js.map +1 -0
- package/dist/nips/nip-02.d.ts +1 -0
- package/dist/nips/nip-02.d.ts.map +1 -0
- package/dist/nips/nip-02.js +1 -0
- package/dist/nips/nip-02.js.map +1 -0
- package/dist/nips/nip-04.d.ts +1 -0
- package/dist/nips/nip-04.d.ts.map +1 -0
- package/dist/nips/nip-04.js +1 -0
- package/dist/nips/nip-04.js.map +1 -0
- package/dist/nips/nip-05.d.ts +1 -0
- package/dist/nips/nip-05.d.ts.map +1 -0
- package/dist/nips/nip-05.js +1 -0
- package/dist/nips/nip-05.js.map +1 -0
- package/dist/nips/nip-09.d.ts +1 -0
- package/dist/nips/nip-09.d.ts.map +1 -0
- package/dist/nips/nip-09.js +1 -0
- package/dist/nips/nip-09.js.map +1 -0
- package/dist/nips/nip-11.d.ts +1 -0
- package/dist/nips/nip-11.d.ts.map +1 -0
- package/dist/nips/nip-11.js +1 -0
- package/dist/nips/nip-11.js.map +1 -0
- package/dist/nips/nip-13.d.ts +1 -0
- package/dist/nips/nip-13.d.ts.map +1 -0
- package/dist/nips/nip-13.js +1 -0
- package/dist/nips/nip-13.js.map +1 -0
- package/dist/nips/nip-15.d.ts +1 -0
- package/dist/nips/nip-15.d.ts.map +1 -0
- package/dist/nips/nip-15.js +1 -0
- package/dist/nips/nip-15.js.map +1 -0
- package/dist/nips/nip-16.d.ts +1 -0
- package/dist/nips/nip-16.d.ts.map +1 -0
- package/dist/nips/nip-16.js +1 -0
- package/dist/nips/nip-16.js.map +1 -0
- package/dist/nips/nip-19.d.ts +1 -0
- package/dist/nips/nip-19.d.ts.map +1 -0
- package/dist/nips/nip-19.js +1 -0
- package/dist/nips/nip-19.js.map +1 -0
- package/dist/nips/nip-20.d.ts +1 -0
- package/dist/nips/nip-20.d.ts.map +1 -0
- package/dist/nips/nip-20.js +1 -0
- package/dist/nips/nip-20.js.map +1 -0
- package/dist/nips/nip-22.d.ts +1 -0
- package/dist/nips/nip-22.d.ts.map +1 -0
- package/dist/nips/nip-22.js +1 -0
- package/dist/nips/nip-22.js.map +1 -0
- package/dist/nips/nip-26.d.ts +1 -0
- package/dist/nips/nip-26.d.ts.map +1 -0
- package/dist/nips/nip-26.js +1 -0
- package/dist/nips/nip-26.js.map +1 -0
- package/dist/nips/nip-28.d.ts +1 -0
- package/dist/nips/nip-28.d.ts.map +1 -0
- package/dist/nips/nip-28.js +1 -0
- package/dist/nips/nip-28.js.map +1 -0
- package/dist/nips/nip-33.d.ts +1 -0
- package/dist/nips/nip-33.d.ts.map +1 -0
- package/dist/nips/nip-33.js +1 -0
- package/dist/nips/nip-33.js.map +1 -0
- package/dist/transport/base.d.ts +1 -1
- package/dist/transport/base.d.ts.map +1 -0
- package/dist/transport/base.js +1 -0
- package/dist/transport/base.js.map +1 -0
- package/dist/transport/websocket.d.ts +1 -0
- package/dist/transport/websocket.d.ts.map +1 -0
- package/dist/transport/websocket.js +1 -0
- package/dist/transport/websocket.js.map +1 -0
- package/dist/types/events.d.ts +1 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +1 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/filters.d.ts +1 -0
- package/dist/types/filters.d.ts.map +1 -0
- package/dist/types/filters.js +1 -0
- package/dist/types/filters.js.map +1 -0
- package/dist/types/handlers.d.ts +1 -0
- package/dist/types/handlers.d.ts.map +1 -0
- package/dist/types/handlers.js +1 -0
- package/dist/types/handlers.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/logger.d.ts +1 -0
- package/dist/types/logger.d.ts.map +1 -0
- package/dist/types/logger.js +1 -0
- package/dist/types/logger.js.map +1 -0
- package/dist/types/messages.d.ts +1 -0
- package/dist/types/messages.d.ts.map +1 -0
- package/dist/types/messages.js +1 -0
- package/dist/types/messages.js.map +1 -0
- package/dist/types/nostr.d.ts +1 -0
- package/dist/types/nostr.d.ts.map +1 -0
- package/dist/types/nostr.js +1 -0
- package/dist/types/nostr.js.map +1 -0
- package/dist/types/options.d.ts +1 -0
- package/dist/types/options.d.ts.map +1 -0
- package/dist/types/options.js +1 -0
- package/dist/types/options.js.map +1 -0
- package/dist/types/priority.d.ts +1 -0
- package/dist/types/priority.d.ts.map +1 -0
- package/dist/types/priority.js +1 -0
- package/dist/types/priority.js.map +1 -0
- package/dist/types/relays.d.ts +1 -0
- package/dist/types/relays.d.ts.map +1 -0
- package/dist/types/relays.js +1 -0
- package/dist/types/relays.js.map +1 -0
- package/dist/types/scoring.d.ts +1 -2
- package/dist/types/scoring.d.ts.map +1 -0
- package/dist/types/scoring.js +1 -0
- package/dist/types/scoring.js.map +1 -0
- package/dist/types/socket.d.ts +1 -2
- package/dist/types/socket.d.ts.map +1 -0
- package/dist/types/socket.js +1 -0
- package/dist/types/socket.js.map +1 -0
- package/dist/types/transport.d.ts +1 -0
- package/dist/types/transport.d.ts.map +1 -0
- package/dist/types/transport.js +1 -0
- package/dist/types/transport.js.map +1 -0
- package/dist/types/validation.d.ts +1 -0
- package/dist/types/validation.d.ts.map +1 -0
- package/dist/types/validation.js +1 -0
- package/dist/types/validation.js.map +1 -0
- package/dist/types/websocket.d.ts +1 -0
- package/dist/types/websocket.d.ts.map +1 -0
- package/dist/types/websocket.js +1 -0
- package/dist/types/websocket.js.map +1 -0
- package/dist/utils/http.d.ts +1 -0
- package/dist/utils/http.d.ts.map +1 -0
- package/dist/utils/http.js +1 -0
- package/dist/utils/http.js.map +1 -0
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +1 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/metrics.d.ts +1 -1
- package/dist/utils/metrics.d.ts.map +1 -0
- package/dist/utils/metrics.js +1 -0
- package/dist/utils/metrics.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +1 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +1 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/package.json +14 -2
- package/dist/__mocks__/logger.d.ts +0 -9
- package/dist/__mocks__/logger.js +0 -6
- package/dist/client.d.ts +0 -129
- package/dist/client.js +0 -259
- package/dist/crypto/schnorr.d.ts +0 -16
- package/dist/crypto/schnorr.js +0 -51
- package/dist/nostr-server.js +0 -107
- package/dist/server.d.ts +0 -27
- package/dist/server.js +0 -132
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/types/events.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Filter type definitions
|
|
3
|
+
* @module types/filters
|
|
4
|
+
*/
|
|
5
|
+
import { NostrEventFilter } from './events';
|
|
6
|
+
/**
|
|
7
|
+
* Subscription request filter
|
|
8
|
+
*/
|
|
9
|
+
export interface NostrSubscriptionFilter extends NostrEventFilter {
|
|
10
|
+
subscriptionId?: string;
|
|
11
|
+
limit?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Filter validation result
|
|
15
|
+
*/
|
|
16
|
+
export interface NostrFilterValidationResult {
|
|
17
|
+
valid: boolean;
|
|
18
|
+
error?: string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/types/filters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/types/filters.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Handler type definitions for WebSocket events
|
|
3
|
+
* @module types/handlers
|
|
4
|
+
*/
|
|
5
|
+
import type { WebSocket } from 'ws';
|
|
6
|
+
import type { NostrWSMessage } from './messages';
|
|
7
|
+
import type { ExtendedWebSocket } from './websocket';
|
|
8
|
+
/**
|
|
9
|
+
* Events emitted by the NostrWSClient
|
|
10
|
+
* @interface NostrWSClientEvents
|
|
11
|
+
*/
|
|
12
|
+
export interface NostrWSClientEvents {
|
|
13
|
+
/**
|
|
14
|
+
* Emitted when the client connects to the relay
|
|
15
|
+
*/
|
|
16
|
+
connect: () => void;
|
|
17
|
+
/**
|
|
18
|
+
* Emitted when the client disconnects from the relay
|
|
19
|
+
*/
|
|
20
|
+
disconnect: () => void;
|
|
21
|
+
/**
|
|
22
|
+
* Emitted when the client reconnects to the relay
|
|
23
|
+
*/
|
|
24
|
+
reconnect: () => void;
|
|
25
|
+
/**
|
|
26
|
+
* Emitted when a message is received from the relay
|
|
27
|
+
* @param message - The received message
|
|
28
|
+
*/
|
|
29
|
+
message: (message: NostrWSMessage) => void;
|
|
30
|
+
/**
|
|
31
|
+
* Emitted when an error occurs
|
|
32
|
+
* @param error - The error object
|
|
33
|
+
*/
|
|
34
|
+
error: (error: Error) => void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Events emitted by the NostrWSServer
|
|
38
|
+
* @interface NostrWSServerEvents
|
|
39
|
+
*/
|
|
40
|
+
export interface NostrWSServerEvents {
|
|
41
|
+
/**
|
|
42
|
+
* Emitted when a client connects to the server
|
|
43
|
+
* @param client - The connected client
|
|
44
|
+
*/
|
|
45
|
+
connection: (client: ExtendedWebSocket) => void;
|
|
46
|
+
/**
|
|
47
|
+
* Emitted when a message is received from a client
|
|
48
|
+
* @param message - The received message
|
|
49
|
+
* @param client - The client that sent the message
|
|
50
|
+
*/
|
|
51
|
+
message: (message: NostrWSMessage, client: ExtendedWebSocket) => void;
|
|
52
|
+
/**
|
|
53
|
+
* Emitted when an error occurs
|
|
54
|
+
* @param error - The error object
|
|
55
|
+
*/
|
|
56
|
+
error: (error: Error) => void;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Configuration options for WebSocket handlers
|
|
60
|
+
* @interface NostrWSHandlers
|
|
61
|
+
*/
|
|
62
|
+
export interface NostrWSHandlers {
|
|
63
|
+
/**
|
|
64
|
+
* Handler for incoming messages
|
|
65
|
+
* @param ws - The WebSocket instance
|
|
66
|
+
* @param message - The received message
|
|
67
|
+
*/
|
|
68
|
+
message: (ws: ExtendedWebSocket, message: NostrWSMessage) => Promise<void> | void;
|
|
69
|
+
/**
|
|
70
|
+
* Handler for WebSocket errors
|
|
71
|
+
* @param ws - The WebSocket instance
|
|
72
|
+
* @param error - The error object
|
|
73
|
+
*/
|
|
74
|
+
error?: (ws: WebSocket, error: Error) => void;
|
|
75
|
+
/**
|
|
76
|
+
* Handler for WebSocket connection close
|
|
77
|
+
* @param ws - The WebSocket instance
|
|
78
|
+
*/
|
|
79
|
+
close?: (ws: WebSocket) => void;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/types/handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB;;OAEG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB;;;OAGG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAE3C;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEhD;;;;OAIG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEtE;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,OAAO,EAAE,CAAC,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAElF;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAE9C;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;CACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/types/handlers.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Core type definitions
|
|
3
|
+
* @module types
|
|
4
|
+
*/
|
|
5
|
+
import type { WebSocket } from 'ws';
|
|
6
|
+
import type { Logger } from './logger';
|
|
7
|
+
import type { NostrWSMessage, NostrEvent as MessageNostrEvent } from './messages';
|
|
8
|
+
export { NostrWSMessage } from './messages';
|
|
9
|
+
export { QueueItem } from './messages';
|
|
10
|
+
export * from './filters';
|
|
11
|
+
export * from './relays';
|
|
12
|
+
export * from './logger';
|
|
13
|
+
export * from './priority';
|
|
14
|
+
export type NostrEvent = MessageNostrEvent;
|
|
15
|
+
/**
|
|
16
|
+
* Extended WebSocket interface with client ID
|
|
17
|
+
*/
|
|
18
|
+
export interface ExtendedWebSocket extends WebSocket {
|
|
19
|
+
clientId?: string;
|
|
20
|
+
isAlive?: boolean;
|
|
21
|
+
subscriptions?: Set<string>;
|
|
22
|
+
lastPing?: number;
|
|
23
|
+
reconnectAttempts?: number;
|
|
24
|
+
messageQueue?: NostrWSMessage[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* WebSocket connection states
|
|
28
|
+
*/
|
|
29
|
+
export declare enum ConnectionState {
|
|
30
|
+
CONNECTING = "CONNECTING",
|
|
31
|
+
CONNECTED = "CONNECTED",
|
|
32
|
+
DISCONNECTED = "DISCONNECTED",
|
|
33
|
+
RECONNECTING = "RECONNECTING",
|
|
34
|
+
FAILED = "FAILED"
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Retry configuration options
|
|
38
|
+
*/
|
|
39
|
+
export interface RetryConfig {
|
|
40
|
+
maxAttempts: number;
|
|
41
|
+
initialDelay: number;
|
|
42
|
+
maxDelay: number;
|
|
43
|
+
backoffFactor: number;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Queue configuration options
|
|
47
|
+
*/
|
|
48
|
+
export interface QueueConfig {
|
|
49
|
+
maxSize: number;
|
|
50
|
+
maxRetries: number;
|
|
51
|
+
retryDelay: number;
|
|
52
|
+
staleTimeout: number;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Heartbeat configuration options
|
|
56
|
+
*/
|
|
57
|
+
export interface HeartbeatConfig {
|
|
58
|
+
interval: number;
|
|
59
|
+
timeout: number;
|
|
60
|
+
maxMissed: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* WebSocket client options
|
|
64
|
+
*/
|
|
65
|
+
export interface NostrWSOptions {
|
|
66
|
+
WebSocketImpl?: typeof WebSocket;
|
|
67
|
+
connectionTimeout?: number;
|
|
68
|
+
retryAttempts?: number;
|
|
69
|
+
retryDelay?: number;
|
|
70
|
+
onMessage?: (message: string) => void;
|
|
71
|
+
onError?: (error: Error) => void;
|
|
72
|
+
retry?: Partial<RetryConfig>;
|
|
73
|
+
queue?: Partial<QueueConfig>;
|
|
74
|
+
heartbeat?: Partial<HeartbeatConfig>;
|
|
75
|
+
autoReconnect?: boolean;
|
|
76
|
+
bufferMessages?: boolean;
|
|
77
|
+
cleanStaleMessages?: boolean;
|
|
78
|
+
logger?: Logger;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Represents a subscription to a Nostr relay
|
|
82
|
+
*/
|
|
83
|
+
export interface NostrWSSubscription {
|
|
84
|
+
/**
|
|
85
|
+
* Channel identifier for the subscription
|
|
86
|
+
*/
|
|
87
|
+
channel: string;
|
|
88
|
+
/**
|
|
89
|
+
* Filter criteria for the subscription
|
|
90
|
+
*/
|
|
91
|
+
filter?: Record<string, unknown>;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Events emitted by the NostrWSClient
|
|
95
|
+
*/
|
|
96
|
+
export interface NostrWSClientEvents {
|
|
97
|
+
/**
|
|
98
|
+
* Emitted when the client connects to the relay
|
|
99
|
+
*/
|
|
100
|
+
connect: () => void;
|
|
101
|
+
/**
|
|
102
|
+
* Emitted when the client disconnects from the relay
|
|
103
|
+
*/
|
|
104
|
+
disconnect: () => void;
|
|
105
|
+
/**
|
|
106
|
+
* Emitted when the client reconnects to the relay
|
|
107
|
+
*/
|
|
108
|
+
reconnect: () => void;
|
|
109
|
+
/**
|
|
110
|
+
* Emitted when a message is received from the relay
|
|
111
|
+
* @param message - The received message
|
|
112
|
+
*/
|
|
113
|
+
message: (message: NostrWSMessage) => Promise<void>;
|
|
114
|
+
/**
|
|
115
|
+
* Emitted when an error occurs
|
|
116
|
+
* @param error - The error that occurred
|
|
117
|
+
*/
|
|
118
|
+
error: (error: Error) => void;
|
|
119
|
+
close: () => void;
|
|
120
|
+
stateChange?: (state: ConnectionState) => void;
|
|
121
|
+
heartbeat?: () => void;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Events emitted by the NostrWSServer
|
|
125
|
+
*/
|
|
126
|
+
export interface NostrWSServerEvents {
|
|
127
|
+
/**
|
|
128
|
+
* Emitted when a client connects
|
|
129
|
+
* @param client - The connected client
|
|
130
|
+
*/
|
|
131
|
+
connection: (client: ExtendedWebSocket) => void;
|
|
132
|
+
/**
|
|
133
|
+
* Emitted when a message is received from a client
|
|
134
|
+
* @param message - The received message
|
|
135
|
+
* @param client - The client that sent the message
|
|
136
|
+
*/
|
|
137
|
+
message: (message: NostrWSMessage, client: ExtendedWebSocket) => void;
|
|
138
|
+
/**
|
|
139
|
+
* Emitted when an error occurs
|
|
140
|
+
* @param error - The error that occurred
|
|
141
|
+
*/
|
|
142
|
+
error: (error: Error) => void;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file Core type definitions
|
|
4
|
+
* @module types
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.ConnectionState = void 0;
|
|
22
|
+
__exportStar(require("./filters"), exports);
|
|
23
|
+
__exportStar(require("./relays"), exports);
|
|
24
|
+
__exportStar(require("./logger"), exports);
|
|
25
|
+
__exportStar(require("./priority"), exports);
|
|
26
|
+
/**
|
|
27
|
+
* WebSocket connection states
|
|
28
|
+
*/
|
|
29
|
+
var ConnectionState;
|
|
30
|
+
(function (ConnectionState) {
|
|
31
|
+
ConnectionState["CONNECTING"] = "CONNECTING";
|
|
32
|
+
ConnectionState["CONNECTED"] = "CONNECTED";
|
|
33
|
+
ConnectionState["DISCONNECTED"] = "DISCONNECTED";
|
|
34
|
+
ConnectionState["RECONNECTING"] = "RECONNECTING";
|
|
35
|
+
ConnectionState["FAILED"] = "FAILED";
|
|
36
|
+
})(ConnectionState || (exports.ConnectionState = ConnectionState = {}));
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AASH,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,6CAA2B;AAiB3B;;GAEG;AACH,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,4CAAyB,CAAA;IACzB,0CAAuB,CAAA;IACvB,gDAA6B,CAAA;IAC7B,gDAA6B,CAAA;IAC7B,oCAAiB,CAAA;AACnB,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Logger type definitions
|
|
3
|
+
* @module types/logger
|
|
4
|
+
*/
|
|
5
|
+
import type { Logger as PinoLogger } from 'pino';
|
|
6
|
+
export type Logger = PinoLogger;
|
|
7
|
+
/**
|
|
8
|
+
* WebSocket context for logging
|
|
9
|
+
*/
|
|
10
|
+
export interface WebSocketLogContext {
|
|
11
|
+
clientId?: string;
|
|
12
|
+
url?: string;
|
|
13
|
+
messageId?: string;
|
|
14
|
+
[key: string]: unknown;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Extended logger interface with WebSocket-specific methods
|
|
18
|
+
*/
|
|
19
|
+
export interface NostrWSLogger extends Logger {
|
|
20
|
+
/**
|
|
21
|
+
* Log WebSocket connection event
|
|
22
|
+
*/
|
|
23
|
+
wsConnect(context: WebSocketLogContext): void;
|
|
24
|
+
/**
|
|
25
|
+
* Log WebSocket disconnection event
|
|
26
|
+
*/
|
|
27
|
+
wsDisconnect(context: WebSocketLogContext): void;
|
|
28
|
+
/**
|
|
29
|
+
* Log WebSocket message event
|
|
30
|
+
*/
|
|
31
|
+
wsMessage(context: WebSocketLogContext): void;
|
|
32
|
+
/**
|
|
33
|
+
* Log WebSocket error event
|
|
34
|
+
*/
|
|
35
|
+
wsError(error: Error, context: WebSocketLogContext): void;
|
|
36
|
+
/**
|
|
37
|
+
* Log WebSocket metrics
|
|
38
|
+
*/
|
|
39
|
+
wsMetrics(metrics: Record<string, unknown>, context: WebSocketLogContext): void;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/types/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAEjD,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,MAAM;IAC3C;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE9C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEjD;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE9C;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE1D;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACjF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/types/logger.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Message type definitions
|
|
3
|
+
* @module types/messages
|
|
4
|
+
*/
|
|
5
|
+
import { MessagePriority } from './priority';
|
|
6
|
+
/**
|
|
7
|
+
* Message types that can be sent through the WebSocket connection
|
|
8
|
+
* Following NIP-01 and other NIPs message types
|
|
9
|
+
*/
|
|
10
|
+
export declare const MESSAGE_TYPES: {
|
|
11
|
+
readonly EVENT: "EVENT";
|
|
12
|
+
readonly REQ: "REQ";
|
|
13
|
+
readonly CLOSE: "CLOSE";
|
|
14
|
+
readonly NOTICE: "NOTICE";
|
|
15
|
+
readonly EOSE: "EOSE";
|
|
16
|
+
readonly OK: "OK";
|
|
17
|
+
readonly AUTH: "AUTH";
|
|
18
|
+
readonly COUNT: "COUNT";
|
|
19
|
+
readonly PING: "PING";
|
|
20
|
+
readonly PONG: "PONG";
|
|
21
|
+
readonly ERROR: "error";
|
|
22
|
+
};
|
|
23
|
+
export type MessageType = keyof typeof MESSAGE_TYPES;
|
|
24
|
+
/**
|
|
25
|
+
* Base Nostr WebSocket message interface
|
|
26
|
+
*/
|
|
27
|
+
export interface NostrWSMessageBase {
|
|
28
|
+
type: MessageType;
|
|
29
|
+
data?: unknown;
|
|
30
|
+
priority?: MessagePriority;
|
|
31
|
+
queuedAt?: number;
|
|
32
|
+
retryCount?: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Nostr WebSocket message type
|
|
36
|
+
* Array format: [<message_type>, ...data]
|
|
37
|
+
*/
|
|
38
|
+
export type NostrWSMessage = [MessageType, ...unknown[]];
|
|
39
|
+
/**
|
|
40
|
+
* Queue item interface for message queue
|
|
41
|
+
*/
|
|
42
|
+
export interface QueueItem extends NostrWSMessageBase {
|
|
43
|
+
priority: MessagePriority;
|
|
44
|
+
queuedAt: number;
|
|
45
|
+
retryCount: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Nostr event message
|
|
49
|
+
*/
|
|
50
|
+
export interface NostrEvent {
|
|
51
|
+
id: string;
|
|
52
|
+
kind: number;
|
|
53
|
+
content: string;
|
|
54
|
+
tags: string[][];
|
|
55
|
+
created_at?: number;
|
|
56
|
+
pubkey?: string;
|
|
57
|
+
sig?: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Server-side Nostr WebSocket message
|
|
61
|
+
* Extends the base NostrWSMessage tuple type with additional server-specific metadata
|
|
62
|
+
*/
|
|
63
|
+
export type NostrWSServerMessage = NostrWSMessage & {
|
|
64
|
+
clientId?: string;
|
|
65
|
+
timestamp?: number;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Helper function to create server messages
|
|
69
|
+
*/
|
|
70
|
+
export declare function createServerMessage(type: MessageType, data: unknown[], clientId?: string): NostrWSServerMessage;
|
|
71
|
+
/**
|
|
72
|
+
* Structure of a Nostr WebSocket filter
|
|
73
|
+
*/
|
|
74
|
+
export interface NostrWSFilter {
|
|
75
|
+
/** Array of event IDs */
|
|
76
|
+
ids?: string[];
|
|
77
|
+
/** Array of pubkeys */
|
|
78
|
+
authors?: string[];
|
|
79
|
+
/** Array of event kinds */
|
|
80
|
+
kinds?: number[];
|
|
81
|
+
/** Event tags */
|
|
82
|
+
tags?: Record<string, string[]>;
|
|
83
|
+
/** Unix timestamp range */
|
|
84
|
+
since?: number;
|
|
85
|
+
until?: number;
|
|
86
|
+
/** Maximum number of events to return */
|
|
87
|
+
limit?: number;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Represents a subscription to a Nostr relay
|
|
91
|
+
*/
|
|
92
|
+
export interface NostrWSSubscription {
|
|
93
|
+
/**
|
|
94
|
+
* Unique identifier for the subscription
|
|
95
|
+
*/
|
|
96
|
+
subscription_id: string;
|
|
97
|
+
/**
|
|
98
|
+
* Filters for the subscription
|
|
99
|
+
*/
|
|
100
|
+
filters: Array<Record<string, unknown>>;
|
|
101
|
+
/**
|
|
102
|
+
* Active state of the subscription
|
|
103
|
+
*/
|
|
104
|
+
active?: boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Timestamp when the subscription was created
|
|
107
|
+
*/
|
|
108
|
+
createdAt?: number;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Result of validating a NostrWSMessage
|
|
112
|
+
*/
|
|
113
|
+
export interface NostrWSValidationResult {
|
|
114
|
+
/**
|
|
115
|
+
* Whether the message is valid
|
|
116
|
+
*/
|
|
117
|
+
isValid: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Error message if validation failed
|
|
120
|
+
*/
|
|
121
|
+
error?: string;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Connection states for WebSocket client
|
|
125
|
+
*/
|
|
126
|
+
export declare enum ConnectionState {
|
|
127
|
+
CONNECTING = "CONNECTING",
|
|
128
|
+
CONNECTED = "CONNECTED",
|
|
129
|
+
DISCONNECTED = "DISCONNECTED",
|
|
130
|
+
RECONNECTING = "RECONNECTING",
|
|
131
|
+
FAILED = "FAILED"
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/types/messages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;CAYhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,aAAa,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,kBAAkB;IACnD,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAK/G;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAExC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,MAAM,WAAW;CAClB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file Message type definitions
|
|
4
|
+
* @module types/messages
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ConnectionState = exports.MESSAGE_TYPES = void 0;
|
|
8
|
+
exports.createServerMessage = createServerMessage;
|
|
9
|
+
/**
|
|
10
|
+
* Message types that can be sent through the WebSocket connection
|
|
11
|
+
* Following NIP-01 and other NIPs message types
|
|
12
|
+
*/
|
|
13
|
+
exports.MESSAGE_TYPES = {
|
|
14
|
+
EVENT: 'EVENT', // NIP-01: Basic protocol flow events
|
|
15
|
+
REQ: 'REQ', // NIP-01: Request events
|
|
16
|
+
CLOSE: 'CLOSE', // NIP-01: Close subscription
|
|
17
|
+
NOTICE: 'NOTICE', // NIP-01: Human-readable messages
|
|
18
|
+
EOSE: 'EOSE', // NIP-15: End of stored events notice
|
|
19
|
+
OK: 'OK', // NIP-20: Command result
|
|
20
|
+
AUTH: 'AUTH', // NIP-42: Authentication
|
|
21
|
+
COUNT: 'COUNT', // NIP-45: Event counts
|
|
22
|
+
PING: 'PING', // Internal heartbeat ping
|
|
23
|
+
PONG: 'PONG', // Internal heartbeat pong
|
|
24
|
+
ERROR: 'error' // Internal error type (lowercase to differentiate)
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Helper function to create server messages
|
|
28
|
+
*/
|
|
29
|
+
function createServerMessage(type, data, clientId) {
|
|
30
|
+
const message = [type, ...data];
|
|
31
|
+
message.clientId = clientId;
|
|
32
|
+
message.timestamp = Date.now();
|
|
33
|
+
return message;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Connection states for WebSocket client
|
|
37
|
+
*/
|
|
38
|
+
var ConnectionState;
|
|
39
|
+
(function (ConnectionState) {
|
|
40
|
+
ConnectionState["CONNECTING"] = "CONNECTING";
|
|
41
|
+
ConnectionState["CONNECTED"] = "CONNECTED";
|
|
42
|
+
ConnectionState["DISCONNECTED"] = "DISCONNECTED";
|
|
43
|
+
ConnectionState["RECONNECTING"] = "RECONNECTING";
|
|
44
|
+
ConnectionState["FAILED"] = "FAILED";
|
|
45
|
+
})(ConnectionState || (exports.ConnectionState = ConnectionState = {}));
|
|
46
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/types/messages.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA2EH,kDAKC;AA5ED;;;GAGG;AACU,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,OAAO,EAAK,qCAAqC;IACxD,GAAG,EAAE,KAAK,EAAQ,yBAAyB;IAC3C,KAAK,EAAE,OAAO,EAAI,6BAA6B;IAC/C,MAAM,EAAE,QAAQ,EAAE,kCAAkC;IACpD,IAAI,EAAE,MAAM,EAAM,sCAAsC;IACxD,EAAE,EAAE,IAAI,EAAU,yBAAyB;IAC3C,IAAI,EAAE,MAAM,EAAM,yBAAyB;IAC3C,KAAK,EAAE,OAAO,EAAI,uBAAuB;IACzC,IAAI,EAAE,MAAM,EAAM,0BAA0B;IAC5C,IAAI,EAAE,MAAM,EAAM,0BAA0B;IAC5C,KAAK,EAAE,OAAO,CAAI,mDAAmD;CAC7D,CAAC;AAoDX;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB,EAAE,IAAe,EAAE,QAAiB;IACvF,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAyB,CAAC;IACxD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC;AA6DD;;GAEG;AACH,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,4CAAyB,CAAA;IACzB,0CAAuB,CAAA;IACvB,gDAA6B,CAAA;IAC7B,gDAA6B,CAAA;IAC7B,oCAAiB,CAAA;AACnB,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B"}
|