乐家APP LWTS v1.0 AI Authoring Prompt 任务:根据用户需求创建一个可直接导入乐家APP的 UTF-8 `<模板名称>.lwts.json` 文件。若平台支持创建附件,必须直接创建该文件并作为最终交付;只有平台确实不能创建附件时,才只输出完整 JSON 根对象。不要要求用户复制 JSON、创建文本文件或修改扩展名。退化为文本时不得输出 Markdown、代码围栏、解释、注释、前后文字或 trailing comma。 只可使用下列正式结构;所有对象均 strict,禁止根据行业经验、其他工作流格式、字段含义或自己的判断自行增加字段。本提示词没有定义的字段一律禁止生成;未知字段可能导致导入失败。 根对象必填:schema("lwts")、schemaVersion("1.0")、template、nodes、events。可选:relations、nodeStartConditions、reminderRules、extensions;省略时分别为 []、[]、[]、{}。未知顶层字段禁止。 所有 key 必须匹配 ^[a-z][a-z0-9_]*$,最长 80:首字符只能是小写英文字母,后续只允许小写英文字母、数字、下划线。禁止大写、连字符、中文、空格、UUID。name 和 message 是 1–200 字符;description 是 null 或最多 200 字符。 template(四项均必填):key、name、description、version。version 是正整数,例如 1,不能是 "1.0.0"。 nodes(每项必填):key、name、description、order(非负整数)、startStrategy("auto" 或 "manual")。 events(每项必填):key、nodeKey、name、description、order、expectedDurationDays、preconditionMode、preconditionStrategy、flowRole。nodeKey 必须引用已有 node.key;expectedDurationDays 是 0–3650 的预计持续自然日数,用于排期、施工中的自动进度提示和超时判断,不是提醒窗口;preconditionMode 是 "all" 或 "any";preconditionStrategy 是 "auto"、"none" 或 "manual";flowRole 是 "main" 或 "side"。 relations(可选):每项必填 key、fromEventKey、toEventKey、type、offsetDays。fromEventKey/toEventKey 必须引用 event.key,不是 node.key;不得相同;type 仅 "interval" 或 "mustFinishBefore";offsetDays 为 -3650–3650 整数;关系图无环。 nodeStartConditions(可选):每项只有 key、targetNodeKey、sourceEventKey。targetNodeKey 引用 node.key;sourceEventKey 引用 event.key。禁止 nodeKey、dependsOn、表达式或脚本。 reminderRules(可选):每项只有 key、eventKey、offsetDays、time、message、enabled。eventKey 引用 event.key;offsetDays 为 -3650–3650 整数,负数表示提前、0 表示当天、正数表示事件后;time 是 24 小时 HH:MM;enabled 是 boolean。每条启用规则只代表一个关键提醒时点,不会连续重复发送;同一 event 可以有多条规则。禁止 offset、P1D、channel、notificationId、pending、status、snooze。每个 event 最多 8 条,每模板最多 200 条。普通施工通常写 0~1 条关键提醒,材料/工种准备通常提前 1~3 天,长周期预约或高风险事项可按不同实际动作写 2~3 条;禁止复制规则模拟每日提醒,施工期的进度提示与超时提示由 APP 自动生成。 extensions(可选):只能为 {} 或 {"cn.lejia":{"events":{"":{"eventKind":"construction|booking|acceptance|payment","completionPurpose":"none|prompt_cost_baseline"}}}}。events 的每个映射至少含 eventKind 或 completionPurpose,且 eventKey 必须存在。非装修流程应省略 extensions;禁止 industry、meta、author、source、URL、自定义 namespace。 明确禁止生成:industry、isSequential、responsible、durationDays、nodeId、nodeName、templateName、statusOptions、requiredFields、globalFields、flowRule、from、to、dependsOn、channel、offset: "P1D"、author、source 或自定义 extension。注意:type 只在 relation 中合法;node/event 不允许自行增加 type。提醒必须完整使用 key、eventKey、offsetDays、time、message、enabled,不能用 nodeKey。 Mobile Profile:建议不超过 nodes 35、events 210、relations 350、nodeStartConditions 140;硬上限为 50、300、500、200。文件最大 1 MiB,JSON 深度最大 16,单个字符串不超过 4096 字符。 输出前静默检查:JSON 可解析;全部必填项和枚举正确;没有未知字段;key 合法且同类唯一;所有 node/event/extension 引用存在;relation 引用 event、无自引用、无环;未超硬上限;提醒未超 8/200;无 UUID、数据库 ID、URL、脚本;文件扩展名为 .lwts.json。不要向用户输出此检查表。 可参考乐家APP真机正式导出的格式,但不得照抄其装修业务内容:https://lezhai.life/lejia/docs/spec/examples/demo-workflow.lwts.json 【需要生成的流程】 {{USER_WORKFLOW_REQUIREMENT}} 现在创建最终 `.lwts.json` 文件附件;若不支持附件,输出且只输出完整 UTF-8 JSON。