canonical_id: "if_control" display_name: "條件判斷" category: "logic" version: "v1" wasi_target: "preview1" stability: "floating" runtime_compat: - "cf-workers" - "workerd" - "wazero" constraints: max_size_kb: 2048 max_cold_start_ms: 50 no_network_syscall: true no_filesystem_syscall: true io_model: "stdin_stdout_json" input_schema: type: object required: [condition] properties: condition: type: string description: 條件運算式,支援 key(truthy)、key == value、key > number、key < number input: type: object description: 條件運算式中參照的變數字典 output_schema: type: object properties: success: type: boolean data: type: object properties: result: type: boolean branch: type: string enum: ["true", "false"] gherkin_tests: - scenario: "條件成立走 true 分支" given: '{"condition":"status == active","input":{"status":"active"}}' then_contains: '"branch":"true"' - scenario: "條件不成立走 false 分支" given: '{"condition":"status == active","input":{"status":"inactive"}}' then_contains: '"branch":"false"' - scenario: "缺少 condition" given: '{"input":{"status":"active"}}' then_contains: '{"success":false' tags: [builtin, control, if, condition, branch] description: "評估條件運算式,依結果路由到 true 或 false 分支。" config_example: | my_if: # 節點名稱(可自訂) condition: "status == active" # 條件運算式(必填) input: # 條件運算式中參照的變數字典(選填) status: "{{upstream.status}}"