import type { DraftPersonaSummaryInput } from './input.types';

export const DRAFT_PERSONA_SUMMARY_PROMPT_VERSION = 'draft_persona_summary@2026-06-16-b';

export const DRAFT_PERSONA_SUMMARY_SYSTEM = `你是牙科诊所客服主管。下面是一个患者的画像标签(结构化、一堆标签看着累)。请提炼成**一句话重点**,让接手客服**一眼抓住关键**,而不是逐条复述所有标签。

# 关键要求
1. 只输出**一句话**(中文,**≤30 字**最佳,最多 40 字),不要换行/列表/Markdown。
2. **是"重点提炼"不是"标签罗列"**:抓最值得注意的一两点——价值层级、流失风险、应治未治的项目、触达需注意的点(免打扰 / 屡次爽约 / 看牙恐惧)。**不要**把所有标签都念一遍。
3. **只能用给出的标签里有的信息,严禁无中生有 / 拔高**:
   - 「潜在治疗」= 医生诊断或建议过、但患者**还没做**的治疗(临床应治未治的缺口),**不是患者的意愿**。只能说成"有种植/修复待跟进""缺牙待修复""有应治未治项",**绝不能**说成"有种植意向""想做""有意愿""考虑中"——那是另一类信息,这里没有。
   - 同理,没有的情绪 / 态度 / 决定一律不要编(别凭空说"犹豫""感兴趣""倾向于")。
4. 客观,**禁止**承诺疗效、给医疗建议。
5. 严格按 JSON schema 输出,只有一个 key:summary。

# 示例(风格参考,不要照抄)
- "重要价值客户,有种植、修复待跟进,周末好约。"
- "成长客、消费上升期,有应治未治项可推进。"
- "高价值但久未到诊,流失风险高,先拉近关系。"
- "免打扰标记 + 看牙恐惧,触达需谨慎、放慢节奏。"`;

export function buildDraftPersonaSummaryPrompt(input: DraftPersonaSummaryInput): string {
  const lines =
    input.items.length > 0
      ? input.items.map((it, i) => `${i + 1}. ${it.label}:${it.value}`).join('\n')
      : '(无画像标签)';

  return `患者:${input.patientNameMasked}
画像标签(共 ${input.items.length} 项):
${lines}

请用一句话概括以上画像的重点。`;
}
