solver-sdk 5.1.4 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -91,9 +91,6 @@ getProject(projectId: string): Promise<Project | null>
91
91
  // Поиск или создание проекта
92
92
  findOrCreateProject(projectPath: string, projectName: string, description?: string): Promise<Project>
93
93
 
94
- // Удаление проекта
95
- deleteProject(projectId: string): Promise<void>
96
-
97
94
  // Получение статуса индексации проекта
98
95
  getIndexingStatus(projectId: string): Promise<any>
99
96
  ```
@@ -128,11 +125,10 @@ const project = await sdk.projects.findOrCreateProject(
128
125
  // Создание проекта и запуск индексации
129
126
  indexProject(projectPath: string, projectName: string, description?: string): Promise<IndexProjectResult>
130
127
 
131
- // Получение статуса индексации (с кэшированием)
128
+ // Получение статуса индексации
132
129
  getStatus(projectId: string): Promise<IndexingStatus>
133
130
 
134
- // Ожидание завершения индексации (DEPRECATED - используйте WebSocket)
135
- waitForCompletion(projectId: string, timeout?: number): Promise<IndexingStatus>
131
+ // ОТКЛЮЧЕН: waitForCompletion() - используйте WebSocket!
136
132
 
137
133
  // Отмена индексации
138
134
  cancelIndexing(projectId: string): Promise<void>
@@ -401,11 +397,8 @@ sdk.projectSync.on('sync-progress', (progress) => {
401
397
  // Отправка сообщения
402
398
  sendMessage(messages: Message[], options?: ChatOptions): Promise<ChatResponse>
403
399
 
404
- // Потоковый чат
400
+ // Потоковый чат
405
401
  streamChat(messages: Message[], options?: StreamChatOptions): AsyncGenerator<ChatChunk>
406
-
407
- // Чат с контекстом проекта
408
- chatWithContext(projectId: string, message: string, options?: ChatOptions): Promise<ChatResponse>
409
402
  ```
410
403
 
411
404
  #### Примеры использования
