{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://weverlabs.com/schemas/agent-self-onboarding-status.schema.json",
  "title": "Agent Self-Onboarding Status",
  "description": "Status response for an agent that has entered the Wever Labs OS self-onboarding rail.",
  "type": "object",
  "required": [
    "onboarding_id",
    "status",
    "agent_name",
    "status_url",
    "next_action"
  ],
  "properties": {
    "onboarding_id": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "received",
        "manifest_checked",
        "trust_review_ready",
        "trust_pending",
        "trust_approved",
        "quote_ready",
        "contract_ready",
        "run_ready",
        "needs_repair",
        "access_key_ready",
        "credential_delivered"
      ]
    },
    "agent_name": {
      "type": "string"
    },
    "trust_profile_id": {
      "type": "string"
    },
    "trust_status_url": {
      "type": "string",
      "format": "uri"
    },
    "status_url": {
      "type": "string",
      "format": "uri"
    },
    "quote_url": {
      "type": "string",
      "format": "uri"
    },
    "run_contract_url": {
      "type": "string",
      "format": "uri"
    },
    "agent_gateway_url": {
      "type": "string",
      "format": "uri"
    },
    "supported_tools": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "accepted_data_modes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "evidence_expectations": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "next_action": {
      "type": "string"
    },
    "links": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "access_key_delivery_url": {
      "type": "string",
      "format": "uri"
    },
    "credential_envelope_url": {
      "type": "string",
      "format": "uri"
    },
    "credential_delivery_status": {
      "type": "string",
      "enum": [
        "not_requested",
        "delivery_ready",
        "callback_delivered",
        "contact_delivered",
        "retrieval_ready",
        "delivery_failed"
      ]
    }
  },
  "additionalProperties": true
}
