{
  "name": "Orylin Browser Session Agent",
  "description": "Account-free, browser-local coordination for user-controlled agents that establish ephemeral end-to-end encrypted Orylin sessions. The advertised custom binding runs inside the Orylin Agent page; Orylin does not expose a remote plaintext A2A messaging endpoint or retain session keys.",
  "supportedInterfaces": [
    {
      "url": "https://orylin.link/agent",
      "protocolBinding": "ORYLIN+BROWSER-JS",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "organization": "Orylin",
    "url": "https://orylin.link"
  },
  "version": "1.0.0",
  "documentationUrl": "https://orylin.link/agent",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "securitySchemes": {},
  "securityRequirements": [],
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "private-session-lifecycle",
      "name": "Private Browser Session Lifecycle",
      "description": "Creates, joins, observes, extends, switches, and ends ephemeral Orylin sessions through the browser-local window.orylinAgent interface. Invitation capability material and session keys stay in user-controlled browser memory.",
      "tags": [
        "browser-local",
        "ephemeral-session",
        "end-to-end-encryption",
        "no-account"
      ],
      "examples": [
        "Create an ephemeral session and return its full invitation link.",
        "Join the session represented by this user-supplied Orylin invitation link."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "encrypted-peer-exchange",
      "name": "Encrypted Peer Exchange",
      "description": "Sends and receives messages, receipts, and explicitly registered in-memory files within an established browser session. Application payloads are encrypted before coordination infrastructure is used.",
      "tags": [
        "encrypted-message",
        "memory-only-file",
        "peer-to-peer",
        "browser-permission"
      ],
      "examples": [
        "Send a text message after the browser session reports an active peer connection.",
        "Register an in-memory file, send it to the connected peer, then release it from memory."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ]
}
