type: object properties: script_path: type: string description: Path to the script or flow to execute when triggered permissioned_as: type: string description: The user or group this trigger runs as (permissioned_as) is_flow: type: boolean description: True if script_path points to a flow, false if it points to a script nats_resource_path: type: string description: Path to the NATS resource containing connection configuration use_jetstream: type: boolean description: If true, uses NATS JetStream for durable message delivery stream_name: type: string description: JetStream stream name (required when use_jetstream is true) consumer_name: type: string description: JetStream consumer name (required when use_jetstream is true) subjects: type: array items: type: string description: Array of NATS subjects to subscribe to error_handler_path: type: string description: Path to a script or flow to run when the triggered job fails error_handler_args: type: object description: The arguments to pass to the script or flow retry: type: object properties: constant: type: object description: Retry with constant delay between attempts properties: attempts: type: integer description: Number of retry attempts seconds: type: integer description: Seconds to wait between retries exponential: type: object description: Retry with exponential backoff (delay doubles each time) properties: attempts: type: integer description: Number of retry attempts multiplier: type: integer description: Multiplier for exponential backoff seconds: type: integer minimum: 1 description: Initial delay in seconds random_factor: type: integer minimum: 0 maximum: 100 description: Random jitter percentage (0-100) to avoid thundering herd retry_if: $ref: '#/components/schemas/RetryIf' description: Retry configuration for failed module executions required: - script_path - permissioned_as - is_flow - nats_resource_path - use_jetstream - subjects