{
  "version": 1,
  "name": "Slab URL state",
  "url": "https://slab.sentry.dev/",
  "transport": {
    "location": "hash",
    "parameter": "data",
    "encoding": "base64url-json",
    "example": "https://slab.sentry.dev/#data=eyJzb3VyY2UiOiJjb25zb2xlLmxvZygnaGVsbG8nKSIsImxhbmd1YWdlIjoiamF2YXNjcmlwdCIsInByZXNldCI6ImxhbmRzY2FwZSIsImZvbnRTaXplIjoiMTYifQ"
  },
  "state": {
    "source": {
      "type": "string",
      "required": true,
      "description": "Raw code, notes, markdown, or transcript text to render."
    },
    "language": {
      "type": "string",
      "default": "auto",
      "enum": [
        "auto",
        "agent",
        "typescript",
        "javascript",
        "tsx",
        "html",
        "css",
        "python",
        "ruby",
        "php",
        "java",
        "csharp",
        "swift",
        "kotlin",
        "dart",
        "rust",
        "go",
        "c",
        "cpp",
        "dockerfile",
        "sql",
        "graphql",
        "bash",
        "json",
        "yaml",
        "toml",
        "xml",
        "markdown",
        "text"
      ]
    },
    "preset": {
      "type": "string",
      "default": "auto",
      "enum": ["auto", "square", "landscape", "story"]
    },
    "fontSize": {
      "type": "string",
      "default": "16",
      "enum": ["14", "16", "19"]
    }
  },
  "notes": [
    "Use the hash fragment so source content is not sent to the server.",
    "This transport is intended for snippets. Very large inputs may exceed browser or shell URL limits.",
    "Encode JSON as UTF-8, then base64url without padding."
  ]
}
