$schema: https://json-schema.org/draft/2020-12/schema
description: An artifact representing a data value, file, or resource that can be
  used or generated by workflow processes
type: object
properties:
  '@type':
    const: Artifact
    description: Type identifier for a wfdesc Artifact
  '@id':
    type: string
    format: uri
    description: Unique identifier for this artifact
  value:
    description: The concrete data value, file reference, or content of this artifact
    oneOf:
    - type: string
    - type: number
    - type: boolean
    - type: array
    - type: object
    - type: 'null'
  mediaType:
    type: string
    description: MIME type of the artifact content
    examples:
    - application/json
    - text/csv
    - image/tiff
    - application/x-netcdf
    - text/plain
  size:
    type: integer
    minimum: 0
    description: Size of the artifact in bytes
  checksum:
    type: object
    description: Checksum/hash information for data integrity
    properties:
      algorithm:
        type: string
        enum:
        - MD5
        - SHA-1
        - SHA-256
        - SHA-512
        description: Hash algorithm used
      value:
        type: string
        description: Hexadecimal hash value
    required:
    - algorithm
    - value
  description:
    type: string
    description: Human-readable description of this artifact
  name:
    type: string
    description: Short name or label for this artifact
  encoding:
    type: string
    description: Character encoding for text-based artifacts
    examples:
    - UTF-8
    - ASCII
    - Latin-1
  location:
    type: string
    format: uri
    description: URI or file path where this artifact can be accessed
  createdAt:
    type: string
    format: date-time
    description: When this artifact was created
  modifiedAt:
    type: string
    format: date-time
    description: When this artifact was last modified
required:
- '@type'
examples:
- '@type': Artifact
  '@id': '#threshold-value'
  value: 0.75
  description: Analysis threshold parameter
- '@type': Artifact
  '@id': '#input-file'
  value: data/satellite_image.tif
  mediaType: image/tiff
  size: 1048576
  checksum:
    algorithm: SHA-256
    value: a1b2c3d4e5f6789012345678901234567890123456789012345678901234567890
  description: Satellite imagery for processing
- '@type': Artifact
  '@id': '#config-params'
  value:
    north: 16.1
    south: 15.9
    east: 95.35
    west: 95.15
  description: Geographic bounding box configuration
