/** * jamf_docs_search tool * Search Jamf documentation for articles matching a query. */ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import type { ServerContext } from '../types/context.js'; import type { ProductId, TopicId } from '../constants.js'; /** * Worked examples surfaced in TOOL_DESCRIPTION to nudge LLMs toward * (query + filter) combinations that maximise recall. * * Typing `product` as `ProductId` and `topic` as `TopicId` makes the compiler * reject any ID that does not exist in JAMF_PRODUCTS / JAMF_TOPICS. The * `SEARCH_EXAMPLES are valid` test in search-examples.test.ts is the runtime * belt-and-braces guard. */ interface SearchExample { /** Plain-English query an admin might ask */ label: string; /** Search keywords passed as `query` */ query: string; /** Optional product filter */ product?: ProductId; /** Optional topic filter */ topic?: TopicId; /** Optional page (used for the pagination demo) */ page?: number; } export declare const SEARCH_EXAMPLES: readonly SearchExample[]; export declare const TOOL_DESCRIPTION: string; export declare function registerSearchTool(server: McpServer, ctx: ServerContext): void; export {}; //# sourceMappingURL=search.d.ts.map