solver-sdk 2.6.3 → 2.7.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.
- package/README.md +44 -55
- package/dist/cjs/api/chat-api/index.js +68 -68
- package/dist/cjs/api/chat-api/index.js.map +1 -1
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/code-solver-sdk.js +24 -2
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/constants/websocket-events.constants.js +5 -0
- package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
- package/dist/cjs/constants/websocket-namespaces.constants.js +2 -0
- package/dist/cjs/constants/websocket-namespaces.constants.js.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js +42 -0
- package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js.map +1 -0
- package/dist/cjs/utils/http-client.js +11 -3
- package/dist/cjs/utils/http-client.js.map +1 -1
- package/dist/cjs/ws/file-editing-ws-client.js +162 -0
- package/dist/cjs/ws/file-editing-ws-client.js.map +1 -0
- package/dist/esm/api/chat-api/index.js +68 -68
- package/dist/esm/api/chat-api/index.js.map +1 -1
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +24 -2
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/constants/websocket-events.constants.js +5 -0
- package/dist/esm/constants/websocket-events.constants.js.map +1 -1
- package/dist/esm/constants/websocket-namespaces.constants.js +2 -0
- package/dist/esm/constants/websocket-namespaces.constants.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/websocket/vscode-command.interfaces.js +39 -0
- package/dist/esm/interfaces/websocket/vscode-command.interfaces.js.map +1 -0
- package/dist/esm/utils/http-client.js +11 -3
- package/dist/esm/utils/http-client.js.map +1 -1
- package/dist/esm/ws/file-editing-ws-client.js +158 -0
- package/dist/esm/ws/file-editing-ws-client.js.map +1 -0
- package/dist/types/api/chat-api/index.d.ts +7 -0
- package/dist/types/api/chat-api/index.d.ts.map +1 -1
- package/dist/types/api/chat-api/interfaces.d.ts +7 -0
- package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
- package/dist/types/api/chat-api/models.d.ts +10 -1
- package/dist/types/api/chat-api/models.d.ts.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +8 -0
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/constants/websocket-events.constants.d.ts +5 -1
- package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
- package/dist/types/constants/websocket-namespaces.constants.d.ts +3 -1
- package/dist/types/constants/websocket-namespaces.constants.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts +56 -0
- package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts.map +1 -0
- package/dist/types/utils/http-client.d.ts.map +1 -1
- package/dist/types/ws/file-editing-ws-client.d.ts +85 -0
- package/dist/types/ws/file-editing-ws-client.d.ts.map +1 -0
- package/docs/ARCHITECTURE.md +268 -0
- package/docs/QUICK_START.md +126 -0
- package/docs/README.md +25 -279
- package/docs/VSCODE_INTEGRATION.md +432 -0
- package/docs/WEBSOCKET.md +49 -10
- package/package.json +1 -1
- package/docs/API_REFERENCE.md +0 -703
- package/docs/INTEGRATION_GUIDE_V2.5.md +0 -516
- package/docs/README_V2.5.md +0 -266
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/api/chat-api/interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,IAAI,EACJ,cAAc,EACf,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/api/chat-api/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Модели данных для чат-API с поддержкой Anthropic Extended Thinking
|
|
3
3
|
*/
|
|
4
|
+
import { VSCodeCommandEvent, CommandExecutionResult } from '../../interfaces/websocket/vscode-command.interfaces.js';
|
|
4
5
|
/**
|
|
5
6
|
* Конфигурация расширенного мышления (соответствует API Anthropic)
|
|
6
7
|
*/
|
|
@@ -183,7 +184,7 @@ export type ContentDelta = ThinkingDelta | TextDelta | SignatureDelta | Redacted
|
|
|
183
184
|
*/
|
|
184
185
|
export interface ChatStreamChunk {
|
|
185
186
|
/** Тип события */
|
|
186
|
-
type: 'message_start' | 'content_block_start' | 'content_block_delta' | 'content_block_stop' | 'message_delta' | 'message_stop' | 'tool_result';
|
|
187
|
+
type: 'message_start' | 'content_block_start' | 'content_block_delta' | 'content_block_stop' | 'message_delta' | 'message_stop' | 'tool_result' | 'vscode_command' | 'command_executed' | 'command_error';
|
|
187
188
|
/** Данные события */
|
|
188
189
|
message?: Partial<ChatResponse>;
|
|
189
190
|
/** Индекс блока содержимого */
|
|
@@ -202,6 +203,12 @@ export interface ChatStreamChunk {
|
|
|
202
203
|
thinkingContent?: string;
|
|
203
204
|
/** Криптографическая подпись блока thinking (доступна только в финальном чанке) */
|
|
204
205
|
thinkingSignature?: string;
|
|
206
|
+
/** НОВОЕ: Данные команды VS Code */
|
|
207
|
+
vscodeCommand?: VSCodeCommandEvent;
|
|
208
|
+
/** НОВОЕ: Результат выполнения команды */
|
|
209
|
+
commandResult?: CommandExecutionResult;
|
|
210
|
+
/** НОВОЕ: Данные любого типа (для гибкости) */
|
|
211
|
+
data?: any;
|
|
205
212
|
}
|
|
206
213
|
/**
|
|
207
214
|
* Опции для потоковой передачи
|
|
@@ -223,6 +230,8 @@ export interface ChatStreamOptions extends ChatOptions {
|
|
|
223
230
|
autoExecuteTools?: boolean;
|
|
224
231
|
/** Callback для обработки tool_use (альтернатива autoExecuteTools) */
|
|
225
232
|
onToolUse?: (toolUse: any, projectId: string) => Promise<any>;
|
|
233
|
+
/** НОВОЕ: Обработчик команд VS Code */
|
|
234
|
+
onVSCodeCommand?: (command: VSCodeCommandEvent) => Promise<CommandExecutionResult>;
|
|
226
235
|
}
|
|
227
236
|
/**
|
|
228
237
|
* Ответ на запрос инициализации WebSocket соединения
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../src/api/chat-api/models.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../src/api/chat-api/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ import { IndexingWebSocketClient } from './ws/indexing-ws-client.js';
|
|
|
14
14
|
import { ReasoningWebSocketClient } from './ws/reasoning-ws-client.js';
|
|
15
15
|
import { FileSystemWsClient, FileSystemWsClientOptions } from './ws/filesystem-ws-client.js';
|
|
16
16
|
import { DependenciesWsClient } from './ws/dependencies-ws-client.js';
|
|
17
|
+
import { FileEditingWsClient, FileEditingWsClientOptions } from './ws/file-editing-ws-client.js';
|
|
17
18
|
/**
|
|
18
19
|
* Расширенный интерфейс для опций рассуждения
|
|
19
20
|
*/
|
|
@@ -41,6 +42,7 @@ export declare class CodeSolverSDK {
|
|
|
41
42
|
private _reasoningClient;
|
|
42
43
|
private _fileSystemClient;
|
|
43
44
|
private _dependenciesClient;
|
|
45
|
+
private _fileEditingClient;
|
|
44
46
|
/** API для работы с агентами */
|
|
45
47
|
private _agents;
|
|
46
48
|
/** API для работы с контекстом */
|
|
@@ -126,6 +128,12 @@ export declare class CodeSolverSDK {
|
|
|
126
128
|
* @returns {DependenciesWsClient} Клиент для работы с зависимостями
|
|
127
129
|
*/
|
|
128
130
|
getDependenciesClient(): DependenciesWsClient;
|
|
131
|
+
/**
|
|
132
|
+
* Получить WebSocket клиент для редактирования файлов
|
|
133
|
+
* @param {Partial<FileEditingWsClientOptions>} options Опции клиента
|
|
134
|
+
* @returns {FileEditingWsClient} WebSocket клиент для редактирования файлов
|
|
135
|
+
*/
|
|
136
|
+
getFileEditingClient(options?: Partial<FileEditingWsClientOptions>): FileEditingWsClient;
|
|
129
137
|
/**
|
|
130
138
|
* Закрывает все WebSocket соединения
|
|
131
139
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-solver-sdk.d.ts","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAU1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAM1F,OAAO,EACL,uBAAuB,EAExB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,wBAAwB,EAEzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AAexC;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IAChE;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAEhD,qCAAqC;IACrC,OAAO,CAAC,UAAU,CAAa;IAE/B,oDAAoD;IACpD,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,mBAAmB,CAAqC;
|
|
1
|
+
{"version":3,"file":"code-solver-sdk.d.ts","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAU1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAM1F,OAAO,EACL,uBAAuB,EAExB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,wBAAwB,EAEzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC3B,MAAM,gCAAgC,CAAC;AAexC;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IAChE;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAEhD,qCAAqC;IACrC,OAAO,CAAC,UAAU,CAAa;IAE/B,oDAAoD;IACpD,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,mBAAmB,CAAqC;IAChE,OAAO,CAAC,kBAAkB,CAAoC;IAE9D,gCAAgC;IAChC,OAAO,CAAC,OAAO,CAAY;IAE3B,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAa;IAE7B,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IAExC,0BAA0B;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IAEpC,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAE1C,+BAA+B;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IAExD,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAEhC,gCAAgC;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IAEpC,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;IAEhD,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAE7D,mCAAmC;IACnC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAyC;IAEpE,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAmBrB;IAEF;;;;OAIG;WACiB,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAYjF;;;OAGG;gBACS,OAAO,EAAE,oBAAoB;IAgDzC;;;OAGG;IACI,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAmBrE;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5C;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC;QAClC,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IAoCF;;;OAGG;IACH,OAAO,KAAK,KAAK,GAWhB;IAED;;;OAGG;IACH,OAAO,KAAK,QAAQ,GAEnB;IAED;;;OAGG;IACI,iBAAiB,IAAI,uBAAuB;IAyBnD;;;OAGG;IACI,kBAAkB,IAAI,wBAAwB;IA0BrD;;;;OAIG;IACI,mBAAmB,CAAC,OAAO,GAAE,OAAO,CAAC,yBAAyB,CAAM,GAAG,kBAAkB;IAchG;;;OAGG;IACI,qBAAqB,IAAI,oBAAoB;IAiBpD;;;;OAIG;IACI,oBAAoB,CAAC,OAAO,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAAG,mBAAmB;IAOnG;;OAEG;IACI,aAAa,IAAI,IAAI;IAsB5B;;OAEG;IACH,IAAW,MAAM,IAAI,SAAS,CAE7B;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,UAAU,CAE/B;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,WAAW,CAEjC;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,SAAS,CAE7B;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,YAAY,CAEnC;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,mBAAmB,CAEjD;IAED;;;OAGG;IACH,IAAW,IAAI,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,SAAS,CAE7B;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,eAAe,CAEzC;IAED;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAanC;;;;;;;OAOG;IACU,gBAAgB,CAC3B,OAAO,EAAE,wBAAwB,EACjC,SAAS,EAAE,wBAAwB,GAClC,OAAO,CAAC,IAAI,CAAC;IAsChB;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBxC;;;OAGG;IACI,WAAW,IAAI,OAAO;IAc7B;;;OAGG;WACW,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAQ7C;;;OAGG;WACW,eAAe,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAIpE;;OAEG;IACI,OAAO,IAAI,IAAI;IAItB;;;OAGG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAiDvC"}
|
|
@@ -91,7 +91,11 @@ export declare enum WebSocketEvents {
|
|
|
91
91
|
CONTENT_BLOCK_STOP = "content_block_stop",
|
|
92
92
|
PING = "ping",// Стандартное событие Socket.IO для ping
|
|
93
93
|
ERROR = "error",
|
|
94
|
-
DONE = "done"
|
|
94
|
+
DONE = "done",
|
|
95
|
+
VSCODE_COMMAND = "vscode_command",
|
|
96
|
+
COMMAND_RESULT = "command_result",
|
|
97
|
+
COMMAND_EXECUTED = "command_executed",
|
|
98
|
+
COMMAND_ERROR = "command_error"
|
|
95
99
|
}
|
|
96
100
|
/**
|
|
97
101
|
* Типы блоков контента в API Anthropic
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-events.constants.d.ts","sourceRoot":"","sources":["../../../src/constants/websocket-events.constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,oBAAY,eAAe;IAEzB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;IAC7C,SAAS,cAAc;IACvB,eAAe,oBAAoB;IAGnC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,mBAAmB,wBAAwB;IAG3C,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,IAAI,SAAS;IAGb,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;IAGnC,sBAAsB,2BAA2B;IACjD,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAG7B,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,iBAAiB,sBAAsB;IAGvC,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAG/B,iBAAiB,sBAAsB;IACvC,0BAA0B,+BAA+B;IACzD,oBAAoB,yBAAyB;IAC7C,mBAAmB,wBAAwB;IAG3C,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IAGrC,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,kBAAkB,uBAAuB;IACzC,UAAU,eAAe;IACzB,mBAAmB,wBAAwB;IAC3C,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAG7B,WAAW,gBAAgB;IAG3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAG/B,SAAS,cAAc;IACvB,IAAI,SAAS,CAAE,yCAAyC;IAGxD,YAAY,iBAAiB;IAG7B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAE7B,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IAGzC,IAAI,SAAS,CAAE,yCAAyC;IACxD,KAAK,UAAU;IAGf,IAAI,SAAS;
|
|
1
|
+
{"version":3,"file":"websocket-events.constants.d.ts","sourceRoot":"","sources":["../../../src/constants/websocket-events.constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ export declare enum WebSocketNamespace {
|
|
|
11
11
|
/** Пространство для зависимостей */
|
|
12
12
|
DEPENDENCIES = "/dependencies",
|
|
13
13
|
/** Пространство для файловой системы */
|
|
14
|
-
FILESYSTEM = "/filesystem"
|
|
14
|
+
FILESYSTEM = "/filesystem",
|
|
15
|
+
/** Пространство для редактирования файлов */
|
|
16
|
+
FILE_EDITING = "/file-editing"
|
|
15
17
|
}
|
|
16
18
|
//# sourceMappingURL=websocket-namespaces.constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-namespaces.constants.d.ts","sourceRoot":"","sources":["../../../src/constants/websocket-namespaces.constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,iCAAiC;IACjC,OAAO,MAAM;IAEb,mCAAmC;IACnC,SAAS,eAAe;IAExB,kCAAkC;IAClC,QAAQ,cAAc;IAEtB,oCAAoC;IACpC,YAAY,kBAAkB;IAE9B,wCAAwC;IACxC,UAAU,gBAAgB;
|
|
1
|
+
{"version":3,"file":"websocket-namespaces.constants.d.ts","sourceRoot":"","sources":["../../../src/constants/websocket-namespaces.constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,iCAAiC;IACjC,OAAO,MAAM;IAEb,mCAAmC;IACnC,SAAS,eAAe;IAExB,kCAAkC;IAClC,QAAQ,cAAc;IAEtB,oCAAoC;IACpC,YAAY,kBAAkB;IAE9B,wCAAwC;IACxC,UAAU,gBAAgB;IAE1B,6CAA6C;IAC7C,YAAY,kBAAkB;CAC/B"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export { HttpClient };
|
|
|
11
11
|
export { WebSocketClient };
|
|
12
12
|
export * from './interfaces/sdk-options.js';
|
|
13
13
|
export * from './interfaces/websocket/callbacks.interfaces.js';
|
|
14
|
+
export * from './interfaces/websocket/vscode-command.interfaces.js';
|
|
14
15
|
export * from './constants/websocket-namespaces.constants.js';
|
|
15
16
|
export * from './constants/websocket-events.constants.js';
|
|
16
17
|
export * from './ws/indexing-ws-client.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,CAAC;AAG3B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAG1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,4BAA4B,CAAC;AAG3C,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAGpC,eAAe,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,CAAC;AAG3B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAG1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,4BAA4B,CAAC;AAG3C,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAGpC,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Интерфейсы для интеграции с VS Code командами
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Основное событие для выполнения команд VS Code
|
|
6
|
+
*/
|
|
7
|
+
export interface VSCodeCommandEvent {
|
|
8
|
+
type: 'vscode_command';
|
|
9
|
+
command: string;
|
|
10
|
+
args?: any[];
|
|
11
|
+
requestId: string;
|
|
12
|
+
timestamp: number;
|
|
13
|
+
metadata?: {
|
|
14
|
+
description?: string;
|
|
15
|
+
category?: 'edit' | 'search' | 'terminal' | 'workspace';
|
|
16
|
+
priority?: 'high' | 'normal' | 'low';
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Результат выполнения команды
|
|
21
|
+
*/
|
|
22
|
+
export interface CommandExecutionResult {
|
|
23
|
+
requestId: string;
|
|
24
|
+
success: boolean;
|
|
25
|
+
result?: any;
|
|
26
|
+
error?: string;
|
|
27
|
+
executionTime: number;
|
|
28
|
+
timestamp: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Категории ошибок выполнения команд
|
|
32
|
+
*/
|
|
33
|
+
export declare enum CommandErrorType {
|
|
34
|
+
TIMEOUT = "timeout",
|
|
35
|
+
NOT_FOUND = "command_not_found",
|
|
36
|
+
EXECUTION_ERROR = "execution_error",
|
|
37
|
+
INVALID_ARGS = "invalid_arguments"
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Таймаут для команд (30 секунд)
|
|
41
|
+
*/
|
|
42
|
+
export declare const COMMAND_TIMEOUT = 30000;
|
|
43
|
+
/**
|
|
44
|
+
* Поддерживаемые команды VS Code
|
|
45
|
+
*/
|
|
46
|
+
export declare enum VSCodeCommands {
|
|
47
|
+
CREATE_FILE = "aiSolver.native.createFile",
|
|
48
|
+
EDIT_FILE = "aiSolver.native.editFile",
|
|
49
|
+
BULK_EDIT = "aiSolver.native.bulkEdit",
|
|
50
|
+
FIND_FILES = "vscode.workspace.findFiles",
|
|
51
|
+
FIND_TEXT = "vscode.workspace.findTextInFiles",
|
|
52
|
+
TERMINAL = "aiSolver.native.terminal",
|
|
53
|
+
SAVE_FILE = "workbench.action.files.save",
|
|
54
|
+
SAVE_ALL = "workbench.action.files.saveAll"
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=vscode-command.interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode-command.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/websocket/vscode-command.interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;QACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;KACtC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,SAAS,sBAAsB;IAC/B,eAAe,oBAAoB;IACnC,YAAY,sBAAsB;CACnC;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,QAAQ,CAAC;AAErC;;GAEG;AACH,oBAAY,cAAc;IAExB,WAAW,+BAA+B;IAG1C,SAAS,6BAA6B;IAGtC,SAAS,6BAA6B;IAGtC,UAAU,+BAA+B;IAGzC,SAAS,qCAAqC;IAG9C,QAAQ,6BAA6B;IAGrC,SAAS,gCAAgC;IACzC,QAAQ,mCAAmC;CAC5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAgB,MAAM,8BAA8B,CAAC;AAG5G,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAiB,kBAAkB;QACjC,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;CACF;AAYD;;;;;GAKG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC5C,+BAA+B;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,oBAAoB;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAE9C,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;IAgC5D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2CzB;;;;OAIG;IACU,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAyBlE;;;;;;OAMG;IACU,GAAG,CAAC,CAAC,GAAG,GAAG,EACtB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,IAAI,CAAC,CAAC,GAAG,GAAG,EACvB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,GAAG,CAAC,CAAC,GAAG,GAAG,EACtB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,MAAM,CAAC,CAAC,GAAG,GAAG,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,KAAK,CAAC,CAAC,GAAG,GAAG,EACxB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,UAAU,CACrB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAgB,MAAM,8BAA8B,CAAC;AAG5G,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAiB,kBAAkB;QACjC,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;CACF;AAYD;;;;;GAKG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC5C,+BAA+B;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,oBAAoB;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAE9C,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;IAgC5D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2CzB;;;;OAIG;IACU,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAyBlE;;;;;;OAMG;IACU,GAAG,CAAC,CAAC,GAAG,GAAG,EACtB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,IAAI,CAAC,CAAC,GAAG,GAAG,EACvB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,GAAG,CAAC,CAAC,GAAG,GAAG,EACtB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,MAAM,CAAC,CAAC,GAAG,GAAG,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,KAAK,CAAC,CAAC,GAAG,GAAG,EACxB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,UAAU,CACrB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,QAAQ,CAAC;IA8CpB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAwCnB;;OAEG;IACH,IAAW,WAAW,IAAI,GAAG,CAE5B;IAED;;;OAGG;IACI,UAAU,IAAI,MAAM;CAG5B"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { BaseWebSocketClient } from './base-ws-client';
|
|
2
|
+
/**
|
|
3
|
+
* Опции для клиента редактирования файлов
|
|
4
|
+
*/
|
|
5
|
+
export interface FileEditingWsClientOptions {
|
|
6
|
+
/** Обработчик предложений изменений файлов */
|
|
7
|
+
onApplyFileChanges?: (suggestion: FileChangesSuggestion) => Promise<FileChangesResponse>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Интерфейс предложения изменений файлов
|
|
11
|
+
*/
|
|
12
|
+
export interface FileChangesSuggestion {
|
|
13
|
+
/** ID проекта */
|
|
14
|
+
projectId: string;
|
|
15
|
+
/** Предложения изменений */
|
|
16
|
+
suggestions: any;
|
|
17
|
+
/** Время создания */
|
|
18
|
+
timestamp: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Интерфейс ответа на предложение изменений
|
|
22
|
+
*/
|
|
23
|
+
export interface FileChangesResponse {
|
|
24
|
+
/** Применены ли изменения */
|
|
25
|
+
applied: boolean;
|
|
26
|
+
/** Список примененных файлов */
|
|
27
|
+
appliedFiles?: string[];
|
|
28
|
+
/** Причина отклонения */
|
|
29
|
+
reason?: string;
|
|
30
|
+
/** Ошибка применения */
|
|
31
|
+
error?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* ✅ ПРОФЕССИОНАЛЬНЫЙ FILE EDITING WEBSOCKET CLIENT
|
|
35
|
+
*
|
|
36
|
+
* Следует паттерну других WebSocket клиентов SDK:
|
|
37
|
+
* - Наследуется от BaseWebSocketClient
|
|
38
|
+
* - Использует WebSocketNamespace.FILE_EDITING
|
|
39
|
+
* - Имеет callback'и для обработки событий от сервера
|
|
40
|
+
* - Переопределяет connect() для инициализации
|
|
41
|
+
*/
|
|
42
|
+
export declare class FileEditingWsClient extends BaseWebSocketClient {
|
|
43
|
+
private projectId;
|
|
44
|
+
private readonly SDK_VERSION;
|
|
45
|
+
onApplyFileChanges: (suggestion: FileChangesSuggestion) => Promise<FileChangesResponse>;
|
|
46
|
+
/**
|
|
47
|
+
* Создает новый клиент для редактирования файлов
|
|
48
|
+
* @param baseURL Базовый URL API
|
|
49
|
+
* @param options Опции клиента
|
|
50
|
+
*/
|
|
51
|
+
constructor(baseURL: string, options?: FileEditingWsClientOptions);
|
|
52
|
+
/**
|
|
53
|
+
* Обработчик изменений файлов по умолчанию
|
|
54
|
+
*/
|
|
55
|
+
private defaultFileChangesHandler;
|
|
56
|
+
/**
|
|
57
|
+
* Подключение к серверу и присоединение к проекту
|
|
58
|
+
* @param params Параметры подключения (должен содержать projectId)
|
|
59
|
+
* @returns Promise<boolean> Успешность подключения
|
|
60
|
+
*/
|
|
61
|
+
connect(params?: Record<string, any>): Promise<boolean>;
|
|
62
|
+
/**
|
|
63
|
+
* Подключение к проекту - удобный метод для использования в приложении
|
|
64
|
+
* @param projectId ID проекта
|
|
65
|
+
* @returns Promise<boolean> Успешность подключения
|
|
66
|
+
*/
|
|
67
|
+
connectToProject(projectId: string): Promise<boolean>;
|
|
68
|
+
/**
|
|
69
|
+
* Присоединиться к проекту для получения событий файлового редактирования
|
|
70
|
+
*/
|
|
71
|
+
private joinProject;
|
|
72
|
+
/**
|
|
73
|
+
* Настройка обработчиков событий
|
|
74
|
+
*/
|
|
75
|
+
private setupHandlers;
|
|
76
|
+
/**
|
|
77
|
+
* Получить ID текущего проекта
|
|
78
|
+
*/
|
|
79
|
+
getCurrentProjectId(): string | null;
|
|
80
|
+
/**
|
|
81
|
+
* Покинуть текущий проект
|
|
82
|
+
*/
|
|
83
|
+
leaveProject(): Promise<void>;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=file-editing-ws-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-editing-ws-client.d.ts","sourceRoot":"","sources":["../../../src/ws/file-editing-ws-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKvD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,qBAAqB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC1F;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,4BAA4B;IAC5B,WAAW,EAAE,GAAG,CAAC;IAEjB,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAC;IAEjB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IAGhC,kBAAkB,EAAE,CAAC,UAAU,EAAE,qBAAqB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE/F;;;;OAIG;gBAED,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,0BAA+B;IAc1C;;OAEG;IACH,OAAO,CAAC,yBAAyB,CAQ/B;IAEF;;;;OAIG;IACmB,OAAO,CAAC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6BjF;;;;OAIG;IACU,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlE;;OAEG;YACW,WAAW;IAgBzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAyCrB;;OAEG;IACI,mBAAmB,IAAI,MAAM,GAAG,IAAI;IAI3C;;OAEG;IACU,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAY3C"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
# Архитектура SDK v2.7.0: HTTP Streaming vs WebSocket
|
|
2
|
+
|
|
3
|
+
**Техническая документация для backend разработчиков** - когда использовать HTTP vs WebSocket
|
|
4
|
+
|
|
5
|
+
## 🏗️ Общая архитектура
|
|
6
|
+
|
|
7
|
+
SDK v2.7.0 использует **гибридную архитектуру** с двумя основными механизмами передачи данных:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
11
|
+
│ AI Models │ │ Backend │ │ SDK │
|
|
12
|
+
│ (Claude/GPT) │◄──►│ (NestJS API) │◄──►│ (TypeScript) │
|
|
13
|
+
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
14
|
+
│
|
|
15
|
+
▼
|
|
16
|
+
┌─────────────────┐
|
|
17
|
+
│ VS Code │
|
|
18
|
+
│ Extension │
|
|
19
|
+
└─────────────────┘
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## 📊 HTTP Streaming vs WebSocket - Сравнение
|
|
23
|
+
|
|
24
|
+
| Критерий | HTTP Streaming | WebSocket |
|
|
25
|
+
|----------|----------------|-----------|
|
|
26
|
+
| **Latency** | ~45ms | ~15ms |
|
|
27
|
+
| **Throughput** | Высокий | Средний |
|
|
28
|
+
| **Complexity** | Низкая | Высокая |
|
|
29
|
+
| **Reliability** | Высокая | Средняя |
|
|
30
|
+
| **Browser Support** | 100% | 98% |
|
|
31
|
+
| **Debugging** | Простое | Сложное |
|
|
32
|
+
| **Auto-retry** | Встроенные | Требует реализации |
|
|
33
|
+
| **Scaling** | Отличное | Хорошее |
|
|
34
|
+
|
|
35
|
+
## 🔄 HTTP Streaming Architecture
|
|
36
|
+
|
|
37
|
+
### Когда использовать:
|
|
38
|
+
- ✅ **AI модели ответы** (Claude, GPT-4, OpenAI)
|
|
39
|
+
- ✅ **VS Code команды** (создание файлов, редактирование)
|
|
40
|
+
- ✅ **Thinking токены** (Anthropic Claude 4)
|
|
41
|
+
- ✅ **Быстрые операции** (<30 секунд)
|
|
42
|
+
|
|
43
|
+
### Технические детали:
|
|
44
|
+
```typescript
|
|
45
|
+
// HTTP Stream через Server-Sent Events
|
|
46
|
+
const stream = await sdk.chat.streamChat(messages, {
|
|
47
|
+
onVSCodeCommand: async (command) => {
|
|
48
|
+
// 45ms latency для VS Code команд
|
|
49
|
+
return await executeCommand(command);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
// Производительность: 10x улучшение (45ms vs 443ms)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Поток данных:
|
|
57
|
+
```
|
|
58
|
+
Backend HTTP POST → SSE Stream → SDK → Extension (VS Code API)
|
|
59
|
+
Backend HTTP POST ← Result ← SDK ← Extension (результаты)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Плюсы HTTP Streaming:
|
|
63
|
+
- 🚀 **Производительность**: 45ms latency
|
|
64
|
+
- 🔧 **Простота**: стандартные HTTP запросы
|
|
65
|
+
- 🛡️ **Надежность**: встроенные retry механизмы
|
|
66
|
+
- 📊 **Мониторинг**: стандартные HTTP логи
|
|
67
|
+
- 🌐 **Кэширование**: поддержка CDN и reverse proxy
|
|
68
|
+
|
|
69
|
+
### Минусы HTTP Streaming:
|
|
70
|
+
- ⬆️ **Односторонняя связь**: только Backend → SDK
|
|
71
|
+
- 📈 **HTTP overhead**: заголовки в каждом запросе
|
|
72
|
+
- ⏱️ **Connection pooling**: ограничения браузера
|
|
73
|
+
|
|
74
|
+
## 🔌 WebSocket Architecture
|
|
75
|
+
|
|
76
|
+
### Когда использовать:
|
|
77
|
+
- ✅ **Индексирование файлов** (прогресс в реальном времени)
|
|
78
|
+
- ✅ **Анализ проектов** (длительные операции)
|
|
79
|
+
- ✅ **Зависимости** (граф зависимостей)
|
|
80
|
+
- ✅ **Файловые операции** (поиск, редактирование)
|
|
81
|
+
- ✅ **Двусторонняя связь** (команды ↔ результаты)
|
|
82
|
+
|
|
83
|
+
### Технические детали:
|
|
84
|
+
```typescript
|
|
85
|
+
// 5 WebSocket namespace'ов
|
|
86
|
+
await sdk.projects.connectWebSocket(); // /projects
|
|
87
|
+
await sdk.reasoning.connectWebSocket(); // /reasoning
|
|
88
|
+
await sdk.dependencies.connectWebSocket(); // /dependencies
|
|
89
|
+
await sdk.filesystem.connectWebSocket(); // /filesystem
|
|
90
|
+
await sdk.fileEditing.connectWebSocket(); // /file-editing
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Поток данных:
|
|
94
|
+
```
|
|
95
|
+
Backend ←→ WebSocket ←→ SDK ←→ Extension
|
|
96
|
+
(real-time bidirectional communication)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Плюсы WebSocket:
|
|
100
|
+
- ⚡ **Real-time**: мгновенные обновления
|
|
101
|
+
- ↔️ **Двусторонняя связь**: команды и события
|
|
102
|
+
- 📊 **Прогресс**: индексирование, анализ
|
|
103
|
+
- 🔄 **Persistent connection**: меньше overhead
|
|
104
|
+
- 🎯 **Event-driven**: подписка на события
|
|
105
|
+
|
|
106
|
+
### Минусы WebSocket:
|
|
107
|
+
- 🔧 **Сложность**: управление соединениями
|
|
108
|
+
- 🔄 **Reconnection logic**: требует реализации
|
|
109
|
+
- 🐛 **Debugging**: сложнее отлаживать
|
|
110
|
+
- 🚫 **Proxy issues**: проблемы с некоторыми proxy
|
|
111
|
+
|
|
112
|
+
## 📋 Namespace'ы WebSocket
|
|
113
|
+
|
|
114
|
+
### 1. `/projects` - Управление проектами
|
|
115
|
+
```typescript
|
|
116
|
+
// События индексации
|
|
117
|
+
sdk.projects.onIndexingProgress((data) => {
|
|
118
|
+
console.log(`Progress: ${data.percentage}%`);
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
sdk.projects.onIndexingComplete((data) => {
|
|
122
|
+
console.log(`Indexed ${data.totalFiles} files`);
|
|
123
|
+
});
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### 2. `/reasoning` - AI рассуждения
|
|
127
|
+
```typescript
|
|
128
|
+
// События thinking процессов
|
|
129
|
+
sdk.reasoning.onReasoningStarted((data) => {
|
|
130
|
+
console.log(`Started: ${data.id}`);
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
sdk.reasoning.onReasoningProgress((data) => {
|
|
134
|
+
console.log(`Step: ${data.currentStep}`);
|
|
135
|
+
});
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 3. `/dependencies` - Анализ зависимостей
|
|
139
|
+
```typescript
|
|
140
|
+
// События анализа зависимостей
|
|
141
|
+
sdk.dependencies.onAnalysisProgress((data) => {
|
|
142
|
+
console.log(`Analyzing: ${data.currentPackage}`);
|
|
143
|
+
});
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### 4. `/filesystem` - Файловые операции
|
|
147
|
+
```typescript
|
|
148
|
+
// События файловой системы
|
|
149
|
+
sdk.filesystem.onFileChanged((data) => {
|
|
150
|
+
console.log(`File changed: ${data.path}`);
|
|
151
|
+
});
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### 5. `/file-editing` - Редактирование файлов
|
|
155
|
+
```typescript
|
|
156
|
+
// События редактирования
|
|
157
|
+
sdk.fileEditing.onApplyFileChanges(async (suggestion) => {
|
|
158
|
+
return { applied: true, appliedFiles: [suggestion.file] };
|
|
159
|
+
});
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## 🎯 VS Code Integration (v2.7.0)
|
|
163
|
+
|
|
164
|
+
### Новая архитектура:
|
|
165
|
+
```
|
|
166
|
+
Модель → Backend → SDK → Extension (VS Code Native API)
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Поддерживаемые команды:
|
|
170
|
+
```typescript
|
|
171
|
+
enum VSCodeCommands {
|
|
172
|
+
CREATE_FILE = 'aiSolver.native.createFile',
|
|
173
|
+
EDIT_FILE = 'aiSolver.native.editFile',
|
|
174
|
+
BULK_EDIT = 'aiSolver.native.bulkEdit',
|
|
175
|
+
FIND_FILES = 'vscode.workspace.findFiles',
|
|
176
|
+
FIND_TEXT = 'vscode.workspace.findTextInFiles',
|
|
177
|
+
TERMINAL = 'aiSolver.native.terminal',
|
|
178
|
+
SAVE_FILE = 'workbench.action.files.save',
|
|
179
|
+
SAVE_ALL = 'workbench.action.files.saveAll'
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Пример интеграции:
|
|
184
|
+
```typescript
|
|
185
|
+
const stream = await sdk.chat.streamChat(messages, {
|
|
186
|
+
thinking: { type: 'enabled', budget_tokens: 4000 },
|
|
187
|
+
|
|
188
|
+
// Обработчик VS Code команд
|
|
189
|
+
onVSCodeCommand: async (command) => {
|
|
190
|
+
const startTime = Date.now();
|
|
191
|
+
|
|
192
|
+
try {
|
|
193
|
+
// Выполнение через VS Code API
|
|
194
|
+
const result = await vscode.commands.executeCommand(
|
|
195
|
+
command.command,
|
|
196
|
+
...command.args
|
|
197
|
+
);
|
|
198
|
+
|
|
199
|
+
return {
|
|
200
|
+
requestId: command.requestId,
|
|
201
|
+
success: true,
|
|
202
|
+
result,
|
|
203
|
+
executionTime: Date.now() - startTime,
|
|
204
|
+
timestamp: Date.now()
|
|
205
|
+
};
|
|
206
|
+
} catch (error) {
|
|
207
|
+
return {
|
|
208
|
+
requestId: command.requestId,
|
|
209
|
+
success: false,
|
|
210
|
+
error: error.message,
|
|
211
|
+
executionTime: Date.now() - startTime,
|
|
212
|
+
timestamp: Date.now()
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## 📈 Performance Metrics
|
|
220
|
+
|
|
221
|
+
### HTTP Streaming:
|
|
222
|
+
- **VS Code команды**: 45ms (vs 443ms old)
|
|
223
|
+
- **AI responses**: 120ms first token
|
|
224
|
+
- **Thinking tokens**: 80ms latency
|
|
225
|
+
- **Error rate**: <0.1%
|
|
226
|
+
|
|
227
|
+
### WebSocket:
|
|
228
|
+
- **Connection time**: 150ms
|
|
229
|
+
- **Event latency**: 15ms
|
|
230
|
+
- **Indexing progress**: real-time
|
|
231
|
+
- **Reconnection time**: 500ms
|
|
232
|
+
|
|
233
|
+
## 🛠️ Best Practices
|
|
234
|
+
|
|
235
|
+
### HTTP Streaming:
|
|
236
|
+
1. **Используйте для AI чатов** и коротких операций
|
|
237
|
+
2. **Включайте timeout** для команд (30 сек)
|
|
238
|
+
3. **Обрабатывайте ошибки** gracefully
|
|
239
|
+
4. **Логируйте performance** metrics
|
|
240
|
+
|
|
241
|
+
### WebSocket:
|
|
242
|
+
1. **Подключайтесь только при необходимости** (`autoConnect: false`)
|
|
243
|
+
2. **Обрабатывайте reconnection** события
|
|
244
|
+
3. **Освобождайте ресурсы** при отключении
|
|
245
|
+
4. **Мониторьте health** соединений
|
|
246
|
+
|
|
247
|
+
### Выбор архитектуры:
|
|
248
|
+
```typescript
|
|
249
|
+
// ✅ Используйте HTTP Streaming для:
|
|
250
|
+
- AI модели (Claude, GPT)
|
|
251
|
+
- VS Code команды
|
|
252
|
+
- Thinking токены
|
|
253
|
+
- Быстрые операции
|
|
254
|
+
|
|
255
|
+
// ✅ Используйте WebSocket для:
|
|
256
|
+
- Индексирование файлов
|
|
257
|
+
- Длительные операции
|
|
258
|
+
- Real-time события
|
|
259
|
+
- Двусторонняя связь
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
## 🔮 Future Roadmap
|
|
263
|
+
|
|
264
|
+
### Планируемые улучшения:
|
|
265
|
+
- **HTTP/3 support** для еще большей производительности
|
|
266
|
+
- **GraphQL subscriptions** как альтернатива WebSocket
|
|
267
|
+
- **Edge computing** поддержка для low-latency
|
|
268
|
+
- **Multi-region** WebSocket clustering
|