solver-sdk
Version:
SDK для интеграции с Code Solver Backend API (совместимо с браузером и Node.js), с поддержкой функциональности мышления (Thinking Mode)
50 lines • 2.35 kB
JavaScript
/**
* API для поиска кода
*/
export class SearchApi {
/**
* Создает новый экземпляр API для поиска кода
* @param {HttpClient} httpClient HTTP клиент
*/
constructor(httpClient) {
this.httpClient = httpClient;
}
/**
* Выполняет поиск кода в проекте
* @param {string} projectId Идентификатор проекта
* @param {SearchCodeParams} params Параметры поиска
* @returns {Promise<SearchResults>} Результаты поиска
*/
async searchCode(projectId, params) {
return this.httpClient.post(`/api/v1/search/project/${projectId}`, params);
}
/**
* Выполняет семантический поиск кода в проекте
* @param {string} projectId Идентификатор проекта
* @param {SearchCodeParams} params Параметры поиска
* @returns {Promise<SearchResults>} Результаты поиска
*/
async semanticSearch(projectId, params) {
return this.httpClient.post(`/api/v1/search/project/${projectId}`, { ...params, semantic: true });
}
/**
* Получает популярные поисковые запросы
* @param {string} projectId Идентификатор проекта
* @param {number} [limit=10] Лимит результатов
* @returns {Promise<string[]>} Популярные поисковые запросы
*/
async getPopularQueries(projectId, limit = 10) {
return this.httpClient.get(`/api/projects/${projectId}/popular-queries`, { limit });
}
/**
* Получает подсказки для автозаполнения поискового запроса
* @param {string} projectId Идентификатор проекта
* @param {string} query Начало поискового запроса
* @param {number} [limit=5] Лимит результатов
* @returns {Promise<string[]>} Подсказки для автозаполнения
*/
async getQuerySuggestions(projectId, query, limit = 5) {
return this.httpClient.get(`/api/projects/${projectId}/query-suggestions`, { query, limit });
}
}
//# sourceMappingURL=search-api.js.map