solver-sdk 2.0.2 → 2.1.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.
Files changed (51) hide show
  1. package/dist/cjs/api/chat-api/index.js +205 -171
  2. package/dist/cjs/api/chat-api/index.js.map +1 -1
  3. package/dist/cjs/api/chat-api/models.js +1 -1
  4. package/dist/cjs/api/chat-api/stream-utils.js +139 -151
  5. package/dist/cjs/api/chat-api/stream-utils.js.map +1 -1
  6. package/dist/cjs/constants/websocket-events.constants.js +1 -1
  7. package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
  8. package/dist/cjs/index.js +2 -0
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/utils/message-helpers.js +212 -0
  11. package/dist/cjs/utils/message-helpers.js.map +1 -0
  12. package/dist/cjs/ws/filesystem-ws-client.js +0 -10
  13. package/dist/cjs/ws/filesystem-ws-client.js.map +1 -1
  14. package/dist/esm/api/chat-api/index.js +207 -151
  15. package/dist/esm/api/chat-api/index.js.map +1 -1
  16. package/dist/esm/api/chat-api/models.js +1 -1
  17. package/dist/esm/api/chat-api/stream-utils.js +139 -151
  18. package/dist/esm/api/chat-api/stream-utils.js.map +1 -1
  19. package/dist/esm/constants/websocket-events.constants.js +1 -1
  20. package/dist/esm/constants/websocket-events.constants.js.map +1 -1
  21. package/dist/esm/index.js +2 -0
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/utils/message-helpers.js +199 -0
  24. package/dist/esm/utils/message-helpers.js.map +1 -0
  25. package/dist/esm/ws/filesystem-ws-client.js +0 -10
  26. package/dist/esm/ws/filesystem-ws-client.js.map +1 -1
  27. package/dist/types/api/chat-api/index.d.ts +23 -8
  28. package/dist/types/api/chat-api/index.d.ts.map +1 -1
  29. package/dist/types/api/chat-api/interfaces.d.ts +125 -8
  30. package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
  31. package/dist/types/api/chat-api/models.d.ts +163 -43
  32. package/dist/types/api/chat-api/models.d.ts.map +1 -1
  33. package/dist/types/api/chat-api/stream-utils.d.ts +19 -16
  34. package/dist/types/api/chat-api/stream-utils.d.ts.map +1 -1
  35. package/dist/types/constants/websocket-events.constants.d.ts +2 -2
  36. package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
  37. package/dist/types/index.d.ts +1 -0
  38. package/dist/types/index.d.ts.map +1 -1
  39. package/dist/types/utils/message-helpers.d.ts +84 -0
  40. package/dist/types/utils/message-helpers.d.ts.map +1 -0
  41. package/dist/types/ws/filesystem-ws-client.d.ts +0 -2
  42. package/dist/types/ws/filesystem-ws-client.d.ts.map +1 -1
  43. package/docs/API_REFERENCE.md +38 -166
  44. package/docs/AUTHENTICATION.md +37 -59
  45. package/docs/ERROR_HANDLING.md +124 -191
  46. package/docs/INTEGRATION_EXAMPLES.md +38 -52
  47. package/docs/PING_PONG.md +79 -178
  48. package/docs/README.md +7 -3
  49. package/docs/WEBSOCKET.md +66 -37
  50. package/package.json +7 -2
  51. package/docs/advanced/PING_PONG.md +0 -212
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-events.constants.d.ts","sourceRoot":"","sources":["../../../src/constants/websocket-events.constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-events.constants.d.ts","sourceRoot":"","sources":["../../../src/constants/websocket-events.constants.ts"],"names":[],"mappings":"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"}
@@ -26,5 +26,6 @@ export * from './api/agents-api.js';
26
26
  export * from './api/chat-api/index.js';
27
27
  export * from './api/models-api.js';
28
28
  export * from './api/dependencies-api.js';
29
+ export * from './utils/message-helpers.js';
29
30
  export default CodeSolverSDK;
