solver-sdk 1.9.0 → 2.0.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/dist/cjs/{code-solver-sdk.js → code-solver-sdk-v2.js} +219 -273
- package/dist/cjs/code-solver-sdk-v2.js.map +1 -0
- package/dist/cjs/constants/websocket-events.constants.js +24 -1
- 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 +24 -49
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/ws/filesystem-ws-client.js +315 -0
- package/dist/cjs/ws/filesystem-ws-client.js.map +1 -0
- package/dist/esm/{code-solver-sdk.js → code-solver-sdk-v2.js} +219 -273
- package/dist/esm/code-solver-sdk-v2.js.map +1 -0
- package/dist/esm/constants/websocket-events.constants.js +23 -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 +22 -97
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ws/filesystem-ws-client.js +311 -0
- package/dist/esm/ws/filesystem-ws-client.js.map +1 -0
- package/dist/types/{code-solver-sdk.d.ts → code-solver-sdk-v2.d.ts} +81 -85
- package/dist/types/code-solver-sdk-v2.d.ts.map +1 -0
- package/dist/types/constants/websocket-events.constants.d.ts +21 -0
- 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 +20 -90
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/ws/filesystem-ws-client.d.ts +203 -0
- package/dist/types/ws/filesystem-ws-client.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/code-solver-sdk.js.map +0 -1
- package/dist/esm/code-solver-sdk.js.map +0 -1
- package/dist/types/code-solver-sdk.d.ts.map +0 -1
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { HttpClient } from './utils/http-client.js';
|
|
2
1
|
import { ProjectsApi } from './api/projects-api.js';
|
|
3
2
|
import { SearchApi } from './api/search-api.js';
|
|
4
3
|
import { ContextApi } from './api/context-api.js';
|
|
5
4
|
import { ReasoningApi } from './api/reasoning-api.js';
|
|
6
5
|
import { CodeModificationApi } from './api/code-modification-api.js';
|
|
7
|
-
import { CodeSolverWebSocketClient } from './utils/code-solver-websocket-client.js';
|
|
8
6
|
import { AgentsApi } from './api/agents-api.js';
|
|
9
7
|
import { ChatApi } from './api/chat-api/index.js';
|
|
10
8
|
import { CodeSolverSDKOptions } from './interfaces/sdk-options.js';
|
|
@@ -12,17 +10,37 @@ import { ModelsApi } from './api/models-api.js';
|
|
|
12
10
|
import { DependenciesApi } from './api/dependencies-api.js';
|
|
13
11
|
import { ReasoningOptions } from './api/reasoning-api.js';
|
|
14
12
|
import { AnthropicStreamCallbacks } from './interfaces/websocket/callbacks.interfaces.js';
|
|
13
|
+
import { IndexingWebSocketClient } from './ws/indexing-ws-client.js';
|
|
14
|
+
import { ReasoningWebSocketClient } from './ws/reasoning-ws-client.js';
|
|
15
|
+
import { FileSystemWsClient, FileSystemWsClientOptions } from './ws/filesystem-ws-client.js';
|
|
16
|
+
import { DependenciesWsClient } from './ws/dependencies-ws-client.js';
|
|
17
|
+
/**
|
|
18
|
+
* Расширенный интерфейс для опций рассуждения
|
|
19
|
+
*/
|
|
20
|
+
export interface ExtendedReasoningOptions extends ReasoningOptions {
|
|
21
|
+
/**
|
|
22
|
+
* Включить режим мышления (planning)
|
|
23
|
+
*/
|
|
24
|
+
thinking?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Модель для использования
|
|
27
|
+
*/
|
|
28
|
+
model?: string;
|
|
29
|
+
}
|
|
15
30
|
/**
|
|
16
31
|
* Основной класс SDK для работы с Code Solver API
|
|
17
|
-
*
|
|
32
|
+
* В версии 2.0 с современной архитектурой и без обратной совместимости
|
|
18
33
|
*/
|
|
19
34
|
export declare class CodeSolverSDK {
|
|
20
35
|
/** Опции SDK */
|
|
21
36
|
private readonly _options;
|
|
22
37
|
/** HTTP клиент для запросов к API */
|
|
23
38
|
private httpClient;
|
|
24
|
-
/** WebSocket
|
|
25
|
-
private
|
|
39
|
+
/** WebSocket клиенты для разных пространств имен */
|
|
40
|
+
private _indexingClient;
|
|
41
|
+
private _reasoningClient;
|
|
42
|
+
private _fileSystemClient;
|
|
43
|
+
private _dependenciesClient;
|
|
26
44
|
/** API для работы с агентами */
|
|
27
45
|
private _agents;
|
|
28
46
|
/** API для работы с контекстом */
|
|
@@ -58,10 +76,40 @@ export declare class CodeSolverSDK {
|
|
|
58
76
|
*/
|
|
59
77
|
checkHealth(): Promise<boolean>;
|
|
60
78
|
/**
|
|
61
|
-
* Получает WebSocket
|
|
62
|
-
* @
|
|
79
|
+
* Получает WebSocket URL
|
|
80
|
+
* @private
|
|
63
81
|
*/
|
|
64
|
-
|
|
82
|
+
private get wsURL();
|
|
83
|
+
/**
|
|
84
|
+
* Получает конфигурацию WebSocket
|
|
85
|
+
* @private
|
|
86
|
+
*/
|
|
87
|
+
private get wsConfig();
|
|
88
|
+
/**
|
|
89
|
+
* Получает клиент для индексации
|
|
90
|
+
* @returns {IndexingWebSocketClient} Клиент для индексации
|
|
91
|
+
*/
|
|
92
|
+
getIndexingClient(): IndexingWebSocketClient;
|
|
93
|
+
/**
|
|
94
|
+
* Получает клиент для рассуждений
|
|
95
|
+
* @returns {ReasoningWebSocketClient} Клиент для рассуждений
|
|
96
|
+
*/
|
|
97
|
+
getReasoningClient(): ReasoningWebSocketClient;
|
|
98
|
+
/**
|
|
99
|
+
* Получает клиент для работы с файловой системой
|
|
100
|
+
* @param {Partial<FileSystemWsClientOptions>} options Опции клиента файловой системы
|
|
101
|
+
* @returns {FileSystemWsClient} Клиент для работы с файловой системой
|
|
102
|
+
*/
|
|
103
|
+
getFileSystemClient(options?: Partial<FileSystemWsClientOptions>): FileSystemWsClient;
|
|
104
|
+
/**
|
|
105
|
+
* Получает клиент для работы с зависимостями
|
|
106
|
+
* @returns {DependenciesWsClient} Клиент для работы с зависимостями
|
|
107
|
+
*/
|
|
108
|
+
getDependenciesClient(): DependenciesWsClient;
|
|
109
|
+
/**
|
|
110
|
+
* Закрывает все WebSocket соединения
|
|
111
|
+
*/
|
|
112
|
+
disconnectAll(): void;
|
|
65
113
|
/**
|
|
66
114
|
* API для работы с агентами
|
|
67
115
|
*/
|
|
@@ -96,105 +144,53 @@ export declare class CodeSolverSDK {
|
|
|
96
144
|
*/
|
|
97
145
|
get models(): ModelsApi;
|
|
98
146
|
/**
|
|
99
|
-
*
|
|
147
|
+
* API для работы с зависимостями
|
|
100
148
|
*/
|
|
101
149
|
get dependencies(): DependenciesApi;
|
|
102
150
|
/**
|
|
103
|
-
*
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
* Получает конфигурацию WebSocket
|
|
108
|
-
*/
|
|
109
|
-
get wsConfig(): any;
|
|
110
|
-
/**
|
|
111
|
-
* Получает URL для WebSocket соединений
|
|
112
|
-
*/
|
|
113
|
-
get wsURL(): string;
|
|
114
|
-
/**
|
|
115
|
-
* Получает HTTP-клиент
|
|
116
|
-
*/
|
|
117
|
-
get client(): HttpClient;
|
|
118
|
-
/**
|
|
119
|
-
* Получает текущую среду выполнения
|
|
120
|
-
* @returns {string} Среда выполнения ('browser', 'node', 'unknown')
|
|
121
|
-
*/
|
|
122
|
-
getEnvironment(): string;
|
|
123
|
-
/**
|
|
124
|
-
* Закрывает все соединения и освобождает ресурсы
|
|
125
|
-
*/
|
|
126
|
-
dispose(): void;
|
|
127
|
-
/**
|
|
128
|
-
* Устанавливает глобальный обработчик ошибок SDK
|
|
129
|
-
* @param {(error: Error) => void} handler Функция-обработчик ошибок
|
|
130
|
-
*/
|
|
131
|
-
static setErrorHandler(handler: (error: Error) => void): void;
|
|
132
|
-
/**
|
|
133
|
-
* Обрабатывает ошибку через глобальный обработчик, если он установлен
|
|
134
|
-
* @param {Error} error Ошибка для обработки
|
|
135
|
-
*/
|
|
136
|
-
static handleError(error: Error): void;
|
|
137
|
-
/**
|
|
138
|
-
* Возвращает текущую версию SDK
|
|
139
|
-
* @returns {string} Версия SDK
|
|
140
|
-
*/
|
|
141
|
-
static getVersion(): string;
|
|
142
|
-
/**
|
|
143
|
-
* Возвращает текущую версию SDK
|
|
144
|
-
* @returns {string} Версия SDK
|
|
151
|
+
* Настраивает обработчики событий Anthropic API
|
|
152
|
+
* @param {ReasoningWebSocketClient} reasoningClient WebSocket клиент для рассуждений
|
|
153
|
+
* @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
|
|
154
|
+
* @private
|
|
145
155
|
*/
|
|
146
|
-
|
|
156
|
+
private setupAnthropicEventHandlers;
|
|
147
157
|
/**
|
|
148
|
-
*
|
|
149
|
-
*
|
|
158
|
+
* Выполняет запрос к API для генерации рассуждения с использованием Anthropic API
|
|
159
|
+
* с поддержкой потоковой передачи данных через WebSocket
|
|
160
|
+
*
|
|
161
|
+
* @param {ExtendedReasoningOptions} options Опции для рассуждения
|
|
162
|
+
* @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
|
|
163
|
+
* @returns {Promise<void>} Promise без результата
|
|
150
164
|
*/
|
|
151
|
-
|
|
165
|
+
executeReasoning(options: ExtendedReasoningOptions, callbacks: AnthropicStreamCallbacks): Promise<void>;
|
|
152
166
|
/**
|
|
153
167
|
* Подключается к WebSocket серверу
|
|
154
168
|
* @returns {Promise<boolean>} Promise с результатом подключения
|
|
155
169
|
*/
|
|
156
170
|
connect(): Promise<boolean>;
|
|
157
|
-
/**
|
|
158
|
-
* Отключается от WebSocket сервера
|
|
159
|
-
* @returns {Promise<void>} Promise без результата
|
|
160
|
-
*/
|
|
161
|
-
disconnect(): Promise<void>;
|
|
162
171
|
/**
|
|
163
172
|
* Проверяет, подключен ли SDK к WebSocket серверу
|
|
164
173
|
* @returns {boolean} Статус подключения
|
|
165
174
|
*/
|
|
166
175
|
isConnected(): boolean;
|
|
167
176
|
/**
|
|
168
|
-
*
|
|
169
|
-
* @
|
|
177
|
+
* Обрабатывает ошибку
|
|
178
|
+
* @param {Error} error Объект ошибки
|
|
170
179
|
*/
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Проверяет доступность всех сервисов API
|
|
174
|
-
* @returns {Promise<{[key: string]: boolean}>} Статус каждого сервиса
|
|
175
|
-
*/
|
|
176
|
-
checkServices(): Promise<{
|
|
177
|
-
[key: string]: boolean;
|
|
178
|
-
}>;
|
|
180
|
+
static handleError(error: Error): void;
|
|
179
181
|
/**
|
|
180
|
-
*
|
|
182
|
+
* Устанавливает глобальный обработчик ошибок
|
|
183
|
+
* @param {(error: Error) => void} handler Обработчик ошибок
|
|
181
184
|
*/
|
|
182
|
-
|
|
185
|
+
static setErrorHandler(handler: (error: Error) => void): void;
|
|
183
186
|
/**
|
|
184
|
-
*
|
|
185
|
-
* с поддержкой потоковой передачи данных через WebSocket
|
|
186
|
-
*
|
|
187
|
-
* @param {ReasoningOptions} options Опции для рассуждения
|
|
188
|
-
* @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
|
|
189
|
-
* @returns {Promise<void>} Promise без результата
|
|
187
|
+
* Очищает все ресурсы
|
|
190
188
|
*/
|
|
191
|
-
|
|
189
|
+
dispose(): void;
|
|
192
190
|
/**
|
|
193
|
-
*
|
|
194
|
-
* @param {
|
|
195
|
-
* @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
|
|
196
|
-
* @private
|
|
191
|
+
* Устанавливает новый API ключ
|
|
192
|
+
* @param {string} apiKey Новый API ключ
|
|
197
193
|
*/
|
|
198
|
-
|
|
194
|
+
setApiKey(apiKey: string): void;
|
|
199
195
|
}
|
|
200
|
-
//# sourceMappingURL=code-solver-sdk.d.ts.map
|
|
196
|
+
//# sourceMappingURL=code-solver-sdk-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-solver-sdk-v2.d.ts","sourceRoot":"","sources":["../../src/code-solver-sdk-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,16 @@ export declare enum WebSocketEvents {
|
|
|
67
67
|
HEARTBEAT = "heartbeat",
|
|
68
68
|
HEARTBEAT_ACK = "heartbeat_ack",
|
|
69
69
|
CONNECTION_ERROR = "connection_error",
|
|
70
|
+
INIT = "init",
|
|
71
|
+
INIT_OK = "init_ok",
|
|
72
|
+
INIT_ERROR = "init_error",
|
|
73
|
+
READ_FILE = "read_file",
|
|
74
|
+
READ_FILE_RESPONSE = "read_file_response",
|
|
75
|
+
LIST_FILES = "list_files",
|
|
76
|
+
LIST_FILES_RESPONSE = "list_files_response",
|
|
77
|
+
WATCH_START = "watch_start",
|
|
78
|
+
WATCH_CONFIRM = "watch_confirm",
|
|
79
|
+
FILE_CHANGED = "file_changed",
|
|
70
80
|
SEARCH_CODE = "search_code",
|
|
71
81
|
BATCH_UPDATE = "batch_update",
|
|
72
82
|
SEARCH_UPDATE = "search_update",
|
|
@@ -116,4 +126,15 @@ export declare enum ReasoningEventNames {
|
|
|
116
126
|
ERROR = "error",
|
|
117
127
|
CANCEL = "cancel"
|
|
118
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Константы имен событий для модуля файловой системы
|
|
131
|
+
*/
|
|
132
|
+
export declare enum FileSystemEventNames {
|
|
133
|
+
INIT = "init",
|
|
134
|
+
READ_FILE = "read_file",
|
|
135
|
+
LIST_FILES = "list_files",
|
|
136
|
+
WATCH_FILES = "watch_files",
|
|
137
|
+
FILE_CHANGED = "file_changed",
|
|
138
|
+
ERROR = "error"
|
|
139
|
+
}
|
|
119
140
|
//# sourceMappingURL=websocket-events.constants.d.ts.map
|
|
@@ -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,WAAW,gBAAgB;IAG3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAG/B,SAAS,cAAc;IACvB,IAAI,SAAS;IAGb,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;IACb,KAAK,UAAU;IAGf,IAAI,SAAS;CACd;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,iBAAiB,sBAAsB;IACvC,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,oBAAY,sBAAsB;IAChC,UAAU,eAAe,CAAa,0BAA0B;IAChE,cAAc,mBAAmB,CAAK,wBAAwB;IAC9D,uBAAuB,4BAA4B,CAAE,2CAA2C;IAChG,cAAc,mBAAmB,CAAK,yCAAyC;IAC/E,gBAAgB,qBAAqB,CAAE,uCAAuC;IAC9E,eAAe,oBAAoB;CACpC;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB"}
|
|
1
|
+
{"version":3,"file":"websocket-events.constants.d.ts","sourceRoot":"","sources":["../../../src/constants/websocket-events.constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ export declare enum WebSocketNamespace {
|
|
|
9
9
|
/** Пространство для индексации */
|
|
10
10
|
INDEXING = "/indexing",
|
|
11
11
|
/** Пространство для зависимостей */
|
|
12
|
-
DEPENDENCIES = "/dependencies"
|
|
12
|
+
DEPENDENCIES = "/dependencies",
|
|
13
|
+
/** Пространство для файловой системы */
|
|
14
|
+
FILESYSTEM = "/filesystem"
|
|
13
15
|
}
|
|
14
16
|
//# 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;
|
|
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;CAC3B"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,92 +1,22 @@
|
|
|
1
|
-
import { CodeSolverSDK } from './code-solver-sdk';
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
20
|
-
export {
|
|
21
|
-
export { IndexingWebSocketClient } from './utils/indexing-websocket-client';
|
|
22
|
-
export { CodeSolverWebSocketClient, WebSocketNamespace } from './utils/code-solver-websocket-client';
|
|
23
|
-
export * from './types/index';
|
|
24
|
-
export * from './models/types';
|
|
25
|
-
/**
|
|
26
|
-
* Пример использования SDK:
|
|
27
|
-
*
|
|
28
|
-
* ```typescript
|
|
29
|
-
* // ESM импорт (браузер, современный Node.js)
|
|
30
|
-
* import { CodeSolverSDK } from 'code-solver-sdk';
|
|
31
|
-
*
|
|
32
|
-
* // CommonJS импорт (Node.js)
|
|
33
|
-
* // const { CodeSolverSDK } = require('code-solver-sdk');
|
|
34
|
-
*
|
|
35
|
-
* const sdk = new CodeSolverSDK({
|
|
36
|
-
* baseURL: 'https://api.example.com',
|
|
37
|
-
* apiKey: 'your-api-key' // если требуется
|
|
38
|
-
* });
|
|
39
|
-
*
|
|
40
|
-
* // Пример работы с проектами
|
|
41
|
-
* async function example() {
|
|
42
|
-
* // Проверка доступности API
|
|
43
|
-
* const isHealthy = await sdk.checkHealth();
|
|
44
|
-
* console.log('API доступен:', isHealthy);
|
|
45
|
-
*
|
|
46
|
-
* // Получение списка проектов
|
|
47
|
-
* const projects = await sdk.projects.getAllProjects();
|
|
48
|
-
* console.log('Проекты:', projects);
|
|
49
|
-
*
|
|
50
|
-
* // Создание нового проекта
|
|
51
|
-
* const newProject = await sdk.projects.createProject('Мой проект', '/path/to/project');
|
|
52
|
-
* console.log('Новый проект:', newProject);
|
|
53
|
-
*
|
|
54
|
-
* // Запуск индексации
|
|
55
|
-
* await sdk.projects.indexProject(newProject.id);
|
|
56
|
-
*
|
|
57
|
-
* // Поиск кода
|
|
58
|
-
* const searchResults = await sdk.search.searchCode(newProject.id, {
|
|
59
|
-
* query: 'function example',
|
|
60
|
-
* limit: 10
|
|
61
|
-
* });
|
|
62
|
-
* console.log('Результаты поиска:', searchResults);
|
|
63
|
-
*
|
|
64
|
-
* // Работа с рассуждениями
|
|
65
|
-
* const reasoning = await sdk.reasoning.createReasoning({
|
|
66
|
-
* projectId: newProject.id,
|
|
67
|
-
* query: 'Объясни, как работает этот проект'
|
|
68
|
-
* });
|
|
69
|
-
*
|
|
70
|
-
* // Запуск процесса рассуждения
|
|
71
|
-
* await sdk.reasoning.startReasoning(reasoning.id);
|
|
72
|
-
*
|
|
73
|
-
* // Подключение через WebSocket
|
|
74
|
-
* const wsClient = sdk.getWebSocketClient();
|
|
75
|
-
* await wsClient.connectToReasoning();
|
|
76
|
-
*
|
|
77
|
-
* // Обработка событий
|
|
78
|
-
* wsClient.on('thinking', (data) => {
|
|
79
|
-
* console.log('Размышление:', data.content);
|
|
80
|
-
* });
|
|
81
|
-
*
|
|
82
|
-
* wsClient.on('complete', (data) => {
|
|
83
|
-
* console.log('Завершено:', data.content);
|
|
84
|
-
* wsClient.disconnectAll();
|
|
85
|
-
* });
|
|
86
|
-
* }
|
|
87
|
-
* ```
|
|
88
|
-
*/
|
|
89
|
-
export { sdkInstance as sdk };
|
|
90
|
-
export { WebSocketEvents };
|
|
1
|
+
import { CodeSolverSDK, ExtendedReasoningOptions } from './code-solver-sdk-v2.js';
|
|
2
|
+
export declare const VERSION = "2.0.0";
|
|
3
|
+
export * from './interfaces/sdk-options.js';
|
|
4
|
+
export * from './interfaces/websocket/callbacks.interfaces.js';
|
|
5
|
+
export * from './constants/websocket-namespaces.constants.js';
|
|
6
|
+
export * from './constants/websocket-events.constants.js';
|
|
7
|
+
export * from './ws/indexing-ws-client.js';
|
|
8
|
+
export * from './ws/reasoning-ws-client.js';
|
|
9
|
+
export * from './ws/filesystem-ws-client.js';
|
|
10
|
+
export * from './ws/dependencies-ws-client.js';
|
|
11
|
+
export * from './api/projects-api.js';
|
|
12
|
+
export * from './api/search-api.js';
|
|
13
|
+
export * from './api/reasoning-api.js';
|
|
14
|
+
export * from './api/context-api.js';
|
|
15
|
+
export * from './api/code-modification-api.js';
|
|
16
|
+
export * from './api/agents-api.js';
|
|
17
|
+
export * from './api/chat-api/index.js';
|
|
18
|
+
export * from './api/models-api.js';
|
|
19
|
+
export * from './api/dependencies-api.js';
|
|
20
|
+
export { ExtendedReasoningOptions };
|
|
91
21
|
export default CodeSolverSDK;
|
|
92
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGlF,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,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,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAGpC,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { BaseWebSocketClient } from './base-ws-client';
|
|
2
|
+
/**
|
|
3
|
+
* Опции для клиента файловой системы
|
|
4
|
+
*/
|
|
5
|
+
export interface FileSystemWsClientOptions {
|
|
6
|
+
/** Обработчик чтения файла */
|
|
7
|
+
onReadFile?: (path: string) => Promise<string>;
|
|
8
|
+
/** Обработчик получения списка файлов */
|
|
9
|
+
onListFiles?: (directory: string, options?: {
|
|
10
|
+
includePatterns?: string[];
|
|
11
|
+
excludePatterns?: string[];
|
|
12
|
+
}) => Promise<FileInfo[]>;
|
|
13
|
+
/** Обработчик начала отслеживания файлов */
|
|
14
|
+
onWatchStart?: (patterns: string[]) => Promise<boolean>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Интерфейс информации о файле
|
|
18
|
+
*/
|
|
19
|
+
export interface FileInfo {
|
|
20
|
+
/** Абсолютный путь к файлу */
|
|
21
|
+
path: string;
|
|
22
|
+
/** Относительный путь в рамках проекта */
|
|
23
|
+
relativePath: string;
|
|
24
|
+
/** Расширение файла */
|
|
25
|
+
extension: string;
|
|
26
|
+
/** Размер файла в байтах */
|
|
27
|
+
size: number;
|
|
28
|
+
/** Флаг директории */
|
|
29
|
+
isDirectory: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Клиент WebSocket для работы с файловой системой
|
|
33
|
+
*/
|
|
34
|
+
export declare class FileSystemWsClient extends BaseWebSocketClient {
|
|
35
|
+
private sessionId;
|
|
36
|
+
private projectId;
|
|
37
|
+
private pingInterval;
|
|
38
|
+
private pingTimer;
|
|
39
|
+
private readonly SDK_VERSION;
|
|
40
|
+
onReadFile: (path: string) => Promise<string>;
|
|
41
|
+
onListFiles: (directory: string, options?: {
|
|
42
|
+
includePatterns?: string[];
|
|
43
|
+
excludePatterns?: string[];
|
|
44
|
+
}) => Promise<FileInfo[]>;
|
|
45
|
+
onWatchStart: (patterns: string[]) => Promise<boolean>;
|
|
46
|
+
/**
|
|
47
|
+
* Создает новый клиент для работы с файловой системой
|
|
48
|
+
* @param baseURL Базовый URL API
|
|
49
|
+
* @param options Опции клиента
|
|
50
|
+
*/
|
|
51
|
+
constructor(baseURL: string, options?: FileSystemWsClientOptions);
|
|
52
|
+
/**
|
|
53
|
+
* Подключение к серверу и инициализация сессии
|
|
54
|
+
* @param params Параметры подключения (может содержать projectId или другие параметры)
|
|
55
|
+
* @returns Promise<boolean> Успешность подключения
|
|
56
|
+
*/
|
|
57
|
+
connect(params?: Record<string, any>): Promise<boolean>;
|
|
58
|
+
/**
|
|
59
|
+
* Подключение к проекту - удобный метод для использования в приложении
|
|
60
|
+
* @param projectId ID проекта
|
|
61
|
+
* @returns Promise<boolean> Успешность подключения
|
|
62
|
+
*/
|
|
63
|
+
connectToProject(projectId: string): Promise<boolean>;
|
|
64
|
+
/**
|
|
65
|
+
* Настройка обработчиков событий
|
|
66
|
+
*/
|
|
67
|
+
private setupHandlers;
|
|
68
|
+
/**
|
|
69
|
+
* Уведомляет сервер об изменении файла
|
|
70
|
+
* @param path Путь к файлу
|
|
71
|
+
* @param changeType Тип изменения
|
|
72
|
+
*/
|
|
73
|
+
notifyFileChanged(path: string, changeType?: 'created' | 'modified' | 'deleted'): boolean;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Пример использования клиента файловой системы в VS Code расширении:
|
|
77
|
+
*
|
|
78
|
+
* ```typescript
|
|
79
|
+
* import * as vscode from 'vscode';
|
|
80
|
+
* import { FileSystemWsClient } from 'solver-sdk';
|
|
81
|
+
*
|
|
82
|
+
* export function activate(context: vscode.ExtensionContext) {
|
|
83
|
+
* // Создание клиента файловой системы
|
|
84
|
+
* const fsClient = new FileSystemWsClient('wss://your-backend-url.com', {
|
|
85
|
+
* // Обработчик чтения файла
|
|
86
|
+
* onReadFile: async (path) => {
|
|
87
|
+
* try {
|
|
88
|
+
* const uri = vscode.Uri.file(path);
|
|
89
|
+
* const content = await vscode.workspace.fs.readFile(uri);
|
|
90
|
+
* return new TextDecoder().decode(content);
|
|
91
|
+
* } catch (error) {
|
|
92
|
+
* throw new Error(`Ошибка чтения файла: ${error.message}`);
|
|
93
|
+
* }
|
|
94
|
+
* },
|
|
95
|
+
*
|
|
96
|
+
* // Обработчик получения списка файлов
|
|
97
|
+
* onListFiles: async (directory, options) => {
|
|
98
|
+
* try {
|
|
99
|
+
* // Получаем корневую директорию рабочего пространства
|
|
100
|
+
* const rootPath = vscode.workspace.workspaceFolders?.[0]?.uri.fsPath;
|
|
101
|
+
* if (!rootPath) throw new Error('Не найдено рабочее пространство');
|
|
102
|
+
*
|
|
103
|
+
* // Формируем паттерн для поиска файлов
|
|
104
|
+
* const pattern = new vscode.RelativePattern(
|
|
105
|
+
* rootPath,
|
|
106
|
+
* options?.includePatterns?.[0] || '**'
|
|
107
|
+
* );
|
|
108
|
+
*
|
|
109
|
+
* // Находим файлы по паттерну
|
|
110
|
+
* const files = await vscode.workspace.findFiles(pattern,
|
|
111
|
+
* options?.excludePatterns?.join('|')
|
|
112
|
+
* );
|
|
113
|
+
*
|
|
114
|
+
* // Преобразуем результаты в нужный формат
|
|
115
|
+
* return files.map(uri => {
|
|
116
|
+
* const relativePath = vscode.workspace.asRelativePath(uri);
|
|
117
|
+
* const stats = fs.statSync(uri.fsPath);
|
|
118
|
+
*
|
|
119
|
+
* return {
|
|
120
|
+
* path: uri.fsPath,
|
|
121
|
+
* relativePath,
|
|
122
|
+
* extension: uri.fsPath.split('.').pop() || '',
|
|
123
|
+
* size: stats.size,
|
|
124
|
+
* isDirectory: stats.isDirectory()
|
|
125
|
+
* };
|
|
126
|
+
* });
|
|
127
|
+
* } catch (error) {
|
|
128
|
+
* throw new Error(`Ошибка получения списка файлов: ${error.message}`);
|
|
129
|
+
* }
|
|
130
|
+
* },
|
|
131
|
+
*
|
|
132
|
+
* // Обработчик отслеживания файлов
|
|
133
|
+
* onWatchStart: async (patterns) => {
|
|
134
|
+
* try {
|
|
135
|
+
* // Создаем наблюдателей за файлами
|
|
136
|
+
* const watchers = patterns.map(pattern => {
|
|
137
|
+
* const watcher = vscode.workspace.createFileSystemWatcher(
|
|
138
|
+
* new vscode.RelativePattern(
|
|
139
|
+
* vscode.workspace.workspaceFolders?.[0]?.uri.fsPath || '',
|
|
140
|
+
* pattern
|
|
141
|
+
* )
|
|
142
|
+
* );
|
|
143
|
+
*
|
|
144
|
+
* // Обработчик изменения файла
|
|
145
|
+
* watcher.onDidChange(uri => {
|
|
146
|
+
* const relativePath = vscode.workspace.asRelativePath(uri);
|
|
147
|
+
* fsClient.notifyFileChanged(relativePath, 'modified');
|
|
148
|
+
* });
|
|
149
|
+
*
|
|
150
|
+
* // Обработчик создания файла
|
|
151
|
+
* watcher.onDidCreate(uri => {
|
|
152
|
+
* const relativePath = vscode.workspace.asRelativePath(uri);
|
|
153
|
+
* fsClient.notifyFileChanged(relativePath, 'created');
|
|
154
|
+
* });
|
|
155
|
+
*
|
|
156
|
+
* // Обработчик удаления файла
|
|
157
|
+
* watcher.onDidDelete(uri => {
|
|
158
|
+
* const relativePath = vscode.workspace.asRelativePath(uri);
|
|
159
|
+
* fsClient.notifyFileChanged(relativePath, 'deleted');
|
|
160
|
+
* });
|
|
161
|
+
*
|
|
162
|
+
* return watcher;
|
|
163
|
+
* });
|
|
164
|
+
*
|
|
165
|
+
* // Добавляем наблюдателей в контекст расширения для правильной очистки
|
|
166
|
+
* watchers.forEach(watcher => {
|
|
167
|
+
* context.subscriptions.push(watcher);
|
|
168
|
+
* });
|
|
169
|
+
*
|
|
170
|
+
* return true;
|
|
171
|
+
* } catch (error) {
|
|
172
|
+
* console.error('Ошибка при настройке отслеживания файлов:', error);
|
|
173
|
+
* return false;
|
|
174
|
+
* }
|
|
175
|
+
* }
|
|
176
|
+
* });
|
|
177
|
+
*
|
|
178
|
+
* // Подключаемся к проекту
|
|
179
|
+
* vscode.commands.registerCommand('extension.connectToProject', async () => {
|
|
180
|
+
* // Запрашиваем ID проекта у пользователя
|
|
181
|
+
* const projectId = await vscode.window.showInputBox({
|
|
182
|
+
* prompt: 'Введите ID проекта для подключения'
|
|
183
|
+
* });
|
|
184
|
+
*
|
|
185
|
+
* if (!projectId) return;
|
|
186
|
+
*
|
|
187
|
+
* try {
|
|
188
|
+
* // Устанавливаем соединение
|
|
189
|
+
* const connected = await fsClient.connectToProject(projectId);
|
|
190
|
+
*
|
|
191
|
+
* if (connected) {
|
|
192
|
+
* vscode.window.showInformationMessage(`Успешное подключение к проекту ${projectId}`);
|
|
193
|
+
* } else {
|
|
194
|
+
* vscode.window.showErrorMessage('Ошибка подключения к проекту');
|
|
195
|
+
* }
|
|
196
|
+
* } catch (error) {
|
|
197
|
+
* vscode.window.showErrorMessage(`Ошибка: ${error.message}`);
|
|
198
|
+
* }
|
|
199
|
+
* });
|
|
200
|
+
* }
|
|
201
|
+
* ```
|
|
202
|
+
*/
|
|
203
|
+
//# sourceMappingURL=filesystem-ws-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem-ws-client.d.ts","sourceRoot":"","sources":["../../../src/ws/filesystem-ws-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKvD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,8BAA8B;IAC9B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/C,yCAAyC;IACzC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAC1C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,sBAAsB;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,mBAAmB;IACzD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IAGhC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAChD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9D;;;;OAIG;gBAED,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,yBAA8B;IAgBzC;;;;OAIG;IACmB,OAAO,CAAC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6CjF;;;;OAIG;IACU,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlE;;OAEG;IACH,OAAO,CAAC,aAAa;IAkFrB;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,SAAS,GAAG,UAAU,GAAG,SAAsB,GAAG,OAAO;CAetG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+HG"}
|