solver-sdk 1.8.1 → 1.9.0
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/cjs/api/projects-api.js +4 -6
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/code-solver-sdk.js +13 -10
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/constants/websocket-events.constants.js +14 -1
- package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
- package/dist/cjs/constants/websocket-namespaces.constants.js +18 -0
- package/dist/cjs/constants/websocket-namespaces.constants.js.map +1 -0
- package/dist/cjs/interfaces/websocket/callbacks.interfaces.js +3 -0
- package/dist/cjs/interfaces/websocket/callbacks.interfaces.js.map +1 -0
- package/dist/cjs/interfaces/websocket/client-options.interfaces.js +3 -0
- package/dist/cjs/interfaces/websocket/client-options.interfaces.js.map +1 -0
- package/dist/cjs/interfaces/websocket/events.interfaces.js +3 -0
- package/dist/cjs/interfaces/websocket/events.interfaces.js.map +1 -0
- package/dist/cjs/interfaces/websocket/stats.interfaces.js +3 -0
- package/dist/cjs/interfaces/websocket/stats.interfaces.js.map +1 -0
- package/dist/cjs/utils/code-solver-websocket-client.js +382 -1503
- package/dist/cjs/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/cjs/utils/connection-state-manager.js +133 -0
- package/dist/cjs/utils/connection-state-manager.js.map +1 -0
- package/dist/cjs/utils/logger.js +106 -0
- package/dist/cjs/utils/logger.js.map +1 -0
- package/dist/cjs/utils/ping-pong-manager.js +306 -0
- package/dist/cjs/utils/ping-pong-manager.js.map +1 -0
- package/dist/cjs/utils/session-manager.js +114 -0
- package/dist/cjs/utils/session-manager.js.map +1 -0
- package/dist/cjs/ws/base-ws-client.js +286 -0
- package/dist/cjs/ws/base-ws-client.js.map +1 -0
- package/dist/cjs/ws/dependencies-ws-client.js +11 -0
- package/dist/cjs/ws/dependencies-ws-client.js.map +1 -0
- package/dist/cjs/ws/diagnostics-service.js +170 -0
- package/dist/cjs/ws/diagnostics-service.js.map +1 -0
- package/dist/cjs/ws/indexing-ws-client.js +223 -0
- package/dist/cjs/ws/indexing-ws-client.js.map +1 -0
- package/dist/cjs/ws/notifications-ws-client.js +12 -0
- package/dist/cjs/ws/notifications-ws-client.js.map +1 -0
- package/dist/cjs/ws/reasoning-ws-client.js +330 -0
- package/dist/cjs/ws/reasoning-ws-client.js.map +1 -0
- package/dist/esm/api/projects-api.js +4 -6
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +6 -3
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/constants/websocket-events.constants.js +13 -0
- package/dist/esm/constants/websocket-events.constants.js.map +1 -1
- package/dist/esm/constants/websocket-namespaces.constants.js +15 -0
- package/dist/esm/constants/websocket-namespaces.constants.js.map +1 -0
- package/dist/esm/interfaces/websocket/callbacks.interfaces.js +2 -0
- package/dist/esm/interfaces/websocket/callbacks.interfaces.js.map +1 -0
- package/dist/esm/interfaces/websocket/client-options.interfaces.js +2 -0
- package/dist/esm/interfaces/websocket/client-options.interfaces.js.map +1 -0
- package/dist/esm/interfaces/websocket/events.interfaces.js +2 -0
- package/dist/esm/interfaces/websocket/events.interfaces.js.map +1 -0
- package/dist/esm/interfaces/websocket/stats.interfaces.js +2 -0
- package/dist/esm/interfaces/websocket/stats.interfaces.js.map +1 -0
- package/dist/esm/utils/code-solver-websocket-client.js +381 -1503
- package/dist/esm/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/esm/utils/connection-state-manager.js +129 -0
- package/dist/esm/utils/connection-state-manager.js.map +1 -0
- package/dist/esm/utils/logger.js +101 -0
- package/dist/esm/utils/logger.js.map +1 -0
- package/dist/esm/utils/ping-pong-manager.js +302 -0
- package/dist/esm/utils/ping-pong-manager.js.map +1 -0
- package/dist/esm/utils/session-manager.js +109 -0
- package/dist/esm/utils/session-manager.js.map +1 -0
- package/dist/esm/ws/base-ws-client.js +282 -0
- package/dist/esm/ws/base-ws-client.js.map +1 -0
- package/dist/esm/ws/dependencies-ws-client.js +7 -0
- package/dist/esm/ws/dependencies-ws-client.js.map +1 -0
- package/dist/esm/ws/diagnostics-service.js +166 -0
- package/dist/esm/ws/diagnostics-service.js.map +1 -0
- package/dist/esm/ws/indexing-ws-client.js +219 -0
- package/dist/esm/ws/indexing-ws-client.js.map +1 -0
- package/dist/esm/ws/notifications-ws-client.js +8 -0
- package/dist/esm/ws/notifications-ws-client.js.map +1 -0
- package/dist/esm/ws/reasoning-ws-client.js +326 -0
- package/dist/esm/ws/reasoning-ws-client.js.map +1 -0
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +2 -1
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/constants/websocket-events.constants.d.ts +12 -0
- package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
- package/dist/types/constants/websocket-namespaces.constants.d.ts +14 -0
- package/dist/types/constants/websocket-namespaces.constants.d.ts.map +1 -0
- package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts +30 -0
- package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts.map +1 -0
- package/dist/types/interfaces/websocket/client-options.interfaces.d.ts +51 -0
- package/dist/types/interfaces/websocket/client-options.interfaces.d.ts.map +1 -0
- package/dist/types/interfaces/websocket/events.interfaces.d.ts +165 -0
- package/dist/types/interfaces/websocket/events.interfaces.d.ts.map +1 -0
- package/dist/types/interfaces/websocket/stats.interfaces.d.ts +72 -0
- package/dist/types/interfaces/websocket/stats.interfaces.d.ts.map +1 -0
- package/dist/types/utils/code-solver-websocket-client.d.ts +70 -616
- package/dist/types/utils/code-solver-websocket-client.d.ts.map +1 -1
- package/dist/types/utils/connection-state-manager.d.ts +94 -0
- package/dist/types/utils/connection-state-manager.d.ts.map +1 -0
- package/dist/types/utils/logger.d.ts +62 -0
- package/dist/types/utils/logger.d.ts.map +1 -0
- package/dist/types/utils/ping-pong-manager.d.ts +118 -0
- package/dist/types/utils/ping-pong-manager.d.ts.map +1 -0
- package/dist/types/utils/session-manager.d.ts +98 -0
- package/dist/types/utils/session-manager.d.ts.map +1 -0
- package/dist/types/ws/base-ws-client.d.ts +119 -0
- package/dist/types/ws/base-ws-client.d.ts.map +1 -0
- package/dist/types/ws/dependencies-ws-client.d.ts +6 -0
- package/dist/types/ws/dependencies-ws-client.d.ts.map +1 -0
- package/dist/types/ws/diagnostics-service.d.ts +93 -0
- package/dist/types/ws/diagnostics-service.d.ts.map +1 -0
- package/dist/types/ws/indexing-ws-client.d.ts +78 -0
- package/dist/types/ws/indexing-ws-client.d.ts.map +1 -0
- package/dist/types/ws/notifications-ws-client.d.ts +5 -0
- package/dist/types/ws/notifications-ws-client.d.ts.map +1 -0
- package/dist/types/ws/reasoning-ws-client.d.ts +87 -0
- package/dist/types/ws/reasoning-ws-client.d.ts.map +1 -0
- package/docs/AUTHENTICATION.md +31 -127
- package/docs/WEBSOCKET.md +51 -211
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-solver-websocket-client.d.ts","sourceRoot":"","sources":["../../../src/utils/code-solver-websocket-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAIhF;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,iCAAiC;IACjC,OAAO,MAAM;IAEb,mCAAmC;IACnC,SAAS,eAAe;IAExB,kCAAkC;IAClC,QAAQ,cAAc;IAEtB,oCAAoC;IACpC,YAAY,kBAAkB;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IAE7C;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,aAAa,EAAE;QACb,mBAAmB;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,oBAAoB;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,uBAAuB;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,oCAAoC;IACpC,mBAAmB,EAAE;QACnB,eAAe;QACf,EAAE,EAAE,MAAM,CAAC;QACX,gBAAgB;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,mBAAmB;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,mBAAmB;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,oCAAoC;IACpC,mBAAmB,EAAE;QACnB,mBAAmB;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,wBAAwB;QACxB,KAAK,EAAE;YACL,iBAAiB;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,mDAAmD;YACnD,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,sDAAsD;YACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,+DAA+D;YAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,2DAA2D;YAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;IAEF,uCAAuC;IACvC,kBAAkB,EAAE;QAClB,eAAe;QACf,EAAE,EAAE,MAAM,CAAC;QACX,gBAAgB;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,mBAAmB;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,mBAAmB;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,+BAA+B;IAC/B,aAAa,EAAE;QACb,mBAAmB;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,uBAAuB;QACvB,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC;IAEF,kCAAkC;IAClC,YAAY,EAAE;QACZ,mBAAmB;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,oBAAoB;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,uBAAuB;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,qBAAqB;IACrB,KAAK,EAAE;QACL,iBAAiB;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,0BAA0B;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,oBAAoB;QACpB,OAAO,CAAC,EAAE;YACR,kBAAkB;YAClB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,iBAAiB;YACjB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,qBAAqB;YACrB,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,YAAY,EAAE;QACZ,iBAAiB;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,yBAAyB;QACzB,IAAI,EAAE;YACJ,mBAAmB;YACnB,IAAI,EAAE,MAAM,CAAC;YACb,4BAA4B;YAC5B,QAAQ,EAAE,MAAM,CAAC;YACjB,uBAAuB;YACvB,SAAS,EAAE,MAAM,CAAC;YAClB,oBAAoB;YACpB,UAAU,EAAE,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC;SACtD,CAAC;KACH,CAAC;IAEF,4CAA4C;IAC5C,iBAAiB,EAAE;QACjB,iBAAiB;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,uBAAuB;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,4BAA4B;QAC5B,KAAK,EAAE;YACL,8BAA8B;YAC9B,UAAU,EAAE,MAAM,CAAC;YACnB,2CAA2C;YAC3C,OAAO,EAAE,MAAM,CAAC;YAChB,mCAAmC;YACnC,MAAM,EAAE,MAAM,CAAC;YACf,uCAAuC;YACvC,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,qBAAqB;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,OAAO,EAAE;QACP,iBAAiB;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,yBAAyB;IACzB,UAAU,EAAE;QACV,yBAAyB;QACzB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,iBAAiB,EAAE;QACjB,iBAAiB;QACjB,SAAS,EAAE,MAAM,CAAC;QAElB,sBAAsB;QACtB,SAAS,EAAE,MAAM,CAAC;QAElB,uBAAuB;QACvB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,cAAc,GAAG,YAAY,GAAG,kBAAkB,CAAC;AAEnG;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAElE,gGAAgG;IAChG,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAC;IAEzE,sGAAsG;IACtG,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAEnE,kGAAkG;IAClG,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAC;IAEvE,mDAAmD;IACnD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAC;IAExE,mDAAmD;IACnD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAC;IAExE,sDAAsD;IACtD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAC;IAEtE,iDAAiD;IACjD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAEhE,oCAAoC;IACpC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAEnD,gDAAgD;IAChD,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB;IACxB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wBAAwB;IACxB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,2BAA2B;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB;IACnB,GAAG,EAAE;QACH,uBAAuB;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,2BAA2B;QAC3B,GAAG,EAAE,MAAM,CAAC;QACZ,4BAA4B;QAC5B,GAAG,EAAE,MAAM,CAAC;QACZ,uBAAuB;QACvB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,eAAe,EAAE;QACf,4BAA4B;QAC5B,eAAe,EAAE,OAAO,CAAC;QACzB,0BAA0B;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,sCAAsC;QACtC,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC,sBAAsB;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,oBAAoB;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IAErD,sCAAsC;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IAExC,oDAAoD;IACpD,OAAO,CAAC,OAAO,CAAuD;IAEtE,kCAAkC;IAClC,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,iCAAiC;IACjC,OAAO,CAAC,eAAe,CAAuB;IAE9C,mCAAmC;IACnC,OAAO,CAAC,qBAAqB,CAA+C;IAE5E,4BAA4B;IAC5B,OAAO,CAAC,aAAa,CAAsD;IAE3E,2BAA2B;IAC3B,OAAO,CAAC,SAAS,CAAqD;IAEtE,4CAA4C;IAC5C,OAAO,CAAC,YAAY,CAA8C;IAElE,+DAA+D;IAC/D,OAAO,CAAC,mBAAmB,CAAiB;IAE5C,mDAAmD;IACnD,OAAO,CAAC,gBAAgB,CAAa;IAErC,uCAAuC;IACvC,OAAO,CAAC,qBAAqB,CAAsD;IAEnF,gDAAgD;IAChD,OAAO,CAAC,aAAa,CAA8C;IAEnE,wDAAwD;IACxD,OAAO,CAAC,eAAe,CAKR;IAEf,8CAA8C;IAC9C,OAAO,CAAC,gBAAgB,CAA+B;IAEvD;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,0BAA+B;IAarE;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IAUd;;;;;OAKG;YACW,OAAO;IAkIrB;;;;OAIG;IACU,iBAAiB,CAC5B,gBAAgB,UAAO,EACvB,uBAAuB,GAAE,OAAO,GAAG,MAAc,EACjD,WAAW,SAAO,GACjB,OAAO,CAAC,OAAO,CAAC;IAwDnB;;;OAGG;IACU,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IAUvD;;;;OAIG;IACU,qBAAqB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA8CxE;;;OAGG;IACI,UAAU,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI;IAmB/D;;;OAGG;IACI,aAAa,IAAI,IAAI;IAiB5B;;;;;OAKG;IACI,EAAE,CACP,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAC5B,SAAS,CAAC,EAAE,kBAAkB,GAAG,MAAM,GACtC,IAAI;IAmBP;;;;;OAKG;IACI,GAAG,CACR,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAC7B,SAAS,CAAC,EAAE,kBAAkB,GAAG,MAAM,GACtC,IAAI;IAmBP;;;;;;OAMG;IACI,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO;IAalF;;;;;OAKG;IACI,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO;IAQ9D;;;;;OAKG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO;IAQ7D;;;;;OAKG;IACI,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO;IAIlE;;;;OAIG;IACI,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,OAAO;IASnE;;;OAGG;IACI,sBAAsB,IAAI,OAAO;IAIxC;;;OAGG;IACI,qBAAqB,IAAI,OAAO;IAIvC;;;OAGG;IACI,0BAA0B,IAAI,OAAO;IAI5C;;;;OAIG;IACI,WAAW,CAAC,SAAS,GAAE,kBAAiD,GAAG,MAAM,GAAG,IAAI;IAU/F;;;;;OAKG;IACI,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAqBnF;;;;OAIG;IACI,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAazD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,GAAE,MAAiB,EAC9B,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GACpC,OAAO,CAAC,MAAM,CAAC;IA6FlB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA2CzB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IA2B9B;;;;;OAKG;IACI,cAAc,CAAC,QAAQ,GAAE,MAAiC,EAAE,gBAAgB,GAAE,MAAU,GAAG,OAAO;IAsJzG;;;OAGG;IACI,eAAe,CAAC,SAAS,CAAC,EAAE,kBAAkB,GAAG,IAAI;IAmB5D;;;;OAIG;IACI,YAAY,CAAC,SAAS,CAAC,EAAE,kBAAkB,GAAG,aAAa,GAAG,aAAa,EAAE,GAAG,IAAI;IAU3F;;;;OAIG;IACI,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAW7E;;;;OAIG;IACI,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAgB/E;;;OAGG;IACI,cAAc,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAW5C;;;;OAIG;IACI,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,GAAG,qBAAqB;IA+B/E;;;OAGG;IACI,sBAAsB,IAAI,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAatE;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAuB/B;;;;;OAKG;IACU,kBAAkB,CAC7B,SAAS,EAAE,kBAAkB,EAC7B,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,OAAO,CAAC;IAqEnB;;;OAGG;IACI,0BAA0B,CAAC,QAAQ,GAAE,MAAc,GAAG,IAAI;IA+CjE;;;;OAIG;IACI,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO3E;;;;OAIG;IACI,eAAe,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI;IAOpE;;;OAGG;IACI,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAK7D;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;;;OAIG;IACI,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,GAAG;QACxD,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,OAAO,CAAC;KACvB;IASD;;;;OAIG;IACI,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAyBzD;;;;OAIG;IACI,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAWrD;;;;;;OAMG;IACU,yBAAyB,CACpC,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,OAAe,EAC5B,iBAAiB,GAAE,OAAe,GACjC,OAAO,CAAC,OAAO,CAAC;IAyEnB;;;;OAIG;YACW,kBAAkB;IA2BhC;;;;OAIG;IACU,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoCxE;;;;;OAKG;IACU,kBAAkB,CAC7B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KAClB,GACL,OAAO,CAAC,OAAO,CAAC;IA+HnB;;;;OAIG;IACU,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7D,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,GAAG,CAAA;KACf,CAAC;IAqDF;;;;;OAKG;IACU,aAAa,CACxB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,OAAc,GACxB,OAAO,CAAC,OAAO,CAAC;IA2CnB;;;;;OAKG;IACU,oBAAoB,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KAClB,GACL,OAAO,CAAC,OAAO,CAAC;IA4GnB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;CAgBzB"}
|
|
1
|
+
{"version":3,"file":"code-solver-websocket-client.d.ts","sourceRoot":"","sources":["../../../src/utils/code-solver-websocket-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
|
|
2
|
+
import { Logger } from './logger.js';
|
|
3
|
+
/**
|
|
4
|
+
* Состояние подключения
|
|
5
|
+
*/
|
|
6
|
+
export interface ConnectionState {
|
|
7
|
+
/** Время последнего успешного подключения */
|
|
8
|
+
lastConnectTime: number;
|
|
9
|
+
/** Количество попыток переподключения */
|
|
10
|
+
reconnectAttempts: number;
|
|
11
|
+
/** Состояние подключения */
|
|
12
|
+
connected: boolean;
|
|
13
|
+
/** Состояние процесса переподключения */
|
|
14
|
+
reconnecting: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Опции для менеджера состояния подключения
|
|
18
|
+
*/
|
|
19
|
+
export interface ConnectionStateManagerOptions {
|
|
20
|
+
/** Стратегия задержки между попытками переподключения */
|
|
21
|
+
reconnectStrategy?: 'linear' | 'exponential';
|
|
22
|
+
/** Базовая задержка для переподключения в миллисекундах */
|
|
23
|
+
retryDelay?: number;
|
|
24
|
+
/** Максимальная задержка для переподключения в миллисекундах */
|
|
25
|
+
maxRetryDelay?: number;
|
|
26
|
+
/** Логгер для вывода сообщений */
|
|
27
|
+
logger?: Logger;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Класс для управления состоянием подключений
|
|
31
|
+
*/
|
|
32
|
+
export declare class ConnectionStateManager {
|
|
33
|
+
/** Стратегия задержки между попытками переподключения */
|
|
34
|
+
private readonly reconnectStrategy;
|
|
35
|
+
/** Базовая задержка для переподключения в миллисекундах */
|
|
36
|
+
private readonly retryDelay;
|
|
37
|
+
/** Максимальная задержка для переподключения в миллисекундах */
|
|
38
|
+
private readonly maxRetryDelay;
|
|
39
|
+
/** Логгер для вывода сообщений */
|
|
40
|
+
private readonly logger;
|
|
41
|
+
/** Хранилище состояний подключений */
|
|
42
|
+
private readonly states;
|
|
43
|
+
/**
|
|
44
|
+
* Создает новый менеджер состояния подключений
|
|
45
|
+
* @param {ConnectionStateManagerOptions} options Опции менеджера состояния подключений
|
|
46
|
+
*/
|
|
47
|
+
constructor(options?: ConnectionStateManagerOptions);
|
|
48
|
+
/**
|
|
49
|
+
* Получает состояние подключения для указанного пространства имен
|
|
50
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
51
|
+
* @returns {ConnectionState} Состояние подключения
|
|
52
|
+
*/
|
|
53
|
+
getState(namespace: WebSocketNamespace): ConnectionState;
|
|
54
|
+
/**
|
|
55
|
+
* Устанавливает состояние подключения для указанного пространства имен
|
|
56
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
57
|
+
* @param {boolean} connected Состояние подключения
|
|
58
|
+
* @param {boolean} reconnecting Состояние переподключения
|
|
59
|
+
*/
|
|
60
|
+
setConnectionState(namespace: WebSocketNamespace, connected: boolean, reconnecting?: boolean): void;
|
|
61
|
+
/**
|
|
62
|
+
* Увеличивает счетчик попыток переподключения для указанного пространства имен
|
|
63
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
64
|
+
* @returns {number} Новое количество попыток
|
|
65
|
+
*/
|
|
66
|
+
incrementReconnectAttempts(namespace: WebSocketNamespace): number;
|
|
67
|
+
/**
|
|
68
|
+
* Рассчитывает задержку для переподключения на основе количества попыток и стратегии
|
|
69
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
70
|
+
* @returns {number} Задержка в миллисекундах
|
|
71
|
+
*/
|
|
72
|
+
calculateReconnectDelay(namespace: WebSocketNamespace): number;
|
|
73
|
+
/**
|
|
74
|
+
* Сбрасывает счетчик попыток переподключения для указанного пространства имен
|
|
75
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
76
|
+
*/
|
|
77
|
+
resetReconnectAttempts(namespace: WebSocketNamespace): void;
|
|
78
|
+
/**
|
|
79
|
+
* Регистрирует успешное подключение
|
|
80
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
81
|
+
*/
|
|
82
|
+
registerSuccessfulConnection(namespace: WebSocketNamespace): void;
|
|
83
|
+
/**
|
|
84
|
+
* Регистрирует отключение
|
|
85
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
86
|
+
*/
|
|
87
|
+
registerDisconnection(namespace: WebSocketNamespace): void;
|
|
88
|
+
/**
|
|
89
|
+
* Регистрирует начало процесса переподключения
|
|
90
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
91
|
+
*/
|
|
92
|
+
registerReconnecting(namespace: WebSocketNamespace): void;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=connection-state-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-state-manager.d.ts","sourceRoot":"","sources":["../../../src/utils/connection-state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,MAAM,EAAyB,MAAM,aAAa,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,eAAe,EAAE,MAAM,CAAC;IAExB,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAE1B,4BAA4B;IAC5B,SAAS,EAAE,OAAO,CAAC;IAEnB,yCAAyC;IACzC,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IAE7C,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAE7D,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,gEAAgE;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,sCAAsC;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuD;IAE9E;;;OAGG;gBACS,OAAO,GAAE,6BAAkC;IAOvD;;;;OAIG;IACI,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,eAAe;IAc/D;;;;;OAKG;IACI,kBAAkB,CACvB,SAAS,EAAE,kBAAkB,EAC7B,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAAe,GAC5B,IAAI;IAyBP;;;;OAIG;IACI,0BAA0B,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM;IAexE;;;;OAIG;IACI,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM;IAmBrE;;;OAGG;IACI,sBAAsB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAWlE;;;OAGG;IACI,4BAA4B,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAKxE;;;OAGG;IACI,qBAAqB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAIjE;;;OAGG;IACI,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;CAIjE"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Уровни логирования
|
|
3
|
+
*/
|
|
4
|
+
export declare enum LogLevel {
|
|
5
|
+
DEBUG = "debug",
|
|
6
|
+
INFO = "info",
|
|
7
|
+
WARN = "warn",
|
|
8
|
+
ERROR = "error"
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Интерфейс логгера
|
|
12
|
+
*/
|
|
13
|
+
export interface Logger {
|
|
14
|
+
/**
|
|
15
|
+
* Логирует отладочное сообщение
|
|
16
|
+
* @param message Сообщение для логирования
|
|
17
|
+
* @param data Дополнительные данные
|
|
18
|
+
*/
|
|
19
|
+
debug(message: string, data?: any): void;
|
|
20
|
+
/**
|
|
21
|
+
* Логирует информационное сообщение
|
|
22
|
+
* @param message Сообщение для логирования
|
|
23
|
+
* @param data Дополнительные данные
|
|
24
|
+
*/
|
|
25
|
+
info(message: string, data?: any): void;
|
|
26
|
+
/**
|
|
27
|
+
* Логирует предупреждение
|
|
28
|
+
* @param message Сообщение для логирования
|
|
29
|
+
* @param data Дополнительные данные
|
|
30
|
+
*/
|
|
31
|
+
warn(message: string, data?: any): void;
|
|
32
|
+
/**
|
|
33
|
+
* Логирует ошибку
|
|
34
|
+
* @param message Сообщение для логирования
|
|
35
|
+
* @param data Дополнительные данные
|
|
36
|
+
*/
|
|
37
|
+
error(message: string, data?: any): void;
|
|
38
|
+
/**
|
|
39
|
+
* Создает новый логгер с указанным префиксом
|
|
40
|
+
* @param prefix Префикс для нового логгера
|
|
41
|
+
* @returns Новый логгер с префиксом
|
|
42
|
+
*/
|
|
43
|
+
withPrefix(prefix: string): Logger;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Тип для функции логирования
|
|
47
|
+
*/
|
|
48
|
+
export type LogFunction = (level: string, message: string, data?: any) => void;
|
|
49
|
+
/**
|
|
50
|
+
* Создает новый логгер для WebSocket клиента
|
|
51
|
+
* @param component Название компонента
|
|
52
|
+
* @param logFn Функция логирования
|
|
53
|
+
* @returns Новый логгер
|
|
54
|
+
*/
|
|
55
|
+
export declare function createWebSocketLogger(component: string, logFn?: LogFunction): Logger;
|
|
56
|
+
/**
|
|
57
|
+
* Создает новый логгер с пустой функцией логирования
|
|
58
|
+
* @param component Название компонента
|
|
59
|
+
* @returns Новый логгер
|
|
60
|
+
*/
|
|
61
|
+
export declare function createNullLogger(component: string): Logger;
|
|
62
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IAEzC;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IAExC;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IAExC;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IAEzC;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;AAqF/E;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,WAAgC,GAAG,MAAM,CAExG;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
|
|
2
|
+
import { WebSocketClient } from './websocket-client.js';
|
|
3
|
+
import { Logger } from './logger.js';
|
|
4
|
+
import { PingPongStats } from '../interfaces/websocket/stats.interfaces.js';
|
|
5
|
+
/**
|
|
6
|
+
* Опции для менеджера ping/pong
|
|
7
|
+
*/
|
|
8
|
+
export interface PingPongManagerOptions {
|
|
9
|
+
/** Интервал между ping-сообщениями в миллисекундах */
|
|
10
|
+
pingInterval?: number;
|
|
11
|
+
/** Количество пропущенных pong-ответов до признания соединения потерянным */
|
|
12
|
+
pingTimeoutThreshold?: number;
|
|
13
|
+
/** Логгер для вывода сообщений */
|
|
14
|
+
logger?: Logger;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Обработчик для событий ping/pong
|
|
18
|
+
*/
|
|
19
|
+
export type PingPongEventHandler = (data: any) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Класс для управления механизмом ping/pong
|
|
22
|
+
*/
|
|
23
|
+
export declare class PingPongManager {
|
|
24
|
+
/** Интервал между ping-сообщениями в миллисекундах */
|
|
25
|
+
private readonly pingInterval;
|
|
26
|
+
/** Количество пропущенных pong-ответов до признания соединения потерянным */
|
|
27
|
+
private readonly pingTimeoutThreshold;
|
|
28
|
+
/** Логгер для вывода сообщений */
|
|
29
|
+
private readonly logger;
|
|
30
|
+
/** Таймеры для ping/pong */
|
|
31
|
+
private readonly pingIntervals;
|
|
32
|
+
/** Статистика ping/pong */
|
|
33
|
+
private readonly pingStats;
|
|
34
|
+
/** Количество последовательных таймаутов */
|
|
35
|
+
private readonly pingTimeouts;
|
|
36
|
+
/** Хранилище обработчиков ping/pong */
|
|
37
|
+
private readonly pingPongEventHandlers;
|
|
38
|
+
/** Клиенты WebSocket по namespace */
|
|
39
|
+
private readonly clients;
|
|
40
|
+
/**
|
|
41
|
+
* Создает новый менеджер ping/pong
|
|
42
|
+
* @param {PingPongManagerOptions} options Опции менеджера ping/pong
|
|
43
|
+
*/
|
|
44
|
+
constructor(options?: PingPongManagerOptions);
|
|
45
|
+
/**
|
|
46
|
+
* Регистрирует WebSocket клиент для указанного пространства имен
|
|
47
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
48
|
+
* @param {WebSocketClient} client WebSocket клиент
|
|
49
|
+
*/
|
|
50
|
+
registerClient(namespace: WebSocketNamespace, client: WebSocketClient): void;
|
|
51
|
+
/**
|
|
52
|
+
* Удаляет регистрацию WebSocket клиента для указанного пространства имен
|
|
53
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
54
|
+
*/
|
|
55
|
+
unregisterClient(namespace: WebSocketNamespace): void;
|
|
56
|
+
/**
|
|
57
|
+
* Создает обработчик для события pong
|
|
58
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
59
|
+
* @returns {PingPongEventHandler} Обработчик события pong
|
|
60
|
+
*/
|
|
61
|
+
private createPongHandler;
|
|
62
|
+
/**
|
|
63
|
+
* Уведомляет обработчики о событии
|
|
64
|
+
* @param {string} eventType Тип события
|
|
65
|
+
* @param {any} data Данные события
|
|
66
|
+
*/
|
|
67
|
+
private notifyEventHandlers;
|
|
68
|
+
/**
|
|
69
|
+
* Включает автоматическую отправку ping-сообщений
|
|
70
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
71
|
+
* @returns {boolean} true, если механизм успешно включен
|
|
72
|
+
*/
|
|
73
|
+
enablePingPong(namespace: WebSocketNamespace): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Проверяет таймаут для ping/pong
|
|
76
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
77
|
+
*/
|
|
78
|
+
private checkPingTimeout;
|
|
79
|
+
/**
|
|
80
|
+
* Отключает автоматическую отправку ping-сообщений
|
|
81
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
82
|
+
*/
|
|
83
|
+
disablePingPong(namespace: WebSocketNamespace): void;
|
|
84
|
+
/**
|
|
85
|
+
* Отключает автоматическую отправку ping-сообщений для всех пространств имен
|
|
86
|
+
*/
|
|
87
|
+
disablePingPongAll(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Получает статистику ping/pong для указанного пространства имен
|
|
90
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
91
|
+
* @returns {PingPongStats | null} Статистика ping/pong
|
|
92
|
+
*/
|
|
93
|
+
getPingStats(namespace: WebSocketNamespace): PingPongStats | null;
|
|
94
|
+
/**
|
|
95
|
+
* Получает статистику ping/pong для всех пространств имен
|
|
96
|
+
* @returns {PingPongStats[]} Массив статистики ping/pong
|
|
97
|
+
*/
|
|
98
|
+
getAllPingStats(): PingPongStats[];
|
|
99
|
+
/**
|
|
100
|
+
* Добавляет обработчик для событий ping/pong
|
|
101
|
+
* @param {string} eventType Тип события (connection_timeout, connection_pong)
|
|
102
|
+
* @param {PingPongEventHandler} handler Обработчик события
|
|
103
|
+
*/
|
|
104
|
+
onPingPongEvent(eventType: string, handler: PingPongEventHandler): void;
|
|
105
|
+
/**
|
|
106
|
+
* Удаляет обработчик для событий ping/pong
|
|
107
|
+
* @param {string} eventType Тип события
|
|
108
|
+
* @param {PingPongEventHandler} [handler] Обработчик события (если не указан, удаляются все обработчики)
|
|
109
|
+
*/
|
|
110
|
+
offPingPongEvent(eventType: string, handler?: PingPongEventHandler): void;
|
|
111
|
+
/**
|
|
112
|
+
* Проверяет, включен ли механизм ping/pong для указанного пространства имен
|
|
113
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
114
|
+
* @returns {boolean} true, если механизм включен
|
|
115
|
+
*/
|
|
116
|
+
isPingPongEnabled(namespace: WebSocketNamespace): boolean;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=ping-pong-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ping-pong-manager.d.ts","sourceRoot":"","sources":["../../../src/utils/ping-pong-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAyB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAG5E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;AAEvD;;GAEG;AACH,qBAAa,eAAe;IAC1B,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAE9C,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsD;IAEpF,2BAA2B;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqD;IAE/E,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8C;IAE3E,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuD;IAE7F,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuD;IAE/E;;;OAGG;gBACS,OAAO,GAAE,sBAA2B;IAMhD;;;;OAIG;IACI,cAAc,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IA8BnF;;;OAGG;IACI,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAK5D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgDzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;;;OAIG;IACI,cAAc,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO;IA4E7D;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;;OAGG;IACI,eAAe,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAU3D;;OAEG;IACI,kBAAkB,IAAI,IAAI;IAQjC;;;;OAIG;IACI,YAAY,CAAC,SAAS,EAAE,kBAAkB,GAAG,aAAa,GAAG,IAAI;IAIxE;;;OAGG;IACI,eAAe,IAAI,aAAa,EAAE;IAIzC;;;;OAIG;IACI,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAW9E;;;;OAIG;IACI,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAgBhF;;;;OAIG;IACI,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO;CAGjE"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
|
|
2
|
+
import { Logger } from './logger.js';
|
|
3
|
+
/**
|
|
4
|
+
* Интерфейс для хранения токенов сессий
|
|
5
|
+
*/
|
|
6
|
+
export interface SessionTokenStore {
|
|
7
|
+
/** Получить токен сессии */
|
|
8
|
+
getToken(namespace: WebSocketNamespace): string | null;
|
|
9
|
+
/** Сохранить токен сессии */
|
|
10
|
+
saveToken(namespace: WebSocketNamespace, token: string): void;
|
|
11
|
+
/** Удалить токен сессии */
|
|
12
|
+
removeToken(namespace: WebSocketNamespace): void;
|
|
13
|
+
/** Проверить наличие токена */
|
|
14
|
+
hasToken(namespace: WebSocketNamespace): boolean;
|
|
15
|
+
/** Очистить все токены */
|
|
16
|
+
clear(): void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Класс для хранения токенов сессий в памяти
|
|
20
|
+
*/
|
|
21
|
+
export declare class MemorySessionTokenStore implements SessionTokenStore {
|
|
22
|
+
/** Хранилище токенов */
|
|
23
|
+
private tokens;
|
|
24
|
+
/**
|
|
25
|
+
* Получить токен сессии для указанного пространства имен
|
|
26
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
27
|
+
* @returns {string | null} Токен сессии или null, если не найден
|
|
28
|
+
*/
|
|
29
|
+
getToken(namespace: WebSocketNamespace): string | null;
|
|
30
|
+
/**
|
|
31
|
+
* Сохранить токен сессии для указанного пространства имен
|
|
32
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
33
|
+
* @param {string} token Токен сессии
|
|
34
|
+
*/
|
|
35
|
+
saveToken(namespace: WebSocketNamespace, token: string): void;
|
|
36
|
+
/**
|
|
37
|
+
* Удалить токен сессии для указанного пространства имен
|
|
38
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
39
|
+
*/
|
|
40
|
+
removeToken(namespace: WebSocketNamespace): void;
|
|
41
|
+
/**
|
|
42
|
+
* Проверить наличие токена для указанного пространства имен
|
|
43
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
44
|
+
* @returns {boolean} true, если токен есть
|
|
45
|
+
*/
|
|
46
|
+
hasToken(namespace: WebSocketNamespace): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Очистить все токены
|
|
49
|
+
*/
|
|
50
|
+
clear(): void;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Опции для менеджера сессий
|
|
54
|
+
*/
|
|
55
|
+
export interface SessionManagerOptions {
|
|
56
|
+
/** Включение сохранения и восстановления сессий */
|
|
57
|
+
enableSessionPersistence?: boolean;
|
|
58
|
+
/** Логгер */
|
|
59
|
+
logger?: Logger;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Класс для управления токенами сессий WebSocket
|
|
63
|
+
*/
|
|
64
|
+
export declare class SessionManager {
|
|
65
|
+
/** Хранилище токенов сессий */
|
|
66
|
+
private sessionTokens;
|
|
67
|
+
/** Включено ли сохранение сессий */
|
|
68
|
+
private readonly enableSessionPersistence;
|
|
69
|
+
/** Логгер */
|
|
70
|
+
private readonly logger;
|
|
71
|
+
/**
|
|
72
|
+
* Создает новый менеджер сессий
|
|
73
|
+
* @param {SessionManagerOptions} options Опции менеджера сессий
|
|
74
|
+
*/
|
|
75
|
+
constructor(options?: SessionManagerOptions);
|
|
76
|
+
/**
|
|
77
|
+
* Сохраняет токен сессии для пространства имен
|
|
78
|
+
* @param {string} namespace Пространство имен
|
|
79
|
+
* @param {string} token Токен сессии
|
|
80
|
+
*/
|
|
81
|
+
saveSessionToken(namespace: string, token: string): void;
|
|
82
|
+
/**
|
|
83
|
+
* Получает токен сессии для пространства имен
|
|
84
|
+
* @param {string} namespace Пространство имен
|
|
85
|
+
* @returns {string | undefined} Токен сессии или undefined, если не найден
|
|
86
|
+
*/
|
|
87
|
+
getSessionToken(namespace: string): string | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Удаляет токен сессии для пространства имен
|
|
90
|
+
* @param {string} namespace Пространство имен
|
|
91
|
+
*/
|
|
92
|
+
clearSessionToken(namespace: string): void;
|
|
93
|
+
/**
|
|
94
|
+
* Удаляет все токены сессий
|
|
95
|
+
*/
|
|
96
|
+
clearAllSessionTokens(): void;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/utils/session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,MAAM,EAAyB,MAAM,aAAa,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAAC;IAEvD,6BAA6B;IAC7B,SAAS,CAAC,SAAS,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9D,2BAA2B;IAC3B,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAEjD,+BAA+B;IAC/B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAEjD,0BAA0B;IAC1B,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D,wBAAwB;IACxB,OAAO,CAAC,MAAM,CAA8C;IAE5D;;;;OAIG;IACI,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI;IAI7D;;;;OAIG;IACI,SAAS,CAAC,SAAS,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIpE;;;OAGG;IACI,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAIvD;;;;OAIG;IACI,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO;IAIvD;;OAEG;IACI,KAAK,IAAI,IAAI;CAGrB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,aAAa;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,+BAA+B;IAC/B,OAAO,CAAC,aAAa,CAAkC;IAEvD,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IAEnD,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;;OAGG;gBACS,OAAO,GAAE,qBAA0B;IAW/C;;;;OAIG;IACI,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAU/D;;;;OAIG;IACI,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAW7D;;;OAGG;IACI,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKjD;;OAEG;IACI,qBAAqB,IAAI,IAAI;CAIrC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { WebSocketClient, WebSocketClientOptions } from '../utils/websocket-client.js';
|
|
2
|
+
import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
|
|
3
|
+
import { Logger, LogFunction } from '../utils/logger.js';
|
|
4
|
+
import { SessionManager } from '../utils/session-manager.js';
|
|
5
|
+
import { PingPongManager } from '../utils/ping-pong-manager.js';
|
|
6
|
+
import { ConnectionStateManager } from '../utils/connection-state-manager.js';
|
|
7
|
+
/**
|
|
8
|
+
* Опции базового WebSocket клиента
|
|
9
|
+
*/
|
|
10
|
+
export interface BaseWebSocketClientOptions extends Omit<WebSocketClientOptions, 'logger'> {
|
|
11
|
+
/** Логгер (объект или функция) */
|
|
12
|
+
logger?: Logger | LogFunction;
|
|
13
|
+
/** API ключ для аутентификации */
|
|
14
|
+
apiKey?: string;
|
|
15
|
+
/** Включить автоматическое ping/pong */
|
|
16
|
+
enableAutoPing?: boolean;
|
|
17
|
+
/** Интервал ping в миллисекундах */
|
|
18
|
+
pingInterval?: number;
|
|
19
|
+
/** Таймаут ожидания pong в миллисекундах */
|
|
20
|
+
pingTimeoutThreshold?: number;
|
|
21
|
+
/** Включить сохранение сессий */
|
|
22
|
+
enableSessionPersistence?: boolean;
|
|
23
|
+
/** Стратегия переподключения */
|
|
24
|
+
reconnectStrategy?: 'linear' | 'exponential' | 'fibonacci';
|
|
25
|
+
/** Задержка перед повторной попыткой подключения в миллисекундах */
|
|
26
|
+
retryDelay?: number;
|
|
27
|
+
/** Максимальная задержка перед повторной попыткой подключения в миллисекундах */
|
|
28
|
+
maxRetryDelay?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Базовый абстрактный класс для всех WebSocket клиентов
|
|
32
|
+
*/
|
|
33
|
+
export declare abstract class BaseWebSocketClient {
|
|
34
|
+
/** Базовый URL API */
|
|
35
|
+
protected readonly baseURL: string;
|
|
36
|
+
/** Опции клиента */
|
|
37
|
+
protected readonly options: BaseWebSocketClientOptions;
|
|
38
|
+
/** Пространство имен WebSocket */
|
|
39
|
+
protected readonly namespace: WebSocketNamespace;
|
|
40
|
+
/** WebSocket клиент */
|
|
41
|
+
protected client: WebSocketClient | null;
|
|
42
|
+
/** Логгер */
|
|
43
|
+
protected readonly logger: Logger;
|
|
44
|
+
/** Менеджер сессий */
|
|
45
|
+
protected readonly sessionManager: SessionManager;
|
|
46
|
+
/** Менеджер ping/pong */
|
|
47
|
+
protected readonly pingPongManager: PingPongManager;
|
|
48
|
+
/** Менеджер состояния подключения */
|
|
49
|
+
protected readonly connectionStateManager: ConnectionStateManager;
|
|
50
|
+
/**
|
|
51
|
+
* Создает новый базовый WebSocket клиент
|
|
52
|
+
* @param {WebSocketNamespace} namespace Пространство имен WebSocket
|
|
53
|
+
* @param {string} baseURL Базовый URL API
|
|
54
|
+
* @param {BaseWebSocketClientOptions} options Опции клиента
|
|
55
|
+
*/
|
|
56
|
+
constructor(namespace: WebSocketNamespace, baseURL: string, options?: BaseWebSocketClientOptions);
|
|
57
|
+
/**
|
|
58
|
+
* Подключается к серверу WebSocket
|
|
59
|
+
* @param {Record<string, any>} [params={}] Дополнительные параметры для подключения
|
|
60
|
+
* @returns {Promise<boolean>} Успешность подключения
|
|
61
|
+
*/
|
|
62
|
+
connect(params?: Record<string, any>): Promise<boolean>;
|
|
63
|
+
/**
|
|
64
|
+
* Формирует URL для подключения
|
|
65
|
+
* @param {Record<string, any>} params Параметры для подключения
|
|
66
|
+
* @returns {string} URL для подключения
|
|
67
|
+
*/
|
|
68
|
+
protected buildConnectionUrl(params: Record<string, any>): string;
|
|
69
|
+
/**
|
|
70
|
+
* Устанавливает обработчики событий для WebSocket клиента
|
|
71
|
+
*/
|
|
72
|
+
protected setupEventHandlers(): void;
|
|
73
|
+
/**
|
|
74
|
+
* Отправляет аутентификационные данные на сервер
|
|
75
|
+
*/
|
|
76
|
+
protected authenticate(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Отключается от сервера WebSocket
|
|
79
|
+
*/
|
|
80
|
+
disconnect(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Проверяет, подключен ли клиент к серверу
|
|
83
|
+
* @returns {boolean} true, если клиент подключен
|
|
84
|
+
*/
|
|
85
|
+
isConnected(): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Получает ID сокета
|
|
88
|
+
* @returns {string | null} ID сокета или null, если не подключен
|
|
89
|
+
*/
|
|
90
|
+
getSocketId(): string | null;
|
|
91
|
+
/**
|
|
92
|
+
* Отправляет событие на сервер
|
|
93
|
+
* @param {string} eventType Тип события
|
|
94
|
+
* @param {any} [data] Данные события
|
|
95
|
+
* @returns {boolean} Успешность отправки
|
|
96
|
+
*/
|
|
97
|
+
send(eventType: string, data?: any): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Отправляет событие и ожидает ответа
|
|
100
|
+
* @param {string} eventType Тип события
|
|
101
|
+
* @param {any} data Данные события
|
|
102
|
+
* @param {number} [timeout=5000] Таймаут ожидания ответа в миллисекундах
|
|
103
|
+
* @returns {Promise<any>} Ответ сервера
|
|
104
|
+
*/
|
|
105
|
+
emitWithAck(eventType: string, data: any, timeout?: number): Promise<any>;
|
|
106
|
+
/**
|
|
107
|
+
* Добавляет обработчик события
|
|
108
|
+
* @param {string} eventType Тип события
|
|
109
|
+
* @param {(data: any) => void} handler Обработчик события
|
|
110
|
+
*/
|
|
111
|
+
on(eventType: string, handler: (data: any) => void): void;
|
|
112
|
+
/**
|
|
113
|
+
* Удаляет обработчик события
|
|
114
|
+
* @param {string} eventType Тип события
|
|
115
|
+
* @param {(data: any) => void} [handler] Обработчик события (если не указан, удаляются все обработчики)
|
|
116
|
+
*/
|
|
117
|
+
off(eventType: string, handler?: (data: any) => void): void;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=base-ws-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-ws-client.d.ts","sourceRoot":"","sources":["../../../src/ws/base-ws-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BaseWebSocketClient, BaseWebSocketClientOptions } from './base-ws-client';
|
|
2
|
+
import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
|
|
3
|
+
export declare class DependenciesWsClient extends BaseWebSocketClient {
|
|
4
|
+
constructor(namespace: WebSocketNamespace, baseURL: string, options?: BaseWebSocketClientOptions);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=dependencies-ws-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies-ws-client.d.ts","sourceRoot":"","sources":["../../../src/ws/dependencies-ws-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEpF,qBAAa,oBAAqB,SAAQ,mBAAmB;gBAEzD,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,0BAA+B;CAK3C"}
|