solver-sdk 5.1.0 → 5.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +264 -4
- package/dist/cjs/api/delta-chunking-api.js +142 -0
- package/dist/cjs/api/delta-chunking-api.js.map +1 -0
- package/dist/cjs/api/projects-api.js +80 -0
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/code-solver-sdk.js +94 -4
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/delta-chunking/delta-chunking-manager.js +202 -0
- package/dist/cjs/delta-chunking/delta-chunking-manager.js.map +1 -0
- package/dist/cjs/delta-chunking/delta-chunking-utils.js +315 -0
- package/dist/cjs/delta-chunking/delta-chunking-utils.js.map +1 -0
- package/dist/cjs/index.js +10 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/delta-chunking.js +7 -0
- package/dist/cjs/types/delta-chunking.js.map +1 -0
- package/dist/esm/api/delta-chunking-api.js +138 -0
- package/dist/esm/api/delta-chunking-api.js.map +1 -0
- package/dist/esm/api/projects-api.js +80 -0
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +94 -4
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/delta-chunking/delta-chunking-manager.js +198 -0
- package/dist/esm/delta-chunking/delta-chunking-manager.js.map +1 -0
- package/dist/esm/delta-chunking/delta-chunking-utils.js +278 -0
- package/dist/esm/delta-chunking/delta-chunking-utils.js.map +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/delta-chunking.js +6 -0
- package/dist/esm/types/delta-chunking.js.map +1 -0
- package/dist/types/api/delta-chunking-api.d.ts +51 -0
- package/dist/types/api/delta-chunking-api.d.ts.map +1 -0
- package/dist/types/api/projects-api.d.ts +42 -0
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +50 -1
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/delta-chunking/delta-chunking-manager.d.ts +60 -0
- package/dist/types/delta-chunking/delta-chunking-manager.d.ts.map +1 -0
- package/dist/types/delta-chunking/delta-chunking-utils.d.ts +62 -0
- package/dist/types/delta-chunking/delta-chunking-utils.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces/sdk-options.d.ts +35 -0
- package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
- package/dist/types/types/delta-chunking.d.ts +210 -0
- package/dist/types/types/delta-chunking.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🔧 Delta-Chunking Utilities
|
|
3
|
+
* Утилиты для обработки файлов, чанков и шифрования
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Утилиты для Delta-Chunking операций
|
|
7
|
+
*/
|
|
8
|
+
export class DeltaChunkingUtils {
|
|
9
|
+
constructor(projects, options, environment, logger) {
|
|
10
|
+
this.projects = projects;
|
|
11
|
+
this.options = options;
|
|
12
|
+
this.environment = environment;
|
|
13
|
+
this.logger = logger;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Валидация проекта через Projects API
|
|
17
|
+
*/
|
|
18
|
+
async validateProject(projectId) {
|
|
19
|
+
try {
|
|
20
|
+
// Используем существующий projects API для проверки
|
|
21
|
+
await this.projects.getProject(projectId);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
25
|
+
throw new Error(`Проект ${projectId} не найден или недоступен: ${errorMessage}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Сканирование файлов проекта (Node.js only)
|
|
30
|
+
*/
|
|
31
|
+
async scanProjectFiles(projectPath, options) {
|
|
32
|
+
// Проверяем среду выполнения
|
|
33
|
+
if (this.environment === 'browser') {
|
|
34
|
+
throw new Error('scanProjectFiles недоступен в браузере. Используйте syncFiles() с подготовленными файлами.');
|
|
35
|
+
}
|
|
36
|
+
const files = [];
|
|
37
|
+
// Динамический импорт fs для Node.js
|
|
38
|
+
const fs = await import('fs/promises');
|
|
39
|
+
const path = await import('path');
|
|
40
|
+
const scanDir = async (dirPath) => {
|
|
41
|
+
const entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
42
|
+
for (const entry of entries) {
|
|
43
|
+
const fullPath = path.join(dirPath, entry.name);
|
|
44
|
+
const relativePath = path.relative(projectPath, fullPath);
|
|
45
|
+
// Проверяем игнорируемые паттерны
|
|
46
|
+
const shouldIgnore = options.ignorePatterns?.some(pattern => relativePath.includes(pattern.replace('/**', '')) ||
|
|
47
|
+
entry.name.match(new RegExp(pattern.replace('*', '.*'))));
|
|
48
|
+
if (shouldIgnore)
|
|
49
|
+
continue;
|
|
50
|
+
if (entry.isDirectory()) {
|
|
51
|
+
await scanDir(fullPath);
|
|
52
|
+
}
|
|
53
|
+
else if (entry.isFile()) {
|
|
54
|
+
// Проверяем расширения файлов
|
|
55
|
+
const ext = path.extname(entry.name);
|
|
56
|
+
if (options.includeExtensions && !options.includeExtensions.includes(ext)) {
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
// Проверяем размер файла
|
|
60
|
+
const stats = await fs.stat(fullPath);
|
|
61
|
+
const fileSizeKB = stats.size / 1024;
|
|
62
|
+
if (options.maxFileSizeKB && fileSizeKB > options.maxFileSizeKB) {
|
|
63
|
+
this.logger.warn(`⚠️ Пропускаю большой файл: ${relativePath} (${fileSizeKB.toFixed(1)}KB)`);
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
const content = await fs.readFile(fullPath, 'utf-8');
|
|
68
|
+
files.push({
|
|
69
|
+
path: relativePath,
|
|
70
|
+
content,
|
|
71
|
+
size: stats.size,
|
|
72
|
+
lastModified: stats.mtime.getTime()
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
77
|
+
this.logger.warn(`⚠️ Не удалось прочитать файл ${relativePath}: ${errorMessage}`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
try {
|
|
83
|
+
await scanDir(projectPath);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
87
|
+
throw new Error(`Ошибка сканирования директории ${projectPath}: ${errorMessage}`);
|
|
88
|
+
}
|
|
89
|
+
return files;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Создание чанков из файлов
|
|
93
|
+
*/
|
|
94
|
+
async createChunksFromFiles(files) {
|
|
95
|
+
const chunks = [];
|
|
96
|
+
for (const file of files) {
|
|
97
|
+
const fileChunks = await this.chunkFile(file);
|
|
98
|
+
chunks.push(...fileChunks);
|
|
99
|
+
}
|
|
100
|
+
return chunks;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Разбиение файла на чанки
|
|
104
|
+
*/
|
|
105
|
+
async chunkFile(file) {
|
|
106
|
+
// Простое разбиение на чанки по строкам (без tree-sitter пока)
|
|
107
|
+
const lines = file.content.split('\n');
|
|
108
|
+
const chunks = [];
|
|
109
|
+
const config = this.options.deltaChunking?.chunking || {};
|
|
110
|
+
const maxTokens = config.maxTokens || 400;
|
|
111
|
+
const minTokens = config.minTokens || 100;
|
|
112
|
+
let currentChunk = '';
|
|
113
|
+
let startLine = 1;
|
|
114
|
+
for (let i = 0; i < lines.length; i++) {
|
|
115
|
+
const line = lines[i];
|
|
116
|
+
const newChunkContent = currentChunk + (currentChunk ? '\n' : '') + line;
|
|
117
|
+
// Простая оценка токенов (примерно 4 символа = 1 токен)
|
|
118
|
+
const estimatedTokens = newChunkContent.length / 4;
|
|
119
|
+
if (estimatedTokens >= maxTokens && currentChunk.length > 0) {
|
|
120
|
+
// Создаем чанк если достигли лимита
|
|
121
|
+
if (currentChunk.trim()) {
|
|
122
|
+
chunks.push({
|
|
123
|
+
id: `${file.path}-${chunks.length}`,
|
|
124
|
+
obfuscatedPath: this.obfuscatePath(file.path),
|
|
125
|
+
content: currentChunk,
|
|
126
|
+
metadata: {
|
|
127
|
+
chunkType: this.detectChunkType(currentChunk),
|
|
128
|
+
startLine,
|
|
129
|
+
endLine: i,
|
|
130
|
+
language: this.detectLanguage(file.path),
|
|
131
|
+
originalSize: currentChunk.length,
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
currentChunk = line;
|
|
136
|
+
startLine = i + 1;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
currentChunk = newChunkContent;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Добавляем последний чанк
|
|
143
|
+
if (currentChunk.trim()) {
|
|
144
|
+
chunks.push({
|
|
145
|
+
id: `${file.path}-${chunks.length}`,
|
|
146
|
+
obfuscatedPath: this.obfuscatePath(file.path),
|
|
147
|
+
content: currentChunk,
|
|
148
|
+
metadata: {
|
|
149
|
+
chunkType: this.detectChunkType(currentChunk),
|
|
150
|
+
startLine,
|
|
151
|
+
endLine: lines.length,
|
|
152
|
+
language: this.detectLanguage(file.path),
|
|
153
|
+
originalSize: currentChunk.length,
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
return chunks;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Шифрование чанков
|
|
161
|
+
*/
|
|
162
|
+
async encryptChunks(chunks) {
|
|
163
|
+
if (!this.options.deltaChunking?.encryption?.enabled) {
|
|
164
|
+
// Если шифрование отключено, просто конвертируем
|
|
165
|
+
return chunks.map(chunk => ({
|
|
166
|
+
...chunk,
|
|
167
|
+
encryptedContent: Buffer.from(chunk.content, 'utf-8'),
|
|
168
|
+
iv: Buffer.alloc(12, 0), // Пустой IV
|
|
169
|
+
authTag: Buffer.alloc(16, 0), // Пустой authTag
|
|
170
|
+
hash: this.calculateHash(chunk.content),
|
|
171
|
+
}));
|
|
172
|
+
}
|
|
173
|
+
const encryptionKey = this.options.deltaChunking?.encryption?.key;
|
|
174
|
+
if (!encryptionKey || encryptionKey.length !== 32) {
|
|
175
|
+
throw new Error('Ключ шифрования должен содержать ровно 32 символа для AES-256');
|
|
176
|
+
}
|
|
177
|
+
// Динамический импорт crypto для Node.js/браузера
|
|
178
|
+
const crypto = this.environment === 'node'
|
|
179
|
+
? await import('crypto')
|
|
180
|
+
: null; // В браузере нужна другая реализация
|
|
181
|
+
if (!crypto && this.environment === 'node') {
|
|
182
|
+
throw new Error('Модуль crypto недоступен');
|
|
183
|
+
}
|
|
184
|
+
return chunks.map(chunk => {
|
|
185
|
+
if (this.environment === 'browser') {
|
|
186
|
+
// TODO: Реализовать Web Crypto API для браузера
|
|
187
|
+
this.logger.warn('⚠️ Шифрование в браузере пока не реализовано');
|
|
188
|
+
return {
|
|
189
|
+
...chunk,
|
|
190
|
+
encryptedContent: Buffer.from(chunk.content, 'utf-8'),
|
|
191
|
+
iv: Buffer.alloc(12, 0),
|
|
192
|
+
authTag: Buffer.alloc(16, 0),
|
|
193
|
+
hash: this.calculateHash(chunk.content),
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
// AES-256-GCM шифрование для Node.js
|
|
197
|
+
const iv = crypto.randomBytes(12);
|
|
198
|
+
const cipher = crypto.createCipheriv('aes-256-gcm', Buffer.from(encryptionKey), iv);
|
|
199
|
+
cipher.setAAD(Buffer.from(chunk.id, 'utf-8'));
|
|
200
|
+
let encrypted = cipher.update(chunk.content, 'utf-8');
|
|
201
|
+
encrypted = Buffer.concat([encrypted, cipher.final()]);
|
|
202
|
+
const authTag = cipher.getAuthTag();
|
|
203
|
+
return {
|
|
204
|
+
...chunk,
|
|
205
|
+
encryptedContent: encrypted,
|
|
206
|
+
iv,
|
|
207
|
+
authTag,
|
|
208
|
+
hash: this.calculateHash(chunk.content),
|
|
209
|
+
};
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Расчет root hash для Merkle tree
|
|
214
|
+
*/
|
|
215
|
+
calculateRootHash(files) {
|
|
216
|
+
// Простой хеш от всех путей файлов и их размеров
|
|
217
|
+
const hashInput = files
|
|
218
|
+
.map(f => `${f.path}:${f.size}`)
|
|
219
|
+
.sort()
|
|
220
|
+
.join('|');
|
|
221
|
+
return this.calculateHash(hashInput);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Простая хеш-функция
|
|
225
|
+
*/
|
|
226
|
+
calculateHash(content) {
|
|
227
|
+
// Простой хеш-функция (в продакшене лучше использовать crypto)
|
|
228
|
+
let hash = 0;
|
|
229
|
+
for (let i = 0; i < content.length; i++) {
|
|
230
|
+
const char = content.charCodeAt(i);
|
|
231
|
+
hash = ((hash << 5) - hash) + char;
|
|
232
|
+
hash = hash & hash; // 32bit integer
|
|
233
|
+
}
|
|
234
|
+
return Math.abs(hash).toString(16).padStart(16, '0');
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Обфускация пути файла
|
|
238
|
+
*/
|
|
239
|
+
obfuscatePath(filePath) {
|
|
240
|
+
// Простая обфускация пути (в продакшене - более сложная)
|
|
241
|
+
return Buffer.from(filePath).toString('base64').slice(0, 12);
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Определение типа чанка по содержимому
|
|
245
|
+
*/
|
|
246
|
+
detectChunkType(content) {
|
|
247
|
+
if (content.includes('function ') || content.includes('async ') || content.includes('=>')) {
|
|
248
|
+
return 'function';
|
|
249
|
+
}
|
|
250
|
+
if (content.includes('class ') || content.includes('interface ') || content.includes('type ')) {
|
|
251
|
+
return 'class';
|
|
252
|
+
}
|
|
253
|
+
if (content.trim().startsWith('/*') || content.trim().startsWith('//')) {
|
|
254
|
+
return 'comment';
|
|
255
|
+
}
|
|
256
|
+
return 'block';
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Определение языка программирования по расширению файла
|
|
260
|
+
*/
|
|
261
|
+
detectLanguage(filePath) {
|
|
262
|
+
const ext = filePath.split('.').pop()?.toLowerCase();
|
|
263
|
+
const langMap = {
|
|
264
|
+
'ts': 'typescript',
|
|
265
|
+
'js': 'javascript',
|
|
266
|
+
'py': 'python',
|
|
267
|
+
'java': 'java',
|
|
268
|
+
'cpp': 'cpp',
|
|
269
|
+
'c': 'c',
|
|
270
|
+
'go': 'go',
|
|
271
|
+
'rs': 'rust',
|
|
272
|
+
'php': 'php',
|
|
273
|
+
'rb': 'ruby',
|
|
274
|
+
};
|
|
275
|
+
return langMap[ext || ''] || 'plaintext';
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
//# sourceMappingURL=delta-chunking-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delta-chunking-utils.js","sourceRoot":"","sources":["../../../src/delta-chunking/delta-chunking-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -18,6 +18,12 @@ export * from './api/updates-api.js';
|
|
|
18
18
|
export * from './utils/message-helpers.js';
|
|
19
19
|
// Экспортируем helper функции для complex content и tool calling
|
|
20
20
|
export { createThinkingBlock, createToolResultMessage, createToolUseBlock, extractThinkingBlocks, extractToolUseBlocks, extractToolResultBlocks, createStandardDevelopmentTools, createComplexAssistantMessage, createTextBlock, createUserMessage, createSystemMessage } from './utils/message-helpers.js';
|
|
21
|
+
// 🔄 Delta-Chunking API и компоненты (интегрированы в основной SDK)
|
|
22
|
+
export { DeltaChunkingApi } from './api/delta-chunking-api.js';
|
|
23
|
+
export { DeltaChunkingManager } from './delta-chunking/delta-chunking-manager.js';
|
|
24
|
+
export { DeltaChunkingUtils } from './delta-chunking/delta-chunking-utils.js';
|
|
25
|
+
// Экспорт типов Delta-Chunking
|
|
26
|
+
export * from './types/delta-chunking.js';
|
|
21
27
|
// Экспорт по умолчанию
|
|
22
28
|
export default CodeSolverSDK;
|
|
23
29
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,2DAA2D;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,4CAA4C;AAC5C,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,0CAA0C;AAC1C,cAAc,6BAA6B,CAAC;AAE5C,gCAAgC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AAErC,kDAAkD;AAClD,cAAc,4BAA4B,CAAC;AAE3C,iEAAiE;AACjE,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;AAEpC,uBAAuB;AACvB,eAAe,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,2DAA2D;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,4CAA4C;AAC5C,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,0CAA0C;AAC1C,cAAc,6BAA6B,CAAC;AAE5C,gCAAgC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AAErC,kDAAkD;AAClD,cAAc,4BAA4B,CAAC;AAE3C,iEAAiE;AACjE,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;AAEpC,oEAAoE;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAE9E,+BAA+B;AAC/B,cAAc,2BAA2B,CAAC;AAE1C,uBAAuB;AACvB,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delta-chunking.js","sourceRoot":"","sources":["../../../src/types/delta-chunking.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🚀 Delta-Chunking API клиент
|
|
3
|
+
* Интеграция с backend endpoints
|
|
4
|
+
*/
|
|
5
|
+
import { HttpClient } from '../utils/http-client.js';
|
|
6
|
+
import { SyncInitRequest, DeltaChunksBatchRequest, SyncStatus, EncryptedChunk, SyncResult } from '../types/delta-chunking.js';
|
|
7
|
+
/**
|
|
8
|
+
* API клиент для delta-chunking операций
|
|
9
|
+
*/
|
|
10
|
+
export declare class DeltaChunkingApi {
|
|
11
|
+
private readonly httpClient;
|
|
12
|
+
constructor(httpClient: HttpClient);
|
|
13
|
+
/**
|
|
14
|
+
* Инициализация синхронизации проекта
|
|
15
|
+
*/
|
|
16
|
+
initSync(projectId: string, request: SyncInitRequest): Promise<{
|
|
17
|
+
sessionId: string;
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* Отправка батча зашифрованных чанков
|
|
21
|
+
*/
|
|
22
|
+
uploadChunkBatch(projectId: string, batchRequest: DeltaChunksBatchRequest): Promise<{
|
|
23
|
+
processed: number;
|
|
24
|
+
failed: number;
|
|
25
|
+
errors?: string[];
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Получение статуса синхронизации
|
|
29
|
+
*/
|
|
30
|
+
getSyncStatus(projectId: string): Promise<SyncStatus>;
|
|
31
|
+
/**
|
|
32
|
+
* Завершение синхронизации
|
|
33
|
+
*/
|
|
34
|
+
finalizeSync(projectId: string): Promise<SyncResult>;
|
|
35
|
+
/**
|
|
36
|
+
* Отмена синхронизации
|
|
37
|
+
*/
|
|
38
|
+
cancelSync(projectId: string): Promise<{
|
|
39
|
+
success: boolean;
|
|
40
|
+
message?: string;
|
|
41
|
+
}>;
|
|
42
|
+
/**
|
|
43
|
+
* Batch upload с retry логикой
|
|
44
|
+
*/
|
|
45
|
+
uploadChunksWithRetry(projectId: string, chunks: EncryptedChunk[], options?: {
|
|
46
|
+
batchSize?: number;
|
|
47
|
+
maxRetries?: number;
|
|
48
|
+
onProgress?: (current: number, total: number) => void;
|
|
49
|
+
}): Promise<SyncResult>;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=delta-chunking-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delta-chunking-api.d.ts","sourceRoot":"","sources":["../../../src/api/delta-chunking-api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,UAAU,EACX,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,UAAU,EAAE,UAAU;IAIlC;;OAEG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAa3F;;OAEG;IACG,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,uBAAuB,GACpC,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IASpE;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAoB3D;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAkB1D;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAWpF;;OAEG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc,EAAE,EACxB,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;KAClD,GACL,OAAO,CAAC,UAAU,CAAC;CAwEvB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HttpClient } from '../utils/http-client.js';
|
|
2
2
|
import { Project, FileIndexResponse } from '../types/index.js';
|
|
3
|
+
import { SyncInitRequest, DeltaChunksBatchRequest, SyncStatus, SyncResult } from '../types/delta-chunking.js';
|
|
3
4
|
declare global {
|
|
4
5
|
var solverSdkProjectCache: Record<string, string> | undefined;
|
|
5
6
|
}
|
|
@@ -272,5 +273,46 @@ export declare class ProjectsApi {
|
|
|
272
273
|
indexingTimeout?: number;
|
|
273
274
|
maxFileSize?: number;
|
|
274
275
|
}): Promise<Project>;
|
|
276
|
+
/**
|
|
277
|
+
* Инициализация синхронизации проекта для Delta Chunking
|
|
278
|
+
* @param projectId ID проекта
|
|
279
|
+
* @param request Данные для инициализации синхронизации
|
|
280
|
+
* @returns Результат инициализации с sessionId
|
|
281
|
+
*/
|
|
282
|
+
sendInitialSync(projectId: string, request: SyncInitRequest): Promise<{
|
|
283
|
+
sessionId: string;
|
|
284
|
+
}>;
|
|
285
|
+
/**
|
|
286
|
+
* Отправка батча зашифрованных чанков для Delta Chunking
|
|
287
|
+
* @param projectId ID проекта
|
|
288
|
+
* @param batchRequest Батч зашифрованных чанков
|
|
289
|
+
* @returns Результат обработки батча
|
|
290
|
+
*/
|
|
291
|
+
sendDeltaSync(projectId: string, batchRequest: DeltaChunksBatchRequest): Promise<{
|
|
292
|
+
processed: number;
|
|
293
|
+
failed: number;
|
|
294
|
+
errors?: string[];
|
|
295
|
+
}>;
|
|
296
|
+
/**
|
|
297
|
+
* Получение статуса синхронизации Delta Chunking
|
|
298
|
+
* @param projectId ID проекта
|
|
299
|
+
* @returns Текущий статус синхронизации
|
|
300
|
+
*/
|
|
301
|
+
getDeltaSyncStatus(projectId: string): Promise<SyncStatus>;
|
|
302
|
+
/**
|
|
303
|
+
* Завершение синхронизации Delta Chunking
|
|
304
|
+
* @param projectId ID проекта
|
|
305
|
+
* @returns Результат завершения синхронизации
|
|
306
|
+
*/
|
|
307
|
+
finalizeDeltaSync(projectId: string): Promise<SyncResult>;
|
|
308
|
+
/**
|
|
309
|
+
* Отмена синхронизации Delta Chunking
|
|
310
|
+
* @param projectId ID проекта
|
|
311
|
+
* @returns Результат отмены
|
|
312
|
+
*/
|
|
313
|
+
cancelDeltaSync(projectId: string): Promise<{
|
|
314
|
+
success: boolean;
|
|
315
|
+
message?: string;
|
|
316
|
+
}>;
|
|
275
317
|
}
|
|
276
318
|
//# sourceMappingURL=projects-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects-api.d.ts","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,OAAO,EAEP,iBAAiB,
|
|
1
|
+
{"version":3,"file":"projects-api.d.ts","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ import { ToolsApi } from './api/tools-api.js';
|
|
|
5
5
|
import { UpdatesApi } from './api/updates-api.js';
|
|
6
6
|
import { CodeSolverSDKOptions } from './interfaces/sdk-options.js';
|
|
7
7
|
import { ModelsApi } from './api/models-api.js';
|
|
8
|
+
import { DeltaChunkingManager } from './delta-chunking/delta-chunking-manager.js';
|
|
9
|
+
import { SyncOptions, SyncResult, SyncStatus, FileWatcher, FileContent } from './types/delta-chunking.js';
|
|
8
10
|
/**
|
|
9
11
|
* Основной класс SDK для работы с Code Solver API
|
|
10
12
|
* Версия 3.0 - чистый HTTP, без WebSocket
|
|
@@ -26,6 +28,7 @@ export declare class CodeSolverSDK {
|
|
|
26
28
|
private readonly _models;
|
|
27
29
|
/** API для работы с обновлениями */
|
|
28
30
|
private readonly _updates;
|
|
31
|
+
private _deltaManager?;
|
|
29
32
|
/** Среда выполнения */
|
|
30
33
|
private readonly environment;
|
|
31
34
|
/** Глобальный обработчик ошибок */
|
|
@@ -97,6 +100,46 @@ export declare class CodeSolverSDK {
|
|
|
97
100
|
* @returns {UpdatesApi} API для работы с обновлениями
|
|
98
101
|
*/
|
|
99
102
|
get updates(): UpdatesApi;
|
|
103
|
+
/**
|
|
104
|
+
* Проверяет активность delta-chunking функциональности
|
|
105
|
+
* @returns {boolean} true если delta-chunking включен и инициализирован
|
|
106
|
+
*/
|
|
107
|
+
get isDeltaChunkingEnabled(): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* 🚀 Синхронизация проекта по пути к директории
|
|
110
|
+
* @param {string} projectId ID проекта
|
|
111
|
+
* @param {string} projectPath Путь к директории проекта
|
|
112
|
+
* @param {SyncOptions} options Опции синхронизации
|
|
113
|
+
* @returns {Promise<SyncResult>} Результат синхронизации
|
|
114
|
+
*/
|
|
115
|
+
syncProject(projectId: string, projectPath: string, options?: SyncOptions): Promise<SyncResult>;
|
|
116
|
+
/**
|
|
117
|
+
* 📤 Синхронизация массива файлов (для web/браузера)
|
|
118
|
+
* @param {string} projectId ID проекта
|
|
119
|
+
* @param {FileContent[]} files Массив файлов для синхронизации
|
|
120
|
+
* @param {SyncOptions} options Опции синхронизации
|
|
121
|
+
* @returns {Promise<SyncResult>} Результат синхронизации
|
|
122
|
+
*/
|
|
123
|
+
syncFiles(projectId: string, files: FileContent[], options?: SyncOptions): Promise<SyncResult>;
|
|
124
|
+
/**
|
|
125
|
+
* 👀 Запуск автоматического наблюдения за изменениями
|
|
126
|
+
* @param {string} projectId ID проекта
|
|
127
|
+
* @param {string} watchPath Путь для наблюдения
|
|
128
|
+
* @returns {Promise<FileWatcher>} File watcher
|
|
129
|
+
*/
|
|
130
|
+
startAutoSync(projectId: string, watchPath: string): Promise<FileWatcher>;
|
|
131
|
+
/**
|
|
132
|
+
* 📊 Получение статуса синхронизации
|
|
133
|
+
* @param {string} projectId ID проекта
|
|
134
|
+
* @returns {Promise<SyncStatus>} Статус синхронизации
|
|
135
|
+
*/
|
|
136
|
+
getSyncStatus(projectId: string): Promise<SyncStatus>;
|
|
137
|
+
/**
|
|
138
|
+
* ❌ Отмена активной синхронизации
|
|
139
|
+
* @param {string} projectId ID проекта
|
|
140
|
+
* @returns {Promise<boolean>} true если синхронизация отменена
|
|
141
|
+
*/
|
|
142
|
+
cancelSync(projectId: string): Promise<boolean>;
|
|
100
143
|
/**
|
|
101
144
|
* Обрабатывает ошибки SDK
|
|
102
145
|
* @param {Error} error Ошибка
|
|
@@ -110,7 +153,7 @@ export declare class CodeSolverSDK {
|
|
|
110
153
|
/**
|
|
111
154
|
* Освобождает ресурсы SDK
|
|
112
155
|
*/
|
|
113
|
-
dispose(): void
|
|
156
|
+
dispose(): Promise<void>;
|
|
114
157
|
/**
|
|
115
158
|
* Устанавливает новый API ключ
|
|
116
159
|
* @param {string} apiKey Новый API ключ
|
|
@@ -125,6 +168,12 @@ export declare class CodeSolverSDK {
|
|
|
125
168
|
environment: string;
|
|
126
169
|
baseURL: string;
|
|
127
170
|
hasApiKey: boolean;
|
|
171
|
+
deltaChunkingEnabled: boolean;
|
|
128
172
|
};
|
|
173
|
+
/**
|
|
174
|
+
* 🔄 Получение менеджера Delta-Chunking для расширенного API
|
|
175
|
+
* @returns {DeltaChunkingManager | undefined} Менеджер delta-chunking или undefined если отключен
|
|
176
|
+
*/
|
|
177
|
+
get deltaManager(): DeltaChunkingManager | undefined;
|
|
129
178
|
}
|
|
130
179
|
//# sourceMappingURL=code-solver-sdk.d.ts.map
|
|
@@ -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,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"code-solver-sdk.d.ts","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🔄 Delta-Chunking Manager
|
|
3
|
+
* Менеджер для координации delta-chunking операций
|
|
4
|
+
*/
|
|
5
|
+
import { DeltaChunkingApi } from '../api/delta-chunking-api.js';
|
|
6
|
+
import { DeltaChunkingUtils } from './delta-chunking-utils.js';
|
|
7
|
+
import { CodeSolverSDKOptions } from '../interfaces/sdk-options.js';
|
|
8
|
+
import { SyncOptions, SyncResult, SyncStatus, FileWatcher, FileContent } from '../types/delta-chunking.js';
|
|
9
|
+
/**
|
|
10
|
+
* Менеджер для координации всех delta-chunking операций
|
|
11
|
+
*/
|
|
12
|
+
export declare class DeltaChunkingManager {
|
|
13
|
+
private readonly deltaApi;
|
|
14
|
+
private readonly utils;
|
|
15
|
+
private readonly options;
|
|
16
|
+
private readonly logger;
|
|
17
|
+
private activeWatchers;
|
|
18
|
+
constructor(deltaApi: DeltaChunkingApi, utils: DeltaChunkingUtils, options: CodeSolverSDKOptions, logger: {
|
|
19
|
+
log: (message: string) => void;
|
|
20
|
+
warn: (message: string) => void;
|
|
21
|
+
error: (message: string) => void;
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Проверка активности delta-chunking
|
|
25
|
+
*/
|
|
26
|
+
get isEnabled(): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* 🚀 Синхронизация проекта по пути к директории
|
|
29
|
+
*/
|
|
30
|
+
syncProject(projectId: string, projectPath: string, options?: SyncOptions): Promise<SyncResult>;
|
|
31
|
+
/**
|
|
32
|
+
* 📤 Синхронизация массива файлов (для web/браузера)
|
|
33
|
+
*/
|
|
34
|
+
syncFiles(projectId: string, files: FileContent[], options?: SyncOptions): Promise<SyncResult>;
|
|
35
|
+
/**
|
|
36
|
+
* 👀 Запуск автоматического наблюдения за изменениями
|
|
37
|
+
*/
|
|
38
|
+
startAutoSync(projectId: string, watchPath: string): Promise<FileWatcher>;
|
|
39
|
+
/**
|
|
40
|
+
* 📊 Получение статуса синхронизации
|
|
41
|
+
*/
|
|
42
|
+
getSyncStatus(projectId: string): Promise<SyncStatus>;
|
|
43
|
+
/**
|
|
44
|
+
* ❌ Отмена активной синхронизации
|
|
45
|
+
*/
|
|
46
|
+
cancelSync(projectId: string): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* Получение активных file watchers
|
|
49
|
+
*/
|
|
50
|
+
getActiveWatchers(): Map<string, FileWatcher>;
|
|
51
|
+
/**
|
|
52
|
+
* Остановка всех file watchers
|
|
53
|
+
*/
|
|
54
|
+
stopAllWatchers(): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Проверка что delta-chunking включен
|
|
57
|
+
*/
|
|
58
|
+
private ensureEnabled;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=delta-chunking-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delta-chunking-manager.d.ts","sourceRoot":"","sources":["../../../src/delta-chunking/delta-chunking-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,qBAAa,oBAAoB;IAI7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,cAAc,CAAuC;gBAG1C,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE;QACvB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAC/B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KAClC;IAGH;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACG,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC;IAgCtB;;OAEG;IACG,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC;IAoFtB;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoC/E;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAK3D;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMrD;;OAEG;IACH,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAI7C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IActC;;OAEG;IACH,OAAO,CAAC,aAAa;CAKtB"}
|