# Artifact Demo Action # Demonstrates creating file and progress artifacts via the Attune API ref: python_example.artifact_demo label: "Artifact Demo" description: "Creates a file artifact (written directly to the shared volume) and a progress artifact, updating progress over multiple iterations" enabled: true # Runner type determines how the action is executed runner_type: python # Minimum Python version required (semver constraint) runtime_version: ">=3.9" # Entry point is the Python script to execute entry_point: artifact_demo.py # Parameter delivery: stdin for secure parameter passing parameter_delivery: stdin parameter_format: json # Output format: json (structured data parsing enabled) output_format: json # Action parameters schema (flat format with inline required/secret) parameters: iterations: type: integer description: "Number of iterations to run (each adds a log line and updates progress)" default: 50 minimum: 1 maximum: 200 visibility: type: string description: "Artifact visibility level: public (all authenticated users) or private (scope/owner restricted)" default: "private" enum: - "public" - "private" # Output schema (flat format) output_schema: file_artifact_id: type: integer description: "ID of the file artifact" required: true file_artifact_ref: type: string description: "Stable ref of the file artifact" required: true file_version_id: type: integer description: "ID of the file artifact version created for this execution" required: true file_path: type: string description: "Relative path of the file on the shared artifact volume" required: true progress_artifact_id: type: integer description: "ID of the progress artifact" required: true iterations_completed: type: integer description: "Number of iterations completed" required: true visibility: type: string description: "Visibility level that was applied to the file artifact" required: true success: type: boolean description: "Whether the demo completed successfully" required: true # Tags for categorization tags: - python - example - artifacts - progress - demo