solver-sdk 1.4.1 → 1.5.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.
@@ -1 +1 @@
1
- {"version":3,"file":"code-solver-sdk.js","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,aAAa;AACb,MAAM,WAAW,GAAG,OAAO,CAAC;AAE5B;;;GAGG;AACH,SAAS,cAAc;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IAiExB;;;OAGG;IACH,YAAY,OAA6B;QA9DzC,iDAAiD;QACzC,aAAQ,GAAqC,IAAI,CAAC;QAmC1D,2CAA2C;QAC1B,WAAM,GAAG;YACxB,GAAG,EAAE,CAAC,OAAe,EAAE,EAAE;gBACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE;gBACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YACD,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE;gBACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtC,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;SACF,CAAC;QAOA,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM;SAC7B,CAAC;QAEF,8BAA8B;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM;YAC9C,CAAC,CAAC,cAAc,EAAE;YAClB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAE1D,6BAA6B;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACtD,OAAO,EAAE;gBACP,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;aACjC;YACD,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;YAC9B,UAAU,EAAE,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SAC/E,CAAC,CAAC;QAEH,6BAA6B;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,iBAAiB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAyB,CAAC,KAAK,EAAE;gBACnD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAC9B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,KAAK;gBAChD,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC;gBAChD,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI;gBAChD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB;aACrD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;OAGG;IACI,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAAC,OAA+B;QAC3D,aAAa,CAAC,YAAY,GAAG,OAAO,CAAC;IACvC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,KAAY;QACpC,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;YAC/B,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,UAAU;QACtB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,MAAc;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,kBAAkB;QACjB,IAAI,CAAC,QAAgB,CAAC,MAAM,GAAG,MAAM,CAAC;QAEvC,6CAA6C;QAC7C,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YAC1D,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;gBACxB,eAAe,EAAE,UAAU,MAAM,EAAE;aACpC;YACD,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;YAC9B,UAAU,EAAE,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SAC/E,CAAC,CAAC;QAEH,mCAAmC;QAClC,IAAY,CAAC,UAAU,GAAG,aAAa,CAAC;QACxC,IAAY,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;QACpD,IAAY,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtE,IAAY,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC;QACxD,IAAY,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;QACpD,IAAY,CAAC,UAAU,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAY,CAAC,iBAAiB,GAAG,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACxE,IAAY,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;QAChD,IAAY,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;QACpD,IAAY,CAAC,aAAa,GAAG,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;QAEjE,8CAA8C;QAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YACpG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACnE,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;aAC/B,CAAC,CAAC;YAEH,iDAAiD;YACjD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE3C,mDAAmD;YACnD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACpE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YACvF,CAAC;YAED,0CAA0C;YAC1C,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YACpC,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAEnC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,WAAW,CAAC,KAAc,CAAC,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;IACzF,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,SAAS;QACpB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAA6B;gBACxC,GAAG,EAAE,KAAK;gBACV,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd,CAAC;YAEF,IAAI,CAAC;gBACH,eAAe;gBACf,OAAO,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEvC,mDAAmD;gBACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAE7D,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC7C,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;oBACzD,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBAErD,gCAAgC;oBAChC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE;4BACvC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;oBAC3D,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC;4BACH,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BAC3C,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;4BACpC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;4BACzB,MAAM,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;wBAC1D,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;wBAC5B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iCAAiC;YACnC,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,GAAG,EAAE,KAAK;gBACV,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;;AApZD,mCAAmC;AACpB,0BAAY,GAAoC,IAAI,AAAxC,CAAyC"}
1
+ {"version":3,"file":"code-solver-sdk.js","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,8 @@ export class CodeSolverWebSocketClient {
70
70
  url.searchParams.append('transport', 'websocket');
71
71
  // Если указан namespace, добавляем его как параметр
72
72
  if (namespace !== WebSocketNamespace.DEFAULT) {
73
- const nsName = namespace.startsWith('/') ? namespace.substring(1) : namespace;
73
+ const nsString = String(namespace);
74
+ const nsName = nsString.startsWith('/') ? nsString.substring(1) : nsString;
74
75
  url.searchParams.append('namespace', nsName);
75
76
  }
76
77
  // Добавляем параметры к URL
@@ -80,20 +81,34 @@ export class CodeSolverWebSocketClient {
80
81
  }
81
82
  });
