{
  "source_url": "https://aidifysecond.chinacpt.com/app/897352d5-faea-4467-9392-8cf70323c764/workflow",
  "captured_at": "2026-07-01T16:00:00+08:00",
  "app": {
    "id": "897352d5-faea-4467-9392-8cf70323c764",
    "name": "跑步AI助手-5.0",
    "mode": "advanced-chat",
    "icon": "🤖",
    "icon_background": "#FFEAD5"
  },
  "workflow": {
    "id": "5f5637de-d434-4f3b-a2b1-b569afea3c89",
    "version": "draft",
    "hash": "0c03d1a702925e1ee69e9de0729f4f8931d28fcf8f0503ec0373be14dce1efa4",
    "node_count": 58,
    "edge_count": 72,
    "node_type_counts": {
      "start": 1,
      "llm": 10,
      "code": 18,
      "assigner": 1,
      "if-else": 9,
      "http-request": 3,
      "answer": 11,
      "knowledge-retrieval": 4,
      "variable-aggregator": 1
    },
    "environment_variables": [
      {
        "id": "7fe586b7-2df1-431c-9542-22c599c40ab9",
        "name": "PROFILE_API_BASE_URL",
        "value": "https://your-profile-api.example.com",
        "value_type": "string",
        "description": "用户画像 API 地址，例如 https://profile.example.com；不要以 / 结尾"
      },
      {
        "id": "2acbf4ae-c749-4ad8-8c29-13ccca41a164",
        "name": "PROFILE_API_KEY",
        "value": "********************",
        "value_type": "secret",
        "description": "用户画像 API 的 Bearer Token"
      }
    ],
    "conversation_variables": [
      {
        "id": "73ee409a-dcd2-423f-b6b7-039fbe5e5b3f",
        "name": "missing_info",
        "value_type": "array[string]",
        "value": [],
        "description": ""
      },
      {
        "id": "d301bf3b-ef9f-4aec-9dab-526503137058",
        "name": "last_intent",
        "value_type": "string",
        "value": "",
        "description": ""
      },
      {
        "id": "cb9ded70-12e1-44d7-ab21-1f9b24d778f7",
        "name": "last_user_query",
        "value_type": "string",
        "value": "",
        "description": "上一轮已还原的完整问题，用于继续理解后续简短补充或追问。"
      },
      {
        "id": "80b2c009-a7c8-404a-b806-9179fcaee4a0",
        "name": "runner_profile",
        "value_type": "string",
        "value": "{}",
        "description": "已弃用：长期用户画像改由后端画像系统维护。"
      },
      {
        "id": "a08532f3-e3b5-44f4-9a34-191a589999c8",
        "name": "last_route",
        "value_type": "string",
        "value": "",
        "description": "上一轮主路由，仅用于当前会话续接判断。"
      },
      {
        "id": "c981dc88-c607-464d-b5f3-72497181f87b",
        "name": "last_stage",
        "value_type": "string",
        "value": "",
        "description": "上一轮流程阶段，仅用于当前会话续接判断。"
      },
      {
        "id": "0974df0f-6295-4b30-864c-f3684732f52a",
        "name": "pending_task",
        "value_type": "string",
        "value": "",
        "description": "当前会话未完成任务，例如 ability_pace_missing_info。"
      },
      {
        "id": "a4def100-e6f8-4058-90e8-20bada941162",
        "name": "last_ability_result_json",
        "value_type": "string",
        "value": "{}",
        "description": "最近一次 VDOT/配速计算结果摘要，JSON字符串。"
      },
      {
        "id": "2868dadf-d5f4-4410-bd3f-0b60f3ab9013",
        "name": "last_plan_context_json",
        "value_type": "string",
        "value": "{}",
        "description": "最近一次训练计划上下文摘要，JSON字符串。"
      }
    ],
    "features": {
      "opening_statement": "你可以问我跑步训练、运动生理、营养补剂，也可以让我评估VDOT、分析训练记录或制定训练计划。",
      "suggested_questions": [
        "我的5公里成绩是22分钟，VDOT和训练配速是多少？",
        "我的轻松跑配速是5:30/km，保守评估当前能力。",
        "分析我最近30天的COROS训练记录。",
        "根据当前能力给我制定半马训练计划。"
      ],
      "suggested_questions_after_answer": {
        "enabled": true
      },
      "text_to_speech": {
        "enabled": false,
        "language": "",
        "voice": ""
      },
      "speech_to_text": {
        "enabled": false
      },
      "retriever_resource": {
        "enabled": true
      },
      "sensitive_word_avoidance": {
        "enabled": false
      },
      "file_upload": {
        "image": {
          "enabled": false,
          "number_limits": 3,
          "transfer_methods": [
            "local_file",
            "remote_url"
          ]
        },
        "enabled": false,
        "allowed_file_types": [
          "image"
        ],
        "allowed_file_extensions": [
          ".JPG",
          ".JPEG",
          ".PNG",
          ".GIF",
          ".WEBP",
          ".SVG"
        ],
        "allowed_file_upload_methods": [
          "local_file",
          "remote_url"
        ],
        "number_limits": 3,
        "fileUploadConfig": {
          "file_size_limit": 15,
          "batch_count_limit": 5,
          "file_upload_limit": 20,
          "image_file_size_limit": 10,
          "video_file_size_limit": 100,
          "audio_file_size_limit": 50,
          "workflow_file_upload_limit": 10,
          "image_file_batch_limit": 10,
          "single_chunk_attachment_limit": 10,
          "attachment_image_file_size_limit": 2
        }
      }
    }
  },
  "nodes": [
    {
      "id": "1779676995552",
      "title": "用户输入",
      "type": "start",
      "position": {
        "x": 1298.1991440964694,
        "y": 109.07261128441365
      },
      "size": {
        "width": 242,
        "height": 73
      },
      "config_summary": {
        "variables": "0"
      }
    },
    {
      "id": "1780468871825",
      "title": "用户输入提取 / 路由解析",
      "type": "llm",
      "position": {
        "x": 1298.1991440964694,
        "y": 214.47624168895737
      },
      "size": {
        "width": 242,
        "height": 88
      },
      "config_summary": {
        "model": "deepseek-v4-flash",
        "provider": "langgenius/deepseek/deepseek",
        "temperature": 0,
        "prompt_roles": "system,user"
      }
    },
    {
      "id": "1781771000104",
      "title": "路由 JSON 清洗 / 字段标准化",
      "type": "code",
      "position": {
        "x": 1298.1991440964694,
        "y": 334.5563269599566
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "raw_text,user_query",
        "outputs": "parse_ok,parse_error,parsed_json,selected_route,route_confidence,route_reason,is_continuation,continuation_type,current_stage,next_action,current_intent,response_mode,missing_slots,safety_flags,has_discomfort,has_medical_risk,has_emergency_symptom,has_prompt_injection,has_out_of_scope_disguise,has_dangerous_request,safety_risk_reason,extracted_slots,profile_read_needed,profile_read_keys,profile_update_candidates,has_profile_update,ordinary_qa_needed,ordinary_qa_topics,ordinary_qa_primary_query,ordinary_qa_expanded_queries,ordinary_qa_query_text,ability_calculation,calculation_type,performance_source,ability_distance,ability_time,ability_pace,easy_pace,easy_pace_context,easy_pace_confirmed,allow_easy_pace_estimate,target_distance,target_time,question_focus,unit_type,unit_ambiguous,needs_vdot,needs_race_pace,needs_profile_for_ability,estimate_confidence,ability_missing_info,clarification_needed,clarification_question,fallback_needed,fallback_reason,resolved_query,primary_intent,task_mode,qa_domains,qa_domains_text,analysis_data_source,needs_coros,risk_level,risk_type,safety_route,medical_context,doctor_guidance_text,plan_mode,missing_info,missing_info_text,pending_task,ability_input,relevant_profile,relevant_profile_text,result"
      }
    },
    {
      "id": "1781760882848",
      "title": "入口兼容字段整理",
      "type": "code",
      "position": {
        "x": 1298.1991440964694,
        "y": 434.6230646857894
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "cleaned",
        "outputs": "ability_input,analysis_data_source,conversation_relation,dangerous_behavior_type,doctor_guidance_text,injury_status,medical_context,missing_info,missing_info_text,needs_coros,plan_mode,primary_intent,qa_domains,qa_domains_text,relevant_profile,relevant_profile_text,resolved_query,result,risk_flags,risk_flags_text,risk_level,risk_type,safety_route,task_mode,updated_profile,updated_profile_text,selected_route,current_intent,current_stage"
      }
    },
    {
      "id": "1780545505390",
      "title": "会话变量更新",
      "type": "assigner",
      "position": {
        "x": 1298.1991440964694,
        "y": 509.3395621877444
      },
      "size": {
        "width": 242,
        "height": 214
      },
      "config_summary": {
        "items": "6"
      }
    },
    {
      "id": "1783000000300",
      "title": "画像写入候选标准化 / Payload 构造",
      "type": "code",
      "position": {
        "x": 1298.1991440964694,
        "y": 742.8286168813539
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "user_id,selected_route,current_intent,profile_update_candidates,extracted_slots,ability_calculation,safety_flags,has_prompt_injection,has_out_of_scope_disguise,has_dangerous_request",
        "outputs": "profile_write_needed,profile_write_allowed,write_reason,skip_reason,has_basic_profile_update,has_training_status_update,has_training_availability_update,has_risk_profile_update,has_performance_record_update,basic_profile_payload,training_status_payload,training_availability_payload,risk_profile_payload,performance_record_payload,write_modules,profile_write_payload,profile_write_payload_json,skipped_candidates,profile_update_summary,profile_context_text,profile_followup_question"
      }
    },
    {
      "id": "1783000000305",
      "title": "画像写入分流",
      "type": "if-else",
      "position": {
        "x": 1583.7891087863688,
        "y": 742.8286168813539
      },
      "size": {
        "width": 242,
        "height": 124
      },
      "config_summary": {
        "cases": "1",
        "conditions": "1"
      }
    },
    {
      "id": "1783000000301",
      "title": "统一保存用户画像",
      "type": "http-request",
      "position": {
        "x": 1583.7891087863688,
        "y": 480.7538706284214
      },
      "size": {
        "width": 242,
        "height": 178
      },
      "config_summary": {
        "method": "post",
        "url": "{{#env.PROFILE_API_BASE_URL#}}/profile/upsert",
        "error_strategy": "fail-branch"
      }
    },
    {
      "id": "1780469319091",
      "title": "主分流",
      "type": "if-else",
      "position": {
        "x": 1887.5915651179043,
        "y": 576.0507206716328
      },
      "size": {
        "width": 242,
        "height": 268
      },
      "config_summary": {
        "cases": "4",
        "conditions": "4"
      }
    },
    {
      "id": "1780469932737",
      "title": "身体不适固定回复",
      "type": "llm",
      "position": {
        "x": 2338.358783291492,
        "y": 245.49706322070955
      },
      "size": {
        "width": 242,
        "height": 88
      },
      "config_summary": {
        "model": "deepseek-v4-flash",
        "provider": "langgenius/deepseek/deepseek",
        "temperature": 0.4,
        "prompt_roles": "system,user"
      }
    },
    {
      "id": "1780536637801",
      "title": "输出-医疗急症安全回复",
      "type": "answer",
      "position": {
        "x": 2617.2114257541457,
        "y": 245.49706322070955
      },
      "size": {
        "width": 242,
        "height": 103
      },
      "config_summary": {
        "answer": "{{#1780469932737.text#}}"
      }
    },
    {
      "id": "1782100000011",
      "title": "超范围固定回复",
      "type": "answer",
      "position": {
        "x": 2131.5541919914376,
        "y": 972.7554710564259
      },
      "size": {
        "width": 242,
        "height": 164
      },
      "config_summary": {
        "answer": "抱歉，这个问题超出了我目前的专业解答范围。  我主要擅长跑步训练、训练计划、配速评估、训练分析、运动营养和赛事补给策略。如果你有这些方面的问题，我可以继续帮你分析和建议。"
      }
    },
    {
      "id": "1782001000002",
      "title": "普通问答检索配置",
      "type": "code",
      "position": {
        "x": 2617.2114257541457,
        "y": 820
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "query,topics,ordinary_qa_query_text",
        "outputs": "answer_scope,excluded_terms_json,knowledge_route,needs_evidence_review,product_specific,retrieval_query,source_policy"
      }
    },
    {
      "id": "1782001000003",
      "title": "日常问答知识域路由",
      "type": "if-else",
      "position": {
        "x": 3100,
        "y": 820
      },
      "size": {
        "width": 242,
        "height": 172
      },
      "config_summary": {
        "cases": "2",
        "conditions": "2"
      }
    },
    {
      "id": "1780478651801",
      "title": "跑步通用知识检索",
      "type": "knowledge-retrieval",
      "position": {
        "x": 3400,
        "y": 760
      },
      "size": {
        "width": 242,
        "height": 90
      },
      "config_summary": {
        "datasets": "4393a498-bef1-4469-92d8-591fc5169ea2",
        "retrieval_mode": "multiple",
        "query": "1782001000002.retrieval_query"
      }
    },
    {
      "id": "1782001000004",
      "title": "运动营养与产品知识检索",
      "type": "knowledge-retrieval",
      "position": {
        "x": 3400,
        "y": 900
      },
      "size": {
        "width": 242,
        "height": 90
      },
      "config_summary": {
        "datasets": "ead9bb6a-57e7-4a6d-a39d-5e13f11d32ca",
        "retrieval_mode": "multiple",
        "query": "1782001000002.retrieval_query"
      }
    },
    {
      "id": "1782001000005",
      "title": "跑步知识证据整理",
      "type": "code",
      "position": {
        "x": 3700,
        "y": 760
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "retrieval_result,retrieval_query,knowledge_route,answer_scope,excluded_terms_json,source_policy,product_specific,needs_evidence_review",
        "outputs": "evidence_text"
      }
    },
    {
      "id": "1782001000006",
      "title": "营养知识证据整理",
      "type": "code",
      "position": {
        "x": 3700,
        "y": 900
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "retrieval_result,retrieval_query,knowledge_route,answer_scope,excluded_terms_json,source_policy,product_specific,needs_evidence_review",
        "outputs": "evidence_text"
      }
    },
    {
      "id": "1782001000007",
      "title": "日常问答证据聚合",
      "type": "variable-aggregator",
      "position": {
        "x": 4000,
        "y": 820
      },
      "size": {
        "width": 242,
        "height": 134
      },
      "config_summary": {
        "variables": "1782001000005.evidence_text,1782001000006.evidence_text"
      }
    },
    {
      "id": "1780478708723",
      "title": "普通问答生成",
      "type": "llm",
      "position": {
        "x": 4300,
        "y": 820
      },
      "size": {
        "width": 242,
        "height": 88
      },
      "config_summary": {
        "model": "deepseek-v4-flash",
        "provider": "langgenius/deepseek/deepseek",
        "temperature": 0.3,
        "prompt_roles": "system,user"
      }
    },
    {
      "id": "1780536649345",
      "title": "输出-日常问答",
      "type": "answer",
      "position": {
        "x": 4600,
        "y": 820
      },
      "size": {
        "width": 242,
        "height": 103
      },
      "config_summary": {
        "answer": "{{#1780478708723.text#}}"
      }
    },
    {
      "id": "1780536284962",
      "title": "VDOT 能力基准计算",
      "type": "code",
      "position": {
        "x": 4300,
        "y": 80
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "vdot_input_mode,distance,time,easy_pace,saved_vdot,saved_training_paces,question_focus,performance_source,estimate_confidence,notes",
        "outputs": "result"
      }
    },
    {
      "id": "1780535635827",
      "title": "VDOT 结果后续路由",
      "type": "if-else",
      "position": {
        "x": 4600,
        "y": 80
      },
      "size": {
        "width": 242,
        "height": 294
      },
      "config_summary": {
        "cases": "4",
        "conditions": "5"
      }
    },
    {
      "id": "1780536548441",
      "title": "VDOT / 配速回答生成",
      "type": "llm",
      "position": {
        "x": 4900,
        "y": 0
      },
      "size": {
        "width": 242,
        "height": 88
      },
      "config_summary": {
        "model": "deepseek-v4-flash",
        "provider": "langgenius/deepseek/deepseek",
        "temperature": 0.3,
        "prompt_roles": "system,user"
      }
    },
    {
      "id": "1780536661204",
      "title": "输出-能力评估",
      "type": "answer",
      "position": {
        "x": 5200,
        "y": 0
      },
      "size": {
        "width": 242,
        "height": 103
      },
      "config_summary": {
        "answer": "{{#1780536548441.text#}}"
      }
    },
    {
      "id": "1783000000101",
      "title": "读取用户画像",
      "type": "http-request",
      "position": {
        "x": 3299.933262274167,
        "y": -276.350881033787
      },
      "size": {
        "width": 242,
        "height": 182
      },
      "config_summary": {
        "method": "get",
        "url": "{{#env.PROFILE_API_BASE_URL#}}/profile/{{#sys.user_id#}}",
        "error_strategy": "fail-branch"
      }
    },
    {
      "id": "1780645110626",
      "title": "读取COROS最近30天数据",
      "type": "http-request",
      "position": {
        "x": 4894.663107321289,
        "y": 154.6230646857893
      },
      "size": {
        "width": 242,
        "height": 194
      },
      "config_summary": {
        "method": "get",
        "url": "https://coros-connector.onrender.com/coros/runs?user_id={{#sys.user_id#}}&days=30",
        "error_strategy": "fail-branch"
      }
    },
    {
      "id": "1780645215873",
      "title": "COROS训练统计",
      "type": "code",
      "position": {
        "x": 5189.326214642578,
        "y": 154.6230646857893
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "http_body,status_code",
        "outputs": "connected,runs_summary,training_stats"
      }
    },
    {
      "id": "1780479405124",
      "title": "COROS训练分析",
      "type": "llm",
      "position": {
        "x": 5474.649759776122,
        "y": 154.6230646857893
      },
      "size": {
        "width": 242,
        "height": 88
      },
      "config_summary": {
        "model": "deepseek-v4-flash",
        "provider": "langgenius/deepseek/deepseek",
        "temperature": 0.4,
        "prompt_roles": "system,user"
      }
    },
    {
      "id": "1780536679787",
      "title": "输出-COROS训练分析",
      "type": "answer",
      "position": {
        "x": 5749.299519552244,
        "y": 154.6230646857893
      },
      "size": {
        "width": 242,
        "height": 103
      },
      "config_summary": {
        "answer": "{{#1780479405124.text#}}"
      }
    },
    {
      "id": "1781771000101",
      "title": "用户提供数据训练分析",
      "type": "llm",
      "position": {
        "x": 4900,
        "y": 360
      },
      "size": {
        "width": 242,
        "height": 88
      },
      "config_summary": {
        "model": "deepseek-v4-flash",
        "provider": "langgenius/deepseek/deepseek",
        "temperature": 0.4,
        "prompt_roles": "system,user"
      }
    },
    {
      "id": "1781771000102",
      "title": "输出-用户数据训练分析",
      "type": "answer",
      "position": {
        "x": 4894.663107321289,
        "y": 480.7538706284214
      },
      "size": {
        "width": 242,
        "height": 103
      },
      "config_summary": {
        "answer": "{{#1781771000101.text#}}"
      }
    },
    {
      "id": "1781771000103",
      "title": "COROS读取失败",
      "type": "answer",
      "position": {
        "x": 5260.0400426355,
        "y": 288.1121193793989
      },
      "size": {
        "width": 242,
        "height": 199
      },
      "config_summary": {
        "answer": "当前无法读取你的COROS最近30天训练记录，因此不能可靠分析跑量、配速、心率和负荷变化。  你可以检查COROS授权与连接服务，或直接提供最近4周的周跑量、每周训练次数、最长跑、典型配速和平均心率。  {{#1781760882848.d"
      }
    },
    {
      "id": "1782001000008",
      "title": "训练计划检索配置",
      "type": "code",
      "position": {
        "x": 5200,
        "y": -250
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "query,plan_mode,plan_context_text,answer_scope_from_check,missing_info_text,can_use_exact_training_paces,ability_result",
        "outputs": "answer_scope,excluded_terms_json,needs_evidence_review,product_specific,retrieval_query,source_policy"
      }
    },
    {
      "id": "1780480474845",
      "title": "训练计划窄范围检索",
      "type": "knowledge-retrieval",
      "position": {
        "x": 5500,
        "y": -330
      },
      "size": {
        "width": 242,
        "height": 90
      },
      "config_summary": {
        "datasets": "4393a498-bef1-4469-92d8-591fc5169ea2",
        "retrieval_mode": "multiple",
        "query": "1782001000008.retrieval_query"
      }
    },
    {
      "id": "1782001000009",
      "title": "训练计划证据整理",
      "type": "code",
      "position": {
        "x": 5800,
        "y": -330
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "retrieval_result,retrieval_query,knowledge_route,answer_scope,excluded_terms_json,source_policy,product_specific,needs_evidence_review",
        "outputs": "evidence_text"
      }
    },
    {
      "id": "1782300000001",
      "title": "训练计划营养检索配置",
      "type": "code",
      "position": {
        "x": 5500,
        "y": -170
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "query,plan_mode,profile_text,ability_result",
        "outputs": "nutrition_answer_scope,nutrition_excluded_terms_json,nutrition_needs_evidence_review,nutrition_product_specific,nutrition_retrieval_query,nutrition_source_policy,supplement_structure_policy"
      }
    },
    {
      "id": "1782300000002",
      "title": "训练计划营养与产品知识检索",
      "type": "knowledge-retrieval",
      "position": {
        "x": 5800,
        "y": -170
      },
      "size": {
        "width": 242,
        "height": 90
      },
      "config_summary": {
        "datasets": "ead9bb6a-57e7-4a6d-a39d-5e13f11d32ca",
        "retrieval_mode": "multiple",
        "query": "1782300000001.nutrition_retrieval_query"
      }
    },
    {
      "id": "1782300000003",
      "title": "训练计划营养证据整理",
      "type": "code",
      "position": {
        "x": 6100,
        "y": -170
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "retrieval_result,retrieval_query,answer_scope,excluded_terms_json,source_policy,product_specific,needs_evidence_review",
        "outputs": "evidence_text"
      }
    },
    {
      "id": "1780480510371",
      "title": "训练计划生成",
      "type": "llm",
      "position": {
        "x": 6400,
        "y": -250
      },
      "size": {
        "width": 242,
        "height": 88
      },
      "config_summary": {
        "model": "deepseek-v4-flash",
        "provider": "langgenius/deepseek/deepseek",
        "temperature": 0.5,
        "prompt_roles": "system,user"
      }
    },
    {
      "id": "1780536689356",
      "title": "输出-训练计划",
      "type": "answer",
      "position": {
        "x": 6700,
        "y": -250
      },
      "size": {
        "width": 242,
        "height": 103
      },
      "config_summary": {
        "answer": "{{#1780480510371.text#}}"
      }
    },
    {
      "id": "1783600000007",
      "title": "训练计划与分析二级分流",
      "type": "if-else",
      "position": {
        "x": 2362.374800345692,
        "y": 549.3662572780775
      },
      "size": {
        "width": 242,
        "height": 220
      },
      "config_summary": {
        "cases": "3",
        "conditions": "3"
      }
    },
    {
      "id": "1783500000011",
      "title": "配速计算准备 / 字段校验",
      "type": "code",
      "position": {
        "x": 3100,
        "y": 150
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "calculation_type,performance_source,ability_distance,ability_time,ability_pace,easy_pace,easy_pace_confirmed,allow_easy_pace_estimate,target_distance,target_time,question_focus,unit_type,unit_ambiguous,needs_vdot,needs_race_pace,needs_profile_for_ability,ability_missing_info",
        "outputs": "ability_ready,next_calc_action,calculation_type,performance_source,distance,time,pace,easy_pace,easy_pace_confirmed,target_distance,target_time,question_focus,missing_info,error_reason"
      }
    },
    {
      "id": "1783500000012",
      "title": "配速计算类型判断",
      "type": "if-else",
      "position": {
        "x": 3357.3048585703114,
        "y": -40.793913263920984
      },
      "size": {
        "width": 242,
        "height": 294
      },
      "config_summary": {
        "cases": "4",
        "conditions": "5"
      }
    },
    {
      "id": "1783500000014",
      "title": "比赛配速计算",
      "type": "code",
      "position": {
        "x": 3700,
        "y": 360
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "target_distance,target_time,question_focus",
        "outputs": "race_pace_ready,target_distance,target_time,distance_km,average_pace,average_speed_kmh,question_focus,error"
      }
    },
    {
      "id": "1783500000015",
      "title": "配速信息不足回复",
      "type": "llm",
      "position": {
        "x": 3705.3368926787107,
        "y": 21.414308440677004
      },
      "size": {
        "width": 242,
        "height": 88
      },
      "config_summary": {
        "model": "deepseek-v4-flash",
        "provider": "langgenius/deepseek/deepseek",
        "temperature": 0.4,
        "prompt_roles": "system,user"
      }
    },
    {
      "id": "1783500000025",
      "title": "输出-配速信息不足",
      "type": "answer",
      "position": {
        "x": 4000,
        "y": -100
      },
      "size": {
        "width": 242,
        "height": 103
      },
      "config_summary": {
        "answer": "{{#1783500000015.text#}}"
      }
    },
    {
      "id": "1783500000018",
      "title": "配速计算兜底回复",
      "type": "llm",
      "position": {
        "x": 3700,
        "y": 650
      },
      "size": {
        "width": 242,
        "height": 88
      },
      "config_summary": {
        "model": "deepseek-v4-flash",
        "provider": "langgenius/deepseek/deepseek",
        "temperature": 0.4,
        "prompt_roles": "system,user"
      }
    },
    {
      "id": "1783500000028",
      "title": "输出-配速兜底",
      "type": "answer",
      "position": {
        "x": 4000,
        "y": 650
      },
      "size": {
        "width": 242,
        "height": 103
      },
      "config_summary": {
        "answer": "{{#1783500000018.text#}}"
      }
    },
    {
      "id": "1783500000017",
      "title": "比赛配速回答生成",
      "type": "llm",
      "position": {
        "x": 4000,
        "y": 360
      },
      "size": {
        "width": 242,
        "height": 88
      },
      "config_summary": {
        "model": "deepseek-v4-flash",
        "provider": "langgenius/deepseek/deepseek",
        "temperature": 0.4,
        "prompt_roles": "system,user"
      }
    },
    {
      "id": "1783500000027",
      "title": "输出-比赛配速",
      "type": "answer",
      "position": {
        "x": 4300,
        "y": 360
      },
      "size": {
        "width": 242,
        "height": 103
      },
      "config_summary": {
        "answer": "{{#1783500000017.text#}}"
      }
    },
    {
      "id": "1783500000022",
      "title": "VDOT 计算输入合并 / 标准化",
      "type": "code",
      "position": {
        "x": 4000,
        "y": 80
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "next_calc_action,direct_distance,direct_time,direct_pace,direct_easy_pace,direct_easy_pace_confirmed,allow_easy_pace_estimate,direct_question_focus,direct_performance_source,profile_ability_action,profile_distance,profile_time,saved_vdot,saved_training_paces,profile_question_focus,profile_performance_source,plan_ability_basis",
        "outputs": "vdot_input_ready,vdot_input_mode,vdot_input_source,distance,time,pace,easy_pace,easy_pace_confirmed,saved_vdot,saved_training_paces,question_focus,performance_source,source_date,source_label,source_confidence,estimate_confidence,missing_info,error_reason,notes"
      }
    },
    {
      "id": "1783500000019",
      "title": "画像读取用途分流",
      "type": "if-else",
      "position": {
        "x": 3700,
        "y": -350
      },
      "size": {
        "width": 242,
        "height": 172
      },
      "config_summary": {
        "cases": "2",
        "conditions": "2"
      }
    },
    {
      "id": "1783500000020",
      "title": "从用户画像提取能力依据",
      "type": "code",
      "position": {
        "x": 4000,
        "y": -450
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "profile_raw,question_focus",
        "outputs": "profile_ability_found,profile_ability_action,performance_source,distance,time,pace,saved_vdot,saved_training_paces,question_focus,source_date,source_label,source_confidence,estimate_confidence,missing_info,error_reason,notes"
      }
    },
    {
      "id": "1783500000021",
      "title": "画像能力结果分流",
      "type": "if-else",
      "position": {
        "x": 4300,
        "y": -450
      },
      "size": {
        "width": 242,
        "height": 150
      },
      "config_summary": {
        "cases": "1",
        "conditions": "2"
      }
    },
    {
      "id": "1783500000023",
      "title": "训练计划信息合并 / 标准化",
      "type": "code",
      "position": {
        "x": 4000,
        "y": -250
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "extracted_slots,profile_raw",
        "outputs": "plan_context_ready,goal,basic_profile,current_training,training_availability,risk_profile,ability_basis,source_map,conflicts,preliminary_missing_slots,notes"
      }
    },
    {
      "id": "1783500000024",
      "title": "训练计划资料完整度判断",
      "type": "code",
      "position": {
        "x": 4300,
        "y": -250
      },
      "size": {
        "width": 242,
        "height": 52
      },
      "config_summary": {
        "language": "python3",
        "inputs": "user_query,goal,current_training,training_availability,risk_profile,ability_basis,preliminary_missing_slots",
        "outputs": "plan_check_ready,route_action,plan_mode,needs_vdot_for_plan,can_use_exact_training_paces,personalization_level,missing_info,missing_info_text,answer_scope,plan_safety_note,doctor_guidance_needed,doctor_guidance_text,plan_context_text,error_reason"
      }
    },
    {
      "id": "1783500000026",
      "title": "训练计划VDOT需求判断",
      "type": "if-else",
      "position": {
        "x": 4600,
        "y": -250
      },
      "size": {
        "width": 242,
        "height": 124
      },
      "config_summary": {
        "cases": "1",
        "conditions": "1"
      }
    }
  ],
  "edges": [
    {
      "id": "1779676995552-source-1780468871825-target",
      "source": "1779676995552",
      "source_title": "用户输入",
      "source_handle": "source",
      "target": "1780468871825",
      "target_title": "用户输入提取 / 路由解析",
      "target_handle": "target"
    },
    {
      "id": "1780468871825-source-1781771000104-target",
      "source": "1780468871825",
      "source_title": "用户输入提取 / 路由解析",
      "source_handle": "source",
      "target": "1781771000104",
      "target_title": "路由 JSON 清洗 / 字段标准化",
      "target_handle": "target"
    },
    {
      "id": "1781771000104-source-1781760882848-target",
      "source": "1781771000104",
      "source_title": "路由 JSON 清洗 / 字段标准化",
      "source_handle": "source",
      "target": "1781760882848",
      "target_title": "入口兼容字段整理",
      "target_handle": "target"
    },
    {
      "id": "1781760882848-source-1780545505390-target",
      "source": "1781760882848",
      "source_title": "入口兼容字段整理",
      "source_handle": "source",
      "target": "1780545505390",
      "target_title": "会话变量更新",
      "target_handle": "target"
    },
    {
      "id": "1780545505390-source-1783000000300-target",
      "source": "1780545505390",
      "source_title": "会话变量更新",
      "source_handle": "source",
      "target": "1783000000300",
      "target_title": "画像写入候选标准化 / Payload 构造",
      "target_handle": "target"
    },
    {
      "id": "1783000000300-source-1783000000305-target",
      "source": "1783000000300",
      "source_title": "画像写入候选标准化 / Payload 构造",
      "source_handle": "source",
      "target": "1783000000305",
      "target_title": "画像写入分流",
      "target_handle": "target"
    },
    {
      "id": "1783000000305-profile-write-needed-1783000000301-target",
      "source": "1783000000305",
      "source_title": "画像写入分流",
      "source_handle": "profile-write-needed",
      "target": "1783000000301",
      "target_title": "统一保存用户画像",
      "target_handle": "target"
    },
    {
      "id": "1783000000305-false-1780469319091-target",
      "source": "1783000000305",
      "source_title": "画像写入分流",
      "source_handle": "false",
      "target": "1780469319091",
      "target_title": "主分流",
      "target_handle": "target"
    },
    {
      "id": "1783000000301-source-1780469319091-target",
      "source": "1783000000301",
      "source_title": "统一保存用户画像",
      "source_handle": "source",
      "target": "1780469319091",
      "target_title": "主分流",
      "target_handle": "target"
    },
    {
      "id": "1783000000301-fail-branch-1780469319091-target",
      "source": "1783000000301",
      "source_title": "统一保存用户画像",
      "source_handle": "fail-branch",
      "target": "1780469319091",
      "target_title": "主分流",
      "target_handle": "target"
    },
    {
      "id": "1780469319091-route-discomfort-1780469932737-target",
      "source": "1780469319091",
      "source_title": "主分流",
      "source_handle": "route-discomfort",
      "target": "1780469932737",
      "target_title": "身体不适固定回复",
      "target_handle": "target"
    },
    {
      "id": "1780469932737-source-1780536637801-target",
      "source": "1780469932737",
      "source_title": "身体不适固定回复",
      "source_handle": "source",
      "target": "1780536637801",
      "target_title": "输出-医疗急症安全回复",
      "target_handle": "target"
    },
    {
      "id": "1780469319091-route-out-of-scope-1782100000011-target",
      "source": "1780469319091",
      "source_title": "主分流",
      "source_handle": "route-out-of-scope",
      "target": "1782100000011",
      "target_title": "超范围固定回复",
      "target_handle": "target"
    },
    {
      "id": "1780469319091-route-training-1783600000007-target",
      "source": "1780469319091",
      "source_title": "主分流",
      "source_handle": "route-training",
      "target": "1783600000007",
      "target_title": "训练计划与分析二级分流",
      "target_handle": "target"
    },
    {
      "id": "1780469319091-route-ordinary-1782001000002-target",
      "source": "1780469319091",
      "source_title": "主分流",
      "source_handle": "route-ordinary",
      "target": "1782001000002",
      "target_title": "普通问答检索配置",
      "target_handle": "target"
    },
    {
      "id": "1780469319091-false-1782100000011-target",
      "source": "1780469319091",
      "source_title": "主分流",
      "source_handle": "false",
      "target": "1782100000011",
      "target_title": "超范围固定回复",
      "target_handle": "target"
    },
    {
      "id": "1782001000002-source-1782001000003-target",
      "source": "1782001000002",
      "source_title": "普通问答检索配置",
      "source_handle": "source",
      "target": "1782001000003",
      "target_title": "日常问答知识域路由",
      "target_handle": "target"
    },
    {
      "id": "1782001000003-daily-route-running-1780478651801-target",
      "source": "1782001000003",
      "source_title": "日常问答知识域路由",
      "source_handle": "daily-route-running",
      "target": "1780478651801",
      "target_title": "跑步通用知识检索",
      "target_handle": "target"
    },
    {
      "id": "1782001000003-daily-route-nutrition-1782001000004-target",
      "source": "1782001000003",
      "source_title": "日常问答知识域路由",
      "source_handle": "daily-route-nutrition",
      "target": "1782001000004",
      "target_title": "运动营养与产品知识检索",
      "target_handle": "target"
    },
    {
      "id": "1782001000003-false-1780478651801-target",
      "source": "1782001000003",
      "source_title": "日常问答知识域路由",
      "source_handle": "false",
      "target": "1780478651801",
      "target_title": "跑步通用知识检索",
      "target_handle": "target"
    },
    {
      "id": "1780478651801-source-1782001000005-target",
      "source": "1780478651801",
      "source_title": "跑步通用知识检索",
      "source_handle": "source",
      "target": "1782001000005",
      "target_title": "跑步知识证据整理",
      "target_handle": "target"
    },
    {
      "id": "1782001000004-source-1782001000006-target",
      "source": "1782001000004",
      "source_title": "运动营养与产品知识检索",
      "source_handle": "source",
      "target": "1782001000006",
      "target_title": "营养知识证据整理",
      "target_handle": "target"
    },
    {
      "id": "1782001000005-source-1782001000007-target",
      "source": "1782001000005",
      "source_title": "跑步知识证据整理",
      "source_handle": "source",
      "target": "1782001000007",
      "target_title": "日常问答证据聚合",
      "target_handle": "target"
    },
    {
      "id": "1782001000006-source-1782001000007-target",
      "source": "1782001000006",
      "source_title": "营养知识证据整理",
      "source_handle": "source",
      "target": "1782001000007",
      "target_title": "日常问答证据聚合",
      "target_handle": "target"
    },
    {
      "id": "1782001000007-source-1780478708723-target",
      "source": "1782001000007",
      "source_title": "日常问答证据聚合",
      "source_handle": "source",
      "target": "1780478708723",
      "target_title": "普通问答生成",
      "target_handle": "target"
    },
    {
      "id": "1780478708723-source-1780536649345-target",
      "source": "1780478708723",
      "source_title": "普通问答生成",
      "source_handle": "source",
      "target": "1780536649345",
      "target_title": "输出-日常问答",
      "target_handle": "target"
    },
    {
      "id": "1783600000007-intent-ability-1783500000011-target",
      "source": "1783600000007",
      "source_title": "训练计划与分析二级分流",
      "source_handle": "intent-ability",
      "target": "1783500000011",
      "target_title": "配速计算准备 / 字段校验",
      "target_handle": "target"
    },
    {
      "id": "1783600000007-intent-plan-1783000000101-target",
      "source": "1783600000007",
      "source_title": "训练计划与分析二级分流",
      "source_handle": "intent-plan",
      "target": "1783000000101",
      "target_title": "读取用户画像",
      "target_handle": "target"
    },
    {
      "id": "1783600000007-intent-analysis-1780535635827-target",
      "source": "1783600000007",
      "source_title": "训练计划与分析二级分流",
      "source_handle": "intent-analysis",
      "target": "1780535635827",
      "target_title": "VDOT 结果后续路由",
      "target_handle": "target"
    },
    {
      "id": "1783600000007-false-1782001000002-target",
      "source": "1783600000007",
      "source_title": "训练计划与分析二级分流",
      "source_handle": "false",
      "target": "1782001000002",
      "target_title": "普通问答检索配置",
      "target_handle": "target"
    },
    {
      "id": "1783500000011-source-1783500000012-target",
      "source": "1783500000011",
      "source_title": "配速计算准备 / 字段校验",
      "source_handle": "source",
      "target": "1783500000012",
      "target_title": "配速计算类型判断",
      "target_handle": "target"
    },
    {
      "id": "1783500000012-calc-missing-1783500000015-target",
      "source": "1783500000012",
      "source_title": "配速计算类型判断",
      "source_handle": "calc-missing",
      "target": "1783500000015",
      "target_title": "配速信息不足回复",
      "target_handle": "target"
    },
    {
      "id": "1783500000015-source-1783500000025-target",
      "source": "1783500000015",
      "source_title": "配速信息不足回复",
      "source_handle": "source",
      "target": "1783500000025",
      "target_title": "输出-配速信息不足",
      "target_handle": "target"
    },
    {
      "id": "1783500000012-calc-need-profile-1783000000101-target",
      "source": "1783500000012",
      "source_title": "配速计算类型判断",
      "source_handle": "calc-need-profile",
      "target": "1783000000101",
      "target_title": "读取用户画像",
      "target_handle": "target"
    },
    {
      "id": "1783500000012-calc-race-pace-1783500000014-target",
      "source": "1783500000012",
      "source_title": "配速计算类型判断",
      "source_handle": "calc-race-pace",
      "target": "1783500000014",
      "target_title": "比赛配速计算",
      "target_handle": "target"
    },
    {
      "id": "1783500000014-source-1783500000017-target",
      "source": "1783500000014",
      "source_title": "比赛配速计算",
      "source_handle": "source",
      "target": "1783500000017",
      "target_title": "比赛配速回答生成",
      "target_handle": "target"
    },
    {
      "id": "1783500000017-source-1783500000027-target",
      "source": "1783500000017",
      "source_title": "比赛配速回答生成",
      "source_handle": "source",
      "target": "1783500000027",
      "target_title": "输出-比赛配速",
      "target_handle": "target"
    },
    {
      "id": "1783500000012-calc-vdot-1783500000022-target",
      "source": "1783500000012",
      "source_title": "配速计算类型判断",
      "source_handle": "calc-vdot",
      "target": "1783500000022",
      "target_title": "VDOT 计算输入合并 / 标准化",
      "target_handle": "target"
    },
    {
      "id": "1783500000012-false-1783500000018-target",
      "source": "1783500000012",
      "source_title": "配速计算类型判断",
      "source_handle": "false",
      "target": "1783500000018",
      "target_title": "配速计算兜底回复",
      "target_handle": "target"
    },
    {
      "id": "1783500000018-source-1783500000028-target",
      "source": "1783500000018",
      "source_title": "配速计算兜底回复",
      "source_handle": "source",
      "target": "1783500000028",
      "target_title": "输出-配速兜底",
      "target_handle": "target"
    },
    {
      "id": "1783000000101-source-1783500000019-target",
      "source": "1783000000101",
      "source_title": "读取用户画像",
      "source_handle": "source",
      "target": "1783500000019",
      "target_title": "画像读取用途分流",
      "target_handle": "target"
    },
    {
      "id": "1783000000101-fail-branch-1783500000019-target",
      "source": "1783000000101",
      "source_title": "读取用户画像",
      "source_handle": "fail-branch",
      "target": "1783500000019",
      "target_title": "画像读取用途分流",
      "target_handle": "target"
    },
    {
      "id": "1783500000019-profile-for-ability-1783500000020-target",
      "source": "1783500000019",
      "source_title": "画像读取用途分流",
      "source_handle": "profile-for-ability",
      "target": "1783500000020",
      "target_title": "从用户画像提取能力依据",
      "target_handle": "target"
    },
    {
      "id": "1783500000020-source-1783500000021-target",
      "source": "1783500000020",
      "source_title": "从用户画像提取能力依据",
      "source_handle": "source",
      "target": "1783500000021",
      "target_title": "画像能力结果分流",
      "target_handle": "target"
    },
    {
      "id": "1783500000021-profile-vdot-1783500000022-target",
      "source": "1783500000021",
      "source_title": "画像能力结果分流",
      "source_handle": "profile-vdot",
      "target": "1783500000022",
      "target_title": "VDOT 计算输入合并 / 标准化",
      "target_handle": "target"
    },
    {
      "id": "1783500000021-false-1783500000015-target",
      "source": "1783500000021",
      "source_title": "画像能力结果分流",
      "source_handle": "false",
      "target": "1783500000015",
      "target_title": "配速信息不足回复",
      "target_handle": "target"
    },
    {
      "id": "1783500000019-profile-for-plan-1783500000023-target",
      "source": "1783500000019",
      "source_title": "画像读取用途分流",
      "source_handle": "profile-for-plan",
      "target": "1783500000023",
      "target_title": "训练计划信息合并 / 标准化",
      "target_handle": "target"
    },
    {
      "id": "1783500000023-source-1783500000024-target",
      "source": "1783500000023",
      "source_title": "训练计划信息合并 / 标准化",
      "source_handle": "source",
      "target": "1783500000024",
      "target_title": "训练计划资料完整度判断",
      "target_handle": "target"
    },
    {
      "id": "1783500000024-source-1783500000026-target",
      "source": "1783500000024",
      "source_title": "训练计划资料完整度判断",
      "source_handle": "source",
      "target": "1783500000026",
      "target_title": "训练计划VDOT需求判断",
      "target_handle": "target"
    },
    {
      "id": "1783500000026-plan-needs-vdot-1783500000022-target",
      "source": "1783500000026",
      "source_title": "训练计划VDOT需求判断",
      "source_handle": "plan-needs-vdot",
      "target": "1783500000022",
      "target_title": "VDOT 计算输入合并 / 标准化",
      "target_handle": "target"
    },
    {
      "id": "1783500000026-false-1782001000008-target",
      "source": "1783500000026",
      "source_title": "训练计划VDOT需求判断",
      "source_handle": "false",
      "target": "1782001000008",
      "target_title": "训练计划检索配置",
      "target_handle": "target"
    },
    {
      "id": "1783500000022-source-1780536284962-target",
      "source": "1783500000022",
      "source_title": "VDOT 计算输入合并 / 标准化",
      "source_handle": "source",
      "target": "1780536284962",
      "target_title": "VDOT 能力基准计算",
      "target_handle": "target"
    },
    {
      "id": "1780536284962-source-1780535635827-target",
      "source": "1780536284962",
      "source_title": "VDOT 能力基准计算",
      "source_handle": "source",
      "target": "1780535635827",
      "target_title": "VDOT 结果后续路由",
      "target_handle": "target"
    },
    {
      "id": "1780535635827-vdot-to-answer-1780536548441-target",
      "source": "1780535635827",
      "source_title": "VDOT 结果后续路由",
      "source_handle": "vdot-to-answer",
      "target": "1780536548441",
      "target_title": "VDOT / 配速回答生成",
      "target_handle": "target"
    },
    {
      "id": "1780536548441-source-1780536661204-target",
      "source": "1780536548441",
      "source_title": "VDOT / 配速回答生成",
      "source_handle": "source",
      "target": "1780536661204",
      "target_title": "输出-能力评估",
      "target_handle": "target"
    },
    {
      "id": "1780535635827-vdot-to-plan-1782001000008-target",
      "source": "1780535635827",
      "source_title": "VDOT 结果后续路由",
      "source_handle": "vdot-to-plan",
      "target": "1782001000008",
      "target_title": "训练计划检索配置",
      "target_handle": "target"
    },
    {
      "id": "1780535635827-analysis-coros-1780645110626-target",
      "source": "1780535635827",
      "source_title": "VDOT 结果后续路由",
      "source_handle": "analysis-coros",
      "target": "1780645110626",
      "target_title": "读取COROS最近30天数据",
      "target_handle": "target"
    },
    {
      "id": "1780645110626-source-1780645215873-target",
      "source": "1780645110626",
      "source_title": "读取COROS最近30天数据",
      "source_handle": "source",
      "target": "1780645215873",
      "target_title": "COROS训练统计",
      "target_handle": "target"
    },
    {
      "id": "1780645215873-source-1780479405124-target",
      "source": "1780645215873",
      "source_title": "COROS训练统计",
      "source_handle": "source",
      "target": "1780479405124",
      "target_title": "COROS训练分析",
      "target_handle": "target"
    },
    {
      "id": "1780479405124-source-1780536679787-target",
      "source": "1780479405124",
      "source_title": "COROS训练分析",
      "source_handle": "source",
      "target": "1780536679787",
      "target_title": "输出-COROS训练分析",
      "target_handle": "target"
    },
    {
      "id": "1780645110626-fail-branch-1781771000103-target",
      "source": "1780645110626",
      "source_title": "读取COROS最近30天数据",
      "source_handle": "fail-branch",
      "target": "1781771000103",
      "target_title": "COROS读取失败",
      "target_handle": "target"
    },
    {
      "id": "1780535635827-analysis-user-1781771000101-target",
      "source": "1780535635827",
      "source_title": "VDOT 结果后续路由",
      "source_handle": "analysis-user",
      "target": "1781771000101",
      "target_title": "用户提供数据训练分析",
      "target_handle": "target"
    },
    {
      "id": "1780535635827-false-1781771000101-target",
      "source": "1780535635827",
      "source_title": "VDOT 结果后续路由",
      "source_handle": "false",
      "target": "1781771000101",
      "target_title": "用户提供数据训练分析",
      "target_handle": "target"
    },
    {
      "id": "1781771000101-source-1781771000102-target",
      "source": "1781771000101",
      "source_title": "用户提供数据训练分析",
      "source_handle": "source",
      "target": "1781771000102",
      "target_title": "输出-用户数据训练分析",
      "target_handle": "target"
    },
    {
      "id": "1782001000008-source-1780480474845-target",
      "source": "1782001000008",
      "source_title": "训练计划检索配置",
      "source_handle": "source",
      "target": "1780480474845",
      "target_title": "训练计划窄范围检索",
      "target_handle": "target"
    },
    {
      "id": "1782001000008-source-1782300000001-target",
      "source": "1782001000008",
      "source_title": "训练计划检索配置",
      "source_handle": "source",
      "target": "1782300000001",
      "target_title": "训练计划营养检索配置",
      "target_handle": "target"
    },
    {
      "id": "1780480474845-source-1782001000009-target",
      "source": "1780480474845",
      "source_title": "训练计划窄范围检索",
      "source_handle": "source",
      "target": "1782001000009",
      "target_title": "训练计划证据整理",
      "target_handle": "target"
    },
    {
      "id": "1782001000009-source-1780480510371-target",
      "source": "1782001000009",
      "source_title": "训练计划证据整理",
      "source_handle": "source",
      "target": "1780480510371",
      "target_title": "训练计划生成",
      "target_handle": "target"
    },
    {
      "id": "1782300000001-source-1782300000002-target",
      "source": "1782300000001",
      "source_title": "训练计划营养检索配置",
      "source_handle": "source",
      "target": "1782300000002",
      "target_title": "训练计划营养与产品知识检索",
      "target_handle": "target"
    },
    {
      "id": "1782300000002-source-1782300000003-target",
      "source": "1782300000002",
      "source_title": "训练计划营养与产品知识检索",
      "source_handle": "source",
      "target": "1782300000003",
      "target_title": "训练计划营养证据整理",
      "target_handle": "target"
    },
    {
      "id": "1782300000003-source-1780480510371-target",
      "source": "1782300000003",
      "source_title": "训练计划营养证据整理",
      "source_handle": "source",
      "target": "1780480510371",
      "target_title": "训练计划生成",
      "target_handle": "target"
    },
    {
      "id": "1780480510371-source-1780536689356-target",
      "source": "1780480510371",
      "source_title": "训练计划生成",
      "source_handle": "source",
      "target": "1780536689356",
      "target_title": "输出-训练计划",
      "target_handle": "target"
    }
  ],
  "registries": {
    "system_variables": [
      {
        "id": "3fbe7a7b-4253-4758-a851-7d53647d158e",
        "type": "sys",
        "name": "dialogue_count",
        "description": "",
        "selector": [
          "sys",
          "dialogue_count"
        ],
        "value_type": "number",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": 3,
        "full_content": null
      },
      {
        "id": "56044286-0095-4d5d-a5d0-ad5cddf7581e",
        "type": "sys",
        "name": "conversation_id",
        "description": "",
        "selector": [
          "sys",
          "conversation_id"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "2a681f67-e112-4c89-866a-ab7eb78e2c41",
        "full_content": null
      },
      {
        "id": "bea181f2-dd25-4a69-b3d1-b854c3a2e7c4",
        "type": "sys",
        "name": "query",
        "description": "",
        "selector": [
          "sys",
          "query"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "能量胶怎么吃？",
        "full_content": null
      },
      {
        "id": "c218d647-969a-4ffa-9e6f-00ff3364fbff",
        "type": "sys",
        "name": "workflow_run_id",
        "description": "",
        "selector": [
          "sys",
          "workflow_run_id"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "1004c314-6da3-4f4b-996e-7bbf3f8a04d6",
        "full_content": null
      },
      {
        "id": "e2c98a46-c0bf-4ebf-a6e2-c6c56b800ce4",
        "type": "sys",
        "name": "workflow_id",
        "description": "",
        "selector": [
          "sys",
          "workflow_id"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "5f5637de-d434-4f3b-a2b1-b569afea3c89",
        "full_content": null
      },
      {
        "id": "df437756-4e49-4b15-bd8f-0dc600a2efbf",
        "type": "sys",
        "name": "app_id",
        "description": "",
        "selector": [
          "sys",
          "app_id"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "897352d5-faea-4467-9392-8cf70323c764",
        "full_content": null
      },
      {
        "id": "185a1782-2736-488a-9be5-dbac37917ae7",
        "type": "sys",
        "name": "user_id",
        "description": "",
        "selector": [
          "sys",
          "user_id"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "8d6676d0-2d7a-492a-aada-759337aa85c9",
        "full_content": null
      },
      {
        "id": "8819870b-89af-4e26-9504-b46526319051",
        "type": "sys",
        "name": "files",
        "description": "",
        "selector": [
          "sys",
          "files"
        ],
        "value_type": "array[file]",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": [],
        "full_content": null
      }
    ],
    "conversation_variables_api": [
      {
        "id": "53b22606-5976-4539-abef-625db5e9ed3f",
        "type": "conversation",
        "name": "last_stage",
        "description": "",
        "selector": [
          "conversation",
          "last_stage"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "initial",
        "full_content": null
      },
      {
        "id": "a0d7565d-bf1a-4b3a-a40a-5e279083baaf",
        "type": "conversation",
        "name": "last_intent",
        "description": "",
        "selector": [
          "conversation",
          "last_intent"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "nutrition_qa",
        "full_content": null
      },
      {
        "id": "115db97a-79e1-42b6-96c9-32365e3cbf4f",
        "type": "conversation",
        "name": "missing_info",
        "description": "",
        "selector": [
          "conversation",
          "missing_info"
        ],
        "value_type": "array[string]",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": [],
        "full_content": null
      },
      {
        "id": "b5fc202c-decd-4af5-85ba-bab3b2293f81",
        "type": "conversation",
        "name": "pending_task",
        "description": "",
        "selector": [
          "conversation",
          "pending_task"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "",
        "full_content": null
      },
      {
        "id": "e140f2c7-16db-47f2-90b4-d41f30b0511a",
        "type": "conversation",
        "name": "last_user_query",
        "description": "",
        "selector": [
          "conversation",
          "last_user_query"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "能量胶怎么吃？",
        "full_content": null
      },
      {
        "id": "85324278-0fa9-440d-ac18-badfe4b9a3a3",
        "type": "conversation",
        "name": "last_route",
        "description": "",
        "selector": [
          "conversation",
          "last_route"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "running_knowledge_qa",
        "full_content": null
      },
      {
        "id": "9ea49465-f305-4490-a64b-794c9a86fb82",
        "type": "conversation",
        "name": "last_plan_context_json",
        "description": "最近一次训练计划上下文摘要，JSON字符串。",
        "selector": [
          "conversation",
          "last_plan_context_json"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "{}",
        "full_content": null
      },
      {
        "id": "04b0b744-4c87-44cb-9c74-101ada29004c",
        "type": "conversation",
        "name": "last_ability_result_json",
        "description": "最近一次 VDOT/配速计算结果摘要，JSON字符串。",
        "selector": [
          "conversation",
          "last_ability_result_json"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "{}",
        "full_content": null
      },
      {
        "id": "e20122c5-507e-4ab1-a306-c6bfee6b2ef6",
        "type": "conversation",
        "name": "runner_profile",
        "description": "已弃用：长期用户画像改由后端画像系统维护。",
        "selector": [
          "conversation",
          "runner_profile"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false,
        "value": "{}",
        "full_content": null
      }
    ],
    "node_variables": [
      {
        "id": "befc738c-1c3c-4889-806d-fcee1d06c2ab",
        "type": "node",
        "name": "files",
        "description": "",
        "selector": [
          "1780536649345",
          "files"
        ],
        "value_type": "array[file]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "d346eb8b-5ddf-49ae-a465-886d1cb8d037",
        "type": "node",
        "name": "answer",
        "description": "",
        "selector": [
          "1780536649345",
          "answer"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "3a6ef490-03f0-46ed-abce-be0db3841b6a",
        "type": "node",
        "name": "usage",
        "description": "",
        "selector": [
          "1780478708723",
          "usage"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "0a454bcd-2338-406c-b71c-4dfd863b376a",
        "type": "node",
        "name": "reasoning_content",
        "description": "",
        "selector": [
          "1780478708723",
          "reasoning_content"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "baa9910c-ad85-42c2-b8be-7d85b866f983",
        "type": "node",
        "name": "text",
        "description": "",
        "selector": [
          "1780478708723",
          "text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "53b422f3-b9df-4e05-b0da-373693f90c56",
        "type": "node",
        "name": "output",
        "description": "",
        "selector": [
          "1782001000007",
          "output"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "afaeaece-a997-4460-a21c-752e8e3c3615",
        "type": "node",
        "name": "evidence_text",
        "description": "",
        "selector": [
          "1782001000006",
          "evidence_text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "15c88237-3fab-43c0-b12d-594925e3fe9a",
        "type": "node",
        "name": "result",
        "description": "",
        "selector": [
          "1782001000004",
          "result"
        ],
        "value_type": "array[object]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "772d0b72-eecf-489d-a2e4-86165c8e539f",
        "type": "node",
        "name": "selected_case_id",
        "description": "",
        "selector": [
          "1782001000003",
          "selected_case_id"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "c56f6139-6613-4c46-a8e9-3716317b7652",
        "type": "node",
        "name": "result",
        "description": "",
        "selector": [
          "1782001000003",
          "result"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "c5147265-c781-4c01-bf2a-e529cac7d6e2",
        "type": "node",
        "name": "source_policy",
        "description": "",
        "selector": [
          "1782001000002",
          "source_policy"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "1cba637e-0035-49c0-bef0-5c2a4a604838",
        "type": "node",
        "name": "retrieval_query",
        "description": "",
        "selector": [
          "1782001000002",
          "retrieval_query"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "ed6002cd-d4cd-47db-aae4-8feb6f78523f",
        "type": "node",
        "name": "product_specific",
        "description": "",
        "selector": [
          "1782001000002",
          "product_specific"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "33e4d62a-7b44-4085-9109-5c562a319616",
        "type": "node",
        "name": "needs_evidence_review",
        "description": "",
        "selector": [
          "1782001000002",
          "needs_evidence_review"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "bcf02dbc-0722-4245-982d-1f2382d19a78",
        "type": "node",
        "name": "knowledge_route",
        "description": "",
        "selector": [
          "1782001000002",
          "knowledge_route"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "55298d3d-b6c9-4244-9f69-d6a93b1defc0",
        "type": "node",
        "name": "excluded_terms_json",
        "description": "",
        "selector": [
          "1782001000002",
          "excluded_terms_json"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "5e0b671f-2e58-496f-b7f4-fe54d57aa236",
        "type": "node",
        "name": "answer_scope",
        "description": "",
        "selector": [
          "1782001000002",
          "answer_scope"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "6b8dc1dd-1c50-4332-bbb7-ae9d88ae6bc7",
        "type": "node",
        "name": "selected_case_id",
        "description": "",
        "selector": [
          "1780469319091",
          "selected_case_id"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "b31c848e-3e7e-4255-a2dc-da59d9bf1c6e",
        "type": "node",
        "name": "result",
        "description": "",
        "selector": [
          "1780469319091",
          "result"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "c9745878-bc60-4d44-8e24-dfc0ec92475f",
        "type": "node",
        "name": "selected_case_id",
        "description": "",
        "selector": [
          "1783000000305",
          "selected_case_id"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "7ba1cb29-7922-4106-93b6-ea8f6c2de762",
        "type": "node",
        "name": "result",
        "description": "",
        "selector": [
          "1783000000305",
          "result"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "80335339-301f-44e5-a932-062cd1102f4d",
        "type": "node",
        "name": "profile_followup_question",
        "description": "",
        "selector": [
          "1783000000300",
          "profile_followup_question"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "492e7939-4848-405e-9248-e059c37ddd98",
        "type": "node",
        "name": "profile_context_text",
        "description": "",
        "selector": [
          "1783000000300",
          "profile_context_text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "f98fb400-84b7-4bde-b3b3-0b588d269cbb",
        "type": "node",
        "name": "profile_update_summary",
        "description": "",
        "selector": [
          "1783000000300",
          "profile_update_summary"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "4b9d71b2-8871-4d2b-9aee-a0d6cced4e85",
        "type": "node",
        "name": "skipped_candidates",
        "description": "",
        "selector": [
          "1783000000300",
          "skipped_candidates"
        ],
        "value_type": "array[any]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "7ac55519-b1b4-4b3e-99ef-4a68fa601073",
        "type": "node",
        "name": "profile_write_payload_json",
        "description": "",
        "selector": [
          "1783000000300",
          "profile_write_payload_json"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "3e0afe0d-8d2a-4e65-aad4-b6dd847150c5",
        "type": "node",
        "name": "profile_write_payload",
        "description": "",
        "selector": [
          "1783000000300",
          "profile_write_payload"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "892d0927-4144-4147-a138-62198d24b4e6",
        "type": "node",
        "name": "write_modules",
        "description": "",
        "selector": [
          "1783000000300",
          "write_modules"
        ],
        "value_type": "array[any]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "0c0cca8b-4dc5-493a-9896-2272248b19d1",
        "type": "node",
        "name": "performance_record_payload",
        "description": "",
        "selector": [
          "1783000000300",
          "performance_record_payload"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "cb925c34-6ba3-4e54-b9a1-96b134c9b909",
        "type": "node",
        "name": "risk_profile_payload",
        "description": "",
        "selector": [
          "1783000000300",
          "risk_profile_payload"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "55053818-3783-4e2f-b042-cce84600419a",
        "type": "node",
        "name": "training_availability_payload",
        "description": "",
        "selector": [
          "1783000000300",
          "training_availability_payload"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "7348bb3a-7fbb-45d1-93b7-0336c5d0145b",
        "type": "node",
        "name": "training_status_payload",
        "description": "",
        "selector": [
          "1783000000300",
          "training_status_payload"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "aa64d8ed-eca4-470b-8227-34520484d29d",
        "type": "node",
        "name": "basic_profile_payload",
        "description": "",
        "selector": [
          "1783000000300",
          "basic_profile_payload"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "ee9624f4-78f1-462a-9add-92fed3d28ab8",
        "type": "node",
        "name": "has_performance_record_update",
        "description": "",
        "selector": [
          "1783000000300",
          "has_performance_record_update"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "c786abfd-f6ac-4b8e-809d-5793223233d6",
        "type": "node",
        "name": "has_risk_profile_update",
        "description": "",
        "selector": [
          "1783000000300",
          "has_risk_profile_update"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "e5d8198c-b59e-4213-b742-b1e94b1ef597",
        "type": "node",
        "name": "has_training_availability_update",
        "description": "",
        "selector": [
          "1783000000300",
          "has_training_availability_update"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "d657ee59-75b1-4fd6-b19f-f4c97fcefcfd",
        "type": "node",
        "name": "has_training_status_update",
        "description": "",
        "selector": [
          "1783000000300",
          "has_training_status_update"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "9a95c499-db07-4a88-9164-8fbcfc5f9791",
        "type": "node",
        "name": "has_basic_profile_update",
        "description": "",
        "selector": [
          "1783000000300",
          "has_basic_profile_update"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "67686f01-127a-421c-b806-e9c13332abca",
        "type": "node",
        "name": "skip_reason",
        "description": "",
        "selector": [
          "1783000000300",
          "skip_reason"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "3edc9b5e-c1d0-4ba9-bbec-b65264ddb282",
        "type": "node",
        "name": "write_reason",
        "description": "",
        "selector": [
          "1783000000300",
          "write_reason"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "9f689244-2c2b-4dee-b81a-416c451bd3ad",
        "type": "node",
        "name": "profile_write_allowed",
        "description": "",
        "selector": [
          "1783000000300",
          "profile_write_allowed"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "c26c180f-9bf1-471f-9c58-fe7f7621f62b",
        "type": "node",
        "name": "profile_write_needed",
        "description": "",
        "selector": [
          "1783000000300",
          "profile_write_needed"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "c87133c1-febd-4e96-86de-143b7b7d3ed0",
        "type": "node",
        "name": "__dummy__",
        "description": "",
        "selector": [
          "1780545505390",
          "__dummy__"
        ],
        "value_type": "none",
        "edited": false,
        "visible": false,
        "is_truncated": false
      },
      {
        "id": "53b22606-5976-4539-abef-625db5e9ed3f",
        "type": "conversation",
        "name": "last_stage",
        "description": "",
        "selector": [
          "conversation",
          "last_stage"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "a0d7565d-bf1a-4b3a-a40a-5e279083baaf",
        "type": "conversation",
        "name": "last_intent",
        "description": "",
        "selector": [
          "conversation",
          "last_intent"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "115db97a-79e1-42b6-96c9-32365e3cbf4f",
        "type": "conversation",
        "name": "missing_info",
        "description": "",
        "selector": [
          "conversation",
          "missing_info"
        ],
        "value_type": "array[string]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "b5fc202c-decd-4af5-85ba-bab3b2293f81",
        "type": "conversation",
        "name": "pending_task",
        "description": "",
        "selector": [
          "conversation",
          "pending_task"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "e140f2c7-16db-47f2-90b4-d41f30b0511a",
        "type": "conversation",
        "name": "last_user_query",
        "description": "",
        "selector": [
          "conversation",
          "last_user_query"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "85324278-0fa9-440d-ac18-badfe4b9a3a3",
        "type": "conversation",
        "name": "last_route",
        "description": "",
        "selector": [
          "conversation",
          "last_route"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "0f817533-c71a-428f-b0e8-0a5783f7c59e",
        "type": "node",
        "name": "current_stage",
        "description": "",
        "selector": [
          "1781760882848",
          "current_stage"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "aada89ac-47f6-4a07-92e2-7f5a00c1ffbf",
        "type": "node",
        "name": "current_intent",
        "description": "",
        "selector": [
          "1781760882848",
          "current_intent"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "a4c002f3-de31-4523-a19a-eef0ac60f4b5",
        "type": "node",
        "name": "selected_route",
        "description": "",
        "selector": [
          "1781760882848",
          "selected_route"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "177dce1c-6f76-47e0-99c7-e24f37de8e41",
        "type": "node",
        "name": "updated_profile_text",
        "description": "",
        "selector": [
          "1781760882848",
          "updated_profile_text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "3e7f6824-9eee-4850-91de-a49ec042cf2f",
        "type": "node",
        "name": "updated_profile",
        "description": "",
        "selector": [
          "1781760882848",
          "updated_profile"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "1d1cabc7-2ac4-49d8-bf74-55054a8675ea",
        "type": "node",
        "name": "task_mode",
        "description": "",
        "selector": [
          "1781760882848",
          "task_mode"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "d69f0ccb-a25c-4090-a9d6-698021f8cb94",
        "type": "node",
        "name": "safety_route",
        "description": "",
        "selector": [
          "1781760882848",
          "safety_route"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "f57ff0b0-e8bc-4817-ae67-d06d4cb37c01",
        "type": "node",
        "name": "risk_type",
        "description": "",
        "selector": [
          "1781760882848",
          "risk_type"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "a59e62dc-2408-41df-8ac3-879797c7cec9",
        "type": "node",
        "name": "risk_level",
        "description": "",
        "selector": [
          "1781760882848",
          "risk_level"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "fb3b9eec-6af2-4e22-89ce-2e480234a3cc",
        "type": "node",
        "name": "risk_flags_text",
        "description": "",
        "selector": [
          "1781760882848",
          "risk_flags_text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "78ef5785-744f-4886-ace6-7f3ac22dfe66",
        "type": "node",
        "name": "risk_flags",
        "description": "",
        "selector": [
          "1781760882848",
          "risk_flags"
        ],
        "value_type": "array[any]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "4e55931f-8c2a-4065-add0-b3b33424aa41",
        "type": "node",
        "name": "result",
        "description": "",
        "selector": [
          "1781760882848",
          "result"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "82ff3372-3564-4692-a3da-e9f970334c3a",
        "type": "node",
        "name": "resolved_query",
        "description": "",
        "selector": [
          "1781760882848",
          "resolved_query"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "51191b8e-57b0-4982-b6fc-e494dc9c7351",
        "type": "node",
        "name": "relevant_profile_text",
        "description": "",
        "selector": [
          "1781760882848",
          "relevant_profile_text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "47aad1d4-7d49-4392-852a-1981528492bd",
        "type": "node",
        "name": "relevant_profile",
        "description": "",
        "selector": [
          "1781760882848",
          "relevant_profile"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "0545a9b9-f6cd-44a2-ac63-1611897c0aa9",
        "type": "node",
        "name": "qa_domains_text",
        "description": "",
        "selector": [
          "1781760882848",
          "qa_domains_text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "978c0831-56b9-4fda-8cd5-76b3bc4c050b",
        "type": "node",
        "name": "qa_domains",
        "description": "",
        "selector": [
          "1781760882848",
          "qa_domains"
        ],
        "value_type": "array[any]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "fc3c08d3-67ed-4204-8e40-65996d11089d",
        "type": "node",
        "name": "primary_intent",
        "description": "",
        "selector": [
          "1781760882848",
          "primary_intent"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "71d6a3e8-9b68-41b2-8702-512e22c8d668",
        "type": "node",
        "name": "plan_mode",
        "description": "",
        "selector": [
          "1781760882848",
          "plan_mode"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "6df2e4ea-a5b1-4843-accf-1e3d3894240d",
        "type": "node",
        "name": "needs_coros",
        "description": "",
        "selector": [
          "1781760882848",
          "needs_coros"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "2864a8d0-3a4d-4d0f-9e24-c00cb0b05357",
        "type": "node",
        "name": "missing_info_text",
        "description": "",
        "selector": [
          "1781760882848",
          "missing_info_text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "0e452060-4b9f-4e43-8d55-02a8e8ec9e50",
        "type": "node",
        "name": "missing_info",
        "description": "",
        "selector": [
          "1781760882848",
          "missing_info"
        ],
        "value_type": "array[any]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "225e5d11-9751-4c55-9891-3e9f0b0419b0",
        "type": "node",
        "name": "medical_context",
        "description": "",
        "selector": [
          "1781760882848",
          "medical_context"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "c934be99-046a-4a5b-82ba-fcb726084052",
        "type": "node",
        "name": "injury_status",
        "description": "",
        "selector": [
          "1781760882848",
          "injury_status"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "bc678035-d97e-4b5f-8946-eb20faae965e",
        "type": "node",
        "name": "doctor_guidance_text",
        "description": "",
        "selector": [
          "1781760882848",
          "doctor_guidance_text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "9a48ee3e-2a31-4d14-ae8e-c664289883c4",
        "type": "node",
        "name": "dangerous_behavior_type",
        "description": "",
        "selector": [
          "1781760882848",
          "dangerous_behavior_type"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "fa3b22cb-4632-4db9-bbed-4bdce44b9fb3",
        "type": "node",
        "name": "conversation_relation",
        "description": "",
        "selector": [
          "1781760882848",
          "conversation_relation"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "c47ceb74-4624-4d2f-8a38-5d104f7fdaa1",
        "type": "node",
        "name": "analysis_data_source",
        "description": "",
        "selector": [
          "1781760882848",
          "analysis_data_source"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "39238674-1c91-4d24-b98f-8964185743c0",
        "type": "node",
        "name": "ability_input",
        "description": "",
        "selector": [
          "1781760882848",
          "ability_input"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "be84f56c-baeb-4aef-8510-71becc02610f",
        "type": "node",
        "name": "result",
        "description": "",
        "selector": [
          "1781771000104",
          "result"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "502ee576-79db-4b55-963e-f99f0232bce9",
        "type": "node",
        "name": "relevant_profile_text",
        "description": "",
        "selector": [
          "1781771000104",
          "relevant_profile_text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "2437ed4e-6ac6-490f-85d7-266471f89fa0",
        "type": "node",
        "name": "relevant_profile",
        "description": "",
        "selector": [
          "1781771000104",
          "relevant_profile"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "669ea7ae-7f86-40eb-b3df-4df99a700052",
        "type": "node",
        "name": "ability_input",
        "description": "",
        "selector": [
          "1781771000104",
          "ability_input"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "2c50612a-df62-43b6-8a82-319780cdc505",
        "type": "node",
        "name": "pending_task",
        "description": "",
        "selector": [
          "1781771000104",
          "pending_task"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "afb60446-92d1-4575-aeef-04cbd5e30084",
        "type": "node",
        "name": "missing_info_text",
        "description": "",
        "selector": [
          "1781771000104",
          "missing_info_text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "9fcf2e54-8152-4941-8803-3bbd8e030c60",
        "type": "node",
        "name": "missing_info",
        "description": "",
        "selector": [
          "1781771000104",
          "missing_info"
        ],
        "value_type": "array[any]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "64eb1c9e-f35b-49ff-8b09-4f21e2e1ded1",
        "type": "node",
        "name": "plan_mode",
        "description": "",
        "selector": [
          "1781771000104",
          "plan_mode"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "6533c0e4-22f1-495f-b00a-e879e846e0c0",
        "type": "node",
        "name": "doctor_guidance_text",
        "description": "",
        "selector": [
          "1781771000104",
          "doctor_guidance_text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "547bac50-e2a3-4f24-a899-2e8cfb31e973",
        "type": "node",
        "name": "medical_context",
        "description": "",
        "selector": [
          "1781771000104",
          "medical_context"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "698b9df2-101c-4d0e-b268-03ab3e7de9d3",
        "type": "node",
        "name": "safety_route",
        "description": "",
        "selector": [
          "1781771000104",
          "safety_route"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "fa3a912b-2b31-4bb7-967d-91acb6f877e4",
        "type": "node",
        "name": "risk_type",
        "description": "",
        "selector": [
          "1781771000104",
          "risk_type"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "91b21f80-f744-4717-8ac0-c9b6d4a45e06",
        "type": "node",
        "name": "risk_level",
        "description": "",
        "selector": [
          "1781771000104",
          "risk_level"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "928da2f1-1fa2-4275-ab39-aa16acc6ae1d",
        "type": "node",
        "name": "needs_coros",
        "description": "",
        "selector": [
          "1781771000104",
          "needs_coros"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "339043f1-d929-4228-93fb-bfa62427f085",
        "type": "node",
        "name": "analysis_data_source",
        "description": "",
        "selector": [
          "1781771000104",
          "analysis_data_source"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "730685fc-292a-4d06-8283-f601fa1f609f",
        "type": "node",
        "name": "qa_domains_text",
        "description": "",
        "selector": [
          "1781771000104",
          "qa_domains_text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "97946ce3-a1f5-407e-932f-b90e36e0cc82",
        "type": "node",
        "name": "qa_domains",
        "description": "",
        "selector": [
          "1781771000104",
          "qa_domains"
        ],
        "value_type": "array[string]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "1d0624fa-4ea8-42f2-8eb4-617f67bbcb96",
        "type": "node",
        "name": "task_mode",
        "description": "",
        "selector": [
          "1781771000104",
          "task_mode"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "a18f3d02-815e-43da-a56e-5adba99d57b9",
        "type": "node",
        "name": "primary_intent",
        "description": "",
        "selector": [
          "1781771000104",
          "primary_intent"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "34135287-ed4f-4573-bc4f-609710624e7c",
        "type": "node",
        "name": "resolved_query",
        "description": "",
        "selector": [
          "1781771000104",
          "resolved_query"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "f5a65a56-d15d-4212-ab16-2cd51d00d94c",
        "type": "node",
        "name": "fallback_reason",
        "description": "",
        "selector": [
          "1781771000104",
          "fallback_reason"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "e51437f9-37ba-4187-a2d9-a0f2a6da87b0",
        "type": "node",
        "name": "fallback_needed",
        "description": "",
        "selector": [
          "1781771000104",
          "fallback_needed"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "9abd9367-1ad0-45fd-9b25-89efd05be34a",
        "type": "node",
        "name": "clarification_question",
        "description": "",
        "selector": [
          "1781771000104",
          "clarification_question"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "f0e86ac4-2967-47c6-ae54-e29a248a99a8",
        "type": "node",
        "name": "clarification_needed",
        "description": "",
        "selector": [
          "1781771000104",
          "clarification_needed"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "629734cc-e35c-4ffb-aa87-f2b2a00f8cd9",
        "type": "node",
        "name": "ability_missing_info",
        "description": "",
        "selector": [
          "1781771000104",
          "ability_missing_info"
        ],
        "value_type": "array[any]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "74504d2c-0d31-498a-a3d9-4ccfe027b83f",
        "type": "node",
        "name": "estimate_confidence",
        "description": "",
        "selector": [
          "1781771000104",
          "estimate_confidence"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "fcb04dd1-777f-4079-ad76-c58810960978",
        "type": "node",
        "name": "needs_profile_for_ability",
        "description": "",
        "selector": [
          "1781771000104",
          "needs_profile_for_ability"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "966ea1c9-0d2f-401b-acf5-9e8f134c26ac",
        "type": "node",
        "name": "needs_race_pace",
        "description": "",
        "selector": [
          "1781771000104",
          "needs_race_pace"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "1646f839-3a5f-4902-a72a-e00a769494f1",
        "type": "node",
        "name": "needs_vdot",
        "description": "",
        "selector": [
          "1781771000104",
          "needs_vdot"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "494f3851-3751-4755-840c-83661ec6281e",
        "type": "node",
        "name": "unit_ambiguous",
        "description": "",
        "selector": [
          "1781771000104",
          "unit_ambiguous"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "84991b66-0147-43b2-a694-72749705cdfb",
        "type": "node",
        "name": "unit_type",
        "description": "",
        "selector": [
          "1781771000104",
          "unit_type"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "148aa454-294f-4786-96ff-6e25f323d6b6",
        "type": "node",
        "name": "question_focus",
        "description": "",
        "selector": [
          "1781771000104",
          "question_focus"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "45b21953-6d57-4558-aa51-b0765ab5735d",
        "type": "node",
        "name": "target_time",
        "description": "",
        "selector": [
          "1781771000104",
          "target_time"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "35670af7-e673-4ce9-92fc-cb1a15262358",
        "type": "node",
        "name": "target_distance",
        "description": "",
        "selector": [
          "1781771000104",
          "target_distance"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "a34fdfac-b0eb-4eea-993d-e625ebf4abb8",
        "type": "node",
        "name": "allow_easy_pace_estimate",
        "description": "",
        "selector": [
          "1781771000104",
          "allow_easy_pace_estimate"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "8e341383-03dc-4ef8-ac6d-381418940b52",
        "type": "node",
        "name": "easy_pace_confirmed",
        "description": "",
        "selector": [
          "1781771000104",
          "easy_pace_confirmed"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "66a7aeed-9ec8-419d-95c1-e690c0928335",
        "type": "node",
        "name": "easy_pace_context",
        "description": "",
        "selector": [
          "1781771000104",
          "easy_pace_context"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "74f12ac8-2c1b-4f6b-bd3c-f80cdcf0c3bf",
        "type": "node",
        "name": "easy_pace",
        "description": "",
        "selector": [
          "1781771000104",
          "easy_pace"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "314ed053-a034-4c77-be74-e16a6483502c",
        "type": "node",
        "name": "ability_pace",
        "description": "",
        "selector": [
          "1781771000104",
          "ability_pace"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "ad3262f1-fb24-4e2b-b9a6-3a57e663ff2f",
        "type": "node",
        "name": "ability_time",
        "description": "",
        "selector": [
          "1781771000104",
          "ability_time"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "0559bcd1-40ba-463c-a5b5-0ba7622e5025",
        "type": "node",
        "name": "ability_distance",
        "description": "",
        "selector": [
          "1781771000104",
          "ability_distance"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "310fe424-b6d5-4b92-8766-9014f55ce386",
        "type": "node",
        "name": "performance_source",
        "description": "",
        "selector": [
          "1781771000104",
          "performance_source"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "660abaa0-caaf-470f-b0e2-8c8a37e81f74",
        "type": "node",
        "name": "calculation_type",
        "description": "",
        "selector": [
          "1781771000104",
          "calculation_type"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "3c4f7fac-b090-476d-9eb5-47f9f395fd96",
        "type": "node",
        "name": "ability_calculation",
        "description": "",
        "selector": [
          "1781771000104",
          "ability_calculation"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "3582392c-4383-4b2e-8a29-5c780d8e04ad",
        "type": "node",
        "name": "ordinary_qa_query_text",
        "description": "",
        "selector": [
          "1781771000104",
          "ordinary_qa_query_text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "71c6a83f-6b0d-47ff-9f01-26879c25c774",
        "type": "node",
        "name": "ordinary_qa_expanded_queries",
        "description": "",
        "selector": [
          "1781771000104",
          "ordinary_qa_expanded_queries"
        ],
        "value_type": "array[string]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "91e63249-24b5-42c4-886b-d5927ced4d9d",
        "type": "node",
        "name": "ordinary_qa_primary_query",
        "description": "",
        "selector": [
          "1781771000104",
          "ordinary_qa_primary_query"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "cc3dd32a-68e1-475f-86d1-2f5d49726cdd",
        "type": "node",
        "name": "ordinary_qa_topics",
        "description": "",
        "selector": [
          "1781771000104",
          "ordinary_qa_topics"
        ],
        "value_type": "array[string]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "404b09f5-dd29-4bb4-afec-7fcbd31657ef",
        "type": "node",
        "name": "ordinary_qa_needed",
        "description": "",
        "selector": [
          "1781771000104",
          "ordinary_qa_needed"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "2d4f8f43-9f0d-4d9b-a7cc-053b75a627b9",
        "type": "node",
        "name": "has_profile_update",
        "description": "",
        "selector": [
          "1781771000104",
          "has_profile_update"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "9a584839-e3d4-4d54-b7c3-7217cca4181c",
        "type": "node",
        "name": "profile_update_candidates",
        "description": "",
        "selector": [
          "1781771000104",
          "profile_update_candidates"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "c9e8cbf1-3ba5-41ea-8a0b-7ab90193286f",
        "type": "node",
        "name": "profile_read_keys",
        "description": "",
        "selector": [
          "1781771000104",
          "profile_read_keys"
        ],
        "value_type": "array[any]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "3436d81b-b877-43bf-b8ca-eb96b7c7e3ac",
        "type": "node",
        "name": "profile_read_needed",
        "description": "",
        "selector": [
          "1781771000104",
          "profile_read_needed"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "7fe9e1a6-c352-483c-b031-475e33b0629c",
        "type": "node",
        "name": "extracted_slots",
        "description": "",
        "selector": [
          "1781771000104",
          "extracted_slots"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "2204cebe-9d1a-4d74-81ba-8380cf25af89",
        "type": "node",
        "name": "safety_risk_reason",
        "description": "",
        "selector": [
          "1781771000104",
          "safety_risk_reason"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "59dbc76e-57d1-4333-9b98-3d828dfd2a3e",
        "type": "node",
        "name": "has_dangerous_request",
        "description": "",
        "selector": [
          "1781771000104",
          "has_dangerous_request"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "306b3fbb-c5d9-41bb-a643-0bc56152adb3",
        "type": "node",
        "name": "has_out_of_scope_disguise",
        "description": "",
        "selector": [
          "1781771000104",
          "has_out_of_scope_disguise"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "bbfebb5e-8797-44c7-b6e2-f16b94eb81a1",
        "type": "node",
        "name": "has_prompt_injection",
        "description": "",
        "selector": [
          "1781771000104",
          "has_prompt_injection"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "7b4ace39-56e5-4862-8db7-e52e4d7ae2cc",
        "type": "node",
        "name": "has_emergency_symptom",
        "description": "",
        "selector": [
          "1781771000104",
          "has_emergency_symptom"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "d1bca68c-582e-4cb0-a901-956f61328059",
        "type": "node",
        "name": "has_medical_risk",
        "description": "",
        "selector": [
          "1781771000104",
          "has_medical_risk"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "41930a84-8359-4d5b-a65b-19808b369c1d",
        "type": "node",
        "name": "has_discomfort",
        "description": "",
        "selector": [
          "1781771000104",
          "has_discomfort"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "8b264126-984a-499b-9697-5e2e33ae8e56",
        "type": "node",
        "name": "safety_flags",
        "description": "",
        "selector": [
          "1781771000104",
          "safety_flags"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "7065a924-c187-45c8-bc25-ca77f682e9aa",
        "type": "node",
        "name": "missing_slots",
        "description": "",
        "selector": [
          "1781771000104",
          "missing_slots"
        ],
        "value_type": "array[any]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "3ebd3a6b-efd7-4bce-a661-1808ce9f4224",
        "type": "node",
        "name": "response_mode",
        "description": "",
        "selector": [
          "1781771000104",
          "response_mode"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "f5ee47eb-1e77-45f5-9622-826553d7b993",
        "type": "node",
        "name": "current_intent",
        "description": "",
        "selector": [
          "1781771000104",
          "current_intent"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "9f6c7756-83c3-4ce7-8b48-3c7db521be2c",
        "type": "node",
        "name": "next_action",
        "description": "",
        "selector": [
          "1781771000104",
          "next_action"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "7a61f43c-bb47-4db8-827d-d8e4ee2f8ad7",
        "type": "node",
        "name": "current_stage",
        "description": "",
        "selector": [
          "1781771000104",
          "current_stage"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "383e887b-74ed-48b2-81d0-d116332a35f4",
        "type": "node",
        "name": "continuation_type",
        "description": "",
        "selector": [
          "1781771000104",
          "continuation_type"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "319d893d-19e6-4d5c-b12c-b570d721cb3a",
        "type": "node",
        "name": "is_continuation",
        "description": "",
        "selector": [
          "1781771000104",
          "is_continuation"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "9e067a12-34a9-4144-95f2-eefe3215abd6",
        "type": "node",
        "name": "route_reason",
        "description": "",
        "selector": [
          "1781771000104",
          "route_reason"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "3f571277-3990-4e44-a822-ad8a949022f0",
        "type": "node",
        "name": "route_confidence",
        "description": "",
        "selector": [
          "1781771000104",
          "route_confidence"
        ],
        "value_type": "number",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "74df359a-6058-44b6-8641-d60ac35a30c9",
        "type": "node",
        "name": "selected_route",
        "description": "",
        "selector": [
          "1781771000104",
          "selected_route"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "a6ecdda1-2461-4948-8cf4-72110d78dc1f",
        "type": "node",
        "name": "parsed_json",
        "description": "",
        "selector": [
          "1781771000104",
          "parsed_json"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "7c10223d-4264-4afc-bd8e-63fc67f25952",
        "type": "node",
        "name": "parse_error",
        "description": "",
        "selector": [
          "1781771000104",
          "parse_error"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "e0aaba51-4244-494d-acf2-78c67c2a1f74",
        "type": "node",
        "name": "parse_ok",
        "description": "",
        "selector": [
          "1781771000104",
          "parse_ok"
        ],
        "value_type": "boolean",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "463a08b2-41c7-47af-8362-4562fc2257f9",
        "type": "node",
        "name": "usage",
        "description": "",
        "selector": [
          "1780468871825",
          "usage"
        ],
        "value_type": "object",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "4ae96a93-00dc-491a-8df9-a7739d000238",
        "type": "node",
        "name": "reasoning_content",
        "description": "",
        "selector": [
          "1780468871825",
          "reasoning_content"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "42e740e4-b2ac-4506-94f2-faeae8e17ef7",
        "type": "node",
        "name": "text",
        "description": "",
        "selector": [
          "1780468871825",
          "text"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "cd1649f5-f880-46f7-a0e6-afe2c92f2edb",
        "type": "node",
        "name": "__dummy__",
        "description": "",
        "selector": [
          "1779676995552",
          "__dummy__"
        ],
        "value_type": "none",
        "edited": false,
        "visible": false,
        "is_truncated": false
      },
      {
        "id": "3fbe7a7b-4253-4758-a851-7d53647d158e",
        "type": "sys",
        "name": "dialogue_count",
        "description": "",
        "selector": [
          "sys",
          "dialogue_count"
        ],
        "value_type": "number",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "56044286-0095-4d5d-a5d0-ad5cddf7581e",
        "type": "sys",
        "name": "conversation_id",
        "description": "",
        "selector": [
          "sys",
          "conversation_id"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "bea181f2-dd25-4a69-b3d1-b854c3a2e7c4",
        "type": "sys",
        "name": "query",
        "description": "",
        "selector": [
          "sys",
          "query"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "c218d647-969a-4ffa-9e6f-00ff3364fbff",
        "type": "sys",
        "name": "workflow_run_id",
        "description": "",
        "selector": [
          "sys",
          "workflow_run_id"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "e2c98a46-c0bf-4ebf-a6e2-c6c56b800ce4",
        "type": "sys",
        "name": "workflow_id",
        "description": "",
        "selector": [
          "sys",
          "workflow_id"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "df437756-4e49-4b15-bd8f-0dc600a2efbf",
        "type": "sys",
        "name": "app_id",
        "description": "",
        "selector": [
          "sys",
          "app_id"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "185a1782-2736-488a-9be5-dbac37917ae7",
        "type": "sys",
        "name": "user_id",
        "description": "",
        "selector": [
          "sys",
          "user_id"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "8819870b-89af-4e26-9504-b46526319051",
        "type": "sys",
        "name": "files",
        "description": "",
        "selector": [
          "sys",
          "files"
        ],
        "value_type": "array[file]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "0b5a93a5-52dd-4fa2-b18e-6356b333283a",
        "type": "node",
        "name": "files",
        "description": "",
        "selector": [
          "1782100000011",
          "files"
        ],
        "value_type": "array[file]",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "abeff209-34d7-4863-ae0e-ab99dbaf8e0c",
        "type": "node",
        "name": "answer",
        "description": "",
        "selector": [
          "1782100000011",
          "answer"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "9ea49465-f305-4490-a64b-794c9a86fb82",
        "type": "conversation",
        "name": "last_plan_context_json",
        "description": "最近一次训练计划上下文摘要，JSON字符串。",
        "selector": [
          "conversation",
          "last_plan_context_json"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "04b0b744-4c87-44cb-9c74-101ada29004c",
        "type": "conversation",
        "name": "last_ability_result_json",
        "description": "最近一次 VDOT/配速计算结果摘要，JSON字符串。",
        "selector": [
          "conversation",
          "last_ability_result_json"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      },
      {
        "id": "e20122c5-507e-4ab1-a306-c6bfee6b2ef6",
        "type": "conversation",
        "name": "runner_profile",
        "description": "已弃用：长期用户画像改由后端画像系统维护。",
        "selector": [
          "conversation",
          "runner_profile"
        ],
        "value_type": "string",
        "edited": false,
        "visible": true,
        "is_truncated": false
      }
    ]
  }
}