solver-sdk 5.1.1 → 5.1.4
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 +485 -365
- package/dist/cjs/api/indexing-api.js +182 -0
- package/dist/cjs/api/indexing-api.js.map +1 -0
- package/dist/cjs/api/projects-api.js +55 -29
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/api/search-api.js +19 -2
- package/dist/cjs/api/search-api.js.map +1 -1
- package/dist/cjs/code-solver-sdk.js +65 -6
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/utils/project-sync-client.js +284 -0
- package/dist/cjs/utils/project-sync-client.js.map +1 -0
- package/dist/esm/api/indexing-api.js +178 -0
- package/dist/esm/api/indexing-api.js.map +1 -0
- package/dist/esm/api/projects-api.js +55 -29
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/api/search-api.js +19 -2
- package/dist/esm/api/search-api.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +65 -6
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/utils/project-sync-client.js +280 -0
- package/dist/esm/utils/project-sync-client.js.map +1 -0
- package/dist/types/api/indexing-api.d.ts +131 -0
- package/dist/types/api/indexing-api.d.ts.map +1 -0
- package/dist/types/api/projects-api.d.ts +31 -2
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/api/search-api.d.ts +7 -0
- package/dist/types/api/search-api.d.ts.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +30 -1
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/interfaces/sdk-options.d.ts +16 -0
- package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
- package/dist/types/utils/project-sync-client.d.ts +142 -0
- package/dist/types/utils/project-sync-client.d.ts.map +1 -0
- package/package.json +14 -8
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🚀 Indexing API - управление индексацией проектов
|
|
3
|
+
*
|
|
4
|
+
* Предоставляет методы для запуска, остановки и мониторинга
|
|
5
|
+
* индексации проектов, а также получения статуса.
|
|
6
|
+
*/
|
|
7
|
+
import { HttpClient } from '../utils/http-client.js';
|
|
8
|
+
/**
|
|
9
|
+
* Запрос на создание и индексацию проекта
|
|
10
|
+
*/
|
|
11
|
+
export interface IndexProjectRequest {
|
|
12
|
+
/** Имя проекта */
|
|
13
|
+
name: string;
|
|
14
|
+
/** Описание проекта (опционально) */
|
|
15
|
+
description?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Результат создания и индексации проекта
|
|
19
|
+
*/
|
|
20
|
+
export interface IndexProjectResult {
|
|
21
|
+
/** ID созданного проекта */
|
|
22
|
+
projectId: string;
|
|
23
|
+
/** Имя проекта */
|
|
24
|
+
name: string;
|
|
25
|
+
/** Статус индексации */
|
|
26
|
+
status: string;
|
|
27
|
+
/** Сообщение о результате */
|
|
28
|
+
message?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Статус индексации проекта
|
|
32
|
+
*/
|
|
33
|
+
export interface IndexingStatus {
|
|
34
|
+
/** Текущий статус */
|
|
35
|
+
status: string;
|
|
36
|
+
/** Прогресс (0-100) */
|
|
37
|
+
progress: number;
|
|
38
|
+
/** Общее количество файлов */
|
|
39
|
+
totalFiles?: number;
|
|
40
|
+
/** Обработано файлов */
|
|
41
|
+
processedFiles?: number;
|
|
42
|
+
/** Текущий обрабатываемый файл */
|
|
43
|
+
currentFile?: string;
|
|
44
|
+
/** Сообщение об ошибке */
|
|
45
|
+
error?: string;
|
|
46
|
+
/** Время последнего обновления */
|
|
47
|
+
updatedAt?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* API для управления индексацией проектов
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```javascript
|
|
54
|
+
* // Создание и индексация проекта
|
|
55
|
+
* const result = await sdk.indexing.indexProject('/path/to/project', 'My Project');
|
|
56
|
+
* console.log('Project ID:', result.projectId);
|
|
57
|
+
*
|
|
58
|
+
* // Получение статуса индексации
|
|
59
|
+
* const status = await sdk.indexing.getStatus(result.projectId);
|
|
60
|
+
* console.log('Progress:', status.progress);
|
|
61
|
+
*
|
|
62
|
+
* // Ожидание завершения индексации
|
|
63
|
+
* const finalStatus = await sdk.indexing.waitForCompletion(result.projectId);
|
|
64
|
+
* console.log('Final status:', finalStatus.status);
|
|
65
|
+
*
|
|
66
|
+
* // Отмена индексации
|
|
67
|
+
* await sdk.indexing.cancelIndexing(result.projectId);
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare class IndexingApi {
|
|
71
|
+
private readonly httpClient;
|
|
72
|
+
constructor(httpClient: HttpClient);
|
|
73
|
+
/**
|
|
74
|
+
* Создает проект и запускает его индексацию
|
|
75
|
+
*
|
|
76
|
+
* @param {string} projectPath Путь к проекту (для совместимости с тестами)
|
|
77
|
+
* @param {string} projectName Имя проекта
|
|
78
|
+
* @param {string} [description] Описание проекта
|
|
79
|
+
* @returns {Promise<IndexProjectResult>} Результат создания проекта
|
|
80
|
+
*/
|
|
81
|
+
indexProject(projectPath: string, projectName: string, description?: string): Promise<IndexProjectResult>;
|
|
82
|
+
/**
|
|
83
|
+
* Получает текущий статус индексации проекта
|
|
84
|
+
*
|
|
85
|
+
* ⚠️ ВАЖНО: Для real-time уведомлений используйте WebSocket:
|
|
86
|
+
* ```typescript
|
|
87
|
+
* // Правильно (real-time):
|
|
88
|
+
* await sdk.connectWebSocket();
|
|
89
|
+
* sdk.projectSync.on('sync-status-update', (status) => {
|
|
90
|
+
* console.log('Статус обновлен:', status);
|
|
91
|
+
* });
|
|
92
|
+
*
|
|
93
|
+
* // Неправильно (не делайте polling):
|
|
94
|
+
* // setInterval(() => sdk.indexing.getStatus(id), 2000); // ❌
|
|
95
|
+
* ```
|
|
96
|
+
*
|
|
97
|
+
* @param {string} projectId ID проекта
|
|
98
|
+
* @returns {Promise<IndexingStatus>} Текущий статус индексации
|
|
99
|
+
*/
|
|
100
|
+
getStatus(projectId: string): Promise<IndexingStatus>;
|
|
101
|
+
/**
|
|
102
|
+
* Ожидает завершения индексации проекта
|
|
103
|
+
*
|
|
104
|
+
* ⚠️ DEPRECATED: Используйте WebSocket для real-time уведомлений
|
|
105
|
+
*
|
|
106
|
+
* @param {string} projectId ID проекта
|
|
107
|
+
* @param {number} [timeout=300000] Таймаут в миллисекундах (по умолчанию 5 минут)
|
|
108
|
+
* @returns {Promise<IndexingStatus>} Финальный статус индексации
|
|
109
|
+
*/
|
|
110
|
+
waitForCompletion(projectId: string, timeout?: number): Promise<IndexingStatus>;
|
|
111
|
+
/**
|
|
112
|
+
* Отменяет текущую индексацию проекта
|
|
113
|
+
*
|
|
114
|
+
* @param {string} projectId ID проекта
|
|
115
|
+
* @returns {Promise<void>}
|
|
116
|
+
*/
|
|
117
|
+
cancelIndexing(projectId: string): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Перезапускает индексацию проекта
|
|
120
|
+
*
|
|
121
|
+
* @param {string} projectId ID проекта
|
|
122
|
+
* @returns {Promise<IndexingStatus>} Статус после перезапуска
|
|
123
|
+
*/
|
|
124
|
+
restartIndexing(projectId: string): Promise<IndexingStatus>;
|
|
125
|
+
/**
|
|
126
|
+
* Валидация ID проекта
|
|
127
|
+
* @private
|
|
128
|
+
*/
|
|
129
|
+
private validateProjectId;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=indexing-api.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -55,6 +55,22 @@ export declare class ProjectsApi {
|
|
|
55
55
|
* @throws {Error} Если не удалось получить проекты или сервер вернул ошибку
|
|
56
56
|
*/
|
|
57
57
|
getAllProjects(): Promise<Project[]>;
|
|
58
|
+
/**
|
|
59
|
+
* Псевдоним для getAllProjects() для совместимости с тестами
|
|
60
|
+
*
|
|
61
|
+
* @returns {Promise<Project[]>} Массив проектов пользователя
|
|
62
|
+
*/
|
|
63
|
+
getProjects(): Promise<Project[]>;
|
|
64
|
+
/**
|
|
65
|
+
* Находит существующий проект или создает новый
|
|
66
|
+
* Для совместимости с интеграционными тестами
|
|
67
|
+
*
|
|
68
|
+
* @param {string} projectPath Путь к проекту (для совместимости)
|
|
69
|
+
* @param {string} projectName Имя проекта
|
|
70
|
+
* @param {string} [description] Описание проекта
|
|
71
|
+
* @returns {Promise<Project>} Найденный или созданный проект
|
|
72
|
+
*/
|
|
73
|
+
findOrCreateProject(projectPath: string, projectName: string, description?: string): Promise<Project>;
|
|
58
74
|
/**
|
|
59
75
|
* Получает список готовых к работе проектов
|
|
60
76
|
* @returns {Promise<Project[]>} Список готовых проектов
|
|
@@ -153,9 +169,22 @@ export declare class ProjectsApi {
|
|
|
153
169
|
success: boolean;
|
|
154
170
|
}>;
|
|
155
171
|
/**
|
|
156
|
-
* Получает статус индексации проекта
|
|
172
|
+
* Получает текущий статус индексации проекта (единичный запрос)
|
|
173
|
+
*
|
|
174
|
+
* ⚠️ ВАЖНО: Для real-time уведомлений используйте WebSocket:
|
|
175
|
+
* ```typescript
|
|
176
|
+
* // Правильно (real-time):
|
|
177
|
+
* await sdk.connectWebSocket();
|
|
178
|
+
* sdk.projectSync.on('sync-status-update', (status) => {
|
|
179
|
+
* console.log('Статус обновлен:', status);
|
|
180
|
+
* });
|
|
181
|
+
*
|
|
182
|
+
* // Неправильно (не делайте polling):
|
|
183
|
+
* // setInterval(() => sdk.projects.getIndexingStatus(id), 2000); // ❌
|
|
184
|
+
* ```
|
|
185
|
+
*
|
|
157
186
|
* @param {string} projectId Идентификатор проекта
|
|
158
|
-
* @returns {Promise<any>}
|
|
187
|
+
* @returns {Promise<any>} Текущий статус индексации (snapshot)
|
|
159
188
|
*/
|
|
160
189
|
getIndexingStatus(projectId: string): Promise<any>;
|
|
161
190
|
/**
|
|
@@ -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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"}
|
|
@@ -11,6 +11,8 @@ export interface SearchCodeParams {
|
|
|
11
11
|
limit?: number;
|
|
12
12
|
/** Максимальное количество результатов (альтернативное название) */
|
|
13
13
|
maxResults?: number;
|
|
14
|
+
/** Флаг семантического поиска */
|
|
15
|
+
semantic?: boolean;
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
16
18
|
* Результат поиска
|
|
@@ -97,5 +99,10 @@ export declare class SearchApi {
|
|
|
97
99
|
totalFunctions: number;
|
|
98
100
|
};
|
|
99
101
|
}>;
|
|
102
|
+
/**
|
|
103
|
+
* Семантический поиск кода в проекте
|
|
104
|
+
* Псевдоним для searchCode с флагом semantic
|
|
105
|
+
*/
|
|
106
|
+
semanticSearch(projectId: string, params: Omit<SearchCodeParams, 'projectId'>): Promise<SearchResult[]>;
|
|
100
107
|
}
|
|
101
108
|
//# sourceMappingURL=search-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-api.d.ts","sourceRoot":"","sources":["../../../src/api/search-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"search-api.d.ts","sourceRoot":"","sources":["../../../src/api/search-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oBAAoB;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,OAAO,EAAE;QACP,uBAAuB;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,mBAAmB;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,2BAA2B;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,mBAAmB;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;CACL;AAED;;GAEG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE1C;;;OAGG;IACG,UAAU,CACd,iBAAiB,EAAE,MAAM,GAAG,gBAAgB,EAC5C,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC;IAyD1B;;;OAGG;IACG,eAAe,CACnB,iBAAiB,EAAE,MAAM,GAAG,qBAAqB,EACjD,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC;IA2ChC;;;OAGG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE;YAAE,cAAc,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAsBzF;;;OAGG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAC1C,OAAO,CAAC,YAAY,EAAE,CAAC;CAM3B"}
|
|
@@ -3,13 +3,15 @@ import { SearchApi } from './api/search-api.js';
|
|
|
3
3
|
import { ChatApi } from './api/chat-api/index.js';
|
|
4
4
|
import { ToolsApi } from './api/tools-api.js';
|
|
5
5
|
import { UpdatesApi } from './api/updates-api.js';
|
|
6
|
+
import { IndexingApi } from './api/indexing-api.js';
|
|
6
7
|
import { CodeSolverSDKOptions } from './interfaces/sdk-options.js';
|
|
7
8
|
import { ModelsApi } from './api/models-api.js';
|
|
8
9
|
import { DeltaChunkingManager } from './delta-chunking/delta-chunking-manager.js';
|
|
9
10
|
import { SyncOptions, SyncResult, SyncStatus, FileWatcher, FileContent } from './types/delta-chunking.js';
|
|
11
|
+
import { ProjectSyncClient } from './utils/project-sync-client.js';
|
|
10
12
|
/**
|
|
11
13
|
* Основной класс SDK для работы с Code Solver API
|
|
12
|
-
* Версия
|
|
14
|
+
* Версия 5.1+ - HTTP + WebSocket для real-time уведомлений
|
|
13
15
|
*/
|
|
14
16
|
export declare class CodeSolverSDK {
|
|
15
17
|
/** Опции SDK */
|
|
@@ -20,6 +22,8 @@ export declare class CodeSolverSDK {
|
|
|
20
22
|
private readonly _projects;
|
|
21
23
|
/** API для поиска кода */
|
|
22
24
|
private readonly _search;
|
|
25
|
+
/** API для управления индексацией */
|
|
26
|
+
private readonly _indexing;
|
|
23
27
|
/** API для работы с чатом */
|
|
24
28
|
private readonly _chat;
|
|
25
29
|
/** API для работы с инструментами */
|
|
@@ -29,6 +33,7 @@ export declare class CodeSolverSDK {
|
|
|
29
33
|
/** API для работы с обновлениями */
|
|
30
34
|
private readonly _updates;
|
|
31
35
|
private _deltaManager?;
|
|
36
|
+
private _projectSyncClient?;
|
|
32
37
|
/** Среда выполнения */
|
|
33
38
|
private readonly environment;
|
|
34
39
|
/** Глобальный обработчик ошибок */
|
|
@@ -80,6 +85,11 @@ export declare class CodeSolverSDK {
|
|
|
80
85
|
* @returns {SearchApi} API для поиска кода
|
|
81
86
|
*/
|
|
82
87
|
get search(): SearchApi;
|
|
88
|
+
/**
|
|
89
|
+
* 🚀 Получение API для управления индексацией
|
|
90
|
+
* @returns {IndexingApi} API для индексации
|
|
91
|
+
*/
|
|
92
|
+
get indexing(): IndexingApi;
|
|
83
93
|
/**
|
|
84
94
|
* Получает API для работы с чатом
|
|
85
95
|
* @returns {ChatApi} API для работы с чатом
|
|
@@ -175,5 +185,24 @@ export declare class CodeSolverSDK {
|
|
|
175
185
|
* @returns {DeltaChunkingManager | undefined} Менеджер delta-chunking или undefined если отключен
|
|
176
186
|
*/
|
|
177
187
|
get deltaManager(): DeltaChunkingManager | undefined;
|
|
188
|
+
/**
|
|
189
|
+
* 🔌 Получение WebSocket клиента для project-sync уведомлений
|
|
190
|
+
* @returns {ProjectSyncClient | undefined} WebSocket клиент или undefined если не включен
|
|
191
|
+
*/
|
|
192
|
+
get projectSync(): ProjectSyncClient | undefined;
|
|
193
|
+
/**
|
|
194
|
+
* 🔌 Подключение к WebSocket для получения real-time уведомлений
|
|
195
|
+
* @returns {Promise<void>} Promise который разрешается при успешном подключении
|
|
196
|
+
*/
|
|
197
|
+
connectWebSocket(): Promise<void>;
|
|
198
|
+
/**
|
|
199
|
+
* 🔌 Отключение от WebSocket
|
|
200
|
+
*/
|
|
201
|
+
disconnectWebSocket(): void;
|
|
202
|
+
/**
|
|
203
|
+
* 🔌 Проверка статуса WebSocket подключения
|
|
204
|
+
* @returns {boolean} true если WebSocket подключен
|
|
205
|
+
*/
|
|
206
|
+
get isWebSocketConnected(): boolean;
|
|
178
207
|
}
|
|
179
208
|
//# 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;AAIhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"code-solver-sdk.d.ts","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,5 +129,21 @@ export interface CodeSolverSDKOptions {
|
|
|
129
129
|
ignorePatterns?: string[];
|
|
130
130
|
};
|
|
131
131
|
};
|
|
132
|
+
/**
|
|
133
|
+
* 🔌 НОВОЕ в v5.1.4: WebSocket конфигурация
|
|
134
|
+
* Real-time уведомления о статусе проектов (БЕЗ fallback'ов)
|
|
135
|
+
*/
|
|
136
|
+
webSocket?: {
|
|
137
|
+
/** Включить WebSocket push-уведомления (по умолчанию: true) */
|
|
138
|
+
enabled?: boolean;
|
|
139
|
+
/** Таймаут подключения в миллисекундах (по умолчанию: 10000) */
|
|
140
|
+
connectionTimeout?: number;
|
|
141
|
+
/** Максимальное количество попыток переподключения (по умолчанию: 3) */
|
|
142
|
+
maxRetries?: number;
|
|
143
|
+
/** Задержка между попытками переподключения в мс (по умолчанию: 2000) */
|
|
144
|
+
retryDelay?: number;
|
|
145
|
+
/** Включить отладочные логи WebSocket (по умолчанию: false) */
|
|
146
|
+
debug?: boolean;
|
|
147
|
+
};
|
|
132
148
|
}
|
|
133
149
|
//# sourceMappingURL=sdk-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-options.d.ts","sourceRoot":"","sources":["../../../src/interfaces/sdk-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAEnC;;OAEG;IACH,IAAI,CAAC,EAAE;QACL,uCAAuC;QACzC,OAAO,CAAC,EAAE,MAAM,CAAC;QACf,qCAAqC;QACrC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,+BAA+B;QAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;OAGG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC;IAEjB;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAE7E;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;WAEG;QACH,SAAS,CAAC,EAAE;YACV;;eAEG;YACH,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,gBAAgB,CAAC;YACtD;;eAEG;YACH,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB;;eAEG;YACH,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF;;WAEG;QACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IAEF;;;OAGG;IACH,aAAa,CAAC,EAAE;QACd,mDAAmD;QACnD,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,sDAAsD;QACtD,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,yDAAyD;QACzD,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,6DAA6D;QAC7D,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IAEF;;;OAGG;IACH,aAAa,CAAC,EAAE;QACd,gDAAgD;QAChD,OAAO,EAAE,OAAO,CAAC;QAEjB,2BAA2B;QAC3B,UAAU,CAAC,EAAE;YACX,iCAAiC;YACjC,OAAO,EAAE,OAAO,CAAC;YACjB,qCAAqC;YACrC,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QAEF,mCAAmC;QACnC,QAAQ,CAAC,EAAE;YACT,oDAAoD;YACpD,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,mDAAmD;YACnD,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,qDAAqD;YACrD,aAAa,CAAC,EAAE,OAAO,CAAC;YACxB,uCAAuC;YACvC,eAAe,CAAC,EAAE,OAAO,CAAC;SAC3B,CAAC;QAEF,oDAAoD;QACpD,YAAY,CAAC,EAAE;YACb,wDAAwD;YACxD,OAAO,EAAE,OAAO,CAAC;YACjB,4DAA4D;YAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,wCAAwC;YACxC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;SAC3B,CAAC;KACH,CAAC;CACH"}
|
|
1
|
+
{"version":3,"file":"sdk-options.d.ts","sourceRoot":"","sources":["../../../src/interfaces/sdk-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAEnC;;OAEG;IACH,IAAI,CAAC,EAAE;QACL,uCAAuC;QACzC,OAAO,CAAC,EAAE,MAAM,CAAC;QACf,qCAAqC;QACrC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,+BAA+B;QAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;OAGG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC;IAEjB;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAE7E;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;WAEG;QACH,SAAS,CAAC,EAAE;YACV;;eAEG;YACH,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,gBAAgB,CAAC;YACtD;;eAEG;YACH,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB;;eAEG;YACH,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF;;WAEG;QACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IAEF;;;OAGG;IACH,aAAa,CAAC,EAAE;QACd,mDAAmD;QACnD,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,sDAAsD;QACtD,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,yDAAyD;QACzD,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,6DAA6D;QAC7D,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IAEF;;;OAGG;IACH,aAAa,CAAC,EAAE;QACd,gDAAgD;QAChD,OAAO,EAAE,OAAO,CAAC;QAEjB,2BAA2B;QAC3B,UAAU,CAAC,EAAE;YACX,iCAAiC;YACjC,OAAO,EAAE,OAAO,CAAC;YACjB,qCAAqC;YACrC,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QAEF,mCAAmC;QACnC,QAAQ,CAAC,EAAE;YACT,oDAAoD;YACpD,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,mDAAmD;YACnD,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,qDAAqD;YACrD,aAAa,CAAC,EAAE,OAAO,CAAC;YACxB,uCAAuC;YACvC,eAAe,CAAC,EAAE,OAAO,CAAC;SAC3B,CAAC;QAEF,oDAAoD;QACpD,YAAY,CAAC,EAAE;YACb,wDAAwD;YACxD,OAAO,EAAE,OAAO,CAAC;YACjB,4DAA4D;YAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,wCAAwC;YACxC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;SAC3B,CAAC;KACH,CAAC;IAEF;;;OAGG;IACH,SAAS,CAAC,EAAE;QACV,+DAA+D;QAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;QAElB,gEAAgE;QAChE,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAE3B,wEAAwE;QACxE,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB,yEAAyE;QACzE,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB,+DAA+D;QAC/D,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🔌 Project Sync WebSocket Client
|
|
3
|
+
*
|
|
4
|
+
* Клиент для работы с real-time уведомлениями о статусе синхронизации проектов.
|
|
5
|
+
* Интегрируется с backend ProjectSyncGateway через Socket.io.
|
|
6
|
+
*
|
|
7
|
+
* @features
|
|
8
|
+
* - Real-time push notifications о статусе индексации
|
|
9
|
+
* - Auto-reconnection при разрыве соединения
|
|
10
|
+
* - Graceful fallback к REST polling
|
|
11
|
+
* - TypeScript поддержка для всех событий
|
|
12
|
+
*/
|
|
13
|
+
export interface JoinProjectSyncDto {
|
|
14
|
+
projectId: string;
|
|
15
|
+
userId?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface SyncStatusUpdate {
|
|
18
|
+
projectId: string;
|
|
19
|
+
sessionId: string;
|
|
20
|
+
status: 'initializing' | 'processing' | 'completed' | 'failed' | 'cancelled';
|
|
21
|
+
progress?: number;
|
|
22
|
+
message?: string;
|
|
23
|
+
timestamp: Date;
|
|
24
|
+
chunksProcessed?: number;
|
|
25
|
+
totalChunks?: number;
|
|
26
|
+
embeddingsCreated?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface SyncProgressEvent {
|
|
29
|
+
projectId: string;
|
|
30
|
+
sessionId: string;
|
|
31
|
+
stage: 'receiving_chunks' | 'processing_chunks' | 'creating_embeddings' | 'updating_tree' | 'finalizing';
|
|
32
|
+
progress: number;
|
|
33
|
+
currentChunk?: number;
|
|
34
|
+
totalChunks?: number;
|
|
35
|
+
estimatedTimeRemaining?: number;
|
|
36
|
+
details?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface SyncCompletedEvent {
|
|
39
|
+
projectId: string;
|
|
40
|
+
sessionId: string;
|
|
41
|
+
status: 'success' | 'failed' | 'cancelled';
|
|
42
|
+
totalProcessed: number;
|
|
43
|
+
duration: number;
|
|
44
|
+
errors?: string[];
|
|
45
|
+
warnings?: string[];
|
|
46
|
+
statistics?: {
|
|
47
|
+
filesIndexed: number;
|
|
48
|
+
embeddingsCreated: number;
|
|
49
|
+
chunksProcessed: number;
|
|
50
|
+
totalSize: number;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export interface ErrorEvent {
|
|
54
|
+
projectId: string;
|
|
55
|
+
sessionId?: string;
|
|
56
|
+
error: string;
|
|
57
|
+
code: string;
|
|
58
|
+
timestamp: Date;
|
|
59
|
+
recoverable: boolean;
|
|
60
|
+
}
|
|
61
|
+
export type SyncEventHandler<T> = (data: T) => void;
|
|
62
|
+
export type EventType = 'sync-status-update' | 'sync-progress' | 'sync-completed' | 'error' | 'connected' | 'disconnected';
|
|
63
|
+
/**
|
|
64
|
+
* Опции для ProjectSyncClient
|
|
65
|
+
*/
|
|
66
|
+
export interface ProjectSyncClientOptions {
|
|
67
|
+
/** Базовый URL backend сервера */
|
|
68
|
+
baseURL: string;
|
|
69
|
+
/** Заголовки аутентификации */
|
|
70
|
+
headers?: Record<string, string>;
|
|
71
|
+
/** Таймаут подключения (мс) */
|
|
72
|
+
connectionTimeout?: number;
|
|
73
|
+
/** Максимальное количество попыток переподключения */
|
|
74
|
+
maxRetries?: number;
|
|
75
|
+
/** Задержка между попытками переподключения (мс) */
|
|
76
|
+
retryDelay?: number;
|
|
77
|
+
/** Включить отладочные логи */
|
|
78
|
+
debug?: boolean;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* 🔌 WebSocket клиент для project sync уведомлений
|
|
82
|
+
*/
|
|
83
|
+
export declare class ProjectSyncClient {
|
|
84
|
+
private socket;
|
|
85
|
+
private readonly baseURL;
|
|
86
|
+
private readonly options;
|
|
87
|
+
private connected;
|
|
88
|
+
private retryCount;
|
|
89
|
+
private reconnectTimer;
|
|
90
|
+
private subscribedProjects;
|
|
91
|
+
private eventHandlers;
|
|
92
|
+
/**
|
|
93
|
+
* Logger для отладки
|
|
94
|
+
*/
|
|
95
|
+
private logger;
|
|
96
|
+
constructor(options: ProjectSyncClientOptions);
|
|
97
|
+
/**
|
|
98
|
+
* 🔌 Подключение к WebSocket
|
|
99
|
+
*/
|
|
100
|
+
connect(): Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* ❌ Отключение от WebSocket
|
|
103
|
+
*/
|
|
104
|
+
disconnect(): void;
|
|
105
|
+
/**
|
|
106
|
+
* 📡 Подписка на проект для получения уведомлений
|
|
107
|
+
*/
|
|
108
|
+
subscribeToProject(projectId: string, userId?: string): void;
|
|
109
|
+
/**
|
|
110
|
+
* 📡 Отписка от проекта
|
|
111
|
+
*/
|
|
112
|
+
unsubscribeFromProject(projectId: string): void;
|
|
113
|
+
/**
|
|
114
|
+
* 👂 Подписка на события
|
|
115
|
+
*/
|
|
116
|
+
on<T>(event: EventType, handler: SyncEventHandler<T>): void;
|
|
117
|
+
/**
|
|
118
|
+
* 👂 Отписка от событий
|
|
119
|
+
*/
|
|
120
|
+
off<T>(event: EventType, handler: SyncEventHandler<T>): void;
|
|
121
|
+
/**
|
|
122
|
+
* 📢 Эмиссия событий
|
|
123
|
+
*/
|
|
124
|
+
private emit;
|
|
125
|
+
/**
|
|
126
|
+
* 🔧 Настройка обработчиков событий от backend
|
|
127
|
+
*/
|
|
128
|
+
private setupEventHandlers;
|
|
129
|
+
/**
|
|
130
|
+
* 🔄 Планирование переподключения
|
|
131
|
+
*/
|
|
132
|
+
private scheduleReconnect;
|
|
133
|
+
/**
|
|
134
|
+
* 🔍 Проверка статуса подключения
|
|
135
|
+
*/
|
|
136
|
+
get isConnected(): boolean;
|
|
137
|
+
/**
|
|
138
|
+
* 📋 Список подписанных проектов
|
|
139
|
+
*/
|
|
140
|
+
get subscribedProjectIds(): string[];
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=project-sync-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-sync-client.d.ts","sourceRoot":"","sources":["../../../src/utils/project-sync-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solver-sdk",
|
|
3
|
-
"version": "5.1.
|
|
4
|
-
"description": "SDK для
|
|
3
|
+
"version": "5.1.4",
|
|
4
|
+
"description": "🚀 Официальный JavaScript/TypeScript SDK для Code Solver API - современная платформа для анализа кода с WebSocket поддержкой и delta-chunking синхронизацией",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
7
7
|
"types": "dist/types/index.d.ts",
|
|
@@ -57,18 +57,23 @@
|
|
|
57
57
|
"prepublishOnly": "npm run build"
|
|
58
58
|
},
|
|
59
59
|
"keywords": [
|
|
60
|
-
"
|
|
60
|
+
"code-solver",
|
|
61
61
|
"code-analysis",
|
|
62
|
+
"ai-assistant",
|
|
62
63
|
"code-search",
|
|
64
|
+
"semantic-search",
|
|
65
|
+
"vector-search",
|
|
63
66
|
"sdk",
|
|
64
|
-
"anthropic",
|
|
65
|
-
"claude",
|
|
66
67
|
"typescript",
|
|
67
68
|
"javascript",
|
|
69
|
+
"websocket",
|
|
70
|
+
"real-time",
|
|
71
|
+
"delta-chunking",
|
|
72
|
+
"indexing",
|
|
73
|
+
"embeddings",
|
|
74
|
+
"developer-tools",
|
|
68
75
|
"node",
|
|
69
76
|
"browser",
|
|
70
|
-
"http",
|
|
71
|
-
"rest",
|
|
72
77
|
"api"
|
|
73
78
|
],
|
|
74
79
|
"author": "Code Solver Team",
|
|
@@ -76,7 +81,8 @@
|
|
|
76
81
|
"dependencies": {
|
|
77
82
|
"axios": "^1.7.9",
|
|
78
83
|
"event-source-polyfill": "^1.0.31",
|
|
79
|
-
"node-fetch": "^3.3.2"
|
|
84
|
+
"node-fetch": "^3.3.2",
|
|
85
|
+
"socket.io-client": "^4.7.5"
|
|
80
86
|
},
|
|
81
87
|
"devDependencies": {
|
|
82
88
|
"@babel/core": "^7.24.0",
|