solver-sdk 1.0.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.
- package/README.md +248 -0
- package/dist/cjs/api/agents-api.js +94 -0
- package/dist/cjs/api/agents-api.js.map +1 -0
- package/dist/cjs/api/code-modification-api.js +60 -0
- package/dist/cjs/api/code-modification-api.js.map +1 -0
- package/dist/cjs/api/context-api.js +58 -0
- package/dist/cjs/api/context-api.js.map +1 -0
- package/dist/cjs/api/projects-api.js +82 -0
- package/dist/cjs/api/projects-api.js.map +1 -0
- package/dist/cjs/api/reasoning-api.js +73 -0
- package/dist/cjs/api/reasoning-api.js.map +1 -0
- package/dist/cjs/api/search-api.js +54 -0
- package/dist/cjs/api/search-api.js.map +1 -0
- package/dist/cjs/code-solver-sdk.js +327 -0
- package/dist/cjs/code-solver-sdk.js.map +1 -0
- package/dist/cjs/index.js +118 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/interfaces/http-client.js +3 -0
- package/dist/cjs/interfaces/http-client.js.map +1 -0
- package/dist/cjs/interfaces/sdk-options.js +3 -0
- package/dist/cjs/interfaces/sdk-options.js.map +1 -0
- package/dist/cjs/models/types.js +17 -0
- package/dist/cjs/models/types.js.map +1 -0
- package/dist/cjs/utils/code-solver-websocket-client.js +267 -0
- package/dist/cjs/utils/code-solver-websocket-client.js.map +1 -0
- package/dist/cjs/utils/http-client.js +234 -0
- package/dist/cjs/utils/http-client.js.map +1 -0
- package/dist/cjs/utils/indexing-websocket-client.js +107 -0
- package/dist/cjs/utils/indexing-websocket-client.js.map +1 -0
- package/dist/cjs/utils/sse-client.js +233 -0
- package/dist/cjs/utils/sse-client.js.map +1 -0
- package/dist/cjs/utils/websocket-client.js +268 -0
- package/dist/cjs/utils/websocket-client.js.map +1 -0
- package/dist/esm/api/agents-api.js +90 -0
- package/dist/esm/api/agents-api.js.map +1 -0
- package/dist/esm/api/code-modification-api.js +56 -0
- package/dist/esm/api/code-modification-api.js.map +1 -0
- package/dist/esm/api/context-api.js +54 -0
- package/dist/esm/api/context-api.js.map +1 -0
- package/dist/esm/api/projects-api.js +78 -0
- package/dist/esm/api/projects-api.js.map +1 -0
- package/dist/esm/api/reasoning-api.js +69 -0
- package/dist/esm/api/reasoning-api.js.map +1 -0
- package/dist/esm/api/search-api.js +50 -0
- package/dist/esm/api/search-api.js.map +1 -0
- package/dist/esm/code-solver-sdk.js +323 -0
- package/dist/esm/code-solver-sdk.js.map +1 -0
- package/dist/esm/index.js +1882 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaces/http-client.js +2 -0
- package/dist/esm/interfaces/http-client.js.map +1 -0
- package/dist/esm/interfaces/sdk-options.js +2 -0
- package/dist/esm/interfaces/sdk-options.js.map +1 -0
- package/dist/esm/models/types.js +14 -0
- package/dist/esm/models/types.js.map +1 -0
- package/dist/esm/types/api/agents-api.d.ts +141 -0
- package/dist/esm/types/api/agents-api.d.ts.map +1 -0
- package/dist/esm/types/api/code-modification-api.d.ts +104 -0
- package/dist/esm/types/api/code-modification-api.d.ts.map +1 -0
- package/dist/esm/types/api/context-api.d.ts +86 -0
- package/dist/esm/types/api/context-api.d.ts.map +1 -0
- package/dist/esm/types/api/projects-api.d.ts +89 -0
- package/dist/esm/types/api/projects-api.d.ts.map +1 -0
- package/dist/esm/types/api/reasoning-api.d.ts +130 -0
- package/dist/esm/types/api/reasoning-api.d.ts.map +1 -0
- package/dist/esm/types/api/search-api.d.ts +92 -0
- package/dist/esm/types/api/search-api.d.ts.map +1 -0
- package/dist/esm/types/code-solver-sdk.d.ts +145 -0
- package/dist/esm/types/code-solver-sdk.d.ts.map +1 -0
- package/dist/esm/types/index.d.ts +81 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/interfaces/http-client.d.ts +110 -0
- package/dist/esm/types/interfaces/http-client.d.ts.map +1 -0
- package/dist/esm/types/interfaces/sdk-options.d.ts +34 -0
- package/dist/esm/types/interfaces/sdk-options.d.ts.map +1 -0
- package/dist/esm/types/models/types.d.ts +139 -0
- package/dist/esm/types/models/types.d.ts.map +1 -0
- package/dist/esm/types/utils/code-solver-websocket-client.d.ts +138 -0
- package/dist/esm/types/utils/code-solver-websocket-client.d.ts.map +1 -0
- package/dist/esm/types/utils/http-client.d.ts +85 -0
- package/dist/esm/types/utils/http-client.d.ts.map +1 -0
- package/dist/esm/types/utils/indexing-websocket-client.d.ts +123 -0
- package/dist/esm/types/utils/indexing-websocket-client.d.ts.map +1 -0
- package/dist/esm/types/utils/sse-client.d.ts +92 -0
- package/dist/esm/types/utils/sse-client.d.ts.map +1 -0
- package/dist/esm/types/utils/websocket-client.d.ts +118 -0
- package/dist/esm/types/utils/websocket-client.d.ts.map +1 -0
- package/dist/esm/utils/code-solver-websocket-client.js +263 -0
- package/dist/esm/utils/code-solver-websocket-client.js.map +1 -0
- package/dist/esm/utils/http-client.js +227 -0
- package/dist/esm/utils/http-client.js.map +1 -0
- package/dist/esm/utils/indexing-websocket-client.js +103 -0
- package/dist/esm/utils/indexing-websocket-client.js.map +1 -0
- package/dist/esm/utils/sse-client.js +229 -0
- package/dist/esm/utils/sse-client.js.map +1 -0
- package/dist/esm/utils/websocket-client.js +264 -0
- package/dist/esm/utils/websocket-client.js.map +1 -0
- package/dist/index.d.ts +1599 -0
- package/dist/types/api/agents-api.d.ts +141 -0
- package/dist/types/api/agents-api.d.ts.map +1 -0
- package/dist/types/api/code-modification-api.d.ts +104 -0
- package/dist/types/api/code-modification-api.d.ts.map +1 -0
- package/dist/types/api/context-api.d.ts +86 -0
- package/dist/types/api/context-api.d.ts.map +1 -0
- package/dist/types/api/projects-api.d.ts +89 -0
- package/dist/types/api/projects-api.d.ts.map +1 -0
- package/dist/types/api/reasoning-api.d.ts +130 -0
- package/dist/types/api/reasoning-api.d.ts.map +1 -0
- package/dist/types/api/search-api.d.ts +92 -0
- package/dist/types/api/search-api.d.ts.map +1 -0
- package/dist/types/code-solver-sdk.d.ts +145 -0
- package/dist/types/code-solver-sdk.d.ts.map +1 -0
- package/dist/types/index.d.ts +81 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/interfaces/http-client.d.ts +110 -0
- package/dist/types/interfaces/http-client.d.ts.map +1 -0
- package/dist/types/interfaces/sdk-options.d.ts +34 -0
- package/dist/types/interfaces/sdk-options.d.ts.map +1 -0
- package/dist/types/models/types.d.ts +139 -0
- package/dist/types/models/types.d.ts.map +1 -0
- package/dist/types/utils/code-solver-websocket-client.d.ts +138 -0
- package/dist/types/utils/code-solver-websocket-client.d.ts.map +1 -0
- package/dist/types/utils/http-client.d.ts +85 -0
- package/dist/types/utils/http-client.d.ts.map +1 -0
- package/dist/types/utils/indexing-websocket-client.d.ts +123 -0
- package/dist/types/utils/indexing-websocket-client.d.ts.map +1 -0
- package/dist/types/utils/sse-client.d.ts +92 -0
- package/dist/types/utils/sse-client.d.ts.map +1 -0
- package/dist/types/utils/websocket-client.d.ts +118 -0
- package/dist/types/utils/websocket-client.d.ts.map +1 -0
- package/dist/umd/code-solver-sdk.js +1902 -0
- package/dist/umd/code-solver-sdk.js.map +1 -0
- package/dist/umd/code-solver-sdk.min.js +2 -0
- package/dist/umd/code-solver-sdk.min.js.map +1 -0
- package/dist/umd/types/api/agents-api.d.ts +141 -0
- package/dist/umd/types/api/agents-api.d.ts.map +1 -0
- package/dist/umd/types/api/code-modification-api.d.ts +104 -0
- package/dist/umd/types/api/code-modification-api.d.ts.map +1 -0
- package/dist/umd/types/api/context-api.d.ts +86 -0
- package/dist/umd/types/api/context-api.d.ts.map +1 -0
- package/dist/umd/types/api/projects-api.d.ts +89 -0
- package/dist/umd/types/api/projects-api.d.ts.map +1 -0
- package/dist/umd/types/api/reasoning-api.d.ts +130 -0
- package/dist/umd/types/api/reasoning-api.d.ts.map +1 -0
- package/dist/umd/types/api/search-api.d.ts +92 -0
- package/dist/umd/types/api/search-api.d.ts.map +1 -0
- package/dist/umd/types/code-solver-sdk.d.ts +145 -0
- package/dist/umd/types/code-solver-sdk.d.ts.map +1 -0
- package/dist/umd/types/index.d.ts +81 -0
- package/dist/umd/types/index.d.ts.map +1 -0
- package/dist/umd/types/interfaces/http-client.d.ts +110 -0
- package/dist/umd/types/interfaces/http-client.d.ts.map +1 -0
- package/dist/umd/types/interfaces/sdk-options.d.ts +34 -0
- package/dist/umd/types/interfaces/sdk-options.d.ts.map +1 -0
- package/dist/umd/types/models/types.d.ts +139 -0
- package/dist/umd/types/models/types.d.ts.map +1 -0
- package/dist/umd/types/utils/code-solver-websocket-client.d.ts +138 -0
- package/dist/umd/types/utils/code-solver-websocket-client.d.ts.map +1 -0
- package/dist/umd/types/utils/http-client.d.ts +85 -0
- package/dist/umd/types/utils/http-client.d.ts.map +1 -0
- package/dist/umd/types/utils/indexing-websocket-client.d.ts +123 -0
- package/dist/umd/types/utils/indexing-websocket-client.d.ts.map +1 -0
- package/dist/umd/types/utils/sse-client.d.ts +92 -0
- package/dist/umd/types/utils/sse-client.d.ts.map +1 -0
- package/dist/umd/types/utils/websocket-client.d.ts +118 -0
- package/dist/umd/types/utils/websocket-client.d.ts.map +1 -0
- package/package.json +98 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API для модификации кода
|
|
3
|
+
*/
|
|
4
|
+
export class CodeModificationApi {
|
|
5
|
+
/**
|
|
6
|
+
* Создает новый экземпляр API для модификации кода
|
|
7
|
+
* @param {HttpClient} httpClient HTTP клиент
|
|
8
|
+
*/
|
|
9
|
+
constructor(httpClient) {
|
|
10
|
+
this.httpClient = httpClient;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Выполняет модификацию кода
|
|
14
|
+
* @param {CodeModificationParams} params Параметры модификации
|
|
15
|
+
* @returns {Promise<CodeModificationResult>} Результат модификации
|
|
16
|
+
*/
|
|
17
|
+
async modifyCode(params) {
|
|
18
|
+
return this.httpClient.post('/api/code-modifications', params);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Применяет результат модификации к файлу
|
|
22
|
+
* @param {string} modificationId Идентификатор модификации
|
|
23
|
+
* @returns {Promise<CodeModificationResult>} Обновленный результат модификации
|
|
24
|
+
*/
|
|
25
|
+
async applyModification(modificationId) {
|
|
26
|
+
return this.httpClient.post(`/api/code-modifications/${modificationId}/apply`);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Отменяет применение модификации
|
|
30
|
+
* @param {string} modificationId Идентификатор модификации
|
|
31
|
+
* @returns {Promise<CodeModificationResult>} Обновленный результат модификации
|
|
32
|
+
*/
|
|
33
|
+
async revertModification(modificationId) {
|
|
34
|
+
return this.httpClient.post(`/api/code-modifications/${modificationId}/revert`);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Получает модификацию по идентификатору
|
|
38
|
+
* @param {string} modificationId Идентификатор модификации
|
|
39
|
+
* @returns {Promise<CodeModificationResult>} Результат модификации
|
|
40
|
+
*/
|
|
41
|
+
async getModification(modificationId) {
|
|
42
|
+
return this.httpClient.get(`/api/code-modifications/${modificationId}`);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Получает список модификаций для проекта
|
|
46
|
+
* @param {string} projectId Идентификатор проекта
|
|
47
|
+
* @param {object} [params] Параметры запроса
|
|
48
|
+
* @param {number} [params.limit] Лимит результатов
|
|
49
|
+
* @param {number} [params.offset] Смещение для пагинации
|
|
50
|
+
* @returns {Promise<CodeModificationResult[]>} Список результатов модификации
|
|
51
|
+
*/
|
|
52
|
+
async getModifications(projectId, params) {
|
|
53
|
+
return this.httpClient.get(`/api/projects/${projectId}/code-modifications`, params);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=code-modification-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-modification-api.js","sourceRoot":"","sources":["../../../src/api/code-modification-api.ts"],"names":[],"mappings":"AA2EA;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAI9B;;;OAGG;IACH,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,MAA8B;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAAC,cAAsB;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,2BAA2B,cAAc,QAAQ,CAAC,CAAC;IACjF,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,kBAAkB,CAAC,cAAsB;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,2BAA2B,cAAc,SAAS,CAAC,CAAC;IAClF,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,cAAsB;QACjD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,gBAAgB,CAC3B,SAAiB,EACjB,MAA4C;QAE5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,SAAS,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACtF,CAAC;CACF"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API для работы с контекстом
|
|
3
|
+
*/
|
|
4
|
+
export class ContextApi {
|
|
5
|
+
/**
|
|
6
|
+
* Создает новый экземпляр API для работы с контекстом
|
|
7
|
+
* @param {HttpClient} httpClient HTTP клиент
|
|
8
|
+
*/
|
|
9
|
+
constructor(httpClient) {
|
|
10
|
+
this.httpClient = httpClient;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Определяет контекст для запроса
|
|
14
|
+
* @param {DetectContextParams} params Параметры определения контекста
|
|
15
|
+
* @returns {Promise<AutoContext>} Определенный контекст
|
|
16
|
+
*/
|
|
17
|
+
async detectContext(params) {
|
|
18
|
+
return this.httpClient.post('/api/context/detect', params);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Получает содержимое файла
|
|
22
|
+
* @param {string} projectId Идентификатор проекта
|
|
23
|
+
* @param {string} filePath Путь к файлу
|
|
24
|
+
* @returns {Promise<string>} Содержимое файла
|
|
25
|
+
*/
|
|
26
|
+
async getFileContent(projectId, filePath) {
|
|
27
|
+
return this.httpClient.get(`/api/projects/${projectId}/files`, { path: filePath });
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Получает содержимое фрагмента файла
|
|
31
|
+
* @param {string} projectId Идентификатор проекта
|
|
32
|
+
* @param {string} filePath Путь к файлу
|
|
33
|
+
* @param {number} startLine Начальная строка
|
|
34
|
+
* @param {number} endLine Конечная строка
|
|
35
|
+
* @returns {Promise<CodeSnippet>} Фрагмент кода
|
|
36
|
+
*/
|
|
37
|
+
async getFileSnippet(projectId, filePath, startLine, endLine) {
|
|
38
|
+
return this.httpClient.get(`/api/projects/${projectId}/snippets`, {
|
|
39
|
+
path: filePath,
|
|
40
|
+
startLine,
|
|
41
|
+
endLine
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Получает структуру директории
|
|
46
|
+
* @param {string} projectId Идентификатор проекта
|
|
47
|
+
* @param {string} [dirPath='/'] Путь к директории
|
|
48
|
+
* @returns {Promise<Array<{name: string, type: 'file' | 'directory', path: string}>>} Структура директории
|
|
49
|
+
*/
|
|
50
|
+
async getDirectoryStructure(projectId, dirPath = '/') {
|
|
51
|
+
return this.httpClient.get(`/api/projects/${projectId}/directory`, { path: dirPath });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=context-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-api.js","sourceRoot":"","sources":["../../../src/api/context-api.ts"],"names":[],"mappings":"AAqDA;;GAEG;AACH,MAAM,OAAO,UAAU;IAIrB;;;OAGG;IACH,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,MAA2B;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,QAAgB;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,SAAS,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,cAAc,CACzB,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,OAAe;QAEf,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,SAAS,WAAW,EAAE;YAChE,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,qBAAqB,CAChC,SAAiB,EACjB,UAAkB,GAAG;QAErB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,SAAS,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;CACF"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API для работы с проектами
|
|
3
|
+
*/
|
|
4
|
+
export class ProjectsApi {
|
|
5
|
+
/**
|
|
6
|
+
* Создает новый экземпляр API для работы с проектами
|
|
7
|
+
* @param {HttpClient} httpClient HTTP клиент
|
|
8
|
+
*/
|
|
9
|
+
constructor(httpClient) {
|
|
10
|
+
this.httpClient = httpClient;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Получает список всех проектов
|
|
14
|
+
* @returns {Promise<Project[]>} Список проектов
|
|
15
|
+
*/
|
|
16
|
+
async getAllProjects() {
|
|
17
|
+
return this.httpClient.get('/api/projects');
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Получает проект по идентификатору
|
|
21
|
+
* @param {string} projectId Идентификатор проекта
|
|
22
|
+
* @returns {Promise<Project>} Проект
|
|
23
|
+
*/
|
|
24
|
+
async getProject(projectId) {
|
|
25
|
+
return this.httpClient.get(`/api/projects/${projectId}`);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Создает новый проект
|
|
29
|
+
* @param {string} name Название проекта
|
|
30
|
+
* @param {string} path Путь к проекту
|
|
31
|
+
* @returns {Promise<Project>} Созданный проект
|
|
32
|
+
*/
|
|
33
|
+
async createProject(name, path) {
|
|
34
|
+
return this.httpClient.post('/api/projects', { name, path });
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Обновляет проект
|
|
38
|
+
* @param {string} projectId Идентификатор проекта
|
|
39
|
+
* @param {Partial<Pick<Project, 'name' | 'path'>>} data Данные для обновления
|
|
40
|
+
* @returns {Promise<Project>} Обновленный проект
|
|
41
|
+
*/
|
|
42
|
+
async updateProject(projectId, data) {
|
|
43
|
+
return this.httpClient.put(`/api/projects/${projectId}`, data);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Удаляет проект
|
|
47
|
+
* @param {string} projectId Идентификатор проекта
|
|
48
|
+
* @returns {Promise<void>}
|
|
49
|
+
*/
|
|
50
|
+
async deleteProject(projectId) {
|
|
51
|
+
return this.httpClient.delete(`/api/projects/${projectId}`);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Запускает индексацию проекта
|
|
55
|
+
* @param {string} projectId Идентификатор проекта
|
|
56
|
+
* @returns {Promise<Project>} Обновленный проект
|
|
57
|
+
*/
|
|
58
|
+
async indexProject(projectId) {
|
|
59
|
+
return this.httpClient.post(`/api/projects/${projectId}/index`);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Останавливает индексацию проекта
|
|
63
|
+
* @param {string} projectId Идентификатор проекта
|
|
64
|
+
* @returns {Promise<Project>} Обновленный проект
|
|
65
|
+
*/
|
|
66
|
+
async stopIndexing(projectId) {
|
|
67
|
+
return this.httpClient.post(`/api/projects/${projectId}/stop-indexing`);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Получает статус индексации проекта
|
|
71
|
+
* @param {string} projectId Идентификатор проекта
|
|
72
|
+
* @returns {Promise<Project>} Проект с обновленным статусом индексации
|
|
73
|
+
*/
|
|
74
|
+
async getIndexingStatus(projectId) {
|
|
75
|
+
return this.httpClient.get(`/api/projects/${projectId}/indexing-status`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=projects-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects-api.js","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":"AAqCA;;GAEG;AACH,MAAM,OAAO,WAAW;IAItB;;;OAGG;IACH,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,cAAc;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,SAAiB;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,IAAY;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,aAAa,CACxB,SAAiB,EACjB,IAA6C;QAE7C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,SAAiB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,SAAS,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,SAAiB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,SAAS,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,SAAS,kBAAkB,CAAC,CAAC;IAC3E,CAAC;CACF"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API для работы с рассуждениями
|
|
3
|
+
*/
|
|
4
|
+
export class ReasoningApi {
|
|
5
|
+
/**
|
|
6
|
+
* Создает новый экземпляр API для работы с рассуждениями
|
|
7
|
+
* @param {HttpClient} httpClient HTTP клиент
|
|
8
|
+
*/
|
|
9
|
+
constructor(httpClient) {
|
|
10
|
+
this.httpClient = httpClient;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Получает список рассуждений
|
|
14
|
+
* @param {GetReasoningsParams} [params] Параметры для получения списка
|
|
15
|
+
* @returns {Promise<Reasoning[]>} Список рассуждений
|
|
16
|
+
*/
|
|
17
|
+
async getReasonings(params) {
|
|
18
|
+
return this.httpClient.get('/api/reasonings', params);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Получает рассуждение по идентификатору
|
|
22
|
+
* @param {string} reasoningId Идентификатор рассуждения
|
|
23
|
+
* @returns {Promise<Reasoning>} Рассуждение
|
|
24
|
+
*/
|
|
25
|
+
async getReasoning(reasoningId) {
|
|
26
|
+
return this.httpClient.get(`/api/reasonings/${reasoningId}`);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Создает новое рассуждение
|
|
30
|
+
* @param {CreateReasoningParams} params Параметры рассуждения
|
|
31
|
+
* @returns {Promise<Reasoning>} Созданное рассуждение
|
|
32
|
+
*/
|
|
33
|
+
async createReasoning(params) {
|
|
34
|
+
return this.httpClient.post('/api/reasonings', params);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Запускает процесс рассуждения
|
|
38
|
+
* @param {string} reasoningId Идентификатор рассуждения
|
|
39
|
+
* @returns {Promise<Reasoning>} Рассуждение
|
|
40
|
+
*/
|
|
41
|
+
async startReasoning(reasoningId) {
|
|
42
|
+
return this.httpClient.post(`/api/reasonings/${reasoningId}/start`);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Останавливает процесс рассуждения
|
|
46
|
+
* @param {string} reasoningId Идентификатор рассуждения
|
|
47
|
+
* @returns {Promise<Reasoning>} Рассуждение
|
|
48
|
+
*/
|
|
49
|
+
async stopReasoning(reasoningId) {
|
|
50
|
+
return this.httpClient.post(`/api/reasonings/${reasoningId}/stop`);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Удаляет рассуждение
|
|
54
|
+
* @param {string} reasoningId Идентификатор рассуждения
|
|
55
|
+
* @returns {Promise<void>}
|
|
56
|
+
*/
|
|
57
|
+
async deleteReasoning(reasoningId) {
|
|
58
|
+
return this.httpClient.delete(`/api/reasonings/${reasoningId}`);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Получает промежуточные мысли рассуждения
|
|
62
|
+
* @param {string} reasoningId Идентификатор рассуждения
|
|
63
|
+
* @returns {Promise<string[]>} Промежуточные мысли
|
|
64
|
+
*/
|
|
65
|
+
async getThinking(reasoningId) {
|
|
66
|
+
return this.httpClient.get(`/api/reasonings/${reasoningId}/thinking`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=reasoning-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasoning-api.js","sourceRoot":"","sources":["../../../src/api/reasoning-api.ts"],"names":[],"mappings":"AAqGA;;GAEG;AACH,MAAM,OAAO,YAAY;IAIvB;;;OAGG;IACH,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,MAA4B;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,WAAmB;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,MAA6B;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,cAAc,CAAC,WAAmB;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,WAAW,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,WAAmB;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,WAAW,OAAO,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,WAAmB;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,WAAmB;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,WAAW,WAAW,CAAC,CAAC;IACxE,CAAC;CACF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API для поиска кода
|
|
3
|
+
*/
|
|
4
|
+
export class SearchApi {
|
|
5
|
+
/**
|
|
6
|
+
* Создает новый экземпляр API для поиска кода
|
|
7
|
+
* @param {HttpClient} httpClient HTTP клиент
|
|
8
|
+
*/
|
|
9
|
+
constructor(httpClient) {
|
|
10
|
+
this.httpClient = httpClient;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Выполняет поиск кода в проекте
|
|
14
|
+
* @param {string} projectId Идентификатор проекта
|
|
15
|
+
* @param {SearchCodeParams} params Параметры поиска
|
|
16
|
+
* @returns {Promise<SearchResults>} Результаты поиска
|
|
17
|
+
*/
|
|
18
|
+
async searchCode(projectId, params) {
|
|
19
|
+
return this.httpClient.post(`/api/projects/${projectId}/search`, params);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Выполняет семантический поиск кода в проекте
|
|
23
|
+
* @param {string} projectId Идентификатор проекта
|
|
24
|
+
* @param {SearchCodeParams} params Параметры поиска
|
|
25
|
+
* @returns {Promise<SearchResults>} Результаты поиска
|
|
26
|
+
*/
|
|
27
|
+
async semanticSearch(projectId, params) {
|
|
28
|
+
return this.httpClient.post(`/api/projects/${projectId}/semantic-search`, params);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Получает популярные поисковые запросы
|
|
32
|
+
* @param {string} projectId Идентификатор проекта
|
|
33
|
+
* @param {number} [limit=10] Лимит результатов
|
|
34
|
+
* @returns {Promise<string[]>} Популярные поисковые запросы
|
|
35
|
+
*/
|
|
36
|
+
async getPopularQueries(projectId, limit = 10) {
|
|
37
|
+
return this.httpClient.get(`/api/projects/${projectId}/popular-queries`, { limit });
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Получает подсказки для автозаполнения поискового запроса
|
|
41
|
+
* @param {string} projectId Идентификатор проекта
|
|
42
|
+
* @param {string} query Начало поискового запроса
|
|
43
|
+
* @param {number} [limit=5] Лимит результатов
|
|
44
|
+
* @returns {Promise<string[]>} Подсказки для автозаполнения
|
|
45
|
+
*/
|
|
46
|
+
async getQuerySuggestions(projectId, query, limit = 5) {
|
|
47
|
+
return this.httpClient.get(`/api/projects/${projectId}/query-suggestions`, { query, limit });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=search-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-api.js","sourceRoot":"","sources":["../../../src/api/search-api.ts"],"names":[],"mappings":"AAoEA;;GAEG;AACH,MAAM,OAAO,SAAS;IAIpB;;;OAGG;IACH,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,MAAwB;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,SAAS,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,MAAwB;QACrE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,SAAS,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACpF,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,QAAgB,EAAE;QAClE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,SAAS,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,mBAAmB,CAC9B,SAAiB,EACjB,KAAa,EACb,QAAgB,CAAC;QAEjB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,SAAS,oBAAoB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/F,CAAC;CACF"}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import { HttpClient } from './utils/http-client.js';
|
|
2
|
+
import { ProjectsApi } from './api/projects-api.js';
|
|
3
|
+
import { SearchApi } from './api/search-api.js';
|
|
4
|
+
import { ContextApi } from './api/context-api.js';
|
|
5
|
+
import { ReasoningApi } from './api/reasoning-api.js';
|
|
6
|
+
import { CodeModificationApi } from './api/code-modification-api.js';
|
|
7
|
+
import { CodeSolverWebSocketClient, WebSocketNamespace } from './utils/code-solver-websocket-client.js';
|
|
8
|
+
import { AgentsApi } from './api/agents-api.js';
|
|
9
|
+
// Версия SDK
|
|
10
|
+
const SDK_VERSION = '1.0.0';
|
|
11
|
+
/**
|
|
12
|
+
* Определение типа среды выполнения
|
|
13
|
+
* @returns 'browser' | 'node' | 'unknown'
|
|
14
|
+
*/
|
|
15
|
+
function getEnvironment() {
|
|
16
|
+
if (typeof window !== 'undefined' && typeof window.document !== 'undefined') {
|
|
17
|
+
return 'browser';
|
|
18
|
+
}
|
|
19
|
+
else if (typeof process !== 'undefined' && process.versions && process.versions.node) {
|
|
20
|
+
return 'node';
|
|
21
|
+
}
|
|
22
|
+
return 'unknown';
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Основной класс SDK для работы с Code Solver API
|
|
26
|
+
* Поддерживает работу как в браузере, так и в Node.js
|
|
27
|
+
*/
|
|
28
|
+
export class CodeSolverSDK {
|
|
29
|
+
/**
|
|
30
|
+
* Создает новый экземпляр SDK
|
|
31
|
+
* @param {CodeSolverSDKOptions} options Опции SDK
|
|
32
|
+
*/
|
|
33
|
+
constructor(options) {
|
|
34
|
+
/** WebSocket клиент для работы с реалтайм API */
|
|
35
|
+
this.wsClient = null;
|
|
36
|
+
this._options = {
|
|
37
|
+
...options,
|
|
38
|
+
mode: options.mode || 'auto'
|
|
39
|
+
};
|
|
40
|
+
// Определяем среду выполнения
|
|
41
|
+
this.environment = this._options.mode === 'auto'
|
|
42
|
+
? getEnvironment()
|
|
43
|
+
: this._options.mode === 'browser' ? 'browser' : 'node';
|
|
44
|
+
// Инициализируем HTTP клиент
|
|
45
|
+
this.httpClient = new HttpClient(this._options.baseURL, {
|
|
46
|
+
headers: {
|
|
47
|
+
...(this._options.apiKey ? { 'Authorization': `Bearer ${this._options.apiKey}` } : {}),
|
|
48
|
+
...(this._options.headers || {})
|
|
49
|
+
},
|
|
50
|
+
timeout: this._options.timeout,
|
|
51
|
+
httpsAgent: this.environment === 'node' ? this._options.httpsAgent : undefined
|
|
52
|
+
});
|
|
53
|
+
// Инициализируем API клиенты
|
|
54
|
+
this._agents = new AgentsApi(this.httpClient);
|
|
55
|
+
this._context = new ContextApi(this.httpClient);
|
|
56
|
+
this._projects = new ProjectsApi(this.httpClient);
|
|
57
|
+
this._search = new SearchApi(this.httpClient);
|
|
58
|
+
this._reasoning = new ReasoningApi(this.httpClient);
|
|
59
|
+
this._codeModification = new CodeModificationApi(this.httpClient);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Проверяет доступность API
|
|
63
|
+
* @returns {Promise<boolean>} Доступен ли API
|
|
64
|
+
*/
|
|
65
|
+
async checkHealth() {
|
|
66
|
+
try {
|
|
67
|
+
await this.httpClient.get('/health');
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Получает WebSocket клиент
|
|
76
|
+
* @returns {CodeSolverWebSocketClient} WebSocket клиент
|
|
77
|
+
*/
|
|
78
|
+
getWebSocketClient() {
|
|
79
|
+
if (!this.wsClient) {
|
|
80
|
+
this.wsClient = new CodeSolverWebSocketClient(this._options.baseURL, {
|
|
81
|
+
apiKey: this._options.apiKey,
|
|
82
|
+
headers: this._options.headers
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
return this.wsClient;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* API для работы с агентами
|
|
89
|
+
*/
|
|
90
|
+
get agents() {
|
|
91
|
+
return this._agents;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* API для работы с контекстом
|
|
95
|
+
*/
|
|
96
|
+
get context() {
|
|
97
|
+
return this._context;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* API для работы с проектами
|
|
101
|
+
*/
|
|
102
|
+
get projects() {
|
|
103
|
+
return this._projects;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* API для поиска кода
|
|
107
|
+
*/
|
|
108
|
+
get search() {
|
|
109
|
+
return this._search;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* API для работы с рассуждениями
|
|
113
|
+
*/
|
|
114
|
+
get reasoning() {
|
|
115
|
+
return this._reasoning;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* API для модификации кода
|
|
119
|
+
*/
|
|
120
|
+
get codeModification() {
|
|
121
|
+
return this._codeModification;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Опции SDK
|
|
125
|
+
*/
|
|
126
|
+
get options() {
|
|
127
|
+
return this._options;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Получает текущую среду выполнения
|
|
131
|
+
* @returns {string} Среда выполнения ('browser', 'node', 'unknown')
|
|
132
|
+
*/
|
|
133
|
+
getEnvironment() {
|
|
134
|
+
return this.environment;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Закрывает все соединения и освобождает ресурсы
|
|
138
|
+
*/
|
|
139
|
+
dispose() {
|
|
140
|
+
if (this.wsClient) {
|
|
141
|
+
this.wsClient.disconnectAll();
|
|
142
|
+
this.wsClient = null;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Устанавливает глобальный обработчик ошибок SDK
|
|
147
|
+
* @param {(error: Error) => void} handler Функция-обработчик ошибок
|
|
148
|
+
*/
|
|
149
|
+
static setErrorHandler(handler) {
|
|
150
|
+
CodeSolverSDK.errorHandler = handler;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Обрабатывает ошибку через глобальный обработчик, если он установлен
|
|
154
|
+
* @param {Error} error Ошибка для обработки
|
|
155
|
+
*/
|
|
156
|
+
static handleError(error) {
|
|
157
|
+
if (CodeSolverSDK.errorHandler) {
|
|
158
|
+
CodeSolverSDK.errorHandler(error);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
console.error('[CodeSolverSDK]', error);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Возвращает текущую версию SDK
|
|
166
|
+
* @returns {string} Версия SDK
|
|
167
|
+
*/
|
|
168
|
+
static getVersion() {
|
|
169
|
+
return SDK_VERSION;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Возвращает текущую версию SDK
|
|
173
|
+
* @returns {string} Версия SDK
|
|
174
|
+
*/
|
|
175
|
+
getVersion() {
|
|
176
|
+
return SDK_VERSION;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Устанавливает новый API ключ для SDK
|
|
180
|
+
* @param {string} apiKey Новый API ключ
|
|
181
|
+
*/
|
|
182
|
+
setApiKey(apiKey) {
|
|
183
|
+
if (!apiKey) {
|
|
184
|
+
throw new Error('API ключ не может быть пустым');
|
|
185
|
+
}
|
|
186
|
+
// Обновляем опции
|
|
187
|
+
this._options.apiKey = apiKey;
|
|
188
|
+
// Пересоздаем HTTP клиент с новым API ключом
|
|
189
|
+
const newHttpClient = new HttpClient(this._options.baseURL, {
|
|
190
|
+
headers: {
|
|
191
|
+
...this._options.headers,
|
|
192
|
+
'Authorization': `Bearer ${apiKey}`
|
|
193
|
+
},
|
|
194
|
+
timeout: this._options.timeout,
|
|
195
|
+
httpsAgent: this.environment === 'node' ? this._options.httpsAgent : undefined
|
|
196
|
+
});
|
|
197
|
+
// Обновляем ссылки на клиент и API
|
|
198
|
+
this.httpClient = newHttpClient;
|
|
199
|
+
this._agents = new AgentsApi(newHttpClient);
|
|
200
|
+
this._context = new ContextApi(newHttpClient);
|
|
201
|
+
this._projects = new ProjectsApi(newHttpClient);
|
|
202
|
+
this._search = new SearchApi(newHttpClient);
|
|
203
|
+
this._reasoning = new ReasoningApi(newHttpClient);
|
|
204
|
+
this._codeModification = new CodeModificationApi(newHttpClient);
|
|
205
|
+
// Если есть WebSocket клиент, пересоздаем его
|
|
206
|
+
if (this.wsClient) {
|
|
207
|
+
const isConnected = this.wsClient.isConnectedToReasoning() || this.wsClient.isConnectedToIndexing();
|
|
208
|
+
this.wsClient.disconnectAll();
|
|
209
|
+
this.wsClient = new CodeSolverWebSocketClient(this._options.baseURL, {
|
|
210
|
+
apiKey,
|
|
211
|
+
headers: this._options.headers
|
|
212
|
+
});
|
|
213
|
+
// Если был подключен, восстанавливаем соединение
|
|
214
|
+
if (isConnected) {
|
|
215
|
+
this.connect().catch(() => { });
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Подключается к WebSocket серверу
|
|
221
|
+
* @returns {Promise<boolean>} Promise с результатом подключения
|
|
222
|
+
*/
|
|
223
|
+
async connect() {
|
|
224
|
+
try {
|
|
225
|
+
const wsClient = this.getWebSocketClient();
|
|
226
|
+
// Подключаемся к обоим пространствам имен
|
|
227
|
+
await wsClient.connectToReasoning();
|
|
228
|
+
await wsClient.connectToIndexing();
|
|
229
|
+
return true;
|
|
230
|
+
}
|
|
231
|
+
catch (error) {
|
|
232
|
+
CodeSolverSDK.handleError(error);
|
|
233
|
+
return false;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Отключается от WebSocket сервера
|
|
238
|
+
* @returns {Promise<void>} Promise без результата
|
|
239
|
+
*/
|
|
240
|
+
async disconnect() {
|
|
241
|
+
if (this.wsClient) {
|
|
242
|
+
await this.wsClient.disconnectAll();
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Проверяет, подключен ли SDK к WebSocket серверу
|
|
247
|
+
* @returns {boolean} Статус подключения
|
|
248
|
+
*/
|
|
249
|
+
isConnected() {
|
|
250
|
+
if (!this.wsClient)
|
|
251
|
+
return false;
|
|
252
|
+
return this.wsClient.isConnectedToReasoning() || this.wsClient.isConnectedToIndexing();
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Проверяет доступность API (алиас для checkHealth)
|
|
256
|
+
* @returns {Promise<boolean>} Promise с результатом проверки
|
|
257
|
+
*/
|
|
258
|
+
async isHealthy() {
|
|
259
|
+
return this.checkHealth();
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Проверяет доступность всех сервисов API
|
|
263
|
+
* @returns {Promise<{[key: string]: boolean}>} Статус каждого сервиса
|
|
264
|
+
*/
|
|
265
|
+
async checkServices() {
|
|
266
|
+
try {
|
|
267
|
+
const results = {
|
|
268
|
+
api: false,
|
|
269
|
+
websocket: false,
|
|
270
|
+
database: false,
|
|
271
|
+
search: false
|
|
272
|
+
};
|
|
273
|
+
try {
|
|
274
|
+
// Проверка API
|
|
275
|
+
results.api = await this.checkHealth();
|
|
276
|
+
// Проверка других компонентов через запрос статуса
|
|
277
|
+
const response = await this.httpClient.get('/api/v1/status');
|
|
278
|
+
if (response && typeof response === 'object') {
|
|
279
|
+
results.database = Boolean(response.database?.connected);
|
|
280
|
+
results.search = Boolean(response.search?.connected);
|
|
281
|
+
// Проверка WebSocket соединения
|
|
282
|
+
if (this.wsClient) {
|
|
283
|
+
results.websocket = this.wsClient.isConnectedToReasoning() ||
|
|
284
|
+
this.wsClient.isConnectedToIndexing();
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
try {
|
|
288
|
+
const wsClient = this.getWebSocketClient();
|
|
289
|
+
await wsClient.connectToReasoning();
|
|
290
|
+
results.websocket = true;
|
|
291
|
+
await wsClient.disconnect(WebSocketNamespace.REASONING);
|
|
292
|
+
}
|
|
293
|
+
catch (e) {
|
|
294
|
+
results.websocket = false;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
catch (error) {
|
|
300
|
+
// Игнорируем ошибки при проверке
|
|
301
|
+
}
|
|
302
|
+
return results;
|
|
303
|
+
}
|
|
304
|
+
catch (error) {
|
|
305
|
+
return {
|
|
306
|
+
api: false,
|
|
307
|
+
websocket: false,
|
|
308
|
+
database: false,
|
|
309
|
+
search: false
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Закрывает соединение с сервером (алиас для dispose)
|
|
315
|
+
*/
|
|
316
|
+
close() {
|
|
317
|
+
this.dispose();
|
|
318
|
+
return Promise.resolve();
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
/** Глобальный обработчик ошибок */
|
|
322
|
+
CodeSolverSDK.errorHandler = null;
|
|
323
|
+
//# sourceMappingURL=code-solver-sdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-solver-sdk.js","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":"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"}
|