solver-sdk 5.9.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +156 -84
- package/dist/cjs/api/indexing-api.js +38 -156
- package/dist/cjs/api/indexing-api.js.map +1 -1
- package/dist/cjs/api/projects-api.js +134 -779
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/code-solver-sdk.js +1 -51
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/delta-chunking/delta-chunking-manager.js +9 -178
- package/dist/cjs/delta-chunking/delta-chunking-manager.js.map +1 -1
- package/dist/cjs/delta-chunking/delta-chunking-utils.js +34 -112
- package/dist/cjs/delta-chunking/delta-chunking-utils.js.map +1 -1
- package/dist/esm/api/indexing-api.js +36 -154
- package/dist/esm/api/indexing-api.js.map +1 -1
- package/dist/esm/api/projects-api.js +133 -745
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +1 -51
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/delta-chunking/delta-chunking-manager.js +9 -178
- package/dist/esm/delta-chunking/delta-chunking-manager.js.map +1 -1
- package/dist/esm/delta-chunking/delta-chunking-utils.js +34 -112
- package/dist/esm/delta-chunking/delta-chunking-utils.js.map +1 -1
- package/dist/types/api/indexing-api.d.ts +20 -129
- package/dist/types/api/indexing-api.d.ts.map +1 -1
- package/dist/types/api/projects-api.d.ts +36 -497
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +1 -31
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/delta-chunking/delta-chunking-manager.d.ts +10 -23
- package/dist/types/delta-chunking/delta-chunking-manager.d.ts.map +1 -1
- package/dist/types/delta-chunking/delta-chunking-utils.d.ts +20 -11
- package/dist/types/delta-chunking/delta-chunking-utils.d.ts.map +1 -1
- package/dist/types/interfaces/sdk-options.d.ts +4 -4
- package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -62,94 +62,11 @@ class DeltaChunkingUtils {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
throw new Error('scanProjectFiles недоступен в браузере. Используйте syncFiles() с подготовленными файлами.');
|
|
71
|
-
}
|
|
72
|
-
const files = [];
|
|
73
|
-
// Динамический импорт fs для Node.js
|
|
74
|
-
const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
|
|
75
|
-
const path = await Promise.resolve().then(() => __importStar(require('path')));
|
|
76
|
-
const scanDir = async (dirPath) => {
|
|
77
|
-
const entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
78
|
-
for (const entry of entries) {
|
|
79
|
-
const fullPath = path.join(dirPath, entry.name);
|
|
80
|
-
const relativePath = path.relative(projectPath, fullPath);
|
|
81
|
-
// Проверяем игнорируемые паттерны
|
|
82
|
-
const shouldIgnore = options.ignorePatterns?.some(pattern => relativePath.includes(pattern.replace('/**', '')) ||
|
|
83
|
-
entry.name.match(new RegExp(pattern.replace('*', '.*'))));
|
|
84
|
-
if (shouldIgnore)
|
|
85
|
-
continue;
|
|
86
|
-
if (entry.isDirectory()) {
|
|
87
|
-
await scanDir(fullPath);
|
|
88
|
-
}
|
|
89
|
-
else if (entry.isFile()) {
|
|
90
|
-
// Проверяем расширения файлов
|
|
91
|
-
const ext = path.extname(entry.name).toLowerCase();
|
|
92
|
-
// ✅ ИСПРАВЛЕНО: Расширенная поддержка файлов + более гибкая логика
|
|
93
|
-
const DEFAULT_SUPPORTED_EXTENSIONS = [
|
|
94
|
-
'.js', '.ts', '.jsx', '.tsx', // JavaScript/TypeScript
|
|
95
|
-
'.py', '.pyx', '.pyi', // Python
|
|
96
|
-
'.java', '.kt', // Java/Kotlin
|
|
97
|
-
'.cs', '.vb', // C#/VB.NET
|
|
98
|
-
'.cpp', '.c', '.h', '.hpp', // C/C++
|
|
99
|
-
'.rs', // Rust
|
|
100
|
-
'.go', // Go
|
|
101
|
-
'.php', // PHP
|
|
102
|
-
'.rb', // Ruby
|
|
103
|
-
'.swift', // Swift
|
|
104
|
-
'.dart', // Dart
|
|
105
|
-
'.sql', // SQL
|
|
106
|
-
'.html', '.htm', '.css', '.scss', // Web
|
|
107
|
-
'.json', '.jsonc', '.yaml', '.yml', // Config
|
|
108
|
-
'.md', '.txt', '.rst', // Documentation
|
|
109
|
-
'.xml', '.svg', // ✅ XML файлы
|
|
110
|
-
'.sh', '.bash', '.zsh', '.fish', // ✅ Shell скрипты
|
|
111
|
-
'.bat', '.cmd', '.ps1', // Windows scripts
|
|
112
|
-
'.dockerfile', // Docker
|
|
113
|
-
'.env', '.gitignore', '.gitattributes' // Config files
|
|
114
|
-
];
|
|
115
|
-
const allowedExtensions = options.includeExtensions || DEFAULT_SUPPORTED_EXTENSIONS;
|
|
116
|
-
if (!allowedExtensions.includes(ext)) {
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
// Проверяем размер файла
|
|
120
|
-
const stats = await fs.stat(fullPath);
|
|
121
|
-
const fileSizeKB = stats.size / 1024;
|
|
122
|
-
if (options.maxFileSizeKB && fileSizeKB > options.maxFileSizeKB) {
|
|
123
|
-
this.logger.warn(`⚠️ Пропускаю большой файл: ${relativePath} (${fileSizeKB.toFixed(1)}KB)`);
|
|
124
|
-
continue;
|
|
125
|
-
}
|
|
126
|
-
try {
|
|
127
|
-
const content = await fs.readFile(fullPath, 'utf-8');
|
|
128
|
-
files.push({
|
|
129
|
-
path: relativePath,
|
|
130
|
-
content,
|
|
131
|
-
size: stats.size,
|
|
132
|
-
lastModified: stats.mtime.getTime()
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
catch (error) {
|
|
136
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
137
|
-
this.logger.warn(`⚠️ Не удалось прочитать файл ${relativePath}: ${errorMessage}`);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
try {
|
|
143
|
-
await scanDir(projectPath);
|
|
144
|
-
}
|
|
145
|
-
catch (error) {
|
|
146
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
147
|
-
throw new Error(`Ошибка сканирования директории ${projectPath}: ${errorMessage}`);
|
|
148
|
-
}
|
|
149
|
-
return files;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Создание чанков из файлов
|
|
65
|
+
* Создание чанков из готовых файлов (полученных от клиента)
|
|
66
|
+
*
|
|
67
|
+
* ✅ ПРАВИЛЬНОЕ ИСПОЛЬЗОВАНИЕ:
|
|
68
|
+
* Client Extension подготавливает массив FileContent и передает в Backend SDK
|
|
69
|
+
* Backend SDK обрабатывает готовые данные и создает чанки для отправки на сервер
|
|
153
70
|
*/
|
|
154
71
|
async createChunksFromFiles(files) {
|
|
155
72
|
const chunks = [];
|
|
@@ -161,22 +78,32 @@ class DeltaChunkingUtils {
|
|
|
161
78
|
}
|
|
162
79
|
/**
|
|
163
80
|
* Разбиение файла на чанки
|
|
81
|
+
*
|
|
82
|
+
* ✅ АРХИТЕКТУРА 2025: Используем размер в символах вместо неточной токенизации
|
|
83
|
+
*
|
|
84
|
+
* ПОЧЕМУ ИЗМЕНИЛИ:
|
|
85
|
+
* - SDK не должен принимать решения о токенах - он не имеет точной информации
|
|
86
|
+
* - На Backend есть точный подсчет токенов через Anthropic API
|
|
87
|
+
* - Backend может делать перечанковку с точной токенизацией
|
|
88
|
+
* - SDK создает чанки по символам, Backend оптимизирует по токенам
|
|
164
89
|
*/
|
|
165
90
|
async chunkFile(file) {
|
|
166
91
|
// Простое разбиение на чанки по строкам (без tree-sitter пока)
|
|
167
92
|
const lines = file.content.split('\n');
|
|
168
93
|
const chunks = [];
|
|
169
94
|
const config = this.options.deltaChunking?.chunking || {};
|
|
170
|
-
|
|
171
|
-
|
|
95
|
+
// ✅ ИСПРАВЛЕНО: Убираем неточную токенизацию - используем размер в символах
|
|
96
|
+
// Backend будет делать точную перечанковку с Anthropic API
|
|
97
|
+
const maxChars = config.maxChars || 2000; // ~500 токенов при /3.8
|
|
98
|
+
const minChars = config.minChars || 500; // ~130 токенов при /3.8
|
|
172
99
|
let currentChunk = '';
|
|
173
100
|
let startLine = 1;
|
|
174
101
|
for (let i = 0; i < lines.length; i++) {
|
|
175
102
|
const line = lines[i];
|
|
176
103
|
const newChunkContent = currentChunk + (currentChunk ? '\n' : '') + line;
|
|
177
|
-
//
|
|
178
|
-
const
|
|
179
|
-
if (
|
|
104
|
+
// Используем размер в символах вместо неточной токенизации
|
|
105
|
+
const chunkSize = newChunkContent.length;
|
|
106
|
+
if (chunkSize >= maxChars && currentChunk.length > 0) {
|
|
180
107
|
// Создаем чанк если достигли лимита
|
|
181
108
|
if (currentChunk.trim()) {
|
|
182
109
|
chunks.push({
|
|
@@ -281,28 +208,21 @@ class DeltaChunkingUtils {
|
|
|
281
208
|
});
|
|
282
209
|
}
|
|
283
210
|
/**
|
|
284
|
-
*
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
.map(f => `${f.path}:${f.size}`)
|
|
290
|
-
.sort()
|
|
291
|
-
.join('|');
|
|
292
|
-
return this.calculateHash(hashInput);
|
|
293
|
-
}
|
|
294
|
-
/**
|
|
295
|
-
* Простая хеш-функция
|
|
211
|
+
* Кросс-платформенная хеш-функция
|
|
212
|
+
*
|
|
213
|
+
* ✅ ПРАВИЛЬНОЕ ИСПОЛЬЗОВАНИЕ:
|
|
214
|
+
* Для хеширования контента чанков и вспомогательных вычислений
|
|
215
|
+
* НЕ для вычисления clientRootHash - это делает клиент!
|
|
296
216
|
*/
|
|
297
217
|
calculateHash(content) {
|
|
298
|
-
//
|
|
299
|
-
let hash =
|
|
218
|
+
// Используем улучшенный алгоритм djb2 для лучшего распределения хешей
|
|
219
|
+
let hash = 5381;
|
|
300
220
|
for (let i = 0; i < content.length; i++) {
|
|
301
221
|
const char = content.charCodeAt(i);
|
|
302
|
-
hash = ((hash << 5)
|
|
303
|
-
hash = hash & hash; // 32bit integer
|
|
222
|
+
hash = ((hash << 5) + hash) + char; // hash * 33 + char
|
|
304
223
|
}
|
|
305
|
-
|
|
224
|
+
// Возвращаем положительный hex с фиксированной длиной
|
|
225
|
+
return Math.abs(hash).toString(16).padStart(8, '0');
|
|
306
226
|
}
|
|
307
227
|
/**
|
|
308
228
|
* Обфускация пути файла
|
|
@@ -347,10 +267,12 @@ class DeltaChunkingUtils {
|
|
|
347
267
|
}
|
|
348
268
|
/**
|
|
349
269
|
* Вычисляет хэш файла для отслеживания изменений
|
|
270
|
+
* ✅ ИСПРАВЛЕНО: Унифицировано с основной hash функцией для кросс-платформенности
|
|
350
271
|
*/
|
|
351
272
|
calculateFileHash(content) {
|
|
352
|
-
|
|
353
|
-
|
|
273
|
+
// Используем ту же hash функцию что и для calculateHash для консистентности
|
|
274
|
+
// В будущем можно добавить crypto-based хеширование через динамический импорт
|
|
275
|
+
return this.calculateHash(content);
|
|
354
276
|
}
|
|
355
277
|
}
|
|
356
278
|
exports.DeltaChunkingUtils = DeltaChunkingUtils;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta-chunking-utils.js","sourceRoot":"","sources":["../../../src/delta-chunking/delta-chunking-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delta-chunking-utils.js","sourceRoot":"","sources":["../../../src/delta-chunking/delta-chunking-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,166 +1,48 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* 🚨 АРХИТЕКТУРНАЯ ОШИБКА: IndexingApi удален!
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* индексации
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* API для управления индексацией проектов
|
|
4
|
+
* Backend SDK не должен работать с файловыми путями!
|
|
5
|
+
* Вся логика индексации перенесена в Projects API.
|
|
6
|
+
*
|
|
7
|
+
* ✅ ИСПОЛЬЗУЙТЕ вместо этого:
|
|
9
8
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* // Создание проекта (в Client Extension):
|
|
11
|
+
* const project = await sdk.projects.createProject('My Project', {
|
|
12
|
+
* description: 'Описание проекта'
|
|
13
|
+
* });
|
|
15
14
|
*
|
|
16
|
-
* // Получение статуса
|
|
17
|
-
* const status = await sdk.
|
|
18
|
-
* console.log('Progress:', status.progress);
|
|
15
|
+
* // Получение статуса индексации:
|
|
16
|
+
* const status = await sdk.projects.getIndexingStatus(project.id);
|
|
19
17
|
*
|
|
20
|
-
* //
|
|
21
|
-
*
|
|
22
|
-
* console.log('Final status:', finalStatus.status);
|
|
18
|
+
* // Отмена индексации:
|
|
19
|
+
* await sdk.projects.cancelIndexing(project.id);
|
|
23
20
|
*
|
|
24
|
-
* //
|
|
25
|
-
* await sdk.
|
|
21
|
+
* // Real-time статус через WebSocket:
|
|
22
|
+
* await sdk.connectProjectSync(project.id);
|
|
23
|
+
* sdk.onSyncProgress((progress) => {
|
|
24
|
+
* console.log('Progress:', progress.percentage);
|
|
25
|
+
* });
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
28
|
export class IndexingApi {
|
|
29
|
-
constructor(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const project = await this.httpClient.post('/api/v1/projects', createRequest);
|
|
47
|
-
// Запускаем индексацию
|
|
48
|
-
const indexingResult = await this.httpClient.post(`/api/v1/projects/${project.id}/index`);
|
|
49
|
-
return {
|
|
50
|
-
projectId: project.id,
|
|
51
|
-
name: project.name,
|
|
52
|
-
status: indexingResult.status || 'started',
|
|
53
|
-
message: indexingResult.message || 'Индексация запущена'
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Получает текущий статус индексации проекта
|
|
58
|
-
*
|
|
59
|
-
* ⚠️ ВАЖНО: Для real-time уведомлений используйте WebSocket:
|
|
60
|
-
* ```typescript
|
|
61
|
-
* // Правильно (real-time):
|
|
62
|
-
* await sdk.connectWebSocket();
|
|
63
|
-
* sdk.projectSync.on('sync-status-update', (status) => {
|
|
64
|
-
* console.log('Статус обновлен:', status);
|
|
65
|
-
* });
|
|
66
|
-
*
|
|
67
|
-
* // Неправильно (не делайте polling):
|
|
68
|
-
* // setInterval(() => sdk.indexing.getStatus(id), 2000); // ❌
|
|
69
|
-
* ```
|
|
70
|
-
*
|
|
71
|
-
* @param {string} projectId ID проекта
|
|
72
|
-
* @returns {Promise<IndexingStatus>} Текущий статус индексации
|
|
73
|
-
*/
|
|
74
|
-
async getStatus(projectId) {
|
|
75
|
-
this.validateProjectId(projectId);
|
|
76
|
-
const status = await this.httpClient.get(`/api/v1/projects/${projectId}/indexing-status`);
|
|
77
|
-
return {
|
|
78
|
-
status: status.status || 'unknown',
|
|
79
|
-
progress: status.progress || 0,
|
|
80
|
-
totalFiles: status.totalFiles,
|
|
81
|
-
processedFiles: status.processedFiles,
|
|
82
|
-
currentFile: status.currentFile,
|
|
83
|
-
error: status.error,
|
|
84
|
-
updatedAt: new Date().toISOString()
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* ⚠️ DEPRECATED: Метод отключен. Используйте WebSocket для real-time уведомлений
|
|
89
|
-
*
|
|
90
|
-
* @deprecated Используйте WebSocket подход:
|
|
91
|
-
* ```typescript
|
|
92
|
-
* await sdk.connectWebSocket();
|
|
93
|
-
* sdk.projectSync.on('sync-status-update', (status) => {
|
|
94
|
-
* if (status.status === 'completed') {
|
|
95
|
-
* console.log('Индексация завершена!');
|
|
96
|
-
* }
|
|
97
|
-
* });
|
|
98
|
-
* sdk.projectSync.subscribeToProject(projectId);
|
|
99
|
-
* ```
|
|
100
|
-
*
|
|
101
|
-
* @param {string} projectId ID проекта
|
|
102
|
-
* @param {number} [timeout=300000] Таймаут в миллисекундах
|
|
103
|
-
* @returns {Promise<IndexingStatus>} Бросает ошибку
|
|
104
|
-
*/
|
|
105
|
-
async waitForCompletion(projectId, timeout = 300000) {
|
|
106
|
-
throw new Error('❌ waitForCompletion() ОТКЛЮЧЕН для предотвращения polling.\n\n' +
|
|
107
|
-
'✅ ИСПОЛЬЗУЙТЕ WebSocket для real-time уведомлений:\n\n' +
|
|
108
|
-
'await sdk.connectWebSocket();\n' +
|
|
109
|
-
'sdk.projectSync.on(\'sync-status-update\', (status) => {\n' +
|
|
110
|
-
' if (status.status === \'completed\') {\n' +
|
|
111
|
-
' console.log(\'Индексация завершена!\');\n' +
|
|
112
|
-
' }\n' +
|
|
113
|
-
'});\n' +
|
|
114
|
-
'sdk.projectSync.subscribeToProject(projectId);\n\n' +
|
|
115
|
-
'📖 Подробнее: https://docs.codesolver.dev/websocket');
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Отменяет текущую индексацию проекта
|
|
119
|
-
*
|
|
120
|
-
* @param {string} projectId ID проекта
|
|
121
|
-
* @returns {Promise<void>}
|
|
122
|
-
*/
|
|
123
|
-
async cancelIndexing(projectId) {
|
|
124
|
-
this.validateProjectId(projectId);
|
|
125
|
-
await this.httpClient.post(`/api/v1/projects/${projectId}/cancel-indexing`);
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Перезапускает индексацию проекта
|
|
129
|
-
*
|
|
130
|
-
* @param {string} projectId ID проекта
|
|
131
|
-
* @returns {Promise<IndexingStatus>} Статус после перезапуска
|
|
132
|
-
*/
|
|
133
|
-
async restartIndexing(projectId) {
|
|
134
|
-
this.validateProjectId(projectId);
|
|
135
|
-
// Сначала отменяем текущую индексацию
|
|
136
|
-
try {
|
|
137
|
-
await this.cancelIndexing(projectId);
|
|
138
|
-
}
|
|
139
|
-
catch (error) {
|
|
140
|
-
// Игнорируем ошибки отмены - возможно индексация уже завершена
|
|
141
|
-
}
|
|
142
|
-
// Запускаем новую индексацию
|
|
143
|
-
const result = await this.httpClient.post(`/api/v1/projects/${projectId}/index`);
|
|
144
|
-
return {
|
|
145
|
-
status: result.status || 'started',
|
|
146
|
-
progress: 0,
|
|
147
|
-
updatedAt: new Date().toISOString()
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Валидация ID проекта
|
|
152
|
-
* @private
|
|
153
|
-
*/
|
|
154
|
-
validateProjectId(projectId) {
|
|
155
|
-
if (projectId === undefined || projectId === null) {
|
|
156
|
-
throw new Error('Project ID is required');
|
|
157
|
-
}
|
|
158
|
-
if (typeof projectId !== 'string') {
|
|
159
|
-
throw new Error('Project ID must be a string');
|
|
160
|
-
}
|
|
161
|
-
if (projectId.trim().length === 0) {
|
|
162
|
-
throw new Error('Project ID cannot be empty');
|
|
163
|
-
}
|
|
29
|
+
constructor() {
|
|
30
|
+
throw new Error(`
|
|
31
|
+
🚨 АРХИТЕКТУРНАЯ ОШИБКА: IndexingApi недоступен!
|
|
32
|
+
|
|
33
|
+
Backend SDK не должен работать с файловыми путями.
|
|
34
|
+
|
|
35
|
+
✅ ИСПОЛЬЗУЙТЕ Projects API:
|
|
36
|
+
- sdk.projects.createProject() - создание проекта
|
|
37
|
+
- sdk.projects.getIndexingStatus() - статус индексации
|
|
38
|
+
- sdk.projects.cancelIndexing() - отмена индексации
|
|
39
|
+
|
|
40
|
+
✅ ИСПОЛЬЗУЙТЕ WebSocket для real-time:
|
|
41
|
+
- sdk.connectProjectSync() - подключение
|
|
42
|
+
- sdk.onSyncProgress() - прогресс индексации
|
|
43
|
+
|
|
44
|
+
📖 Документация: https://docs.codesolver.dev/projects-api
|
|
45
|
+
`);
|
|
164
46
|
}
|
|
165
47
|
}
|
|
166
48
|
//# sourceMappingURL=indexing-api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexing-api.js","sourceRoot":"","sources":["../../../src/api/indexing-api.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"indexing-api.js","sourceRoot":"","sources":["../../../src/api/indexing-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,OAAO,WAAW;IACtB;QACE,MAAM,IAAI,KAAK,CAAC;;;;;;;;;;;;;;;KAef,CAAC,CAAC;IACL,CAAC;CACF"}
|