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.
Files changed (34) hide show
  1. package/README.md +156 -84
  2. package/dist/cjs/api/indexing-api.js +38 -156
  3. package/dist/cjs/api/indexing-api.js.map +1 -1
  4. package/dist/cjs/api/projects-api.js +134 -779
  5. package/dist/cjs/api/projects-api.js.map +1 -1
  6. package/dist/cjs/code-solver-sdk.js +1 -51
  7. package/dist/cjs/code-solver-sdk.js.map +1 -1
  8. package/dist/cjs/delta-chunking/delta-chunking-manager.js +9 -178
  9. package/dist/cjs/delta-chunking/delta-chunking-manager.js.map +1 -1
  10. package/dist/cjs/delta-chunking/delta-chunking-utils.js +34 -112
  11. package/dist/cjs/delta-chunking/delta-chunking-utils.js.map +1 -1
  12. package/dist/esm/api/indexing-api.js +36 -154
  13. package/dist/esm/api/indexing-api.js.map +1 -1
  14. package/dist/esm/api/projects-api.js +133 -745
  15. package/dist/esm/api/projects-api.js.map +1 -1
  16. package/dist/esm/code-solver-sdk.js +1 -51
  17. package/dist/esm/code-solver-sdk.js.map +1 -1
  18. package/dist/esm/delta-chunking/delta-chunking-manager.js +9 -178
  19. package/dist/esm/delta-chunking/delta-chunking-manager.js.map +1 -1
  20. package/dist/esm/delta-chunking/delta-chunking-utils.js +34 -112
  21. package/dist/esm/delta-chunking/delta-chunking-utils.js.map +1 -1
  22. package/dist/types/api/indexing-api.d.ts +20 -129
  23. package/dist/types/api/indexing-api.d.ts.map +1 -1
  24. package/dist/types/api/projects-api.d.ts +36 -497
  25. package/dist/types/api/projects-api.d.ts.map +1 -1
  26. package/dist/types/code-solver-sdk.d.ts +1 -31
  27. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  28. package/dist/types/delta-chunking/delta-chunking-manager.d.ts +10 -23
  29. package/dist/types/delta-chunking/delta-chunking-manager.d.ts.map +1 -1
  30. package/dist/types/delta-chunking/delta-chunking-utils.d.ts +20 -11
  31. package/dist/types/delta-chunking/delta-chunking-utils.d.ts.map +1 -1
  32. package/dist/types/interfaces/sdk-options.d.ts +4 -4
  33. package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
  34. package/package.json +1 -1
@@ -62,94 +62,11 @@ class DeltaChunkingUtils {
62
62
  }
63
63
  }
