// 意图识别相关类型定义
export interface IntentResult {
  intent: string;
  confidence: number;
  entities?: Record<string, any>;
  suggestedAgent?: string;
  metadata?: Record<string, any>;
}

// 预定义意图类型
export enum IntentType {
  // 商品相关
  PRODUCT_INQUIRY = 'product_inquiry',           // 商品咨询
  PRODUCT_RECOMMENDATION = 'product_recommendation', // 商品推荐
  PRODUCT_COMPARISON = 'product_comparison',     // 商品比较
  PRICE_INQUIRY = 'price_inquiry',              // 价格咨询
  
  // 订单相关
  ORDER_STATUS = 'order_status',                // 订单状态查询
  ORDER_CANCEL = 'order_cancel',               // 取消订单
  ORDER_MODIFY = 'order_modify',               // 修改订单
  
  // 售后相关
  AFTER_SALES = 'after_sales',                 // 售后服务
  RETURN_REFUND = 'return_refund',             // 退货退款
  WARRANTY = 'warranty',                       // 保修服务
  COMPLAINT = 'complaint',                     // 投诉建议
  
  // 物流相关
  SHIPPING_INQUIRY = 'shipping_inquiry',       // 物流查询
  DELIVERY_TIME = 'delivery_time',             // 配送时间
  
  // 账户相关
  ACCOUNT_INFO = 'account_info',               // 账户信息
  PASSWORD_RESET = 'password_reset',           // 密码重置
  
  // 支付相关
  PAYMENT_ISSUE = 'payment_issue',             // 支付问题
  REFUND_STATUS = 'refund_status',             // 退款状态
  
  // 通用
  GREETING = 'greeting',                       // 问候
  HELP = 'help',                              // 帮助
  GENERAL_INQUIRY = 'general_inquiry',         // 一般咨询
  UNKNOWN = 'unknown'                         // 未知意图
}

// 意图与Agent的映射关系
export const INTENT_AGENT_MAPPING: Record<string, string> = {
  [IntentType.PRODUCT_INQUIRY]: 'shopping',
  [IntentType.PRODUCT_RECOMMENDATION]: 'shopping',
  [IntentType.PRODUCT_COMPARISON]: 'shopping',
  [IntentType.PRICE_INQUIRY]: 'shopping',
  
  [IntentType.ORDER_STATUS]: 'service',
  [IntentType.ORDER_CANCEL]: 'service',
  [IntentType.ORDER_MODIFY]: 'service',
  [IntentType.AFTER_SALES]: 'service',
  [IntentType.RETURN_REFUND]: 'service',
  [IntentType.WARRANTY]: 'service',
  [IntentType.COMPLAINT]: 'service',
  [IntentType.SHIPPING_INQUIRY]: 'service',
  [IntentType.DELIVERY_TIME]: 'service',
  [IntentType.PAYMENT_ISSUE]: 'service',
  [IntentType.REFUND_STATUS]: 'service',
  
  [IntentType.ACCOUNT_INFO]: 'general',
  [IntentType.PASSWORD_RESET]: 'general',
  [IntentType.GREETING]: 'general',
  [IntentType.HELP]: 'general',
  [IntentType.GENERAL_INQUIRY]: 'general',
  [IntentType.UNKNOWN]: 'general'
};

// 意图检测的关键词映射（作为备用方案）
export const INTENT_KEYWORDS: Record<string, string[]> = {
  [IntentType.PRODUCT_INQUIRY]: [
    '产品', '商品', '介绍', '功能', '参数', '规格', '详情',
    '这个怎么样', '好不好', '质量', '材质', '尺寸',
  ],
  [IntentType.PRODUCT_RECOMMENDATION]: [
    '推荐', '建议', '什么好', '哪个好', '选择', '比较好',
    '帮我挑', '有没有推荐', '求推荐', '想买', '买什么',
  ],
  [IntentType.PRODUCT_COMPARISON]: [
    '对比', '比较', '区别', '差异', '哪个更好',
    '和...比', '跟...比', '有什么不同', '选哪个',
  ],
  [IntentType.PRICE_INQUIRY]: [
    '价格', '多少钱', '费用', '成本', '优惠', '折扣',
    '什么价', '卖多少', '便宜', '贵不贵', '活动价',
  ],
  
  [IntentType.ORDER_STATUS]: [
    '订单', '状态', '进度', '到哪了', '什么时候',
    '查订单', '我的订单', '订单号', '物流进度',
  ],
  [IntentType.ORDER_CANCEL]: [
    '取消订单', '不要了', '退订',
    '取消', '不想买了', '撤销订单',
  ],
  [IntentType.ORDER_MODIFY]: [
    '修改订单', '改地址', '换商品',
    '修改地址', '改电话', '改收货人',
  ],
  
  [IntentType.AFTER_SALES]: [
    '售后', '客服', '服务',
    '售后问题', '找客服', '联系客服', '投诉',
  ],
  [IntentType.RETURN_REFUND]: [
    '退货', '退款', '退钱', '不要了',
    '申请退款', '想退货', '退货退款', '7天无理由',
  ],
  [IntentType.WARRANTY]: [
    '保修', '维修', '坏了', '故障',
    '质保', '保修期', '修一下', '出问题了', '不工作了',
  ],
  [IntentType.COMPLAINT]: [
    '投诉', '抱怨', '意见', '建议',
    '不满意', '有问题', '太差了', '体验差',
  ],
  
  [IntentType.SHIPPING_INQUIRY]: [
    '物流', '快递', '配送', '发货',
    '什么快递', '快递单号', '物流信息', '发了吗',
  ],
  [IntentType.DELIVERY_TIME]: [
    '什么时候到', '几天到货', '配送时间',
    '多久能到', '几天发货', '今天能到吗',
  ],
  
  [IntentType.ACCOUNT_INFO]: [
    '账户', '个人信息', '资料',
    '我的信息', '账号', '修改信息',
  ],
  [IntentType.PASSWORD_RESET]: [
    '密码', '忘记密码', '重置',
    '改密码', '修改密码', '找回密码',
  ],
  
  [IntentType.PAYMENT_ISSUE]: [
    '支付', '付款', '扣款', '银行卡',
    '付不了', '支付失败', '怎么付款', '微信支付', '支付宝',
  ],
  [IntentType.REFUND_STATUS]: [
    '退款状态', '退款进度', '钱什么时候到',
    '退款多久', '退到哪里', '退款到账',
  ],
  
  [IntentType.GREETING]: [
    '你好', '您好', 'hi', 'hello', '早上好', '下午好',
    '晚上好', '嗨', '哈喽', '在吗', '请问', 'hey',
  ],
  [IntentType.HELP]: [
    '帮助', '怎么用', '如何', '教程',
    '使用说明', '操作指南', '新手', '怎么操作',
  ],
  [IntentType.GENERAL_INQUIRY]: [
    '咨询', '询问', '请问',
    '想了解', '问一下', '麻烦问下',
  ],
};