UNPKG

endfield-mcp

Version:

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

66 lines (65 loc) • 2.29 kB
/** * Character domain — operations facade (list / get / search projections). * * Thin layer over `./characterTable.js` (table cache + resolver) and * `./characterEnums.js` (profession/charType/weaponType display names). * Produces tool-friendly shapes (`CharacterListItem`, `CharacterInfo`) * with names resolved through `./texts.ts` so callers get actual strings, * not int64 hashes. * * Lifecycle + resolver symbols (`bindCharacterStore`, `clearCharacterCaches`, * `resolveCharacterEntry`, `CharacterEntry`) are re-exported from * `./characterTable.js` so existing consumers (server, startupSync, * characterProfiles, tests, smoke scripts) keep importing from * `./characters.js` unchanged. */ import { type LanguageCode } from "./texts.js"; export { bindCharacterStore, clearCharacterCaches, resolveCharacterEntry, } from "./characterTable.js"; export type { CharacterEntry } from "./characterTable.js"; /** Compact summary for list views. */ export interface CharacterListItem { id: string; name: string; engName: string; profession: string; rarity: number; charType: string; department: string; } /** Detailed view for per-character lookup. */ export interface CharacterInfo { id: string; name: string; engName: string; phoneticName: string; profession: string; professionCode: number; rarity: number; department: string; charType: string; weaponType: string; weaponTypeCode: number; cvNames: { chinese: string; english: string; japanese: string; korean: string; }; sortOrder: number; defaultWeaponId: string; } /** List all characters with default-language names resolved. */ export declare function listCharacters(lang?: LanguageCode): CharacterListItem[]; export declare function getCharacterInfo(idOrName: string, lang?: LanguageCode): CharacterInfo | null; /** * Regex search across names and key fields. * * Searches resolved names (CN + engName), charId, profession, department, * and charType. Returns compact matches with a snippet showing where the * pattern hit. */ export declare function searchCharacters(pattern: string, maxResults?: number, lang?: LanguageCode): Array<{ id: string; name: string; snippet: string; }>;