solver-sdk 2.8.0 → 3.1.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 +200 -368
- package/dist/cjs/api/chat-api/index.js +23 -49
- package/dist/cjs/api/chat-api/index.js.map +1 -1
- package/dist/cjs/api/chat-api/interfaces.js +1 -0
- package/dist/cjs/api/chat-api/interfaces.js.map +1 -1
- package/dist/cjs/api/context-api.js +6 -1
- package/dist/cjs/api/context-api.js.map +1 -1
- package/dist/cjs/api/models-api.js +43 -60
- package/dist/cjs/api/models-api.js.map +1 -1
- package/dist/cjs/api/projects-api.js +63 -293
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/api/search-api.js +131 -8
- package/dist/cjs/api/search-api.js.map +1 -1
- package/dist/cjs/code-solver-sdk.js +68 -322
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/index.js +3 -19
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/logger.js +4 -4
- package/dist/cjs/utils/logger.js.map +1 -1
- package/dist/esm/api/chat-api/index.js +22 -48
- package/dist/esm/api/chat-api/index.js.map +1 -1
- package/dist/esm/api/chat-api/interfaces.js +1 -0
- package/dist/esm/api/chat-api/interfaces.js.map +1 -1
- package/dist/esm/api/context-api.js +6 -1
- package/dist/esm/api/context-api.js.map +1 -1
- package/dist/esm/api/models-api.js +43 -60
- package/dist/esm/api/models-api.js.map +1 -1
- package/dist/esm/api/projects-api.js +63 -293
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/api/search-api.js +131 -8
- package/dist/esm/api/search-api.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +68 -322
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/index.js +2 -18
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/logger.js +3 -3
- package/dist/esm/utils/logger.js.map +1 -1
- package/dist/types/api/chat-api/index.d.ts +1 -13
- package/dist/types/api/chat-api/index.d.ts.map +1 -1
- package/dist/types/api/chat-api/interfaces.d.ts +6 -54
- package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
- package/dist/types/api/chat-api/models.d.ts +3 -26
- package/dist/types/api/chat-api/models.d.ts.map +1 -1
- package/dist/types/api/context-api.d.ts.map +1 -1
- package/dist/types/api/models-api.d.ts +31 -62
- package/dist/types/api/models-api.d.ts.map +1 -1
- package/dist/types/api/projects-api.d.ts +47 -126
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/api/search-api.d.ts +147 -6
- package/dist/types/api/search-api.d.ts.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +36 -86
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -14
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces/sdk-options.d.ts +18 -66
- package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
- package/dist/types/utils/logger.d.ts +3 -3
- package/dist/types/utils/logger.d.ts.map +1 -1
- package/docs/README.md +53 -37
- package/docs/VSCODE_INTEGRATION.md +208 -371
- package/docs/indexing/INDEXING.md +658 -335
- package/package.json +26 -23
- package/dist/cjs/api/agents-api.js +0 -94
- package/dist/cjs/api/agents-api.js.map +0 -1
- package/dist/cjs/api/chat-api/websocket-helpers.js +0 -211
- package/dist/cjs/api/chat-api/websocket-helpers.js.map +0 -1
- package/dist/cjs/api/dependencies-api.js +0 -286
- package/dist/cjs/api/dependencies-api.js.map +0 -1
- package/dist/cjs/constants/websocket-events.constants.js +0 -170
- package/dist/cjs/constants/websocket-events.constants.js.map +0 -1
- package/dist/cjs/constants/websocket-namespaces.constants.js +0 -22
- package/dist/cjs/constants/websocket-namespaces.constants.js.map +0 -1
- package/dist/cjs/interfaces/websocket/callbacks.interfaces.js +0 -3
- package/dist/cjs/interfaces/websocket/callbacks.interfaces.js.map +0 -1
- package/dist/cjs/interfaces/websocket/client-options.interfaces.js +0 -3
- package/dist/cjs/interfaces/websocket/client-options.interfaces.js.map +0 -1
- package/dist/cjs/interfaces/websocket/events.interfaces.js +0 -3
- package/dist/cjs/interfaces/websocket/events.interfaces.js.map +0 -1
- package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js +0 -42
- package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js.map +0 -1
- package/dist/cjs/simple-indexing-client.js +0 -138
- package/dist/cjs/simple-indexing-client.js.map +0 -1
- package/dist/cjs/utils/code-solver-websocket-client.js +0 -497
- package/dist/cjs/utils/code-solver-websocket-client.js.map +0 -1
- package/dist/cjs/utils/connection-state-manager.js +0 -133
- package/dist/cjs/utils/connection-state-manager.js.map +0 -1
- package/dist/cjs/utils/indexing-websocket-client.js +0 -107
- package/dist/cjs/utils/indexing-websocket-client.js.map +0 -1
- package/dist/cjs/utils/session-manager.js +0 -114
- package/dist/cjs/utils/session-manager.js.map +0 -1
- package/dist/cjs/utils/simple-connection-monitor.js +0 -52
- package/dist/cjs/utils/simple-connection-monitor.js.map +0 -1
- package/dist/cjs/utils/websocket-client.js +0 -638
- package/dist/cjs/utils/websocket-client.js.map +0 -1
- package/dist/cjs/ws/base-ws-client.js +0 -280
- package/dist/cjs/ws/base-ws-client.js.map +0 -1
- package/dist/cjs/ws/dependencies-ws-client.js +0 -11
- package/dist/cjs/ws/dependencies-ws-client.js.map +0 -1
- package/dist/cjs/ws/file-editing-ws-client.js +0 -162
- package/dist/cjs/ws/file-editing-ws-client.js.map +0 -1
- package/dist/cjs/ws/filesystem-ws-client.js +0 -305
- package/dist/cjs/ws/filesystem-ws-client.js.map +0 -1
- package/dist/cjs/ws/indexing-ws-client.js +0 -275
- package/dist/cjs/ws/indexing-ws-client.js.map +0 -1
- package/dist/cjs/ws/notifications-ws-client.js +0 -12
- package/dist/cjs/ws/notifications-ws-client.js.map +0 -1
- package/dist/esm/api/agents-api.js +0 -90
- package/dist/esm/api/agents-api.js.map +0 -1
- package/dist/esm/api/chat-api/websocket-helpers.js +0 -205
- package/dist/esm/api/chat-api/websocket-helpers.js.map +0 -1
- package/dist/esm/api/dependencies-api.js +0 -282
- package/dist/esm/api/dependencies-api.js.map +0 -1
- package/dist/esm/constants/websocket-events.constants.js +0 -167
- package/dist/esm/constants/websocket-events.constants.js.map +0 -1
- package/dist/esm/constants/websocket-namespaces.constants.js +0 -19
- package/dist/esm/constants/websocket-namespaces.constants.js.map +0 -1
- package/dist/esm/interfaces/websocket/callbacks.interfaces.js +0 -2
- package/dist/esm/interfaces/websocket/callbacks.interfaces.js.map +0 -1
- package/dist/esm/interfaces/websocket/client-options.interfaces.js +0 -2
- package/dist/esm/interfaces/websocket/client-options.interfaces.js.map +0 -1
- package/dist/esm/interfaces/websocket/events.interfaces.js +0 -2
- package/dist/esm/interfaces/websocket/events.interfaces.js.map +0 -1
- package/dist/esm/interfaces/websocket/vscode-command.interfaces.js +0 -39
- package/dist/esm/interfaces/websocket/vscode-command.interfaces.js.map +0 -1
- package/dist/esm/simple-indexing-client.js +0 -134
- package/dist/esm/simple-indexing-client.js.map +0 -1
- package/dist/esm/utils/code-solver-websocket-client.js +0 -492
- package/dist/esm/utils/code-solver-websocket-client.js.map +0 -1
- package/dist/esm/utils/connection-state-manager.js +0 -129
- package/dist/esm/utils/connection-state-manager.js.map +0 -1
- package/dist/esm/utils/indexing-websocket-client.js +0 -103
- package/dist/esm/utils/indexing-websocket-client.js.map +0 -1
- package/dist/esm/utils/session-manager.js +0 -109
- package/dist/esm/utils/session-manager.js.map +0 -1
- package/dist/esm/utils/simple-connection-monitor.js +0 -48
- package/dist/esm/utils/simple-connection-monitor.js.map +0 -1
- package/dist/esm/utils/websocket-client.js +0 -634
- package/dist/esm/utils/websocket-client.js.map +0 -1
- package/dist/esm/ws/base-ws-client.js +0 -276
- package/dist/esm/ws/base-ws-client.js.map +0 -1
- package/dist/esm/ws/dependencies-ws-client.js +0 -7
- package/dist/esm/ws/dependencies-ws-client.js.map +0 -1
- package/dist/esm/ws/file-editing-ws-client.js +0 -158
- package/dist/esm/ws/file-editing-ws-client.js.map +0 -1
- package/dist/esm/ws/filesystem-ws-client.js +0 -301
- package/dist/esm/ws/filesystem-ws-client.js.map +0 -1
- package/dist/esm/ws/indexing-ws-client.js +0 -271
- package/dist/esm/ws/indexing-ws-client.js.map +0 -1
- package/dist/esm/ws/notifications-ws-client.js +0 -8
- package/dist/esm/ws/notifications-ws-client.js.map +0 -1
- package/dist/types/api/agents-api.d.ts +0 -141
- package/dist/types/api/agents-api.d.ts.map +0 -1
- package/dist/types/api/chat-api/websocket-helpers.d.ts +0 -40
- package/dist/types/api/chat-api/websocket-helpers.d.ts.map +0 -1
- package/dist/types/api/dependencies-api.d.ts +0 -109
- package/dist/types/api/dependencies-api.d.ts.map +0 -1
- package/dist/types/constants/websocket-events.constants.d.ts +0 -144
- package/dist/types/constants/websocket-events.constants.d.ts.map +0 -1
- package/dist/types/constants/websocket-namespaces.constants.d.ts +0 -17
- package/dist/types/constants/websocket-namespaces.constants.d.ts.map +0 -1
- package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts +0 -30
- package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts.map +0 -1
- package/dist/types/interfaces/websocket/client-options.interfaces.d.ts +0 -51
- package/dist/types/interfaces/websocket/client-options.interfaces.d.ts.map +0 -1
- package/dist/types/interfaces/websocket/events.interfaces.d.ts +0 -165
- package/dist/types/interfaces/websocket/events.interfaces.d.ts.map +0 -1
- package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts +0 -56
- package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts.map +0 -1
- package/dist/types/simple-indexing-client.d.ts +0 -66
- package/dist/types/simple-indexing-client.d.ts.map +0 -1
- package/dist/types/utils/code-solver-websocket-client.d.ts +0 -144
- package/dist/types/utils/code-solver-websocket-client.d.ts.map +0 -1
- package/dist/types/utils/connection-state-manager.d.ts +0 -94
- package/dist/types/utils/connection-state-manager.d.ts.map +0 -1
- package/dist/types/utils/indexing-websocket-client.d.ts +0 -123
- package/dist/types/utils/indexing-websocket-client.d.ts.map +0 -1
- package/dist/types/utils/session-manager.d.ts +0 -98
- package/dist/types/utils/session-manager.d.ts.map +0 -1
- package/dist/types/utils/simple-connection-monitor.d.ts +0 -26
- package/dist/types/utils/simple-connection-monitor.d.ts.map +0 -1
- package/dist/types/utils/websocket-client.d.ts +0 -233
- package/dist/types/utils/websocket-client.d.ts.map +0 -1
- package/dist/types/ws/base-ws-client.d.ts +0 -119
- package/dist/types/ws/base-ws-client.d.ts.map +0 -1
- package/dist/types/ws/dependencies-ws-client.d.ts +0 -6
- package/dist/types/ws/dependencies-ws-client.d.ts.map +0 -1
- package/dist/types/ws/file-editing-ws-client.d.ts +0 -85
- package/dist/types/ws/file-editing-ws-client.d.ts.map +0 -1
- package/dist/types/ws/filesystem-ws-client.d.ts +0 -201
- package/dist/types/ws/filesystem-ws-client.d.ts.map +0 -1
- package/dist/types/ws/indexing-ws-client.d.ts +0 -94
- package/dist/types/ws/indexing-ws-client.d.ts.map +0 -1
- package/dist/types/ws/notifications-ws-client.d.ts +0 -5
- package/dist/types/ws/notifications-ws-client.d.ts.map +0 -1
- package/docs/ARCHITECTURE.md +0 -268
- package/docs/QUICK_START.md +0 -126
- package/docs/WEBSOCKET.md +0 -472
|
@@ -11,21 +11,52 @@ export class SearchApi {
|
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Выполняет поиск кода в проекте
|
|
14
|
-
* @param {string}
|
|
15
|
-
* @param {SearchCodeParams} params Параметры поиска
|
|
14
|
+
* @param {string | SearchCodeParams} projectIdOrParams Идентификатор проекта или объект с параметрами
|
|
15
|
+
* @param {SearchCodeParams} [params] Параметры поиска (если первый параметр - projectId)
|
|
16
16
|
* @returns {Promise<SearchResults>} Результаты поиска
|
|
17
17
|
*/
|
|
18
|
-
async searchCode(
|
|
19
|
-
|
|
18
|
+
async searchCode(projectIdOrParams, params) {
|
|
19
|
+
let projectId;
|
|
20
|
+
let searchParams;
|
|
21
|
+
if (typeof projectIdOrParams === 'string') {
|
|
22
|
+
// Старый интерфейс: searchCode(projectId, params)
|
|
23
|
+
projectId = projectIdOrParams;
|
|
24
|
+
searchParams = params || { query: '' };
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
// Новый интерфейс: searchCode({projectId, query, ...})
|
|
28
|
+
searchParams = projectIdOrParams;
|
|
29
|
+
projectId = searchParams.projectId || '';
|
|
30
|
+
if (!projectId) {
|
|
31
|
+
throw new Error('Project ID is required');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (!searchParams.query) {
|
|
35
|
+
throw new Error('Search query is required');
|
|
36
|
+
}
|
|
37
|
+
// Нормализуем параметры - используем limit вместо maxResults
|
|
38
|
+
const normalizedParams = {
|
|
39
|
+
...searchParams,
|
|
40
|
+
limit: searchParams.limit || searchParams.maxResults || 10
|
|
41
|
+
};
|
|
42
|
+
// Убираем projectId из тела запроса
|
|
43
|
+
const { projectId: _, ...bodyParams } = normalizedParams;
|
|
44
|
+
return this.httpClient.post(`/api/v1/search/project/${projectId}`, bodyParams);
|
|
20
45
|
}
|
|
21
46
|
/**
|
|
22
47
|
* Выполняет семантический поиск кода в проекте
|
|
23
|
-
* @param {string}
|
|
24
|
-
* @param {SearchCodeParams} params Параметры поиска
|
|
48
|
+
* @param {string | SearchCodeParams} projectIdOrParams Идентификатор проекта или объект с параметрами
|
|
49
|
+
* @param {SearchCodeParams} [params] Параметры поиска (если первый параметр - projectId)
|
|
25
50
|
* @returns {Promise<SearchResults>} Результаты поиска
|
|
26
51
|
*/
|
|
27
|
-
async semanticSearch(
|
|
28
|
-
|
|
52
|
+
async semanticSearch(projectIdOrParams, params) {
|
|
53
|
+
// Переиспользуем логику searchCode, добавляя semantic: true
|
|
54
|
+
if (typeof projectIdOrParams === 'string') {
|
|
55
|
+
return this.searchCode(projectIdOrParams, { ...params, semantic: true });
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
return this.searchCode({ ...projectIdOrParams, semantic: true });
|
|
59
|
+
}
|
|
29
60
|
}
|
|
30
61
|
/**
|
|
31
62
|
* Получает популярные поисковые запросы
|
|
@@ -46,5 +77,97 @@ export class SearchApi {
|
|
|
46
77
|
async getQuerySuggestions(projectId, query, limit = 5) {
|
|
47
78
|
return this.httpClient.get(`/api/projects/${projectId}/query-suggestions`, { query, limit });
|
|
48
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Выполняет поиск функций в проекте
|
|
82
|
+
* @param {string | SearchFunctionsParams} projectIdOrParams Идентификатор проекта или объект с параметрами
|
|
83
|
+
* @param {SearchFunctionsParams} [params] Параметры поиска (если первый параметр - projectId)
|
|
84
|
+
* @returns {Promise<FunctionSearchResults>} Результаты поиска функций
|
|
85
|
+
*/
|
|
86
|
+
async searchFunctions(projectIdOrParams, params) {
|
|
87
|
+
let projectId;
|
|
88
|
+
let searchParams;
|
|
89
|
+
if (typeof projectIdOrParams === 'string') {
|
|
90
|
+
// Старый интерфейс: searchFunctions(projectId, params)
|
|
91
|
+
projectId = projectIdOrParams;
|
|
92
|
+
searchParams = params || { query: '' };
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// Новый интерфейс: searchFunctions({projectId, query, ...})
|
|
96
|
+
searchParams = projectIdOrParams;
|
|
97
|
+
projectId = searchParams.projectId || '';
|
|
98
|
+
if (!projectId) {
|
|
99
|
+
throw new Error('Project ID is required');
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (!searchParams.query) {
|
|
103
|
+
throw new Error('Search query is required');
|
|
104
|
+
}
|
|
105
|
+
// Убираем projectId из тела запроса
|
|
106
|
+
const { projectId: _, ...bodyParams } = searchParams;
|
|
107
|
+
return this.httpClient.post(`/api/v1/search/functions/project/${projectId}/search`, bodyParams);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Выполняет поиск функций в проекте (GET версия)
|
|
111
|
+
* @param {string} projectId Идентификатор проекта
|
|
112
|
+
* @param {string} query Поисковый запрос
|
|
113
|
+
* @param {object} [options] Дополнительные опции
|
|
114
|
+
* @returns {Promise<FunctionSearchResults>} Результаты поиска функций
|
|
115
|
+
*/
|
|
116
|
+
async searchFunctionsGet(projectId, query, options = {}) {
|
|
117
|
+
if (!projectId) {
|
|
118
|
+
throw new Error('Project ID is required');
|
|
119
|
+
}
|
|
120
|
+
if (!query) {
|
|
121
|
+
throw new Error('Search query is required');
|
|
122
|
+
}
|
|
123
|
+
const queryParams = new URLSearchParams();
|
|
124
|
+
queryParams.append('query', query);
|
|
125
|
+
if (options.limit)
|
|
126
|
+
queryParams.append('limit', options.limit.toString());
|
|
127
|
+
if (options.minScore)
|
|
128
|
+
queryParams.append('minScore', options.minScore.toString());
|
|
129
|
+
if (options.elementType)
|
|
130
|
+
queryParams.append('elementType', options.elementType);
|
|
131
|
+
if (options.language)
|
|
132
|
+
queryParams.append('language', options.language);
|
|
133
|
+
return this.httpClient.get(`/api/v1/search/functions/project/${projectId}/search?${queryParams.toString()}`);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Получает статистику функций проекта
|
|
137
|
+
* @param {string} projectId Идентификатор проекта
|
|
138
|
+
* @returns {Promise<FunctionStats>} Статистика функций
|
|
139
|
+
*/
|
|
140
|
+
async getFunctionStats(projectId) {
|
|
141
|
+
if (!projectId) {
|
|
142
|
+
throw new Error('Project ID is required');
|
|
143
|
+
}
|
|
144
|
+
return this.httpClient.get(`/api/v1/search/functions/project/${projectId}/stats`);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Запускает индексирование функций проекта
|
|
148
|
+
* @param {string} projectId Идентификатор проекта
|
|
149
|
+
* @returns {Promise<object>} Результат индексирования
|
|
150
|
+
*/
|
|
151
|
+
async indexProjectFunctions(projectId) {
|
|
152
|
+
if (!projectId) {
|
|
153
|
+
throw new Error('Project ID is required');
|
|
154
|
+
}
|
|
155
|
+
return this.httpClient.post(`/api/v1/search/functions/project/${projectId}/index`, {});
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Переиндексирует функции файла
|
|
159
|
+
* @param {string} projectId Идентификатор проекта
|
|
160
|
+
* @param {string} fileId Идентификатор файла
|
|
161
|
+
* @returns {Promise<object>} Результат переиндексирования
|
|
162
|
+
*/
|
|
163
|
+
async reindexFileFunctions(projectId, fileId) {
|
|
164
|
+
if (!projectId) {
|
|
165
|
+
throw new Error('Project ID is required');
|
|
166
|
+
}
|
|
167
|
+
if (!fileId) {
|
|
168
|
+
throw new Error('File ID is required');
|
|
169
|
+
}
|
|
170
|
+
return this.httpClient.post(`/api/v1/search/functions/project/${projectId}/file/${fileId}/reindex`, {});
|
|
171
|
+
}
|
|
49
172
|
}
|
|
50
173
|
//# sourceMappingURL=search-api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-api.js","sourceRoot":"","sources":["../../../src/api/search-api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-api.js","sourceRoot":"","sources":["../../../src/api/search-api.ts"],"names":[],"mappings":"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"}
|