solver-sdk 2.6.3 → 2.7.1

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 (92) hide show
  1. package/README.md +44 -55
  2. package/dist/cjs/api/chat-api/index.js +68 -68
  3. package/dist/cjs/api/chat-api/index.js.map +1 -1
  4. package/dist/cjs/api/projects-api.js +2 -2
  5. package/dist/cjs/api/projects-api.js.map +1 -1
  6. package/dist/cjs/code-solver-sdk.js +91 -108
  7. package/dist/cjs/code-solver-sdk.js.map +1 -1
  8. package/dist/cjs/constants/websocket-events.constants.js +5 -0
  9. package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
  10. package/dist/cjs/constants/websocket-namespaces.constants.js +10 -8
  11. package/dist/cjs/constants/websocket-namespaces.constants.js.map +1 -1
  12. package/dist/cjs/index.js +3 -2
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js +42 -0
  15. package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js.map +1 -0
  16. package/dist/cjs/utils/code-solver-websocket-client.js +23 -21
  17. package/dist/cjs/utils/code-solver-websocket-client.js.map +1 -1
  18. package/dist/cjs/utils/http-client.js +11 -3
  19. package/dist/cjs/utils/http-client.js.map +1 -1
  20. package/dist/cjs/ws/file-editing-ws-client.js +162 -0
  21. package/dist/cjs/ws/file-editing-ws-client.js.map +1 -0
  22. package/dist/cjs/ws/indexing-ws-client.js +8 -2
  23. package/dist/cjs/ws/indexing-ws-client.js.map +1 -1
  24. package/dist/esm/api/chat-api/index.js +68 -68
  25. package/dist/esm/api/chat-api/index.js.map +1 -1
  26. package/dist/esm/api/projects-api.js +2 -2
  27. package/dist/esm/api/projects-api.js.map +1 -1
  28. package/dist/esm/code-solver-sdk.js +91 -108
  29. package/dist/esm/code-solver-sdk.js.map +1 -1
  30. package/dist/esm/constants/websocket-events.constants.js +5 -0
  31. package/dist/esm/constants/websocket-events.constants.js.map +1 -1
  32. package/dist/esm/constants/websocket-namespaces.constants.js +10 -8
  33. package/dist/esm/constants/websocket-namespaces.constants.js.map +1 -1
  34. package/dist/esm/index.js +3 -2
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/interfaces/websocket/vscode-command.interfaces.js +39 -0
  37. package/dist/esm/interfaces/websocket/vscode-command.interfaces.js.map +1 -0
  38. package/dist/esm/utils/code-solver-websocket-client.js +23 -21
  39. package/dist/esm/utils/code-solver-websocket-client.js.map +1 -1
  40. package/dist/esm/utils/http-client.js +11 -3
  41. package/dist/esm/utils/http-client.js.map +1 -1
  42. package/dist/esm/ws/file-editing-ws-client.js +158 -0
  43. package/dist/esm/ws/file-editing-ws-client.js.map +1 -0
  44. package/dist/esm/ws/indexing-ws-client.js +8 -2
  45. package/dist/esm/ws/indexing-ws-client.js.map +1 -1
  46. package/dist/types/api/chat-api/index.d.ts +7 -0
  47. package/dist/types/api/chat-api/index.d.ts.map +1 -1
  48. package/dist/types/api/chat-api/interfaces.d.ts +7 -0
  49. package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
  50. package/dist/types/api/chat-api/models.d.ts +10 -1
  51. package/dist/types/api/chat-api/models.d.ts.map +1 -1
  52. package/dist/types/code-solver-sdk.d.ts +8 -44
  53. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  54. package/dist/types/constants/websocket-events.constants.d.ts +5 -1
  55. package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
  56. package/dist/types/constants/websocket-namespaces.constants.d.ts +10 -9
  57. package/dist/types/constants/websocket-namespaces.constants.d.ts.map +1 -1
  58. package/dist/types/index.d.ts +1 -2
  59. package/dist/types/index.d.ts.map +1 -1
  60. package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts +56 -0
  61. package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts.map +1 -0
  62. package/dist/types/utils/code-solver-websocket-client.d.ts.map +1 -1
  63. package/dist/types/utils/http-client.d.ts.map +1 -1
  64. package/dist/types/ws/file-editing-ws-client.d.ts +85 -0
  65. package/dist/types/ws/file-editing-ws-client.d.ts.map +1 -0
  66. package/docs/ARCHITECTURE.md +268 -0
  67. package/docs/QUICK_START.md +126 -0
  68. package/docs/README.md +25 -279
  69. package/docs/VSCODE_INTEGRATION.md +432 -0
  70. package/docs/WEBSOCKET.md +53 -12
  71. package/package.json +1 -1
  72. package/dist/cjs/api/reasoning-api.js +0 -309
  73. package/dist/cjs/api/reasoning-api.js.map +0 -1
  74. package/dist/cjs/utils/reasoning-auth-helper.js +0 -58
  75. package/dist/cjs/utils/reasoning-auth-helper.js.map +0 -1
  76. package/dist/cjs/ws/reasoning-ws-client.js +0 -330
  77. package/dist/cjs/ws/reasoning-ws-client.js.map +0 -1
  78. package/dist/esm/api/reasoning-api.js +0 -305
  79. package/dist/esm/api/reasoning-api.js.map +0 -1
  80. package/dist/esm/utils/reasoning-auth-helper.js +0 -54
  81. package/dist/esm/utils/reasoning-auth-helper.js.map +0 -1
  82. package/dist/esm/ws/reasoning-ws-client.js +0 -326
  83. package/dist/esm/ws/reasoning-ws-client.js.map +0 -1
  84. package/dist/types/api/reasoning-api.d.ts +0 -281
  85. package/dist/types/api/reasoning-api.d.ts.map +0 -1
  86. package/dist/types/utils/reasoning-auth-helper.d.ts +0 -24
  87. package/dist/types/utils/reasoning-auth-helper.d.ts.map +0 -1
  88. package/dist/types/ws/reasoning-ws-client.d.ts +0 -87
  89. package/dist/types/ws/reasoning-ws-client.d.ts.map +0 -1
  90. package/docs/API_REFERENCE.md +0 -703
  91. package/docs/INTEGRATION_GUIDE_V2.5.md +0 -516
  92. package/docs/README_V2.5.md +0 -266