@@ -426,36 +419,27 @@ const stream = sdk.chat.streamChat([
426
419
  for await (const chunk of stream) {
427
420
  process.stdout.write(chunk.choices[0]?.delta?.content || '');
428
421
  }
429
-
430
- // Чат с контекстом проекта
431
- const contextResponse = await sdk.chat.chatWithContext(
432
- 'project-id',
433
- 'Найди баги в моем коде'
434
- );
435
422
  ```
436
423
 
437
- ## 🛡️ Безопасность и Лимиты
438
-
439
- SDK автоматически обрабатывает rate limiting и кэширование:
440
-
441
- ### Rate Limits
442
- - **Indexing Status**: 5 запросов/минуту (используйте WebSocket для real-time)
443
- - **Projects**: 30 запросов/минуту
444
- - **Global**: 10/сек, 100/мин, 1000/час
424
+ ## 💡 Рекомендации по использованию
445
425
 
446
- ### Кэширование
447
- - **Indexing Status**: 10 секунд TTL
448
- - **Projects**: 30 секунд TTL
426
+ ### Real-time уведомления
427
+ Для получения актуальных данных в реальном времени используйте WebSocket:
449
428
 
450
- ### Рекомендации
451
429
  ```javascript
452
430
  // ✅ Правильно: WebSocket для real-time статуса
453
- sdk.projectSync.on('sync-status-update', callback);
431
+ await sdk.connectWebSocket();
432
+ sdk.projectSync.on('sync-status-update', (status) => {
433
+ console.log(`Статус: ${status.status}, прогресс: ${status.progress}%`);
434
+ });
454
435
 
455
- // ❌ Неправильно: Polling статуса
436
+ // ❌ Избегайте частых REST запросов
456
437
  // setInterval(() => sdk.indexing.getStatus(id), 2000);
457
438
  ```
458
439
 
440
+ ### Обработка лимитов
441
+ SDK автоматически обрабатывает ограничения сервера. При превышении лимитов возвращается ошибка 429.
442
+
459
443
  ## 🔧 Обработка ошибок
460
444
 
461
445
  ```javascript
@@ -465,7 +449,7 @@ try {
465
449
  if (error.status === 401) {
466
450
  console.error('Неверный API ключ');
467
451
  } else if (error.status === 429) {
468
- console.error('Превышен rate limit');
452
+ console.error('Слишком много запросов, попробуйте позже');
469
453
  } else {
470
454
  console.error('Ошибка API:', error.message);
471
455
  }
@@ -573,7 +557,19 @@ sdk.projectSync.on('sync-status-update', (status) => {
573
557
 
574
558
  ## 📝 Changelog
575
559
 
576
- ### v5.1.3 (Latest)
560
+ ### v5.2.0 (Latest) - КРИТИЧЕСКИЕ ИСПРАВЛЕНИЯ
561
+ - 🚨 **ОТКЛЮЧЕН waitForCompletion()** - предотвращение polling
562
+ - 🛡️ **Усилен rate limiting** статуса (2 запроса/минуту)
563
+ - ✅ **Принудительное использование WebSocket** для real-time уведомлений
564
+ - 📖 **Обновлена документация** с четкими инструкциями
565
+
566
+ ### v5.1.5
567
+ - ✅ Исправлена документация - убраны детали внутренней реализации
568
+ - ✅ Удалены несуществующие методы из документации
569
+ - ✅ Сосредоточено только на пользовательском API
570
+
571
+ ### v5.1.4
572
+ - ✅ Полная документация всех API методов
577
573
  - ✅ Добавлен `IndexingApi` для управления индексацией
578
574
  - ✅ Добавлен `ProjectSyncClient` для WebSocket уведомлений
579
575
  - ✅ Исправлена генерация URL в `SearchApi`
@@ -586,7 +582,7 @@ sdk.projectSync.on('sync-status-update', (status) => {
586
582
  - 🚀 Полная переработка архитектуры
587
583
  - 🔌 WebSocket поддержка для real-time уведомлений
588
584
  - 🔄 Delta-chunking для эффективной синхронизации
589
- - 🛡️ Встроенное rate limiting и кэширование
585
+ - 🛡️ Автоматическая обработка лимитов сервера
590
586
 
591
587
  ## 📞 Поддержка
592
588
 
@@ -600,4 +596,4 @@ MIT License - см. [LICENSE](LICENSE) файл.
600
596
 
601
597
  ---
602
598
 
603
- **🚀 Code Solver SDK v5.1.3** - Создано с ❤️ для разработчиков
599
+ **🚀 Code Solver SDK v5.2.0** - Создано с ❤️ для разработчиков
@@ -88,46 +88,34 @@ class IndexingApi {
88
88
  };
89
89
  }
90
90
  /**
91
- * Ожидает завершения индексации проекта
91
+ * ⚠️ DEPRECATED: Метод отключен. Используйте WebSocket для real-time уведомлений
92
92
  *
93
- * ⚠️ DEPRECATED: Используйте WebSocket для real-time уведомлений
93
+ * @deprecated Используйте WebSocket подход:
94
+ * ```typescript
95
+ * await sdk.connectWebSocket();
96
+ * sdk.projectSync.on('sync-status-update', (status) => {
97
+ * if (status.status === 'completed') {
98
+ * console.log('Индексация завершена!');
99
+ * }
100
+ * });
101
+ * sdk.projectSync.subscribeToProject(projectId);
102
+ * ```
94
103
  *
95
104
  * @param {string} projectId ID проекта
96
- * @param {number} [timeout=300000] Таймаут в миллисекундах (по умолчанию 5 минут)
97
- * @returns {Promise<IndexingStatus>} Финальный статус индексации
105
+ * @param {number} [timeout=300000] Таймаут в миллисекундах
106
+ * @returns {Promise<IndexingStatus>} Бросает ошибку
98
107
  */
99
108
  async waitForCompletion(projectId, timeout = 300000) {
100
- this.validateProjectId(projectId);
101
- const startTime = Date.now();
102
- const pollInterval = 2000; // 2 секунды
103
- return new Promise((resolve, reject) => {
104
- const checkStatus = async () => {
105
- try {
106
- const status = await this.getStatus(projectId);
107
- // Проверяем завершение
108
- if (status.status === 'completed' || status.status === 'complete') {
109
- resolve(status);
110
- return;
111
- }
112
- // Проверяем ошибку
113
- if (status.status === 'failed' || status.status === 'error') {
114
- resolve(status);
115
- return;
116
- }
117
- // Проверяем таймаут
118
- if (Date.now() - startTime > timeout) {
119
- reject(new Error(`Таймаут ожидания завершения индексации (${timeout}ms)`));
120
- return;
121
- }
122
- // Продолжаем ожидание
123
- setTimeout(checkStatus, pollInterval);
124
- }
125
- catch (error) {
126
- reject(error);
127
- }
128
- };
129
- checkStatus();
130
- });
109
+ throw new Error('❌ waitForCompletion() ОТКЛЮЧЕН для предотвращения polling.\n\n' +
110
+ '✅ ИСПОЛЬЗУЙТЕ WebSocket для real-time уведомлений:\n\n' +
111
+ 'await sdk.connectWebSocket();\n' +
112
+ 'sdk.projectSync.on(\'sync-status-update\', (status) => {\n' +
113
+ ' if (status.status === \'completed\') {\n' +
114
+ ' console.log(\'Индексация завершена!\');\n' +
115
+ ' }\n' +
116
+ '});\n' +
117
+ 'sdk.projectSync.subscribeToProject(projectId);\n\n' +
118
+ '📖 Подробнее: https://docs.codesolver.dev/websocket');
131
119
  }
132
120
  /**
133
121
  * Отменяет текущую индексацию проекта
@@ -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":"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"}
@@ -85,46 +85,34 @@ export class IndexingApi {
85
85
  };
86
86
  }
87
87
  /**
88
- * Ожидает завершения индексации проекта
88
+ * ⚠️ DEPRECATED: Метод отключен. Используйте WebSocket для real-time уведомлений
89
89
  *
90
- * ⚠️ DEPRECATED: Используйте WebSocket для real-time уведомлений
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
+ * ```
91
100
  *
92
101
  * @param {string} projectId ID проекта
93
- * @param {number} [timeout=300000] Таймаут в миллисекундах (по умолчанию 5 минут)
94
- * @returns {Promise<IndexingStatus>} Финальный статус индексации
102
+ * @param {number} [timeout=300000] Таймаут в миллисекундах
103
+ * @returns {Promise<IndexingStatus>} Бросает ошибку
95
104
  */
96
105
  async waitForCompletion(projectId, timeout = 300000) {
97
- this.validateProjectId(projectId);
98
- const startTime = Date.now();
99
- const pollInterval = 2000; // 2 секунды
100
- return new Promise((resolve, reject) => {
101
- const checkStatus = async () => {
102
- try {
103
- const status = await this.getStatus(projectId);
104
- // Проверяем завершение
105
- if (status.status === 'completed' || status.status === 'complete') {
106
- resolve(status);
107
- return;
108
- }
109
- // Проверяем ошибку
110
- if (status.status === 'failed' || status.status === 'error') {
111
- resolve(status);
112
- return;
113
- }
114
- // Проверяем таймаут
115
- if (Date.now() - startTime > timeout) {
116
- reject(new Error(`Таймаут ожидания завершения индексации (${timeout}ms)`));
117
- return;
118
- }
119
- // Продолжаем ожидание
120
- setTimeout(checkStatus, pollInterval);
121
- }
122
- catch (error) {
123
- reject(error);
124
- }
125
- };
126
- checkStatus();
127
- });
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');
128
116
  }
129
117
  /**
130
118
  * Отменяет текущую индексацию проекта
@@ -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":"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"}
@@ -99,13 +99,22 @@ export declare class IndexingApi {
99
99
  */
100
100
  getStatus(projectId: string): Promise<IndexingStatus>;
101
101
  /**
102
- * Ожидает завершения индексации проекта
102
+ * ⚠️ DEPRECATED: Метод отключен. Используйте WebSocket для real-time уведомлений
103
103
  *
104
- * ⚠️ DEPRECATED: Используйте WebSocket для real-time уведомлений
104
+ * @deprecated Используйте WebSocket подход:
105
+ * ```typescript
106
+ * await sdk.connectWebSocket();
107
+ * sdk.projectSync.on('sync-status-update', (status) => {
108
+ * if (status.status === 'completed') {
109
+ * console.log('Индексация завершена!');
110
+ * }
111
+ * });
112
+ * sdk.projectSync.subscribeToProject(projectId);
113
+ * ```
105
114
  *
106
115
  * @param {string} projectId ID проекта
107
- * @param {number} [timeout=300000] Таймаут в миллисекундах (по умолчанию 5 минут)
108
- * @returns {Promise<IndexingStatus>} Финальный статус индексации
116
+ * @param {number} [timeout=300000] Таймаут в миллисекундах
117
+ * @returns {Promise<IndexingStatus>} Бросает ошибку
109
118
  */
110
119
  waitForCompletion(projectId: string, timeout?: number): Promise<IndexingStatus>;
111
120
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"indexing-api.d.ts","sourceRoot":"","sources":["../../../src/api/indexing-api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,UAAU,EAAE,UAAU;IAIlC;;;;;;;OAOG;IACG,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAoB9B;;;;;;;;;;;;;;;;;OAiBG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB3D;;;;;;;;OAQG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,MAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAyC7F;;;;;OAKG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtD;;;;;OAKG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAoBjE;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAa1B"}
1
+ {"version":3,"file":"indexing-api.d.ts","sourceRoot":"","sources":["../../../src/api/indexing-api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,UAAU,EAAE,UAAU;IAIlC;;;;;;;OAOG;IACG,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAoB9B;;;;;;;;;;;;;;;;;OAiBG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB3D;;;;;;;;;;;;;;;;;OAiBG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,MAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAe7F;;;;;OAKG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtD;;;;;OAKG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAoBjE;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAa1B"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "solver-sdk",
3
- "version": "5.1.4",
4
- "description": "🚀 Официальный JavaScript/TypeScript SDK для Code Solver API - современная платформа для анализа кода с WebSocket поддержкой и delta-chunking синхронизацией",
3
+ "version": "5.2.0",
4
+ "description": "SDK for API integration",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
7
7
  "types": "dist/types/index.d.ts",