import type { Token } from '@frontmcp/di'; import type { SkillContent } from '../../common/interfaces/skill.interface'; /** * Pluggable semantic-search backend for the skills HTTP API. * * Implementations may keep their index in-memory, persist to a vector DB, or * delegate to a managed service. The SDK only ever calls these methods * through the DI token — the host owns the lifecycle. */ export interface SkillSemanticSearchProvider { /** Stable name (used in warning messages and traces). */ readonly name: string; /** * Add or replace a skill in the index. Called from * `SkillRegistry.registerSkillContent` after the in-memory state is mutated * so the index is always at least eventually consistent. */ index(skillId: string, content: SkillContent): Promise; /** * Remove a skill from the index. Called from `unregisterSkill`. */ remove(skillId: string): Promise; /** * Search for the top-K skills matching `query`. Returns sorted results * (highest score first); the HTTP flow then applies category/min-rating/ * tags/tools filters on top of these. */ search(query: string, limit: number): Promise<{ skillId: string; score: number; }[]>; /** Optional teardown hook fired on scope dispose. */ dispose?(): Promise; } /** * DI token for the host-supplied semantic-search provider. Resolved lazily * by the skills HTTP flow via `tryGet` so absent providers fall back to * text search rather than throwing. */ export declare const SkillSemanticSearchToken: Token; //# sourceMappingURL=skill-semantic-search.interface.d.ts.map