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.
Files changed (167) hide show
  1. package/README.md +248 -0
  2. package/dist/cjs/api/agents-api.js +94 -0
  3. package/dist/cjs/api/agents-api.js.map +1 -0
  4. package/dist/cjs/api/code-modification-api.js +60 -0
  5. package/dist/cjs/api/code-modification-api.js.map +1 -0
  6. package/dist/cjs/api/context-api.js +58 -0
  7. package/dist/cjs/api/context-api.js.map +1 -0
  8. package/dist/cjs/api/projects-api.js +82 -0
  9. package/dist/cjs/api/projects-api.js.map +1 -0
  10. package/dist/cjs/api/reasoning-api.js +73 -0
  11. package/dist/cjs/api/reasoning-api.js.map +1 -0
  12. package/dist/cjs/api/search-api.js +54 -0
  13. package/dist/cjs/api/search-api.js.map +1 -0
  14. package/dist/cjs/code-solver-sdk.js +327 -0
  15. package/dist/cjs/code-solver-sdk.js.map +1 -0
  16. package/dist/cjs/index.js +118 -0
  17. package/dist/cjs/index.js.map +1 -0
  18. package/dist/cjs/interfaces/http-client.js +3 -0
  19. package/dist/cjs/interfaces/http-client.js.map +1 -0
  20. package/dist/cjs/interfaces/sdk-options.js +3 -0
  21. package/dist/cjs/interfaces/sdk-options.js.map +1 -0
  22. package/dist/cjs/models/types.js +17 -0
  23. package/dist/cjs/models/types.js.map +1 -0
  24. package/dist/cjs/utils/code-solver-websocket-client.js +267 -0
  25. package/dist/cjs/utils/code-solver-websocket-client.js.map +1 -0
  26. package/dist/cjs/utils/http-client.js +234 -0
  27. package/dist/cjs/utils/http-client.js.map +1 -0
  28. package/dist/cjs/utils/indexing-websocket-client.js +107 -0
  29. package/dist/cjs/utils/indexing-websocket-client.js.map +1 -0
  30. package/dist/cjs/utils/sse-client.js +233 -0
  31. package/dist/cjs/utils/sse-client.js.map +1 -0
  32. package/dist/cjs/utils/websocket-client.js +268 -0
  33. package/dist/cjs/utils/websocket-client.js.map +1 -0
  34. package/dist/esm/api/agents-api.js +90 -0
  35. package/dist/esm/api/agents-api.js.map +1 -0
  36. package/dist/esm/api/code-modification-api.js +56 -0
  37. package/dist/esm/api/code-modification-api.js.map +1 -0
  38. package/dist/esm/api/context-api.js +54 -0
  39. package/dist/esm/api/context-api.js.map +1 -0
  40. package/dist/esm/api/projects-api.js +78 -0
  41. package/dist/esm/api/projects-api.js.map +1 -0
  42. package/dist/esm/api/reasoning-api.js +69 -0
  43. package/dist/esm/api/reasoning-api.js.map +1 -0
  44. package/dist/esm/api/search-api.js +50 -0
  45. package/dist/esm/api/search-api.js.map +1 -0
  46. package/dist/esm/code-solver-sdk.js +323 -0
  47. package/dist/esm/code-solver-sdk.js.map +1 -0
  48. package/dist/esm/index.js +1882 -0
  49. package/dist/esm/index.js.map +1 -0
  50. package/dist/esm/interfaces/http-client.js +2 -0
  51. package/dist/esm/interfaces/http-client.js.map +1 -0
  52. package/dist/esm/interfaces/sdk-options.js +2 -0
  53. package/dist/esm/interfaces/sdk-options.js.map +1 -0
  54. package/dist/esm/models/types.js +14 -0
  55. package/dist/esm/models/types.js.map +1 -0
  56. package/dist/esm/types/api/agents-api.d.ts +141 -0
  57. package/dist/esm/types/api/agents-api.d.ts.map +1 -0
  58. package/dist/esm/types/api/code-modification-api.d.ts +104 -0
  59. package/dist/esm/types/api/code-modification-api.d.ts.map +1 -0
  60. package/dist/esm/types/api/context-api.d.ts +86 -0
  61. package/dist/esm/types/api/context-api.d.ts.map +1 -0
  62. package/dist/esm/types/api/projects-api.d.ts +89 -0
  63. package/dist/esm/types/api/projects-api.d.ts.map +1 -0
  64. package/dist/esm/types/api/reasoning-api.d.ts +130 -0
  65. package/dist/esm/types/api/reasoning-api.d.ts.map +1 -0
  66. package/dist/esm/types/api/search-api.d.ts +92 -0
  67. package/dist/esm/types/api/search-api.d.ts.map +1 -0
  68. package/dist/esm/types/code-solver-sdk.d.ts +145 -0
  69. package/dist/esm/types/code-solver-sdk.d.ts.map +1 -0
  70. package/dist/esm/types/index.d.ts +81 -0
  71. package/dist/esm/types/index.d.ts.map +1 -0
  72. package/dist/esm/types/interfaces/http-client.d.ts +110 -0
  73. package/dist/esm/types/interfaces/http-client.d.ts.map +1 -0
  74. package/dist/esm/types/interfaces/sdk-options.d.ts +34 -0
  75. package/dist/esm/types/interfaces/sdk-options.d.ts.map +1 -0
  76. package/dist/esm/types/models/types.d.ts +139 -0
  77. package/dist/esm/types/models/types.d.ts.map +1 -0
  78. package/dist/esm/types/utils/code-solver-websocket-client.d.ts +138 -0
  79. package/dist/esm/types/utils/code-solver-websocket-client.d.ts.map +1 -0
  80. package/dist/esm/types/utils/http-client.d.ts +85 -0
  81. package/dist/esm/types/utils/http-client.d.ts.map +1 -0
  82. package/dist/esm/types/utils/indexing-websocket-client.d.ts +123 -0
  83. package/dist/esm/types/utils/indexing-websocket-client.d.ts.map +1 -0
  84. package/dist/esm/types/utils/sse-client.d.ts +92 -0
  85. package/dist/esm/types/utils/sse-client.d.ts.map +1 -0
  86. package/dist/esm/types/utils/websocket-client.d.ts +118 -0
  87. package/dist/esm/types/utils/websocket-client.d.ts.map +1 -0
  88. package/dist/esm/utils/code-solver-websocket-client.js +263 -0
  89. package/dist/esm/utils/code-solver-websocket-client.js.map +1 -0
  90. package/dist/esm/utils/http-client.js +227 -0
  91. package/dist/esm/utils/http-client.js.map +1 -0
  92. package/dist/esm/utils/indexing-websocket-client.js +103 -0
  93. package/dist/esm/utils/indexing-websocket-client.js.map +1 -0
  94. package/dist/esm/utils/sse-client.js +229 -0
  95. package/dist/esm/utils/sse-client.js.map +1 -0
  96. package/dist/esm/utils/websocket-client.js +264 -0
  97. package/dist/esm/utils/websocket-client.js.map +1 -0
  98. package/dist/index.d.ts +1599 -0
  99. package/dist/types/api/agents-api.d.ts +141 -0
  100. package/dist/types/api/agents-api.d.ts.map +1 -0
  101. package/dist/types/api/code-modification-api.d.ts +104 -0
  102. package/dist/types/api/code-modification-api.d.ts.map +1 -0
  103. package/dist/types/api/context-api.d.ts +86 -0
  104. package/dist/types/api/context-api.d.ts.map +1 -0
  105. package/dist/types/api/projects-api.d.ts +89 -0
  106. package/dist/types/api/projects-api.d.ts.map +1 -0
  107. package/dist/types/api/reasoning-api.d.ts +130 -0
  108. package/dist/types/api/reasoning-api.d.ts.map +1 -0
  109. package/dist/types/api/search-api.d.ts +92 -0
  110. package/dist/types/api/search-api.d.ts.map +1 -0
  111. package/dist/types/code-solver-sdk.d.ts +145 -0
  112. package/dist/types/code-solver-sdk.d.ts.map +1 -0
  113. package/dist/types/index.d.ts +81 -0
  114. package/dist/types/index.d.ts.map +1 -0
  115. package/dist/types/interfaces/http-client.d.ts +110 -0
  116. package/dist/types/interfaces/http-client.d.ts.map +1 -0
  117. package/dist/types/interfaces/sdk-options.d.ts +34 -0
  118. package/dist/types/interfaces/sdk-options.d.ts.map +1 -0
  119. package/dist/types/models/types.d.ts +139 -0
  120. package/dist/types/models/types.d.ts.map +1 -0
  121. package/dist/types/utils/code-solver-websocket-client.d.ts +138 -0
  122. package/dist/types/utils/code-solver-websocket-client.d.ts.map +1 -0
  123. package/dist/types/utils/http-client.d.ts +85 -0
  124. package/dist/types/utils/http-client.d.ts.map +1 -0
  125. package/dist/types/utils/indexing-websocket-client.d.ts +123 -0
  126. package/dist/types/utils/indexing-websocket-client.d.ts.map +1 -0
  127. package/dist/types/utils/sse-client.d.ts +92 -0
  128. package/dist/types/utils/sse-client.d.ts.map +1 -0
  129. package/dist/types/utils/websocket-client.d.ts +118 -0
  130. package/dist/types/utils/websocket-client.d.ts.map +1 -0
  131. package/dist/umd/code-solver-sdk.js +1902 -0
  132. package/dist/umd/code-solver-sdk.js.map +1 -0
  133. package/dist/umd/code-solver-sdk.min.js +2 -0
  134. package/dist/umd/code-solver-sdk.min.js.map +1 -0
  135. package/dist/umd/types/api/agents-api.d.ts +141 -0
  136. package/dist/umd/types/api/agents-api.d.ts.map +1 -0
  137. package/dist/umd/types/api/code-modification-api.d.ts +104 -0
  138. package/dist/umd/types/api/code-modification-api.d.ts.map +1 -0
  139. package/dist/umd/types/api/context-api.d.ts +86 -0
  140. package/dist/umd/types/api/context-api.d.ts.map +1 -0
  141. package/dist/umd/types/api/projects-api.d.ts +89 -0
  142. package/dist/umd/types/api/projects-api.d.ts.map +1 -0
  143. package/dist/umd/types/api/reasoning-api.d.ts +130 -0
  144. package/dist/umd/types/api/reasoning-api.d.ts.map +1 -0
  145. package/dist/umd/types/api/search-api.d.ts +92 -0
  146. package/dist/umd/types/api/search-api.d.ts.map +1 -0
  147. package/dist/umd/types/code-solver-sdk.d.ts +145 -0
  148. package/dist/umd/types/code-solver-sdk.d.ts.map +1 -0
  149. package/dist/umd/types/index.d.ts +81 -0
  150. package/dist/umd/types/index.d.ts.map +1 -0
  151. package/dist/umd/types/interfaces/http-client.d.ts +110 -0
  152. package/dist/umd/types/interfaces/http-client.d.ts.map +1 -0
  153. package/dist/umd/types/interfaces/sdk-options.d.ts +34 -0
  154. package/dist/umd/types/interfaces/sdk-options.d.ts.map +1 -0
  155. package/dist/umd/types/models/types.d.ts +139 -0
  156. package/dist/umd/types/models/types.d.ts.map +1 -0
  157. package/dist/umd/types/utils/code-solver-websocket-client.d.ts +138 -0
  158. package/dist/umd/types/utils/code-solver-websocket-client.d.ts.map +1 -0
  159. package/dist/umd/types/utils/http-client.d.ts +85 -0
  160. package/dist/umd/types/utils/http-client.d.ts.map +1 -0
  161. package/dist/umd/types/utils/indexing-websocket-client.d.ts +123 -0
  162. package/dist/umd/types/utils/indexing-websocket-client.d.ts.map +1 -0
  163. package/dist/umd/types/utils/sse-client.d.ts +92 -0
  164. package/dist/umd/types/utils/sse-client.d.ts.map +1 -0
  165. package/dist/umd/types/utils/websocket-client.d.ts +118 -0
  166. package/dist/umd/types/utils/websocket-client.d.ts.map +1 -0
  167. package/package.json +98 -0
