solver-sdk 3.1.16 → 3.1.18
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 +24 -4
- package/dist/cjs/api/chat-api/index.js +27 -118
- package/dist/cjs/api/chat-api/index.js.map +1 -1
- package/dist/cjs/api/models-api.js +0 -24
- package/dist/cjs/api/models-api.js.map +1 -1
- package/dist/cjs/api/projects-api.js +47 -32
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/api/search-api.js +79 -135
- package/dist/cjs/api/search-api.js.map +1 -1
- package/dist/cjs/code-solver-sdk.js +3 -28
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/constants/anthropic.js +10 -0
- package/dist/cjs/constants/anthropic.js.map +1 -1
- package/dist/cjs/index.js +3 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/message-helpers.js +13 -18
- package/dist/cjs/utils/message-helpers.js.map +1 -1
- package/dist/cjs/utils/thinking-block-manager.js +125 -0
- package/dist/cjs/utils/thinking-block-manager.js.map +1 -0
- package/dist/cjs/version.js +58 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/api/chat-api/index.js +27 -118
- package/dist/esm/api/chat-api/index.js.map +1 -1
- package/dist/esm/api/models-api.js +0 -24
- package/dist/esm/api/models-api.js.map +1 -1
- package/dist/esm/api/projects-api.js +47 -32
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/api/search-api.js +79 -135
- package/dist/esm/api/search-api.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +3 -28
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/constants/anthropic.js +10 -0
- package/dist/esm/constants/anthropic.js.map +1 -1
- package/dist/esm/index.js +2 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/message-helpers.js +13 -18
- package/dist/esm/utils/message-helpers.js.map +1 -1
- package/dist/esm/utils/thinking-block-manager.js +121 -0
- package/dist/esm/utils/thinking-block-manager.js.map +1 -0
- package/dist/esm/version.js +22 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/types/api/chat-api/index.d.ts +0 -3
- package/dist/types/api/chat-api/index.d.ts.map +1 -1
- package/dist/types/api/chat-api/interfaces.d.ts +2 -2
- package/dist/types/api/chat-api/models.d.ts +6 -0
- package/dist/types/api/chat-api/models.d.ts.map +1 -1
- package/dist/types/api/models-api.d.ts +0 -15
- package/dist/types/api/models-api.d.ts.map +1 -1
- package/dist/types/api/projects-api.d.ts +13 -15
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/api/search-api.d.ts +53 -185
- package/dist/types/api/search-api.d.ts.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +0 -16
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/constants/anthropic.d.ts +6 -0
- package/dist/types/constants/anthropic.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces/sdk-options.d.ts +0 -4
- package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
- package/dist/types/utils/message-helpers.d.ts +4 -4
- package/dist/types/utils/message-helpers.d.ts.map +1 -1
- package/dist/types/utils/thinking-block-manager.d.ts +51 -0
- package/dist/types/utils/thinking-block-manager.d.ts.map +1 -0
- package/dist/types/version.d.ts +2 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +3 -4
- package/dist/cjs/api/code-modification-api.js +0 -60
- package/dist/cjs/api/code-modification-api.js.map +0 -1
- package/dist/cjs/api/context-api.js +0 -76
- package/dist/cjs/api/context-api.js.map +0 -1
- package/dist/esm/api/code-modification-api.js +0 -56
- package/dist/esm/api/code-modification-api.js.map +0 -1
- package/dist/esm/api/context-api.js +0 -72
- package/dist/esm/api/context-api.js.map +0 -1
- package/dist/types/api/code-modification-api.d.ts +0 -104
- package/dist/types/api/code-modification-api.d.ts.map +0 -1
- package/dist/types/api/context-api.d.ts +0 -100
- package/dist/types/api/context-api.d.ts.map +0 -1
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ContextApi = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Класс для работы с контекстом
|
|
6
|
-
*/
|
|
7
|
-
class ContextApi {
|
|
8
|
-
/**
|
|
9
|
-
* Создает новый экземпляр API для работы с контекстом
|
|
10
|
-
* @param {HttpClient} httpClient HTTP клиент
|
|
11
|
-
* @param {ProjectsApi} projectsApi API для работы с проектами
|
|
12
|
-
*/
|
|
13
|
-
constructor(httpClient, projectsApi) {
|
|
14
|
-
this.httpClient = httpClient;
|
|
15
|
-
this.projectsApi = projectsApi;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Определяет контекст для запроса
|
|
19
|
-
* @param {DetectContextParams} params Параметры определения контекста
|
|
20
|
-
* @returns {Promise<AutoContext>} Определенный контекст
|
|
21
|
-
*/
|
|
22
|
-
async detectContext(params) {
|
|
23
|
-
return this.httpClient.post('/api/context/build', {
|
|
24
|
-
query: params.query,
|
|
25
|
-
projectId: params.projectId,
|
|
26
|
-
maxSnippets: params.maxSnippets || 5,
|
|
27
|
-
relevanceThreshold: params.relevanceThreshold || 0.3
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Получает содержимое файла
|
|
32
|
-
* @param {string} projectId Идентификатор проекта
|
|
33
|
-
* @param {string} filePath Путь к файлу
|
|
34
|
-
* @returns {Promise<string>} Содержимое файла
|
|
35
|
-
*/
|
|
36
|
-
async getFileContent(projectId, filePath) {
|
|
37
|
-
return this.httpClient.get(`/api/projects/${projectId}/files`, { path: filePath });
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Получает содержимое фрагмента файла
|
|
41
|
-
* @param {string} projectId Идентификатор проекта
|
|
42
|
-
* @param {string} filePath Путь к файлу
|
|
43
|
-
* @param {number} startLine Начальная строка
|
|
44
|
-
* @param {number} endLine Конечная строка
|
|
45
|
-
* @returns {Promise<CodeSnippet>} Фрагмент кода
|
|
46
|
-
*/
|
|
47
|
-
async getFileSnippet(projectId, filePath, startLine, endLine) {
|
|
48
|
-
return this.httpClient.get(`/api/projects/${projectId}/snippets`, {
|
|
49
|
-
path: filePath,
|
|
50
|
-
startLine,
|
|
51
|
-
endLine
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Получает структуру директории
|
|
56
|
-
* @param {string} projectId Идентификатор проекта
|
|
57
|
-
* @param {string} [dirPath='/'] Путь к директории
|
|
58
|
-
* @returns {Promise<Array<{name: string, type: 'file' | 'directory', path: string}>>} Структура директории
|
|
59
|
-
*/
|
|
60
|
-
async getDirectoryStructure(projectId, dirPath = '/') {
|
|
61
|
-
return this.httpClient.get(`/api/projects/${projectId}/directory`, { path: dirPath });
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Обновляет индекс файла
|
|
65
|
-
* @param projectId ID проекта
|
|
66
|
-
* @param filePath Путь к файлу
|
|
67
|
-
* @param content Новое содержимое файла
|
|
68
|
-
* @param force Принудительное обновление
|
|
69
|
-
* @returns Информация об обновленном индексе файла
|
|
70
|
-
*/
|
|
71
|
-
async updateFileIndex(projectId, filePath, content, force = false) {
|
|
72
|
-
return this.projectsApi.updateFileIndex(projectId, filePath, { content, force });
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
exports.ContextApi = ContextApi;
|
|
76
|
-
//# sourceMappingURL=context-api.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-api.js","sourceRoot":"","sources":["../../../src/api/context-api.ts"],"names":[],"mappings":";;;AAuDA;;GAEG;AACH,MAAa,UAAU;IAOrB;;;;OAIG;IACH,YAAY,UAAsB,EAAE,WAAwB;QAC1D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,MAA2B;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAChD,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC;YACpC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,GAAG;SACrD,CAAC,CAAC;IACL,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;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,QAAgB,EAChB,OAAe,EACf,QAAiB,KAAK;QAEtB,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;CACF;AA3FD,gCA2FC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Класс для работы с контекстом
|
|
3
|
-
*/
|
|
4
|
-
export class ContextApi {
|
|
5
|
-
/**
|
|
6
|
-
* Создает новый экземпляр API для работы с контекстом
|
|
7
|
-
* @param {HttpClient} httpClient HTTP клиент
|
|
8
|
-
* @param {ProjectsApi} projectsApi API для работы с проектами
|
|
9
|
-
*/
|
|
10
|
-
constructor(httpClient, projectsApi) {
|
|
11
|
-
this.httpClient = httpClient;
|
|
12
|
-
this.projectsApi = projectsApi;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Определяет контекст для запроса
|
|
16
|
-
* @param {DetectContextParams} params Параметры определения контекста
|
|
17
|
-
* @returns {Promise<AutoContext>} Определенный контекст
|
|
18
|
-
*/
|
|
19
|
-
async detectContext(params) {
|
|
20
|
-
return this.httpClient.post('/api/context/build', {
|
|
21
|
-
query: params.query,
|
|
22
|
-
projectId: params.projectId,
|
|
23
|
-
maxSnippets: params.maxSnippets || 5,
|
|
24
|
-
relevanceThreshold: params.relevanceThreshold || 0.3
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Получает содержимое файла
|
|
29
|
-
* @param {string} projectId Идентификатор проекта
|
|
30
|
-
* @param {string} filePath Путь к файлу
|
|
31
|
-
* @returns {Promise<string>} Содержимое файла
|
|
32
|
-
*/
|
|
33
|
-
async getFileContent(projectId, filePath) {
|
|
34
|
-
return this.httpClient.get(`/api/projects/${projectId}/files`, { path: filePath });
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Получает содержимое фрагмента файла
|
|
38
|
-
* @param {string} projectId Идентификатор проекта
|
|
39
|
-
* @param {string} filePath Путь к файлу
|
|
40
|
-
* @param {number} startLine Начальная строка
|
|
41
|
-
* @param {number} endLine Конечная строка
|
|
42
|
-
* @returns {Promise<CodeSnippet>} Фрагмент кода
|
|
43
|
-
*/
|
|
44
|
-
async getFileSnippet(projectId, filePath, startLine, endLine) {
|
|
45
|
-
return this.httpClient.get(`/api/projects/${projectId}/snippets`, {
|
|
46
|
-
path: filePath,
|
|
47
|
-
startLine,
|
|
48
|
-
endLine
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Получает структуру директории
|
|
53
|
-
* @param {string} projectId Идентификатор проекта
|
|
54
|
-
* @param {string} [dirPath='/'] Путь к директории
|
|
55
|
-
* @returns {Promise<Array<{name: string, type: 'file' | 'directory', path: string}>>} Структура директории
|
|
56
|
-
*/
|
|
57
|
-
async getDirectoryStructure(projectId, dirPath = '/') {
|
|
58
|
-
return this.httpClient.get(`/api/projects/${projectId}/directory`, { path: dirPath });
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Обновляет индекс файла
|
|
62
|
-
* @param projectId ID проекта
|
|
63
|
-
* @param filePath Путь к файлу
|
|
64
|
-
* @param content Новое содержимое файла
|
|
65
|
-
* @param force Принудительное обновление
|
|
66
|
-
* @returns Информация об обновленном индексе файла
|
|
67
|
-
*/
|
|
68
|
-
async updateFileIndex(projectId, filePath, content, force = false) {
|
|
69
|
-
return this.projectsApi.updateFileIndex(projectId, filePath, { content, force });
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=context-api.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-api.js","sourceRoot":"","sources":["../../../src/api/context-api.ts"],"names":[],"mappings":"AAuDA;;GAEG;AACH,MAAM,OAAO,UAAU;IAOrB;;;;OAIG;IACH,YAAY,UAAsB,EAAE,WAAwB;QAC1D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,MAA2B;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAChD,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC;YACpC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,GAAG;SACrD,CAAC,CAAC;IACL,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;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,QAAgB,EAChB,OAAe,EACf,QAAiB,KAAK;QAEtB,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;CACF"}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '../utils/http-client.js';
|
|
2
|
-
/**
|
|
3
|
-
* Параметры для модификации кода
|
|
4
|
-
*/
|
|
5
|
-
export interface CodeModificationParams {
|
|
6
|
-
/** Идентификатор проекта */
|
|
7
|
-
projectId: string;
|
|
8
|
-
/** Инструкция для модификации кода */
|
|
9
|
-
instruction: string;
|
|
10
|
-
/** Путь к файлу для модификации */
|
|
11
|
-
filePath: string;
|
|
12
|
-
/** Содержимое файла (если файл не существует) */
|
|
13
|
-
fileContent?: string;
|
|
14
|
-
/** Начальная строка для модификации */
|
|
15
|
-
startLine?: number;
|
|
16
|
-
/** Конечная строка для модификации */
|
|
17
|
-
endLine?: number;
|
|
18
|
-
/** Дополнительный контекст для модификации */
|
|
19
|
-
context?: {
|
|
20
|
-
/** Дополнительные фрагменты кода */
|
|
21
|
-
codeSnippets?: Array<{
|
|
22
|
-
/** Путь к файлу */
|
|
23
|
-
filePath: string;
|
|
24
|
-
/** Начальная строка */
|
|
25
|
-
startLine: number;
|
|
26
|
-
/** Конечная строка */
|
|
27
|
-
endLine: number;
|
|
28
|
-
/** Содержимое */
|
|
29
|
-
content: string;
|
|
30
|
-
}>;
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Результат модификации кода
|
|
35
|
-
*/
|
|
36
|
-
export interface CodeModificationResult {
|
|
37
|
-
/** Идентификатор модификации */
|
|
38
|
-
id: string;
|
|
39
|
-
/** Идентификатор проекта */
|
|
40
|
-
projectId: string;
|
|
41
|
-
/** Путь к файлу */
|
|
42
|
-
filePath: string;
|
|
43
|
-
/** Исходное содержимое */
|
|
44
|
-
originalContent?: string;
|
|
45
|
-
/** Модифицированное содержимое */
|
|
46
|
-
modifiedContent: string;
|
|
47
|
-
/** Патч (diff) для применения изменений */
|
|
48
|
-
patch?: string;
|
|
49
|
-
/** Статус модификации */
|
|
50
|
-
status: 'pending' | 'completed' | 'error';
|
|
51
|
-
/** Дата создания */
|
|
52
|
-
createdAt: string;
|
|
53
|
-
/** Сообщение об ошибке (если есть) */
|
|
54
|
-
error?: string;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* API для модификации кода
|
|
58
|
-
*/
|
|
59
|
-
export declare class CodeModificationApi {
|
|
60
|
-
/** HTTP клиент */
|
|
61
|
-
private readonly httpClient;
|
|
62
|
-
/**
|
|
63
|
-
* Создает новый экземпляр API для модификации кода
|
|
64
|
-
* @param {HttpClient} httpClient HTTP клиент
|
|
65
|
-
*/
|
|
66
|
-
constructor(httpClient: HttpClient);
|
|
67
|
-
/**
|
|
68
|
-
* Выполняет модификацию кода
|
|
69
|
-
* @param {CodeModificationParams} params Параметры модификации
|
|
70
|
-
* @returns {Promise<CodeModificationResult>} Результат модификации
|
|
71
|
-
*/
|
|
72
|
-
modifyCode(params: CodeModificationParams): Promise<CodeModificationResult>;
|
|
73
|
-
/**
|
|
74
|
-
* Применяет результат модификации к файлу
|
|
75
|
-
* @param {string} modificationId Идентификатор модификации
|
|
76
|
-
* @returns {Promise<CodeModificationResult>} Обновленный результат модификации
|
|
77
|
-
*/
|
|
78
|
-
applyModification(modificationId: string): Promise<CodeModificationResult>;
|
|
79
|
-
/**
|
|
80
|
-
* Отменяет применение модификации
|
|
81
|
-
* @param {string} modificationId Идентификатор модификации
|
|
82
|
-
* @returns {Promise<CodeModificationResult>} Обновленный результат модификации
|
|
83
|
-
*/
|
|
84
|
-
revertModification(modificationId: string): Promise<CodeModificationResult>;
|
|
85
|
-
/**
|
|
86
|
-
* Получает модификацию по идентификатору
|
|
87
|
-
* @param {string} modificationId Идентификатор модификации
|
|
88
|
-
* @returns {Promise<CodeModificationResult>} Результат модификации
|
|
89
|
-
*/
|
|
90
|
-
getModification(modificationId: string): Promise<CodeModificationResult>;
|
|
91
|
-
/**
|
|
92
|
-
* Получает список модификаций для проекта
|
|
93
|
-
* @param {string} projectId Идентификатор проекта
|
|
94
|
-
* @param {object} [params] Параметры запроса
|
|
95
|
-
* @param {number} [params.limit] Лимит результатов
|
|
96
|
-
* @param {number} [params.offset] Смещение для пагинации
|
|
97
|
-
* @returns {Promise<CodeModificationResult[]>} Список результатов модификации
|
|
98
|
-
*/
|
|
99
|
-
getModifications(projectId: string, params?: {
|
|
100
|
-
limit?: number;
|
|
101
|
-
offset?: number;
|
|
102
|
-
}): Promise<CodeModificationResult[]>;
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=code-modification-api.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-modification-api.d.ts","sourceRoot":"","sources":["../../../src/api/code-modification-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IAEjB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,8CAA8C;IAC9C,OAAO,CAAC,EAAE;QACR,oCAAoC;QACpC,YAAY,CAAC,EAAE,KAAK,CAAC;YACnB,mBAAmB;YACnB,QAAQ,EAAE,MAAM,CAAC;YAEjB,uBAAuB;YACvB,SAAS,EAAE,MAAM,CAAC;YAElB,sBAAsB;YACtB,OAAO,EAAE,MAAM,CAAC;YAEhB,iBAAiB;YACjB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;KACJ,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IAEX,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IAEjB,0BAA0B;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,kCAAkC;IAClC,eAAe,EAAE,MAAM,CAAC;IAExB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yBAAyB;IACzB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAE1C,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAElB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,kBAAkB;IAClB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC;;;OAGG;gBACS,UAAU,EAAE,UAAU;IAIlC;;;;OAIG;IACU,UAAU,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIxF;;;;OAIG;IACU,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIvF;;;;OAIG;IACU,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIxF;;;;OAIG;IACU,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIrF;;;;;;;OAOG;IACU,gBAAgB,CAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,sBAAsB,EAAE,CAAC;CAGrC"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '../utils/http-client.js';
|
|
2
|
-
import { FileIndexResponse } from '../types/index.js';
|
|
3
|
-
import { ProjectsApi } from './projects-api.js';
|
|
4
|
-
/**
|
|
5
|
-
* Фрагмент кода для контекста
|
|
6
|
-
*/
|
|
7
|
-
export interface CodeSnippet {
|
|
8
|
-
/** Путь к файлу */
|
|
9
|
-
filePath: string;
|
|
10
|
-
/** Относительный путь к файлу */
|
|
11
|
-
relativePath?: string;
|
|
12
|
-
/** Начальная строка */
|
|
13
|
-
startLine: number;
|
|
14
|
-
/** Конечная строка */
|
|
15
|
-
endLine: number;
|
|
16
|
-
/** Содержимое фрагмента */
|
|
17
|
-
content: string;
|
|
18
|
-
/** Язык программирования */
|
|
19
|
-
language?: string;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Автоматически определенный контекст
|
|
23
|
-
*/
|
|
24
|
-
export interface AutoContext {
|
|
25
|
-
/** Фрагменты кода */
|
|
26
|
-
codeSnippets: CodeSnippet[];
|
|
27
|
-
/** Релевантность к запросу (0-100) */
|
|
28
|
-
relevance: number;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Параметры для определения контекста
|
|
32
|
-
*/
|
|
33
|
-
export interface DetectContextParams {
|
|
34
|
-
/** Идентификатор проекта */
|
|
35
|
-
projectId: string;
|
|
36
|
-
/** Запрос для определения контекста */
|
|
37
|
-
query: string;
|
|
38
|
-
/** Максимальное количество фрагментов кода */
|
|
39
|
-
maxSnippets?: number;
|
|
40
|
-
/** Минимальный порог релевантности (0-100) */
|
|
41
|
-
relevanceThreshold?: number;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Класс для работы с контекстом
|
|
45
|
-
*/
|
|
46
|
-
export declare class ContextApi {
|
|
47
|
-
/** HTTP клиент */
|
|
48
|
-
private readonly httpClient;
|
|
49
|
-
/** API для работы с проектами */
|
|
50
|
-
private readonly projectsApi;
|
|
51
|
-
/**
|
|
52
|
-
* Создает новый экземпляр API для работы с контекстом
|
|
53
|
-
* @param {HttpClient} httpClient HTTP клиент
|
|
54
|
-
* @param {ProjectsApi} projectsApi API для работы с проектами
|
|
55
|
-
*/
|
|
56
|
-
constructor(httpClient: HttpClient, projectsApi: ProjectsApi);
|
|
57
|
-
/**
|
|
58
|
-
* Определяет контекст для запроса
|
|
59
|
-
* @param {DetectContextParams} params Параметры определения контекста
|
|
60
|
-
* @returns {Promise<AutoContext>} Определенный контекст
|
|
61
|
-
*/
|
|
62
|
-
detectContext(params: DetectContextParams): Promise<AutoContext>;
|
|
63
|
-
/**
|
|
64
|
-
* Получает содержимое файла
|
|
65
|
-
* @param {string} projectId Идентификатор проекта
|
|
66
|
-
* @param {string} filePath Путь к файлу
|
|
67
|
-
* @returns {Promise<string>} Содержимое файла
|
|
68
|
-
*/
|
|
69
|
-
getFileContent(projectId: string, filePath: string): Promise<string>;
|
|
70
|
-
/**
|
|
71
|
-
* Получает содержимое фрагмента файла
|
|
72
|
-
* @param {string} projectId Идентификатор проекта
|
|
73
|
-
* @param {string} filePath Путь к файлу
|
|
74
|
-
* @param {number} startLine Начальная строка
|
|
75
|
-
* @param {number} endLine Конечная строка
|
|
76
|
-
* @returns {Promise<CodeSnippet>} Фрагмент кода
|
|
77
|
-
*/
|
|
78
|
-
getFileSnippet(projectId: string, filePath: string, startLine: number, endLine: number): Promise<CodeSnippet>;
|
|
79
|
-
/**
|
|
80
|
-
* Получает структуру директории
|
|
81
|
-
* @param {string} projectId Идентификатор проекта
|
|
82
|
-
* @param {string} [dirPath='/'] Путь к директории
|
|
83
|
-
* @returns {Promise<Array<{name: string, type: 'file' | 'directory', path: string}>>} Структура директории
|
|
84
|
-
*/
|
|
85
|
-
getDirectoryStructure(projectId: string, dirPath?: string): Promise<Array<{
|
|
86
|
-
name: string;
|
|
87
|
-
type: 'file' | 'directory';
|
|
88
|
-
path: string;
|
|
89
|
-
}>>;
|
|
90
|
-
/**
|
|
91
|
-
* Обновляет индекс файла
|
|
92
|
-
* @param projectId ID проекта
|
|
93
|
-
* @param filePath Путь к файлу
|
|
94
|
-
* @param content Новое содержимое файла
|
|
95
|
-
* @param force Принудительное обновление
|
|
96
|
-
* @returns Информация об обновленном индексе файла
|
|
97
|
-
*/
|
|
98
|
-
updateFileIndex(projectId: string, filePath: string, content: string, force?: boolean): Promise<FileIndexResponse>;
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=context-api.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-api.d.ts","sourceRoot":"","sources":["../../../src/api/context-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IAEjB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAEhB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,YAAY,EAAE,WAAW,EAAE,CAAC;IAE5B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IAEd,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,kBAAkB;IAClB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAE1C;;;;OAIG;gBACS,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW;IAK5D;;;;OAIG;IACU,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IAS7E;;;;;OAKG;IACU,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjF;;;;;;;OAOG;IACU,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC;IAQvB;;;;;OAKG;IACU,qBAAqB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAAY,GACpB,OAAO,CAAC,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAI3E;;;;;;;OAOG;IACG,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,iBAAiB,CAAC;CAG9B"}
|