solver-sdk 3.1.17 → 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.
Files changed (66) hide show
  1. package/dist/cjs/api/chat-api/index.js +24 -116
  2. package/dist/cjs/api/chat-api/index.js.map +1 -1
  3. package/dist/cjs/api/models-api.js +0 -24
  4. package/dist/cjs/api/models-api.js.map +1 -1
  5. package/dist/cjs/api/projects-api.js +39 -24
  6. package/dist/cjs/api/projects-api.js.map +1 -1
  7. package/dist/cjs/api/search-api.js +79 -135
  8. package/dist/cjs/api/search-api.js.map +1 -1
  9. package/dist/cjs/code-solver-sdk.js +3 -28
  10. package/dist/cjs/code-solver-sdk.js.map +1 -1
  11. package/dist/cjs/index.js +3 -4
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/utils/thinking-block-manager.js +26 -34
  14. package/dist/cjs/utils/thinking-block-manager.js.map +1 -1
  15. package/dist/cjs/version.js +58 -0
  16. package/dist/cjs/version.js.map +1 -0
  17. package/dist/esm/api/chat-api/index.js +24 -116
  18. package/dist/esm/api/chat-api/index.js.map +1 -1
  19. package/dist/esm/api/models-api.js +0 -24
  20. package/dist/esm/api/models-api.js.map +1 -1
  21. package/dist/esm/api/projects-api.js +39 -24
  22. package/dist/esm/api/projects-api.js.map +1 -1
  23. package/dist/esm/api/search-api.js +79 -135
  24. package/dist/esm/api/search-api.js.map +1 -1
  25. package/dist/esm/code-solver-sdk.js +3 -28
  26. package/dist/esm/code-solver-sdk.js.map +1 -1
  27. package/dist/esm/index.js +2 -4
  28. package/dist/esm/index.js.map +1 -1
  29. package/dist/esm/utils/thinking-block-manager.js +26 -34
  30. package/dist/esm/utils/thinking-block-manager.js.map +1 -1
  31. package/dist/esm/version.js +22 -0
  32. package/dist/esm/version.js.map +1 -0
  33. package/dist/types/api/chat-api/index.d.ts +0 -3
  34. package/dist/types/api/chat-api/index.d.ts.map +1 -1
  35. package/dist/types/api/chat-api/interfaces.d.ts +2 -2
  36. package/dist/types/api/chat-api/models.d.ts +6 -0
  37. package/dist/types/api/chat-api/models.d.ts.map +1 -1
  38. package/dist/types/api/models-api.d.ts +0 -15
  39. package/dist/types/api/models-api.d.ts.map +1 -1
  40. package/dist/types/api/projects-api.d.ts +13 -15
  41. package/dist/types/api/projects-api.d.ts.map +1 -1
  42. package/dist/types/api/search-api.d.ts +53 -185
  43. package/dist/types/api/search-api.d.ts.map +1 -1
  44. package/dist/types/code-solver-sdk.d.ts +0 -16
  45. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  46. package/dist/types/index.d.ts +1 -3
  47. package/dist/types/index.d.ts.map +1 -1
  48. package/dist/types/interfaces/sdk-options.d.ts +0 -4
  49. package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
  50. package/dist/types/utils/thinking-block-manager.d.ts +14 -17
  51. package/dist/types/utils/thinking-block-manager.d.ts.map +1 -1
  52. package/dist/types/version.d.ts +2 -0
  53. package/dist/types/version.d.ts.map +1 -0
  54. package/package.json +2 -3
  55. package/dist/cjs/api/code-modification-api.js +0 -60
  56. package/dist/cjs/api/code-modification-api.js.map +0 -1
  57. package/dist/cjs/api/context-api.js +0 -76
  58. package/dist/cjs/api/context-api.js.map +0 -1
  59. package/dist/esm/api/code-modification-api.js +0 -56
  60. package/dist/esm/api/code-modification-api.js.map +0 -1
  61. package/dist/esm/api/context-api.js +0 -72
  62. package/dist/esm/api/context-api.js.map +0 -1
  63. package/dist/types/api/code-modification-api.d.ts +0 -104
  64. package/dist/types/api/code-modification-api.d.ts.map +0 -1
  65. package/dist/types/api/context-api.d.ts +0 -100
  66. package/dist/types/api/context-api.d.ts.map +0 -1
