solver-sdk
Version:
SDK для интеграции с Code Solver Backend API
92 lines • 3.84 kB
TypeScript
import { HttpClient } from '../utils/http-client.js';
/**
* Параметры поиска кода
*/
export interface SearchCodeParams {
/** Поисковый запрос */
query: string;
/** Лимит результатов */
limit?: number;
/** Смещение для пагинации */
offset?: number;
/** Фильтр по расширениям файлов */
fileExtensions?: string[];
/** Паттерны для включения файлов */
includePatterns?: string[];
/** Паттерны для исключения файлов */
excludePatterns?: string[];
}
/**
* Результат поиска кода
*/
export interface SearchResult {
/** Идентификатор результата */
id: string;
/** Путь к файлу */
filePath: string;
/** Относительный путь к файлу */
relativePath: string;
/** Язык программирования */
language: string;
/** Начальная строка совпадения */
startLine: number;
/** Конечная строка совпадения */
endLine: number;
/** Фрагмент кода с совпадением */
snippet: string;
/** Релевантность результата (0-100) */
score: number;
}
/**
* Результаты поиска кода
*/
export interface SearchResults {
/** Результаты поиска */
results: SearchResult[];
/** Общее количество найденных результатов */
total: number;
/** Время выполнения запроса в мс */
time: number;
}
/**
* API для поиска кода
*/
export declare class SearchApi {
/** HTTP клиент */
private readonly httpClient;
/**
* Создает новый экземпляр API для поиска кода
* @param {HttpClient} httpClient HTTP клиент
*/
constructor(httpClient: HttpClient);
/**
* Выполняет поиск кода в проекте
* @param {string} projectId Идентификатор проекта
* @param {SearchCodeParams} params Параметры поиска
* @returns {Promise<SearchResults>} Результаты поиска
*/
searchCode(projectId: string, params: SearchCodeParams): Promise<SearchResults>;
/**
* Выполняет семантический поиск кода в проекте
* @param {string} projectId Идентификатор проекта
* @param {SearchCodeParams} params Параметры поиска
* @returns {Promise<SearchResults>} Результаты поиска
*/
semanticSearch(projectId: string, params: SearchCodeParams): Promise<SearchResults>;
/**
* Получает популярные поисковые запросы
* @param {string} projectId Идентификатор проекта
* @param {number} [limit=10] Лимит результатов
* @returns {Promise<string[]>} Популярные поисковые запросы
*/
getPopularQueries(projectId: string, limit?: number): Promise<string[]>;
/**
* Получает подсказки для автозаполнения поискового запроса
* @param {string} projectId Идентификатор проекта
* @param {string} query Начало поискового запроса
* @param {number} [limit=5] Лимит результатов
* @returns {Promise<string[]>} Подсказки для автозаполнения
*/
getQuerySuggestions(projectId: string, query: string, limit?: number): Promise<string[]>;
}
//# sourceMappingURL=search-api.d.ts.map