lightclaw2 0.0.1
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/README.md +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/src/channel.d.ts +11 -0
- package/dist/src/channel.d.ts.map +1 -0
- package/dist/src/channel.js +255 -0
- package/dist/src/channel.js.map +1 -0
- package/dist/src/config.d.ts +29 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +99 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/dedup.d.ts +7 -0
- package/dist/src/dedup.d.ts.map +1 -0
- package/dist/src/dedup.js +52 -0
- package/dist/src/dedup.js.map +1 -0
- package/dist/src/gateway.d.ts +16 -0
- package/dist/src/gateway.d.ts.map +1 -0
- package/dist/src/gateway.js +283 -0
- package/dist/src/gateway.js.map +1 -0
- package/dist/src/inbound.d.ts +18 -0
- package/dist/src/inbound.d.ts.map +1 -0
- package/dist/src/inbound.js +252 -0
- package/dist/src/inbound.js.map +1 -0
- package/dist/src/media.d.ts +12 -0
- package/dist/src/media.d.ts.map +1 -0
- package/dist/src/media.js +87 -0
- package/dist/src/media.js.map +1 -0
- package/dist/src/outbound.d.ts +28 -0
- package/dist/src/outbound.d.ts.map +1 -0
- package/dist/src/outbound.js +172 -0
- package/dist/src/outbound.js.map +1 -0
- package/dist/src/runtime.d.ts +4 -0
- package/dist/src/runtime.d.ts.map +1 -0
- package/dist/src/runtime.js +11 -0
- package/dist/src/runtime.js.map +1 -0
- package/dist/src/session-history.d.ts +88 -0
- package/dist/src/session-history.d.ts.map +1 -0
- package/dist/src/session-history.js +545 -0
- package/dist/src/session-history.js.map +1 -0
- package/dist/src/socket-handlers.d.ts +21 -0
- package/dist/src/socket-handlers.d.ts.map +1 -0
- package/dist/src/socket-handlers.js +120 -0
- package/dist/src/socket-handlers.js.map +1 -0
- package/dist/src/socket-registry.d.ts +53 -0
- package/dist/src/socket-registry.d.ts.map +1 -0
- package/dist/src/socket-registry.js +115 -0
- package/dist/src/socket-registry.js.map +1 -0
- package/dist/src/types.d.ts +100 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +10 -0
- package/dist/src/types.js.map +1 -0
- package/node_modules/@socket.io/component-emitter/LICENSE +24 -0
- package/node_modules/@socket.io/component-emitter/Readme.md +79 -0
- package/node_modules/@socket.io/component-emitter/lib/cjs/index.d.ts +179 -0
- package/node_modules/@socket.io/component-emitter/lib/cjs/index.js +176 -0
- package/node_modules/@socket.io/component-emitter/lib/cjs/package.json +4 -0
- package/node_modules/@socket.io/component-emitter/lib/esm/index.d.ts +179 -0
- package/node_modules/@socket.io/component-emitter/lib/esm/index.js +169 -0
- package/node_modules/@socket.io/component-emitter/lib/esm/package.json +4 -0
- package/node_modules/@socket.io/component-emitter/package.json +28 -0
- package/node_modules/debug/LICENSE +20 -0
- package/node_modules/debug/README.md +481 -0
- package/node_modules/debug/package.json +64 -0
- package/node_modules/debug/src/browser.js +272 -0
- package/node_modules/debug/src/common.js +292 -0
- package/node_modules/debug/src/index.js +10 -0
- package/node_modules/debug/src/node.js +263 -0
- package/node_modules/engine.io-client/LICENSE +22 -0
- package/node_modules/engine.io-client/README.md +331 -0
- package/node_modules/engine.io-client/build/cjs/browser-entrypoint.d.ts +3 -0
- package/node_modules/engine.io-client/build/cjs/browser-entrypoint.js +4 -0
- package/node_modules/engine.io-client/build/cjs/contrib/has-cors.d.ts +1 -0
- package/node_modules/engine.io-client/build/cjs/contrib/has-cors.js +14 -0
- package/node_modules/engine.io-client/build/cjs/contrib/parseqs.d.ts +15 -0
- package/node_modules/engine.io-client/build/cjs/contrib/parseqs.js +38 -0
- package/node_modules/engine.io-client/build/cjs/contrib/parseuri.d.ts +1 -0
- package/node_modules/engine.io-client/build/cjs/contrib/parseuri.js +67 -0
- package/node_modules/engine.io-client/build/cjs/globals.d.ts +4 -0
- package/node_modules/engine.io-client/build/cjs/globals.js +26 -0
- package/node_modules/engine.io-client/build/cjs/globals.node.d.ts +21 -0
- package/node_modules/engine.io-client/build/cjs/globals.node.js +97 -0
- package/node_modules/engine.io-client/build/cjs/index.d.ts +15 -0
- package/node_modules/engine.io-client/build/cjs/index.js +32 -0
- package/node_modules/engine.io-client/build/cjs/package.json +10 -0
- package/node_modules/engine.io-client/build/cjs/socket.d.ts +482 -0
- package/node_modules/engine.io-client/build/cjs/socket.js +765 -0
- package/node_modules/engine.io-client/build/cjs/transport.d.ts +106 -0
- package/node_modules/engine.io-client/build/cjs/transport.js +153 -0
- package/node_modules/engine.io-client/build/cjs/transports/index.d.ts +8 -0
- package/node_modules/engine.io-client/build/cjs/transports/index.js +11 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling-fetch.d.ts +15 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling-fetch.js +60 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.d.ts +108 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js +285 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.d.ts +11 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.js +44 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling.d.ts +52 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling.js +165 -0
- package/node_modules/engine.io-client/build/cjs/transports/websocket.d.ts +36 -0
- package/node_modules/engine.io-client/build/cjs/transports/websocket.js +136 -0
- package/node_modules/engine.io-client/build/cjs/transports/websocket.node.d.ts +14 -0
- package/node_modules/engine.io-client/build/cjs/transports/websocket.node.js +68 -0
- package/node_modules/engine.io-client/build/cjs/transports/webtransport.d.ts +18 -0
- package/node_modules/engine.io-client/build/cjs/transports/webtransport.js +94 -0
- package/node_modules/engine.io-client/build/cjs/util.d.ts +7 -0
- package/node_modules/engine.io-client/build/cjs/util.js +65 -0
- package/node_modules/engine.io-client/build/esm/browser-entrypoint.d.ts +3 -0
- package/node_modules/engine.io-client/build/esm/browser-entrypoint.js +2 -0
- package/node_modules/engine.io-client/build/esm/contrib/has-cors.d.ts +1 -0
- package/node_modules/engine.io-client/build/esm/contrib/has-cors.js +11 -0
- package/node_modules/engine.io-client/build/esm/contrib/parseqs.d.ts +15 -0
- package/node_modules/engine.io-client/build/esm/contrib/parseqs.js +34 -0
- package/node_modules/engine.io-client/build/esm/contrib/parseuri.d.ts +1 -0
- package/node_modules/engine.io-client/build/esm/contrib/parseuri.js +64 -0
- package/node_modules/engine.io-client/build/esm/globals.d.ts +4 -0
- package/node_modules/engine.io-client/build/esm/globals.js +22 -0
- package/node_modules/engine.io-client/build/esm/globals.node.d.ts +21 -0
- package/node_modules/engine.io-client/build/esm/globals.node.js +91 -0
- package/node_modules/engine.io-client/build/esm/index.d.ts +15 -0
- package/node_modules/engine.io-client/build/esm/index.js +15 -0
- package/node_modules/engine.io-client/build/esm/package.json +10 -0
- package/node_modules/engine.io-client/build/esm/socket.d.ts +482 -0
- package/node_modules/engine.io-client/build/esm/socket.js +727 -0
- package/node_modules/engine.io-client/build/esm/transport.d.ts +106 -0
- package/node_modules/engine.io-client/build/esm/transport.js +142 -0
- package/node_modules/engine.io-client/build/esm/transports/index.d.ts +8 -0
- package/node_modules/engine.io-client/build/esm/transports/index.js +8 -0
- package/node_modules/engine.io-client/build/esm/transports/polling-fetch.d.ts +15 -0
- package/node_modules/engine.io-client/build/esm/transports/polling-fetch.js +56 -0
- package/node_modules/engine.io-client/build/esm/transports/polling-xhr.d.ts +108 -0
- package/node_modules/engine.io-client/build/esm/transports/polling-xhr.js +271 -0
- package/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.d.ts +11 -0
- package/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.js +17 -0
- package/node_modules/engine.io-client/build/esm/transports/polling.d.ts +52 -0
- package/node_modules/engine.io-client/build/esm/transports/polling.js +145 -0
- package/node_modules/engine.io-client/build/esm/transports/websocket.d.ts +36 -0
- package/node_modules/engine.io-client/build/esm/transports/websocket.js +125 -0
- package/node_modules/engine.io-client/build/esm/transports/websocket.node.d.ts +14 -0
- package/node_modules/engine.io-client/build/esm/transports/websocket.node.js +41 -0
- package/node_modules/engine.io-client/build/esm/transports/webtransport.d.ts +18 -0
- package/node_modules/engine.io-client/build/esm/transports/webtransport.js +80 -0
- package/node_modules/engine.io-client/build/esm/util.d.ts +7 -0
- package/node_modules/engine.io-client/build/esm/util.js +59 -0
- package/node_modules/engine.io-client/build/esm-debug/browser-entrypoint.d.ts +3 -0
- package/node_modules/engine.io-client/build/esm-debug/browser-entrypoint.js +2 -0
- package/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.d.ts +1 -0
- package/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.js +11 -0
- package/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.d.ts +15 -0
- package/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.js +34 -0
- package/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.d.ts +1 -0
- package/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.js +64 -0
- package/node_modules/engine.io-client/build/esm-debug/globals.d.ts +4 -0
- package/node_modules/engine.io-client/build/esm-debug/globals.js +22 -0
- package/node_modules/engine.io-client/build/esm-debug/globals.node.d.ts +21 -0
- package/node_modules/engine.io-client/build/esm-debug/globals.node.js +91 -0
- package/node_modules/engine.io-client/build/esm-debug/index.d.ts +15 -0
- package/node_modules/engine.io-client/build/esm-debug/index.js +15 -0
- package/node_modules/engine.io-client/build/esm-debug/package.json +10 -0
- package/node_modules/engine.io-client/build/esm-debug/socket.d.ts +482 -0
- package/node_modules/engine.io-client/build/esm-debug/socket.js +756 -0
- package/node_modules/engine.io-client/build/esm-debug/transport.d.ts +106 -0
- package/node_modules/engine.io-client/build/esm-debug/transport.js +145 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/index.d.ts +8 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/index.js +8 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-fetch.d.ts +15 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-fetch.js +56 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.d.ts +108 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.js +276 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.d.ts +11 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.js +17 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling.d.ts +52 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling.js +158 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/websocket.d.ts +36 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/websocket.js +128 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.d.ts +14 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.js +41 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/webtransport.d.ts +18 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/webtransport.js +87 -0
- package/node_modules/engine.io-client/build/esm-debug/util.d.ts +7 -0
- package/node_modules/engine.io-client/build/esm-debug/util.js +59 -0
- package/node_modules/engine.io-client/dist/engine.io.esm.min.js +7 -0
- package/node_modules/engine.io-client/dist/engine.io.esm.min.js.map +1 -0
- package/node_modules/engine.io-client/dist/engine.io.js +3064 -0
- package/node_modules/engine.io-client/dist/engine.io.js.map +1 -0
- package/node_modules/engine.io-client/dist/engine.io.min.js +7 -0
- package/node_modules/engine.io-client/dist/engine.io.min.js.map +1 -0
- package/node_modules/engine.io-client/node_modules/ws/LICENSE +20 -0
- package/node_modules/engine.io-client/node_modules/ws/README.md +548 -0
- package/node_modules/engine.io-client/node_modules/ws/browser.js +8 -0
- package/node_modules/engine.io-client/node_modules/ws/index.js +13 -0
- package/node_modules/engine.io-client/node_modules/ws/lib/buffer-util.js +131 -0
- package/node_modules/engine.io-client/node_modules/ws/lib/constants.js +18 -0
- package/node_modules/engine.io-client/node_modules/ws/lib/event-target.js +292 -0
- package/node_modules/engine.io-client/node_modules/ws/lib/extension.js +203 -0
- package/node_modules/engine.io-client/node_modules/ws/lib/limiter.js +55 -0
- package/node_modules/engine.io-client/node_modules/ws/lib/permessage-deflate.js +528 -0
- package/node_modules/engine.io-client/node_modules/ws/lib/receiver.js +706 -0
- package/node_modules/engine.io-client/node_modules/ws/lib/sender.js +602 -0
- package/node_modules/engine.io-client/node_modules/ws/lib/stream.js +161 -0
- package/node_modules/engine.io-client/node_modules/ws/lib/subprotocol.js +62 -0
- package/node_modules/engine.io-client/node_modules/ws/lib/validation.js +152 -0
- package/node_modules/engine.io-client/node_modules/ws/lib/websocket-server.js +550 -0
- package/node_modules/engine.io-client/node_modules/ws/lib/websocket.js +1388 -0
- package/node_modules/engine.io-client/node_modules/ws/package.json +69 -0
- package/node_modules/engine.io-client/node_modules/ws/wrapper.mjs +8 -0
- package/node_modules/engine.io-client/package.json +95 -0
- package/node_modules/engine.io-parser/LICENSE +22 -0
- package/node_modules/engine.io-parser/Readme.md +158 -0
- package/node_modules/engine.io-parser/build/cjs/commons.d.ts +14 -0
- package/node_modules/engine.io-parser/build/cjs/commons.js +19 -0
- package/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.d.ts +2 -0
- package/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.js +48 -0
- package/node_modules/engine.io-parser/build/cjs/decodePacket.browser.d.ts +2 -0
- package/node_modules/engine.io-parser/build/cjs/decodePacket.browser.js +66 -0
- package/node_modules/engine.io-parser/build/cjs/decodePacket.d.ts +2 -0
- package/node_modules/engine.io-parser/build/cjs/decodePacket.js +59 -0
- package/node_modules/engine.io-parser/build/cjs/encodePacket.browser.d.ts +4 -0
- package/node_modules/engine.io-parser/build/cjs/encodePacket.browser.js +72 -0
- package/node_modules/engine.io-parser/build/cjs/encodePacket.d.ts +3 -0
- package/node_modules/engine.io-parser/build/cjs/encodePacket.js +38 -0
- package/node_modules/engine.io-parser/build/cjs/index.d.ts +9 -0
- package/node_modules/engine.io-parser/build/cjs/index.js +164 -0
- package/node_modules/engine.io-parser/build/cjs/package.json +8 -0
- package/node_modules/engine.io-parser/build/esm/commons.d.ts +14 -0
- package/node_modules/engine.io-parser/build/esm/commons.js +14 -0
- package/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.d.ts +2 -0
- package/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js +43 -0
- package/node_modules/engine.io-parser/build/esm/decodePacket.browser.d.ts +2 -0
- package/node_modules/engine.io-parser/build/esm/decodePacket.browser.js +62 -0
- package/node_modules/engine.io-parser/build/esm/decodePacket.d.ts +2 -0
- package/node_modules/engine.io-parser/build/esm/decodePacket.js +55 -0
- package/node_modules/engine.io-parser/build/esm/encodePacket.browser.d.ts +4 -0
- package/node_modules/engine.io-parser/build/esm/encodePacket.browser.js +68 -0
- package/node_modules/engine.io-parser/build/esm/encodePacket.d.ts +3 -0
- package/node_modules/engine.io-parser/build/esm/encodePacket.js +33 -0
- package/node_modules/engine.io-parser/build/esm/index.d.ts +9 -0
- package/node_modules/engine.io-parser/build/esm/index.js +156 -0
- package/node_modules/engine.io-parser/build/esm/package.json +8 -0
- package/node_modules/engine.io-parser/package.json +46 -0
- package/node_modules/ms/index.js +162 -0
- package/node_modules/ms/license.md +21 -0
- package/node_modules/ms/package.json +38 -0
- package/node_modules/ms/readme.md +59 -0
- package/node_modules/socket.io-client/LICENSE +21 -0
- package/node_modules/socket.io-client/README.md +29 -0
- package/node_modules/socket.io-client/build/cjs/browser-entrypoint.d.ts +2 -0
- package/node_modules/socket.io-client/build/cjs/browser-entrypoint.js +4 -0
- package/node_modules/socket.io-client/build/cjs/contrib/backo2.d.ts +12 -0
- package/node_modules/socket.io-client/build/cjs/contrib/backo2.js +69 -0
- package/node_modules/socket.io-client/build/cjs/index.d.ts +29 -0
- package/node_modules/socket.io-client/build/cjs/index.js +76 -0
- package/node_modules/socket.io-client/build/cjs/manager.d.ts +295 -0
- package/node_modules/socket.io-client/build/cjs/manager.js +416 -0
- package/node_modules/socket.io-client/build/cjs/on.d.ts +2 -0
- package/node_modules/socket.io-client/build/cjs/on.js +9 -0
- package/node_modules/socket.io-client/build/cjs/socket.d.ts +593 -0
- package/node_modules/socket.io-client/build/cjs/socket.js +909 -0
- package/node_modules/socket.io-client/build/cjs/url.d.ts +33 -0
- package/node_modules/socket.io-client/build/cjs/url.js +69 -0
- package/node_modules/socket.io-client/build/esm/browser-entrypoint.d.ts +2 -0
- package/node_modules/socket.io-client/build/esm/browser-entrypoint.js +2 -0
- package/node_modules/socket.io-client/build/esm/contrib/backo2.d.ts +12 -0
- package/node_modules/socket.io-client/build/esm/contrib/backo2.js +66 -0
- package/node_modules/socket.io-client/build/esm/index.d.ts +29 -0
- package/node_modules/socket.io-client/build/esm/index.js +58 -0
- package/node_modules/socket.io-client/build/esm/manager.d.ts +295 -0
- package/node_modules/socket.io-client/build/esm/manager.js +367 -0
- package/node_modules/socket.io-client/build/esm/on.d.ts +2 -0
- package/node_modules/socket.io-client/build/esm/on.js +6 -0
- package/node_modules/socket.io-client/build/esm/package.json +5 -0
- package/node_modules/socket.io-client/build/esm/socket.d.ts +593 -0
- package/node_modules/socket.io-client/build/esm/socket.js +880 -0
- package/node_modules/socket.io-client/build/esm/url.d.ts +33 -0
- package/node_modules/socket.io-client/build/esm/url.js +59 -0
- package/node_modules/socket.io-client/build/esm-debug/browser-entrypoint.d.ts +2 -0
- package/node_modules/socket.io-client/build/esm-debug/browser-entrypoint.js +2 -0
- package/node_modules/socket.io-client/build/esm-debug/contrib/backo2.d.ts +12 -0
- package/node_modules/socket.io-client/build/esm-debug/contrib/backo2.js +66 -0
- package/node_modules/socket.io-client/build/esm-debug/index.d.ts +29 -0
- package/node_modules/socket.io-client/build/esm-debug/index.js +62 -0
- package/node_modules/socket.io-client/build/esm-debug/manager.d.ts +295 -0
- package/node_modules/socket.io-client/build/esm-debug/manager.js +386 -0
- package/node_modules/socket.io-client/build/esm-debug/on.d.ts +2 -0
- package/node_modules/socket.io-client/build/esm-debug/on.js +6 -0
- package/node_modules/socket.io-client/build/esm-debug/package.json +5 -0
- package/node_modules/socket.io-client/build/esm-debug/socket.d.ts +593 -0
- package/node_modules/socket.io-client/build/esm-debug/socket.js +902 -0
- package/node_modules/socket.io-client/build/esm-debug/url.d.ts +33 -0
- package/node_modules/socket.io-client/build/esm-debug/url.js +63 -0
- package/node_modules/socket.io-client/dist/socket.io.esm.min.js +7 -0
- package/node_modules/socket.io-client/dist/socket.io.esm.min.js.map +1 -0
- package/node_modules/socket.io-client/dist/socket.io.js +4955 -0
- package/node_modules/socket.io-client/dist/socket.io.js.map +1 -0
- package/node_modules/socket.io-client/dist/socket.io.min.js +7 -0
- package/node_modules/socket.io-client/dist/socket.io.min.js.map +1 -0
- package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js +7 -0
- package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js.map +1 -0
- package/node_modules/socket.io-client/package.json +101 -0
- package/node_modules/socket.io-parser/LICENSE +20 -0
- package/node_modules/socket.io-parser/Readme.md +81 -0
- package/node_modules/socket.io-parser/build/cjs/binary.d.ts +20 -0
- package/node_modules/socket.io-parser/build/cjs/binary.js +87 -0
- package/node_modules/socket.io-parser/build/cjs/index.d.ts +91 -0
- package/node_modules/socket.io-parser/build/cjs/index.js +359 -0
- package/node_modules/socket.io-parser/build/cjs/is-binary.d.ts +7 -0
- package/node_modules/socket.io-parser/build/cjs/is-binary.js +54 -0
- package/node_modules/socket.io-parser/build/cjs/package.json +3 -0
- package/node_modules/socket.io-parser/build/esm/binary.d.ts +20 -0
- package/node_modules/socket.io-parser/build/esm/binary.js +83 -0
- package/node_modules/socket.io-parser/build/esm/index.d.ts +91 -0
- package/node_modules/socket.io-parser/build/esm/index.js +348 -0
- package/node_modules/socket.io-parser/build/esm/is-binary.d.ts +7 -0
- package/node_modules/socket.io-parser/build/esm/is-binary.js +50 -0
- package/node_modules/socket.io-parser/build/esm/package.json +3 -0
- package/node_modules/socket.io-parser/build/esm-debug/binary.d.ts +20 -0
- package/node_modules/socket.io-parser/build/esm-debug/binary.js +83 -0
- package/node_modules/socket.io-parser/build/esm-debug/index.d.ts +91 -0
- package/node_modules/socket.io-parser/build/esm-debug/index.js +353 -0
- package/node_modules/socket.io-parser/build/esm-debug/is-binary.d.ts +7 -0
- package/node_modules/socket.io-parser/build/esm-debug/is-binary.js +50 -0
- package/node_modules/socket.io-parser/build/esm-debug/package.json +3 -0
- package/node_modules/socket.io-parser/package.json +44 -0
- package/node_modules/xmlhttprequest-ssl/LICENSE +22 -0
- package/node_modules/xmlhttprequest-ssl/README.md +67 -0
- package/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js +689 -0
- package/node_modules/xmlhttprequest-ssl/package.json +40 -0
- package/openclaw.plugin.json +17 -0
- package/package.json +61 -0
- package/skills/lightclaw-cron/SKILL.md +381 -0
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import { Polling } from "./polling.js";
|
|
2
|
+
import { Emitter } from "@socket.io/component-emitter";
|
|
3
|
+
import { installTimerFunctions, pick } from "../util.js";
|
|
4
|
+
import { globalThisShim as globalThis } from "../globals.node.js";
|
|
5
|
+
import { hasCORS } from "../contrib/has-cors.js";
|
|
6
|
+
import debugModule from "debug"; // debug()
|
|
7
|
+
const debug = debugModule("engine.io-client:polling"); // debug()
|
|
8
|
+
function empty() { }
|
|
9
|
+
export class BaseXHR extends Polling {
|
|
10
|
+
/**
|
|
11
|
+
* XHR Polling constructor.
|
|
12
|
+
*
|
|
13
|
+
* @param {Object} opts
|
|
14
|
+
* @package
|
|
15
|
+
*/
|
|
16
|
+
constructor(opts) {
|
|
17
|
+
super(opts);
|
|
18
|
+
if (typeof location !== "undefined") {
|
|
19
|
+
const isSSL = "https:" === location.protocol;
|
|
20
|
+
let port = location.port;
|
|
21
|
+
// some user agents have empty `location.port`
|
|
22
|
+
if (!port) {
|
|
23
|
+
port = isSSL ? "443" : "80";
|
|
24
|
+
}
|
|
25
|
+
this.xd =
|
|
26
|
+
(typeof location !== "undefined" &&
|
|
27
|
+
opts.hostname !== location.hostname) ||
|
|
28
|
+
port !== opts.port;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Sends data.
|
|
33
|
+
*
|
|
34
|
+
* @param {String} data to send.
|
|
35
|
+
* @param {Function} called upon flush.
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
doWrite(data, fn) {
|
|
39
|
+
const req = this.request({
|
|
40
|
+
method: "POST",
|
|
41
|
+
data: data,
|
|
42
|
+
});
|
|
43
|
+
req.on("success", fn);
|
|
44
|
+
req.on("error", (xhrStatus, context) => {
|
|
45
|
+
this.onError("xhr post error", xhrStatus, context);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Starts a poll cycle.
|
|
50
|
+
*
|
|
51
|
+
* @private
|
|
52
|
+
*/
|
|
53
|
+
doPoll() {
|
|
54
|
+
debug("xhr poll");
|
|
55
|
+
const req = this.request();
|
|
56
|
+
req.on("data", this.onData.bind(this));
|
|
57
|
+
req.on("error", (xhrStatus, context) => {
|
|
58
|
+
this.onError("xhr poll error", xhrStatus, context);
|
|
59
|
+
});
|
|
60
|
+
this.pollXhr = req;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
export class Request extends Emitter {
|
|
64
|
+
/**
|
|
65
|
+
* Request constructor
|
|
66
|
+
*
|
|
67
|
+
* @param {Object} options
|
|
68
|
+
* @package
|
|
69
|
+
*/
|
|
70
|
+
constructor(createRequest, uri, opts) {
|
|
71
|
+
super();
|
|
72
|
+
this.createRequest = createRequest;
|
|
73
|
+
installTimerFunctions(this, opts);
|
|
74
|
+
this._opts = opts;
|
|
75
|
+
this._method = opts.method || "GET";
|
|
76
|
+
this._uri = uri;
|
|
77
|
+
this._data = undefined !== opts.data ? opts.data : null;
|
|
78
|
+
this._create();
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Creates the XHR object and sends the request.
|
|
82
|
+
*
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
85
|
+
_create() {
|
|
86
|
+
var _a;
|
|
87
|
+
const opts = pick(this._opts, "agent", "pfx", "key", "passphrase", "cert", "ca", "ciphers", "rejectUnauthorized", "autoUnref");
|
|
88
|
+
opts.xdomain = !!this._opts.xd;
|
|
89
|
+
const xhr = (this._xhr = this.createRequest(opts));
|
|
90
|
+
try {
|
|
91
|
+
debug("xhr open %s: %s", this._method, this._uri);
|
|
92
|
+
xhr.open(this._method, this._uri, true);
|
|
93
|
+
try {
|
|
94
|
+
if (this._opts.extraHeaders) {
|
|
95
|
+
// @ts-ignore
|
|
96
|
+
xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);
|
|
97
|
+
for (let i in this._opts.extraHeaders) {
|
|
98
|
+
if (this._opts.extraHeaders.hasOwnProperty(i)) {
|
|
99
|
+
xhr.setRequestHeader(i, this._opts.extraHeaders[i]);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (e) { }
|
|
105
|
+
if ("POST" === this._method) {
|
|
106
|
+
try {
|
|
107
|
+
xhr.setRequestHeader("Content-type", "text/plain;charset=UTF-8");
|
|
108
|
+
}
|
|
109
|
+
catch (e) { }
|
|
110
|
+
}
|
|
111
|
+
try {
|
|
112
|
+
xhr.setRequestHeader("Accept", "*/*");
|
|
113
|
+
}
|
|
114
|
+
catch (e) { }
|
|
115
|
+
(_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);
|
|
116
|
+
// ie6 check
|
|
117
|
+
if ("withCredentials" in xhr) {
|
|
118
|
+
xhr.withCredentials = this._opts.withCredentials;
|
|
119
|
+
}
|
|
120
|
+
if (this._opts.requestTimeout) {
|
|
121
|
+
xhr.timeout = this._opts.requestTimeout;
|
|
122
|
+
}
|
|
123
|
+
xhr.onreadystatechange = () => {
|
|
124
|
+
var _a;
|
|
125
|
+
if (xhr.readyState === 3) {
|
|
126
|
+
(_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.parseCookies(
|
|
127
|
+
// @ts-ignore
|
|
128
|
+
xhr.getResponseHeader("set-cookie"));
|
|
129
|
+
}
|
|
130
|
+
if (4 !== xhr.readyState)
|
|
131
|
+
return;
|
|
132
|
+
if (200 === xhr.status || 1223 === xhr.status) {
|
|
133
|
+
this._onLoad();
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
// make sure the `error` event handler that's user-set
|
|
137
|
+
// does not throw in the same tick and gets caught here
|
|
138
|
+
this.setTimeoutFn(() => {
|
|
139
|
+
this._onError(typeof xhr.status === "number" ? xhr.status : 0);
|
|
140
|
+
}, 0);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
debug("xhr data %s", this._data);
|
|
144
|
+
xhr.send(this._data);
|
|
145
|
+
}
|
|
146
|
+
catch (e) {
|
|
147
|
+
// Need to defer since .create() is called directly from the constructor
|
|
148
|
+
// and thus the 'error' event can only be only bound *after* this exception
|
|
149
|
+
// occurs. Therefore, also, we cannot throw here at all.
|
|
150
|
+
this.setTimeoutFn(() => {
|
|
151
|
+
this._onError(e);
|
|
152
|
+
}, 0);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
if (typeof document !== "undefined") {
|
|
156
|
+
this._index = Request.requestsCount++;
|
|
157
|
+
Request.requests[this._index] = this;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Called upon error.
|
|
162
|
+
*
|
|
163
|
+
* @private
|
|
164
|
+
*/
|
|
165
|
+
_onError(err) {
|
|
166
|
+
this.emitReserved("error", err, this._xhr);
|
|
167
|
+
this._cleanup(true);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Cleans up house.
|
|
171
|
+
*
|
|
172
|
+
* @private
|
|
173
|
+
*/
|
|
174
|
+
_cleanup(fromError) {
|
|
175
|
+
if ("undefined" === typeof this._xhr || null === this._xhr) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
this._xhr.onreadystatechange = empty;
|
|
179
|
+
if (fromError) {
|
|
180
|
+
try {
|
|
181
|
+
this._xhr.abort();
|
|
182
|
+
}
|
|
183
|
+
catch (e) { }
|
|
184
|
+
}
|
|
185
|
+
if (typeof document !== "undefined") {
|
|
186
|
+
delete Request.requests[this._index];
|
|
187
|
+
}
|
|
188
|
+
this._xhr = null;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Called upon load.
|
|
192
|
+
*
|
|
193
|
+
* @private
|
|
194
|
+
*/
|
|
195
|
+
_onLoad() {
|
|
196
|
+
const data = this._xhr.responseText;
|
|
197
|
+
if (data !== null) {
|
|
198
|
+
this.emitReserved("data", data);
|
|
199
|
+
this.emitReserved("success");
|
|
200
|
+
this._cleanup();
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Aborts the request.
|
|
205
|
+
*
|
|
206
|
+
* @package
|
|
207
|
+
*/
|
|
208
|
+
abort() {
|
|
209
|
+
this._cleanup();
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
Request.requestsCount = 0;
|
|
213
|
+
Request.requests = {};
|
|
214
|
+
/**
|
|
215
|
+
* Aborts pending requests when unloading the window. This is needed to prevent
|
|
216
|
+
* memory leaks (e.g. when using IE) and to ensure that no spurious error is
|
|
217
|
+
* emitted.
|
|
218
|
+
*/
|
|
219
|
+
if (typeof document !== "undefined") {
|
|
220
|
+
// @ts-ignore
|
|
221
|
+
if (typeof attachEvent === "function") {
|
|
222
|
+
// @ts-ignore
|
|
223
|
+
attachEvent("onunload", unloadHandler);
|
|
224
|
+
}
|
|
225
|
+
else if (typeof addEventListener === "function") {
|
|
226
|
+
const terminationEvent = "onpagehide" in globalThis ? "pagehide" : "unload";
|
|
227
|
+
addEventListener(terminationEvent, unloadHandler, false);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
function unloadHandler() {
|
|
231
|
+
for (let i in Request.requests) {
|
|
232
|
+
if (Request.requests.hasOwnProperty(i)) {
|
|
233
|
+
Request.requests[i].abort();
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
const hasXHR2 = (function () {
|
|
238
|
+
const xhr = newRequest({
|
|
239
|
+
xdomain: false,
|
|
240
|
+
});
|
|
241
|
+
return xhr && xhr.responseType !== null;
|
|
242
|
+
})();
|
|
243
|
+
/**
|
|
244
|
+
* HTTP long-polling based on the built-in `XMLHttpRequest` object.
|
|
245
|
+
*
|
|
246
|
+
* Usage: browser
|
|
247
|
+
*
|
|
248
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
|
|
249
|
+
*/
|
|
250
|
+
export class XHR extends BaseXHR {
|
|
251
|
+
constructor(opts) {
|
|
252
|
+
super(opts);
|
|
253
|
+
const forceBase64 = opts && opts.forceBase64;
|
|
254
|
+
this.supportsBinary = hasXHR2 && !forceBase64;
|
|
255
|
+
}
|
|
256
|
+
request(opts = {}) {
|
|
257
|
+
Object.assign(opts, { xd: this.xd }, this.opts);
|
|
258
|
+
return new Request(newRequest, this.uri(), opts);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
function newRequest(opts) {
|
|
262
|
+
const xdomain = opts.xdomain;
|
|
263
|
+
// XMLHttpRequest can be disabled on IE
|
|
264
|
+
try {
|
|
265
|
+
if ("undefined" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {
|
|
266
|
+
return new XMLHttpRequest();
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
catch (e) { }
|
|
270
|
+
if (!xdomain) {
|
|
271
|
+
try {
|
|
272
|
+
return new globalThis[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP");
|
|
273
|
+
}
|
|
274
|
+
catch (e) { }
|
|
275
|
+
}
|
|
276
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseXHR, Request } from "./polling-xhr.js";
|
|
2
|
+
/**
|
|
3
|
+
* HTTP long-polling based on the `XMLHttpRequest` object provided by the `xmlhttprequest-ssl` package.
|
|
4
|
+
*
|
|
5
|
+
* Usage: Node.js, Deno (compat), Bun (compat)
|
|
6
|
+
*
|
|
7
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
|
|
8
|
+
*/
|
|
9
|
+
export declare class XHR extends BaseXHR {
|
|
10
|
+
request(opts?: Record<string, any>): Request;
|
|
11
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as XMLHttpRequestModule from "xmlhttprequest-ssl";
|
|
2
|
+
import { BaseXHR, Request } from "./polling-xhr.js";
|
|
3
|
+
const XMLHttpRequest = XMLHttpRequestModule.default || XMLHttpRequestModule;
|
|
4
|
+
/**
|
|
5
|
+
* HTTP long-polling based on the `XMLHttpRequest` object provided by the `xmlhttprequest-ssl` package.
|
|
6
|
+
*
|
|
7
|
+
* Usage: Node.js, Deno (compat), Bun (compat)
|
|
8
|
+
*
|
|
9
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
|
|
10
|
+
*/
|
|
11
|
+
export class XHR extends BaseXHR {
|
|
12
|
+
request(opts = {}) {
|
|
13
|
+
var _a;
|
|
14
|
+
Object.assign(opts, { xd: this.xd, cookieJar: (_a = this.socket) === null || _a === void 0 ? void 0 : _a._cookieJar }, this.opts);
|
|
15
|
+
return new Request((opts) => new XMLHttpRequest(opts), this.uri(), opts);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Transport } from "../transport.js";
|
|
2
|
+
export declare abstract class Polling extends Transport {
|
|
3
|
+
private _polling;
|
|
4
|
+
get name(): string;
|
|
5
|
+
/**
|
|
6
|
+
* Opens the socket (triggers polling). We write a PING message to determine
|
|
7
|
+
* when the transport is open.
|
|
8
|
+
*
|
|
9
|
+
* @protected
|
|
10
|
+
*/
|
|
11
|
+
doOpen(): void;
|
|
12
|
+
/**
|
|
13
|
+
* Pauses polling.
|
|
14
|
+
*
|
|
15
|
+
* @param {Function} onPause - callback upon buffers are flushed and transport is paused
|
|
16
|
+
* @package
|
|
17
|
+
*/
|
|
18
|
+
pause(onPause: any): void;
|
|
19
|
+
/**
|
|
20
|
+
* Starts polling cycle.
|
|
21
|
+
*
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
private _poll;
|
|
25
|
+
/**
|
|
26
|
+
* Overloads onData to detect payloads.
|
|
27
|
+
*
|
|
28
|
+
* @protected
|
|
29
|
+
*/
|
|
30
|
+
onData(data: any): void;
|
|
31
|
+
/**
|
|
32
|
+
* For polling, send a close packet.
|
|
33
|
+
*
|
|
34
|
+
* @protected
|
|
35
|
+
*/
|
|
36
|
+
doClose(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Writes a packets payload.
|
|
39
|
+
*
|
|
40
|
+
* @param {Array} packets - data packets
|
|
41
|
+
* @protected
|
|
42
|
+
*/
|
|
43
|
+
write(packets: any): void;
|
|
44
|
+
/**
|
|
45
|
+
* Generates uri for connection.
|
|
46
|
+
*
|
|
47
|
+
* @private
|
|
48
|
+
*/
|
|
49
|
+
protected uri(): string;
|
|
50
|
+
abstract doPoll(): any;
|
|
51
|
+
abstract doWrite(data: string, callback: () => void): any;
|
|
52
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { Transport } from "../transport.js";
|
|
2
|
+
import { randomString } from "../util.js";
|
|
3
|
+
import { encodePayload, decodePayload } from "engine.io-parser";
|
|
4
|
+
import debugModule from "debug"; // debug()
|
|
5
|
+
const debug = debugModule("engine.io-client:polling"); // debug()
|
|
6
|
+
export class Polling extends Transport {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this._polling = false;
|
|
10
|
+
}
|
|
11
|
+
get name() {
|
|
12
|
+
return "polling";
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Opens the socket (triggers polling). We write a PING message to determine
|
|
16
|
+
* when the transport is open.
|
|
17
|
+
*
|
|
18
|
+
* @protected
|
|
19
|
+
*/
|
|
20
|
+
doOpen() {
|
|
21
|
+
this._poll();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Pauses polling.
|
|
25
|
+
*
|
|
26
|
+
* @param {Function} onPause - callback upon buffers are flushed and transport is paused
|
|
27
|
+
* @package
|
|
28
|
+
*/
|
|
29
|
+
pause(onPause) {
|
|
30
|
+
this.readyState = "pausing";
|
|
31
|
+
const pause = () => {
|
|
32
|
+
debug("paused");
|
|
33
|
+
this.readyState = "paused";
|
|
34
|
+
onPause();
|
|
35
|
+
};
|
|
36
|
+
if (this._polling || !this.writable) {
|
|
37
|
+
let total = 0;
|
|
38
|
+
if (this._polling) {
|
|
39
|
+
debug("we are currently polling - waiting to pause");
|
|
40
|
+
total++;
|
|
41
|
+
this.once("pollComplete", function () {
|
|
42
|
+
debug("pre-pause polling complete");
|
|
43
|
+
--total || pause();
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
if (!this.writable) {
|
|
47
|
+
debug("we are currently writing - waiting to pause");
|
|
48
|
+
total++;
|
|
49
|
+
this.once("drain", function () {
|
|
50
|
+
debug("pre-pause writing complete");
|
|
51
|
+
--total || pause();
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
pause();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Starts polling cycle.
|
|
61
|
+
*
|
|
62
|
+
* @private
|
|
63
|
+
*/
|
|
64
|
+
_poll() {
|
|
65
|
+
debug("polling");
|
|
66
|
+
this._polling = true;
|
|
67
|
+
this.doPoll();
|
|
68
|
+
this.emitReserved("poll");
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Overloads onData to detect payloads.
|
|
72
|
+
*
|
|
73
|
+
* @protected
|
|
74
|
+
*/
|
|
75
|
+
onData(data) {
|
|
76
|
+
debug("polling got data %s", data);
|
|
77
|
+
const callback = (packet) => {
|
|
78
|
+
// if its the first message we consider the transport open
|
|
79
|
+
if ("opening" === this.readyState && packet.type === "open") {
|
|
80
|
+
this.onOpen();
|
|
81
|
+
}
|
|
82
|
+
// if its a close packet, we close the ongoing requests
|
|
83
|
+
if ("close" === packet.type) {
|
|
84
|
+
this.onClose({ description: "transport closed by the server" });
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
// otherwise bypass onData and handle the message
|
|
88
|
+
this.onPacket(packet);
|
|
89
|
+
};
|
|
90
|
+
// decode payload
|
|
91
|
+
decodePayload(data, this.socket.binaryType).forEach(callback);
|
|
92
|
+
// if an event did not trigger closing
|
|
93
|
+
if ("closed" !== this.readyState) {
|
|
94
|
+
// if we got data we're not polling
|
|
95
|
+
this._polling = false;
|
|
96
|
+
this.emitReserved("pollComplete");
|
|
97
|
+
if ("open" === this.readyState) {
|
|
98
|
+
this._poll();
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
debug('ignoring poll - transport state "%s"', this.readyState);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* For polling, send a close packet.
|
|
107
|
+
*
|
|
108
|
+
* @protected
|
|
109
|
+
*/
|
|
110
|
+
doClose() {
|
|
111
|
+
const close = () => {
|
|
112
|
+
debug("writing close packet");
|
|
113
|
+
this.write([{ type: "close" }]);
|
|
114
|
+
};
|
|
115
|
+
if ("open" === this.readyState) {
|
|
116
|
+
debug("transport open - closing");
|
|
117
|
+
close();
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
// in case we're trying to close while
|
|
121
|
+
// handshaking is in progress (GH-164)
|
|
122
|
+
debug("transport not open - deferring close");
|
|
123
|
+
this.once("open", close);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Writes a packets payload.
|
|
128
|
+
*
|
|
129
|
+
* @param {Array} packets - data packets
|
|
130
|
+
* @protected
|
|
131
|
+
*/
|
|
132
|
+
write(packets) {
|
|
133
|
+
this.writable = false;
|
|
134
|
+
encodePayload(packets, (data) => {
|
|
135
|
+
this.doWrite(data, () => {
|
|
136
|
+
this.writable = true;
|
|
137
|
+
this.emitReserved("drain");
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Generates uri for connection.
|
|
143
|
+
*
|
|
144
|
+
* @private
|
|
145
|
+
*/
|
|
146
|
+
uri() {
|
|
147
|
+
const schema = this.opts.secure ? "https" : "http";
|
|
148
|
+
const query = this.query || {};
|
|
149
|
+
// cache busting is forced
|
|
150
|
+
if (false !== this.opts.timestampRequests) {
|
|
151
|
+
query[this.opts.timestampParam] = randomString();
|
|
152
|
+
}
|
|
153
|
+
if (!this.supportsBinary && !query.sid) {
|
|
154
|
+
query.b64 = 1;
|
|
155
|
+
}
|
|
156
|
+
return this.createUri(schema, query);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Transport } from "../transport.js";
|
|
2
|
+
import type { Packet, RawData } from "engine.io-parser";
|
|
3
|
+
export declare abstract class BaseWS extends Transport {
|
|
4
|
+
protected ws: any;
|
|
5
|
+
get name(): string;
|
|
6
|
+
doOpen(): this;
|
|
7
|
+
abstract createSocket(uri: string, protocols: string | string[] | undefined, opts: Record<string, any>): any;
|
|
8
|
+
/**
|
|
9
|
+
* Adds event listeners to the socket
|
|
10
|
+
*
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
private addEventListeners;
|
|
14
|
+
write(packets: any): void;
|
|
15
|
+
abstract doWrite(packet: Packet, data: RawData): any;
|
|
16
|
+
doClose(): void;
|
|
17
|
+
/**
|
|
18
|
+
* Generates uri for connection.
|
|
19
|
+
*
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
22
|
+
private uri;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* WebSocket transport based on the built-in `WebSocket` object.
|
|
26
|
+
*
|
|
27
|
+
* Usage: browser, Node.js (since v21), Deno, Bun
|
|
28
|
+
*
|
|
29
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket
|
|
30
|
+
* @see https://caniuse.com/mdn-api_websocket
|
|
31
|
+
* @see https://nodejs.org/api/globals.html#websocket
|
|
32
|
+
*/
|
|
33
|
+
export declare class WS extends BaseWS {
|
|
34
|
+
createSocket(uri: string, protocols: string | string[] | undefined, opts: Record<string, any>): any;
|
|
35
|
+
doWrite(_packet: Packet, data: RawData): void;
|
|
36
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { Transport } from "../transport.js";
|
|
2
|
+
import { pick, randomString } from "../util.js";
|
|
3
|
+
import { encodePacket } from "engine.io-parser";
|
|
4
|
+
import { globalThisShim as globalThis, nextTick } from "../globals.node.js";
|
|
5
|
+
import debugModule from "debug"; // debug()
|
|
6
|
+
const debug = debugModule("engine.io-client:websocket"); // debug()
|
|
7
|
+
// detect ReactNative environment
|
|
8
|
+
const isReactNative = typeof navigator !== "undefined" &&
|
|
9
|
+
typeof navigator.product === "string" &&
|
|
10
|
+
navigator.product.toLowerCase() === "reactnative";
|
|
11
|
+
export class BaseWS extends Transport {
|
|
12
|
+
get name() {
|
|
13
|
+
return "websocket";
|
|
14
|
+
}
|
|
15
|
+
doOpen() {
|
|
16
|
+
const uri = this.uri();
|
|
17
|
+
const protocols = this.opts.protocols;
|
|
18
|
+
// React Native only supports the 'headers' option, and will print a warning if anything else is passed
|
|
19
|
+
const opts = isReactNative
|
|
20
|
+
? {}
|
|
21
|
+
: pick(this.opts, "agent", "perMessageDeflate", "pfx", "key", "passphrase", "cert", "ca", "ciphers", "rejectUnauthorized", "localAddress", "protocolVersion", "origin", "maxPayload", "family", "checkServerIdentity");
|
|
22
|
+
if (this.opts.extraHeaders) {
|
|
23
|
+
opts.headers = this.opts.extraHeaders;
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
this.ws = this.createSocket(uri, protocols, opts);
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
return this.emitReserved("error", err);
|
|
30
|
+
}
|
|
31
|
+
this.ws.binaryType = this.socket.binaryType;
|
|
32
|
+
this.addEventListeners();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Adds event listeners to the socket
|
|
36
|
+
*
|
|
37
|
+
* @private
|
|
38
|
+
*/
|
|
39
|
+
addEventListeners() {
|
|
40
|
+
this.ws.onopen = () => {
|
|
41
|
+
if (this.opts.autoUnref) {
|
|
42
|
+
this.ws._socket.unref();
|
|
43
|
+
}
|
|
44
|
+
this.onOpen();
|
|
45
|
+
};
|
|
46
|
+
this.ws.onclose = (closeEvent) => this.onClose({
|
|
47
|
+
description: "websocket connection closed",
|
|
48
|
+
context: closeEvent,
|
|
49
|
+
});
|
|
50
|
+
this.ws.onmessage = (ev) => this.onData(ev.data);
|
|
51
|
+
this.ws.onerror = (e) => this.onError("websocket error", e);
|
|
52
|
+
}
|
|
53
|
+
write(packets) {
|
|
54
|
+
this.writable = false;
|
|
55
|
+
// encodePacket efficient as it uses WS framing
|
|
56
|
+
// no need for encodePayload
|
|
57
|
+
for (let i = 0; i < packets.length; i++) {
|
|
58
|
+
const packet = packets[i];
|
|
59
|
+
const lastPacket = i === packets.length - 1;
|
|
60
|
+
encodePacket(packet, this.supportsBinary, (data) => {
|
|
61
|
+
// Sometimes the websocket has already been closed but the browser didn't
|
|
62
|
+
// have a chance of informing us about it yet, in that case send will
|
|
63
|
+
// throw an error
|
|
64
|
+
try {
|
|
65
|
+
this.doWrite(packet, data);
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
debug("websocket closed before onclose event");
|
|
69
|
+
}
|
|
70
|
+
if (lastPacket) {
|
|
71
|
+
// fake drain
|
|
72
|
+
// defer to next tick to allow Socket to clear writeBuffer
|
|
73
|
+
nextTick(() => {
|
|
74
|
+
this.writable = true;
|
|
75
|
+
this.emitReserved("drain");
|
|
76
|
+
}, this.setTimeoutFn);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
doClose() {
|
|
82
|
+
if (typeof this.ws !== "undefined") {
|
|
83
|
+
this.ws.onerror = () => { };
|
|
84
|
+
this.ws.close();
|
|
85
|
+
this.ws = null;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Generates uri for connection.
|
|
90
|
+
*
|
|
91
|
+
* @private
|
|
92
|
+
*/
|
|
93
|
+
uri() {
|
|
94
|
+
const schema = this.opts.secure ? "wss" : "ws";
|
|
95
|
+
const query = this.query || {};
|
|
96
|
+
// append timestamp to URI
|
|
97
|
+
if (this.opts.timestampRequests) {
|
|
98
|
+
query[this.opts.timestampParam] = randomString();
|
|
99
|
+
}
|
|
100
|
+
// communicate binary support capabilities
|
|
101
|
+
if (!this.supportsBinary) {
|
|
102
|
+
query.b64 = 1;
|
|
103
|
+
}
|
|
104
|
+
return this.createUri(schema, query);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const WebSocketCtor = globalThis.WebSocket || globalThis.MozWebSocket;
|
|
108
|
+
/**
|
|
109
|
+
* WebSocket transport based on the built-in `WebSocket` object.
|
|
110
|
+
*
|
|
111
|
+
* Usage: browser, Node.js (since v21), Deno, Bun
|
|
112
|
+
*
|
|
113
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket
|
|
114
|
+
* @see https://caniuse.com/mdn-api_websocket
|
|
115
|
+
* @see https://nodejs.org/api/globals.html#websocket
|
|
116
|
+
*/
|
|
117
|
+
export class WS extends BaseWS {
|
|
118
|
+
createSocket(uri, protocols, opts) {
|
|
119
|
+
return !isReactNative
|
|
120
|
+
? protocols
|
|
121
|
+
? new WebSocketCtor(uri, protocols)
|
|
122
|
+
: new WebSocketCtor(uri)
|
|
123
|
+
: new WebSocketCtor(uri, protocols, opts);
|
|
124
|
+
}
|
|
125
|
+
doWrite(_packet, data) {
|
|
126
|
+
this.ws.send(data);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Packet, RawData } from "engine.io-parser";
|
|
2
|
+
import { BaseWS } from "./websocket.js";
|
|
3
|
+
/**
|
|
4
|
+
* WebSocket transport based on the `WebSocket` object provided by the `ws` package.
|
|
5
|
+
*
|
|
6
|
+
* Usage: Node.js, Deno (compat), Bun (compat)
|
|
7
|
+
*
|
|
8
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket
|
|
9
|
+
* @see https://caniuse.com/mdn-api_websocket
|
|
10
|
+
*/
|
|
11
|
+
export declare class WS extends BaseWS {
|
|
12
|
+
createSocket(uri: string, protocols: string | string[] | undefined, opts: Record<string, any>): any;
|
|
13
|
+
doWrite(packet: Packet, data: RawData): void;
|
|
14
|
+
}
|