solver-sdk 2.0.2 → 2.0.3
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/filesystem-api.js +123 -0
- package/dist/cjs/api/filesystem-api.js.map +1 -0
- package/dist/cjs/api/projects-api.js +7 -2
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/code-solver-sdk.js +48 -2
- package/dist/cjs/code-solver-sdk.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 +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/ws/filesystem-ws-client.js +16 -16
- package/dist/cjs/ws/filesystem-ws-client.js.map +1 -1
- package/dist/esm/api/filesystem-api.js +119 -0
- package/dist/esm/api/filesystem-api.js.map +1 -0
- package/dist/esm/api/projects-api.js +7 -2
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +48 -2
- package/dist/esm/code-solver-sdk.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 +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ws/filesystem-ws-client.js +16 -16
- package/dist/esm/ws/filesystem-ws-client.js.map +1 -1
- package/dist/types/api/filesystem-api.d.ts +64 -0
- package/dist/types/api/filesystem-api.d.ts.map +1 -0
- package/dist/types/api/projects-api.d.ts +2 -1
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +22 -1
- package/dist/types/code-solver-sdk.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/ws/filesystem-ws-client.d.ts +2 -4
- 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 +188 -42
- package/package.json +1 -1
- package/docs/advanced/PING_PONG.md +0 -212
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 './api/filesystem-api.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;
|
|
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;AAC1C,cAAc,yBAAyB,CAAC;AAGxC,eAAe,aAAa,CAAC"}
|
|
@@ -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?: {
|
|
@@ -51,10 +49,10 @@ export declare class FileSystemWsClient extends BaseWebSocketClient {
|
|
|
51
49
|
constructor(baseURL: string, options?: FileSystemWsClientOptions);
|
|
52
50
|
/**
|
|
53
51
|
* Подключение к серверу и инициализация сессии
|
|
54
|
-
* @param
|
|
52
|
+
* @param {string | Record<string, any>} projectIdOrParams Идентификатор проекта или параметры подключения
|
|
55
53
|
* @returns Promise<boolean> Успешность подключения
|
|
56
54
|
*/
|
|
57
|
-
connect(
|
|
55
|
+
connect(projectIdOrParams?: string | Record<string, any>): Promise<boolean>;
|
|
58
56
|
/**
|
|
59
57
|
* Подключение к проекту - удобный метод для использования в приложении
|
|
60
58
|
* @param projectId ID проекта
|
|
@@ -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,iBAAiB,GAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuDrG;;;;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
|
```
|