solver-sdk 2.8.0 → 3.1.0

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 (197) hide show
  1. package/README.md +200 -368
  2. package/dist/cjs/api/chat-api/index.js +23 -49
  3. package/dist/cjs/api/chat-api/index.js.map +1 -1
  4. package/dist/cjs/api/chat-api/interfaces.js +1 -0
  5. package/dist/cjs/api/chat-api/interfaces.js.map +1 -1
  6. package/dist/cjs/api/context-api.js +6 -1
  7. package/dist/cjs/api/context-api.js.map +1 -1
  8. package/dist/cjs/api/models-api.js +43 -60
  9. package/dist/cjs/api/models-api.js.map +1 -1
  10. package/dist/cjs/api/projects-api.js +63 -293
  11. package/dist/cjs/api/projects-api.js.map +1 -1
  12. package/dist/cjs/api/search-api.js +131 -8
  13. package/dist/cjs/api/search-api.js.map +1 -1
  14. package/dist/cjs/code-solver-sdk.js +68 -322
  15. package/dist/cjs/code-solver-sdk.js.map +1 -1
  16. package/dist/cjs/index.js +3 -19
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/utils/logger.js +4 -4
  19. package/dist/cjs/utils/logger.js.map +1 -1
  20. package/dist/esm/api/chat-api/index.js +22 -48
  21. package/dist/esm/api/chat-api/index.js.map +1 -1
  22. package/dist/esm/api/chat-api/interfaces.js +1 -0
  23. package/dist/esm/api/chat-api/interfaces.js.map +1 -1
  24. package/dist/esm/api/context-api.js +6 -1
  25. package/dist/esm/api/context-api.js.map +1 -1
  26. package/dist/esm/api/models-api.js +43 -60
  27. package/dist/esm/api/models-api.js.map +1 -1
  28. package/dist/esm/api/projects-api.js +63 -293
  29. package/dist/esm/api/projects-api.js.map +1 -1
  30. package/dist/esm/api/search-api.js +131 -8
  31. package/dist/esm/api/search-api.js.map +1 -1
  32. package/dist/esm/code-solver-sdk.js +68 -322
  33. package/dist/esm/code-solver-sdk.js.map +1 -1
  34. package/dist/esm/index.js +2 -18
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/utils/logger.js +3 -3
  37. package/dist/esm/utils/logger.js.map +1 -1
  38. package/dist/types/api/chat-api/index.d.ts +1 -13
  39. package/dist/types/api/chat-api/index.d.ts.map +1 -1
  40. package/dist/types/api/chat-api/interfaces.d.ts +6 -54
  41. package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
  42. package/dist/types/api/chat-api/models.d.ts +3 -26
  43. package/dist/types/api/chat-api/models.d.ts.map +1 -1
  44. package/dist/types/api/context-api.d.ts.map +1 -1
  45. package/dist/types/api/models-api.d.ts +31 -62
  46. package/dist/types/api/models-api.d.ts.map +1 -1
  47. package/dist/types/api/projects-api.d.ts +47 -126
  48. package/dist/types/api/projects-api.d.ts.map +1 -1
  49. package/dist/types/api/search-api.d.ts +147 -6
  50. package/dist/types/api/search-api.d.ts.map +1 -1
  51. package/dist/types/code-solver-sdk.d.ts +36 -86
  52. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  53. package/dist/types/index.d.ts +1 -14
  54. package/dist/types/index.d.ts.map +1 -1
  55. package/dist/types/interfaces/sdk-options.d.ts +18 -66
  56. package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
  57. package/dist/types/utils/logger.d.ts +3 -3
  58. package/dist/types/utils/logger.d.ts.map +1 -1
  59. package/docs/README.md +53 -37
  60. package/docs/VSCODE_INTEGRATION.md +208 -371
  61. package/docs/indexing/INDEXING.md +658 -335
  62. package/package.json +26 -23
  63. package/dist/cjs/api/agents-api.js +0 -94
  64. package/dist/cjs/api/agents-api.js.map +0 -1
  65. package/dist/cjs/api/chat-api/websocket-helpers.js +0 -211
  66. package/dist/cjs/api/chat-api/websocket-helpers.js.map +0 -1
  67. package/dist/cjs/api/dependencies-api.js +0 -286
  68. package/dist/cjs/api/dependencies-api.js.map +0 -1
  69. package/dist/cjs/constants/websocket-events.constants.js +0 -170
  70. package/dist/cjs/constants/websocket-events.constants.js.map +0 -1
  71. package/dist/cjs/constants/websocket-namespaces.constants.js +0 -22
  72. package/dist/cjs/constants/websocket-namespaces.constants.js.map +0 -1
  73. package/dist/cjs/interfaces/websocket/callbacks.interfaces.js +0 -3
  74. package/dist/cjs/interfaces/websocket/callbacks.interfaces.js.map +0 -1
  75. package/dist/cjs/interfaces/websocket/client-options.interfaces.js +0 -3
  76. package/dist/cjs/interfaces/websocket/client-options.interfaces.js.map +0 -1
  77. package/dist/cjs/interfaces/websocket/events.interfaces.js +0 -3
  78. package/dist/cjs/interfaces/websocket/events.interfaces.js.map +0 -1
  79. package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js +0 -42
  80. package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js.map +0 -1
  81. package/dist/cjs/simple-indexing-client.js +0 -138
  82. package/dist/cjs/simple-indexing-client.js.map +0 -1
  83. package/dist/cjs/utils/code-solver-websocket-client.js +0 -497
  84. package/dist/cjs/utils/code-solver-websocket-client.js.map +0 -1
  85. package/dist/cjs/utils/connection-state-manager.js +0 -133
  86. package/dist/cjs/utils/connection-state-manager.js.map +0 -1
  87. package/dist/cjs/utils/indexing-websocket-client.js +0 -107
  88. package/dist/cjs/utils/indexing-websocket-client.js.map +0 -1
  89. package/dist/cjs/utils/session-manager.js +0 -114
  90. package/dist/cjs/utils/session-manager.js.map +0 -1
  91. package/dist/cjs/utils/simple-connection-monitor.js +0 -52
  92. package/dist/cjs/utils/simple-connection-monitor.js.map +0 -1
  93. package/dist/cjs/utils/websocket-client.js +0 -638
  94. package/dist/cjs/utils/websocket-client.js.map +0 -1
  95. package/dist/cjs/ws/base-ws-client.js +0 -280
  96. package/dist/cjs/ws/base-ws-client.js.map +0 -1
  97. package/dist/cjs/ws/dependencies-ws-client.js +0 -11
  98. package/dist/cjs/ws/dependencies-ws-client.js.map +0 -1
  99. package/dist/cjs/ws/file-editing-ws-client.js +0 -162
  100. package/dist/cjs/ws/file-editing-ws-client.js.map +0 -1
  101. package/dist/cjs/ws/filesystem-ws-client.js +0 -305
  102. package/dist/cjs/ws/filesystem-ws-client.js.map +0 -1
  103. package/dist/cjs/ws/indexing-ws-client.js +0 -275
  104. package/dist/cjs/ws/indexing-ws-client.js.map +0 -1
  105. package/dist/cjs/ws/notifications-ws-client.js +0 -12
  106. package/dist/cjs/ws/notifications-ws-client.js.map +0 -1
  107. package/dist/esm/api/agents-api.js +0 -90
  108. package/dist/esm/api/agents-api.js.map +0 -1
  109. package/dist/esm/api/chat-api/websocket-helpers.js +0 -205
  110. package/dist/esm/api/chat-api/websocket-helpers.js.map +0 -1
  111. package/dist/esm/api/dependencies-api.js +0 -282
  112. package/dist/esm/api/dependencies-api.js.map +0 -1
  113. package/dist/esm/constants/websocket-events.constants.js +0 -167
  114. package/dist/esm/constants/websocket-events.constants.js.map +0 -1
  115. package/dist/esm/constants/websocket-namespaces.constants.js +0 -19
  116. package/dist/esm/constants/websocket-namespaces.constants.js.map +0 -1
  117. package/dist/esm/interfaces/websocket/callbacks.interfaces.js +0 -2
  118. package/dist/esm/interfaces/websocket/callbacks.interfaces.js.map +0 -1
  119. package/dist/esm/interfaces/websocket/client-options.interfaces.js +0 -2
  120. package/dist/esm/interfaces/websocket/client-options.interfaces.js.map +0 -1
  121. package/dist/esm/interfaces/websocket/events.interfaces.js +0 -2
  122. package/dist/esm/interfaces/websocket/events.interfaces.js.map +0 -1
  123. package/dist/esm/interfaces/websocket/vscode-command.interfaces.js +0 -39
  124. package/dist/esm/interfaces/websocket/vscode-command.interfaces.js.map +0 -1
  125. package/dist/esm/simple-indexing-client.js +0 -134
  126. package/dist/esm/simple-indexing-client.js.map +0 -1
  127. package/dist/esm/utils/code-solver-websocket-client.js +0 -492
  128. package/dist/esm/utils/code-solver-websocket-client.js.map +0 -1
  129. package/dist/esm/utils/connection-state-manager.js +0 -129
  130. package/dist/esm/utils/connection-state-manager.js.map +0 -1
  131. package/dist/esm/utils/indexing-websocket-client.js +0 -103
  132. package/dist/esm/utils/indexing-websocket-client.js.map +0 -1
  133. package/dist/esm/utils/session-manager.js +0 -109
  134. package/dist/esm/utils/session-manager.js.map +0 -1
  135. package/dist/esm/utils/simple-connection-monitor.js +0 -48
  136. package/dist/esm/utils/simple-connection-monitor.js.map +0 -1
  137. package/dist/esm/utils/websocket-client.js +0 -634
  138. package/dist/esm/utils/websocket-client.js.map +0 -1
  139. package/dist/esm/ws/base-ws-client.js +0 -276
  140. package/dist/esm/ws/base-ws-client.js.map +0 -1
  141. package/dist/esm/ws/dependencies-ws-client.js +0 -7
  142. package/dist/esm/ws/dependencies-ws-client.js.map +0 -1
  143. package/dist/esm/ws/file-editing-ws-client.js +0 -158
  144. package/dist/esm/ws/file-editing-ws-client.js.map +0 -1
  145. package/dist/esm/ws/filesystem-ws-client.js +0 -301
  146. package/dist/esm/ws/filesystem-ws-client.js.map +0 -1
  147. package/dist/esm/ws/indexing-ws-client.js +0 -271
  148. package/dist/esm/ws/indexing-ws-client.js.map +0 -1
  149. package/dist/esm/ws/notifications-ws-client.js +0 -8
  150. package/dist/esm/ws/notifications-ws-client.js.map +0 -1
  151. package/dist/types/api/agents-api.d.ts +0 -141
  152. package/dist/types/api/agents-api.d.ts.map +0 -1
  153. package/dist/types/api/chat-api/websocket-helpers.d.ts +0 -40
  154. package/dist/types/api/chat-api/websocket-helpers.d.ts.map +0 -1
  155. package/dist/types/api/dependencies-api.d.ts +0 -109
  156. package/dist/types/api/dependencies-api.d.ts.map +0 -1
  157. package/dist/types/constants/websocket-events.constants.d.ts +0 -144
  158. package/dist/types/constants/websocket-events.constants.d.ts.map +0 -1
  159. package/dist/types/constants/websocket-namespaces.constants.d.ts +0 -17
  160. package/dist/types/constants/websocket-namespaces.constants.d.ts.map +0 -1
  161. package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts +0 -30
  162. package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts.map +0 -1
  163. package/dist/types/interfaces/websocket/client-options.interfaces.d.ts +0 -51
  164. package/dist/types/interfaces/websocket/client-options.interfaces.d.ts.map +0 -1
  165. package/dist/types/interfaces/websocket/events.interfaces.d.ts +0 -165
  166. package/dist/types/interfaces/websocket/events.interfaces.d.ts.map +0 -1
  167. package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts +0 -56
  168. package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts.map +0 -1
  169. package/dist/types/simple-indexing-client.d.ts +0 -66
  170. package/dist/types/simple-indexing-client.d.ts.map +0 -1
  171. package/dist/types/utils/code-solver-websocket-client.d.ts +0 -144
  172. package/dist/types/utils/code-solver-websocket-client.d.ts.map +0 -1
  173. package/dist/types/utils/connection-state-manager.d.ts +0 -94
  174. package/dist/types/utils/connection-state-manager.d.ts.map +0 -1
  175. package/dist/types/utils/indexing-websocket-client.d.ts +0 -123
  176. package/dist/types/utils/indexing-websocket-client.d.ts.map +0 -1
  177. package/dist/types/utils/session-manager.d.ts +0 -98
  178. package/dist/types/utils/session-manager.d.ts.map +0 -1
  179. package/dist/types/utils/simple-connection-monitor.d.ts +0 -26
  180. package/dist/types/utils/simple-connection-monitor.d.ts.map +0 -1
  181. package/dist/types/utils/websocket-client.d.ts +0 -233
  182. package/dist/types/utils/websocket-client.d.ts.map +0 -1
  183. package/dist/types/ws/base-ws-client.d.ts +0 -119
  184. package/dist/types/ws/base-ws-client.d.ts.map +0 -1
  185. package/dist/types/ws/dependencies-ws-client.d.ts +0 -6
  186. package/dist/types/ws/dependencies-ws-client.d.ts.map +0 -1
  187. package/dist/types/ws/file-editing-ws-client.d.ts +0 -85
  188. package/dist/types/ws/file-editing-ws-client.d.ts.map +0 -1
  189. package/dist/types/ws/filesystem-ws-client.d.ts +0 -201
  190. package/dist/types/ws/filesystem-ws-client.d.ts.map +0 -1
  191. package/dist/types/ws/indexing-ws-client.d.ts +0 -94
  192. package/dist/types/ws/indexing-ws-client.d.ts.map +0 -1
  193. package/dist/types/ws/notifications-ws-client.d.ts +0 -5
  194. package/dist/types/ws/notifications-ws-client.d.ts.map +0 -1
  195. package/docs/ARCHITECTURE.md +0 -268
  196. package/docs/QUICK_START.md +0 -126
  197. package/docs/WEBSOCKET.md +0 -472
