solver-sdk
Version:
SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system
108 lines • 3.88 kB
TypeScript
import { HttpClient } from '../utils/http-client.js';
/**
* Параметры поиска кода
*/
export interface SearchCodeParams {
/** ID проекта */
projectId?: string;
/** Поисковый запрос */
query: string;
/** Максимальное количество результатов */
limit?: number;
/** Максимальное количество результатов (альтернативное название) */
maxResults?: number;
/** Флаг семантического поиска */
semantic?: boolean;
}
/**
* Результат поиска
*/
export interface SearchResult {
/** ID результата */
id: string;
/** Оценка релевантности */
score: number;
/** Путь к файлу */
filePath: string;
/** Имя файла */
fileName: string;
/** Язык программирования */
language: string;
/** Размер файла */
size: number;
/** Дата индексации */
indexedAt?: string;
/** Содержимое (для совместимости) */
content?: string;
/** Файл (для совместимости) */
file?: string;
/** Строка (для совместимости) */
line?: number;
}
/**
* Параметры поиска функций
*/
export interface SearchFunctionsParams {
/** ID проекта */
projectId?: string;
/** Поисковый запрос */
query: string;
/** Максимальное количество результатов */
limit?: number;
/** Минимальная оценка релевантности */
minScore?: number;
}
/**
* Результат поиска функций
*/
export interface FunctionSearchResult {
/** Успешность запроса */
success: boolean;
/** Количество результатов */
resultsCount: number;
/** Тип поиска */
searchType: string;
/** Результаты поиска */
results: {
/** Название функции */
name: string;
/** Тип элемента */
elementType: string;
/** Оценка релевантности */
score: number;
/** Путь к файлу */
filePath: string;
}[];
}
/**
* API для поиска кода с использованием векторных эмбеддингов
*/
export declare class SearchApi {
private httpClient;
constructor(httpClient: HttpClient);
/**
* Поиск кода в проекте
* Поддерживает гибкую сигнатуру: projectId отдельно или в параметрах
*/
searchCode(projectIdOrParams: string | SearchCodeParams, params?: SearchCodeParams): Promise<SearchResult[]>;
/**
* Поиск функций в проекте
* Поддерживает гибкую сигнатуру: projectId отдельно или в параметрах
*/
searchFunctions(projectIdOrParams: string | SearchFunctionsParams, params?: SearchFunctionsParams): Promise<FunctionSearchResult>;
/**
* Получение статистики функций в проекте
* Пока используем поиск с большим лимитом для подсчета
*/
getFunctionStats(projectId: string): Promise<{
stats: {
totalFunctions: number;
};
}>;
/**
* Семантический поиск кода в проекте
* Псевдоним для searchCode с флагом semantic
*/
semanticSearch(projectId: string, params: Omit<SearchCodeParams, 'projectId'>): Promise<SearchResult[]>;
}
//# sourceMappingURL=search-api.d.ts.map