@@ -1,33 +1,30 @@
1
1
  /**
2
- * Централизованный менеджер thinking блоков для SDK
2
+ * Утилиты для работы с thinking блоками в SDK
3
3
  *
4
- * ПО ОБРАЗЦУ ЭТАЛОННОГО ПРОЕКТА android_sprint_PR_analyzer:
5
- * - Signature ОБЯЗАТЕЛЬНАЯ как в эталонном проекте
6
- * - Валидация thinking содержимого с обеспечением signature
7
- * - Автоматическое добавление signature поля (пустая строка по умолчанию)
8
- * - Чистая типизированная архитектура БЕЗ LEGACY
4
+ * СОГЛАСНО ТРЕБОВАНИЯМ ANTHROPIC API:
5
+ * - signature передается как есть от API
6
+ * - НЕ модифицируем thinking блоки
9
7
  */
10
- export interface ValidThinkingBlock {
8
+ export interface ThinkingBlock {
11
9
  type: 'thinking';
12
10
  thinking: string;
13
- signature: string;
11
+ signature?: string;
14
12
  }
15
13
  export interface ThinkingBlockValidationResult {
16
14
  isValid: boolean;
17
15
  reason?: string;
18
- fixedBlock?: ValidThinkingBlock;
16
+ fixedBlock?: ThinkingBlock;
19
17
  }
18
+ /**
19
+ * Менеджер thinking блоков для клиентской стороны
20
+ */
20
21
  export declare class ThinkingBlockManager {
21
22
  /**
22
23
  * Валидирует thinking блок согласно требованиям Claude API
23
- *
24
- * ПО ЭТАЛОННОМУ ПРОЕКТУ android_sprint_PR_analyzer:
25
- * - "each thinking block must contain thinking" - поле thinking НЕ пустое
26
- * - signature ВСЕГДА присутствует (пустая строка если не задана)
27
24
  */
28
25
  static validateAndFixThinkingBlock(block: any): ThinkingBlockValidationResult;
29
26
  /**
30
- * Обеспечивает наличие signature поля - ВСЕГДА возвращает строку как в эталонном проекте
27
+ * Обеспечивает наличие signature поля (НЕ используется - оставлено для совместимости)
31
28
  */
32
29
  private static ensureSignatureField;
33
30
  /**
@@ -45,10 +42,10 @@ export declare class ThinkingBlockManager {
45
42
  /**
46
43
  * Создает новый валидный thinking блок
47
44
  */
48
- static createThinkingBlock(thinking: string, signature?: string): ValidThinkingBlock;
45
+ static createThinkingBlock(thinking: string, signature?: string): ThinkingBlock;
49
46
  /**
50
- * Безопасно извлекает thinking блоки из сообщения
47
+ * Извлекает валидные thinking блоки из сообщения
51
48
  */
52
- static extractValidThinkingBlocks(message: any): ValidThinkingBlock[];
49
+ static extractValidThinkingBlocks(message: any): ThinkingBlock[];
53
50
  }
54
51
  //# sourceMappingURL=thinking-block-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thinking-block-manager.d.ts","sourceRoot":"","sources":["../../../src/utils/thinking-block-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAED,qBAAa,oBAAoB;IAE/B;;;;;;OAMG;IACH,MAAM,CAAC,2BAA2B,CAAC,KAAK,EAAE,GAAG,GAAG,6BAA6B;IAwC7E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAOnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAIlC;;OAEG;IACH,MAAM,CAAC,2BAA2B,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG;QAClD,WAAW,EAAE,GAAG,EAAE,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB;IAsCD;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAcpF;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,GAAG,GAAG,kBAAkB,EAAE;CAQtE"}
1
+ {"version":3,"file":"thinking-block-manager.d.ts","sourceRoot":"","sources":["../../../src/utils/thinking-block-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAE/B;;OAEG;IACH,MAAM,CAAC,2BAA2B,CAAC,KAAK,EAAE,GAAG,GAAG,6BAA6B;IAuC7E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAKnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAIlC;;OAEG;IACH,MAAM,CAAC,2BAA2B,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG;QAClD,WAAW,EAAE,GAAG,EAAE,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB;IA8BD;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa;IAe/E;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,GAAG,GAAG,aAAa,EAAE;CAWjE"}
@@ -0,0 +1,2 @@
1
+ export declare const VERSION: string;
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,OAAO,QAA8B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solver-sdk",
3
- "version": "3.1.17",
3
+ "version": "3.1.18",
4
4
  "description": "SDK для работы с VSCursor Backend - AI-powered система анализа кода",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -104,8 +104,7 @@
104
104
  "rollup": "^4.12.0",
105
105
  "rollup-plugin-dts": "^6.1.1",
106
106
  "ts-jest": "^29.1.2",
107
- "typescript": "^5.7.3",
108
- "ws": "^8.18.1"
107
+ "typescript": "^5.7.3"
109
108
  },
110
109
  "publishConfig": {
111
110
  "access": "public"
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CodeModificationApi = void 0;
4
- /**
5
- * API для модификации кода
6
- */
7
- class CodeModificationApi {
8
- /**
9
- * Создает новый экземпляр API для модификации кода
10
- * @param {HttpClient} httpClient HTTP клиент
11
- */
12
- constructor(httpClient) {
13
- this.httpClient = httpClient;
14
- }
15
- /**
16
- * Выполняет модификацию кода
17
- * @param {CodeModificationParams} params Параметры модификации
18
- * @returns {Promise<CodeModificationResult>} Результат модификации
19
- */
20
- async modifyCode(params) {
21
- return this.httpClient.post('/api/code-modifications', params);
22
- }
23
- /**
24
- * Применяет результат модификации к файлу
25
- * @param {string} modificationId Идентификатор модификации
26
- * @returns {Promise<CodeModificationResult>} Обновленный результат модификации
27
- */
28
- async applyModification(modificationId) {
29
- return this.httpClient.post(`/api/code-modifications/${modificationId}/apply`);
30
- }
31
- /**
32
- * Отменяет применение модификации
33
- * @param {string} modificationId Идентификатор модификации
34
- * @returns {Promise<CodeModificationResult>} Обновленный результат модификации
35
- */
36
- async revertModification(modificationId) {
37
- return this.httpClient.post(`/api/code-modifications/${modificationId}/revert`);
38
- }
39
- /**
40
- * Получает модификацию по идентификатору
41
- * @param {string} modificationId Идентификатор модификации
42
- * @returns {Promise<CodeModificationResult>} Результат модификации
43
- */
44
- async getModification(modificationId) {
45
- return this.httpClient.get(`/api/code-modifications/${modificationId}`);
46
- }
47
- /**
48
- * Получает список модификаций для проекта
49
- * @param {string} projectId Идентификатор проекта
50
- * @param {object} [params] Параметры запроса
51
- * @param {number} [params.limit] Лимит результатов
52
- * @param {number} [params.offset] Смещение для пагинации
53
- * @returns {Promise<CodeModificationResult[]>} Список результатов модификации
54
- */
55
- async getModifications(projectId, params) {
56
- return this.httpClient.get(`/api/projects/${projectId}/code-modifications`, params);
57
- }
58
- }
59
- exports.CodeModificationApi = CodeModificationApi;
60
- //# 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,MAAa,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;AA9DD,kDA8DC"}
@@ -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"}