82
83
  const urlString = url.toString();
83
- console.debug(`[WS] Подключение к ${urlString}`);
84
+ console.debug(`[WS] Подключение к ${urlString}`, {
85
+ namespace: String(namespace),
86
+ hasApiKey: !!this.options.apiKey,
87
+ apiKeyLength: this.options.apiKey ? this.options.apiKey.length : 0,
88
+ params: Object.keys(params)
89
+ });
84
90
  // Создаем новый WebSocket клиент
85
91
  const client = new WebSocketClient(urlString, this.options);
86
92
  // Добавляем обработчик для успешного подключения и отправки аутентификации
87
93
  client.on('open', () => {
88
- console.debug(`[WS] Подключение к ${namespace} установлено`);
94
+ console.debug(`[WS] Подключение к ${String(namespace)} установлено`, {
95
+ socketId: client.webSocket?.id,
96
+ readyState: client.webSocket?.readyState
97
+ });
89
98
  // Отправляем сообщение аутентификации, если задан API ключ
90
99
  if (this.options.apiKey && namespace !== WebSocketNamespace.DEFAULT) {
91
100
  try {
92
- console.debug(`[WS] Отправка аутентификации для ${namespace}`);
101
+ const apiKeySafe = this.options.apiKey.length > 8
102
+ ? `${this.options.apiKey.substring(0, 4)}...${this.options.apiKey.substring(this.options.apiKey.length - 4)}`
103
+ : '[короткий ключ]';
104
+ console.debug(`[WS] Отправка аутентификации для ${String(namespace)}`, {
105
+ namespace: String(namespace),
106
+ apiKey: apiKeySafe
107
+ });
93
108
  // Отправляем сообщение аутентификации в формате Socket.IO
94
109
  const authMessage = {
95
110
  type: '2', // Socket.IO packet type: EVENT
96
- nsp: namespace,
111
+ nsp: String(namespace),
97
112
  data: ['authenticate', { token: this.options.apiKey }]
98
113
  };
99
114
  client.send(authMessage);
@@ -1 +1 @@
1
- {"version":3,"file":"code-solver-websocket-client.js","sourceRoot":"","sources":["../../../src/utils/code-solver-websocket-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-solver-websocket-client.js","sourceRoot":"","sources":["../../../src/utils/code-solver-websocket-client.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@ export class WebSocketClient {
24
24
  this.messageQueue = [];
25
25
  /** Состояние соединения */
26
26
  this.connected = false;
27
+ /** Аутентифицировано ли соединение */
28
+ this.authenticated = false;
27
29
  this.url = url;
28
30
  this.options = {
29
31
  headers: options.headers || {},
@@ -33,10 +35,44 @@ export class WebSocketClient {
33
35
  retryDelay: options.retryDelay || 1000,
34
36
  maxRetryDelay: options.maxRetryDelay || 30000,
35
37
  autoReconnect: options.autoReconnect !== undefined ? options.autoReconnect : true,
36
- rejectUnauthorized: options.rejectUnauthorized !== undefined ? options.rejectUnauthorized : true
38
+ rejectUnauthorized: options.rejectUnauthorized !== undefined ? options.rejectUnauthorized : true,
39
+ apiKey: options.apiKey || '',
40
+ namespace: options.namespace || '',
41
+ logger: options.logger
37
42
  };
38
43
  // Определяем среду выполнения
39
44
  this.isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
45
+ // Инициализируем пространство имен
46
+ this.namespace = this.options.namespace || '';
47
+ // Если namespace не начинается с /, добавляем его
48
+ if (this.namespace && !this.namespace.startsWith('/')) {
49
+ this.namespace = '/' + this.namespace;
50
+ }
51
+ // Инициализируем логгер
52
+ this.logger = this.options.logger || ((level, message, data) => {
53
+ if (level === 'error') {
54
+ console.error(`[WebSocketClient] ${message}`, data);
55
+ }
56
+ else if (level === 'warn') {
57
+ console.warn(`[WebSocketClient] ${message}`, data);
58
+ }
59
+ else if (level === 'info') {
60
+ console.info(`[WebSocketClient] ${message}`, data);
61
+ }
62
+ else if (level === 'debug' && process.env.NODE_ENV === 'development') {
63
+ console.debug(`[WebSocketClient] ${message}`, data);
64
+ }
65
+ });
66
+ // Логирование конфигурации при создании клиента
67
+ this.logger('info', 'Создан WebSocket клиент', {
68
+ url: this.url,
69
+ namespace: this.namespace,
70
+ hasApiKey: !!this.options.apiKey,
71
+ apiKeyLength: this.options.apiKey ? this.options.apiKey.length : 0,
72
+ connectionTimeout: this.options.connectionTimeout,
73
+ autoReconnect: this.options.autoReconnect,
74
+ maxRetries: this.options.maxRetries
75
+ });
40
76
  }
41
77
  /**
42
78
  * Подключается к WebSocket серверу
@@ -45,30 +81,50 @@ export class WebSocketClient {
45
81
  connect() {
46
82
  // Если соединение уже установлено, возвращаем Promise.resolve
47
83
  if (this.webSocket && this.webSocket.readyState === WebSocket.OPEN) {
84
+ this.logger('info', 'Соединение уже установлено');
48
85
  return Promise.resolve();
49
86
  }
50
87
  // Сбрасываем флаг намеренного закрытия
51
88
  this.intentionallyClosed = false;
52
89
  return new Promise((resolve, reject) => {
53
90
  try {
91
+ // Проверяем, содержит ли URL параметры Socket.IO
92
+ let wsUrl = this.url;
93
+ // Проверяем, является ли это Socket.IO подключением
94
+ if (wsUrl.includes('/socket.io/') || wsUrl.includes('?EIO=')) {
95
+ // Убедимся, что в URL есть параметры для Socket.IO версии 4
96
+ if (!wsUrl.includes('EIO=')) {
97
+ // Добавляем разделитель: ? или &
98
+ const separator = wsUrl.includes('?') ? '&' : '?';
99
+ wsUrl += `${separator}EIO=4&transport=websocket`;
100
+ }
101
+ // Добавляем timestamp для предотвращения кеширования
102
+ if (!wsUrl.includes('t=')) {
103
+ const separator = wsUrl.includes('?') ? '&' : '?';
104
+ wsUrl += `${separator}t=${Date.now()}`;
105
+ }
106
+ }
107
+ this.logger('info', 'Выполняется подключение', { url: wsUrl });
54
108
  // Создаем новый экземпляр WebSocket
55
109
  if (this.isBrowser) {
56
110
  // Браузерное окружение
57
- this.webSocket = new WebSocket(this.url, this.options.protocols);
111
+ this.webSocket = new WebSocket(wsUrl, this.options.protocols);
58
112
  }
59
113
  else {
60
114
  // Node.js окружение
61
115
  try {
62
116
  // Динамически импортируем ws модуль в Node.js
63
117
  const WebSocketImpl = require('ws');
64
- this.webSocket = new WebSocketImpl(this.url, {
118
+ this.webSocket = new WebSocketImpl(wsUrl, {
65
119
  headers: this.options.headers,
66
120
  protocol: this.options.protocols,
67
121
  rejectUnauthorized: this.options.rejectUnauthorized !== false
68
122
  });
69
123
  }
70
124
  catch (error) {
71
- reject(new Error('Не удалось загрузить модуль ws в Node.js: ' + error.message));
125
+ const errorMsg = `Не удалось загрузить модуль ws в Node.js: ${error.message}`;
126
+ this.logger('error', errorMsg);
127
+ reject(new Error(errorMsg));
72
128
  return;
73
129
  }
74
130
  }
@@ -84,6 +140,7 @@ export class WebSocketClient {
84
140
  clearTimeout(this.connectionTimeoutTimer);
85
141
  this.retryCount = 0;
86
142
  this.connected = true;
143
+ this.logger('info', 'WebSocket соединение установлено');
87
144
  // Отправляем сообщения из очереди
88
145
  while (this.messageQueue.length > 0) {
89
146
  const message = this.messageQueue.shift();
@@ -103,63 +160,137 @@ export class WebSocketClient {
103
160
  let data = event.data;
104
161
  // Обработка сообщений Socket.IO
105
162
  if (typeof data === 'string') {
106
- // Проверка на Socket.IO пингующие сообщения
163
+ // Обработка Engine.IO - Ping/Pong (2/3)
107
164
  if (data === '2') {
108
- // Получили пинг (код 2), отправляем понг (код 3)
165
+ // Engine.IO ping, отправляем понг
109
166
  if (this.webSocket && this.webSocket.readyState === WebSocket.OPEN) {
110
167
  this.webSocket.send('3');
111
168
  }
112
169
  this.dispatchEvent('ping', {});
113
170
  return;
114
171
  }
115
- // Определяем тип пакета Socket.IO
172
+ else if (data === '3') {
173
+ // Engine.IO pong
174
+ this.dispatchEvent('pong', {});
175
+ return;
176
+ }
177
+ // Обработка открытия соединения Socket.IO
178
+ if (data.startsWith('0')) {
179
+ try {
180
+ const authData = JSON.parse(data.substring(1));
181
+ this.dispatchEvent('socket.io_open', authData);
182
+ // Вызываем обработчик открытия соединения Socket.IO
183
+ this.handleSocketIOOpen(authData);
184
+ return;
185
+ }
186
+ catch (e) {
187
+ // Игнорируем ошибки парсинга
188
+ }
189
+ }
190
+ // Обработка Socket.IO событий (42)
191
+ if (data.startsWith('42')) {
192
+ // Формат: 42/namespace,[event,data]
193
+ let namespace = '';
194
+ let eventData = data.substring(2);
195
+ // Извлекаем namespace, если есть
196
+ if (eventData.startsWith('/')) {
197
+ const namespaceEnd = eventData.indexOf(',');
198
+ if (namespaceEnd !== -1) {
199
+ namespace = eventData.substring(0, namespaceEnd);
200
+ eventData = eventData.substring(namespaceEnd + 1);
201
+ }
202
+ }
203
+ try {
204
+ const parsedData = JSON.parse(eventData);
205
+ if (Array.isArray(parsedData) && parsedData.length >= 1) {
206
+ const event = parsedData[0];
207
+ const eventPayload = parsedData.length > 1 ? parsedData[1] : null;
208
+ // Запускаем обработчик для данного события
209
+ this.dispatchEvent(event, eventPayload);
210
+ // Также отправляем общее событие socket.io с информацией о полученном событии
211
+ this.dispatchEvent('socket.io_event', {
212
+ event,
213
+ data: eventPayload,
214
+ namespace
215
+ });
216
+ // Обработка специальных событий для стриминга
217
+ if (event === 'text_delta' && eventPayload?.delta?.text) {
218
+ this.dispatchEvent('streaming_delta', { type: 'text', content: eventPayload.delta.text });
219
+ }
220
+ else if (event === 'thinking_delta' && eventPayload?.delta?.thinking) {
221
+ this.dispatchEvent('streaming_delta', { type: 'thinking', content: eventPayload.delta.thinking });
222
+ }
223
+ else if (event === 'message_stop') {
224
+ this.dispatchEvent('streaming_complete', {});
225
+ }
226
+ }
227
+ }
228
+ catch (e) {
229
+ this.dispatchEvent('error', { message: `Ошибка парсинга Socket.IO данных: ${e instanceof Error ? e.message : 'Неизвестная ошибка'}` });
230
+ }
231
+ return;
232
+ }
233
+ // Определяем тип пакета Socket.IO по первому символу
116
234
  const packetType = data.charAt(0);
117
235
  // Если это пакет данных (тип 0-6)
118
236
  if (packetType >= '0' && packetType <= '6') {
119
- // Отделяем тип пакета от содержимого
120
- let socketData;
121
- try {
122
- // Если строка содержит JSON (начиная с позиции 1)
123
- if (data.length > 1) {
237
+ // Отправляем особое событие для Socket.IO пакетов
238
+ this.dispatchEvent('socket.io_raw', {
239
+ type: packetType,
240
+ data: data.substring(1)
241
+ });
242
+ // Пытаемся обработать содержимое
243
+ if (data.length > 1) {
244
+ try {
124
245
  // Обработка пакета с namespace
125
246
  let jsonStart = 1;
126
- // Если есть namespace, пропускаем его
247
+ let namespace = '';
248
+ // Если есть namespace, извлекаем его
127
249
  if (data.charAt(1) === '/') {
128
250
  const namespaceEnd = data.indexOf('{', 1);
129
251
  if (namespaceEnd !== -1) {
252
+ namespace = data.substring(1, namespaceEnd);
130
253
  jsonStart = namespaceEnd;
131
254
  }
132
255
  }
133
- // Извлекаем JSON часть
256
+ // Пытаемся преобразовать оставшуюся часть в JSON
134
257
  const jsonStr = data.substring(jsonStart);
135
258
  if (jsonStr) {
136
- socketData = JSON.parse(jsonStr);
259
+ try {
260
+ const parsedData = JSON.parse(jsonStr);
261
+ this.dispatchEvent('message', parsedData);
262
+ }
263
+ catch (e) {
264
+ // Если не можем преобразовать в JSON, отправляем как есть
265
+ this.dispatchEvent('message', jsonStr);
266
+ }
137
267
  }
138
268
  }
269
+ catch (e) {
270
+ // Игнорируем ошибки парсинга
271
+ }
272
+ }
273
+ }
274
+ else {
275
+ // Если это не Socket.IO пакет, пытаемся обработать как обычное сообщение
276
+ try {
277
+ const parsedData = JSON.parse(data);
278
+ this.dispatchEvent('message', parsedData);
139
279
  }
140
280
  catch (e) {
141
- // Игнорируем ошибки парсинга
281
+ // Если не можем преобразовать в JSON, отправляем как есть
282
+ this.dispatchEvent('message', data);
142
283
  }
143
- // Отправляем особое событие для Socket.IO пакетов
144
- this.dispatchEvent('socket.io', {
145
- type: packetType,
146
- data: socketData
147
- });
148
- // Для обычного события message используем распарсенные данные, если есть
149
- data = socketData || data;
150
- }
151
- try {
152
- // Пытаемся распарсить как JSON для обычных сообщений
153
- data = JSON.parse(data);
154
- }
155
- catch (e) {
156
- // Если не удалось распарсить, оставляем как есть
157
284
  }
158
285
  }
159
- this.dispatchEvent('message', data);
286
+ else {
287
+ // Если данные не строка (например, ArrayBuffer), отправляем как есть
288
+ this.dispatchEvent('message', data);
289
+ }
160
290
  }
161
291
  catch (e) {
162
292
  console.error('Ошибка при обработке сообщения WebSocket:', e);
293
+ this.dispatchEvent('error', { message: `Ошибка при обработке сообщения: ${e instanceof Error ? e.message : 'Неизвестная ошибка'}` });
163
294
  }
164
295
  };
165
296
  // Обработчик закрытия соединения
@@ -264,8 +395,24 @@ export class WebSocketClient {
264
395
  // Если это объект с type='2' (Socket.IO EVENT), обрабатываем как Socket.IO сообщение
265
396
  if (typeof message === 'object' && message.type === '2') {
266
397
  const socketIOMessage = message;
398
+ let packet;
267
399
  // Формат сообщения для Socket.IO протокола 4
268
- const packet = `${socketIOMessage.type}${socketIOMessage.nsp ? socketIOMessage.nsp : ''}${JSON.stringify(socketIOMessage.data)}`;
400
+ if (socketIOMessage.event && socketIOMessage.data) {
401
+ // Format: 42namespace,[event,data]
402
+ const namespace = socketIOMessage.nsp ? socketIOMessage.nsp : '';
403
+ const namespaceStr = namespace && !namespace.startsWith('/') ? '/' + namespace : namespace;
404
+ const eventData = [socketIOMessage.event];
405
+ if (socketIOMessage.data !== undefined) {
406
+ eventData.push(socketIOMessage.data);
407
+ }
408
+ // 4 - Engine.IO message type
409
+ // 2 - Socket.IO EVENT type
410
+ packet = `42${namespaceStr}${namespaceStr ? ',' : ''}${JSON.stringify(eventData)}`;
411
+ }
412
+ else {
413
+ // Обратная совместимость со старым форматом
414
+ packet = `${socketIOMessage.type}${socketIOMessage.nsp ? socketIOMessage.nsp : ''}${JSON.stringify(socketIOMessage.data)}`;
415
+ }
269
416
  if (this.webSocket && this.webSocket.readyState === WebSocket.OPEN) {
270
417
  this.webSocket.send(packet);
271
418
  return true;
@@ -353,5 +500,152 @@ export class WebSocketClient {
353
500
  }
354
501
  }
355
502
  }
503
+ /**
504
+ * Обработка полученного сообщения от сервера
505
+ * @param message Сообщение от сервера
506
+ */
507
+ handleMessage(message) {
508
+ try {
509
+ if (!message) {
510
+ this.dispatchEvent('error', { message: 'Получено пустое сообщение' });
511
+ return;
512
+ }
513
+ // Проверяем, является ли сообщение пингом Socket.IO (2)
514
+ if (message === '2') {
515
+ // Отправляем понг (3)
516
+ this.send('3');
517
+ this.dispatchEvent('debug', 'Получен ping, отправлен pong');
518
+ return;
519
+ }
520
+ // Если это сообщение Socket.IO с данными
521
+ if (message.startsWith('42')) {
522
+ // Формат: 42[event,data]
523
+ const eventDataStr = message.substring(2);
524
+ try {
525
+ const [event, data] = JSON.parse(eventDataStr);
526
+ // Вызываем соответствующий обработчик события
527
+ this.dispatchEvent(event, data);
528
+ // Добавляем специальную обработку для событий стриминга
529
+ if (event === 'text_delta' && data.delta?.text) {
530
+ this.dispatchEvent('streaming_delta', { type: 'text', content: data.delta.text });
531
+ }
532
+ else if (event === 'thinking_delta' && data.delta?.thinking) {
533
+ this.dispatchEvent('streaming_delta', { type: 'thinking', content: data.delta.thinking });
534
+ }
535
+ else if (event === 'message_stop') {
536
+ this.dispatchEvent('streaming_complete', {});
537
+ }
538
+ }
539
+ catch (error) {
540
+ const errorMessage = error instanceof Error ? error.message : 'Неизвестная ошибка';
541
+ this.dispatchEvent('error', { message: `Ошибка разбора данных события: ${errorMessage}` });
542
+ }
543
+ return;
544
+ }
545
+ // Пытаемся преобразовать сообщение в JSON
546
+ try {
547
+ const parsedMessage = JSON.parse(message);
548
+ // Если это объект с типом event и данными, это может быть событие
549
+ if (parsedMessage.event && parsedMessage.data) {
550
+ const { event, data } = parsedMessage;
551
+ this.dispatchEvent(event, data);
552
+ }
553
+ else {
554
+ this.dispatchEvent('message', parsedMessage);
555
+ }
556
+ }
557
+ catch (error) {
558
+ // Если не удалось преобразовать в JSON, обрабатываем как текстовое сообщение
559
+ this.dispatchEvent('message', message);
560
+ }
561
+ }
562
+ catch (error) {
563
+ const errorMessage = error instanceof Error ? error.message : 'Неизвестная ошибка';
564
+ this.dispatchEvent('error', { message: `Ошибка при обработке сообщения: ${errorMessage}` });
565
+ }
566
+ }
567
+ /**
568
+ * Отправляет событие Socket.IO
569
+ * @param {string} event Название события
570
+ * @param {any} data Данные события
571
+ * @param {string} [namespace=''] Namespace для Socket.IO
572
+ * @returns {boolean} Успешно ли отправлено сообщение
573
+ */
574
+ sendSocketIOEvent(event, data, namespace = '') {
575
+ // Формируем объект для отправки через метод send
576
+ const socketIOMessage = {
577
+ type: '2',
578
+ event,
579
+ data,
580
+ nsp: namespace
581
+ };
582
+ return this.send(socketIOMessage);
583
+ }
584
+ /**
585
+ * Обработка подключения к пространству имен Socket.IO
586
+ */
587
+ handleNamespaceConnection() {
588
+ if (!this.namespace) {
589
+ return;
590
+ }
591
+ // Отправляем запрос на подключение к namespace
592
+ this.logger('info', `Подключение к пространству имен ${this.namespace}`);
593
+ const connectMessage = `40${this.namespace}`;
594
+ if (this.webSocket && this.webSocket.readyState === WebSocket.OPEN) {
595
+ this.webSocket.send(connectMessage);
596
+ }
597
+ else {
598
+ this.messageQueue.push(connectMessage);
599
+ }
600
+ }
601
+ /**
602
+ * Отправка аутентификационного сообщения
603
+ */
604
+ authenticate() {
605
+ if (!this.options.apiKey) {
606
+ this.logger('warn', 'API ключ не предоставлен, аутентификация пропущена');
607
+ return;
608
+ }
609
+ const apiKeySafe = this.options.apiKey.length > 8
610
+ ? `${this.options.apiKey.substring(0, 4)}...${this.options.apiKey.substring(this.options.apiKey.length - 4)}`
611
+ : '[короткий ключ]';
612
+ this.logger('info', 'Отправка аутентификационного сообщения', {
613
+ namespace: this.namespace,
614
+ apiKey: apiKeySafe,
615
+ authenticated: this.authenticated,
616
+ socketState: this.webSocket ? this.webSocket.readyState : 'нет соединения'
617
+ });
618
+ // Отправляем событие authenticate с API ключом
619
+ this.sendSocketIOEvent('authenticate', { apiKey: this.options.apiKey }, this.namespace);
620
+ }
621
+ /**
622
+ * Обработка открытия соединения Socket.IO
623
+ * @param data Данные открытия соединения
624
+ */
625
+ handleSocketIOOpen(data) {
626
+ this.logger('info', 'Socket.IO соединение открыто', {
627
+ pingInterval: data.pingInterval,
628
+ pingTimeout: data.pingTimeout,
629
+ sid: data.sid
630
+ });
631
+ // Если указано пространство имен, подключаемся к нему
632
+ if (this.namespace) {
633
+ this.handleNamespaceConnection();
634
+ }
635
+ // Добавляем обработчик успешного подключения к пространству имен
636
+ this.on('socket.io_event', (eventData) => {
637
+ // Если это событие connect и мы еще не аутентифицированы
638
+ if (!this.authenticated && eventData.event === 'connect') {
639
+ this.logger('info', `Подключено к пространству имен ${eventData.namespace || '/'}`, {
640
+ namespace: eventData.namespace || '/',
641
+ event: eventData.event,
642
+ data: eventData.data
643
+ });
644
+ // Аутентифицируем соединение
645
+ this.authenticate();
646
+ this.authenticated = true;
647
+ }
648
+ });
649
+ }
356
650
  }
357
651
  //# sourceMappingURL=websocket-client.js.map