/**
 * AI 入口页 / AI 对话页共用的交互演示文案与上下文。
 * 保证从入口 Hero 发送、模板卡、对话页欢迎 chip 进入会话后，走同一套模拟编排。
 */

export const CHAT_DEMO_PLATFORM_NAME = '体验与服务';

/** 从 AI 入口页 handoff 进入二级页时的 send source，用于开启自动演示编排 */
export const CHAT_HOME_HANDOFF_SOURCES = [
  'chat-home-handoff',
  'chat-home-hero-send',
  'chat-home-template-card',
];

export function isChatHomeHandoffDemo(ctx = {}) {
  const source = typeof ctx?.source === 'string' ? ctx.source : '';
  return CHAT_HOME_HANDOFF_SOURCES.includes(source);
}

/** 与 AI 对话页欢迎态快捷 chip 共用 */
export const CHAT_DEMO_PROMPT_SUGGESTIONS = [
  '整理抖音电商售后退换货政策',
  '分析智能会话场景近 7 天解决率',
  '生成 AB 实验方案',
];

/** 入口页模板网格首推示意（与截图场景一致） */
export const CHAT_DEMO_FEATURED_TEMPLATE_TITLE = '智能服务近7天趋势分析';

const AFTER_SALES_DEMO_CONTEXT = {
  account: '抖音电商客服账号 · after_sales_prod',
  environment: '生产环境 / AI Workflow v13',
  mock: '近 7 天售后会话样本 240 条',
  conclusion: '上一轮已完成售后政策口径梳理，并沉淀可继续追问的结论摘要。',
  artifacts: [
    '抖音电商客服售后退换货政策说明与统一答复口径网页',
    '售后规则解析代码',
    '退换货判责对照表',
  ],
};

/** 按首条用户输入切换演示上下文（精确匹配 trim 后文案） */
export const CHAT_DEMO_STARTER_CONTEXT_BY_PROMPT = {
  '整理抖音电商售后退换货政策': AFTER_SALES_DEMO_CONTEXT,
  '分析智能会话场景近 7 天解决率': {
    account: '智能会话运营账号 · resolution_insight',
    environment: '生产环境 / 会话分析 Workflow v6',
    mock: '近 7 天智能会话解决率样本 1,842 条',
    conclusion: '待输出解决率波动归因与优化建议。',
    artifacts: ['智能会话解决率周报', '场景对比表'],
  },
  '生成 AB 实验方案': {
    account: '增长实验账号 · ab_lab',
    environment: '预发环境 / 实验编排 Workflow v4',
    mock: '近 14 天策略实验历史 36 组',
    conclusion: '待生成可灰度放量的 AB 实验草案。',
    artifacts: ['AB 实验方案', '指标看板配置'],
  },
  [CHAT_DEMO_FEATURED_TEMPLATE_TITLE]: {
    account: '智能服务运营账号 · service_insight',
    environment: '生产环境 / 趋势分析 Workflow v5',
    mock: '近 7 天智能服务核心指标与渠道样本',
    conclusion: '待基于当前需求输出趋势总结报告。',
    artifacts: ['智能服务近7天趋势分析报告', '渠道来源分布表'],
  },
};

export function resolveChatDemoStarterContext(text, fallbackContext = AFTER_SALES_DEMO_CONTEXT) {
  const key = String(text || '').trim();
  if (!key) return { ...fallbackContext };
  return {
    ...fallbackContext,
    ...(CHAT_DEMO_STARTER_CONTEXT_BY_PROMPT[key] || {}),
  };
}
