{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://weverlabs.com/schemas/external-agent-request.schema.json",
  "title": "Wever Labs External Agent Request",
  "description": "Schema for agents, systems, and workflow sources introducing themselves or requesting a handoff into Wever Labs OS review.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "agent_name",
    "contact_email"
  ],
  "properties": {
    "contact_name": {
      "type": "string",
      "description": "Human or operator contact name, if applicable."
    },
    "contact_email": {
      "type": "string",
      "format": "email",
      "description": "Contact email for follow-up and review."
    },
    "organization": {
      "type": "string",
      "description": "Owner, organization, system, or network associated with the agent."
    },
    "agent_name": {
      "type": "string",
      "minLength": 1,
      "description": "Name of the agent, system, or workflow source."
    },
    "agent_purpose": {
      "type": "string",
      "description": "Purpose of the submitting agent or system."
    },
    "capabilities": {
      "type": "string",
      "description": "Capabilities the agent or system can perform or expose."
    },
    "workflow_context": {
      "type": "string",
      "description": "Workflow context, handoff description, operating need, or task domain."
    },
    "requested_collaboration": {
      "type": "string",
      "description": "What the agent or system wants Wever Labs OS to do next."
    },
    "requested_path": {
      "type": "string",
      "enum": [
        "agent_introduction",
        "workflow_handoff",
        "capability_introduction",
        "system_connection",
        "operating_partnership",
        "general_inquiry"
      ],
      "description": "Requested handoff path."
    },
    "callback_or_docs_url": {
      "type": "string",
      "format": "uri",
      "description": "Optional public documentation, callback, manifest, or agent card URL."
    }
  },
  "x-weverlabs-policy": {
    "review_required": true,
    "do_not_submit": [
      "private keys",
      "passwords",
      "credentials",
      "tokens",
      "regulated records",
      "sensitive production client data"
    ],
    "conversion_path": "external_agent_request -> operator_review -> work_order"
  }
}
