{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://atmos.tools/schemas/atmos/atmos-config/1.0/atmos-config.json",
  "$defs": {
    "AIAutoCompactConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "trigger_threshold": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "compact_ratio": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "preserve_recent": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "use_ai_summary": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "show_summary_markers": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "AIAutoCompactConfig contains auto-compact configuration for session history."
    },
    "AICacheSettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enable token caching"
        },
        "cache_system_prompt": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Cache system prompt (Anthropic only)"
        },
        "cache_project_instructions": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Cache ATMOS.md content (Anthropic only)"
        }
      },
      "type": "object",
      "description": "AICacheSettings contains token caching configuration."
    },
    "AIContextSettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enable automatic context loading"
        },
        "auto_include": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Glob patterns for files to auto-include"
        },
        "exclude": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Glob patterns for files to exclude"
        },
        "max_files": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Maximum number of files to include (default: 100)"
        },
        "max_size_mb": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Maximum total size in MB (default: 10)"
        },
        "follow_gitignore": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Respect .gitignore files (default: true)"
        },
        "show_files": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Show list of included files in UI (default: false)"
        },
        "cache_enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Cache discovered files (default: true)"
        },
        "cache_ttl_seconds": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Cache TTL in seconds (default: 300)"
        }
      },
      "type": "object",
      "description": "AIContextSettings contains automatic context discovery configuration."
    },
    "AIInstructionsSettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "file": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Path to ATMOS.md"
        }
      },
      "type": "object",
      "description": "AIInstructionsSettings contains project instructions configuration."
    },
    "AIProviderConfig": {
      "properties": {
        "model": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "api_key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "max_tokens": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "base_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "For Ollama or custom endpoints"
        },
        "cache": {
          "anyOf": [
            {
              "$ref": "#/$defs/AICacheSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Token caching settings"
        },
        "binary": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "CLI provider fields (for claude-code, codex-cli, copilot-cli, gemini-cli)."
        },
        "max_turns": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "max_budget_usd": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "allowed_tools": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "full_auto": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "AIProviderConfig contains configuration for a specific AI provider."
    },
    "AISessionSettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Storage path"
        },
        "max_sessions": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "auto_compact": {
          "anyOf": [
            {
              "$ref": "#/$defs/AIAutoCompactConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "AISessionSettings contains session management configuration."
    },
    "AISettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "default_provider": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default provider. If empty or \"auto\", Atmos auto-detects an installed CLI provider (claude-code, codex-cli, copilot-cli, gemini-cli) on PATH, then falls back to anthropic"
        },
        "default_skill": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default skill (defaults to \"general\")"
        },
        "providers": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/AIProviderConfig"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Per-provider configurations"
        },
        "skills": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/AISkillConfig"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Custom skill configurations"
        },
        "send_context": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "prompt_on_send": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "timeout_seconds": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "max_tool_iterations": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "max_context_files": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "max_context_lines": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "max_history_messages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Maximum conversation messages to keep in history (0 = unlimited)"
        },
        "max_history_tokens": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Maximum tokens in conversation history (0 = unlimited). If both max_history_messages and max_history_tokens are set, whichever limit is hit first is applied"
        },
        "sessions": {
          "anyOf": [
            {
              "$ref": "#/$defs/AISessionSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "tools": {
          "anyOf": [
            {
              "$ref": "#/$defs/AIToolSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "instructions": {
          "anyOf": [
            {
              "$ref": "#/$defs/AIInstructionsSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "web_search": {
          "anyOf": [
            {
              "$ref": "#/$defs/AIWebSearchSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "context": {
          "anyOf": [
            {
              "$ref": "#/$defs/AIContextSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "AISettings contains configuration for AI assistant."
    },
    "AISkillConfig": {
      "properties": {
        "display_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "User-facing name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "What this skill does"
        },
        "system_prompt": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Specialized instructions"
        },
        "allowed_tools": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Tool names this skill can use (empty = all tools)"
        },
        "restricted_tools": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Tools requiring extra confirmation"
        },
        "category": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "\"analysis\", \"refactor\", \"security\", etc."
        }
      },
      "type": "object",
      "description": "AISkillConfig contains configuration for a custom AI skill.\nSkills follow the Agent Skills open standard (https://agentskills.io)."
    },
    "AIToolSettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enabled gates whether atmos ai chat/ask/exec initialize the tool subsystem at all.\nIt does NOT gate the MCP server (`atmos mcp start`) — mcp.enabled is that command's\nown, sufficient opt-in, and tools are always registered for MCP regardless of this flag."
        },
        "require_confirmation": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "allowed": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Allowed, when non-empty, restricts which tools are registered/exposed at all (by name\npattern) AND auto-approves them (no confirmation prompt). Empty/unset means all tools\nare registered, subject to normal confirmation rules."
        },
        "restricted": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Restricted lists tools (already in the allowed set) that always require confirmation."
        },
        "blocked": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Blocked lists tools that are always denied outright."
        },
        "yolo_mode": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "AIToolSettings contains tool execution configuration."
    },
    "AIWebSearchSettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "google_api_key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "For Google Custom Search"
        },
        "google_cse_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Google Custom Search Engine ID"
        },
        "max_results": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Maximum results to return"
        }
      },
      "type": "object",
      "description": "AIWebSearchSettings contains web search configuration."
    },
    "AWSSecuritySettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "identity": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Atmos Auth identity for AWS credential injection."
        },
        "region": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default AWS region (e.g., Security Hub aggregation region)."
        },
        "sources": {
          "anyOf": [
            {
              "$ref": "#/$defs/AWSSecuritySources"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "default_severity": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Default severity filter (e.g., [\"CRITICAL\", \"HIGH\"])."
        },
        "max_findings": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Maximum findings per analysis run (0 = unlimited; controls AI costs when \u003e 0)."
        },
        "tag_mapping": {
          "anyOf": [
            {
              "$ref": "#/$defs/AWSSecurityTagMapping"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "account_map": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Account ID → name for account-level findings."
        },
        "frameworks": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Compliance frameworks to track (e.g., [\"cis-aws\", \"pci-dss\"])."
        }
      },
      "type": "object",
      "description": "AWSSecuritySettings contains configuration for AWS security and compliance features."
    },
    "AWSSecuritySources": {
      "properties": {
        "security_hub": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "config": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "inspector": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "guardduty": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "macie": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "access_analyzer": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "AWSSecuritySources controls which AWS security services to query."
    },
    "AWSSecurityTagMapping": {
      "properties": {
        "stack_tag": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default: \"atmos:stack\"."
        },
        "component_tag": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default: \"atmos:component\"."
        }
      },
      "type": "object",
      "description": "AWSSecurityTagMapping configures the tag keys used for finding-to-code mapping.\nOnly two tags are needed: one for the stack name and one for the component name.\nThese are configurable so organizations can use their own tagging standards."
    },
    "AWSSettings": {
      "properties": {
        "security": {
          "anyOf": [
            {
              "$ref": "#/$defs/AWSSecuritySettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "AWSSettings contains configuration for AWS-specific features."
    },
    "Ansible": {
      "properties": {
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "command": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "auto_generate_files": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "AutoGenerateFiles enables automatic generation of auxiliary configuration files\nduring Ansible operations when set to true.\nGenerated files are defined in the component's generate section."
        }
      },
      "type": "object",
      "description": "Ansible defines configuration for Ansible components."
    },
    "Atlantis": {
      "properties": {
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "config_templates": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/AtlantisRepoConfig"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "project_templates": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/AtlantisProjectConfig"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "workflow_templates": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "AtlantisProjectAutoplanConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "when_modified": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "type": "object"
    },
    "AtlantisProjectConfig": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "workspace": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "workflow": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "dir": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "terraform_version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "delete_source_branch_on_merge": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "autoplan": {
          "anyOf": [
            {
              "$ref": "#/$defs/AtlantisProjectAutoplanConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "apply_requirements": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "type": "object"
    },
    "AtlantisRepoConfig": {
      "properties": {
        "version": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "automerge": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "delete_source_branch_on_merge": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "parallel_plan": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "parallel_apply": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "allowed_regexp_prefixes": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "type": "object"
    },
    "AtmosSettings": {
      "properties": {
        "list_merge_strategy": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "terminal": {
          "anyOf": [
            {
              "$ref": "#/$defs/Terminal"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "yaml": {
          "anyOf": [
            {
              "$ref": "#/$defs/AtmosYAMLSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "experimental": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Experimental controls how experimental features are handled.\nValues: \"silence\" (no output), \"disable\" (disabled), \"warn\" (default), \"error\" (exit)."
        },
        "docs": {
          "anyOf": [
            {
              "$ref": "#/$defs/Docs"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Deprecated: this was moved to top-level Atmos config"
        },
        "markdown": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "inject_github_token": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "github_token": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "atmos_github_token": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "atmos_pro_github_token": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "github_username": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "inject_bitbucket_token": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "bitbucket_token": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "atmos_bitbucket_token": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "bitbucket_username": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "inject_gitlab_token": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "atmos_gitlab_token": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "gitlab_token": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "pro": {
          "anyOf": [
            {
              "$ref": "#/$defs/ProSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Atmos Pro integration settings"
        },
        "telemetry": {
          "anyOf": [
            {
              "$ref": "#/$defs/TelemetrySettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Telemetry settings"
        },
        "provision": {
          "anyOf": [
            {
              "$ref": "#/$defs/ProvisionSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Provision contains global defaults for provisioning."
        }
      },
      "type": "object"
    },
    "AtmosYAMLSettings": {
      "properties": {
        "key_delimiter": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "KeyDelimiter enables nested key expansion in stack YAML files.\nWhen set (e.g., \".\"), unquoted keys containing the delimiter are expanded\ninto nested map structures (e.g., \"a.b: v\" becomes \"a: {b: v}\").\nQuoted keys are preserved as literal keys.\nEmpty string (default) disables expansion, preserving current behavior."
        }
      },
      "type": "object",
      "description": "AtmosYAMLSettings controls YAML parsing behavior for stack files."
    },
    "AuthConfig": {
      "properties": {
        "realm": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Realm provides credential isolation between different repositories or customer environments.\nDifferent repositories with the same identity names will have isolated credentials.\nIf not set, defaults to a SHA256 hash of the CLI config path (first 8 characters).\nCan also be set via ATMOS_AUTH_REALM environment variable (highest precedence)."
        },
        "logs": {
          "anyOf": [
            {
              "$ref": "#/$defs/Logs"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "keyring": {
          "anyOf": [
            {
              "$ref": "#/$defs/KeyringConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "console": {
          "anyOf": [
            {
              "$ref": "#/$defs/AuthConsoleConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "providers": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/Provider"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "identities": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/Identity"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "integrations": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/Integration"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "AuthConfig defines the authentication configuration structure."
    },
    "AuthConsoleConfig": {
      "properties": {
        "isolated": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enable isolated browser sessions per identity."
        }
      },
      "type": "object",
      "description": "AuthConsoleConfig defines global console behavior settings under auth.console."
    },
    "CIAnnotationsConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "CIAnnotationsConfig configures inline annotations for scanner-hook findings.\nGitHub: workflow `::error`/`::warning` commands shown inline on the PR diff.\nThis is the \"non-CodeQL\" path — it needs no GitHub Advanced Security.\n\nEnabled is *bool so callers can distinguish \"unset\" (nil, default applies)\nfrom explicit false. Default is true when omitted; effective only when the\nglobal ci.enabled is true."
    },
    "CICacheConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enabled is the master switch for the CI cache (env: ATMOS_CI_CACHE_ENABLED)."
        },
        "auto": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Auto controls automatic behavior: \"off\" (default), \"restore\", \"save\", or \"both\".\n\"restore\" restores on startup; \"save\" saves on exit; \"both\" does both. The\nexplicit `atmos ci cache` subcommands are always available regardless."
        },
        "root": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Root overrides the well-known cache directory that is archived. Defaults\nto the Atmos XDG cache directory (~/.cache/atmos), of which the toolchain\nis a sub-path. Honors ATMOS_XDG_CACHE_HOME / XDG_CACHE_HOME when unset."
        },
        "paths": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Paths are root-relative subpaths to include in the cache. Empty means the\nentire root is cached."
        },
        "key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Key is the cache key. Supports Go templates with {{.OS}}, {{.Arch}} and a\nhashFiles function. Defaults to a key derived from the toolchain lockfile\nhash plus OS/arch when unset."
        },
        "restore_keys": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "RestoreKeys are prefix fallbacks tried (in order) when the exact key is\nabsent, mirroring actions/cache restore-keys."
        },
        "compression": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Compression selects the archive compression. Currently only \"gzip\" (the\ndefault) is supported."
        }
      },
      "type": "object",
      "description": "CICacheConfig configures the CI build cache, which restores a well-known\ncache directory (the toolchain install path and anything else under the XDG\ncache root) at Atmos startup and saves it at exit, using the active CI\nprovider's cache store (e.g. the GitHub Actions cache). All operations are\nno-ops when no cache-capable CI provider is detected (i.e. outside CI).\n\nA fixed set of Atmos's own auth session-cache subdirectories (AWS SSO\ntokens, Azure device-code tokens, AWS webflow refresh tokens, provisioned\nidentity metadata) is always excluded from the cache, regardless of Paths.\nSee docs/prd/native-ci/framework/ci-cache.md#default-excluded-auth-paths."
    },
    "CIChecksConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enabled controls whether commit status checks are created.\nWhen nil (not set), defaults to false (disabled) as checks require extra permissions.\nWhen explicitly set to true, checks are enabled."
        },
        "context_prefix": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "statuses": {
          "anyOf": [
            {
              "$ref": "#/$defs/CIChecksStatusesConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "CIChecksConfig configures CI commit status checks.\nGitHub: Commit Status API, GitLab: Commit Status API."
    },
    "CIChecksStatusesConfig": {
      "properties": {
        "component": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Component controls the component-level status (e.g., atmos/plan/stack/component)."
        },
        "add": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Add controls the per-operation add status (e.g., atmos/plan/stack/component/add).\nOnly created when resources to add \u003e 0."
        },
        "change": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Change controls the per-operation change status (e.g., atmos/plan/stack/component/change).\nOnly created when resources to change \u003e 0."
        },
        "destroy": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Destroy controls the per-operation destroy status (e.g., atmos/plan/stack/component/destroy).\nOnly created when resources to destroy \u003e 0."
        }
      },
      "type": "object",
      "description": "CIChecksStatusesConfig configures which per-operation commit statuses are created.\nAll fields default to true when nil (not set)."
    },
    "CICommentsConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "behavior": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "create, update, upsert"
        },
        "template": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "CICommentsConfig configures PR/MR comment integration.\nGitHub: PR comments, GitLab: MR notes.\n\nEnabled is *bool so callers can distinguish \"unset\" (nil, default applies)\nfrom explicit false. Default is true when omitted; see `isCommentsEnabled`."
    },
    "CIConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "output": {
          "anyOf": [
            {
              "$ref": "#/$defs/CIOutputConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "summary": {
          "anyOf": [
            {
              "$ref": "#/$defs/CISummaryConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "annotations": {
          "anyOf": [
            {
              "$ref": "#/$defs/CIAnnotationsConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "results": {
          "anyOf": [
            {
              "$ref": "#/$defs/CIResultsConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "checks": {
          "anyOf": [
            {
              "$ref": "#/$defs/CIChecksConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "comments": {
          "anyOf": [
            {
              "$ref": "#/$defs/CICommentsConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "templates": {
          "anyOf": [
            {
              "$ref": "#/$defs/CITemplatesConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "cache": {
          "anyOf": [
            {
              "$ref": "#/$defs/CICacheConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "groups": {
          "anyOf": [
            {
              "$ref": "#/$defs/CIGroupsConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "allow_unsafe_fork_execution": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "AllowUnsafeForkExecution opts out of the fork-checkout safety gate that\nrefuses to clone untrusted fork content under pull_request_target and\nworkflow_run events. Leave false unless a fork-facing workflow has a\ndocumented reason to bypass it. See\ndocs/prd/native-ci/framework/fork-pr-trust-gate.md."
        }
      },
      "type": "object",
      "description": "CIConfig contains CI/CD integration configuration.\nUses provider-agnostic naming to support GitHub Actions, GitLab CI, and other providers."
    },
    "CIGroupsConfig": {
      "properties": {
        "mode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "CIGroupsConfig configures collapsible CI log groups. On GitHub Actions this\nemits the `::group::\u003cname\u003e` / `::endgroup::` workflow commands that fold a\nregion of the run log into a named, expandable section.\n\nMode selects the grouping granularity (mutually exclusive — CI providers do\nnot support nested groups):\n\n  - \"auto\" (default when omitted): the finest granularity that applies to\n    each command — one group per workflow/custom-command step, and one group\n    per phase (init/plan/apply) of a terraform/helmfile/packer invocation.\n  - \"invocation\": one group around each whole top-level `atmos \u003ccommand\u003e`\n    run; finer step/phase grouping is suppressed.\n  - \"off\": no grouping.\n\nEffective only when the global ci.enabled is true and a grouping-capable CI\nprovider is detected."
    },
    "CIOutputConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enabled controls whether output variables are written.\nWhen nil (not set), defaults to true (enabled).\nWhen explicitly set to false, output is disabled."
        },
        "variables": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "type": "object",
      "description": "CIOutputConfig configures CI output variables for downstream jobs.\nGitHub: $GITHUB_OUTPUT, GitLab: dotenv artifacts."
    },
    "CIResultsConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "CIResultsConfig configures uploading scanner-hook findings (SARIF) to the\nCI provider's security-findings store. GitHub: Code Scanning / the Security\ntab, which requires GitHub Advanced Security on private repos and a token\nwith the `security_events` write scope.\n\nEnabled is *bool so callers can distinguish \"unset\" (nil, default applies)\nfrom explicit false. Default is false when omitted (opt-in, since it has\nside effects and extra requirements); effective only when ci.enabled is true."
    },
    "CISummaryConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enabled controls whether job summaries are written.\nWhen nil (not set), defaults to true (enabled).\nWhen explicitly set to false, summaries are disabled."
        },
        "template": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "CISummaryConfig configures CI job summary output.\nGitHub: $GITHUB_STEP_SUMMARY, GitLab: job artifacts."
    },
    "CITemplatesConfig": {
      "properties": {
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "BasePath is the base directory for custom templates.\nRelative paths are resolved from atmos.yaml location."
        },
        "terraform": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Terraform contains template overrides for terraform commands.\nKeys are command names (e.g., \"plan\", \"apply\"), values are template file paths."
        },
        "helm": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Helm contains template overrides for native Helm commands.\nKeys are command names (e.g., \"diff\", \"apply\"), values are template file paths."
        },
        "helmfile": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Helmfile contains template overrides for helmfile commands.\nKeys are command names (e.g., \"diff\", \"apply\"), values are template file paths."
        }
      },
      "type": "object",
      "description": "CITemplatesConfig configures CI summary templates per component type."
    },
    "CastConfig": {
      "properties": {
        "recording": {
          "anyOf": [
            {
              "$ref": "#/$defs/CastRecordingConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "CastConfig configures Atmos cast recording behavior."
    },
    "CastDefaults": {
      "properties": {
        "cast": {
          "anyOf": [
            {
              "$ref": "#/$defs/CastRecordingDefaults"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "simulate": {
          "anyOf": [
            {
              "$ref": "#/$defs/CastSimulateDefaults"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "CastDefaults configures defaults applied to child steps inside a cast step."
    },
    "CastRecordingConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "input": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "width": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "height": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "CastRecordingConfig configures automatic cast recording options."
    },
    "CastRecordingDefaults": {
      "properties": {
        "rate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "width": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "height": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "CastRecordingDefaults configures defaults for the cast recording itself."
    },
    "CastSimulateDefaults": {
      "properties": {
        "mode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "cursor": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "prompt": {
          "anyOf": [
            {
              "$ref": "#/$defs/SimulatePrompt"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "rate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "jitter": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "interval": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "CastSimulateDefaults configures defaults for direct child type: simulate steps."
    },
    "ChromaStyle": {
      "properties": {
        "color": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object"
    },
    "Command": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "default": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "working_directory": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "dependencies": {
          "anyOf": [
            {
              "$ref": "#/$defs/Dependencies"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Dependencies specifies external tool dependencies that must be installed before running this command."
        },
        "env": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/CommandEnv"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "arguments": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/CommandArgument"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "flags": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/CommandFlag"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "component": {
          "anyOf": [
            {
              "$ref": "#/$defs/CommandComponent"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "component_config": {
          "anyOf": [
            {
              "$ref": "#/$defs/CommandComponentConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "steps": {
          "anyOf": [
            {
              "$ref": "#/$defs/Tasks"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Steps supports both simple string syntax and structured syntax.\nSimple: [\"echo hello\", \"echo world\"]\nStructured: [{name: step1, command: echo hello, timeout: 30s}]\nMixed: Both formats can be used in the same list."
        },
        "commands": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/Command"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "verbose": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "identity": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "Command defines a custom CLI command."
    },
    "CommandAliases": {
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ]
      },
      "type": "object"
    },
    "CommandArgument": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "required": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "default": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Type specifies the semantic type of this argument: \"component\" or \"stack\".\nWhen set, the argument value is used to resolve component configuration."
        }
      },
      "type": "object",
      "description": "CommandArgument defines a positional argument for a custom command."
    },
    "CommandComponent": {
      "properties": {
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Type is the component type name (e.g., \"script\", \"ansible\", \"manifest\")."
        },
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "BasePath is the base directory for components of this type.\nDefaults to \"components/\u003ctype\u003e\" if not specified."
        }
      },
      "type": "object",
      "description": "CommandComponent defines a custom component type for a command.\nWhen specified, the command can access component configuration via {{ .Component.* }} templates."
    },
    "CommandComponentConfig": {
      "properties": {
        "component": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "stack": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "CommandComponentConfig defines component configuration for a custom command (legacy)."
    },
    "CommandEnv": {
      "properties": {
        "key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "valueCommand": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "CommandEnv defines an environment variable for a custom command."
    },
    "CommandFlag": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "shorthand": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "usage": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "required": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "default": true,
        "semantic_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "SemanticType specifies the semantic type of this flag: \"component\" or \"stack\".\nWhen set, the flag value is used to resolve component configuration."
        }
      },
      "type": "object",
      "description": "CommandFlag defines a flag for a custom command."
    },
    "ComponentDependency": {
      "properties": {
        "component": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Component instance name (canonical). This is the name under\ncomponents.\u003ckind\u003e.\u003cname\u003e, not the Terraform module path."
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Name is an input-side alias for Component introduced in the v2 surface.\nIt is normalized into Component by Dependencies.Normalize. Code should\nalways read from Component, never from Name."
        },
        "stack": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Stack name (optional, defaults to current stack). Supports Go templates."
        },
        "kind": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Kind specifies the dependency type: terraform, helmfile, packer, plugin\ntype, or — in the legacy inline shape — file/folder. Defaults to the\ndeclaring component's type for component dependencies."
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Path for file or folder dependencies (legacy inline shape). For new\nconfigurations, prefer the sibling keys `dependencies.files` /\n`dependencies.folders`."
        }
      },
      "type": "object",
      "description": "ComponentDependency represents a single dependency entry. It supports two\nsurfaces simultaneously:\n\n  - The canonical (recommended) shape uses `name` for the component instance\n    name and an optional `kind` for cross-type dependencies (helmfile, packer,\n    plugin). Path-based dependencies should be declared using the sibling\n    keys `dependencies.files` / `dependencies.folders` rather than entries\n    here.\n\n  - The legacy shape uses `component` (instead of `name`) and supports\n    `kind: file` / `kind: folder` with `path:` to declare path-based\n    dependencies inline. This shape continues to parse for backward\n    compatibility with stack configurations from Atmos \u003c v1.211.0.\n\nUse the helpers IsFileDependency / IsFolderDependency / IsComponentDependency\nto discriminate; do not branch on `Kind` directly."
    },
    "Components": {
      "properties": {
        "terraform": {
          "anyOf": [
            {
              "$ref": "#/$defs/Terraform"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Built-in component types (legacy - will migrate to plugin model in future phases)."
        },
        "helmfile": {
          "anyOf": [
            {
              "$ref": "#/$defs/Helmfile"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "packer": {
          "anyOf": [
            {
              "$ref": "#/$defs/Packer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "ansible": {
          "anyOf": [
            {
              "$ref": "#/$defs/Ansible"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "kubernetes": {
          "anyOf": [
            {
              "$ref": "#/$defs/Kubernetes"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "helm": {
          "anyOf": [
            {
              "$ref": "#/$defs/Helm"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "list": {
          "anyOf": [
            {
              "$ref": "#/$defs/ListConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "List configuration for component listing."
        }
      },
      "type": "object"
    },
    "Composition": {
      "properties": {
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Description is a human-readable summary of the composition."
        },
        "services": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Services is the closed set of service names that may claim membership."
        }
      },
      "type": "object",
      "description": "Composition declares a named multi-service system. Components join a\ncomposition via their first-class `composition:` field. The `Services` list is\na closed contract for membership (declaring membership in an unlisted service\nis an error) but open for fulfillment (a declared service with no component in\na given stack is allowed)."
    },
    "Config": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "port": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "host": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "file": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "profile_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "Config holds the configuration for the profiler."
    },
    "ConfigMetadata": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Name is the name of the configuration or profile."
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Description is a human-readable description."
        },
        "version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Version is the semantic version of the configuration."
        },
        "tags": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Tags are labels for filtering and organization."
        },
        "deprecated": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Deprecated indicates if this configuration should no longer be used."
        }
      },
      "type": "object",
      "description": "ConfigMetadata contains metadata about a configuration file or profile."
    },
    "ConsoleConfig": {
      "properties": {
        "session_duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Duration string (e.g., \"12h\"). Max: 12h for AWS."
        }
      },
      "type": "object",
      "description": "ConsoleConfig defines web console access configuration for providers."
    },
    "ContainerConfig": {
      "properties": {
        "runtime": {
          "anyOf": [
            {
              "$ref": "#/$defs/ContainerRuntimeConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "ContainerConfig is the top-level `container:` namespace for global container\nbehavior. It is the forward-compatible home for settings shared by the\n`type: container` workflow steps and the upcoming `container` component kind /\n`atmos container` command."
    },
    "ContainerMount": {
      "properties": {
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "bind, volume, tmpfs."
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "target": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "read_only": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "ContainerMount represents a volume mount for container steps."
    },
    "ContainerPort": {
      "properties": {
        "host": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "container": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "protocol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "ContainerPort represents a port mapping for container steps."
    },
    "ContainerRuntimeConfig": {
      "properties": {
        "provider": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Provider selects the container runtime: \"auto\" | \"docker\" | \"podman\" | \"\".\n\"auto\" and \"\" auto-detect Docker, then Podman. A global default for the\nper-step `provider:` field."
        },
        "auto_start": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "AutoStart lets Atmos auto-init/start the Podman machine when no running runtime\nis found, instead of failing. Enabled by default; a global default for the per-step\n`runtime_auto_start:` field; also settable via ATMOS_CONTAINER_RUNTIME_AUTO_START."
        },
        "host": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Host grants the container access to the host container runtime (Docker-out-of-Docker):\nAtmos mounts the runtime socket, runs the container as root, relabels it for SELinux,\nand sets DOCKER_HOST so the container can launch and manage sibling containers. Opt-in\nand effectively host-root; independent of `privileged` (kernel caps). On rootless\npodman the socket is unreachable in-container — use Docker or `podman machine set --rootful`."
        }
      },
      "type": "object",
      "description": "ContainerRuntimeConfig configures the container runtime provider (auto/docker/podman)."
    },
    "Dependencies": {
      "properties": {
        "tools": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Tools maps tool names to version constraints (e.g., \"terraform\": \"1.5.0\" or \"latest\")."
        },
        "components": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ComponentDependency"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Components lists component dependencies that must be applied before this component.\nUses list format with always-append merge behavior (child lists extend parent lists).\nAfter Normalize, this slice also contains synthetic entries for any sibling\n`files` / `folders` declarations (Kind set to \"file\" / \"folder\")."
        },
        "files": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Files lists file paths whose changes mark the declaring component as\naffected by `atmos describe affected`. Each entry may be a plain string\n(the file path) or, in the future, an object with additional options."
        },
        "folders": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Folders lists folder paths whose changes mark the declaring component as\naffected by `atmos describe affected`. Each entry may be a plain string\n(the folder path) or, in the future, an object with additional options."
        }
      },
      "type": "object",
      "description": "Dependencies declares required tools and component dependencies.\n\nThe canonical (v2) input surface has four sibling keys: `tools`,\n`components`, `files`, `folders`. The legacy v1 surface (which still\nparses) puts file/folder entries inside `components[]` discriminated by\n`kind: file` / `kind: folder`. After unmarshaling from a stack manifest,\ncallers MUST invoke Normalize so both surfaces are reconciled into a\nsingle internal representation: `Components` ends up holding every\ndependency entry (component, file, and folder kinds), which is what the\ndownstream describe-affected / describe-dependents pipelines consume."
    },
    "Describe": {
      "properties": {
        "settings": {
          "anyOf": [
            {
              "$ref": "#/$defs/DescribeSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "affected": {
          "anyOf": [
            {
              "$ref": "#/$defs/DescribeAffected"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "error_mode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "ErrorMode is the project-wide default for the `describe` commands' (`describe stacks`,\n`describe affected`, `describe dependents`) `--error-mode` flag: how to handle a\nrecoverable per-value YAML function error (e.g. a Terraform backend that has not been\nprovisioned yet). Values: \"strict\", \"warn\" (default), \"silent\". An explicit --error-mode\nflag or ATMOS_DESCRIBE_ERROR_MODE env var overrides this."
        }
      },
      "type": "object",
      "description": "Describe contains configuration for the describe command."
    },
    "DescribeAffected": {
      "properties": {
        "sections": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Sections is the authoritative list of top-level component sections compared\nwhen computing affected components. When set, it REPLACES the built-in defaults.\nWhen empty, the built-in defaults are used. `metadata` and `settings` are always\nevaluated via dedicated logic and are not controlled by this list."
        }
      },
      "type": "object",
      "description": "DescribeAffected contains configuration for the `atmos describe affected` command."
    },
    "DescribeSettings": {
      "properties": {
        "include_empty": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "DescribeSettings contains settings for the describe command output."
    },
    "Diagnostics": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "file": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "include_output": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "Diagnostics contains machine-readable diagnostic event stream settings."
    },
    "Docs": {
      "properties": {
        "max-width": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Deprecated: this has moved to `settings.terminal.max-width`"
        },
        "pagination": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Deprecated: this has moved to `settings.terminal.pagination`"
        },
        "generate": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/DocsGenerate"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "DocsGenerate": {
      "properties": {
        "base-dir": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "input": {
          "anyOf": [
            {
              "items": true,
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "template": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "output": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "terraform": {
          "anyOf": [
            {
              "$ref": "#/$defs/TerraformDocsReadmeSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "ECRRegistry": {
      "properties": {
        "account_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "region": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "ECRRegistry represents an ECR registry configuration for aws/ecr integrations."
    },
    "EKSCluster": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Name is the EKS cluster name (required)."
        },
        "region": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Region is the AWS region where the cluster is located (required)."
        },
        "alias": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Alias is the context name in kubeconfig (optional, defaults to cluster ARN)."
        },
        "kubeconfig": {
          "anyOf": [
            {
              "$ref": "#/$defs/KubeconfigSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Kubeconfig contains kubeconfig file settings (optional)."
        }
      },
      "type": "object",
      "description": "EKSCluster represents an EKS cluster configuration for aws/eks integrations."
    },
    "EditorConfig": {
      "properties": {
        "ignore_defaults": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "dry_run": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "format": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "config_file_paths": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "exclude": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Glob patterns for files to exclude"
        },
        "init": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "disable_end_of_line": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "disable_insert_final_newline": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "disable_indentation": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "disable_indent_size": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "disable_max_line_length": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "disable_trim_trailing_whitespace": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "EnvironmentVariable": {
      "properties": {
        "key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "EnvironmentVariable defines an environment variable with preserved case sensitivity."
    },
    "ErrorFormatConfig": {
      "properties": {
        "verbose": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "ErrorFormatConfig contains formatting options for errors."
    },
    "ErrorsConfig": {
      "properties": {
        "format": {
          "anyOf": [
            {
              "$ref": "#/$defs/ErrorFormatConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "sentry": {
          "anyOf": [
            {
              "$ref": "#/$defs/SentryConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "ErrorsConfig contains configuration for error handling."
    },
    "GitAuthConfig": {
      "properties": {
        "identity": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "GitAuthConfig selects the Atmos Auth identity for a repository.\nIntegrations are never referenced by name; they attach via identity links."
    },
    "GitAuthorConfig": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "GitAuthorConfig is the commit author/committer identity."
    },
    "GitCloneConfig": {
      "properties": {
        "depth": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Depth is the shallow-clone depth; 0 means full history (default)."
        },
        "filter": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Filter is an optional partial-clone filter spec (e.g. \"blob:none\")."
        },
        "single_branch": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "SingleBranch limits the clone to the configured branch."
        },
        "submodules": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Submodules enables submodule initialization. Default: false."
        }
      },
      "type": "object",
      "description": "GitCloneConfig controls clone behavior for a managed repository."
    },
    "GitCommitConfig": {
      "properties": {
        "signing": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Signing mode: \"auto\" (default; Git config decides), \"always\" (-S), or \"never\" (--no-gpg-sign)."
        },
        "author": {
          "anyOf": [
            {
              "$ref": "#/$defs/GitAuthorConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Author overrides the commit author/committer identity (required in CI\nwhere no user.name/user.email is configured)."
        }
      },
      "type": "object",
      "description": "GitCommitConfig controls commit signing and author identity."
    },
    "GitConfig": {
      "properties": {
        "repositories": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/GitRepository"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Repositories maps user-defined logical names to managed Git repositories."
        },
        "hooks": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/GitHookEntry"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Hooks maps local Git hook names (pre-commit, commit-msg, ...) to commands\nexecuted by `atmos git hooks run` via generated .git/hooks shims."
        },
        "list": {
          "anyOf": [
            {
              "$ref": "#/$defs/GitListConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "List configures `atmos git list` output (columns, format)."
        }
      },
      "type": "object",
      "description": "GitConfig is the top-level `git` section in atmos.yaml.\nGit is a foundational Atmos capability (peer to Toolchain, Auth, and Hooks);\nsee docs/prd/git-ops.md."
    },
    "GitHookEntry": {
      "properties": {
        "command": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "GitHookEntry configures a local Git hook executed via `atmos git hooks run`."
    },
    "GitInitConfig": {
      "properties": {
        "from": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "From seeds the new repository from another repository's content. It acts\nas the default for the `--from` flag; the flag overrides it when set."
        },
        "keep_history": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "KeepHistory preserves the source's full history and keeps the source\nreachable as the 'upstream' remote. Only valid together with From.\nThe `--keep-history` flag also enables it."
        }
      },
      "type": "object",
      "description": "GitInitConfig sets defaults for `atmos git init` on a managed repository."
    },
    "GitListConfig": {
      "properties": {
        "format": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "columns": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ListColumnConfig"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "GitListConfig configures `atmos git list` output."
    },
    "GitPushConfig": {
      "properties": {
        "retries": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Retries bounds the pull-ff/re-push loop on non-fast-forward rejection.\nnil means the default (3). 0 disables retries."
        }
      },
      "type": "object",
      "description": "GitPushConfig controls push behavior."
    },
    "GitRepository": {
      "properties": {
        "provider": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Provider selects the execution backend. Default and only v1 value: \"cli\"."
        },
        "uri": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "URI is the remote repository URI. Credentials must never be embedded."
        },
        "branch": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Branch to check out; empty means the remote default branch."
        },
        "remote": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Remote name. Default: \"origin\"."
        },
        "workdir": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Workdir overrides the automatic XDG workdir location."
        },
        "clone": {
          "anyOf": [
            {
              "$ref": "#/$defs/GitCloneConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Clone controls clone depth and related options."
        },
        "auth": {
          "anyOf": [
            {
              "$ref": "#/$defs/GitAuthConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Auth selects the Atmos Auth identity used for Git operations on this repository."
        },
        "commit": {
          "anyOf": [
            {
              "$ref": "#/$defs/GitCommitConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Commit controls commit signing and author identity."
        },
        "push": {
          "anyOf": [
            {
              "$ref": "#/$defs/GitPushConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Push controls push retry behavior."
        },
        "init": {
          "anyOf": [
            {
              "$ref": "#/$defs/GitInitConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Init sets defaults for `atmos git init` on this repository."
        }
      },
      "type": "object",
      "description": "GitRepository describes a managed Git repository under git.repositories.\u003cname\u003e."
    },
    "GitSTSSettings": {
      "properties": {
        "git_config_mode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "GitConfigMode controls how minted tokens reach the child process git config:\n\"env\" (inline GIT_CONFIG_KEY_n/VALUE_n) or \"file\" (write a 0600 gitconfig and emit include.path).\nDefaults to \"env\" when unset."
        },
        "revoke_on_exit": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "RevokeOnExit controls command-end auto-revocation of minted tokens (in CI). Defaults to true when unset."
        }
      },
      "type": "object",
      "description": "GitSTSSettings contains global defaults for the github/sts auth integration.\nPer-integration spec fields override these."
    },
    "GithubOIDCSettings": {
      "properties": {
        "request_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "request_token": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "GithubOIDCSettings contains GitHub OIDC token configuration."
    },
    "HTTPExpect": {
      "properties": {
        "status": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Status lists acceptable HTTP status codes. When set, the response status must be in this list."
        },
        "response": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Response lists regular expressions; when set, the response body must match at least one.\nPatterns may be written as /.../ literals (surrounding slashes are stripped) or bare regex strings."
        }
      },
      "type": "object",
      "description": "HTTPExpect defines success criteria for an http step.\nWhen unset, any 2xx response is considered a success."
    },
    "Helm": {
      "properties": {
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "auto_generate_files": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "AutoGenerateFiles enables automatic generation of auxiliary configuration files\nduring Helm operations when set to true.\nGenerated files are defined in the component's generate section."
        },
        "source": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Source holds global source configuration defaults for JIT-vendored components."
        },
        "plugins": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Plugins lists Helm CLI plugins (e.g. helm-diff, helm-secrets) to install\ninto the managed HELM_PLUGINS directory. Each entry is a compact spec: a\nshort alias (e.g. \"diff@3.9.x\"), an \"owner/repo@version\", or a full plugin\nURL. Native Helm SDK operations do not use plugins; these apply only to\nhelm-binary passthrough. Type-level defaults inherit down to instances via\nnormal stack deep-merge."
        },
        "repositories": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/HelmRepository"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Repositories lists reusable Helm chart repositories available to native\nHelm components. Component-level repositories override entries by name."
        }
      },
      "type": "object",
      "description": "Helm defines configuration for native Helm components.\nHelm components render and deploy Helm charts (local, remote-repo, or OCI)\nusing the Helm Go SDK, and can deliver rendered manifests to provision targets."
    },
    "HelmRepository": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "username": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "password": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "#nosec G117 -- Helm repository credentials are part of user configuration."
        },
        "pass_credentials_all": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "cert_file": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "key_file": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "ca_file": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "insecure_skip_tls_verify": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "HelmRepository describes an HTTP Helm chart repository."
    },
    "Helmfile": {
      "properties": {
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "use_eks": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "kubeconfig_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "helm_aws_profile_pattern": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Deprecated: use --identity flag instead."
        },
        "cluster_name_pattern": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Deprecated: use ClusterNameTemplate with Go template syntax."
        },
        "cluster_name_template": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "cluster_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "command": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "auto_generate_files": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "AutoGenerateFiles enables automatic generation of auxiliary configuration files\nduring Helmfile operations when set to true.\nGenerated files are defined in the component's generate section."
        },
        "source": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Source holds global source configuration defaults for JIT-vendored components."
        },
        "plugins": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Plugins lists Helm CLI plugins (e.g. helm-diff, helm-secrets) required by\nhelmfile components. Each entry is a compact spec: a short alias\n(e.g. \"diff@3.9.x\"), an \"owner/repo@version\", or a full plugin URL.\nAtmos installs them into a managed HELM_PLUGINS directory before invoking\nthe helmfile binary. Type-level defaults declared here inherit down to\ncomponent instances via normal stack deep-merge."
        }
      },
      "type": "object"
    },
    "Identity": {
      "properties": {
        "kind": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "default": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "required": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Required marks this identity for automatic authentication without prompting.\nMultiple identities can be required. Required identities that are not default\nare authenticated as secondary — their profiles are written to the shared\ncredentials file for multi-account Terraform components."
        },
        "provider": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Provider name for direct provider association (for provisioned identities)."
        },
        "via": {
          "anyOf": [
            {
              "$ref": "#/$defs/IdentityVia"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "principal": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Principal information (role name, account, etc.). For AWS permission sets: {name: string, account: {name: string, id: string}}."
        },
        "credentials": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "spec": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Kind-specific SDK/client configuration."
        },
        "alias": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "env": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/EnvironmentVariable"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "session": {
          "anyOf": [
            {
              "$ref": "#/$defs/SessionConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "emulator": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Emulator references an emulator component by name (resolved against the stack\nthe command runs in). Used by emulator identity kinds (kind: \u003ctarget\u003e/emulator)\nto harvest the running emulator's connection profile (SDK env vars or kubeconfig)."
        },
        "tags": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Tags are user-defined categorical labels for filtering (atmos auth list/login --tags)."
        }
      },
      "type": "object",
      "description": "Identity defines an authentication identity configuration."
    },
    "IdentityVia": {
      "properties": {
        "provider": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "identity": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "IdentityVia defines how an identity connects to a provider or other identity."
    },
    "ImportsSettings": {
      "properties": {
        "ttl": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "TTL is the default cache duration for the cloned source repos of remote (git)\nimports, applied when a per-import `ttl` is not set. See StackImport.TTL for the\ncaching semantics and accepted formats."
        }
      },
      "type": "object",
      "description": "ImportsSettings holds global defaults applied when processing stack imports."
    },
    "Integration": {
      "properties": {
        "kind": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Integration type (e.g., \"aws/ecr\", \"aws/eks\")."
        },
        "via": {
          "anyOf": [
            {
              "$ref": "#/$defs/IntegrationVia"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "spec": {
          "anyOf": [
            {
              "$ref": "#/$defs/IntegrationSpec"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Integration-specific configuration."
        }
      },
      "type": "object",
      "description": "Integration defines a client-only credential materialization (e.g., ECR, EKS).\nIntegrations derive credentials from identities for service-specific access."
    },
    "IntegrationSpec": {
      "properties": {
        "auto_provision": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Whether to auto-provision on identity login. Defaults to true."
        },
        "registry": {
          "anyOf": [
            {
              "$ref": "#/$defs/ECRRegistry"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Single ECR registry for aws/ecr integrations."
        },
        "cluster": {
          "anyOf": [
            {
              "$ref": "#/$defs/EKSCluster"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "EKS cluster for aws/eks integrations."
        },
        "repos": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "GitHub STS integration (github/sts) fields."
        },
        "policy_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Optional trust policy name (default \"default\")."
        },
        "git_config_mode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "\"env\" (inline GIT_CONFIG_*) or \"file\" (include.path). Overrides settings.pro default."
        },
        "revoke_on_exit": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Auto-revoke minted tokens at command-end. Overrides settings.pro default."
        },
        "token_env": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Env var name to export the raw minted token under: a literal (e.g. \"GH_TOKEN\") or a Go template over .owner/.host (e.g. \"GH_TOKEN_{{ .owner }}\"). Empty defaults to \"ATMOS_PRO_GITHUB_TOKEN\" so the token bridges to gh/REST and Atmos's in-process git detector."
        }
      },
      "type": "object",
      "description": "IntegrationSpec defines the spec configuration for integrations."
    },
    "IntegrationVia": {
      "properties": {
        "identity": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Identity providing credentials."
        },
        "provider": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Provider providing credentials (alternative to identity)."
        }
      },
      "type": "object",
      "description": "IntegrationVia defines how an integration connects to an identity or provider.\nExactly one of Identity or Provider must be set. Provider binding is useful when\nthe provider itself yields usable credentials (e.g., atmos/pro session JWT) and a\npassthrough identity would otherwise be redundant."
    },
    "Integrations": {
      "properties": {
        "atlantis": {
          "anyOf": [
            {
              "$ref": "#/$defs/Atlantis"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "github": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "pro": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "KeyringConfig": {
      "properties": {
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "\"system\", \"file\", or \"memory\""
        },
        "spec": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Type-specific configuration"
        }
      },
      "type": "object",
      "description": "KeyringConfig defines keyring backend configuration for credential storage."
    },
    "KubeconfigSettings": {
      "properties": {
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Path is a custom kubeconfig file path (optional, defaults to XDG path)."
        },
        "mode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Mode is the file permission mode as an octal string (optional, defaults to \"0600\").\nParsed via strconv.ParseUint(mode, 8, 32) at config-load time."
        },
        "update": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Update determines how to handle existing kubeconfig: \"merge\" (default), \"replace\", or \"error\"."
        }
      },
      "type": "object",
      "description": "KubeconfigSettings configures kubeconfig file behavior."
    },
    "Kubernetes": {
      "properties": {
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "provider": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Provider selects the SDK-backed renderer/loader. Supported values are kubectl and kustomize."
        },
        "auto_generate_files": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "AutoGenerateFiles enables automatic generation of auxiliary configuration files\nduring Kubernetes operations when set to true.\nGenerated files are defined in the component's generate section."
        },
        "source": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Source holds global source configuration defaults for JIT-vendored components."
        }
      },
      "type": "object",
      "description": "Kubernetes defines configuration for Kubernetes components."
    },
    "LSPServer": {
      "properties": {
        "command": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Command to run (e.g., \"yaml-language-server\")"
        },
        "args": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Command arguments (e.g., [\"--stdio\"])"
        },
        "filetypes": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Supported file types (e.g., [\"yaml\", \"yml\"])"
        },
        "root_patterns": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Workspace root patterns (e.g., [\"atmos.yaml\", \".git\"])"
        },
        "initialization_options": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Custom initialization options"
        }
      },
      "type": "object",
      "description": "LSPServer contains configuration for a single LSP server."
    },
    "LSPSettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "servers": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/LSPServer"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "LSPSettings contains configuration for Language Server Protocol integration."
    },
    "ListColumnConfig": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "width": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "ListConfig": {
      "properties": {
        "format": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Format specifies the output format (table, json, csv)\nIf empty, defaults to table format"
        },
        "columns": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ListColumnConfig"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "Logs": {
      "properties": {
        "file": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "level": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object"
    },
    "MCPRoutingConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enabled controls whether automatic server routing is active (default: true)."
        }
      },
      "type": "object",
      "description": "MCPRoutingConfig configures the two-pass routing that selects which MCP servers\nare relevant to a user's question before starting them.\nRouting uses the same AI provider and model configured under ai.default_provider."
    },
    "MCPServerConfig": {
      "properties": {
        "command": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Standard MCP server fields (compatible with mcpServers JSON format)."
        },
        "args": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "env": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "headers": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Atmos-specific extensions."
        },
        "auto_start": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "timeout": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "identity": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Identity is the Atmos Auth identity (from the auth section) for credential injection."
        },
        "cwd": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Cwd is the working directory a stdio server subprocess should be launched from.\nUsed for user-scoped (global) client installs, where the client config isn't\ncolocated with the Atmos project, so the server needs an explicit cwd."
        }
      },
      "type": "object",
      "description": "MCPServerConfig represents an external MCP server configured in atmos.yaml\nunder mcp.servers. The core fields (command, args, env) follow the standard\nMCP server configuration format used by Claude Code, Codex CLI, and Gemini CLI.\nAtmos-specific extensions (description, auto_start, timeout, identity)\nprovide additional functionality."
    },
    "MCPSettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "servers": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/MCPServerConfig"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "routing": {
          "anyOf": [
            {
              "$ref": "#/$defs/MCPRoutingConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "MCPSettings contains configuration for the MCP (Model Context Protocol) server\nand external MCP server connections."
    },
    "MarkdownSettings": {
      "properties": {
        "document": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "block_quote": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "paragraph": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "list": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "list_item": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "heading": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "h1": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "h2": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "h3": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "h4": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "h5": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "h6": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "text": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "strong": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "emph": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "hr": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "item": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "enumeration": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "code": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "code_block": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "table": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "definition_list": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "definition_term": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "definition_description": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "html_block": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "html_span": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "link": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "link_text": {
          "anyOf": [
            {
              "$ref": "#/$defs/MarkdownStyle"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "MarkdownStyle": {
      "properties": {
        "block_prefix": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "block_suffix": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "color": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "background_color": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "bold": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "italic": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "underline": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "margin": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "padding": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "indent": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "indent_token": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "level_indent": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "format": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "prefix": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "style_override": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "chroma": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ChromaStyle"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "MaskSettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "replacement": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Custom replacement string (default: ***MASKED***)"
        },
        "patterns": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Custom regex patterns to mask"
        },
        "literals": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Custom literal values to mask"
        }
      },
      "type": "object",
      "description": "MaskSettings contains configuration for sensitive data masking."
    },
    "Packer": {
      "properties": {
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "command": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "auto_generate_files": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "AutoGenerateFiles enables automatic generation of auxiliary configuration files\nduring Packer operations when set to true.\nGenerated files are defined in the component's generate section."
        },
        "source": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Source holds global source configuration defaults for JIT-vendored components."
        }
      },
      "type": "object"
    },
    "ParallelFailConfig": {
      "properties": {
        "mode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "max_failures": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "ParallelFailConfig configures failure behavior for parallel and matrix steps."
    },
    "PlanfileStoreSpec": {
      "properties": {
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "options": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "PlanfileStoreSpec defines a planfile storage backend."
    },
    "PlanfilesConfig": {
      "properties": {
        "default": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "priority": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "key_pattern": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "stores": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/PlanfileStoreSpec"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "verify": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Verify controls drift verification of the stored planfile on `deploy`.\nOne of: fail | warn | off. Empty means unset (defaults to fail under CI\nwhen planfile storage is configured, otherwise off)."
        },
        "required": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Required controls whether a stored planfile must exist to verify against on\n`deploy` (distinct from Verify, which governs the drift comparison when a\nstored plan exists). A nil pointer means unset: required tracks verify\nstrictness (true when verification resolves to fail, e.g. under CI with\nstorage configured), so a fail-by-default deploy fails loudly rather than\nsilently applying an unverified fresh plan. true requires a stored plan;\nfalse applies a fresh plan when none is found. It only applies when\nverification is active (verify is not off)."
        }
      },
      "type": "object",
      "description": "PlanfilesConfig contains configuration for planfile storage backends."
    },
    "ProSettings": {
      "properties": {
        "base_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "endpoint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "token": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "workspace_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "github_oidc": {
          "anyOf": [
            {
              "$ref": "#/$defs/GithubOIDCSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "max_payload_bytes": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "git_sts": {
          "anyOf": [
            {
              "$ref": "#/$defs/GitSTSSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "GitSTS holds global defaults for the github/sts auth integration."
        }
      },
      "type": "object",
      "description": "ProSettings contains Atmos Pro integration configuration."
    },
    "ProfilesConfig": {
      "properties": {
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "BasePath is the custom directory for profile storage.\nIf relative, resolved from atmos.yaml directory.\nIf absolute, used as-is."
        },
        "default": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default is the name of a profile loaded automatically when neither the\n--profile flag nor the ATMOS_PROFILE environment variable is set.\nThe default is treated as implicit: an explicit --profile or ATMOS_PROFILE\nalways wins, and it does not suppress the interactive identity fallback."
        }
      },
      "type": "object",
      "description": "ProfilesConfig defines configuration for the profiles system."
    },
    "Provider": {
      "properties": {
        "kind": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "start_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "region": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "username": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "password": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "driver": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "provider_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Deprecated: use driver."
        },
        "download_browser_driver": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "browser_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Browser engine type: chromium, firefox, webkit, chrome, msedge, etc."
        },
        "browser_executable_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Path to custom browser executable."
        },
        "auto_provision_identities": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "session": {
          "anyOf": [
            {
              "$ref": "#/$defs/SessionConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "console": {
          "anyOf": [
            {
              "$ref": "#/$defs/ConsoleConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "default": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "spec": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "tags": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Tags are user-defined categorical labels for filtering (atmos auth list/logout --tags)."
        }
      },
      "type": "object",
      "description": "Provider defines an authentication provider configuration."
    },
    "ProvisionSettings": {
      "properties": {
        "workdir": {
          "anyOf": [
            {
              "$ref": "#/$defs/ProvisionWorkdirSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "default": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default is the name of the target used by apply/deploy when no --target is given."
        },
        "targets": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ProvisionTarget"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Targets maps target names to delivery destinations for rendered artifacts."
        }
      },
      "type": "object",
      "description": "ProvisionSettings contains global defaults for provisioning."
    },
    "ProvisionTarget": {
      "properties": {
        "kind": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Kind selects the target provisioner (e.g. \"git\", \"kubernetes\")."
        },
        "repository": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Repository references a top-level git.repositories.\u003cname\u003e (git kind)."
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Path is the destination path inside the deployment repository (git kind, supports templates)."
        },
        "auth": {
          "anyOf": [
            {
              "$ref": "#/$defs/ProvisionTargetAuth"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Auth selects the Atmos Auth identity used for the delivery (overrides the repository default)."
        },
        "commit": {
          "anyOf": [
            {
              "$ref": "#/$defs/ProvisionTargetCommit"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Commit controls the commit message and signing for the delivery (git kind)."
        },
        "pull_request": {
          "anyOf": [
            {
              "$ref": "#/$defs/ProvisionTargetPullRequest"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "PullRequest configures pull-request publishing (git kind; not yet supported by the cli provider)."
        }
      },
      "type": "object",
      "description": "ProvisionTarget is a delivery destination for a rendered artifact, selected by\nits kind (e.g. \"git\", \"kubernetes\"). Kind-specific fields below are interpreted\nby the registered target provisioner for that kind."
    },
    "ProvisionTargetAuth": {
      "properties": {
        "identity": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "ProvisionTargetAuth selects the Atmos Auth identity for a delivery."
    },
    "ProvisionTargetCommit": {
      "properties": {
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Message is the commit message (supports templates)."
        },
        "signing": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Signing mode: \"auto\" (git config decides), \"always\" (-S), or \"never\" (--no-gpg-sign)."
        }
      },
      "type": "object",
      "description": "ProvisionTargetCommit controls commit message and signing for a git delivery."
    },
    "ProvisionTargetPullRequest": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enabled requests pull-request publishing (not yet supported by the cli provider)."
        }
      },
      "type": "object",
      "description": "ProvisionTargetPullRequest configures pull-request publishing for a git delivery."
    },
    "ProvisionWorkdirSettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enabled sets the default enabled state for workdir provisioning."
        },
        "ttl": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "TTL is the default time-to-live for workdirs (e.g., \"7d\", \"24h\", \"weekly\").\nWorkdirs not accessed within this duration can be cleaned up."
        }
      },
      "type": "object",
      "description": "ProvisionWorkdirSettings contains default settings for workdir provisioning."
    },
    "ResourcePath": {
      "properties": {
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object"
    },
    "RetryConfig": {
      "properties": {
        "max_attempts": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "backoff_strategy": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "initial_delay": {
          "anyOf": [
            {
              "type": "string",
              "description": "Go duration string (e.g. \"500ms\", \"30s\", \"5m\")."
            },
            {
              "type": "integer",
              "description": "Duration in nanoseconds."
            },
            {
              "type": "null"
            }
          ]
        },
        "max_delay": {
          "anyOf": [
            {
              "type": "string",
              "description": "Go duration string (e.g. \"500ms\", \"30s\", \"5m\")."
            },
            {
              "type": "integer",
              "description": "Duration in nanoseconds."
            },
            {
              "type": "null"
            }
          ]
        },
        "random_jitter": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "multiplier": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "max_elapsed_time": {
          "anyOf": [
            {
              "type": "string",
              "description": "Go duration string (e.g. \"500ms\", \"30s\", \"5m\")."
            },
            {
              "type": "integer",
              "description": "Duration in nanoseconds."
            },
            {
              "type": "null"
            }
          ]
        },
        "conditions": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Conditions is a list of regex patterns matched against captured subprocess output\nto decide whether an error is recoverable and the command should be retried.\nWhen empty or nil, no pattern-based retry is performed (all failures are terminal).\nPatterns may be wrapped in optional /.../ delimiters for readability."
        }
      },
      "type": "object",
      "description": "RetryConfig represents the retry configuration.\nPointer types are used to distinguish between \"not specified\" (nil) and \"explicitly set to zero\".\n- nil means the feature is disabled or unlimited (e.g., nil MaxAttempts = unlimited retries).\n- Explicitly setting a value to zero is invalid and will cause a validation error."
    },
    "SchemaRegistry": {
      "properties": {
        "manifest": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "schema": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "matches": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "type": "object"
    },
    "SecretProviderConfig": {
      "properties": {
        "kind": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Kind selects the provider implementation (e.g. \"sops/age\", \"sops/aws-kms\",\n\"sops/gcp-kms\", \"sops/gpg\")."
        },
        "identity": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Identity optionally names an auth identity (resolved via pkg/auth) used by KMS-backed\nSOPS kinds (sops/aws-kms, sops/gcp-kms). Local-key kinds (sops/age, sops/gpg) ignore it."
        },
        "spec": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Spec carries provider-specific options (e.g. file, age_recipients, kms arn)."
        }
      },
      "type": "object",
      "description": "SecretProviderConfig configures a single non-store secret provider (track 2)."
    },
    "SecretsConfig": {
      "properties": {
        "providers": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/SecretProviderConfig"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Providers maps a provider name to its configuration. These are non-store backends\n(e.g. SOPS) that do not fit the key-value store interface."
        }
      },
      "type": "object",
      "description": "SecretsConfig is the top-level `secrets:` block in atmos.yaml. It holds non-store\nsecret backends (track 2), such as SOPS encrypted files. Store-backed secret backends\n(track 1) are configured as regular `stores:` entries with `secret: true` instead."
    },
    "SentryConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "dsn": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "environment": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "release": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "sample_rate": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "debug": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "tags": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "capture_stack_context": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "SentryConfig contains Sentry error reporting configuration."
    },
    "SessionConfig": {
      "properties": {
        "duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "SessionConfig defines session configuration for providers."
    },
    "ShellConfig": {
      "properties": {
        "prompt": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object"
    },
    "ShowConfig": {
      "properties": {
        "header": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Header auto-displays workflow description as styled header before first step."
        },
        "flags": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Flags displays workflow-level flag values under header (e.g., \"stack: dev\")."
        },
        "command": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Command shows step command before execution (with $ prefix)."
        },
        "count": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Count shows step count prefix (e.g., \"[1/3]\")."
        },
        "progress": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Progress shows progress bar pinned to bottom (Docker-build style, TTY only)."
        },
        "labels": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Labels shows step boundary labels and completion/failure footers."
        }
      },
      "type": "object",
      "description": "ShowConfig configures automatic display features for workflows.\nAll fields use *bool to enable tri-state logic: nil (inherit), true, false.\nThis allows step-level settings to override workflow-level defaults via deep merge."
    },
    "SimulatePrompt": {
      "properties": {
        "text": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "style": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "SimulatePrompt configures the rendered prompt for cast simulation steps."
    },
    "SourceSettings": {
      "properties": {
        "ttl": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "TTL is the default cache duration for JIT-vendored sources.\nApplied to all components unless overridden per-component.\nIf not set, cached sources are reused indefinitely."
        }
      },
      "type": "object",
      "description": "SourceSettings holds global source configuration defaults for JIT-vendored components."
    },
    "Stacks": {
      "properties": {
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "included_paths": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "excluded_paths": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "name_pattern": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "name_template": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "list": {
          "anyOf": [
            {
              "$ref": "#/$defs/ListConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "inherit": {
          "anyOf": [
            {
              "$ref": "#/$defs/StacksInherit"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "StacksInherit": {
      "properties": {
        "metadata": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Metadata controls whether metadata fields are inherited from base components.\nWhen true (default), all metadata fields except 'inherits' are inherited.\nWhen false, metadata is per-component only (legacy behavior)."
        },
        "source": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Source controls whether source configuration is inherited from base components.\nWhen true (default), source configuration is inherited and deep merged.\nWhen false, source is per-component only."
        }
      },
      "type": "object",
      "description": "StacksInherit controls inheritance behavior for stack processing."
    },
    "StoreConfig": {
      "properties": {
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Type is the legacy backend selector (e.g. \"aws-ssm-parameter-store\")."
        },
        "kind": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Kind is the new cloud/thing backend selector (e.g. \"aws/ssm\"); when set it takes\nprecedence over Type. The registry maps legacy Type to Kind for backward compatibility."
        },
        "secret": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Secret marks this store as a secret backend (subsystem membership). A secret store\nis the only backend the !secret function and the `atmos secret` CLI resolve from, and\n`!store` against it is an error (\"use !secret\"). Secret stores always write the\nsensitive variant at rest (e.g. SSM SecureString)."
        },
        "identity": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "options": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "StoreRegistry": {
      "type": "object"
    },
    "SyntaxHighlighting": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "lexer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "formatter": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "theme": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "line_numbers": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "wrap": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "Task": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Core fields."
        },
        "command": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Command is the command to execute."
        },
        "script": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Script is the inline script body for TaskTypeScript."
        },
        "interpreter": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Interpreter is the executable used to run Script for TaskTypeScript."
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Type specifies the step type: shell, script, atmos, exec, cast, simulate, workdir, or another registered step kind. Defaults to shell."
        },
        "timeout": {
          "anyOf": [
            {
              "type": "string",
              "description": "Go duration string (e.g. \"500ms\", \"30s\", \"5m\")."
            },
            {
              "type": "integer",
              "description": "Duration in nanoseconds."
            },
            {
              "type": "null"
            }
          ],
          "description": "Timeout specifies the maximum duration for the task. Zero means no timeout."
        },
        "stack": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Stack specifies the stack to use for atmos commands."
        },
        "working_directory": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "WorkingDirectory specifies the working directory for the command."
        },
        "retry": {
          "anyOf": [
            {
              "$ref": "#/$defs/RetryConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Retry specifies retry configuration for failed tasks."
        },
        "identity": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Identity specifies the authentication identity to use."
        },
        "needs": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Needs lists sibling task names that must complete before this task can run."
        },
        "when": {
          "anyOf": [
            {
              "type": "string",
              "description": "Predicate (always, never, ci, local, success, failure) or CEL expression."
            },
            {
              "type": "boolean"
            },
            {
              "type": "array",
              "description": "Conditions that must all hold."
            },
            {
              "type": "object",
              "description": "Structured condition (all/any/not/cel)."
            },
            {
              "type": "null"
            }
          ],
          "description": "When controls whether the task runs."
        },
        "interactive": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Interactive attaches host stdin to the step and lets the step handle Ctrl-C (like docker -i)."
        },
        "tty": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Tty allocates a pseudo-terminal for the step (like docker -t). Combine with interactive for full terminal sessions."
        },
        "prompt": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "description": "Interactive step fields."
        },
        "options": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Options for choose/filter."
        },
        "default": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "boolean"
            },
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default value."
        },
        "placeholder": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Input placeholder."
        },
        "password": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Mask input."
        },
        "multiple": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Allow multiple selection."
        },
        "limit": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Selection limit."
        },
        "content": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Output/UI step fields."
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Title for spin/pager."
        },
        "data": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "object"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Data for table type."
        },
        "columns": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Columns for table."
        },
        "separator": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Separator for join type (default: newline)."
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "File picker fields."
        },
        "source": {
          "description": "Source: workdir provisioning (string or source map), or the directory/file to archive (archive step type, string only)."
        },
        "reset": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Reset the target path before provisioning."
        },
        "extensions": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "File extensions filter."
        },
        "output": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "description": "Display configuration."
        },
        "height": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Height for write type (editor lines)."
        },
        "viewport": {
          "anyOf": [
            {
              "$ref": "#/$defs/ViewportConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Viewport settings for output mode."
        },
        "count": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Count for linebreak type."
        },
        "foreground": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Style step fields (like gum style)."
        },
        "border": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Border style: none, hidden, normal, rounded, thick, double."
        },
        "border_foreground": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Border foreground color."
        },
        "border_background": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Border background color."
        },
        "padding": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "description": "Padding: \"1\" or \"1 2\" or \"1 2 1 2\" (top, right, bottom, left)."
        },
        "margin": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "description": "Margin: \"1\" or \"1 2\" or \"1 2 1 2\" (top, right, bottom, left)."
        },
        "width": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Fixed width."
        },
        "align": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Text alignment: left, center, right."
        },
        "bold": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Bold text."
        },
        "italic": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Italic text."
        },
        "underline": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Underline text."
        },
        "strikethrough": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Strikethrough text."
        },
        "faint": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Faint/dim text."
        },
        "markdown": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Render content as markdown."
        },
        "level": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Log step fields."
        },
        "fields": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Structured log fields (key-value pairs)."
        },
        "voice": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Say step fields."
        },
        "rate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Speech rate: slow, normal, fast."
        },
        "print": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Print policy: fallback, always, never."
        },
        "env": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Environment variables (supports templates)."
        },
        "args": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Command/scanner step arguments (supports templates)."
        },
        "vars": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Env step type fields."
        },
        "code": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Exit step type fields."
        },
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "HTTP step type fields (type: http; also accepts the alias type: webhook)."
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "HTTP method/verb: GET (default), POST, PUT, PATCH, DELETE, HEAD, OPTIONS."
        },
        "headers": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Request headers (supports templates)."
        },
        "query": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Query-string parameters (supports templates)."
        },
        "body": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Raw request body (supports templates); mutually exclusive with form."
        },
        "form": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Form/JSON body params; mutually exclusive with body."
        },
        "expect": {
          "anyOf": [
            {
              "$ref": "#/$defs/HTTPExpect"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Success criteria; defaults to any 2xx."
        },
        "mode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Cast step and session action fields."
        },
        "shell": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Shell for session mode."
        },
        "write_rate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default delay between written bytes."
        },
        "key_interval": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default delay between repeated keys."
        },
        "jitter": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Deterministic typing delay variance for simulated typed cast steps."
        },
        "cursor": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Show a simulated cursor for cast simulate steps."
        },
        "text": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Text for write/wait actions."
        },
        "regex": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Regex for wait actions."
        },
        "key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Key name for key actions."
        },
        "duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Duration for pause/wait actions."
        },
        "interval": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Per-key repeat delay override."
        },
        "repeat": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Key repeat count."
        },
        "defaults": {
          "anyOf": [
            {
              "$ref": "#/$defs/CastDefaults"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Cast child defaults."
        },
        "action": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Container step fields.\n\nAction selects the container verb; its parameters are supplied under the single\n`with:` key. Build/Push/Run/Inspect are populated from `with:` by UnmarshalYAML\nbased on Action, so they carry no YAML key (see decodeContainerWith).\n\nOnly cross-cutting execution modifiers stay top-level (provider, runtime_auto_start,\ncontainer). All action parameters — image, command, ports, mounts, healthcheck, etc. —\nlive under `with:` (decoded into Build/Run/Push/Inspect)."
        },
        "runtime_auto_start": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "provider": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "auto, docker, podman, or empty for auto-detect."
        },
        "container": {
          "anyOf": [
            {
              "$ref": "#/$defs/WorkflowContainer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Workflow container override or false to run on host."
        },
        "format": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Archive step fields (type: archive). Action reuses the container step's\nAction field (create | extract | update | replace); Source reuses the\nworkdir step's Source field (archive requires it to be a string path)."
        },
        "destination": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Pack: archive file to write. Extract: directory to extract into."
        },
        "subpath": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Pack: nest source content under this path inside the archive. Extract: only extract this path, prefix stripped."
        },
        "include": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Glob(s); keep only matching files."
        },
        "exclude": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Glob(s); drop matching files, evaluated before include."
        },
        "mtime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Mtime controls the modification-time metadata stamped into each archive entry\n(not the source files on disk, not the archive file's own OS-level mtime):\nfilesystem (default, same as omitting the field) | epoch (one shared timestamp\nfor the whole archive) | git (per-entry timestamps). epoch/git also normalize\npermission bits. See docs/prd/archive-step.md."
        },
        "tools": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Require step type fields (type: require; also accepts the alias type: assert).\nThe step is a read-only preconditions gate: it never mutates PATH or the environment."
        },
        "files": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Paths that must exist (supports templates)."
        },
        "dirs": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Directories that must exist (supports templates)."
        },
        "hint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Extra remediation note appended to the failure error (supports templates)."
        },
        "outputs": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Outputs declares named outputs derived from the step result."
        },
        "show": {
          "anyOf": [
            {
              "$ref": "#/$defs/ShowConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Show configuration for this step (overrides workflow-level show settings)."
        },
        "steps": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/WorkflowStep"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Control step fields."
        },
        "max_concurrency": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "matrix": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "items": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "type": "array"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "fail": {
          "anyOf": [
            {
              "$ref": "#/$defs/ParallelFailConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "Task represents a unit of work that can be executed.\nThis type unifies workflow steps and custom command steps,\nsupporting both simple string syntax and structured syntax."
    },
    "Tasks": {
      "items": {
        "anyOf": [
          {
            "$ref": "#/$defs/Task"
          },
          {
            "type": "string",
            "description": "Shell command shorthand for a step."
          },
          {
            "type": "null"
          }
        ]
      },
      "type": "array",
      "description": "Tasks is a slice of Task that supports flexible YAML unmarshaling.\nIt can parse both simple string syntax and structured syntax:\n\nSimple syntax:\n\n\tsteps:\n\t  - \"echo hello\"\n\t  - \"echo world\"\n\nStructured syntax:\n\n\tsteps:\n\t  - name: greet\n\t    command: echo hello\n\t    timeout: 30s\n\nMixed syntax:\n\n\tsteps:\n\t  - \"echo simple\"\n\t  - name: complex\n\t    command: echo structured\n\t    timeout: 5m"
    },
    "TelemetrySettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "endpoint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "token": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "logging": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "TelemetrySettings contains configuration for telemetry collection."
    },
    "Templates": {
      "properties": {
        "settings": {
          "anyOf": [
            {
              "$ref": "#/$defs/TemplatesSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "TemplatesSettings": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "sprig": {
          "anyOf": [
            {
              "$ref": "#/$defs/TemplatesSettingsSprig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "gomplate": {
          "anyOf": [
            {
              "$ref": "#/$defs/TemplatesSettingsGomplate"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "delimiters": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "evaluations": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "env": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "mapstructure:\"-\" avoids collision with Command.Env []CommandEnv."
        },
        "ignore_missing_template_values": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "IgnoreMissingTemplateValues is the global default for ignoring missing template values.\nWhen true, template processing will not fail if a template variable is missing.\nThis can be overridden per-import using the import's own ignore_missing_template_values setting."
        }
      },
      "type": "object"
    },
    "TemplatesSettingsGomplate": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "timeout": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "datasources": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/TemplatesSettingsGomplateDatasource"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "TemplatesSettingsGomplateDatasource": {
      "properties": {
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "headers": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "items": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "type": "array"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "TemplatesSettingsSprig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "Terminal": {
      "properties": {
        "max_width": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "pager": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "unicode": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "syntax_highlighting": {
          "anyOf": [
            {
              "$ref": "#/$defs/SyntaxHighlighting"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "color": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "no_color": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Deprecated in config, use Color instead"
        },
        "speed": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "tab_width": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "title": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "alerts": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "mask": {
          "anyOf": [
            {
              "$ref": "#/$defs/MaskSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "theme": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object"
    },
    "Terraform": {
      "properties": {
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "apply_auto_approve": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "append_user_agent": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "deploy_run_init": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "init_run_reconfigure": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "auto_generate_backend_file": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "auto_generate_files": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "AutoGenerateFiles enables automatic generation of auxiliary configuration files\n(e.g., .tf, .json, .yaml) during Terraform operations when set to true.\nGenerated files are defined in the component's generate section."
        },
        "workspaces_enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "command": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "shell": {
          "anyOf": [
            {
              "$ref": "#/$defs/ShellConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "init": {
          "anyOf": [
            {
              "$ref": "#/$defs/TerraformInit"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "plan": {
          "anyOf": [
            {
              "$ref": "#/$defs/TerraformPlan"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "lint": {
          "anyOf": [
            {
              "$ref": "#/$defs/TerraformLint"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Lint configures the built-in `atmos terraform lint` command.\nA configured config path is used when a component does not provide its own\n.tflint.hcl file."
        },
        "planfiles": {
          "anyOf": [
            {
              "$ref": "#/$defs/PlanfilesConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "plugin_cache": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "PluginCache enables automatic Terraform provider plugin caching.\nWhen true, Atmos sets TF_PLUGIN_CACHE_DIR to XDG cache or PluginCacheDir.\nDefault: true."
        },
        "plugin_cache_dir": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "PluginCacheDir is an optional custom path for the plugin cache.\nIf empty and PluginCache is true, uses XDG cache: ~/.cache/atmos/terraform/plugins."
        },
        "auto_provision_workdir_for_outputs": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "AutoProvisionWorkdirForOutputs controls whether Atmos automatically provisions\nJIT working directories before running terraform output.\nWhen true (default), output fetching transparently provisions the workdir\nif provision.workdir.enabled is set on the referenced component."
        },
        "source": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceSettings"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Source holds global source configuration defaults for JIT-vendored components."
        },
        "ci": {
          "anyOf": [
            {
              "$ref": "#/$defs/TerraformCI"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "CI holds terraform-specific CI configuration (e.g., exit code mapping).\nOnly active when the global ci.enabled is true."
        },
        "workspace": {
          "anyOf": [
            {
              "$ref": "#/$defs/WorkspaceConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Workspace holds workspace-related configuration for backend key generation."
        },
        "rc": {
          "anyOf": [
            {
              "$ref": "#/$defs/TerraformRCConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "RC holds Terraform CLI configuration (.terraformrc) that Atmos renders and\nexposes to the terraform/tofu subprocess via TF_CLI_CONFIG_FILE. Disabled by default."
        },
        "cache": {
          "anyOf": [
            {
              "$ref": "#/$defs/TerraformCacheConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Cache holds the Terraform registry cache configuration (provider + module\ncaching via an ephemeral network-mirror proxy). Disabled by default."
        },
        "platforms": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Platforms lists the target platforms a project builds for, as \u003cos\u003e_\u003carch\u003e\n(e.g. linux_amd64, darwin_arm64). It is consumed by `atmos terraform cache\nmirror` (eager multi-platform pre-seeding) and by the automatic post-init\n`providers lock` that keeps .terraform.lock.hcl complete across platforms.\nEmpty defaults to the current host platform."
        }
      },
      "type": "object"
    },
    "TerraformCI": {
      "properties": {
        "exit_codes": {
          "anyOf": [
            {
              "patternProperties": {
                "^[0-9]+$": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "null"
                    },
                    {
                      "$ref": "#/$defs/yamlFunction"
                    }
                  ]
                }
              },
              "additionalProperties": false,
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "ExitCodes maps terraform exit codes to success/failure for CI runners.\nWhen a code maps to true, Atmos exits 0 (success). When false or unmapped,\nthe original exit code is preserved. Only active when global ci.enabled is true."
        }
      },
      "type": "object",
      "description": "TerraformCI holds CI-specific configuration for terraform components."
    },
    "TerraformCacheBackend": {
      "properties": {
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Type is the storage backend: filesystem (default, maps to artifact local/dir)."
        },
        "options": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Options carries backend-specific configuration."
        }
      },
      "type": "object",
      "description": "TerraformCacheBackend selects and configures the cache storage backend."
    },
    "TerraformCacheConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enabled turns on the registry cache. Defaults to false."
        },
        "location": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Location is the cache root. Defaults to the XDG cache directory\n(~/.cache/atmos or $XDG_CACHE_HOME/atmos) under terraform/registry."
        },
        "backend": {
          "anyOf": [
            {
              "$ref": "#/$defs/TerraformCacheBackend"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Backend selects the storage backend. filesystem (default) in V1."
        },
        "metadata_ttl": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "MetadataTTL is the time-to-live for registry metadata. Defaults to 24h."
        },
        "stale_while_revalidate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "StaleWhileRevalidate is the window during which stale metadata may be served\nwhile revalidating in the background. Defaults to 168h."
        },
        "mirror": {
          "anyOf": [
            {
              "$ref": "#/$defs/TerraformCacheMirror"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Mirror configures eager multi-platform pre-seeding via `atmos terraform cache\nmirror` (which wraps `terraform/tofu providers mirror`). When omitted, mirror\ndefaults to the current host platform."
        }
      },
      "type": "object",
      "description": "TerraformCacheConfig configures the Terraform registry cache. The cache is\nexecution-environment (runner) configuration — where/how a machine caches\nregistry content — not stack data."
    },
    "TerraformCacheMirror": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enabled expresses fleet pre-seeding policy; the `cache mirror` command runs\nregardless of this value. Defaults to false."
        }
      },
      "type": "object",
      "description": "TerraformCacheMirror configures eager, multi-platform pre-seeding of the cache\nusing `terraform/tofu providers mirror`. The mirror writes the canonical\nfilesystem_mirror layout the lazy proxy already serves, so the same cache\ndirectory works lazily (proxy), eagerly (mirror), and offline (filesystem_mirror).\n\nThe target platforms live at components.terraform.platforms (a project-level\nproperty shared with the automatic post-init `providers lock`), not here."
    },
    "TerraformDocsReadmeSettings": {
      "properties": {
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "format": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "show_providers": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "show_inputs": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "show_outputs": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "sort_by": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "hide_empty": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "indent_level": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "TerraformInit": {
      "properties": {
        "pass_vars": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "TerraformLint": {
      "properties": {
        "config": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "error_mode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "ErrorMode is the project-wide default for `atmos terraform lint`'s `--error-mode` flag:\nhow to handle a recoverable per-value YAML function error (e.g. a Terraform backend that\nhas not been provisioned yet) or a component-specific auth failure encountered while\ndiscovering lint targets. Values: \"strict\", \"warn\" (default), \"silent\". An explicit\n--error-mode flag or ATMOS_TERRAFORM_LINT_ERROR_MODE env var overrides this."
        }
      },
      "type": "object",
      "description": "TerraformLint configures TFLint for Terraform components. Config may be an\nabsolute path or a path relative to the Atmos base path."
    },
    "TerraformPlan": {
      "properties": {
        "skip_planfile": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "TerraformRCConfig": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Enabled turns on rendering of the CLI configuration. Defaults to false."
        }
      },
      "type": "object",
      "description": "TerraformRCConfig is a near-opaque passthrough rendered into Terraform's native\nCLI configuration (HCL). Only `enabled` is typed; all remaining keys are captured\nverbatim in Config and rendered as CLI-config directives (provider_installation,\nhost, credentials, plugin_cache_dir, ...), so new directives require no Atmos\nschema change."
    },
    "Toolchain": {
      "properties": {
        "install_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "max_concurrency": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "file_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "tools_dir": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "versions_file": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "lock_file": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "use_tool_versions": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "use_lock_file": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "verification": {
          "anyOf": [
            {
              "$ref": "#/$defs/ToolchainVerification"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "registries": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ToolchainRegistry"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "aliases": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "proxies": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ToolchainProxy"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "Toolchain configures the built-in CLI toolchain management system for installing and managing external tools."
    },
    "ToolchainProxy": {
      "properties": {
        "tool": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "args": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "type": "object",
      "description": "ToolchainProxy exposes a toolchain binary under a command name. The tool is\nresolved through Toolchain.Aliases and args are prepended to user arguments."
    },
    "ToolchainRegistry": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "aqua, atmos, url"
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "ref": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Git ref (tag, branch, or commit) to pin registry version."
        },
        "priority": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "tools": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "For inline atmos-type registries"
        }
      },
      "type": "object",
      "description": "ToolchainRegistry defines a registry source for tool metadata."
    },
    "ToolchainVerification": {
      "properties": {
        "checksums": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "signatures": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "verifier_install": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "verifier_trust": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "ToolchainVerification configures package integrity and signature checks."
    },
    "TopLevelListConfig": {
      "properties": {
        "components": {
          "anyOf": [
            {
              "$ref": "#/$defs/ListConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Components configures the \"atmos list components\" command output.\nShows unique component definitions (deduplicated across stacks)."
        },
        "instances": {
          "anyOf": [
            {
              "$ref": "#/$defs/ListConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Instances configures the \"atmos list instances\" command output.\nShows component instances (one entry per component+stack pair)."
        },
        "stacks": {
          "anyOf": [
            {
              "$ref": "#/$defs/ListConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Stacks configures the \"atmos list stacks\" command output."
        },
        "error_mode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "ErrorMode is the project-wide default for the `list` commands' (`list stacks`,\n`list components`, `list settings`, `list affected`) `--error-mode` flag: how to handle\na recoverable per-value YAML function error (e.g. a Terraform backend that has not been\nprovisioned yet). Values: \"strict\", \"warn\" (default), \"silent\". An explicit --error-mode\nflag or ATMOS_LIST_ERROR_MODE env var overrides this."
        }
      },
      "type": "object",
      "description": "TopLevelListConfig holds command-specific list configurations.\nThis is a top-level configuration that separates settings for different list commands."
    },
    "Validate": {
      "properties": {
        "format": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Format is the project-wide default for human validation output. Individual\nvalidators may provide a more specific setting (for example\nvalidate.editorconfig.format)."
        },
        "editorconfig": {
          "anyOf": [
            {
              "$ref": "#/$defs/EditorConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "Vendor": {
      "properties": {
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Path to vendor configuration file or directory containing vendor files.\nIf a directory is specified, all .yaml files in the directory will be processed in lexicographical order."
        },
        "list": {
          "anyOf": [
            {
              "$ref": "#/$defs/ListConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "List configuration for vendor list output."
        },
        "retry": {
          "anyOf": [
            {
              "$ref": "#/$defs/RetryConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Retry configuration for vendor operations (global default)."
        }
      },
      "type": "object"
    },
    "Version": {
      "properties": {
        "check": {
          "anyOf": [
            {
              "$ref": "#/$defs/VersionCheck"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "constraint": {
          "anyOf": [
            {
              "$ref": "#/$defs/VersionConstraint"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "use": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Use specifies the exact Atmos version to use for this project.\nWhen set, Atmos will automatically re-execute itself with the specified version,\ninstalling it first if not already present.\n\nExamples:\n  \"1.160.0\"  - Use exact version\n  \"latest\"   - Resolve and use the latest available version\n\nThe re-exec uses the toolchain installer, storing versions in ~/.atmos/bin/cloudposse/atmos/{version}/."
        },
        "track": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Track is the default managed version track."
        },
        "lock_file": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "LockFile is the path to the managed versions lock file. Relative paths are\nresolved from the Atmos base path."
        },
        "providers": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/VersionProvider"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "defaults": {
          "anyOf": [
            {
              "$ref": "#/$defs/VersionPolicy"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "groups": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/VersionGroup"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "dependencies": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/VersionEntry"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Dependencies is the base catalog of external dependencies managed by the\nVersion Tracker. Track-level dependencies override these entries."
        },
        "tracks": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/VersionTrack"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "files": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/VersionFileRule"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Files declares which project files the file managers maintain. When\nempty, managers with default paths (github-actions, template) run over\nthose defaults."
        }
      },
      "type": "object",
      "description": "Version configures version checking, constraint validation, self-management, and managed external versions."
    },
    "VersionCheck": {
      "properties": {
        "enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "timeout": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "frequency": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object",
      "description": "VersionCheck configures automatic version checking against GitHub releases."
    },
    "VersionConstraint": {
      "properties": {
        "require": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Require specifies the semver constraint(s) for Atmos version as a single string.\nMultiple constraints are comma-separated and treated as logical AND.\nUses hashicorp/go-version library syntax (same as Terraform).\n\nExamples:\n  \"\u003e=1.2.3\"                    - Minimum version\n  \"\u003c2.0.0\"                     - Maximum version (exclude)\n  \"\u003e=1.2.3, \u003c2.0.0\"            - Range (AND logic)\n  \"\u003e=2.5.0, !=2.7.0, \u003c3.0.0\"   - Complex (multiple AND constraints)\n  \"~\u003e1.2\"                      - Pessimistic constraint (\u003e=1.2.0, \u003c1.3.0)\n  \"~\u003e1.2.3\"                    - Pessimistic constraint (\u003e=1.2.3, \u003c1.3.0)\n  \"1.2.3\"                      - Exact version"
        },
        "enforcement": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Enforcement specifies the behavior when version constraint is not satisfied.\nValues:\n  \"fatal\" - Exit immediately with error code 1 (default)\n  \"warn\"  - Log warning but continue execution\n  \"silent\" - Skip validation entirely (for debugging)"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Message provides a custom message to display when constraint fails.\nIf empty, a default message is shown."
        }
      },
      "type": "object",
      "description": "VersionConstraint configures version constraint validation for Atmos.\nWhen specified, Atmos validates that the current version satisfies the constraint\nbefore executing any command."
    },
    "VersionEntry": {
      "properties": {
        "ecosystem": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "datasource": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "provider": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "package": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "desired": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "group": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "update": {
          "anyOf": [
            {
              "$ref": "#/$defs/VersionUpdatePolicy"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "include": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "exclude": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "prerelease": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "labels": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "type": "object",
      "description": "VersionEntry configures one externally managed version."
    },
    "VersionFileRule": {
      "properties": {
        "manager": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Manager is the file manager name (github-actions, marker, template)."
        },
        "paths": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Paths are glob patterns (doublestar) relative to the project root."
        },
        "options": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Options carries manager-specific settings."
        }
      },
      "type": "object",
      "description": "VersionFileRule maps a file manager to the paths it maintains, so a single\n`atmos version track apply` sweeps every version-managed file."
    },
    "VersionGroup": {
      "properties": {
        "ecosystems": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "datasources": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "providers": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "patterns": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "exclude_patterns": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "update": {
          "anyOf": [
            {
              "$ref": "#/$defs/VersionUpdatePolicy"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "include": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "exclude": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "prerelease": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "labels": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "type": "object",
      "description": "VersionGroup configures a Dependabot/Renovate-style batch of updates."
    },
    "VersionPolicy": {
      "properties": {
        "update": {
          "anyOf": [
            {
              "$ref": "#/$defs/VersionUpdatePolicy"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "include": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "exclude": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "prerelease": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "labels": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "type": "object",
      "description": "VersionPolicy configures shared defaults for managed versions."
    },
    "VersionProvider": {
      "properties": {
        "kind": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Deprecated: use kind."
        },
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "region": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "registry_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "insecure": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Insecure allows plain-HTTP access to the registry (local/emulated\nregistries only)."
        }
      },
      "type": "object",
      "description": "VersionProvider configures a concrete backend used to discover versions."
    },
    "VersionTrack": {
      "properties": {
        "extends": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "defaults": {
          "anyOf": [
            {
              "$ref": "#/$defs/VersionPolicy"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "dependencies": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/VersionEntry"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "VersionTrack configures a named version lane such as dev, staging, or prod."
    },
    "VersionUpdatePolicy": {
      "properties": {
        "strategy": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "cooldown": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "schedule": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "pin": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Pin selects the artifact form emitted for the entry: \"digest\" (alias\n\"sha\") locks and renders the immutable identifier (git commit SHA or\nOCI sha256 digest) alongside the human-readable version; \"none\" or\nempty keeps plain version references. Strategy decides how far updates\nmay advance; Pin decides which form is written."
        }
      },
      "type": "object",
      "description": "VersionUpdatePolicy configures update intent for managed versions."
    },
    "ViewportConfig": {
      "properties": {
        "height": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Lines."
        },
        "width": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Columns."
        }
      },
      "type": "object",
      "description": "ViewportConfig configures viewport display settings."
    },
    "WorkflowContainer": {
      "properties": {
        "image": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "shell": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "provider": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "runtime_auto_start": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "pull": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "workspace": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "workspace_read_only": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "cleanup": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "user": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "run_args": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "mounts": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ContainerMount"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "ports": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/ContainerPort"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "env": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "WorkflowContainer configures a workflow-level container-backed sandbox or a\nstep-level container override. A YAML value of `false` disables inheritance."
    },
    "WorkflowStep": {
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Existing fields."
        },
        "command": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "script": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Inline script body for type: script."
        },
        "interpreter": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Script interpreter for type: script."
        },
        "stack": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "working_directory": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "retry": {
          "anyOf": [
            {
              "$ref": "#/$defs/RetryConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "identity": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "needs": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ]
        },
        "when": {
          "anyOf": [
            {
              "type": "string",
              "description": "Predicate (always, never, ci, local, success, failure) or CEL expression."
            },
            {
              "type": "boolean"
            },
            {
              "type": "array",
              "description": "Conditions that must all hold."
            },
            {
              "type": "object",
              "description": "Structured condition (all/any/not/cel)."
            },
            {
              "type": "null"
            }
          ]
        },
        "interactive": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Interactive attaches host stdin to the step and lets the step handle Ctrl-C (like docker -i)."
        },
        "tty": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Tty allocates a pseudo-terminal for the step (like docker -t). Combine with interactive for full terminal sessions."
        },
        "prompt": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Interactive step fields."
        },
        "options": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Options for choose/filter."
        },
        "default": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default value."
        },
        "placeholder": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Input placeholder."
        },
        "password": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Mask input."
        },
        "multiple": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Allow multiple selection."
        },
        "limit": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Selection limit."
        },
        "content": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Output/UI step fields."
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Title for spin/pager."
        },
        "data": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "object"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Data for table type."
        },
        "columns": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Columns for table."
        },
        "separator": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Separator for join type (default: newline)."
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "File picker fields."
        },
        "source": {
          "description": "Source: workdir provisioning (string or source map), or the directory/file to archive (archive step type, string only)."
        },
        "reset": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Reset the target path before provisioning."
        },
        "extensions": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "File extensions filter."
        },
        "output": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Display configuration."
        },
        "height": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Height for write type (editor lines)."
        },
        "viewport": {
          "anyOf": [
            {
              "$ref": "#/$defs/ViewportConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Viewport settings for output mode."
        },
        "timeout": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Timeout duration."
        },
        "count": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Count for linebreak type."
        },
        "foreground": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Style step fields (like gum style)."
        },
        "border": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Border style: none, hidden, normal, rounded, thick, double."
        },
        "border_foreground": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Border foreground color."
        },
        "border_background": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Border background color."
        },
        "padding": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Padding: \"1\" or \"1 2\" or \"1 2 1 2\" (top, right, bottom, left)."
        },
        "margin": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Margin: \"1\" or \"1 2\" or \"1 2 1 2\" (top, right, bottom, left)."
        },
        "width": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Fixed width."
        },
        "align": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Text alignment: left, center, right."
        },
        "bold": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Bold text."
        },
        "italic": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Italic text."
        },
        "underline": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Underline text."
        },
        "strikethrough": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Strikethrough text."
        },
        "faint": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Faint/dim text."
        },
        "markdown": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Render content as markdown."
        },
        "level": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Log step fields."
        },
        "fields": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Structured log fields (key-value pairs)."
        },
        "voice": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Say step fields."
        },
        "rate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Speech rate: slow, normal, fast."
        },
        "print": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Print policy: fallback (default), always, never."
        },
        "env": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Environment variables (supports templates)."
        },
        "args": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Command/scanner step arguments (supports templates)."
        },
        "vars": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Env step type fields."
        },
        "code": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Exit step type fields."
        },
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "HTTP step type fields (type: http; also accepts the alias type: webhook)."
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "HTTP method/verb: GET (default), POST, PUT, PATCH, DELETE, HEAD, OPTIONS."
        },
        "headers": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Request headers (supports templates)."
        },
        "query": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Query-string parameters (supports templates)."
        },
        "body": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Raw request body (supports templates); mutually exclusive with form."
        },
        "form": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Form/JSON body params; mutually exclusive with body."
        },
        "expect": {
          "anyOf": [
            {
              "$ref": "#/$defs/HTTPExpect"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Success criteria; defaults to any 2xx."
        },
        "mode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Cast step and session action fields."
        },
        "shell": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Shell for session mode."
        },
        "write_rate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default delay between written bytes."
        },
        "key_interval": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default delay between repeated keys."
        },
        "jitter": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Deterministic typing delay variance for simulated typed cast steps."
        },
        "cursor": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Show a simulated cursor for cast simulate steps."
        },
        "text": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Text for write/wait actions."
        },
        "regex": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Regex for wait actions."
        },
        "key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Key name for key actions."
        },
        "duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Duration for pause/wait actions."
        },
        "interval": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Per-key repeat delay override."
        },
        "repeat": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Key repeat count."
        },
        "defaults": {
          "anyOf": [
            {
              "$ref": "#/$defs/CastDefaults"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Cast child defaults."
        },
        "action": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Container step fields.\n\nAction selects the container verb; the action's parameters are supplied under\nthe single `with:` key (GitHub Actions `uses`/`with` style). Build/Push/Run/Inspect\nare populated from `with:` by UnmarshalYAML based on Action, so they carry no YAML key.\n\nOnly cross-cutting execution modifiers stay top-level (provider, runtime_auto_start,\nruntime, container). All action parameters — image, command, ports, mounts,\nhealthcheck, etc. — live under `with:` (decoded into Build/Run/Push/Inspect)."
        },
        "runtime_auto_start": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "runtime": {
          "anyOf": [
            {
              "$ref": "#/$defs/ContainerRuntimeConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Inline per-step runtime block (e.g. runtime.host for Docker-out-of-Docker)."
        },
        "provider": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "auto, docker, podman, or empty for auto-detect."
        },
        "container": {
          "anyOf": [
            {
              "$ref": "#/$defs/WorkflowContainer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Workflow container override or false to run on host."
        },
        "component": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Emulator step fields."
        },
        "ephemeral": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Run the emulator without persistence for this step (emulator step type)."
        },
        "format": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Archive step fields (type: archive). Action reuses the container step's\nAction field (create | extract | update | replace); Source reuses the\nworkdir step's Source field (archive requires it to be a string path)."
        },
        "destination": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Pack: archive file to write. Extract: directory to extract into."
        },
        "subpath": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Pack: nest source content under this path inside the archive. Extract: only extract this path, prefix stripped."
        },
        "include": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Glob(s); keep only matching files."
        },
        "exclude": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Glob(s); drop matching files, evaluated before include."
        },
        "mtime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Mtime controls the modification-time metadata stamped into each archive entry\n(not the source files on disk, not the archive file's own OS-level mtime):\nfilesystem (default, same as omitting the field) | epoch (one shared timestamp\nfor the whole archive) | git (per-entry timestamps). epoch/git also normalize\npermission bits. See docs/prd/archive-step.md."
        },
        "files": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "JUnit step fields."
        },
        "tools": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Require step type fields (type: require; also accepts the alias type: assert).\nThe step is a read-only preconditions gate: it never mutates PATH or the environment."
        },
        "dirs": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            },
            {
              "type": "string"
            }
          ],
          "description": "Directories that must exist (supports templates)."
        },
        "hint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Extra remediation note appended to the failure error (supports templates)."
        },
        "outputs": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Outputs declares named outputs derived from the step result."
        },
        "show": {
          "anyOf": [
            {
              "$ref": "#/$defs/ShowConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Show configuration for this step (overrides workflow-level show settings)."
        },
        "steps": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/WorkflowStep"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ],
          "description": "Control step fields."
        },
        "max_concurrency": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "matrix": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "items": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "type": "array"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/$defs/yamlFunction"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        },
        "fail": {
          "anyOf": [
            {
              "$ref": "#/$defs/ParallelFailConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object",
      "description": "WorkflowStep represents a single step in a workflow."
    },
    "Workflows": {
      "properties": {
        "base_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "list": {
          "anyOf": [
            {
              "$ref": "#/$defs/ListConfig"
            },
            {
              "type": "null"
            },
            {
              "$ref": "#/$defs/yamlFunction"
            }
          ]
        }
      },
      "type": "object"
    },
    "WorkspaceConfig": {
      "properties": {
        "prefix_separator": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "PrefixSeparator controls how '/' in component names is handled when\nauto-generating backend key prefixes (workspace_key_prefix for S3,\nprefix for GCS, key for Azure).\n\n\"-\" (default): Replace '/' with '-' → services/consul becomes services-consul.\n\"/\": Preserve '/' as-is → services/consul stays services/consul."
        }
      },
      "type": "object",
      "description": "WorkspaceConfig holds workspace-related configuration."
    },
    "yamlFunction": {
      "type": "string",
      "pattern": "^(?:!git\\.repository|!include\\.raw|!git\\.branch|!git\\.owner|!repo-root|!git\\.host|!git\\.name|!git\\.root|!git\\.ref|!git\\.sha|!git\\.url|!include|!append|!random|!unset|!exec|!cwd|!env)(?:\\s|$)",
      "description": "Atmos YAML function invocation whose result replaces this value when atmos.yaml is loaded (e.g. `!include`, `!env`, `!exec`)."
    }
  },
  "properties": {
    "base_path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "cast": {
      "anyOf": [
        {
          "$ref": "#/$defs/CastConfig"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "components": {
      "anyOf": [
        {
          "$ref": "#/$defs/Components"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "stacks": {
      "anyOf": [
        {
          "$ref": "#/$defs/Stacks"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "imports": {
      "anyOf": [
        {
          "$ref": "#/$defs/ImportsSettings"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "workflows": {
      "anyOf": [
        {
          "$ref": "#/$defs/Workflows"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "logs": {
      "anyOf": [
        {
          "$ref": "#/$defs/Logs"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "diagnostics": {
      "anyOf": [
        {
          "$ref": "#/$defs/Diagnostics"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "errors": {
      "anyOf": [
        {
          "$ref": "#/$defs/ErrorsConfig"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "commands": {
      "anyOf": [
        {
          "items": {
            "anyOf": [
              {
                "$ref": "#/$defs/Command"
              },
              {
                "type": "null"
              },
              {
                "$ref": "#/$defs/yamlFunction"
              }
            ]
          },
          "type": "array"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "aliases": {
      "anyOf": [
        {
          "$ref": "#/$defs/CommandAliases"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "integrations": {
      "anyOf": [
        {
          "$ref": "#/$defs/Integrations"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "schemas": {
      "anyOf": [
        {
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string",
                "description": "Path or URL of the schema resource."
              },
              {
                "$ref": "#/$defs/ResourcePath"
              },
              {
                "$ref": "#/$defs/SchemaRegistry"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": "object"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "templates": {
      "anyOf": [
        {
          "$ref": "#/$defs/Templates"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "settings": {
      "anyOf": [
        {
          "$ref": "#/$defs/AtmosSettings"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "describe": {
      "anyOf": [
        {
          "$ref": "#/$defs/Describe"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "stores": {
      "anyOf": [
        {
          "additionalProperties": {
            "anyOf": [
              {
                "$ref": "#/$defs/StoreConfig"
              },
              {
                "type": "null"
              },
              {
                "$ref": "#/$defs/yamlFunction"
              }
            ]
          },
          "type": "object"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "secrets": {
      "anyOf": [
        {
          "$ref": "#/$defs/SecretsConfig"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "vendor": {
      "anyOf": [
        {
          "$ref": "#/$defs/Vendor"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "version": {
      "anyOf": [
        {
          "$ref": "#/$defs/Version"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "validate": {
      "anyOf": [
        {
          "$ref": "#/$defs/Validate"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "import": {
      "anyOf": [
        {
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": "array"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        },
        {
          "type": "string"
        }
      ]
    },
    "docs": {
      "anyOf": [
        {
          "$ref": "#/$defs/Docs"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "auth": {
      "anyOf": [
        {
          "$ref": "#/$defs/AuthConfig"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "container": {
      "anyOf": [
        {
          "$ref": "#/$defs/ContainerConfig"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "compositions": {
      "anyOf": [
        {
          "additionalProperties": {
            "anyOf": [
              {
                "$ref": "#/$defs/Composition"
              },
              {
                "type": "null"
              },
              {
                "$ref": "#/$defs/yamlFunction"
              }
            ]
          },
          "type": "object"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "env": {
      "anyOf": [
        {
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": "object"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ],
      "description": "mapstructure:\"-\" avoids collision with Command.Env []CommandEnv."
    },
    "profiler": {
      "anyOf": [
        {
          "$ref": "#/$defs/Config"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "track_provenance": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "toolchain": {
      "anyOf": [
        {
          "$ref": "#/$defs/Toolchain"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "git": {
      "anyOf": [
        {
          "$ref": "#/$defs/GitConfig"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "devcontainer": {
      "anyOf": [
        {
          "type": "object"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "profiles": {
      "anyOf": [
        {
          "$ref": "#/$defs/ProfilesConfig"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "metadata": {
      "anyOf": [
        {
          "$ref": "#/$defs/ConfigMetadata"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "list": {
      "anyOf": [
        {
          "$ref": "#/$defs/TopLevelListConfig"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ],
      "description": "List holds command-specific list configurations (list.components, list.instances, list.stacks)."
    },
    "ci": {
      "anyOf": [
        {
          "$ref": "#/$defs/CIConfig"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ]
    },
    "ai": {
      "anyOf": [
        {
          "$ref": "#/$defs/AISettings"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ],
      "description": "AI settings."
    },
    "aws": {
      "anyOf": [
        {
          "$ref": "#/$defs/AWSSettings"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ],
      "description": "AWS settings."
    },
    "mcp": {
      "anyOf": [
        {
          "$ref": "#/$defs/MCPSettings"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ],
      "description": "MCP (Model Context Protocol) server settings."
    },
    "lsp": {
      "anyOf": [
        {
          "$ref": "#/$defs/LSPSettings"
        },
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/yamlFunction"
        }
      ],
      "description": "LSP settings."
    }
  },
  "type": "object",
  "title": "JSON Schema for the Atmos CLI configuration (atmos.yaml). Version 1.0. https://atmos.tools",
  "description": "Configuration for the Atmos CLI, authored in atmos.yaml (or atmos.d fragments). Generated from the Go configuration structs, so it always matches what Atmos actually reads."
}
