# ============================================================================
# Inputs-Schema Action — Advanced Input Validation via JSON Schema
# ============================================================================
# Demonstrates the optional inputs_schema field for complex validation
# rules beyond basic argument types.
# Create: agents action create --config examples/actions/inputs-schema.yaml
# ============================================================================

name: local/data-pipeline
description: "Build and validate a data processing pipeline"
long_description: |
  Creates a data pipeline with configurable stages. Uses inputs_schema
  for advanced validation of the pipeline configuration structure.

strategy_actor: local/strategist
execution_actor: local/executor

definition_of_done: |
  Pipeline runs end-to-end successfully. All stages produce valid
  output. Data quality checks pass on final output.

reusable: true
read_only: false

arguments:
  - name: pipeline_name
    type: string
    required: true
    description: "Name of the pipeline to build"
  - name: dry_run
    type: boolean
    required: false
    description: "Run in dry-run mode without writing output"
    default: false

inputs_schema:
  type: object
  properties:
    stages:
      type: array
      items:
        type: object
        properties:
          name:
            type: string
          transform:
            type: string
        required:
          - name
          - transform
    output_format:
      type: string
      enum:
        - csv
        - json
        - parquet
  required:
    - stages
