canonical_id: "merge" 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: [inputs] properties: inputs: type: array description: 要合併的物件陣列,後者欄位覆蓋前者 items: type: object output_schema: type: object properties: success: type: boolean data: type: object description: 所有輸入物件合併後的結果 gherkin_tests: - scenario: "合併兩個物件" given: '{"inputs":[{"a":1},{"b":2}]}' then_contains: '"a":1' - scenario: "後者欄位覆蓋前者" given: '{"inputs":[{"a":1},{"a":2}]}' then_contains: '"a":2' - scenario: "inputs 為空陣列時失敗" given: '{"inputs":[]}' then_contains: '{"success":false' tags: [builtin, merge, combine, object, context] description: "將多個物件合併為一個,後者欄位覆蓋前者同名欄位。" config_example: | my_merge: # 節點名稱(可自訂) inputs: # 要合併的物件陣列(必填) - "{{node_a.data}}" # 第一個來源物件 - "{{node_b.data}}" # 第二個來源物件(後者覆蓋前者同名欄位)