UNPKG

endfield-mcp

Version:

MCP Server for Arknights: Endfield (TypeScript / stdio + Streamable HTTP)

36 lines (35 loc) • 1.54 kB
/** * Worldview full-text search. * * Unlike the story domain (which ships a pre-built `search.json` of 9271 * scenes), the worldview corpus is small (~414 PRTS items) and its body * text requires the TextTable bridge to resolve. So instead of a shipped * index, we build the search corpus **eagerly at first query**: for each * PRTS item, concatenate its resolved title + body into one searchable * string. At ~414 items this is well under 100ms and avoids a mirror-side * build step (one less thing to keep in sync). * * Search is regex (case-insensitive), matching the story domain's contract. * Invalid patterns degrade to literal substring matching, same as story. * * Depends on `./worldviewCore.js` for the item catalog and content resolution. */ /** Reset the search corpus. Called by the barrel orchestrator on sync. */ export declare function clearWorldviewSearchCache(): void; /** A search hit: the matching item id, its type, and a context snippet. */ export interface WorldviewSearchHit { itemId: string; /** Content kind: document / record / multi_media / text. */ type: string; /** Resolved title of the matched item. */ title: string; /** Snippet around the first match. */ snippet: string; } /** * Full-text search across all PRTS documents. * * Searches each item's resolved title + body. Returns hits with a snippet * around the first match, capped at `maxResults`. */ export declare function searchWorldview(pattern: string, maxResults?: number): WorldviewSearchHit[];