import { FLOW_FUNCTION_DOCUMENTATION } from './flow'; import { NPC_FUNCTION_DOCUMENTATION } from './npc'; import { PANEL_FUNCTION_DOCUMENTATION } from './panel'; import { STATE_FUNCTION_DEFINITIONS, STATE_FUNCTION_DOCUMENTATION, STATE_FUNCTION_PROMPT_DESCRIPTIONS, STATE_FUNCTION_SOURCES, } from './state'; import { TREASURE_FUNCTION_DOCUMENTATION } from './treasure'; import type { FunctionDocumentationEntry } from './types'; export * from './flow/campTravelHomeScene'; export * from './flow/storyContinueAdventure'; export * from './flow/storyOpeningCampDialogue'; export * from './npc/npcChat'; export * from './npc/npcChatQuestOffer'; export * from './npc/npcFight'; export * from './npc/npcGift'; export * from './npc/npcHelp'; export * from './npc/npcLeave'; export * from './npc/npcPreviewTalk'; export * from './npc/npcQuestAccept'; export * from './npc/npcQuestTurnIn'; export * from './npc/npcRecruit'; export * from './npc/npcSpar'; export * from './npc/npcTrade'; export * from './panel/equipmentEquip'; export * from './panel/equipmentUnequip'; export * from './panel/forgeCraft'; export * from './panel/forgeDismantle'; export * from './panel/forgeReforge'; export * from './panel/inventoryUse'; export * from './runtimeIndex'; export * from './state'; export * from './treasure/treasureInspect'; export * from './treasure/treasureLeave'; export * from './treasure/treasureSecure'; export * from './types'; export const ALL_FUNCTION_DOCUMENTATION: FunctionDocumentationEntry[] = [ ...STATE_FUNCTION_DOCUMENTATION, ...NPC_FUNCTION_DOCUMENTATION, ...TREASURE_FUNCTION_DOCUMENTATION, ...FLOW_FUNCTION_DOCUMENTATION, ...PANEL_FUNCTION_DOCUMENTATION, ]; export const ALL_FUNCTION_DOCUMENTATION_MAP = new Map( ALL_FUNCTION_DOCUMENTATION.map((entry) => [entry.id, entry]), ); export function getFunctionDocumentationById(functionId: string) { return ALL_FUNCTION_DOCUMENTATION_MAP.get(functionId) ?? null; } export { STATE_FUNCTION_DEFINITIONS, STATE_FUNCTION_DOCUMENTATION, STATE_FUNCTION_PROMPT_DESCRIPTIONS, STATE_FUNCTION_SOURCES, };