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.
- package/dist/cjs/api/chat-api/index.js +205 -171
- package/dist/cjs/api/chat-api/index.js.map +1 -1
- package/dist/cjs/api/chat-api/models.js +1 -1
- package/dist/cjs/api/chat-api/stream-utils.js +139 -151
- package/dist/cjs/api/chat-api/stream-utils.js.map +1 -1
- package/dist/cjs/constants/websocket-events.constants.js +1 -1
- package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/message-helpers.js +212 -0
- package/dist/cjs/utils/message-helpers.js.map +1 -0
- package/dist/cjs/ws/filesystem-ws-client.js +0 -10
- package/dist/cjs/ws/filesystem-ws-client.js.map +1 -1
- package/dist/esm/api/chat-api/index.js +207 -151
- package/dist/esm/api/chat-api/index.js.map +1 -1
- package/dist/esm/api/chat-api/models.js +1 -1
- package/dist/esm/api/chat-api/stream-utils.js +139 -151
- package/dist/esm/api/chat-api/stream-utils.js.map +1 -1
- package/dist/esm/constants/websocket-events.constants.js +1 -1
- package/dist/esm/constants/websocket-events.constants.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/message-helpers.js +199 -0
- package/dist/esm/utils/message-helpers.js.map +1 -0
- package/dist/esm/ws/filesystem-ws-client.js +0 -10
- package/dist/esm/ws/filesystem-ws-client.js.map +1 -1
- package/dist/types/api/chat-api/index.d.ts +23 -8
- package/dist/types/api/chat-api/index.d.ts.map +1 -1
- package/dist/types/api/chat-api/interfaces.d.ts +125 -8
- package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
- package/dist/types/api/chat-api/models.d.ts +163 -43
- package/dist/types/api/chat-api/models.d.ts.map +1 -1
- package/dist/types/api/chat-api/stream-utils.d.ts +19 -16
- package/dist/types/api/chat-api/stream-utils.d.ts.map +1 -1
- package/dist/types/constants/websocket-events.constants.d.ts +2 -2
- package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utils/message-helpers.d.ts +84 -0
- package/dist/types/utils/message-helpers.d.ts.map +1 -0
- package/dist/types/ws/filesystem-ws-client.d.ts +0 -2
- package/dist/types/ws/filesystem-ws-client.d.ts.map +1 -1
- package/docs/API_REFERENCE.md +38 -166
- package/docs/AUTHENTICATION.md +37 -59
- package/docs/ERROR_HANDLING.md +124 -191
- package/docs/INTEGRATION_EXAMPLES.md +38 -52
- package/docs/PING_PONG.md +79 -178
- package/docs/README.md +7 -3
- package/docs/WEBSOCKET.md +66 -37
- package/package.json +7 -2
- 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":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,oBAAY,eAAe;IAEzB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;IAC7C,SAAS,cAAc;IACvB,eAAe,oBAAoB;IAGnC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,mBAAmB,wBAAwB;IAG3C,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,IAAI,SAAS;IAGb,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;IAGnC,sBAAsB,2BAA2B;IACjD,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAG7B,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,iBAAiB,sBAAsB;IAGvC,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAG/B,iBAAiB,sBAAsB;IACvC,0BAA0B,+BAA+B;IACzD,oBAAoB,yBAAyB;IAC7C,mBAAmB,wBAAwB;IAG3C,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IAGrC,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,kBAAkB,uBAAuB;IACzC,UAAU,eAAe;IACzB,mBAAmB,wBAAwB;IAC3C,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAG7B,WAAW,gBAAgB;IAG3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAG/B,SAAS,cAAc;IACvB,IAAI,SAAS;
|
|
1
|
+
{"version":3,"file":"websocket-events.constants.d.ts","sourceRoot":"","sources":["../../../src/constants/websocket-events.constants.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/docs/API_REFERENCE.md
CHANGED
|
@@ -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
|
-
Подключается
|
|
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
|
-
|
|
99
|
-
|
|
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
|
-
|
|
108
|
-
|
|
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,
|
|
107
|
+
#### `streamChatWithThinking(messages, options, callback)`
|
|
111
108
|
|
|
112
|
-
Отправляет запрос чата
|
|
109
|
+
Отправляет запрос чата с получением промежуточных шагов мышления.
|
|
113
110
|
|
|
114
111
|
```javascript
|
|
115
|
-
|
|
116
|
-
|
|
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
|
-
|
|
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
|
-
#### `
|
|
142
|
+
#### `createProject(name, path, options)`
|
|
155
143
|
|
|
156
|
-
|
|
144
|
+
Создает новый проект.
|
|
157
145
|
|
|
158
146
|
```javascript
|
|
159
|
-
const
|
|
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
|
-
Получает информацию о
|
|
156
|
+
Получает информацию о проекте.
|
|
165
157
|
|
|
166
158
|
```javascript
|
|
167
159
|
const project = await sdk.projects.getProject('project-id');
|
|
168
160
|
```
|
|
169
161
|
|
|
170
|
-
#### `
|
|
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.
|
|
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
|
+
```
|
package/docs/AUTHENTICATION.md
CHANGED
|
@@ -1,83 +1,61 @@
|
|
|
1
|
-
# Аутентификация в
|
|
1
|
+
# Аутентификация в SDK
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
SDK автоматически обрабатывает процесс аутентификации при подключении к API и WebSocket-сервисам.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Настройка аутентификации
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
### API ключ
|
|
7
|
+
Аутентификация выполняется через API ключ, который необходимо передать при инициализации SDK:
|
|
10
8
|
|
|
11
9
|
```javascript
|
|
12
|
-
|
|
13
|
-
baseURL: 'https://api.example.com',
|
|
14
|
-
apiKey: 'your-api-key'
|
|
15
|
-
});
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
### Пользовательские заголовки
|
|
10
|
+
import { CodeSolverSDK } from 'solver-sdk';
|
|
19
11
|
|
|
20
|
-
|
|
12
|
+
// Инициализация SDK с API ключом
|
|
21
13
|
const sdk = new CodeSolverSDK({
|
|
22
14
|
baseURL: 'https://api.example.com',
|
|
23
|
-
|
|
24
|
-
'Authorization': 'Bearer your-jwt-token'
|
|
25
|
-
}
|
|
15
|
+
apiKey: 'ваш-api-ключ' // Этот ключ будет использован для автоматической аутентификации
|
|
26
16
|
});
|
|
27
17
|
```
|
|
28
18
|
|
|
29
|
-
##
|
|
19
|
+
## Автоматическая аутентификация при WebSocket подключении
|
|
20
|
+
|
|
21
|
+
При использовании методов для работы с WebSocket (например, `sdk.connect()` или `sdk.projects.connectWebSocket()`), SDK автоматически выполняет аутентификацию, используя указанный API ключ. Вам не нужно предпринимать дополнительных действий для аутентификации WebSocket соединений.
|
|
30
22
|
|
|
31
|
-
|
|
23
|
+
## Изменение API ключа во время выполнения
|
|
32
24
|
|
|
33
|
-
|
|
25
|
+
Если необходимо изменить API ключ во время выполнения программы:
|
|
34
26
|
|
|
35
27
|
```javascript
|
|
36
|
-
//
|
|
37
|
-
|
|
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
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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
|
-
|
|
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
|
```
|