solver-sdk 1.0.3 → 1.0.5
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/README.md +80 -75
- package/dist/esm/index.js +21 -1829
- package/dist/esm/index.js.map +1 -1
- package/package.json +21 -10
- package/dist/esm/types/api/agents-api.d.ts +0 -141
- package/dist/esm/types/api/agents-api.d.ts.map +0 -1
- package/dist/esm/types/api/code-modification-api.d.ts +0 -104
- package/dist/esm/types/api/code-modification-api.d.ts.map +0 -1
- package/dist/esm/types/api/context-api.d.ts +0 -86
- package/dist/esm/types/api/context-api.d.ts.map +0 -1
- package/dist/esm/types/api/projects-api.d.ts +0 -131
- package/dist/esm/types/api/projects-api.d.ts.map +0 -1
- package/dist/esm/types/api/reasoning-api.d.ts +0 -188
- package/dist/esm/types/api/reasoning-api.d.ts.map +0 -1
- package/dist/esm/types/api/search-api.d.ts +0 -92
- package/dist/esm/types/api/search-api.d.ts.map +0 -1
- package/dist/esm/types/code-solver-sdk.d.ts +0 -145
- package/dist/esm/types/code-solver-sdk.d.ts.map +0 -1
- package/dist/esm/types/index.d.ts +0 -81
- package/dist/esm/types/index.d.ts.map +0 -1
- package/dist/esm/types/interfaces/http-client.d.ts +0 -110
- package/dist/esm/types/interfaces/http-client.d.ts.map +0 -1
- package/dist/esm/types/interfaces/sdk-options.d.ts +0 -34
- package/dist/esm/types/interfaces/sdk-options.d.ts.map +0 -1
- package/dist/esm/types/models/types.d.ts +0 -139
- package/dist/esm/types/models/types.d.ts.map +0 -1
- package/dist/esm/types/utils/code-solver-websocket-client.d.ts +0 -138
- package/dist/esm/types/utils/code-solver-websocket-client.d.ts.map +0 -1
- package/dist/esm/types/utils/http-client.d.ts +0 -85
- package/dist/esm/types/utils/http-client.d.ts.map +0 -1
- package/dist/esm/types/utils/indexing-websocket-client.d.ts +0 -123
- package/dist/esm/types/utils/indexing-websocket-client.d.ts.map +0 -1
- package/dist/esm/types/utils/sse-client.d.ts +0 -92
- package/dist/esm/types/utils/sse-client.d.ts.map +0 -1
- package/dist/esm/types/utils/websocket-client.d.ts +0 -118
- package/dist/esm/types/utils/websocket-client.d.ts.map +0 -1
- package/dist/index.d.ts +0 -1665
- package/dist/umd/code-solver-sdk.js +0 -1915
- package/dist/umd/code-solver-sdk.js.map +0 -1
- package/dist/umd/code-solver-sdk.min.js +0 -2
- package/dist/umd/code-solver-sdk.min.js.map +0 -1
- package/dist/umd/types/api/agents-api.d.ts +0 -141
- package/dist/umd/types/api/agents-api.d.ts.map +0 -1
- package/dist/umd/types/api/code-modification-api.d.ts +0 -104
- package/dist/umd/types/api/code-modification-api.d.ts.map +0 -1
- package/dist/umd/types/api/context-api.d.ts +0 -86
- package/dist/umd/types/api/context-api.d.ts.map +0 -1
- package/dist/umd/types/api/projects-api.d.ts +0 -131
- package/dist/umd/types/api/projects-api.d.ts.map +0 -1
- package/dist/umd/types/api/reasoning-api.d.ts +0 -188
- package/dist/umd/types/api/reasoning-api.d.ts.map +0 -1
- package/dist/umd/types/api/search-api.d.ts +0 -92
- package/dist/umd/types/api/search-api.d.ts.map +0 -1
- package/dist/umd/types/code-solver-sdk.d.ts +0 -145
- package/dist/umd/types/code-solver-sdk.d.ts.map +0 -1
- package/dist/umd/types/index.d.ts +0 -81
- package/dist/umd/types/index.d.ts.map +0 -1
- package/dist/umd/types/interfaces/http-client.d.ts +0 -110
- package/dist/umd/types/interfaces/http-client.d.ts.map +0 -1
- package/dist/umd/types/interfaces/sdk-options.d.ts +0 -34
- package/dist/umd/types/interfaces/sdk-options.d.ts.map +0 -1
- package/dist/umd/types/models/types.d.ts +0 -139
- package/dist/umd/types/models/types.d.ts.map +0 -1
- package/dist/umd/types/utils/code-solver-websocket-client.d.ts +0 -138
- package/dist/umd/types/utils/code-solver-websocket-client.d.ts.map +0 -1
- package/dist/umd/types/utils/http-client.d.ts +0 -85
- package/dist/umd/types/utils/http-client.d.ts.map +0 -1
- package/dist/umd/types/utils/indexing-websocket-client.d.ts +0 -123
- package/dist/umd/types/utils/indexing-websocket-client.d.ts.map +0 -1
- package/dist/umd/types/utils/sse-client.d.ts +0 -92
- package/dist/umd/types/utils/sse-client.d.ts.map +0 -1
- package/dist/umd/types/utils/websocket-client.d.ts +0 -118
- package/dist/umd/types/utils/websocket-client.d.ts.map +0 -1
package/dist/index.d.ts
DELETED
|
@@ -1,1665 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Опции повторных попыток запроса
|
|
3
|
-
*/
|
|
4
|
-
interface RetryOptions {
|
|
5
|
-
/**
|
|
6
|
-
* Максимальное количество повторных попыток
|
|
7
|
-
*/
|
|
8
|
-
maxRetries?: number;
|
|
9
|
-
/**
|
|
10
|
-
* Базовая задержка между попытками (в мс)
|
|
11
|
-
*/
|
|
12
|
-
retryDelay?: number;
|
|
13
|
-
/**
|
|
14
|
-
* Максимальная задержка между попытками (в мс)
|
|
15
|
-
*/
|
|
16
|
-
maxRetryDelay?: number;
|
|
17
|
-
/**
|
|
18
|
-
* HTTP статусы, для которых нужно делать повторную попытку
|
|
19
|
-
*/
|
|
20
|
-
retryStatusCodes?: number[];
|
|
21
|
-
/**
|
|
22
|
-
* Глобально отключить повторные попытки
|
|
23
|
-
*/
|
|
24
|
-
disabled?: boolean;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Опции HTTP клиента
|
|
28
|
-
*/
|
|
29
|
-
interface HttpClientOptions {
|
|
30
|
-
/**
|
|
31
|
-
* HTTP заголовки
|
|
32
|
-
*/
|
|
33
|
-
headers?: Record<string, string>;
|
|
34
|
-
/**
|
|
35
|
-
* Таймаут запроса (в мс)
|
|
36
|
-
*/
|
|
37
|
-
timeout?: number;
|
|
38
|
-
/**
|
|
39
|
-
* Опции повторных попыток
|
|
40
|
-
*/
|
|
41
|
-
retry?: RetryOptions;
|
|
42
|
-
/**
|
|
43
|
-
* HTTPS агент для Node.js среды
|
|
44
|
-
* В браузере не используется
|
|
45
|
-
*/
|
|
46
|
-
httpsAgent?: any;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Опции запроса
|
|
50
|
-
*/
|
|
51
|
-
interface RequestOptions {
|
|
52
|
-
/**
|
|
53
|
-
* URL для запроса (относительно baseURL)
|
|
54
|
-
*/
|
|
55
|
-
url: string;
|
|
56
|
-
/**
|
|
57
|
-
* HTTP метод
|
|
58
|
-
*/
|
|
59
|
-
method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
60
|
-
/**
|
|
61
|
-
* Данные для отправки (для POST, PUT, PATCH)
|
|
62
|
-
*/
|
|
63
|
-
data?: any;
|
|
64
|
-
/**
|
|
65
|
-
* Query параметры
|
|
66
|
-
*/
|
|
67
|
-
params?: Record<string, any>;
|
|
68
|
-
/**
|
|
69
|
-
* HTTP заголовки для этого запроса
|
|
70
|
-
*/
|
|
71
|
-
headers?: Record<string, string>;
|
|
72
|
-
/**
|
|
73
|
-
* Таймаут для этого запроса (в мс)
|
|
74
|
-
*/
|
|
75
|
-
timeout?: number;
|
|
76
|
-
/**
|
|
77
|
-
* Отключить автоматические повторные попытки для этого запроса
|
|
78
|
-
*/
|
|
79
|
-
noRetry?: boolean;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Интерфейс HTTP клиента
|
|
83
|
-
*/
|
|
84
|
-
interface IHttpClient {
|
|
85
|
-
/**
|
|
86
|
-
* Выполняет HTTP запрос
|
|
87
|
-
*/
|
|
88
|
-
request<T = any>(options: RequestOptions): Promise<T>;
|
|
89
|
-
/**
|
|
90
|
-
* Выполняет GET запрос
|
|
91
|
-
*/
|
|
92
|
-
get<T = any>(url: string, params?: Record<string, any>, headers?: Record<string, string>): Promise<T>;
|
|
93
|
-
/**
|
|
94
|
-
* Выполняет POST запрос
|
|
95
|
-
*/
|
|
96
|
-
post<T = any>(url: string, data?: any, headers?: Record<string, string>): Promise<T>;
|
|
97
|
-
/**
|
|
98
|
-
* Выполняет PUT запрос
|
|
99
|
-
*/
|
|
100
|
-
put<T = any>(url: string, data?: any, headers?: Record<string, string>): Promise<T>;
|
|
101
|
-
/**
|
|
102
|
-
* Выполняет DELETE запрос
|
|
103
|
-
*/
|
|
104
|
-
delete<T = any>(url: string, params?: Record<string, any>, headers?: Record<string, string>): Promise<T>;
|
|
105
|
-
/**
|
|
106
|
-
* Выполняет PATCH запрос
|
|
107
|
-
*/
|
|
108
|
-
patch<T = any>(url: string, data?: any, headers?: Record<string, string>): Promise<T>;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
declare module 'axios' {
|
|
112
|
-
interface AxiosRequestConfig {
|
|
113
|
-
skipRetry?: boolean;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* HTTP клиент для выполнения запросов к API
|
|
118
|
-
*
|
|
119
|
-
* Предоставляет методы для работы с REST API, включая обработку ошибок,
|
|
120
|
-
* повторные попытки и таймауты.
|
|
121
|
-
*/
|
|
122
|
-
declare class HttpClient implements IHttpClient {
|
|
123
|
-
/** Базовый URL для запросов */
|
|
124
|
-
private readonly baseURL;
|
|
125
|
-
/** Опции HTTP клиента */
|
|
126
|
-
private readonly options;
|
|
127
|
-
/** Axios инстанс */
|
|
128
|
-
private readonly axiosInstance;
|
|
129
|
-
/** Среда выполнения */
|
|
130
|
-
private readonly environment;
|
|
131
|
-
/**
|
|
132
|
-
* Создает новый HTTP клиент
|
|
133
|
-
* @param {string} baseURL Базовый URL для запросов
|
|
134
|
-
* @param {HttpClientOptions} [options] Опции для HTTP клиента
|
|
135
|
-
*/
|
|
136
|
-
constructor(baseURL: string, options?: HttpClientOptions);
|
|
137
|
-
/**
|
|
138
|
-
* Настраивает интерцепторы Axios
|
|
139
|
-
*/
|
|
140
|
-
private setupInterceptors;
|
|
141
|
-
/**
|
|
142
|
-
* Выполняет HTTP запрос
|
|
143
|
-
* @param {RequestOptions} options Опции запроса
|
|
144
|
-
* @returns {Promise<T>} Ответ от API
|
|
145
|
-
*/
|
|
146
|
-
request<T = any>(options: RequestOptions): Promise<T>;
|
|
147
|
-
/**
|
|
148
|
-
* Выполняет GET запрос
|
|
149
|
-
* @param {string} url URL для запроса
|
|
150
|
-
* @param {Record<string, any>} [params] Query параметры
|
|
151
|
-
* @param {Record<string, string>} [headers] HTTP заголовки
|
|
152
|
-
* @returns {Promise<T>} Ответ от API
|
|
153
|
-
*/
|
|
154
|
-
get<T = any>(url: string, params?: Record<string, any>, headers?: Record<string, string>): Promise<T>;
|
|
155
|
-
/**
|
|
156
|
-
* Выполняет POST запрос
|
|
157
|
-
* @param {string} url URL для запроса
|
|
158
|
-
* @param {any} [data] Данные для отправки
|
|
159
|
-
* @param {Record<string, string>} [headers] HTTP заголовки
|
|
160
|
-
* @returns {Promise<T>} Ответ от API
|
|
161
|
-
*/
|
|
162
|
-
post<T = any>(url: string, data?: any, headers?: Record<string, string>): Promise<T>;
|
|
163
|
-
/**
|
|
164
|
-
* Выполняет PUT запрос
|
|
165
|
-
* @param {string} url URL для запроса
|
|
166
|
-
* @param {any} [data] Данные для отправки
|
|
167
|
-
* @param {Record<string, string>} [headers] HTTP заголовки
|
|
168
|
-
* @returns {Promise<T>} Ответ от API
|
|
169
|
-
*/
|
|
170
|
-
put<T = any>(url: string, data?: any, headers?: Record<string, string>): Promise<T>;
|
|
171
|
-
/**
|
|
172
|
-
* Выполняет DELETE запрос
|
|
173
|
-
* @param {string} url URL для запроса
|
|
174
|
-
* @param {Record<string, any>} [params] Query параметры
|
|
175
|
-
* @param {Record<string, string>} [headers] HTTP заголовки
|
|
176
|
-
* @returns {Promise<T>} Ответ от API
|
|
177
|
-
*/
|
|
178
|
-
delete<T = any>(url: string, params?: Record<string, any>, headers?: Record<string, string>): Promise<T>;
|
|
179
|
-
/**
|
|
180
|
-
* Выполняет PATCH запрос
|
|
181
|
-
* @param {string} url URL для запроса
|
|
182
|
-
* @param {any} [data] Данные для отправки
|
|
183
|
-
* @param {Record<string, string>} [headers] HTTP заголовки
|
|
184
|
-
* @returns {Promise<T>} Ответ от API
|
|
185
|
-
*/
|
|
186
|
-
patch<T = any>(url: string, data?: any, headers?: Record<string, string>): Promise<T>;
|
|
187
|
-
/**
|
|
188
|
-
* Обрабатывает ошибки от Axios
|
|
189
|
-
* @param {any} error Ошибка от Axios
|
|
190
|
-
* @returns {Error} Обработанная ошибка
|
|
191
|
-
*/
|
|
192
|
-
private handleError;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Информация о проекте
|
|
197
|
-
*/
|
|
198
|
-
interface Project {
|
|
199
|
-
/** Уникальный идентификатор проекта */
|
|
200
|
-
id: string;
|
|
201
|
-
/** Название проекта */
|
|
202
|
-
name: string;
|
|
203
|
-
/** Путь к проекту */
|
|
204
|
-
path: string;
|
|
205
|
-
/** Дата создания проекта */
|
|
206
|
-
createdAt: string;
|
|
207
|
-
/** Дата последнего обновления проекта */
|
|
208
|
-
updatedAt: string;
|
|
209
|
-
/** Статус индексации */
|
|
210
|
-
indexingStatus?: string;
|
|
211
|
-
/** Прогресс индексации (0-100) */
|
|
212
|
-
indexingProgress?: number;
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Опции при создании проекта
|
|
216
|
-
*/
|
|
217
|
-
interface ProjectOptions {
|
|
218
|
-
/** Расширения файлов для индексации */
|
|
219
|
-
fileExtensions?: string[];
|
|
220
|
-
/** Шаблоны файлов для исключения */
|
|
221
|
-
excludePatterns?: string[];
|
|
222
|
-
/** Дополнительные метаданные */
|
|
223
|
-
metadata?: Record<string, any>;
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Данные для обновления проекта
|
|
227
|
-
*/
|
|
228
|
-
interface ProjectUpdateData {
|
|
229
|
-
/** Название проекта */
|
|
230
|
-
name?: string;
|
|
231
|
-
/** Путь к проекту */
|
|
232
|
-
path?: string;
|
|
233
|
-
/** Опции проекта */
|
|
234
|
-
options?: ProjectOptions;
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Ответ на запрос индексации
|
|
238
|
-
*/
|
|
239
|
-
interface IndexingResponse {
|
|
240
|
-
/** Идентификатор задачи индексации */
|
|
241
|
-
taskId: string;
|
|
242
|
-
/** Статус индексации */
|
|
243
|
-
status: string;
|
|
244
|
-
/** Сообщение о статусе */
|
|
245
|
-
message: string;
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Статус индексации проекта
|
|
249
|
-
*/
|
|
250
|
-
interface IndexingStatus {
|
|
251
|
-
/** Статус индексации */
|
|
252
|
-
status: string;
|
|
253
|
-
/** Прогресс индексации (0-100) */
|
|
254
|
-
progress: number;
|
|
255
|
-
/** Время начала индексации */
|
|
256
|
-
startedAt?: string;
|
|
257
|
-
/** Время окончания индексации */
|
|
258
|
-
completedAt?: string;
|
|
259
|
-
/** Ошибка индексации */
|
|
260
|
-
error?: string;
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* API для работы с проектами
|
|
264
|
-
*/
|
|
265
|
-
declare class ProjectsApi {
|
|
266
|
-
/** HTTP клиент */
|
|
267
|
-
private readonly httpClient;
|
|
268
|
-
/**
|
|
269
|
-
* Создает новый экземпляр API для работы с проектами
|
|
270
|
-
* @param {HttpClient} httpClient HTTP клиент
|
|
271
|
-
*/
|
|
272
|
-
constructor(httpClient: HttpClient);
|
|
273
|
-
/**
|
|
274
|
-
* Получает список всех проектов
|
|
275
|
-
* @returns {Promise<Project[]>} Список проектов
|
|
276
|
-
*/
|
|
277
|
-
getAllProjects(): Promise<Project[]>;
|
|
278
|
-
/**
|
|
279
|
-
* Получает проект по ID
|
|
280
|
-
* @param {string} projectId ID проекта
|
|
281
|
-
* @returns {Promise<Project>} Проект
|
|
282
|
-
*/
|
|
283
|
-
getProject(projectId: string): Promise<Project>;
|
|
284
|
-
/**
|
|
285
|
-
* Создает новый проект
|
|
286
|
-
* @param {string} name Название проекта
|
|
287
|
-
* @param {string} path Путь к проекту
|
|
288
|
-
* @param {ProjectOptions} [options] Дополнительные опции проекта
|
|
289
|
-
* @returns {Promise<Project>} Созданный проект
|
|
290
|
-
*/
|
|
291
|
-
createProject(name: string, path: string, options?: ProjectOptions): Promise<Project>;
|
|
292
|
-
/**
|
|
293
|
-
* Обновляет проект
|
|
294
|
-
* @param {string} projectId ID проекта
|
|
295
|
-
* @param {Partial<ProjectUpdateData>} data Данные для обновления
|
|
296
|
-
* @returns {Promise<Project>} Обновленный проект
|
|
297
|
-
*/
|
|
298
|
-
updateProject(projectId: string, data: Partial<ProjectUpdateData>): Promise<Project>;
|
|
299
|
-
/**
|
|
300
|
-
* Удаляет проект
|
|
301
|
-
* @param {string} projectId ID проекта
|
|
302
|
-
* @returns {Promise<void>}
|
|
303
|
-
*/
|
|
304
|
-
deleteProject(projectId: string): Promise<void>;
|
|
305
|
-
/**
|
|
306
|
-
* Запускает индексацию проекта
|
|
307
|
-
* @param {string} projectId ID проекта
|
|
308
|
-
* @returns {Promise<IndexingResponse>} Информация о начатой индексации
|
|
309
|
-
*/
|
|
310
|
-
indexProject(projectId: string): Promise<IndexingResponse>;
|
|
311
|
-
/**
|
|
312
|
-
* Останавливает индексацию проекта
|
|
313
|
-
* @param {string} projectId ID проекта
|
|
314
|
-
* @returns {Promise<void>}
|
|
315
|
-
*/
|
|
316
|
-
stopIndexing(projectId: string): Promise<void>;
|
|
317
|
-
/**
|
|
318
|
-
* Получает статус индексации проекта
|
|
319
|
-
* @param {string} projectId ID проекта
|
|
320
|
-
* @returns {Promise<IndexingStatus>} Статус индексации
|
|
321
|
-
*/
|
|
322
|
-
getIndexingStatus(projectId: string): Promise<IndexingStatus>;
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* Параметры поиска кода
|
|
327
|
-
*/
|
|
328
|
-
interface SearchCodeParams {
|
|
329
|
-
/** Поисковый запрос */
|
|
330
|
-
query: string;
|
|
331
|
-
/** Лимит результатов */
|
|
332
|
-
limit?: number;
|
|
333
|
-
/** Смещение для пагинации */
|
|
334
|
-
offset?: number;
|
|
335
|
-
/** Фильтр по расширениям файлов */
|
|
336
|
-
fileExtensions?: string[];
|
|
337
|
-
/** Паттерны для включения файлов */
|
|
338
|
-
includePatterns?: string[];
|
|
339
|
-
/** Паттерны для исключения файлов */
|
|
340
|
-
excludePatterns?: string[];
|
|
341
|
-
}
|
|
342
|
-
/**
|
|
343
|
-
* Результат поиска кода
|
|
344
|
-
*/
|
|
345
|
-
interface SearchResult {
|
|
346
|
-
/** Идентификатор результата */
|
|
347
|
-
id: string;
|
|
348
|
-
/** Путь к файлу */
|
|
349
|
-
filePath: string;
|
|
350
|
-
/** Относительный путь к файлу */
|
|
351
|
-
relativePath: string;
|
|
352
|
-
/** Язык программирования */
|
|
353
|
-
language: string;
|
|
354
|
-
/** Начальная строка совпадения */
|
|
355
|
-
startLine: number;
|
|
356
|
-
/** Конечная строка совпадения */
|
|
357
|
-
endLine: number;
|
|
358
|
-
/** Фрагмент кода с совпадением */
|
|
359
|
-
snippet: string;
|
|
360
|
-
/** Релевантность результата (0-100) */
|
|
361
|
-
score: number;
|
|
362
|
-
}
|
|
363
|
-
/**
|
|
364
|
-
* Результаты поиска кода
|
|
365
|
-
*/
|
|
366
|
-
interface SearchResults {
|
|
367
|
-
/** Результаты поиска */
|
|
368
|
-
results: SearchResult[];
|
|
369
|
-
/** Общее количество найденных результатов */
|
|
370
|
-
total: number;
|
|
371
|
-
/** Время выполнения запроса в мс */
|
|
372
|
-
time: number;
|
|
373
|
-
}
|
|
374
|
-
/**
|
|
375
|
-
* API для поиска кода
|
|
376
|
-
*/
|
|
377
|
-
declare class SearchApi {
|
|
378
|
-
/** HTTP клиент */
|
|
379
|
-
private readonly httpClient;
|
|
380
|
-
/**
|
|
381
|
-
* Создает новый экземпляр API для поиска кода
|
|
382
|
-
* @param {HttpClient} httpClient HTTP клиент
|
|
383
|
-
*/
|
|
384
|
-
constructor(httpClient: HttpClient);
|
|
385
|
-
/**
|
|
386
|
-
* Выполняет поиск кода в проекте
|
|
387
|
-
* @param {string} projectId Идентификатор проекта
|
|
388
|
-
* @param {SearchCodeParams} params Параметры поиска
|
|
389
|
-
* @returns {Promise<SearchResults>} Результаты поиска
|
|
390
|
-
*/
|
|
391
|
-
searchCode(projectId: string, params: SearchCodeParams): Promise<SearchResults>;
|
|
392
|
-
/**
|
|
393
|
-
* Выполняет семантический поиск кода в проекте
|
|
394
|
-
* @param {string} projectId Идентификатор проекта
|
|
395
|
-
* @param {SearchCodeParams} params Параметры поиска
|
|
396
|
-
* @returns {Promise<SearchResults>} Результаты поиска
|
|
397
|
-
*/
|
|
398
|
-
semanticSearch(projectId: string, params: SearchCodeParams): Promise<SearchResults>;
|
|
399
|
-
/**
|
|
400
|
-
* Получает популярные поисковые запросы
|
|
401
|
-
* @param {string} projectId Идентификатор проекта
|
|
402
|
-
* @param {number} [limit=10] Лимит результатов
|
|
403
|
-
* @returns {Promise<string[]>} Популярные поисковые запросы
|
|
404
|
-
*/
|
|
405
|
-
getPopularQueries(projectId: string, limit?: number): Promise<string[]>;
|
|
406
|
-
/**
|
|
407
|
-
* Получает подсказки для автозаполнения поискового запроса
|
|
408
|
-
* @param {string} projectId Идентификатор проекта
|
|
409
|
-
* @param {string} query Начало поискового запроса
|
|
410
|
-
* @param {number} [limit=5] Лимит результатов
|
|
411
|
-
* @returns {Promise<string[]>} Подсказки для автозаполнения
|
|
412
|
-
*/
|
|
413
|
-
getQuerySuggestions(projectId: string, query: string, limit?: number): Promise<string[]>;
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
/**
|
|
417
|
-
* Фрагмент кода для контекста
|
|
418
|
-
*/
|
|
419
|
-
interface CodeSnippet {
|
|
420
|
-
/** Путь к файлу */
|
|
421
|
-
filePath: string;
|
|
422
|
-
/** Относительный путь к файлу */
|
|
423
|
-
relativePath?: string;
|
|
424
|
-
/** Начальная строка */
|
|
425
|
-
startLine: number;
|
|
426
|
-
/** Конечная строка */
|
|
427
|
-
endLine: number;
|
|
428
|
-
/** Содержимое фрагмента */
|
|
429
|
-
content: string;
|
|
430
|
-
/** Язык программирования */
|
|
431
|
-
language?: string;
|
|
432
|
-
}
|
|
433
|
-
/**
|
|
434
|
-
* Автоматически определенный контекст
|
|
435
|
-
*/
|
|
436
|
-
interface AutoContext {
|
|
437
|
-
/** Фрагменты кода */
|
|
438
|
-
codeSnippets: CodeSnippet[];
|
|
439
|
-
/** Релевантность к запросу (0-100) */
|
|
440
|
-
relevance: number;
|
|
441
|
-
}
|
|
442
|
-
/**
|
|
443
|
-
* Параметры для определения контекста
|
|
444
|
-
*/
|
|
445
|
-
interface DetectContextParams {
|
|
446
|
-
/** Идентификатор проекта */
|
|
447
|
-
projectId: string;
|
|
448
|
-
/** Запрос для определения контекста */
|
|
449
|
-
query: string;
|
|
450
|
-
/** Максимальное количество фрагментов кода */
|
|
451
|
-
maxSnippets?: number;
|
|
452
|
-
/** Минимальный порог релевантности (0-100) */
|
|
453
|
-
relevanceThreshold?: number;
|
|
454
|
-
}
|
|
455
|
-
/**
|
|
456
|
-
* API для работы с контекстом
|
|
457
|
-
*/
|
|
458
|
-
declare class ContextApi {
|
|
459
|
-
/** HTTP клиент */
|
|
460
|
-
private readonly httpClient;
|
|
461
|
-
/**
|
|
462
|
-
* Создает новый экземпляр API для работы с контекстом
|
|
463
|
-
* @param {HttpClient} httpClient HTTP клиент
|
|
464
|
-
*/
|
|
465
|
-
constructor(httpClient: HttpClient);
|
|
466
|
-
/**
|
|
467
|
-
* Определяет контекст для запроса
|
|
468
|
-
* @param {DetectContextParams} params Параметры определения контекста
|
|
469
|
-
* @returns {Promise<AutoContext>} Определенный контекст
|
|
470
|
-
*/
|
|
471
|
-
detectContext(params: DetectContextParams): Promise<AutoContext>;
|
|
472
|
-
/**
|
|
473
|
-
* Получает содержимое файла
|
|
474
|
-
* @param {string} projectId Идентификатор проекта
|
|
475
|
-
* @param {string} filePath Путь к файлу
|
|
476
|
-
* @returns {Promise<string>} Содержимое файла
|
|
477
|
-
*/
|
|
478
|
-
getFileContent(projectId: string, filePath: string): Promise<string>;
|
|
479
|
-
/**
|
|
480
|
-
* Получает содержимое фрагмента файла
|
|
481
|
-
* @param {string} projectId Идентификатор проекта
|
|
482
|
-
* @param {string} filePath Путь к файлу
|
|
483
|
-
* @param {number} startLine Начальная строка
|
|
484
|
-
* @param {number} endLine Конечная строка
|
|
485
|
-
* @returns {Promise<CodeSnippet>} Фрагмент кода
|
|
486
|
-
*/
|
|
487
|
-
getFileSnippet(projectId: string, filePath: string, startLine: number, endLine: number): Promise<CodeSnippet>;
|
|
488
|
-
/**
|
|
489
|
-
* Получает структуру директории
|
|
490
|
-
* @param {string} projectId Идентификатор проекта
|
|
491
|
-
* @param {string} [dirPath='/'] Путь к директории
|
|
492
|
-
* @returns {Promise<Array<{name: string, type: 'file' | 'directory', path: string}>>} Структура директории
|
|
493
|
-
*/
|
|
494
|
-
getDirectoryStructure(projectId: string, dirPath?: string): Promise<Array<{
|
|
495
|
-
name: string;
|
|
496
|
-
type: 'file' | 'directory';
|
|
497
|
-
path: string;
|
|
498
|
-
}>>;
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
/**
|
|
502
|
-
* Рассуждение
|
|
503
|
-
*/
|
|
504
|
-
interface Reasoning {
|
|
505
|
-
/** Уникальный идентификатор рассуждения */
|
|
506
|
-
id: string;
|
|
507
|
-
/** Идентификатор проекта */
|
|
508
|
-
projectId: string;
|
|
509
|
-
/** Запрос */
|
|
510
|
-
query: string;
|
|
511
|
-
/** Статус рассуждения */
|
|
512
|
-
status: 'pending' | 'running' | 'completed' | 'error';
|
|
513
|
-
/** Результат рассуждения */
|
|
514
|
-
result?: string;
|
|
515
|
-
/** Дата создания */
|
|
516
|
-
createdAt: string;
|
|
517
|
-
/** Дата завершения */
|
|
518
|
-
completedAt?: string;
|
|
519
|
-
/** Контекст рассуждения */
|
|
520
|
-
context?: any;
|
|
521
|
-
/** Настройки рассуждения */
|
|
522
|
-
settings?: any;
|
|
523
|
-
/** Промежуточные мысли */
|
|
524
|
-
thinking?: string[];
|
|
525
|
-
/** Сообщение об ошибке (если есть) */
|
|
526
|
-
error?: string;
|
|
527
|
-
}
|
|
528
|
-
/**
|
|
529
|
-
* Параметры для получения списка рассуждений
|
|
530
|
-
*/
|
|
531
|
-
interface GetReasoningsParams {
|
|
532
|
-
/** Идентификатор проекта (опционально) */
|
|
533
|
-
projectId?: string;
|
|
534
|
-
/** Статус рассуждения (опционально) */
|
|
535
|
-
status?: 'pending' | 'running' | 'completed' | 'error';
|
|
536
|
-
/** Лимит результатов */
|
|
537
|
-
limit?: number;
|
|
538
|
-
/** Смещение для пагинации */
|
|
539
|
-
offset?: number;
|
|
540
|
-
}
|
|
541
|
-
/**
|
|
542
|
-
* Шаг мышления в процессе рассуждения
|
|
543
|
-
*/
|
|
544
|
-
interface ThinkingStep {
|
|
545
|
-
/** ID шага */
|
|
546
|
-
id: string;
|
|
547
|
-
/** Содержимое шага мышления */
|
|
548
|
-
content: string;
|
|
549
|
-
/** Время создания шага */
|
|
550
|
-
timestamp: string;
|
|
551
|
-
/** Тип шага */
|
|
552
|
-
type: 'thinking' | 'plan' | 'result' | 'error';
|
|
553
|
-
}
|
|
554
|
-
/**
|
|
555
|
-
* Опции для создания рассуждения
|
|
556
|
-
*/
|
|
557
|
-
interface ReasoningOptions {
|
|
558
|
-
/** ID проекта */
|
|
559
|
-
projectId: string;
|
|
560
|
-
/** Запрос пользователя */
|
|
561
|
-
query: string;
|
|
562
|
-
/** Тип рассуждения */
|
|
563
|
-
type?: 'THINKING' | 'PLANNING' | 'DEBUGGING' | 'REFACTORING';
|
|
564
|
-
/** Уровень детализации */
|
|
565
|
-
level?: 'CONCISE' | 'STANDARD' | 'DETAILED' | 'VERBOSE';
|
|
566
|
-
/** Текущий файл */
|
|
567
|
-
currentFilePath?: string;
|
|
568
|
-
/** Выделение кода */
|
|
569
|
-
selection?: {
|
|
570
|
-
startLine: number;
|
|
571
|
-
endLine: number;
|
|
572
|
-
content?: string;
|
|
573
|
-
};
|
|
574
|
-
/** Дополнительные опции */
|
|
575
|
-
options?: {
|
|
576
|
-
/** Провайдер модели */
|
|
577
|
-
modelProvider?: string;
|
|
578
|
-
/** Название модели */
|
|
579
|
-
modelName?: string;
|
|
580
|
-
/** Потоковый ответ */
|
|
581
|
-
streamResponse?: boolean;
|
|
582
|
-
/** Режим планирования */
|
|
583
|
-
planningMode?: boolean;
|
|
584
|
-
/** Опции контекста */
|
|
585
|
-
contextOptions?: {
|
|
586
|
-
/** Максимальное количество токенов */
|
|
587
|
-
maxTokens?: number;
|
|
588
|
-
/** Режим сжатия контекста */
|
|
589
|
-
compressionMode?: 'light' | 'moderate' | 'aggressive';
|
|
590
|
-
};
|
|
591
|
-
};
|
|
592
|
-
}
|
|
593
|
-
/**
|
|
594
|
-
* API для работы с рассуждениями
|
|
595
|
-
*/
|
|
596
|
-
declare class ReasoningApi {
|
|
597
|
-
/** HTTP клиент */
|
|
598
|
-
private readonly httpClient;
|
|
599
|
-
/**
|
|
600
|
-
* Создает новый экземпляр API для работы с рассуждениями
|
|
601
|
-
* @param {HttpClient} httpClient HTTP клиент
|
|
602
|
-
*/
|
|
603
|
-
constructor(httpClient: HttpClient);
|
|
604
|
-
/**
|
|
605
|
-
* Получает список рассуждений
|
|
606
|
-
* @param {GetReasoningsParams} [params] Параметры для получения списка
|
|
607
|
-
* @returns {Promise<Reasoning[]>} Список рассуждений
|
|
608
|
-
*/
|
|
609
|
-
getReasonings(params?: GetReasoningsParams): Promise<Reasoning[]>;
|
|
610
|
-
/**
|
|
611
|
-
* Получает рассуждение по ID
|
|
612
|
-
* @param {string} reasoningId ID рассуждения
|
|
613
|
-
* @returns {Promise<Reasoning>} Рассуждение
|
|
614
|
-
*/
|
|
615
|
-
getReasoning(reasoningId: string): Promise<Reasoning>;
|
|
616
|
-
/**
|
|
617
|
-
* Создает новое рассуждение
|
|
618
|
-
* @param {ReasoningOptions} options Опции для рассуждения
|
|
619
|
-
* @returns {Promise<Reasoning>} Созданное рассуждение
|
|
620
|
-
*/
|
|
621
|
-
createReasoning(options: ReasoningOptions): Promise<Reasoning>;
|
|
622
|
-
/**
|
|
623
|
-
* Запускает рассуждение
|
|
624
|
-
* @param {string} reasoningId ID рассуждения
|
|
625
|
-
* @returns {Promise<Reasoning>} Обновленное рассуждение
|
|
626
|
-
*/
|
|
627
|
-
startReasoning(reasoningId: string): Promise<Reasoning>;
|
|
628
|
-
/**
|
|
629
|
-
* Останавливает рассуждение
|
|
630
|
-
* @param {string} reasoningId ID рассуждения
|
|
631
|
-
* @returns {Promise<Reasoning>} Обновленное рассуждение
|
|
632
|
-
*/
|
|
633
|
-
stopReasoning(reasoningId: string): Promise<Reasoning>;
|
|
634
|
-
/**
|
|
635
|
-
* Удаляет рассуждение
|
|
636
|
-
* @param {string} reasoningId ID рассуждения
|
|
637
|
-
* @returns {Promise<void>}
|
|
638
|
-
*/
|
|
639
|
-
deleteReasoning(reasoningId: string): Promise<void>;
|
|
640
|
-
/**
|
|
641
|
-
* Получает ход мыслей рассуждения
|
|
642
|
-
* @param {string} reasoningId ID рассуждения
|
|
643
|
-
* @returns {Promise<ThinkingStep[]>} Ход мыслей
|
|
644
|
-
*/
|
|
645
|
-
getThinking(reasoningId: string): Promise<ThinkingStep[]>;
|
|
646
|
-
/**
|
|
647
|
-
* Получает все рассуждения проекта
|
|
648
|
-
* @param {string} projectId ID проекта
|
|
649
|
-
* @returns {Promise<Reasoning[]>} Список рассуждений
|
|
650
|
-
*/
|
|
651
|
-
getAllReasonings(projectId: string): Promise<Reasoning[]>;
|
|
652
|
-
}
|
|
653
|
-
|
|
654
|
-
/**
|
|
655
|
-
* Параметры для модификации кода
|
|
656
|
-
*/
|
|
657
|
-
interface CodeModificationParams {
|
|
658
|
-
/** Идентификатор проекта */
|
|
659
|
-
projectId: string;
|
|
660
|
-
/** Инструкция для модификации кода */
|
|
661
|
-
instruction: string;
|
|
662
|
-
/** Путь к файлу для модификации */
|
|
663
|
-
filePath: string;
|
|
664
|
-
/** Содержимое файла (если файл не существует) */
|
|
665
|
-
fileContent?: string;
|
|
666
|
-
/** Начальная строка для модификации */
|
|
667
|
-
startLine?: number;
|
|
668
|
-
/** Конечная строка для модификации */
|
|
669
|
-
endLine?: number;
|
|
670
|
-
/** Дополнительный контекст для модификации */
|
|
671
|
-
context?: {
|
|
672
|
-
/** Дополнительные фрагменты кода */
|
|
673
|
-
codeSnippets?: Array<{
|
|
674
|
-
/** Путь к файлу */
|
|
675
|
-
filePath: string;
|
|
676
|
-
/** Начальная строка */
|
|
677
|
-
startLine: number;
|
|
678
|
-
/** Конечная строка */
|
|
679
|
-
endLine: number;
|
|
680
|
-
/** Содержимое */
|
|
681
|
-
content: string;
|
|
682
|
-
}>;
|
|
683
|
-
};
|
|
684
|
-
}
|
|
685
|
-
/**
|
|
686
|
-
* Результат модификации кода
|
|
687
|
-
*/
|
|
688
|
-
interface CodeModificationResult {
|
|
689
|
-
/** Идентификатор модификации */
|
|
690
|
-
id: string;
|
|
691
|
-
/** Идентификатор проекта */
|
|
692
|
-
projectId: string;
|
|
693
|
-
/** Путь к файлу */
|
|
694
|
-
filePath: string;
|
|
695
|
-
/** Исходное содержимое */
|
|
696
|
-
originalContent?: string;
|
|
697
|
-
/** Модифицированное содержимое */
|
|
698
|
-
modifiedContent: string;
|
|
699
|
-
/** Патч (diff) для применения изменений */
|
|
700
|
-
patch?: string;
|
|
701
|
-
/** Статус модификации */
|
|
702
|
-
status: 'pending' | 'completed' | 'error';
|
|
703
|
-
/** Дата создания */
|
|
704
|
-
createdAt: string;
|
|
705
|
-
/** Сообщение об ошибке (если есть) */
|
|
706
|
-
error?: string;
|
|
707
|
-
}
|
|
708
|
-
/**
|
|
709
|
-
* API для модификации кода
|
|
710
|
-
*/
|
|
711
|
-
declare class CodeModificationApi {
|
|
712
|
-
/** HTTP клиент */
|
|
713
|
-
private readonly httpClient;
|
|
714
|
-
/**
|
|
715
|
-
* Создает новый экземпляр API для модификации кода
|
|
716
|
-
* @param {HttpClient} httpClient HTTP клиент
|
|
717
|
-
*/
|
|
718
|
-
constructor(httpClient: HttpClient);
|
|
719
|
-
/**
|
|
720
|
-
* Выполняет модификацию кода
|
|
721
|
-
* @param {CodeModificationParams} params Параметры модификации
|
|
722
|
-
* @returns {Promise<CodeModificationResult>} Результат модификации
|
|
723
|
-
*/
|
|
724
|
-
modifyCode(params: CodeModificationParams): Promise<CodeModificationResult>;
|
|
725
|
-
/**
|
|
726
|
-
* Применяет результат модификации к файлу
|
|
727
|
-
* @param {string} modificationId Идентификатор модификации
|
|
728
|
-
* @returns {Promise<CodeModificationResult>} Обновленный результат модификации
|
|
729
|
-
*/
|
|
730
|
-
applyModification(modificationId: string): Promise<CodeModificationResult>;
|
|
731
|
-
/**
|
|
732
|
-
* Отменяет применение модификации
|
|
733
|
-
* @param {string} modificationId Идентификатор модификации
|
|
734
|
-
* @returns {Promise<CodeModificationResult>} Обновленный результат модификации
|
|
735
|
-
*/
|
|
736
|
-
revertModification(modificationId: string): Promise<CodeModificationResult>;
|
|
737
|
-
/**
|
|
738
|
-
* Получает модификацию по идентификатору
|
|
739
|
-
* @param {string} modificationId Идентификатор модификации
|
|
740
|
-
* @returns {Promise<CodeModificationResult>} Результат модификации
|
|
741
|
-
*/
|
|
742
|
-
getModification(modificationId: string): Promise<CodeModificationResult>;
|
|
743
|
-
/**
|
|
744
|
-
* Получает список модификаций для проекта
|
|
745
|
-
* @param {string} projectId Идентификатор проекта
|
|
746
|
-
* @param {object} [params] Параметры запроса
|
|
747
|
-
* @param {number} [params.limit] Лимит результатов
|
|
748
|
-
* @param {number} [params.offset] Смещение для пагинации
|
|
749
|
-
* @returns {Promise<CodeModificationResult[]>} Список результатов модификации
|
|
750
|
-
*/
|
|
751
|
-
getModifications(projectId: string, params?: {
|
|
752
|
-
limit?: number;
|
|
753
|
-
offset?: number;
|
|
754
|
-
}): Promise<CodeModificationResult[]>;
|
|
755
|
-
}
|
|
756
|
-
|
|
757
|
-
/**
|
|
758
|
-
* Опции для WebSocket клиента
|
|
759
|
-
*/
|
|
760
|
-
interface WebSocketClientOptions {
|
|
761
|
-
/**
|
|
762
|
-
* HTTP заголовки для WebSocket соединения
|
|
763
|
-
*/
|
|
764
|
-
headers?: Record<string, string>;
|
|
765
|
-
/**
|
|
766
|
-
* Таймаут подключения в миллисекундах
|
|
767
|
-
*/
|
|
768
|
-
connectionTimeout?: number;
|
|
769
|
-
/**
|
|
770
|
-
* Протоколы WebSocket
|
|
771
|
-
*/
|
|
772
|
-
protocols?: string | string[];
|
|
773
|
-
/**
|
|
774
|
-
* Максимальное количество попыток переподключения
|
|
775
|
-
*/
|
|
776
|
-
maxRetries?: number;
|
|
777
|
-
/**
|
|
778
|
-
* Задержка перед попыткой переподключения в миллисекундах
|
|
779
|
-
*/
|
|
780
|
-
retryDelay?: number;
|
|
781
|
-
/**
|
|
782
|
-
* Максимальная задержка перед попыткой переподключения
|
|
783
|
-
*/
|
|
784
|
-
maxRetryDelay?: number;
|
|
785
|
-
/**
|
|
786
|
-
* Автоматически переподключаться при потере соединения
|
|
787
|
-
*/
|
|
788
|
-
autoReconnect?: boolean;
|
|
789
|
-
}
|
|
790
|
-
/**
|
|
791
|
-
* Интерфейс для обработчика события WebSocket
|
|
792
|
-
*/
|
|
793
|
-
interface WebSocketEventHandler {
|
|
794
|
-
(event: any): void;
|
|
795
|
-
}
|
|
796
|
-
/**
|
|
797
|
-
* Базовый класс для WebSocket клиентов
|
|
798
|
-
*/
|
|
799
|
-
declare class WebSocketClient {
|
|
800
|
-
/** URL для подключения */
|
|
801
|
-
protected readonly url: string;
|
|
802
|
-
/** Опции клиента */
|
|
803
|
-
protected readonly options: WebSocketClientOptions;
|
|
804
|
-
/** Экземпляр WebSocket */
|
|
805
|
-
protected webSocket: WebSocket | null;
|
|
806
|
-
/** Счетчик попыток переподключения */
|
|
807
|
-
protected retryCount: number;
|
|
808
|
-
/** Флаг, указывающий, что соединение было закрыто намеренно */
|
|
809
|
-
protected intentionallyClosed: boolean;
|
|
810
|
-
/** Таймер переподключения */
|
|
811
|
-
protected reconnectTimer: any;
|
|
812
|
-
/** Таймер таймаута соединения */
|
|
813
|
-
protected connectionTimeoutTimer: any;
|
|
814
|
-
/** Обработчики событий */
|
|
815
|
-
protected eventHandlers: Record<string, WebSocketEventHandler[]>;
|
|
816
|
-
/** Очередь сообщений для отправки после подключения */
|
|
817
|
-
protected messageQueue: Array<string | ArrayBufferLike | Blob | ArrayBufferView>;
|
|
818
|
-
/** Состояние соединения */
|
|
819
|
-
protected connected: boolean;
|
|
820
|
-
/** Среда выполнения */
|
|
821
|
-
protected readonly isBrowser: boolean;
|
|
822
|
-
/**
|
|
823
|
-
* Создает новый WebSocket клиент
|
|
824
|
-
* @param {string} url URL для подключения
|
|
825
|
-
* @param {WebSocketClientOptions} [options] Опции клиента
|
|
826
|
-
*/
|
|
827
|
-
constructor(url: string, options?: WebSocketClientOptions);
|
|
828
|
-
/**
|
|
829
|
-
* Подключается к WebSocket серверу
|
|
830
|
-
* @returns {Promise<void>}
|
|
831
|
-
*/
|
|
832
|
-
connect(): Promise<void>;
|
|
833
|
-
/**
|
|
834
|
-
* Переподключается к WebSocket серверу
|
|
835
|
-
* @private
|
|
836
|
-
*/
|
|
837
|
-
private reconnect;
|
|
838
|
-
/**
|
|
839
|
-
* Закрывает WebSocket соединение
|
|
840
|
-
* @param {number} [code=1000] Код закрытия
|
|
841
|
-
* @param {string} [reason] Причина закрытия
|
|
842
|
-
*/
|
|
843
|
-
close(code?: number, reason?: string): void;
|
|
844
|
-
/**
|
|
845
|
-
* Отправляет сообщение через WebSocket
|
|
846
|
-
* @param {string | object} message Сообщение для отправки
|
|
847
|
-
* @returns {boolean} Успешно ли отправлено сообщение
|
|
848
|
-
*/
|
|
849
|
-
send(message: string | object): boolean;
|
|
850
|
-
/**
|
|
851
|
-
* Проверяет, установлено ли соединение
|
|
852
|
-
* @returns {boolean} Установлено ли соединение
|
|
853
|
-
*/
|
|
854
|
-
isConnected(): boolean;
|
|
855
|
-
/**
|
|
856
|
-
* Добавляет обработчик события
|
|
857
|
-
* @param {string} eventType Тип события
|
|
858
|
-
* @param {WebSocketEventHandler} handler Обработчик события
|
|
859
|
-
*/
|
|
860
|
-
on(eventType: string, handler: WebSocketEventHandler): void;
|
|
861
|
-
/**
|
|
862
|
-
* Удаляет обработчик события
|
|
863
|
-
* @param {string} eventType Тип события
|
|
864
|
-
* @param {WebSocketEventHandler} [handler] Обработчик события (если не указан, удаляются все обработчики)
|
|
865
|
-
*/
|
|
866
|
-
off(eventType: string, handler?: WebSocketEventHandler): void;
|
|
867
|
-
/**
|
|
868
|
-
* Вызывает обработчики для указанного события
|
|
869
|
-
* @param {string} eventType Тип события
|
|
870
|
-
* @param {any} data Данные события
|
|
871
|
-
*/
|
|
872
|
-
protected dispatchEvent(eventType: string, data: any): void;
|
|
873
|
-
}
|
|
874
|
-
|
|
875
|
-
/**
|
|
876
|
-
* Пространства имен для WebSocket
|
|
877
|
-
*/
|
|
878
|
-
declare enum WebSocketNamespace {
|
|
879
|
-
/** Пространство имен для рассуждений */
|
|
880
|
-
REASONING = "reasoning",
|
|
881
|
-
/** Пространство имен для индексации */
|
|
882
|
-
INDEXING = "indexing",
|
|
883
|
-
/** Пространство имен для уведомлений */
|
|
884
|
-
NOTIFICATIONS = "notifications"
|
|
885
|
-
}
|
|
886
|
-
/**
|
|
887
|
-
* Опции для Code Solver WebSocket клиента
|
|
888
|
-
*/
|
|
889
|
-
interface CodeSolverWebSocketOptions extends WebSocketClientOptions {
|
|
890
|
-
/** API ключ для авторизации */
|
|
891
|
-
apiKey?: string;
|
|
892
|
-
}
|
|
893
|
-
/**
|
|
894
|
-
* WebSocket клиент для работы с Code Solver API
|
|
895
|
-
*/
|
|
896
|
-
declare class CodeSolverWebSocketClient {
|
|
897
|
-
/** Базовый URL API */
|
|
898
|
-
private readonly baseURL;
|
|
899
|
-
/** Опции клиента */
|
|
900
|
-
private readonly options;
|
|
901
|
-
/** WebSocket клиенты для разных пространств имен */
|
|
902
|
-
private clients;
|
|
903
|
-
/** Активная сессия рассуждения */
|
|
904
|
-
private activeReasoningId;
|
|
905
|
-
/** Активная сессия индексации */
|
|
906
|
-
private activeProjectId;
|
|
907
|
-
/**
|
|
908
|
-
* Создает новый WebSocket клиент для Code Solver API
|
|
909
|
-
* @param {string} baseURL Базовый URL API
|
|
910
|
-
* @param {CodeSolverWebSocketOptions} [options] Опции клиента
|
|
911
|
-
*/
|
|
912
|
-
constructor(baseURL: string, options?: CodeSolverWebSocketOptions);
|
|
913
|
-
/**
|
|
914
|
-
* Подключается к пространству имен WebSocket
|
|
915
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
916
|
-
* @param {Record<string, any>} [params] Параметры подключения
|
|
917
|
-
* @returns {Promise<WebSocketClient>} WebSocket клиент
|
|
918
|
-
*/
|
|
919
|
-
private connect;
|
|
920
|
-
/**
|
|
921
|
-
* Подключается к сессии рассуждения
|
|
922
|
-
* @param {string} [reasoningId] Идентификатор рассуждения
|
|
923
|
-
* @returns {Promise<void>}
|
|
924
|
-
*/
|
|
925
|
-
connectToReasoning(reasoningId?: string): Promise<void>;
|
|
926
|
-
/**
|
|
927
|
-
* Подключается к сессии индексации проекта
|
|
928
|
-
* @param {string} [projectId] Идентификатор проекта
|
|
929
|
-
* @returns {Promise<void>}
|
|
930
|
-
*/
|
|
931
|
-
connectToIndexing(projectId?: string): Promise<void>;
|
|
932
|
-
/**
|
|
933
|
-
* Подключается к уведомлениям
|
|
934
|
-
* @returns {Promise<void>}
|
|
935
|
-
*/
|
|
936
|
-
connectToNotifications(): Promise<void>;
|
|
937
|
-
/**
|
|
938
|
-
* Отключается от пространства имен
|
|
939
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
940
|
-
*/
|
|
941
|
-
disconnect(namespace: WebSocketNamespace): void;
|
|
942
|
-
/**
|
|
943
|
-
* Отключается от всех пространств имен
|
|
944
|
-
*/
|
|
945
|
-
disconnectAll(): void;
|
|
946
|
-
/**
|
|
947
|
-
* Добавляет обработчик события для пространства имен
|
|
948
|
-
* @param {string} eventType Тип события
|
|
949
|
-
* @param {Function} handler Обработчик события
|
|
950
|
-
* @param {WebSocketNamespace} [namespace] Пространство имен (если не указано, добавляется ко всем активным)
|
|
951
|
-
*/
|
|
952
|
-
on(eventType: string, handler: (data: any) => void, namespace?: WebSocketNamespace): void;
|
|
953
|
-
/**
|
|
954
|
-
* Удаляет обработчик события для пространства имен
|
|
955
|
-
* @param {string} eventType Тип события
|
|
956
|
-
* @param {Function} [handler] Обработчик события (если не указан, удаляются все обработчики)
|
|
957
|
-
* @param {WebSocketNamespace} [namespace] Пространство имен (если не указано, удаляется из всех активных)
|
|
958
|
-
*/
|
|
959
|
-
off(eventType: string, handler?: (data: any) => void, namespace?: WebSocketNamespace): void;
|
|
960
|
-
/**
|
|
961
|
-
* Отправляет сообщение в пространство имен
|
|
962
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
963
|
-
* @param {string} eventType Тип события
|
|
964
|
-
* @param {any} [data] Данные сообщения
|
|
965
|
-
* @returns {boolean} Успешно ли отправлено сообщение
|
|
966
|
-
*/
|
|
967
|
-
send(namespace: WebSocketNamespace, eventType: string, data?: any): boolean;
|
|
968
|
-
/**
|
|
969
|
-
* Отправляет сообщение в активную сессию рассуждения
|
|
970
|
-
* @param {string} eventType Тип события
|
|
971
|
-
* @param {any} [data] Данные сообщения
|
|
972
|
-
* @returns {boolean} Успешно ли отправлено сообщение
|
|
973
|
-
*/
|
|
974
|
-
sendToReasoning(eventType: string, data?: any): boolean;
|
|
975
|
-
/**
|
|
976
|
-
* Отправляет сообщение в активную сессию индексации
|
|
977
|
-
* @param {string} eventType Тип события
|
|
978
|
-
* @param {any} [data] Данные сообщения
|
|
979
|
-
* @returns {boolean} Успешно ли отправлено сообщение
|
|
980
|
-
*/
|
|
981
|
-
sendToIndexing(eventType: string, data?: any): boolean;
|
|
982
|
-
/**
|
|
983
|
-
* Отправляет сообщение в уведомления
|
|
984
|
-
* @param {string} eventType Тип события
|
|
985
|
-
* @param {any} [data] Данные сообщения
|
|
986
|
-
* @returns {boolean} Успешно ли отправлено сообщение
|
|
987
|
-
*/
|
|
988
|
-
sendToNotifications(eventType: string, data?: any): boolean;
|
|
989
|
-
/**
|
|
990
|
-
* Проверяет, подключен ли клиент к указанному пространству имен
|
|
991
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
992
|
-
* @returns {boolean} Статус подключения
|
|
993
|
-
*/
|
|
994
|
-
isConnected(namespace: WebSocketNamespace): boolean;
|
|
995
|
-
/**
|
|
996
|
-
* Проверяет, подключен ли клиент к пространству имен рассуждений
|
|
997
|
-
* @returns {boolean} Статус подключения
|
|
998
|
-
*/
|
|
999
|
-
isConnectedToReasoning(): boolean;
|
|
1000
|
-
/**
|
|
1001
|
-
* Проверяет, подключен ли клиент к пространству имен индексации
|
|
1002
|
-
* @returns {boolean} Статус подключения
|
|
1003
|
-
*/
|
|
1004
|
-
isConnectedToIndexing(): boolean;
|
|
1005
|
-
/**
|
|
1006
|
-
* Проверяет, подключен ли клиент к пространству имен уведомлений
|
|
1007
|
-
* @returns {boolean} Статус подключения
|
|
1008
|
-
*/
|
|
1009
|
-
isConnectedToNotifications(): boolean;
|
|
1010
|
-
}
|
|
1011
|
-
|
|
1012
|
-
/**
|
|
1013
|
-
* Тип агента
|
|
1014
|
-
*/
|
|
1015
|
-
type AgentType = 'coding' | 'documentation' | 'testing' | 'analysis' | 'custom';
|
|
1016
|
-
/**
|
|
1017
|
-
* Статус агента
|
|
1018
|
-
*/
|
|
1019
|
-
type AgentStatus = 'idle' | 'running' | 'completed' | 'error';
|
|
1020
|
-
/**
|
|
1021
|
-
* Агент
|
|
1022
|
-
*/
|
|
1023
|
-
interface Agent {
|
|
1024
|
-
/** Уникальный идентификатор агента */
|
|
1025
|
-
id: string;
|
|
1026
|
-
/** Идентификатор проекта */
|
|
1027
|
-
projectId: string;
|
|
1028
|
-
/** Название агента */
|
|
1029
|
-
name: string;
|
|
1030
|
-
/** Описание агента */
|
|
1031
|
-
description: string;
|
|
1032
|
-
/** Тип агента */
|
|
1033
|
-
type: AgentType;
|
|
1034
|
-
/** Статус агента */
|
|
1035
|
-
status: AgentStatus;
|
|
1036
|
-
/** Дата создания */
|
|
1037
|
-
createdAt: string;
|
|
1038
|
-
/** Дата обновления */
|
|
1039
|
-
updatedAt: string;
|
|
1040
|
-
/** Настройки агента */
|
|
1041
|
-
settings?: Record<string, any>;
|
|
1042
|
-
}
|
|
1043
|
-
/**
|
|
1044
|
-
* Параметры для создания агента
|
|
1045
|
-
*/
|
|
1046
|
-
interface CreateAgentParams {
|
|
1047
|
-
/** Идентификатор проекта */
|
|
1048
|
-
projectId: string;
|
|
1049
|
-
/** Название агента */
|
|
1050
|
-
name: string;
|
|
1051
|
-
/** Описание агента */
|
|
1052
|
-
description?: string;
|
|
1053
|
-
/** Тип агента */
|
|
1054
|
-
type: AgentType;
|
|
1055
|
-
/** Настройки агента */
|
|
1056
|
-
settings?: Record<string, any>;
|
|
1057
|
-
}
|
|
1058
|
-
/**
|
|
1059
|
-
* Задача агента
|
|
1060
|
-
*/
|
|
1061
|
-
interface AgentTask {
|
|
1062
|
-
/** Уникальный идентификатор задачи */
|
|
1063
|
-
id: string;
|
|
1064
|
-
/** Идентификатор агента */
|
|
1065
|
-
agentId: string;
|
|
1066
|
-
/** Описание задачи */
|
|
1067
|
-
description: string;
|
|
1068
|
-
/** Статус задачи */
|
|
1069
|
-
status: 'pending' | 'running' | 'completed' | 'failed';
|
|
1070
|
-
/** Результат выполнения задачи */
|
|
1071
|
-
result?: any;
|
|
1072
|
-
/** Дата создания */
|
|
1073
|
-
createdAt: string;
|
|
1074
|
-
/** Дата обновления */
|
|
1075
|
-
updatedAt: string;
|
|
1076
|
-
}
|
|
1077
|
-
/**
|
|
1078
|
-
* API для работы с агентами
|
|
1079
|
-
*/
|
|
1080
|
-
declare class AgentsApi {
|
|
1081
|
-
/** HTTP клиент */
|
|
1082
|
-
private readonly httpClient;
|
|
1083
|
-
/**
|
|
1084
|
-
* Создает новый экземпляр API для работы с агентами
|
|
1085
|
-
* @param {HttpClient} httpClient HTTP клиент
|
|
1086
|
-
*/
|
|
1087
|
-
constructor(httpClient: HttpClient);
|
|
1088
|
-
/**
|
|
1089
|
-
* Получает список всех агентов проекта
|
|
1090
|
-
* @param {string} projectId Идентификатор проекта
|
|
1091
|
-
* @returns {Promise<Agent[]>} Список агентов
|
|
1092
|
-
*/
|
|
1093
|
-
getAgents(projectId: string): Promise<Agent[]>;
|
|
1094
|
-
/**
|
|
1095
|
-
* Получает агента по идентификатору
|
|
1096
|
-
* @param {string} agentId Идентификатор агента
|
|
1097
|
-
* @returns {Promise<Agent>} Агент
|
|
1098
|
-
*/
|
|
1099
|
-
getAgent(agentId: string): Promise<Agent>;
|
|
1100
|
-
/**
|
|
1101
|
-
* Создает нового агента
|
|
1102
|
-
* @param {CreateAgentParams} params Параметры создания агента
|
|
1103
|
-
* @returns {Promise<Agent>} Созданный агент
|
|
1104
|
-
*/
|
|
1105
|
-
createAgent(params: CreateAgentParams): Promise<Agent>;
|
|
1106
|
-
/**
|
|
1107
|
-
* Обновляет агента
|
|
1108
|
-
* @param {string} agentId Идентификатор агента
|
|
1109
|
-
* @param {Partial<Pick<Agent, 'name' | 'description' | 'settings'>>} data Данные для обновления
|
|
1110
|
-
* @returns {Promise<Agent>} Обновленный агент
|
|
1111
|
-
*/
|
|
1112
|
-
updateAgent(agentId: string, data: Partial<Pick<Agent, 'name' | 'description' | 'settings'>>): Promise<Agent>;
|
|
1113
|
-
/**
|
|
1114
|
-
* Удаляет агента
|
|
1115
|
-
* @param {string} agentId Идентификатор агента
|
|
1116
|
-
* @returns {Promise<void>}
|
|
1117
|
-
*/
|
|
1118
|
-
deleteAgent(agentId: string): Promise<void>;
|
|
1119
|
-
/**
|
|
1120
|
-
* Запускает агента
|
|
1121
|
-
* @param {string} agentId Идентификатор агента
|
|
1122
|
-
* @param {object} [params] Параметры запуска
|
|
1123
|
-
* @returns {Promise<Agent>} Обновленный агент
|
|
1124
|
-
*/
|
|
1125
|
-
startAgent(agentId: string, params?: object): Promise<Agent>;
|
|
1126
|
-
/**
|
|
1127
|
-
* Останавливает агента
|
|
1128
|
-
* @param {string} agentId Идентификатор агента
|
|
1129
|
-
* @returns {Promise<Agent>} Обновленный агент
|
|
1130
|
-
*/
|
|
1131
|
-
stopAgent(agentId: string): Promise<Agent>;
|
|
1132
|
-
/**
|
|
1133
|
-
* Получает задачи агента
|
|
1134
|
-
* @param {string} agentId Идентификатор агента
|
|
1135
|
-
* @returns {Promise<AgentTask[]>} Список задач
|
|
1136
|
-
*/
|
|
1137
|
-
getAgentTasks(agentId: string): Promise<AgentTask[]>;
|
|
1138
|
-
/**
|
|
1139
|
-
* Создает новую задачу для агента
|
|
1140
|
-
* @param {string} agentId Идентификатор агента
|
|
1141
|
-
* @param {object} params Параметры задачи
|
|
1142
|
-
* @param {string} params.description Описание задачи
|
|
1143
|
-
* @param {object} [params.context] Контекст задачи
|
|
1144
|
-
* @returns {Promise<AgentTask>} Созданная задача
|
|
1145
|
-
*/
|
|
1146
|
-
createAgentTask(agentId: string, params: {
|
|
1147
|
-
description: string;
|
|
1148
|
-
context?: object;
|
|
1149
|
-
}): Promise<AgentTask>;
|
|
1150
|
-
}
|
|
1151
|
-
|
|
1152
|
-
/**
|
|
1153
|
-
* Опции для инициализации SDK
|
|
1154
|
-
*/
|
|
1155
|
-
interface CodeSolverSDKOptions {
|
|
1156
|
-
/**
|
|
1157
|
-
* Базовый URL API
|
|
1158
|
-
*/
|
|
1159
|
-
baseURL: string;
|
|
1160
|
-
/**
|
|
1161
|
-
* API ключ (если требуется)
|
|
1162
|
-
*/
|
|
1163
|
-
apiKey?: string;
|
|
1164
|
-
/**
|
|
1165
|
-
* Таймаут для HTTP запросов в миллисекундах (по умолчанию 30000)
|
|
1166
|
-
*/
|
|
1167
|
-
timeout?: number;
|
|
1168
|
-
/**
|
|
1169
|
-
* Пользовательские HTTP заголовки
|
|
1170
|
-
*/
|
|
1171
|
-
headers?: Record<string, string>;
|
|
1172
|
-
/**
|
|
1173
|
-
* Опции для HTTPS агента (для Node.js)
|
|
1174
|
-
* В браузере не используется
|
|
1175
|
-
*/
|
|
1176
|
-
httpsAgent?: any;
|
|
1177
|
-
/**
|
|
1178
|
-
* Режим работы SDK
|
|
1179
|
-
* 'browser' - оптимизирован для браузера
|
|
1180
|
-
* 'node' - оптимизирован для Node.js
|
|
1181
|
-
* 'auto' - автоматическое определение (по умолчанию)
|
|
1182
|
-
*/
|
|
1183
|
-
mode?: 'browser' | 'node' | 'auto';
|
|
1184
|
-
}
|
|
1185
|
-
|
|
1186
|
-
/**
|
|
1187
|
-
* Основной класс SDK для работы с Code Solver API
|
|
1188
|
-
* Поддерживает работу как в браузере, так и в Node.js
|
|
1189
|
-
*/
|
|
1190
|
-
declare class CodeSolverSDK {
|
|
1191
|
-
/** Опции SDK */
|
|
1192
|
-
private readonly _options;
|
|
1193
|
-
/** HTTP клиент для запросов к API */
|
|
1194
|
-
private httpClient;
|
|
1195
|
-
/** WebSocket клиент для работы с реалтайм API */
|
|
1196
|
-
private wsClient;
|
|
1197
|
-
/** API для работы с агентами */
|
|
1198
|
-
private _agents;
|
|
1199
|
-
/** API для работы с контекстом */
|
|
1200
|
-
private _context;
|
|
1201
|
-
/** API для работы с проектами */
|
|
1202
|
-
private readonly _projects;
|
|
1203
|
-
/** API для поиска кода */
|
|
1204
|
-
private readonly _search;
|
|
1205
|
-
/** API для работы с рассуждениями */
|
|
1206
|
-
private readonly _reasoning;
|
|
1207
|
-
/** API для модификации кода */
|
|
1208
|
-
private readonly _codeModification;
|
|
1209
|
-
/** Среда выполнения */
|
|
1210
|
-
private readonly environment;
|
|
1211
|
-
/** Глобальный обработчик ошибок */
|
|
1212
|
-
private static errorHandler;
|
|
1213
|
-
/**
|
|
1214
|
-
* Создает новый экземпляр SDK
|
|
1215
|
-
* @param {CodeSolverSDKOptions} options Опции SDK
|
|
1216
|
-
*/
|
|
1217
|
-
constructor(options: CodeSolverSDKOptions);
|
|
1218
|
-
/**
|
|
1219
|
-
* Проверяет доступность API
|
|
1220
|
-
* @returns {Promise<boolean>} Доступен ли API
|
|
1221
|
-
*/
|
|
1222
|
-
checkHealth(): Promise<boolean>;
|
|
1223
|
-
/**
|
|
1224
|
-
* Получает WebSocket клиент
|
|
1225
|
-
* @returns {CodeSolverWebSocketClient} WebSocket клиент
|
|
1226
|
-
*/
|
|
1227
|
-
getWebSocketClient(): CodeSolverWebSocketClient;
|
|
1228
|
-
/**
|
|
1229
|
-
* API для работы с агентами
|
|
1230
|
-
*/
|
|
1231
|
-
get agents(): AgentsApi;
|
|
1232
|
-
/**
|
|
1233
|
-
* API для работы с контекстом
|
|
1234
|
-
*/
|
|
1235
|
-
get context(): ContextApi;
|
|
1236
|
-
/**
|
|
1237
|
-
* API для работы с проектами
|
|
1238
|
-
*/
|
|
1239
|
-
get projects(): ProjectsApi;
|
|
1240
|
-
/**
|
|
1241
|
-
* API для поиска кода
|
|
1242
|
-
*/
|
|
1243
|
-
get search(): SearchApi;
|
|
1244
|
-
/**
|
|
1245
|
-
* API для работы с рассуждениями
|
|
1246
|
-
*/
|
|
1247
|
-
get reasoning(): ReasoningApi;
|
|
1248
|
-
/**
|
|
1249
|
-
* API для модификации кода
|
|
1250
|
-
*/
|
|
1251
|
-
get codeModification(): CodeModificationApi;
|
|
1252
|
-
/**
|
|
1253
|
-
* Опции SDK
|
|
1254
|
-
*/
|
|
1255
|
-
get options(): Readonly<CodeSolverSDKOptions>;
|
|
1256
|
-
/**
|
|
1257
|
-
* Получает текущую среду выполнения
|
|
1258
|
-
* @returns {string} Среда выполнения ('browser', 'node', 'unknown')
|
|
1259
|
-
*/
|
|
1260
|
-
getEnvironment(): string;
|
|
1261
|
-
/**
|
|
1262
|
-
* Закрывает все соединения и освобождает ресурсы
|
|
1263
|
-
*/
|
|
1264
|
-
dispose(): void;
|
|
1265
|
-
/**
|
|
1266
|
-
* Устанавливает глобальный обработчик ошибок SDK
|
|
1267
|
-
* @param {(error: Error) => void} handler Функция-обработчик ошибок
|
|
1268
|
-
*/
|
|
1269
|
-
static setErrorHandler(handler: (error: Error) => void): void;
|
|
1270
|
-
/**
|
|
1271
|
-
* Обрабатывает ошибку через глобальный обработчик, если он установлен
|
|
1272
|
-
* @param {Error} error Ошибка для обработки
|
|
1273
|
-
*/
|
|
1274
|
-
static handleError(error: Error): void;
|
|
1275
|
-
/**
|
|
1276
|
-
* Возвращает текущую версию SDK
|
|
1277
|
-
* @returns {string} Версия SDK
|
|
1278
|
-
*/
|
|
1279
|
-
static getVersion(): string;
|
|
1280
|
-
/**
|
|
1281
|
-
* Возвращает текущую версию SDK
|
|
1282
|
-
* @returns {string} Версия SDK
|
|
1283
|
-
*/
|
|
1284
|
-
getVersion(): string;
|
|
1285
|
-
/**
|
|
1286
|
-
* Устанавливает новый API ключ для SDK
|
|
1287
|
-
* @param {string} apiKey Новый API ключ
|
|
1288
|
-
*/
|
|
1289
|
-
setApiKey(apiKey: string): void;
|
|
1290
|
-
/**
|
|
1291
|
-
* Подключается к WebSocket серверу
|
|
1292
|
-
* @returns {Promise<boolean>} Promise с результатом подключения
|
|
1293
|
-
*/
|
|
1294
|
-
connect(): Promise<boolean>;
|
|
1295
|
-
/**
|
|
1296
|
-
* Отключается от WebSocket сервера
|
|
1297
|
-
* @returns {Promise<void>} Promise без результата
|
|
1298
|
-
*/
|
|
1299
|
-
disconnect(): Promise<void>;
|
|
1300
|
-
/**
|
|
1301
|
-
* Проверяет, подключен ли SDK к WebSocket серверу
|
|
1302
|
-
* @returns {boolean} Статус подключения
|
|
1303
|
-
*/
|
|
1304
|
-
isConnected(): boolean;
|
|
1305
|
-
/**
|
|
1306
|
-
* Проверяет доступность API (алиас для checkHealth)
|
|
1307
|
-
* @returns {Promise<boolean>} Promise с результатом проверки
|
|
1308
|
-
*/
|
|
1309
|
-
isHealthy(): Promise<boolean>;
|
|
1310
|
-
/**
|
|
1311
|
-
* Проверяет доступность всех сервисов API
|
|
1312
|
-
* @returns {Promise<{[key: string]: boolean}>} Статус каждого сервиса
|
|
1313
|
-
*/
|
|
1314
|
-
checkServices(): Promise<{
|
|
1315
|
-
[key: string]: boolean;
|
|
1316
|
-
}>;
|
|
1317
|
-
/**
|
|
1318
|
-
* Закрывает соединение с сервером (алиас для dispose)
|
|
1319
|
-
*/
|
|
1320
|
-
close(): Promise<void>;
|
|
1321
|
-
}
|
|
1322
|
-
|
|
1323
|
-
/**
|
|
1324
|
-
* Опции для SSE клиента
|
|
1325
|
-
*/
|
|
1326
|
-
interface SseClientOptions {
|
|
1327
|
-
/**
|
|
1328
|
-
* HTTP заголовки для SSE соединения
|
|
1329
|
-
*/
|
|
1330
|
-
headers?: Record<string, string>;
|
|
1331
|
-
/**
|
|
1332
|
-
* Таймаут подключения в миллисекундах
|
|
1333
|
-
*/
|
|
1334
|
-
connectionTimeout?: number;
|
|
1335
|
-
/**
|
|
1336
|
-
* Максимальное количество попыток переподключения
|
|
1337
|
-
*/
|
|
1338
|
-
maxRetries?: number;
|
|
1339
|
-
/**
|
|
1340
|
-
* Задержка перед попыткой переподключения в миллисекундах
|
|
1341
|
-
*/
|
|
1342
|
-
retryDelay?: number;
|
|
1343
|
-
/**
|
|
1344
|
-
* Максимальная задержка перед попыткой переподключения
|
|
1345
|
-
*/
|
|
1346
|
-
maxRetryDelay?: number;
|
|
1347
|
-
}
|
|
1348
|
-
/**
|
|
1349
|
-
* Интерфейс для обработчика события SSE
|
|
1350
|
-
*/
|
|
1351
|
-
interface SseEventHandler {
|
|
1352
|
-
(event: any): void;
|
|
1353
|
-
}
|
|
1354
|
-
/**
|
|
1355
|
-
* Клиент для работы с Server-Sent Events (SSE)
|
|
1356
|
-
* Поддерживает работу как в браузере, так и в Node.js
|
|
1357
|
-
*/
|
|
1358
|
-
declare class SseClient {
|
|
1359
|
-
/** URL для подключения */
|
|
1360
|
-
private readonly url;
|
|
1361
|
-
/** Опции клиента */
|
|
1362
|
-
private readonly options;
|
|
1363
|
-
/** Экземпляр EventSource */
|
|
1364
|
-
private eventSource;
|
|
1365
|
-
/** Счетчик попыток переподключения */
|
|
1366
|
-
private retryCount;
|
|
1367
|
-
/** Флаг, указывающий, что соединение было закрыто намеренно */
|
|
1368
|
-
private intentionallyClosed;
|
|
1369
|
-
/** Таймер переподключения */
|
|
1370
|
-
private reconnectTimer;
|
|
1371
|
-
/** Таймер таймаута соединения */
|
|
1372
|
-
private connectionTimeoutTimer;
|
|
1373
|
-
/** Обработчики событий */
|
|
1374
|
-
private eventHandlers;
|
|
1375
|
-
/**
|
|
1376
|
-
* Создает новый SSE клиент
|
|
1377
|
-
* @param {string} url URL для подключения
|
|
1378
|
-
* @param {SseClientOptions} [options] Опции клиента
|
|
1379
|
-
*/
|
|
1380
|
-
constructor(url: string, options?: SseClientOptions);
|
|
1381
|
-
/**
|
|
1382
|
-
* Подключается к SSE эндпоинту
|
|
1383
|
-
* @returns {Promise<void>}
|
|
1384
|
-
*/
|
|
1385
|
-
connect(): Promise<void>;
|
|
1386
|
-
/**
|
|
1387
|
-
* Закрывает SSE соединение
|
|
1388
|
-
*/
|
|
1389
|
-
close(): void;
|
|
1390
|
-
/**
|
|
1391
|
-
* Добавляет обработчик события
|
|
1392
|
-
* @param {string} eventType Тип события
|
|
1393
|
-
* @param {SseEventHandler} handler Обработчик события
|
|
1394
|
-
*/
|
|
1395
|
-
on(eventType: string, handler: SseEventHandler): void;
|
|
1396
|
-
/**
|
|
1397
|
-
* Удаляет обработчик события
|
|
1398
|
-
* @param {string} eventType Тип события
|
|
1399
|
-
* @param {SseEventHandler} [handler] Обработчик события (если не указан, удаляются все обработчики)
|
|
1400
|
-
*/
|
|
1401
|
-
off(eventType: string, handler?: SseEventHandler): void;
|
|
1402
|
-
/**
|
|
1403
|
-
* Вызывает обработчики для указанного события
|
|
1404
|
-
* @param {string} eventType Тип события
|
|
1405
|
-
* @param {any} data Данные события
|
|
1406
|
-
*/
|
|
1407
|
-
private dispatchEvent;
|
|
1408
|
-
/**
|
|
1409
|
-
* Переподключается к SSE эндпоинту с экспоненциальной задержкой
|
|
1410
|
-
* @private
|
|
1411
|
-
*/
|
|
1412
|
-
private reconnect;
|
|
1413
|
-
}
|
|
1414
|
-
|
|
1415
|
-
/**
|
|
1416
|
-
* Данные о прогрессе индексации
|
|
1417
|
-
*/
|
|
1418
|
-
interface IndexingProgressData {
|
|
1419
|
-
/** Идентификатор проекта */
|
|
1420
|
-
projectId: string;
|
|
1421
|
-
/** Общее количество файлов */
|
|
1422
|
-
totalFiles: number;
|
|
1423
|
-
/** Количество проиндексированных файлов */
|
|
1424
|
-
indexedFiles: number;
|
|
1425
|
-
/** Процент завершения индексации */
|
|
1426
|
-
progress: number;
|
|
1427
|
-
/** Время начала индексации */
|
|
1428
|
-
startTime: string;
|
|
1429
|
-
/** Прошедшее время в секундах */
|
|
1430
|
-
elapsedTime: number;
|
|
1431
|
-
/** Оставшееся время в секундах (приблизительно) */
|
|
1432
|
-
estimatedTimeRemaining?: number;
|
|
1433
|
-
}
|
|
1434
|
-
/**
|
|
1435
|
-
* Данные о завершении индексации
|
|
1436
|
-
*/
|
|
1437
|
-
interface IndexingCompleteData {
|
|
1438
|
-
/** Идентификатор проекта */
|
|
1439
|
-
projectId: string;
|
|
1440
|
-
/** Общее количество файлов */
|
|
1441
|
-
totalFiles: number;
|
|
1442
|
-
/** Количество проиндексированных файлов */
|
|
1443
|
-
indexedFiles: number;
|
|
1444
|
-
/** Количество пропущенных файлов */
|
|
1445
|
-
skippedFiles: number;
|
|
1446
|
-
/** Время начала индексации */
|
|
1447
|
-
startTime: string;
|
|
1448
|
-
/** Время завершения индексации */
|
|
1449
|
-
endTime: string;
|
|
1450
|
-
/** Общее время индексации в секундах */
|
|
1451
|
-
totalTime: number;
|
|
1452
|
-
}
|
|
1453
|
-
/**
|
|
1454
|
-
* Данные об ошибке индексации
|
|
1455
|
-
*/
|
|
1456
|
-
interface IndexingErrorData {
|
|
1457
|
-
/** Идентификатор проекта */
|
|
1458
|
-
projectId: string;
|
|
1459
|
-
/** Сообщение об ошибке */
|
|
1460
|
-
message: string;
|
|
1461
|
-
/** Код ошибки */
|
|
1462
|
-
code?: string;
|
|
1463
|
-
/** Детали ошибки */
|
|
1464
|
-
details?: any;
|
|
1465
|
-
}
|
|
1466
|
-
/**
|
|
1467
|
-
* Опции для WebSocket клиента индексации
|
|
1468
|
-
*/
|
|
1469
|
-
interface IndexingWebSocketOptions extends WebSocketClientOptions {
|
|
1470
|
-
/** Идентификатор проекта */
|
|
1471
|
-
projectId?: string;
|
|
1472
|
-
/** API ключ для авторизации */
|
|
1473
|
-
apiKey?: string;
|
|
1474
|
-
}
|
|
1475
|
-
/**
|
|
1476
|
-
* WebSocket клиент для работы с индексацией
|
|
1477
|
-
*/
|
|
1478
|
-
declare class IndexingWebSocketClient extends WebSocketClient {
|
|
1479
|
-
/** Идентификатор проекта */
|
|
1480
|
-
private projectId;
|
|
1481
|
-
/** Базовый URL без параметров */
|
|
1482
|
-
private baseUrl;
|
|
1483
|
-
/**
|
|
1484
|
-
* Создает новый WebSocket клиент для индексации
|
|
1485
|
-
* @param {string} url URL для подключения
|
|
1486
|
-
* @param {IndexingWebSocketOptions} [options] Опции клиента
|
|
1487
|
-
*/
|
|
1488
|
-
constructor(url: string, options?: IndexingWebSocketOptions);
|
|
1489
|
-
/**
|
|
1490
|
-
* Устанавливает идентификатор проекта
|
|
1491
|
-
* @param {string} projectId Идентификатор проекта
|
|
1492
|
-
*/
|
|
1493
|
-
setProjectId(projectId: string): void;
|
|
1494
|
-
/**
|
|
1495
|
-
* Подключается к WebSocket для отслеживания индексации
|
|
1496
|
-
* @param {string} [projectId] Идентификатор проекта (если не был указан в конструкторе)
|
|
1497
|
-
* @returns {Promise<void>}
|
|
1498
|
-
*/
|
|
1499
|
-
connect(projectId?: string): Promise<void>;
|
|
1500
|
-
/**
|
|
1501
|
-
* Подписывается на события начала индексации
|
|
1502
|
-
* @param {(data: {projectId: string}) => void} handler Обработчик события
|
|
1503
|
-
*/
|
|
1504
|
-
onStart(handler: (data: {
|
|
1505
|
-
projectId: string;
|
|
1506
|
-
}) => void): void;
|
|
1507
|
-
/**
|
|
1508
|
-
* Подписывается на события прогресса индексации
|
|
1509
|
-
* @param {(data: IndexingProgressData) => void} handler Обработчик события
|
|
1510
|
-
*/
|
|
1511
|
-
onProgress(handler: (data: IndexingProgressData) => void): void;
|
|
1512
|
-
/**
|
|
1513
|
-
* Подписывается на события завершения индексации
|
|
1514
|
-
* @param {(data: IndexingCompleteData) => void} handler Обработчик события
|
|
1515
|
-
*/
|
|
1516
|
-
onComplete(handler: (data: IndexingCompleteData) => void): void;
|
|
1517
|
-
/**
|
|
1518
|
-
* Подписывается на события ошибок индексации
|
|
1519
|
-
* @param {(data: IndexingErrorData) => void} handler Обработчик события
|
|
1520
|
-
*/
|
|
1521
|
-
onError(handler: (data: IndexingErrorData) => void): void;
|
|
1522
|
-
}
|
|
1523
|
-
|
|
1524
|
-
/**
|
|
1525
|
-
* Общие типы данных для SDK
|
|
1526
|
-
*/
|
|
1527
|
-
/**
|
|
1528
|
-
* Режим работы SDK
|
|
1529
|
-
*/
|
|
1530
|
-
type SdkMode = 'browser' | 'node' | 'auto';
|
|
1531
|
-
/**
|
|
1532
|
-
* Поддерживаемые языки программирования
|
|
1533
|
-
*/
|
|
1534
|
-
type ProgrammingLanguage = 'javascript' | 'typescript' | 'python' | 'java' | 'c' | 'cpp' | 'csharp' | 'php' | 'ruby' | 'go' | 'rust' | 'swift' | 'kotlin' | 'scala' | 'html' | 'css' | 'json' | 'yaml' | 'markdown' | 'shell' | 'sql' | 'plaintext' | 'unknown';
|
|
1535
|
-
/**
|
|
1536
|
-
* Уровень логирования
|
|
1537
|
-
*/
|
|
1538
|
-
declare enum LogLevel {
|
|
1539
|
-
DEBUG = "debug",
|
|
1540
|
-
INFO = "info",
|
|
1541
|
-
WARN = "warn",
|
|
1542
|
-
ERROR = "error"
|
|
1543
|
-
}
|
|
1544
|
-
/**
|
|
1545
|
-
* Сообщение лога
|
|
1546
|
-
*/
|
|
1547
|
-
interface LogMessage {
|
|
1548
|
-
/** Уровень логирования */
|
|
1549
|
-
level: LogLevel;
|
|
1550
|
-
/** Сообщение */
|
|
1551
|
-
message: string;
|
|
1552
|
-
/** Метка времени */
|
|
1553
|
-
timestamp: string;
|
|
1554
|
-
/** Дополнительные данные */
|
|
1555
|
-
data?: any;
|
|
1556
|
-
}
|
|
1557
|
-
/**
|
|
1558
|
-
* Результат операции
|
|
1559
|
-
*/
|
|
1560
|
-
interface OperationResult<T = any> {
|
|
1561
|
-
/** Успешность операции */
|
|
1562
|
-
success: boolean;
|
|
1563
|
-
/** Данные результата (если успех) */
|
|
1564
|
-
data?: T;
|
|
1565
|
-
/** Сообщение об ошибке (если неудача) */
|
|
1566
|
-
error?: string;
|
|
1567
|
-
/** Код ошибки (если неудача) */
|
|
1568
|
-
errorCode?: string;
|
|
1569
|
-
/** Детали ошибки (если неудача) */
|
|
1570
|
-
errorDetails?: any;
|
|
1571
|
-
}
|
|
1572
|
-
/**
|
|
1573
|
-
* Настройки модели ИИ
|
|
1574
|
-
*/
|
|
1575
|
-
interface ModelSettings {
|
|
1576
|
-
/** Название модели */
|
|
1577
|
-
model: string;
|
|
1578
|
-
/** Температура генерации */
|
|
1579
|
-
temperature?: number;
|
|
1580
|
-
/** Максимальная длина ответа */
|
|
1581
|
-
maxTokens?: number;
|
|
1582
|
-
/** Штрафы за повторения */
|
|
1583
|
-
repetitionPenalty?: number;
|
|
1584
|
-
/** Дополнительные параметры */
|
|
1585
|
-
extraParams?: Record<string, any>;
|
|
1586
|
-
}
|
|
1587
|
-
/**
|
|
1588
|
-
* Базовый интерфейс для пагинации
|
|
1589
|
-
*/
|
|
1590
|
-
interface PaginationParams {
|
|
1591
|
-
/** Лимит результатов */
|
|
1592
|
-
limit?: number;
|
|
1593
|
-
/** Смещение для пагинации */
|
|
1594
|
-
offset?: number;
|
|
1595
|
-
}
|
|
1596
|
-
/**
|
|
1597
|
-
* Результаты с пагинацией
|
|
1598
|
-
*/
|
|
1599
|
-
interface PaginatedResults<T> {
|
|
1600
|
-
/** Результаты */
|
|
1601
|
-
items: T[];
|
|
1602
|
-
/** Общее количество результатов */
|
|
1603
|
-
total: number;
|
|
1604
|
-
/** Лимит результатов */
|
|
1605
|
-
limit: number;
|
|
1606
|
-
/** Смещение для пагинации */
|
|
1607
|
-
offset: number;
|
|
1608
|
-
/** Количество страниц */
|
|
1609
|
-
pageCount: number;
|
|
1610
|
-
/** Текущая страница */
|
|
1611
|
-
currentPage: number;
|
|
1612
|
-
}
|
|
1613
|
-
/**
|
|
1614
|
-
* Направление сортировки
|
|
1615
|
-
*/
|
|
1616
|
-
type SortDirection = 'asc' | 'desc';
|
|
1617
|
-
/**
|
|
1618
|
-
* Параметры сортировки
|
|
1619
|
-
*/
|
|
1620
|
-
interface SortParams {
|
|
1621
|
-
/** Поле для сортировки */
|
|
1622
|
-
field: string;
|
|
1623
|
-
/** Направление сортировки */
|
|
1624
|
-
direction: SortDirection;
|
|
1625
|
-
}
|
|
1626
|
-
/**
|
|
1627
|
-
* Параметры фильтрации
|
|
1628
|
-
*/
|
|
1629
|
-
interface FilterParams {
|
|
1630
|
-
/** Фильтры */
|
|
1631
|
-
[key: string]: any;
|
|
1632
|
-
}
|
|
1633
|
-
/**
|
|
1634
|
-
* Статус задачи
|
|
1635
|
-
*/
|
|
1636
|
-
type TaskStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
1637
|
-
/**
|
|
1638
|
-
* Базовая задача
|
|
1639
|
-
*/
|
|
1640
|
-
interface Task {
|
|
1641
|
-
/** Идентификатор задачи */
|
|
1642
|
-
id: string;
|
|
1643
|
-
/** Тип задачи */
|
|
1644
|
-
type: string;
|
|
1645
|
-
/** Статус задачи */
|
|
1646
|
-
status: TaskStatus;
|
|
1647
|
-
/** Прогресс выполнения (0-100) */
|
|
1648
|
-
progress: number;
|
|
1649
|
-
/** Сообщение о прогрессе */
|
|
1650
|
-
message?: string;
|
|
1651
|
-
/** Результат выполнения */
|
|
1652
|
-
result?: any;
|
|
1653
|
-
/** Сообщение об ошибке */
|
|
1654
|
-
error?: string;
|
|
1655
|
-
/** Дата создания */
|
|
1656
|
-
createdAt: string;
|
|
1657
|
-
/** Дата обновления */
|
|
1658
|
-
updatedAt: string;
|
|
1659
|
-
/** Дата завершения */
|
|
1660
|
-
completedAt?: string;
|
|
1661
|
-
}
|
|
1662
|
-
|
|
1663
|
-
declare const VERSION = "1.0.0";
|
|
1664
|
-
|
|
1665
|
-
export { AgentsApi, CodeModificationApi, CodeSolverSDK, type CodeSolverSDKOptions, CodeSolverWebSocketClient, ContextApi, type FilterParams, HttpClient, IndexingWebSocketClient, LogLevel, type LogMessage, type ModelSettings, type OperationResult, type PaginatedResults, type PaginationParams, type ProgrammingLanguage, ProjectsApi, ReasoningApi, type SdkMode, SearchApi, type SortDirection, type SortParams, SseClient, type Task, type TaskStatus, VERSION, WebSocketClient, WebSocketNamespace, CodeSolverSDK as default };
|