30
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,CAAC;AAG3B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAG1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAG1C,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,CAAC;AAG3B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAG1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,4BAA4B,CAAC;AAG3C,eAAe,aAAa,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Помощники для создания complex content сообщений согласно Anthropic API
3
+ */
4
+ import { ChatMessage, ContentBlock, Tool } from '../api/chat-api/models';
5
+ /**
6
+ * Создает сообщение assistant с thinking и tool_use блоками
7
+ * @param thinkingContent Содержимое мышления
8
+ * @param signature Криптографическая подпись
9
+ * @param toolCall Вызов инструмента
10
+ * @returns Сообщение assistant с complex content
11
+ */
12
+ export declare function createAssistantMessageWithThinking(thinkingContent: string, signature: string, toolCall: {
13
+ id: string;
14
+ name: string;
15
+ input: any;
16
+ }): ChatMessage;
17
+ /**
18
+ * Создает сообщение user с результатом инструмента
19
+ * @param toolUseId ID вызова инструмента
20
+ * @param result Результат выполнения
21
+ * @param isError Флаг ошибки
22
+ * @returns Сообщение user с tool_result
23
+ */
24
+ export declare function createToolResultMessage(toolUseId: string, result: string | any, isError?: boolean): ChatMessage;
25
+ /**
26
+ * Создает простое текстовое сообщение
27
+ * @param role Роль отправителя
28
+ * @param text Текст сообщения
29
+ * @returns Простое сообщение
30
+ */
31
+ export declare function createTextMessage(role: 'user' | 'system' | 'assistant', text: string): ChatMessage;
32
+ /**
33
+ * Создает сообщение assistant с текстом и мышлением
34
+ * @param text Основной текст ответа
35
+ * @param thinkingContent Содержимое мышления (опционально)
36
+ * @param signature Подпись мышления (опционально)
37
+ * @returns Сообщение assistant с complex content
38
+ */
39
+ export declare function createAssistantMessage(text: string, thinkingContent?: string, signature?: string): ChatMessage;
40
+ /**
41
+ * Извлекает thinking блоки из сообщения
42
+ * @param message Сообщение с complex content
43
+ * @returns Массив thinking блоков
44
+ */
45
+ export declare function extractThinkingBlocks(message: ChatMessage): ContentBlock[];
46
+ /**
47
+ * Извлекает tool_use блоки из сообщения
48
+ * @param message Сообщение с complex content
49
+ * @returns Массив tool_use блоков
50
+ */
51
+ export declare function extractToolUseBlocks(message: ChatMessage): ContentBlock[];
52
+ /**
53
+ * Извлекает текстовое содержимое из сообщения
54
+ * @param message Сообщение
55
+ * @returns Текстовое содержимое
56
+ */
57
+ export declare function extractTextContent(message: ChatMessage): string;
58
+ /**
59
+ * Проверяет, содержит ли сообщение thinking блоки
60
+ * @param message Сообщение для проверки
61
+ * @returns true если содержит thinking блоки
62
+ */
63
+ export declare function hasThinkingBlocks(message: ChatMessage): boolean;
64
+ /**
65
+ * Проверяет, содержит ли сообщение tool_use блоки
66
+ * @param message Сообщение для проверки
67
+ * @returns true если содержит tool_use блоки
68
+ */
69
+ export declare function hasToolUseBlocks(message: ChatMessage): boolean;
70
+ /**
71
+ * Создает определение инструмента для Anthropic API
72
+ * @param name Название инструмента
73
+ * @param description Описание функциональности
74
+ * @param properties Свойства входных параметров
75
+ * @param required Обязательные поля
76
+ * @returns Определение инструмента
77
+ */
78
+ export declare function createToolDefinition(name: string, description: string, properties: Record<string, any>, required?: string[]): Tool;
79
+ /**
80
+ * Создает стандартные инструменты для разработки (как в Cursor)
81
+ * @returns Массив стандартных инструментов
82
+ */
83
+ export declare function createStandardDevelopmentTools(): Tool[];
84
+ //# sourceMappingURL=message-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/message-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAEzE;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAChD,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE;IACR,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;CACZ,GACA,WAAW,CAmBb;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,GAAG,EACpB,OAAO,GAAE,OAAe,GACvB,WAAW,CAcb;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,EACrC,IAAI,EAAE,MAAM,GACX,WAAW,CAKb;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,MAAM,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CAsBb;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,EAAE,CAQ1E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,EAAE,CAMzE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAO/D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAQ/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAM9D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,QAAQ,GAAE,MAAM,EAAO,GACtB,IAAI,CAUN;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,EAAE,CAgEvD"}
@@ -34,8 +34,6 @@ export interface FileInfo {
34
34
  export declare class FileSystemWsClient extends BaseWebSocketClient {
35
35
  private sessionId;
36
36
  private projectId;
37
- private pingInterval;
38
- private pingTimer;
39
37
  private readonly SDK_VERSION;
40
38
  onReadFile: (path: string) => Promise<string>;
41
39
  onListFiles: (directory: string, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem-ws-client.d.ts","sourceRoot":"","sources":["../../../src/ws/filesystem-ws-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKvD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,8BAA8B;IAC9B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/C,yCAAyC;IACzC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAC1C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,sBAAsB;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,mBAAmB;IACzD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IAGhC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAChD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9D;;;;OAIG;gBAED,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,yBAA8B;IAgBzC;;;;OAIG;IACmB,OAAO,CAAC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6CjF;;;;OAIG;IACU,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlE;;OAEG;IACH,OAAO,CAAC,aAAa;IAkFrB;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,SAAS,GAAG,UAAU,GAAG,SAAsB,GAAG,OAAO;CAetG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+HG"}
1
+ {"version":3,"file":"filesystem-ws-client.d.ts","sourceRoot":"","sources":["../../../src/ws/filesystem-ws-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKvD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,8BAA8B;IAC9B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/C,yCAAyC;IACzC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAC1C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,sBAAsB;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,mBAAmB;IACzD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IAGhC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAChD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9D;;;;OAIG;gBAED,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,yBAA8B;IAgBzC;;;;OAIG;IACmB,OAAO,CAAC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4CjF;;;;OAIG;IACU,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlE;;OAEG;IACH,OAAO,CAAC,aAAa;IA0ErB;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,SAAS,GAAG,UAAU,GAAG,SAAsB,GAAG,OAAO;CAetG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+HG"}
@@ -9,7 +9,6 @@
9
9
  - [ProjectsApi](#projectsapi)
10
10
  - [SearchApi](#searchapi)
11
11
  - [ReasoningApi](#reasoningapi)
12
- - [WebSocketClient](#websocketclient)
13
12
 
14
13
  ## CodeSolverSDK
15
14
 
@@ -35,14 +34,6 @@ const sdk = new CodeSolverSDK(options);
35
34
 
36
35
  ### Методы
37
36
 
38
- #### `getWebSocketClient()`
39
-
40
- Возвращает экземпляр WebSocket клиента для работы с соединениями.
41
-
42
- ```javascript
43
- const wsClient = sdk.getWebSocketClient();
44
- ```
45
-
46
37
  #### `checkHealth()`
47
38
 
48
39
  Проверяет доступность API сервера.
@@ -53,7 +44,7 @@ const isHealthy = await sdk.checkHealth();
53
44
 
54
45
  #### `connect()`
55
46
 
56
- Подключается к WebSocket серверу.
47
+ Подключается ко всем WebSocket сервисам одновременно.
57
48
 
58
49
  ```javascript
59
50
  await sdk.connect();
@@ -61,7 +52,7 @@ await sdk.connect();
61
52
 
62
53
  #### `disconnect()`
63
54
 
64
- Отключается от WebSocket сервера.
55
+ Отключается от всех WebSocket серверов.
65
56
 
66
57
  ```javascript
67
58
  await sdk.disconnect();
@@ -94,30 +85,35 @@ API для работы с чатом и AI-моделями.
94
85
  Отправляет запрос чата и возвращает полный ответ.
95
86
 
96
87
  ```javascript
97
- const response = await sdk.chat.chat(
98
- messages,
99
- options
100
- );
88
+ const response = await sdk.chat.chat([
89
+ { role: 'user', content: 'Привет, как дела?' }
90
+ ], {
91
+ model: 'claude-3-7-sonnet-20240229'
92
+ });
101
93
  ```
102
94
 
103
- ##### Параметры
95
+ #### `streamChat(messages, options, callback)`
104
96
 
105
- | Параметр | Тип | Описание | Обязательно |
106
- |----------|-----|----------|-------------|
107
- | `messages` | Array | Массив сообщений для отправки модели | Да |
108
- | `options` | Object | Параметры запроса (модель, temperature и т.д.) | Нет |
97
+ Отправляет запрос чата и получает ответ в потоковом режиме.
98
+
99
+ ```javascript
100
+ await sdk.chat.streamChat(
101
+ [{ role: 'user', content: 'Объясни JavaScript' }],
102
+ { model: 'claude-3-7-sonnet-20240229' },
103
+ (chunk) => console.log(chunk)
104
+ );
105
+ ```
109
106
 
110
- #### `streamChatWithThinking(messages, options, onEvent)`
107
+ #### `streamChatWithThinking(messages, options, callback)`
111
108
 
112
- Отправляет запрос чата в потоковом режиме с получением "мышления" модели.
109
+ Отправляет запрос чата с получением промежуточных шагов мышления.
113
110
 
114
111
  ```javascript
115
- const response = await sdk.chat.streamChatWithThinking(
116
- messages,
112
+ await sdk.chat.streamChatWithThinking(
113
+ [{ role: 'user', content: 'Объясни принцип работы реактивного программирования' }],
117
114
  {
118
115
  model: 'claude-3-7-sonnet-20240229',
119
- thinking: true,
120
- temperature: 0.7
116
+ thinking: true
121
117
  },
122
118
  (eventType, data) => {
123
119
  if (eventType === 'thinking_delta') {
@@ -131,105 +127,53 @@ const response = await sdk.chat.streamChatWithThinking(
131
127
 
132
128
  #### `connectWebSocket()`
133
129
 
134
- Создает новое WebSocket соединение для потокового чата.
130
+ Подключается к WebSocket для событий чата.
135
131
 
136
132
  ```javascript
137
133
  await sdk.chat.connectWebSocket();
138
134
  ```
139
135
 
140
- #### `getModels()`
141
-
142
- Получает список доступных моделей.
143
-
144
- ```javascript
145
- const models = await sdk.chat.getModels();
146
- ```
147
-
148
136
  ## ProjectsApi
149
137
 
150
138
  API для работы с проектами.
151
139
 
152
140
  ### Методы
153
141
 
154
- #### `getAllProjects()`
142
+ #### `createProject(name, path, options)`
155
143
 
156
- Получает список всех проектов.
144
+ Создает новый проект.
157
145
 
158
146
  ```javascript
159
- const projects = await sdk.projects.getAllProjects();
147
+ const project = await sdk.projects.createProject(
148
+ 'Мой проект',
149
+ '/path/to/project',
150
+ { excludePatterns: ['node_modules', '.git'] }
151
+ );
160
152
  ```
161
153
 
162
154
  #### `getProject(projectId)`
163
155
 
164
- Получает информацию о проекте по ID.
156
+ Получает информацию о проекте.
165
157
 
166
158
  ```javascript
167
159
  const project = await sdk.projects.getProject('project-id');
168
160
  ```
169
161
 
170
- #### `createProject(name, path, options)`
171
-
172
- Создаёт новый проект.
173
-
174
- ```javascript
175
- const project = await sdk.projects.createProject('Мой проект', '/path/to/project', {
176
- excludePatterns: ['node_modules', '.git']
177
- });
178
- ```
179
-
180
- #### `updateProject(projectId, data)`
181
-
182
- Обновляет проект.
183
-
184
- ```javascript
185
- await sdk.projects.updateProject('project-id', { name: 'Новое имя' });
186
- ```
187
-
188
- #### `deleteProject(projectId)`
162
+ #### `getAllProjects()`
189
163
 
190
- Удаляет проект.
164
+ Получает список всех проектов.
191
165
 
192
166
  ```javascript
193
- await sdk.projects.deleteProject('project-id');
167
+ const projects = await sdk.projects.getAllProjects();
194
168
  ```
195
169
 
196
- #### `indexProject(projectId)`
170
+ #### `indexProject(projectId, options)`
197
171
 
198
172
  Запускает индексацию проекта.
199
173
 
200
174
  ```javascript
201
- await sdk.projects.indexProject('project-id');
202
- ```
203
-
204
- #### `getOrCreateProject(path, name)`
205
-
206
- Получает существующий проект по пути или создает новый, если проект не найден.
207
-
208
- ```javascript
209
- const project = await sdk.projects.getOrCreateProject('/path/to/project', 'Название проекта');
210
- ```
211
-
212
- #### `indexProjectByPath(path, options)`
213
-
214
- Индексирует проект по указанному пути. Если проект не существует, он будет создан автоматически.
215
-
216
- ```javascript
217
- const result = await sdk.projects.indexProjectByPath('/path/to/project', {
218
- name: 'Название проекта',
219
- forceFull: true, // принудительная полная индексация
220
- excludePatterns: ['node_modules', '.git'] // паттерны для исключения
221
- });
222
- ```
223
-
224
- #### `createAndIndexProject(path, options)`
225
-
226
- Комбинированный метод для создания (если не существует) и индексации проекта в одной операции.
227
-
228
- ```javascript
229
- const result = await sdk.projects.createAndIndexProject('/path/to/project', {
230
- name: 'Название проекта',
231
- forceFull: false,
232
- excludePatterns: ['node_modules', '.git']
175
+ await sdk.projects.indexProject('project-id', {
176
+ indexingMode: 'full' // или 'incremental', 'auto'
233
177
  });
234
178
  ```
235
179
 
@@ -357,76 +301,4 @@ sdk.reasoning.on('thinking', (data) => {
357
301
  sdk.reasoning.on('complete', (data) => {
358
302
  console.log('Результат:', data.content);
359
303
  });
360
- ```
361
-
362
- ## WebSocketClient
363
-
364
- Клиент для работы с WebSocket соединениями. Получается через `sdk.getWebSocketClient()`.
365
-
366
- ### Методы
367
-
368
- #### `connectToReasoning(reasoningId)`
369
-
370
- Подключается к namespace рассуждений.
371
-
372
- ```javascript
373
- await wsClient.connectToReasoning('reasoning-id');
374
- ```
375
-
376
- #### `connectToIndexing(projectId)`
377
-
378
- Подключается к namespace индексации.
379
-
380
- ```javascript
381
- await wsClient.connectToIndexing('project-id');
382
- ```
383
-
384
- #### `disconnect(namespace)`
385
-
386
- Отключается от определенного namespace.
387
-
388
- ```javascript
389
- await wsClient.disconnect(WebSocketNamespace.REASONING);
390
- ```
391
-
392
- #### `disconnectAll()`
393
-
394
- Отключается от всех namespace.
395
-
396
- ```javascript
397
- await wsClient.disconnectAll();
398
- ```
399
-
400
- #### `isConnected(namespace)`
401
-
402
- Проверяет подключение к определенному namespace.
403
-
404
- ```javascript
405
- const isConnected = wsClient.isConnected(WebSocketNamespace.REASONING);
406
- ```
407
-
408
- #### `isConnectedToReasoning()`
409
-
410
- Проверяет подключение к namespace рассуждений.
411
-
412
- ```javascript
413
- const isConnected = wsClient.isConnectedToReasoning();
414
- ```
415
-
416
- #### `isConnectedToIndexing()`
417
-
418
- Проверяет подключение к namespace индексации.
419
-
420
- ```javascript
421
- const isConnected = wsClient.isConnectedToIndexing();
422
- ```
423
-
424
- #### `on(event, callback, namespace)`
425
-
426
- Добавляет обработчик события для определенного namespace.
427
-
428
- ```javascript
429
- wsClient.on('thinking', (data) => {
430
- console.log('Мышление:', data);
431
- }, WebSocketNamespace.REASONING);
432
- ```
304
+ ```
@@ -1,83 +1,61 @@
1
- # Аутентификация в Solver SDK
1
+ # Аутентификация в SDK
2
2
 
3
- Этот документ описывает методы аутентификации в Solver SDK.
3
+ SDK автоматически обрабатывает процесс аутентификации при подключении к API и WebSocket-сервисам.
4
4
 
5
- ## Аутентификация HTTP API
5
+ ## Настройка аутентификации
6
6
 
7
- SDK поддерживает два основных метода аутентификации:
8
-
9
- ### API ключ
7
+ Аутентификация выполняется через API ключ, который необходимо передать при инициализации SDK:
10
8
 
11
9
  ```javascript
12
- const sdk = new CodeSolverSDK({
13
- baseURL: 'https://api.example.com',
14
- apiKey: 'your-api-key'
15
- });
16
- ```
17
-
18
- ### Пользовательские заголовки
10
+ import { CodeSolverSDK } from 'solver-sdk';
19
11
 
20
- ```javascript
12
+ // Инициализация SDK с API ключом
21
13
  const sdk = new CodeSolverSDK({
22
14
  baseURL: 'https://api.example.com',
23
- headers: {
24
- 'Authorization': 'Bearer your-jwt-token'
25
- }
15
+ apiKey: 'ваш-api-ключ' // Этот ключ будет использован для автоматической аутентификации
26
16
  });
27
17
  ```
28
18
 
29
- ## Аутентификация WebSocket
19
+ ## Автоматическая аутентификация при WebSocket подключении
20
+
21
+ При использовании методов для работы с WebSocket (например, `sdk.connect()` или `sdk.projects.connectWebSocket()`), SDK автоматически выполняет аутентификацию, используя указанный API ключ. Вам не нужно предпринимать дополнительных действий для аутентификации WebSocket соединений.
30
22
 
31
- SDK автоматически использует API-ключ для аутентификации WebSocket соединений. Отдельных действий не требуется.
23
+ ## Изменение API ключа во время выполнения
32
24
 
33
- Для некоторых методов можно указать дополнительный токен авторизации:
25
+ Если необходимо изменить API ключ во время выполнения программы:
34
26
 
35
27
  ```javascript
36
- // Для потоковой передачи чата с мышлением
37
- const options = {
38
- model: 'claude-3-7-sonnet-20240229',
39
- thinking: true,
40
- authToken: 'your-auth-token' // Опциональный параметр
41
- };
28
+ // Установка нового API ключа
29
+ sdk.setApiKey('новый-api-ключ');
42
30
 
43
- // Запрос с аутентификацией
44
- const response = await sdk.chat.streamChatWithThinking(messages, options, handleEvent);
31
+ // После этого все новые запросы и WebSocket соединения
32
+ // будут использовать новый ключ
45
33
  ```
46
34
 
35
+ При изменении API ключа:
36
+ 1. Обновляются заголовки для HTTP запросов
37
+ 2. Существующие WebSocket соединения закрываются
38
+ 3. Новые соединения будут установлены с новым API ключом
39
+
47
40
  ## Обработка ошибок аутентификации
48
41
 
42
+ Если API ключ недействителен или устарел, SDK сгенерирует соответствующие ошибки:
43
+
49
44
  ```javascript
50
- // Обработчик событий WebSocket
51
- const handleEvent = (eventType, data) => {
52
- if (eventType === 'authentication_error') {
53
- console.error('Ошибка аутентификации:', data.message);
45
+ try {
46
+ // Попытка выполнить операцию, требующую аутентификации
47
+ await sdk.projects.getAllProjects();
48
+ } catch (error) {
49
+ if (error.status === 401) {
50
+ console.error('Ошибка аутентификации: недействительный API ключ');
51
+
52
+ // Обновление API ключа
53
+ sdk.setApiKey('новый-api-ключ');
54
54
 
55
- // Реакция на ошибку аутентификации
56
- if (data.code === 'TOKEN_EXPIRED') {
57
- // Получение нового токена
58
- }
55
+ // Повторная попытка
56
+ const projects = await sdk.projects.getAllProjects();
57
+ } else {
58
+ console.error('Другая ошибка:', error);
59
59
  }
60
- };
61
- ```
62
-
63
- ## Пример использования
64
-
65
- ```javascript
66
- // Создание экземпляра SDK
67
- const sdk = new CodeSolverSDK({
68
- baseURL: 'https://api.example.com',
69
- apiKey: 'your-api-key'
70
- });
71
-
72
- // Создание рассуждения
73
- const reasoning = await sdk.reasoning.createReasoning({
74
- projectId: 'project-id',
75
- query: 'Объясни этот проект'
76
- });
77
-
78
- // Подключение к WebSocket (аутентификация выполняется автоматически)
79
- await sdk.reasoning.connectWebSocket(reasoning.id);
80
-
81
- // Запуск процесса
82
- await sdk.reasoning.startReasoning(reasoning.id);
60
+ }
83
61
  ```