@@ -1,90 +0,0 @@
1
- /**
2
- * API для работы с агентами
3
- */
4
- export class AgentsApi {
5
- /**
6
- * Создает новый экземпляр API для работы с агентами
7
- * @param {HttpClient} httpClient HTTP клиент
8
- */
9
- constructor(httpClient) {
10
- this.httpClient = httpClient;
11
- }
12
- /**
13
- * Получает список всех агентов проекта
14
- * @param {string} projectId Идентификатор проекта
15
- * @returns {Promise<Agent[]>} Список агентов
16
- */
17
- async getAgents(projectId) {
18
- return this.httpClient.get(`/api/projects/${projectId}/agents`);
19
- }
20
- /**
21
- * Получает агента по идентификатору
22
- * @param {string} agentId Идентификатор агента
23
- * @returns {Promise<Agent>} Агент
24
- */
25
- async getAgent(agentId) {
26
- return this.httpClient.get(`/api/agents/${agentId}`);
27
- }
28
- /**
29
- * Создает нового агента
30
- * @param {CreateAgentParams} params Параметры создания агента
31
- * @returns {Promise<Agent>} Созданный агент
32
- */
33
- async createAgent(params) {
34
- return this.httpClient.post('/api/agents', params);
35
- }
36
- /**
37
- * Обновляет агента
38
- * @param {string} agentId Идентификатор агента
39
- * @param {Partial<Pick<Agent, 'name' | 'description' | 'settings'>>} data Данные для обновления
40
- * @returns {Promise<Agent>} Обновленный агент
41
- */
42
- async updateAgent(agentId, data) {
43
- return this.httpClient.put(`/api/agents/${agentId}`, data);
44
- }
45
- /**
46
- * Удаляет агента
47
- * @param {string} agentId Идентификатор агента
48
- * @returns {Promise<void>}
49
- */
50
- async deleteAgent(agentId) {
51
- return this.httpClient.delete(`/api/agents/${agentId}`);
52
- }
53
- /**
54
- * Запускает агента
55
- * @param {string} agentId Идентификатор агента
56
- * @param {object} [params] Параметры запуска
57
- * @returns {Promise<Agent>} Обновленный агент
58
- */
59
- async startAgent(agentId, params) {
60
- return this.httpClient.post(`/api/agents/${agentId}/start`, params);
61
- }
62
- /**
63
- * Останавливает агента
64
- * @param {string} agentId Идентификатор агента
65
- * @returns {Promise<Agent>} Обновленный агент
66
- */
67
- async stopAgent(agentId) {
68
- return this.httpClient.post(`/api/agents/${agentId}/stop`);
69
- }
70
- /**
71
- * Получает задачи агента
72
- * @param {string} agentId Идентификатор агента
73
- * @returns {Promise<AgentTask[]>} Список задач
74
- */
75
- async getAgentTasks(agentId) {
76
- return this.httpClient.get(`/api/agents/${agentId}/tasks`);
77
- }
78
- /**
79
- * Создает новую задачу для агента
80
- * @param {string} agentId Идентификатор агента
81
- * @param {object} params Параметры задачи
82
- * @param {string} params.description Описание задачи
83
- * @param {object} [params.context] Контекст задачи
84
- * @returns {Promise<AgentTask>} Созданная задача
85
- */
86
- async createAgentTask(agentId, params) {
87
- return this.httpClient.post(`/api/agents/${agentId}/tasks`, params);
88
- }
89
- }
90
- //# sourceMappingURL=agents-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agents-api.js","sourceRoot":"","sources":["../../../src/api/agents-api.ts"],"names":[],"mappings":"AA0FA;;GAEG;AACH,MAAM,OAAO,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"}
@@ -1,205 +0,0 @@
1
- import { WebSocketEvents, ContentBlockDeltaTypes } from '../../constants/websocket-events.constants';
2
- /**
3
- * Настраивает обработчики событий для WebSocket
4
- */
5
- export function setupSocketEventHandlers(socket, socketId, sessionId, onEvent) {
6
- // Установка обработчиков событий
7
- socket.on('connect', () => {
8
- console.log(`[SDK] WebSocket подключен: ${socket.id}, задано socketId: ${socketId}`);
9
- // При подключении отправляем событие аутентификации
10
- socket.emit('authenticate', {
11
- socketId: socketId,
12
- token: 'test-token'
13
- });
14
- // Отправляем событие присоединения к комнате с ID сессии
15
- socket.emit('join_room', { roomId: sessionId });
16
- // Вызываем обработчик события connect
17
- if (onEvent) {
18
- onEvent('connect', { socketId });
19
- }
20
- });
21
- // Обработчик сообщений от сервера
22
- socket.on('message', (data) => {
23
- if (!onEvent || !data)
24
- return;
25
- // Обрабатываем случай, когда сервер отправляет сообщения в формате JSON-строки
26
- if (typeof data === 'string') {
27
- try {
28
- data = JSON.parse(data);
29
- }
30
- catch (e) {
31
- // Оставляем как строку, если не удалось распарсить
32
- }
33
- }
34
- // Передаем событие напрямую, без преобразования формата
35
- if (data && data.type) {
36
- onEvent(data.type, data);
37
- }
38
- else {
39
- // Передаем все остальные сообщения как есть
40
- onEvent('message', data);
41
- }
42
- });
43
- // Обработчик ошибок
44
- socket.on('error', (error) => {
45
- console.error('[SDK] WebSocket error:', error);
46
- // Проверяем наличие ошибки географических ограничений
47
- const isGeoRestriction = (error.type === 'geo_restriction' || error.code === 403) &&
48
- error.message &&
49
- (error.message.includes('ограничен в вашем регионе') ||
50
- error.message.includes('Request not allowed'));
51
- if (isGeoRestriction) {
52
- console.error('\n==============================================');
53
- console.error('⚠️ ОШИБКА ГЕОГРАФИЧЕСКОГО ОГРАНИЧЕНИЯ API ANTHROPIC');
54
- console.error('⚠️ Для работы с API Anthropic требуется VPN или прокси');
55
- console.error('⚠️ Anthropic API доступен только из определенных регионов');
56
- console.error('==============================================');
57
- }
58
- if (onEvent) {
59
- onEvent('error', {
60
- message: error.message || 'Unknown WebSocket error',
61
- code: error.code,
62
- type: isGeoRestriction ? 'geo_restriction' : (error.type || 'websocket_error')
63
- });
64
- }
65
- });
66
- // Обработчик отключения
67
- socket.on('disconnect', (reason) => {
68
- console.log(`[SDK] WebSocket отключен: ${reason}`);
69
- if (onEvent) {
70
- onEvent('disconnect', { reason });
71
- }
72
- });
73
- // Обработчики для событий аутентификации
74
- socket.on('authenticated', (data) => {
75
- console.log('[SDK] Аутентификация успешна', data);
76
- if (onEvent) {
77
- onEvent('authenticated', data);
78
- }
79
- });
80
- socket.on('authentication_error', (data) => {
81
- console.error('[SDK] Ошибка аутентификации:', data);
82
- if (onEvent) {
83
- onEvent('error', { message: 'Ошибка аутентификации: ' + (data.message || 'Unknown error'), code: 'AUTH_ERROR' });
84
- }
85
- });
86
- // Список актуальных событий API Anthropic
87
- [
88
- 'message_start', 'content_block_start', 'content_block_delta',
89
- 'content_block_stop', 'message_delta', 'message_stop', 'done', 'ping'
90
- ].forEach(eventType => {
91
- socket.on(eventType, (data) => {
92
- if (!onEvent)
93
- return;
94
- // Передаем события в их исходном формате без преобразования
95
- onEvent(eventType, data);
96
- });
97
- });
98
- }
99
- /**
100
- * Генерирует случайный ID указанной длины
101
- */
102
- export function generateId(length) {
103
- const chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
104
- let result = '';
105
- for (let i = 0; i < length; i++) {
106
- result += chars.charAt(Math.floor(Math.random() * chars.length));
107
- }
108
- return result;
109
- }
110
- /**
111
- * Создает обработчик WebSocket событий для работы с API Anthropic
112
- * @param socket Socket.io сокет
113
- * @param options Опции обработчика
114
- * @returns Функция отписки от событий
115
- */
116
- export function createWebSocketEventHandler(socket, options) {
117
- const { onMessageStart, onContentBlockStart, onContentBlockDelta, onContentBlockStop, onMessageDelta, onMessageStop, onThinking, onText, onInputJson, onSignature, onError, onDone } = options;
118
- // Общая функция для обработки events
119
- const handleEvent = (event, handler) => {
120
- if (handler) {
121
- socket.on(event, (data) => {
122
- try {
123
- handler(data);
124
- }
125
- catch (err) {
126
- console.error(`Ошибка при обработке события ${event}:`, err);
127
- if (onError)
128
- onError(err);
129
- }
130
- });
131
- }
132
- };
133
- // Регистрируем обработчики для всех требуемых событий
134
- handleEvent(WebSocketEvents.MESSAGE_START, onMessageStart);
135
- handleEvent(WebSocketEvents.CONTENT_BLOCK_START, onContentBlockStart);
136
- handleEvent(WebSocketEvents.CONTENT_BLOCK_STOP, onContentBlockStop);
137
- handleEvent(WebSocketEvents.MESSAGE_DELTA, onMessageDelta);
138
- handleEvent(WebSocketEvents.MESSAGE_STOP, onMessageStop);
139
- handleEvent(WebSocketEvents.ERROR, onError);
140
- handleEvent(WebSocketEvents.DONE, onDone);
141
- // Обработчик дельт блоков контента
142
- if (onContentBlockDelta || onThinking || onText || onInputJson || onSignature) {
143
- socket.on(WebSocketEvents.CONTENT_BLOCK_DELTA, (data) => {
144
- try {
145
- // Вызываем общий обработчик для всех дельт
146
- if (onContentBlockDelta) {
147
- onContentBlockDelta(data);
148
- }
149
- // Обрабатываем разные типы дельт
150
- if (data.delta && data.delta.type) {
151
- // Обработка thinking
152
- if (data.delta.type === ContentBlockDeltaTypes.THINKING_DELTA && onThinking && data.delta.thinking) {
153
- onThinking(data.delta.thinking);
154
- }
155
- // Обработка текста
156
- else if (data.delta.type === ContentBlockDeltaTypes.TEXT_DELTA && onText && data.delta.text) {
157
- onText(data.delta.text);
158
- }
159
- // Обработка JSON для инструментов
160
- else if (data.delta.type === ContentBlockDeltaTypes.INPUT_JSON_DELTA && onInputJson) {
161
- const jsonData = data.delta.input_json || '';
162
- onInputJson(jsonData);
163
- }
164
- // Обработка подписи для верификации
165
- else if (data.delta.type === ContentBlockDeltaTypes.SIGNATURE_DELTA && onSignature && data.delta.signature) {
166
- onSignature(data.delta.signature);
167
- }
168
- }
169
- }
170
- catch (err) {
171
- console.error('Ошибка при обработке события content_block_delta:', err);
172
- if (onError)
173
- onError(err);
174
- }
175
- });
176
- }
177
- // Возвращаем функцию для отписки от всех событий
178
- return () => {
179
- socket.off(WebSocketEvents.MESSAGE_START);
180
- socket.off(WebSocketEvents.CONTENT_BLOCK_START);
181
- socket.off(WebSocketEvents.CONTENT_BLOCK_DELTA);
182
- socket.off(WebSocketEvents.CONTENT_BLOCK_STOP);
183
- socket.off(WebSocketEvents.MESSAGE_DELTA);
184
- socket.off(WebSocketEvents.MESSAGE_STOP);
185
- socket.off(WebSocketEvents.ERROR);
186
- socket.off(WebSocketEvents.DONE);
187
- };
188
- }
189
- /**
190
- * Нормализует имя события для совместимости с API Anthropic
191
- * @param eventName Имя события
192
- * @returns Нормализованное имя события
193
- */
194
- export function normalizeEventName(eventName) {
195
- const eventMap = {
196
- 'message.start': WebSocketEvents.MESSAGE_START,
197
- 'message.stop': WebSocketEvents.MESSAGE_STOP,
198
- 'message.delta': WebSocketEvents.MESSAGE_DELTA,
199
- 'content_block.start': WebSocketEvents.CONTENT_BLOCK_START,
200
- 'content_block.delta': WebSocketEvents.CONTENT_BLOCK_DELTA,
201
- 'content_block.stop': WebSocketEvents.CONTENT_BLOCK_STOP,
202
- };
203
- return eventMap[eventName] || eventName;
204
- }
205
- //# sourceMappingURL=websocket-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"websocket-helpers.js","sourceRoot":"","sources":["../../../../src/api/chat-api/websocket-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,282 +0,0 @@
1
- import { WebSocketNamespace } from '../utils/code-solver-websocket-client.js';
2
- /**
3
- * API для работы с зависимостями файлов в проектах
4
- */
5
- export class DependenciesApi {
6
- /**
7
- * Создает новый экземпляр API для работы с зависимостями
8
- * @param httpClient HTTP клиент для запросов к API
9
- */
10
- constructor(httpClient) {
11
- /** WebSocket клиент */
12
- this.wsClient = null;
13
- /** Родительский SDK */
14
- this.parentSdk = null;
15
- this.client = httpClient;
16
- this.baseUrl = '/dependencies';
17
- }
18
- /**
19
- * Получает зависимости конкретного файла
20
- * @param projectId ID проекта
21
- * @param params Параметры запроса зависимостей файла
22
- * @returns Зависимости файла
23
- */
24
- async getFileDependencies(projectId, params) {
25
- try {
26
- const response = await this.client.get(`/projects/${projectId}/dependencies/file`, { params: { path: params.filePath } });
27
- if (!response.success || !response.data) {
28
- throw new Error(response.error || 'Ошибка при получении зависимостей файла');
29
- }
30
- return response.data;
31
- }
32
- catch (error) {
33
- throw new Error(`Ошибка при получении зависимостей файла: ${error.message}`);
34
- }
35
- }
36
- /**
37
- * Получает граф зависимостей проекта
38
- * @param projectId ID проекта
39
- * @returns Граф зависимостей
40
- */
41
- async getDependencyGraph(projectId) {
42
- try {
43
- const response = await this.client.get(`/projects/${projectId}/dependencies/graph`);
44
- if (!response.success || !response.data) {
45
- throw new Error(response.error || 'Ошибка при получении графа зависимостей');
46
- }
47
- return response.data;
48
- }
49
- catch (error) {
50
- throw new Error(`Ошибка при получении графа зависимостей: ${error.message}`);
51
- }
52
- }
53
- /**
54
- * Получает статистику зависимостей проекта
55
- * @param projectId ID проекта
56
- * @returns Статистика зависимостей
57
- */
58
- async getDependencyStatistics(projectId) {
59
- try {
60
- const response = await this.client.get(`/projects/${projectId}/dependencies/stats`);
61
- if (!response.success || !response.data) {
62
- throw new Error(response.error || 'Ошибка при получении статистики зависимостей');
63
- }
64
- return response.data;
65
- }
66
- catch (error) {
67
- throw new Error(`Ошибка при получении статистики зависимостей: ${error.message}`);
68
- }
69
- }
70
- /**
71
- * Получает детальную информацию о файле
72
- * @param projectId ID проекта
73
- * @param filePath Путь к файлу
74
- * @returns Информация о файле
75
- */
76
- async getFileDetails(projectId, filePath) {
77
- try {
78
- const response = await this.client.get(`/projects/${projectId}/dependencies/file-details`, { params: { path: filePath } });
79
- if (!response.success || !response.data) {
80
- throw new Error(response.error || 'Ошибка при получении информации о файле');
81
- }
82
- return response.data;
83
- }
84
- catch (error) {
85
- throw new Error(`Ошибка при получении информации о файле: ${error.message}`);
86
- }
87
- }
88
- /**
89
- * Получает связанные компоненты для файла
90
- * @param projectId ID проекта
91
- * @param params Параметры запроса связанных компонентов
92
- * @returns Связанные компоненты
93
- */
94
- async getRelatedComponents(projectId, params) {
95
- try {
96
- const response = await this.client.get(`/projects/${projectId}/dependencies/related`, {
97
- params: {
98
- path: params.filePath,
99
- maxDepth: params.maxDepth || 3,
100
- includeIncoming: params.includeIncoming || true,
101
- includeOutgoing: params.includeOutgoing || true,
102
- maxNodes: params.maxNodes || 20
103
- }
104
- });
105
- if (!response.success || !response.data) {
106
- throw new Error(response.error || 'Ошибка при получении связанных компонентов');
107
- }
108
- return response.data;
109
- }
110
- catch (error) {
111
- throw new Error(`Ошибка при получении связанных компонентов: ${error.message}`);
112
- }
113
- }
114
- /**
115
- * Анализирует граф зависимостей проекта
116
- * @param projectId ID проекта
117
- * @returns Результат анализа
118
- */
119
- async analyzeDependencyGraph(projectId) {
120
- try {
121
- const response = await this.client.get(`/projects/${projectId}/dependencies/analyze`);
122
- if (!response.success || !response.data) {
123
- throw new Error(response.error || 'Ошибка при анализе графа зависимостей');
124
- }
125
- return response.data;
126
- }
127
- catch (error) {
128
- throw new Error(`Ошибка при анализе графа зависимостей: ${error.message}`);
129
- }
130
- }
131
- /**
132
- * Присоединяется к проекту через WebSocket
133
- * @param projectId ID проекта
134
- * @param wsClient WebSocket клиент (опционально)
135
- * @returns {Promise<{success: boolean, projectId: string, error?: string}>} Результат операции
136
- */
137
- async joinProject(projectId, wsClient) {
138
- try {
139
- // Если WebSocket клиент не передан, попробуем получить его из родительского SDK
140
- const client = wsClient || this._parent?.getWebSocketClient?.();
141
- if (!client) {
142
- throw new Error('WebSocket клиент не доступен');
143
- }
144
- // Убедимся, что клиент подключен к пространству имен dependencies
145
- const isConnected = await client.isConnected(WebSocketNamespace.DEPENDENCIES);
146
- if (!isConnected) {
147
- await client.connect(WebSocketNamespace.DEPENDENCIES);
148
- }
149
- // Отправляем событие присоединения к проекту
150
- const result = await client.emitWithAck(WebSocketNamespace.DEPENDENCIES, 'join_dependencies', {
151
- projectId
152
- });
153
- return {
154
- success: true,
155
- projectId,
156
- ...result
157
- };
158
- }
159
- catch (error) {
160
- console.error(`[DependenciesAPI] Ошибка при присоединении к проекту: ${error.message}`);
161
- return {
162
- success: false,
163
- projectId,
164
- error: error.message
165
- };
166
- }
167
- }
168
- /**
169
- * Подключается к WebSocket для событий зависимостей
170
- * @returns {Promise<boolean>} Результат подключения
171
- */
172
- async connectWebSocket() {
173
- try {
174
- if (!this.parentSdk || typeof this.parentSdk.getWebSocketClient !== 'function') {
175
- throw new Error('Родительский SDK не настроен или не поддерживает WebSocket');
176
- }
177
- this.wsClient = this.parentSdk.getWebSocketClient();
178
- await this.wsClient.connect(WebSocketNamespace.DEPENDENCIES);
179
- return this.wsClient.isConnected(WebSocketNamespace.DEPENDENCIES);
180
- }
181
- catch (error) {
182
- console.error('[DependenciesApi] Ошибка при подключении к WebSocket:', error.message);
183
- return false;
184
- }
185
- }
186
- /**
187
- * Отключается от WebSocket для событий зависимостей
188
- * @returns {Promise<void>}
189
- */
190
- async disconnectWebSocket() {
191
- if (this.wsClient) {
192
- await this.wsClient.disconnect(WebSocketNamespace.DEPENDENCIES);
193
- }
194
- }
195
- /**
196
- * Проверяет, подключен ли WebSocket
197
- * @returns {boolean} Состояние подключения
198
- */
199
- isWebSocketConnected() {
200
- return this.wsClient ? this.wsClient.isConnected(WebSocketNamespace.DEPENDENCIES) : false;
201
- }
202
- /**
203
- * Устанавливает родительский SDK
204
- * @param sdk Родительский SDK
205
- */
206
- setParent(sdk) {
207
- this.parentSdk = sdk;
208
- }
209
- /**
210
- * Подписывается на событие через WebSocket
211
- * @param event Название события
212
- * @param callback Функция обратного вызова
213
- */
214
- on(event, callback) {
215
- if (!this.wsClient) {
216
- throw new Error('[DependenciesApi] WebSocket не подключен. Подключитесь к WebSocket перед подпиской на события.');
217
- }
218
- this.wsClient.on(event, callback);
219
- }
220
- /**
221
- * Отправляет событие через WebSocket
222
- * @param event Название события
223
- * @param data Данные для отправки
224
- */
225
- emitSocketEvent(event, data) {
226
- if (!this.wsClient) {
227
- throw new Error('[DependenciesApi] WebSocket не подключен. Подключитесь к WebSocket перед отправкой событий.');
228
- }
229
- this.wsClient.send(WebSocketNamespace.DEPENDENCIES, event, data);
230
- }
231
- /**
232
- * Отправляет событие через WebSocket с ожиданием ответа
233
- * @param event Имя события
234
- * @param data Данные для отправки
235
- * @param timeout Таймаут ожидания ответа
236
- * @returns {Promise<any>} Ответ от сервера
237
- */
238
- async sendSocketEventWithResponse(event, data, timeout = 5000) {
239
- if (!this.wsClient) {
240
- throw new Error('[DependenciesApi] WebSocket не подключен');
241
- }
242
- // Реализуем собственный механизм emitWithAck, если wsClient не поддерживает его
243
- return new Promise((resolve, reject) => {
244
- try {
245
- // Создаем уникальный ID для запроса
246
- const requestId = `req_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
247
- // Имя события для ответа
248
- const responseEvent = `${event}_response`;
249
- // Обработчик для получения ответа
250
- const responseHandler = (response) => {
251
- if (response && response.requestId === requestId) {
252
- // Очищаем таймер и удаляем обработчик
253
- clearTimeout(timeoutId);
254
- if (this.wsClient) {
255
- this.wsClient.off(responseEvent, responseHandler);
256
- }
257
- // Разрешаем промис с ответом
258
- resolve(response.data || response);
259
- }
260
- };
261
- // Устанавливаем таймаут
262
- const timeoutId = setTimeout(() => {
263
- if (this.wsClient) {
264
- this.wsClient.off(responseEvent, responseHandler);
265
- }
266
- reject(new Error(`Таймаут ожидания ответа на событие ${event}`));
267
- }, timeout);
268
- // Регистрируем обработчик
269
- this.wsClient.on(responseEvent, responseHandler);
270
- // Отправляем событие
271
- this.wsClient.send(WebSocketNamespace.DEPENDENCIES, event, {
272
- ...data,
273
- requestId
274
- });
275
- }
276
- catch (error) {
277
- reject(error);
278
- }
279
- });
280
- }
281
- }
282
- //# sourceMappingURL=dependencies-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dependencies-api.js","sourceRoot":"","sources":["../../../src/api/dependencies-api.ts"],"names":[],"mappings":"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"}