64
64
  /**
65
- * Сканирование файлов проекта (Node.js only)
66
- */
67
- async scanProjectFiles(projectPath, options) {
68
- // Проверяем среду выполнения
69
- if (this.environment === 'browser') {
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
- const maxTokens = config.maxTokens || 400;
171
- const minTokens = config.minTokens || 100;
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
- // Простая оценка токенов (примерно 4 символа = 1 токен)
178
- const estimatedTokens = newChunkContent.length / 4;
179
- if (estimatedTokens >= maxTokens && currentChunk.length > 0) {
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
- * Расчет root hash для Merkle tree
285
- */
286
- calculateRootHash(files) {
287
- // Простой хеш от всех путей файлов и их размеров
288
- const hashInput = files
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
- // Простой хеш-функция продакшене лучше использовать crypto)
299
- let hash = 0;
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) - hash) + char;
303
- hash = hash & hash; // 32bit integer
222
+ hash = ((hash << 5) + hash) + char; // hash * 33 + char
304
223
  }
305
- return Math.abs(hash).toString(16).padStart(16, '0');
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
- const crypto = require('crypto');
353
- return crypto.createHash('sha256').update(content, 'utf8').digest('hex');
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":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMH;;GAEG;AACH,MAAa,kBAAkB;IAC7B,YACmB,QAAqB,EACrB,OAA6B,EAC7B,WAA2C,EAC3C,MAIhB;QAPgB,aAAQ,GAAR,QAAQ,CAAa;QACrB,YAAO,GAAP,OAAO,CAAsB;QAC7B,gBAAW,GAAX,WAAW,CAAgC;QAC3C,WAAM,GAAN,MAAM,CAItB;IACA,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,IAAI,CAAC;YACH,oDAAoD;YACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,8BAA8B,YAAY,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,qBAAqB,CAAC,KAAoB;QAC9C,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,SAAS,CAAC,IAAiB;QAC/B,+DAA+D;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC1D,4EAA4E;QAC5E,2DAA2D;QAE3D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,wBAAwB;QAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAE,wBAAwB;QAElE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,eAAe,GAAG,YAAY,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAEzE,2DAA2D;YAC3D,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC;YAEzC,IAAI,SAAS,IAAI,QAAQ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,oCAAoC;gBACpC,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC;wBACV,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE;wBACnC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC7C,OAAO,EAAE,YAAY;wBACrB,QAAQ,EAAE;4BACR,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;4BAC7C,SAAS;4BACT,OAAO,EAAE,CAAC;4BACV,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;4BACxC,YAAY,EAAE,YAAY,CAAC,MAAM;yBAClC;qBACF,CAAC,CAAC;gBACL,CAAC;gBAED,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,eAAe,CAAC;YACjC,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE;gBACnC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7C,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE;oBACR,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;oBAC7C,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,MAAM;oBACrB,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxC,YAAY,EAAE,YAAY,CAAC,MAAM;iBAClC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,MAAa;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;YACrD,iDAAiD;YACjD,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1B,GAAG,KAAK;gBACR,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;gBACrD,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY;gBACrC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,iBAAiB;gBAC/C,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;aACxC,CAAC,CAAC,CAAC;QACN,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,GAAG,CAAC;QAClE,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QAED,kDAAkD;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,KAAK,MAAM;YACxC,CAAC,CAAC,wDAAa,QAAQ,GAAC;YACxB,CAAC,CAAC,IAAI,CAAC,CAAC,qCAAqC;QAE/C,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACnC,yDAAyD;gBACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;gBAE1F,6DAA6D;gBAC7D,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;gBAEnC,qEAAqE;gBACrE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5B,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;gBAChC,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5B,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;gBAC1C,CAAC;gBAED,OAAO;oBACL,GAAG,KAAK;oBACR,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;oBACrD,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC7B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;iBACxC,CAAC;YACJ,CAAC;YAED,qCAAqC;YACrC,MAAM,EAAE,GAAG,MAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAO,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;YACrF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAE9C,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtD,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAEpC,OAAO;gBACL,GAAG,KAAK;gBACR,gBAAgB,EAAE,SAAS;gBAC3B,EAAE;gBACF,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;aACxC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,OAAe;QAC3B,sEAAsE;QACtE,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,mBAAmB;QACzD,CAAC;QAED,sDAAsD;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,QAAgB;QACpC,yDAAyD;QACzD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAAe;QACrC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1F,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9F,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,QAAgB;QACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QACrD,MAAM,OAAO,GAA2B;YACtC,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,MAAM;SACb,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,OAAe;QAC/B,4EAA4E;QAC5E,8EAA8E;QAC9E,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CACF;AA1QD,gDA0QC"}
@@ -1,166 +1,48 @@
1
1
  /**
2
- * 🚀 Indexing API - управление индексацией проектов
2
+ * 🚨 АРХИТЕКТУРНАЯ ОШИБКА: IndexingApi удален!
3
3
  *
4
- * Предоставляет методы для запуска, остановки и мониторинга
5
- * индексации проектов, а также получения статуса.
6
- */
7
- /**
8
- * API для управления индексацией проектов
4
+ * Backend SDK не должен работать с файловыми путями!
5
+ * Вся логика индексации перенесена в Projects API.
6
+ *
7
+ * ✅ ИСПОЛЬЗУЙТЕ вместо этого:
9
8
  *
10
- * @example
11
- * ```javascript
12
- * // Создание и индексация проекта
13
- * const result = await sdk.indexing.indexProject('/path/to/project', 'My Project');
14
- * console.log('Project ID:', result.projectId);
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.indexing.getStatus(result.projectId);
18
- * console.log('Progress:', status.progress);
15
+ * // Получение статуса индексации:
16
+ * const status = await sdk.projects.getIndexingStatus(project.id);
19
17
  *
20
- * // Ожидание завершения индексации
21
- * const finalStatus = await sdk.indexing.waitForCompletion(result.projectId);
22
- * console.log('Final status:', finalStatus.status);
18
+ * // Отмена индексации:
19
+ * await sdk.projects.cancelIndexing(project.id);
23
20
  *
24
- * // Отмена индексации
25
- * await sdk.indexing.cancelIndexing(result.projectId);
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(httpClient) {
30
- this.httpClient = httpClient;
31
- }
32
- /**
33
- * Создает проект и запускает его индексацию
34
- *
35
- * @param {string} projectPath Путь к проекту (для совместимости с тестами)
36
- * @param {string} projectName Имя проекта
37
- * @param {string} [description] Описание проекта
38
- * @returns {Promise<IndexProjectResult>} Результат создания проекта
39
- */
40
- async indexProject(projectPath, projectName, description) {
41
- // Создаем проект
42
- const createRequest = {
43
- name: projectName,
44
- description: description || `Проект из ${projectPath}`
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":"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"}
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"}