package/README.md ADDED
@@ -0,0 +1,248 @@
1
+ # Code Solver SDK
2
+
3
+ SDK для интеграции с Code Solver Backend API. Поддерживает работу как в браузере, так и в Node.js.
4
+
5
+ ## Возможности
6
+
7
+ - Совместимость с ESM и CommonJS
8
+ - Поддержка браузера и Node.js
9
+ - Типизация TypeScript
10
+ - WebSocket для реалтайм функций
11
+ - Поддержка Server-Sent Events (SSE)
12
+ - Обработка ошибок и повторные попытки
13
+ - Полная документация API
14
+
15
+ ## Установка
16
+
17
+ ```bash
18
+ # Используя npm
19
+ npm install code-solver-sdk
20
+
21
+ # Используя yarn
22
+ yarn add code-solver-sdk
23
+
24
+ # Используя pnpm
25
+ pnpm add code-solver-sdk
26
+ ```
27
+
28
+ ## Использование
29
+
30
+ ### В браузере с ESM (современные браузеры)
31
+
32
+ ```html
33
+ <script type="module">
34
+ import { CodeSolverSDK } from 'https://cdn.jsdelivr.net/npm/code-solver-sdk/dist/esm/index.js';
35
+
36
+ const sdk = new CodeSolverSDK({
37
+ baseURL: 'https://api.example.com',
38
+ apiKey: 'your-api-key'
39
+ });
40
+
41
+ // Использование SDK...
42
+ const projects = await sdk.projects.getAllProjects();
43
+ console.log(projects);
44
+ </script>
45
+ ```
46
+
47
+ ### В браузере через тег script (UMD)
48
+
49
+ ```html
50
+ <script src="https://cdn.jsdelivr.net/npm/code-solver-sdk/dist/umd/code-solver-sdk.min.js"></script>
51
+ <script>
52
+ const sdk = new CodeSolverSDK.default({
53
+ baseURL: 'https://api.example.com',
54
+ apiKey: 'your-api-key'
55
+ });
56
+
57
+ // Использование SDK...
58
+ sdk.projects.getAllProjects()
59
+ .then(projects => console.log(projects))
60
+ .catch(error => console.error(error));
61
+ </script>
62
+ ```
63
+
64
+ ### В Node.js с CommonJS
65
+
66
+ ```javascript
67
+ const { CodeSolverSDK } = require('code-solver-sdk');
68
+
69
+ const sdk = new CodeSolverSDK({
70
+ baseURL: 'https://api.example.com',
71
+ apiKey: 'your-api-key'
72
+ });
73
+
74
+ // Использование SDK...
75
+ async function main() {
76
+ const projects = await sdk.projects.getAllProjects();
77
+ console.log(projects);
78
+ }
79
+
80
+ main().catch(console.error);
81
+ ```
82
+
83
+ ### В Node.js с ESM
84
+
85
+ ```javascript
86
+ import { CodeSolverSDK } from 'code-solver-sdk';
87
+
88
+ const sdk = new CodeSolverSDK({
89
+ baseURL: 'https://api.example.com',
90
+ apiKey: 'your-api-key'
91
+ });
92
+
93
+ // Использование SDK...
94
+ async function main() {
95
+ const projects = await sdk.projects.getAllProjects();
96
+ console.log(projects);
97
+ }
98
+
99
+ main().catch(console.error);
100
+ ```
101
+
102
+ ### В VS Code Web (браузерная версия)
103
+
104
+ ```javascript
105
+ import { CodeSolverSDK } from 'code-solver-sdk';
106
+
107
+ export function activate(context) {
108
+ const sdk = new CodeSolverSDK({
109
+ baseURL: 'https://api.example.com',
110
+ apiKey: 'your-api-key',
111
+ mode: 'browser' // Явно указываем режим браузера
112
+ });
113
+
114
+ // Использование SDK в расширении VS Code Web
115
+ // ...
116
+ }
117
+ ```
118
+
119
+ ## Примеры
120
+
121
+ ### Работа с проектами
122
+
123
+ ```javascript
124
+ // Получение списка проектов
125
+ const projects = await sdk.projects.getAllProjects();
126
+ console.log('Проекты:', projects);
127
+
128
+ // Создание нового проекта
129
+ const newProject = await sdk.projects.createProject('Мой проект', '/path/to/project');
130
+ console.log('Новый проект:', newProject);
131
+
132
+ // Запуск индексации
133
+ await sdk.projects.indexProject(newProject.id);
134
+ ```
135
+
136
+ ### Поиск кода
137
+
138
+ ```javascript
139
+ // Поиск кода
140
+ const searchResults = await sdk.search.searchCode(projectId, {
141
+ query: 'function example',
142
+ limit: 10
143
+ });
144
+ console.log('Результаты поиска:', searchResults);
145
+
146
+ // Семантический поиск кода
147
+ const semanticResults = await sdk.search.semanticSearch(projectId, {
148
+ query: 'функция для обработки HTTP запросов',
149
+ limit: 10
150
+ });
151
+ console.log('Семантические результаты:', semanticResults);
152
+ ```
153
+
154
+ ### Работа с рассуждениями через WebSocket
155
+
156
+ ```javascript
157
+ // Создание рассуждения
158
+ const reasoning = await sdk.reasoning.createReasoning({
159
+ projectId: projectId,
160
+ query: 'Объясни, как работает этот проект'
161
+ });
162
+
163
+ // Запуск процесса рассуждения
164
+ await sdk.reasoning.startReasoning(reasoning.id);
165
+
166
+ // Подключение через WebSocket
167
+ const wsClient = sdk.getWebSocketClient();
168
+ await wsClient.connectToReasoning(reasoning.id);
169
+
170
+ // Обработка событий
171
+ wsClient.on('thinking', (data) => {
172
+ console.log('Размышление:', data.content);
173
+ });
174
+
175
+ wsClient.on('complete', (data) => {
176
+ console.log('Завершено:', data.content);
177
+ wsClient.disconnectAll();
178
+ });
179
+ ```
180
+
181
+ ## Тестирование и совместимость
182
+
183
+ SDK тщательно тестируется в различных средах:
184
+
185
+ ```bash
186
+ # Запуск всех тестов
187
+ npm test
188
+
189
+ # Тесты браузерной совместимости
190
+ npm run test:browser
191
+
192
+ # Тесты Node.js совместимости
193
+ npm run test:node
194
+
195
+ # Тесты VS Code Web совместимости
196
+ npm run test:vscode
197
+
198
+ # Проверка покрытия кода тестами
199
+ npm run test:coverage
200
+ ```
201
+
202
+ ### Поддерживаемые среды
203
+
204
+ SDK протестирован и работает в следующих средах:
205
+
206
+ - **Браузеры**: Chrome 80+, Firefox 72+, Safari 14+, Edge 80+
207
+ - **Node.js**: Версии 14.x и выше (как CommonJS, так и ESM)
208
+ - **VS Code**: Desktop и Web версии
209
+
210
+ ### Решение проблем совместимости
211
+
212
+ Если у вас возникли проблемы с совместимостью, обратитесь к разделу "Устранение неполадок" в файле [INTEGRATION.md](./INTEGRATION.md).
213
+
214
+ ## Сборка из исходного кода
215
+
216
+ Для сборки SDK из исходного кода:
217
+
218
+ ```bash
219
+ # Установка зависимостей
220
+ npm install
221
+
222
+ # Сборка SDK
223
+ npm run build
224
+
225
+ # Очистка директории сборки
226
+ npm run clean
227
+ ```
228
+
229
+ ## Опции SDK
230
+
231
+ SDK поддерживает следующие опции при инициализации:
232
+
233
+ | Опция | Тип | Описание | Обязательна |
234
+ |-------|-----|----------|-------------|
235
+ | `baseURL` | string | Базовый URL API | Да |
236
+ | `apiKey` | string | API ключ для авторизации | Нет |
237
+ | `timeout` | number | Таймаут для HTTP запросов (мс) | Нет |
238
+ | `headers` | object | Пользовательские HTTP заголовки | Нет |
239
+ | `httpsAgent` | object | Опции для HTTPS агента (Node.js) | Нет |
240
+ | `mode` | string | Режим работы SDK ('browser', 'node', 'auto') | Нет |
241
+
242
+ ## Документация API
243
+
244
+ Полная документация API доступна в папке `docs/`.
245
+
246
+ ## Лицензия
247
+
248
+ MIT
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentsApi = void 0;
4
+ /**
5
+ * API для работы с агентами
6
+ */
7
+ class AgentsApi {
8
+ /**
9
+ * Создает новый экземпляр API для работы с агентами
10
+ * @param {HttpClient} httpClient HTTP клиент
11
+ */
12
+ constructor(httpClient) {
13
+ this.httpClient = httpClient;
14
+ }
15
+ /**
16
+ * Получает список всех агентов проекта
17
+ * @param {string} projectId Идентификатор проекта
18
+ * @returns {Promise<Agent[]>} Список агентов
19
+ */
20
+ async getAgents(projectId) {
21
+ return this.httpClient.get(`/api/projects/${projectId}/agents`);
22
+ }
23
+ /**
24
+ * Получает агента по идентификатору
25
+ * @param {string} agentId Идентификатор агента
26
+ * @returns {Promise<Agent>} Агент
27
+ */
28
+ async getAgent(agentId) {
29
+ return this.httpClient.get(`/api/agents/${agentId}`);
30
+ }
31
+ /**
32
+ * Создает нового агента
33
+ * @param {CreateAgentParams} params Параметры создания агента
34
+ * @returns {Promise<Agent>} Созданный агент
35
+ */
36
+ async createAgent(params) {
37
+ return this.httpClient.post('/api/agents', params);
38
+ }
39
+ /**
40
+ * Обновляет агента
41
+ * @param {string} agentId Идентификатор агента
42
+ * @param {Partial<Pick<Agent, 'name' | 'description' | 'settings'>>} data Данные для обновления
43
+ * @returns {Promise<Agent>} Обновленный агент
44
+ */
45
+ async updateAgent(agentId, data) {
46
+ return this.httpClient.put(`/api/agents/${agentId}`, data);
47
+ }
48
+ /**
49
+ * Удаляет агента
50
+ * @param {string} agentId Идентификатор агента
51
+ * @returns {Promise<void>}
52
+ */
53
+ async deleteAgent(agentId) {
54
+ return this.httpClient.delete(`/api/agents/${agentId}`);
55
+ }
56
+ /**
57
+ * Запускает агента
58
+ * @param {string} agentId Идентификатор агента
59
+ * @param {object} [params] Параметры запуска
60
+ * @returns {Promise<Agent>} Обновленный агент
61
+ */
62
+ async startAgent(agentId, params) {
63
+ return this.httpClient.post(`/api/agents/${agentId}/start`, params);
64
+ }
65
+ /**
66
+ * Останавливает агента
67
+ * @param {string} agentId Идентификатор агента
68
+ * @returns {Promise<Agent>} Обновленный агент
69
+ */
70
+ async stopAgent(agentId) {
71
+ return this.httpClient.post(`/api/agents/${agentId}/stop`);
72
+ }
73
+ /**
74
+ * Получает задачи агента
75
+ * @param {string} agentId Идентификатор агента
76
+ * @returns {Promise<AgentTask[]>} Список задач
77
+ */
78
+ async getAgentTasks(agentId) {
79
+ return this.httpClient.get(`/api/agents/${agentId}/tasks`);
80
+ }
81
+ /**
82
+ * Создает новую задачу для агента
83
+ * @param {string} agentId Идентификатор агента
84
+ * @param {object} params Параметры задачи
85
+ * @param {string} params.description Описание задачи
86
+ * @param {object} [params.context] Контекст задачи
87
+ * @returns {Promise<AgentTask>} Созданная задача
88
+ */
89
+ async createAgentTask(agentId, params) {
90
+ return this.httpClient.post(`/api/agents/${agentId}/tasks`, params);
91
+ }
92
+ }
93
+ exports.AgentsApi = AgentsApi;
94
+ //# sourceMappingURL=agents-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents-api.js","sourceRoot":"","sources":["../../../src/api/agents-api.ts"],"names":[],"mappings":";;;AA0FA;;GAEG;AACH,MAAa,SAAS;IAIpB;;;OAGG;IACH,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CAAC,SAAiB;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,SAAS,SAAS,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,QAAQ,CAAC,OAAe;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,MAAyB;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,WAAW,CACtB,OAAe,EACf,IAA+D;QAE/D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,OAAe;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,MAAe;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,OAAO,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CAAC,OAAe;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,OAAO,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,OAAe;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,OAAO,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,eAAe,CAC1B,OAAe,EACf,MAAiD;QAEjD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,OAAO,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;CACF;AAvGD,8BAuGC"}
@@ -0,0 +1,60 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContextApi = void 0;
4
+ /**
5
+ * API для работы с контекстом
6
+ */
7
+ class ContextApi {
8
+ /**
9
+ * Создает новый экземпляр API для работы с контекстом
10
+ * @param {HttpClient} httpClient HTTP клиент
11
+ */
12
+ constructor(httpClient) {
13
+ this.httpClient = httpClient;
14
+ }
15
+ /**
16
+ * Определяет контекст для запроса
17
+ * @param {DetectContextParams} params Параметры определения контекста
18
+ * @returns {Promise<AutoContext>} Определенный контекст
19
+ */
20
+ async detectContext(params) {
21
+ return this.httpClient.post('/api/context/detect', params);
22
+ }
23
+ /**
24
+ * Получает содержимое файла
25
+ * @param {string} projectId Идентификатор проекта
26
+ * @param {string} filePath Путь к файлу
27
+ * @returns {Promise<string>} Содержимое файла
28
+ */
29
+ async getFileContent(projectId, filePath) {
30
+ return this.httpClient.get(`/api/projects/${projectId}/files`, { path: filePath });
31
+ }
32
+ /**
33
+ * Получает содержимое фрагмента файла
34
+ * @param {string} projectId Идентификатор проекта
35
+ * @param {string} filePath Путь к файлу
36
+ * @param {number} startLine Начальная строка
37
+ * @param {number} endLine Конечная строка
38
+ * @returns {Promise<CodeSnippet>} Фрагмент кода
39
+ */
40
+ async getFileSnippet(projectId, filePath, startLine, endLine) {
41
+ return this.httpClient.get(`/api/projects/${projectId}/snippets`, {
42
+ path: filePath,
43
+ startLine,
44
+ endLine
45
+ });
46
+ }
47
+ /**
48
+ * Получает структуру директории
49
+ * @param {string} projectId Идентификатор проекта
50
+ * @param {string} [dirPath='/'] Путь к директории
51
+ * @returns {Promise<Array<{name: string, type: 'file' | 'directory', path: string}>>} Структура директории
52
+ */
53
+ async getDirectoryStructure(projectId, dirPath = '/') {
54
+ return this.httpClient.get(`/api/projects/${projectId}/directory`, { path: dirPath });
55
+ }
56
+ }
57
+ exports.ContextApi = ContextApi;
58
+ //# 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,MAAa,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;AAhED,gCAgEC"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProjectsApi = void 0;
4
+ /**
5
+ * API для работы с проектами
6
+ */
7
+ class ProjectsApi {
8
+ /**
9
+ * Создает новый экземпляр API для работы с проектами
10
+ * @param {HttpClient} httpClient HTTP клиент
11
+ */
12
+ constructor(httpClient) {
13
+ this.httpClient = httpClient;
14
+ }
15
+ /**
16
+ * Получает список всех проектов
17
+ * @returns {Promise<Project[]>} Список проектов
18
+ */
19
+ async getAllProjects() {
20
+ return this.httpClient.get('/api/projects');
21
+ }
22
+ /**
23
+ * Получает проект по идентификатору
24
+ * @param {string} projectId Идентификатор проекта
25
+ * @returns {Promise<Project>} Проект
26
+ */
27
+ async getProject(projectId) {
28
+ return this.httpClient.get(`/api/projects/${projectId}`);
29
+ }
30
+ /**
31
+ * Создает новый проект
32
+ * @param {string} name Название проекта
33
+ * @param {string} path Путь к проекту
34
+ * @returns {Promise<Project>} Созданный проект
35
+ */
36
+ async createProject(name, path) {
37
+ return this.httpClient.post('/api/projects', { name, path });
38
+ }
39
+ /**
40
+ * Обновляет проект
41
+ * @param {string} projectId Идентификатор проекта
42
+ * @param {Partial<Pick<Project, 'name' | 'path'>>} data Данные для обновления
43
+ * @returns {Promise<Project>} Обновленный проект
44
+ */
45
+ async updateProject(projectId, data) {
46
+ return this.httpClient.put(`/api/projects/${projectId}`, data);
47
+ }
48
+ /**
49
+ * Удаляет проект
50
+ * @param {string} projectId Идентификатор проекта
51
+ * @returns {Promise<void>}
52
+ */
53
+ async deleteProject(projectId) {
54
+ return this.httpClient.delete(`/api/projects/${projectId}`);
55
+ }
56
+ /**
57
+ * Запускает индексацию проекта
58
+ * @param {string} projectId Идентификатор проекта
59
+ * @returns {Promise<Project>} Обновленный проект
60
+ */
61
+ async indexProject(projectId) {
62
+ return this.httpClient.post(`/api/projects/${projectId}/index`);
63
+ }
64
+ /**
65
+ * Останавливает индексацию проекта
66
+ * @param {string} projectId Идентификатор проекта
67
+ * @returns {Promise<Project>} Обновленный проект
68
+ */
69
+ async stopIndexing(projectId) {
70
+ return this.httpClient.post(`/api/projects/${projectId}/stop-indexing`);
71
+ }
72
+ /**
73
+ * Получает статус индексации проекта
74
+ * @param {string} projectId Идентификатор проекта
75
+ * @returns {Promise<Project>} Проект с обновленным статусом индексации
76
+ */
77
+ async getIndexingStatus(projectId) {
78
+ return this.httpClient.get(`/api/projects/${projectId}/indexing-status`);
79
+ }
80
+ }
81
+ exports.ProjectsApi = ProjectsApi;
82
+ //# 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,MAAa,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;AAvFD,kCAuFC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReasoningApi = void 0;
4
+ /**
5
+ * API для работы с рассуждениями
6
+ */
7
+ class ReasoningApi {
8
+ /**
9
+ * Создает новый экземпляр API для работы с рассуждениями
10
+ * @param {HttpClient} httpClient HTTP клиент
11
+ */
12
+ constructor(httpClient) {
13
+ this.httpClient = httpClient;
14
+ }
15
+ /**
16
+ * Получает список рассуждений
17
+ * @param {GetReasoningsParams} [params] Параметры для получения списка
18
+ * @returns {Promise<Reasoning[]>} Список рассуждений
19
+ */
20
+ async getReasonings(params) {
21
+ return this.httpClient.get('/api/reasonings', params);
22
+ }
23
+ /**
24
+ * Получает рассуждение по идентификатору
25
+ * @param {string} reasoningId Идентификатор рассуждения
26
+ * @returns {Promise<Reasoning>} Рассуждение
27
+ */
28
+ async getReasoning(reasoningId) {
29
+ return this.httpClient.get(`/api/reasonings/${reasoningId}`);
30
+ }
31
+ /**
32
+ * Создает новое рассуждение
33
+ * @param {CreateReasoningParams} params Параметры рассуждения
34
+ * @returns {Promise<Reasoning>} Созданное рассуждение
35
+ */
36
+ async createReasoning(params) {
37
+ return this.httpClient.post('/api/reasonings', params);
38
+ }
39
+ /**
40
+ * Запускает процесс рассуждения
41
+ * @param {string} reasoningId Идентификатор рассуждения
42
+ * @returns {Promise<Reasoning>} Рассуждение
43
+ */
44
+ async startReasoning(reasoningId) {
45
+ return this.httpClient.post(`/api/reasonings/${reasoningId}/start`);
46
+ }
47
+ /**
48
+ * Останавливает процесс рассуждения
49
+ * @param {string} reasoningId Идентификатор рассуждения
50
+ * @returns {Promise<Reasoning>} Рассуждение
51
+ */
52
+ async stopReasoning(reasoningId) {
53
+ return this.httpClient.post(`/api/reasonings/${reasoningId}/stop`);
54
+ }
55
+ /**
56
+ * Удаляет рассуждение
57
+ * @param {string} reasoningId Идентификатор рассуждения
58
+ * @returns {Promise<void>}
59
+ */
60
+ async deleteReasoning(reasoningId) {
61
+ return this.httpClient.delete(`/api/reasonings/${reasoningId}`);
62
+ }
63
+ /**
64
+ * Получает промежуточные мысли рассуждения
65
+ * @param {string} reasoningId Идентификатор рассуждения
66
+ * @returns {Promise<string[]>} Промежуточные мысли
67
+ */
68
+ async getThinking(reasoningId) {
69
+ return this.httpClient.get(`/api/reasonings/${reasoningId}/thinking`);
70
+ }
71
+ }
72
+ exports.ReasoningApi = ReasoningApi;
73
+ //# 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,MAAa,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;AA1ED,oCA0EC"}