@@ -1,703 +0,0 @@
1
- # API Reference v2.5.0
2
-
3
- В этом документе описаны основные классы и методы AI Solver SDK v2.5.0.
4
-
5
- ## Содержание
6
-
7
- - [CodeSolverSDK](#codesolversdk)
8
- - [ProjectsApi](#projectsapi)
9
- - [ReasoningApi](#reasoningapi)
10
- - [ChatApi](#chatapi)
11
- - [SearchApi](#searchapi)
12
- - [Helper Functions](#helper-functions)
13
-
14
- ## CodeSolverSDK
15
-
16
- Основной класс SDK, предоставляющий доступ ко всем API.
17
-
18
- ### Статический создатель (Рекомендуемый)
19
-
20
- ```javascript
21
- const sdk = CodeSolverSDK.create(options);
22
- ```
23
-
24
- ### Параметры
25
-
26
- | Параметр | Тип | Описание | Обязательно | По умолчанию |
27
- |----------|-----|----------|-------------|--------------|
28
- | `baseURL` | string | Базовый URL API | Да | - |
29
- | `apiKey` | string | API ключ для авторизации | Да | - |
30
- | `autoConnect` | boolean | Автоматическое подключение WebSocket | Нет | false |
31
- | `timeout` | number | Таймаут для HTTP запросов (мс) | Нет | 30000 |
32
- | `headers` | object | Дополнительные HTTP заголовки | Нет | {} |
33
- | `wsURL` | string | URL для WebSocket (если отличается) | Нет | baseURL |
34
-
35
- ### Методы
36
-
37
- #### `diagnoseAPI()`
38
-
39
- Проверяет доступность всех API endpoints.
40
-
41
- ```javascript
42
- const results = await sdk.diagnoseAPI();
43
- console.log('Endpoints status:', results);
44
- // Возвращает объект с результатами проверки каждого endpoint
45
- ```
46
-
47
- #### `diagnoseFull()`
48
-
49
- Детальная диагностика API и WebSocket.
50
-
51
- ```javascript
52
- const detailed = await sdk.diagnoseFull();
53
- console.log('Full diagnostics:', detailed);
54
- ```
55
-
56
- #### `diagnoseWebSocket()`
57
-
58
- Проверяет статус WebSocket соединений.
59
-
60
- ```javascript
61
- const wsStatus = await sdk.diagnoseWebSocket();
62
- console.log('WebSocket status:', wsStatus);
63
- ```
64
-
65
- #### `updateOptions(newOptions)`
66
-
67
- Обновляет настройки SDK.
68
-
69
- ```javascript
70
- sdk.updateOptions({
71
- apiKey: 'new-api-key',
72
- timeout: 60000
73
- });
74
- ```
75
-
76
- ## ChatApi
77
-
78
- API для работы с чатом и AI-моделями.
79
-
80
- ### Методы
81
-
82
- #### `chat(messages, options)`
83
-
84
- Отправляет запрос чата и возвращает полный ответ.
85
-
86
- ```javascript
87
- const response = await sdk.chat.chat([
88
- { role: 'user', content: 'Привет, как дела?' }
89
- ], {
90
- model: 'claude-3-7-sonnet-20240229'
91
- });
92
- ```
93
-
94
- #### `streamChat(messages, options, callback)`
95
-
96
- Отправляет запрос чата и получает ответ в потоковом режиме.
97
-
98
- ```javascript
99
- await sdk.chat.streamChat(
100
- [{ role: 'user', content: 'Объясни JavaScript' }],
101
- { model: 'claude-3-7-sonnet-20240229' },
102
- (chunk) => console.log(chunk)
103
- );
104
- ```
105
-
106
- #### `streamChatWithThinking(messages, options, callback)`
107
-
108
- Отправляет запрос чата с получением промежуточных шагов мышления.
109
-
110
- ```javascript
111
- await sdk.chat.streamChatWithThinking(
112
- [{ role: 'user', content: 'Объясни принцип работы реактивного программирования' }],
113
- {
114
- model: 'claude-3-7-sonnet-20240229',
115
- thinking: true
116
- },
117
- (eventType, data) => {
118
- if (eventType === 'thinking_delta') {
119
- console.log('Мышление:', data.thinking);
120
- } else if (eventType === 'text_delta') {
121
- console.log('Ответ:', data.text);
122
- }
123
- }
124
- );
125
- ```
126
-
127
- #### `connectWebSocket()`
128
-
129
- Подключается к WebSocket для событий чата.
130
-
131
- ```javascript
132
- await sdk.chat.connectWebSocket();
133
- ```
134
-
135
- ## ProjectsApi
136
-
137
- API для работы с проектами. Доступен через `sdk.projects`.
138
-
139
- ### Методы
140
-
141
- #### `create(projectData)`
142
-
143
- Создает новый проект.
144
-
145
- ```javascript
146
- const project = await sdk.projects.create({
147
- name: 'My Project',
148
- path: '/path/to/project',
149
- description: 'Optional description'
150
- });
151
-
152
- // Возвращает объект проекта с id, name, path, статусами и метаданными
153
- ```
154
-
155
- #### `get(projectId)`
156
-
157
- Получает информацию о проекте по ID.
158
-
159
- ```javascript
160
- const project = await sdk.projects.get('project-id');
161
- ```
162
-
163
- #### `getAll()`
164
-
165
- Получает список всех проектов.
166
-
167
- ```javascript
168
- const projects = await sdk.projects.getAll();
169
- // Возвращает { projects: Array, total: number }
170
- ```
171
-
172
- #### `startIndexing(projectId)`
173
-
174
- Запускает индексацию проекта.
175
-
176
- ```javascript
177
- await sdk.projects.startIndexing('project-id');
178
- // Возвращает { message: 'Индексация запущена', projectId, status: 'accepted' }
179
- ```
180
-
181
- #### `getIndexingStatus(projectId)`
182
-
183
- Получает статус индексации проекта.
184
-
185
- ```javascript
186
- const status = await sdk.projects.getIndexingStatus('project-id');
187
- // Возвращает { projectId, indexStatus, indexingProgress, filesIndexed, lastUpdated }
188
- ```
189
-
190
- ### WebSocket методы
191
-
192
- #### `connectWebSocket()`
193
-
194
- Подключается к WebSocket для отслеживания событий проектов.
195
-
196
- ```javascript
197
- await sdk.projects.connectWebSocket();
198
- ```
199
-
200
- #### `disconnectWebSocket()`
201
-
202
- Отключается от WebSocket.
203
-
204
- ```javascript
205
- await sdk.projects.disconnectWebSocket();
206
- ```
207
-
208
- ### Event методы
209
-
210
- #### `onIndexingProgress(callback)`
211
-
212
- Отслеживает прогресс индексации.
213
-
214
- ```javascript
215
- sdk.projects.onIndexingProgress((data) => {
216
- console.log(`Progress: ${data.percentage}%`);
217
- console.log(`Files: ${data.processedFiles}/${data.totalFiles}`);
218
- });
219
- ```
220
-
221
- #### `onIndexingComplete(callback)`
222
-
223
- Событие завершения индексации.
224
-
225
- ```javascript
226
- sdk.projects.onIndexingComplete((data) => {
227
- console.log('Indexing completed:', data.projectId);
228
- console.log('Total files:', data.totalFiles);
229
- });
230
- ```
231
-
232
- #### `onIndexingError(callback)`
233
-
234
- Событие ошибки индексации.
235
-
236
- ```javascript
237
- sdk.projects.onIndexingError((error) => {
238
- console.error('Indexing error:', error.message);
239
- });
240
- ```
241
-
242
- ### Алиасы для совместимости
243
-
244
- ```javascript
245
- // Старые методы (deprecated, но работают)
246
- await sdk.projects.createProject(name, path, options); // → create()
247
- await sdk.projects.indexProject(projectId); // → startIndexing()
248
- await sdk.projects.getProject(projectId); // → get()
249
- await sdk.projects.getAllProjects(); // → getAll()
250
- ```
251
-
252
- ## SearchApi
253
-
254
- API для семантического поиска кода. Доступен через `sdk.search`.
255
-
256
- ### Методы
257
-
258
- #### `searchProject(projectId, options)`
259
-
260
- Выполняет семантический поиск в проекте (POST запрос).
261
-
262
- ```javascript
263
- const results = await sdk.search.searchProject('project-id', {
264
- query: 'функция для обработки HTTP запросов',
265
- limit: 10,
266
- minScore: 0.7
267
- });
268
-
269
- // Возвращает массив результатов с релевантностью и фрагментами кода
270
- ```
271
-
272
- #### `searchProjectGet(projectId, query, options)`
273
-
274
- Выполняет поиск через GET запрос с параметрами URL.
275
-
276
- ```javascript
277
- const results = await sdk.search.searchProjectGet(
278
- 'project-id',
279
- 'поиск по коду',
280
- { limit: 10 }
281
- );
282
- ```
283
-
284
- ### Алиасы для совместимости
285
-
286
- ```javascript
287
- // Старые методы (deprecated, но работают)
288
- await sdk.search.searchCode(projectId, options); // → searchProject()
289
- await sdk.search.semanticSearch(projectId, options); // → searchProject()
290
- ```
291
-
292
- ## ChatApi
293
-
294
- API для взаимодействия с AI чатом и Claude 4 thinking. Доступен через `sdk.chat`.
295
-
296
- ### Методы
297
-
298
- #### `send(messages, options)`
299
-
300
- Отправляет сообщения в чат и получает ответ.
301
-
302
- ```javascript
303
- const response = await sdk.chat.send([
304
- {
305
- role: 'user',
306
- content: 'Объясни как работает эта функция'
307
- }
308
- ], {
309
- projectId: 'project-id',
310
- model: 'claude-3-5-sonnet-20241022'
311
- });
312
-
313
- console.log(response.content);
314
- ```
315
-
316
- #### `stream(messages, options, onChunk)`
317
-
318
- Отправляет сообщения с потоковой передачей ответа.
319
-
320
- ```javascript
321
- await sdk.chat.stream(
322
- messages,
323
- {
324
- projectId: 'project-id',
325
- model: 'claude-3-5-sonnet-20241022',
326
- thinking: true
327
- },
328
- (chunk) => {
329
- console.log('Chunk received:', chunk);
330
- }
331
- );
332
- ```
333
-
334
- ### Thinking Support (Claude 4)
335
-
336
- #### С thinking блоками
337
-
338
- ```javascript
339
- await sdk.chat.stream(
340
- messages,
341
- {
342
- thinking: true,
343
- tool_choice: { type: 'auto' } // Только auto/none с thinking
344
- },
345
- (eventType, data) => {
346
- switch (eventType) {
347
- case 'thinking_delta':
348
- console.log('Thinking:', data.thinking);
349
- break;
350
- case 'text_delta':
351
- console.log('Text:', data.text);
352
- break;
353
- case 'tool_use':
354
- console.log('Tool:', data.tool_name);
355
- break;
356
- }
357
- }
358
- );
359
- ```
360
-
361
- ### Complex Content Support
362
-
363
- ```javascript
364
- const complexMessage = {
365
- role: 'user',
366
- content: [
367
- { type: 'text', text: 'Анализируй этот код:' },
368
- { type: 'text', text: 'function example() { return 42; }' }
369
- ]
370
- };
371
-
372
- const response = await sdk.chat.send([complexMessage], options);
373
- ```
374
-
375
- ### WebSocket методы
376
-
377
- #### `connectWebSocket()`
378
-
379
- Подключается к WebSocket для потокового чата.
380
-
381
- ```javascript
382
- await sdk.chat.connectWebSocket();
383
- ```
384
-
385
- #### `disconnectWebSocket()`
386
-
387
- Отключается от chat WebSocket.
388
-
389
- ```javascript
390
- await sdk.chat.disconnectWebSocket();
391
- ```
392
-
393
- ### Event методы
394
-
395
- #### `onTextDelta(callback)`
396
-
397
- Событие получения текстового фрагмента.
398
-
399
- ```javascript
400
- sdk.chat.onTextDelta((text) => {
401
- console.log('Text delta:', text);
402
- });
403
- ```
404
-
405
- #### `onThinkingDelta(callback)`
406
-
407
- Событие получения thinking фрагмента.
408
-
409
- ```javascript
410
- sdk.chat.onThinkingDelta((thinking) => {
411
- console.log('Thinking delta:', thinking);
412
- });
413
- ```
414
-
415
- #### `onToolUse(callback)`
416
-
417
- Событие использования инструмента.
418
-
419
- ```javascript
420
- sdk.chat.onToolUse((tool) => {
421
- console.log('Tool used:', tool.name, tool.input);
422
- });
423
- ```
424
-
425
- #### `onMessageComplete(callback)`
426
-
427
- Событие завершения сообщения.
428
-
429
- ```javascript
430
- sdk.chat.onMessageComplete((message) => {
431
- console.log('Message completed:', message);
432
- });
433
- ```
434
-
435
- ### Поддерживаемые модели
436
-
437
- ```javascript
438
- const models = [
439
- 'claude-3-5-sonnet-20241022',
440
- 'claude-3-5-haiku-20241022',
441
- 'claude-3-opus-20240229'
442
- ];
443
- ```
444
-
445
- ## ReasoningApi
446
-
447
- API для работы с AI reasoning процессами. Доступен через `sdk.reasoning`.
448
-
449
- ### Методы
450
-
451
- #### `create(reasoningData)`
452
-
453
- Создаёт новый reasoning процесс.
454
-
455
- ```javascript
456
- const reasoning = await sdk.reasoning.create({
457
- projectId: 'project-id',
458
- query: 'Проанализируй архитектуру этого проекта'
459
- });
460
-
461
- // Возвращает объект reasoning с id, projectId, query, status
462
- ```
463
-
464
- #### `get(reasoningId)`
465
-
466
- Получает информацию о reasoning процессе.
467
-
468
- ```javascript
469
- const reasoning = await sdk.reasoning.get('reasoning-id');
470
- ```
471
-
472
- #### `getByProject(projectId)`
473
-
474
- Получает все reasoning процессы проекта.
475
-
476
- ```javascript
477
- const reasonings = await sdk.reasoning.getByProject('project-id');
478
- // Возвращает массив всех reasoning процессов проекта
479
- ```
480
-
481
- #### `start(reasoningId)`
482
-
483
- Запускает reasoning процесс.
484
-
485
- ```javascript
486
- await sdk.reasoning.start('reasoning-id');
487
- // Возвращает { message: 'Reasoning процесс запущен', id: reasoningId }
488
- ```
489
-
490
- #### `stop(reasoningId)`
491
-
492
- Останавливает reasoning процесс.
493
-
494
- ```javascript
495
- await sdk.reasoning.stop('reasoning-id');
496
- // Возвращает { message: 'Reasoning процесс остановлен', id: reasoningId }
497
- ```
498
-
499
- ### WebSocket методы
500
-
501
- #### `connectWebSocket()`
502
-
503
- Подключается к WebSocket для отслеживания reasoning событий.
504
-
505
- ```javascript
506
- await sdk.reasoning.connectWebSocket();
507
- ```
508
-
509
- #### `disconnectWebSocket()`
510
-
511
- Отключается от reasoning WebSocket.
512
-
513
- ```javascript
514
- await sdk.reasoning.disconnectWebSocket();
515
- ```
516
-
517
- ### Event методы
518
-
519
- #### `onReasoningStarted(callback)`
520
-
521
- Событие начала reasoning процесса.
522
-
523
- ```javascript
524
- sdk.reasoning.onReasoningStarted((data) => {
525
- console.log('Reasoning started:', data.id);
526
- console.log('Query:', data.query);
527
- });
528
- ```
529
-
530
- #### `onReasoningProgress(callback)`
531
-
532
- Отслеживает прогресс reasoning.
533
-
534
- ```javascript
535
- sdk.reasoning.onReasoningProgress((data) => {
536
- console.log('Progress:', data.progress);
537
- console.log('Current step:', data.currentStep);
538
- });
539
- ```
540
-
541
- #### `onReasoningCompleted(callback)`
542
-
543
- Событие завершения reasoning.
544
-
545
- ```javascript
546
- sdk.reasoning.onReasoningCompleted((data) => {
547
- console.log('Reasoning completed:', data.id);
548
- console.log('Results:', data.results);
549
- });
550
- ```
551
-
552
- #### `onReasoningError(callback)`
553
-
554
- Событие ошибки reasoning.
555
-
556
- ```javascript
557
- sdk.reasoning.onReasoningError((error) => {
558
- console.error('Reasoning error:', error.message);
559
- });
560
- ```
561
-
562
- ### Алиасы для совместимости
563
-
564
- ```javascript
565
- // Новые алиасы методов (v2.5.0)
566
- await sdk.reasoning.create(data); // основной метод
567
- await sdk.reasoning.start(id); // основной метод
568
- await sdk.reasoning.stop(id); // основной метод
569
-
570
- // Старые методы (deprecated, но работают)
571
- await sdk.reasoning.createReasoning(data); // → create()
572
- await sdk.reasoning.startReasoning(id); // → start()
573
- await sdk.reasoning.stopReasoning(id); // → stop()
574
- ```
575
-
576
- ## Helper Functions
577
-
578
- Вспомогательные функции для работы с сообщениями и инструментами.
579
-
580
- ### Message Helpers
581
-
582
- #### `createComplexAssistantMessage(textContent, thinkingBlocks, toolUseBlocks)`
583
-
584
- Создает сложное assistant сообщение с thinking и tool blocks.
585
-
586
- ```javascript
587
- import { createComplexAssistantMessage } from '@ai-solver/sdk';
588
-
589
- const message = createComplexAssistantMessage(
590
- 'Вот анализ кода:',
591
- ['thinking block 1', 'thinking block 2'],
592
- [{ type: 'tool_use', name: 'read_file', input: { path: 'app.js' } }]
593
- );
594
- ```
595
-
596
- #### `createToolResultMessage(toolUseId, isError, content)`
597
-
598
- Создает сообщение с результатом выполнения инструмента.
599
-
600
- ```javascript
601
- import { createToolResultMessage } from '@ai-solver/sdk';
602
-
603
- const resultMessage = createToolResultMessage(
604
- 'tool_use_123',
605
- false,
606
- 'File contents: console.log("Hello");'
607
- );
608
- ```
609
-
610
- #### `extractThinkingBlocks(message)`
611
-
612
- Извлекает thinking блоки из сообщения.
613
-
614
- ```javascript
615
- import { extractThinkingBlocks } from '@ai-solver/sdk';
616
-
617
- const thinkingBlocks = extractThinkingBlocks(assistantMessage);
618
- console.log('Thinking blocks:', thinkingBlocks);
619
- ```
620
-
621
- #### `extractToolUseBlocks(message)`
622
-
623
- Извлекает tool_use блоки из сообщения.
624
-
625
- ```javascript
626
- import { extractToolUseBlocks } from '@ai-solver/sdk';
627
-
628
- const toolBlocks = extractToolUseBlocks(assistantMessage);
629
- console.log('Tool blocks:', toolBlocks);
630
- ```
631
-
632
- ### Tool Helpers
633
-
634
- #### `createStandardDevelopmentTools()`
635
-
636
- Создает стандартный набор инструментов для разработки (8 инструментов как в Cursor).
637
-
638
- ```javascript
639
- import { createStandardDevelopmentTools } from '@ai-solver/sdk';
640
-
641
- const tools = createStandardDevelopmentTools();
642
- // Возвращает массив с инструментами:
643
- // - read_file
644
- // - edit_file
645
- // - create_file
646
- // - list_directory
647
- // - search_files
648
- // - run_command
649
- // - analyze_code
650
- // - explain_code
651
-
652
- const response = await sdk.chat.stream(messages, {
653
- tools: tools,
654
- tool_choice: { type: 'auto' }
655
- });
656
- ```
657
-
658
- ### Type Definitions
659
-
660
- #### `ChatMessage`
661
-
662
- ```typescript
663
- interface ChatMessage {
664
- role: 'user' | 'assistant' | 'system' | 'tool';
665
- content: string | ContentBlock[];
666
- name?: string;
667
- tool_call_id?: string;
668
- }
669
- ```
670
-
671
- #### `ContentBlock`
672
-
673
- ```typescript
674
- interface ContentBlock {
675
- type: 'text' | 'tool_use' | 'tool_result' | 'thinking';
676
- text?: string;
677
- id?: string;
678
- name?: string;
679
- input?: any;
680
- content?: any;
681
- is_error?: boolean;
682
- }
683
- ```
684
-
685
- #### `ChatOptions`
686
-
687
- ```typescript
688
- interface ChatOptions {
689
- projectId?: string;
690
- model?: string;
691
- thinking?: boolean;
692
- tools?: Tool[];
693
- tool_choice?: ToolChoice;
694
- max_tokens?: number;
695
- temperature?: number;
696
- stream?: boolean;
697
- }
698
- ```
699
-
700
- ---
701
-
702
- **Документация обновлена для SDK v2.5.0**
703
- **Дата обновления:** 28 июня 2025