canonical_id: "array_ops"
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: [operation, input]
  properties:
    operation:
      type: string
      enum: [count, first, last, reverse, sum, average, min, max, sort, unique]
    input:
      type: array
      description: 輸入陣列（元素為數字或字串）
    args:
      type: object
output_schema:
  type: object
  properties:
    success:
      type: boolean
    data:
      type: object
      properties:
        result: {}
        operation:
          type: string
gherkin_tests:
  - scenario: "sort 數字陣列"
    given: '{"operation":"sort","input":[3,1,2]}'
    then_contains: '"result":[1,2,3]'
  - scenario: "sum 操作"
    given: '{"operation":"sum","input":[1,2,3]}'
    then_contains: '"result":6'
  - scenario: "空陣列 first"
    given: '{"operation":"first","input":[]}'
    then_contains: '{"success":false'
tags: [builtin, data, array, list, transform]
description: "陣列操作：count/first/last/reverse/sum/average/min/max/sort/unique。"
config_example: |
  my_array_op:                            # 節點名稱（可自訂）
    operation: "sort"                     # 運算類型（必填），可選值：count/first/last/reverse/sum/average/min/max/sort/unique
    input: [3, 1, 4, 1, 5, 9, 2, 6]      # 輸入陣列，元素為數字或字串（必填）
    args: {}                              # 操作參數（選填，目前各 operation 不需額外參數）
