"use client"; import { useMemo, useRef } from "react"; import type { App } from "@/lib/types"; /** * 解析 app.app_config(可能是 JSON 字符串或对象)。 * completion-ui / workflow-ui / agent-ui 共用。 */ export function useAppConfig(app: App): Record { return useMemo(() => { try { if (typeof app.app_config === "string") return JSON.parse(app.app_config); return app.app_config || {}; } catch { return {}; } }, [app.app_config]); } /** * 解析 app.suggested_prompts(可能是 JSON 字符串或数组)。 * chatbot-ui / agent-ui 共用。 */ export function useSuggestedPrompts(app: App): string[] { return useRef( (() => { try { if (typeof app.suggested_prompts === "string") return JSON.parse(app.suggested_prompts) as string[]; return (app.suggested_prompts as string[]) || []; } catch { return []; } })(), ).current; }