UNPKG

endfield-mcp

Version:

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

77 lines (76 loc) • 3.06 kB
/** * Worldview document reading — single PRTS item and wiki entry reads. * * The "read" half of the worldview domain, mirroring `storyScenes.ts`'s role: * turn a content id into a fully-resolved, human-readable document. This is * where the TextTable bridge gets exercised — `resolveContent()` walks * contentId → TextTable → i18n to produce the body text. * * Depends on `./worldviewCore.js` for catalog loaders and content resolution. */ /** A fully-resolved PRTS document, ready for tool output. */ export interface LoreDocumentView { itemId: string; /** Resolved display title. */ title: string; /** Resolved body text (may be "" for multimedia without transcripts). */ body: string; /** Content kind: document / record / multi_media / text. */ type: string; /** Owning first-level group id. */ firstLvId: string; /** Owning category id (derived via the group). */ categoryId: string; order: number; /** Resolved description, or "" if absent. */ description: string; } /** A fully-resolved wiki entry, ready for tool output. */ export interface WikiEntryView { entryId: string; /** Owning group id. */ groupId: string; /** Resolved group display name (looked up via the category→group tree). */ groupName: string; /** Associated PRTS document id (the lore cross-link), if any. */ prtsId: string | null; order: number; /** Resolved description, or "" if absent. */ description: string; /** Reference into ItemTable (mechanics; surfaced verbatim, not resolved). */ refItemId: string | null; /** Reference into EnemyTemplateTable (mechanics; surfaced verbatim). */ refMonsterTemplateId: string | null; } /** Reset the private caches. Called by the barrel orchestrator on sync. */ export declare function clearDocumentCaches(): void; /** * Read a single PRTS narrative item by id. * * Returns `null` when the id is unknown. The body text is resolved through * the TextTable bridge (contentId → hash → i18n). */ export declare function readLoreDocument(itemId: string): LoreDocumentView | null; /** * List the narrative items belonging to a first-level group. * * Items are returned in their upstream `order`. Useful for browsing a * multi-document group in sequence. */ export declare function listItemsByGroup(firstLvId: string): LoreDocumentView[]; /** * Read a wiki entry by id, with its group name resolved. * * Returns `null` when the id is unknown. The `prtsId` cross-link is surfaced * verbatim so the caller can feed it to `ef_read_lore_document` for the * associated lore text. */ export declare function readWikiEntry(entryId: string): WikiEntryView | null; /** * Reverse-lookup: which wiki entries point at a given PRTS document? * * Used by `ef_read_lore_document` to surface "this document is referenced by * these wiki entries". Returns entry ids only (the caller can expand them * via `readWikiEntry` if needed). */ export declare function wikiEntriesForPrts(prtsId: string): string[];