{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Request a persistent Deno worker through the compute contract gateway. Gateway bundles source, creates workerManifest record, runs the full RFP protocol, starts the worker, and returns the worker instance ref and execute URL.",
      "errors": [
        {
          "name": "InvalidRequest"
        },
        {
          "name": "AuthRequired"
        },
        {
          "name": "NoBidders"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "bidWindowSec": {
              "default": 30,
              "description": "Seconds to wait for bids.",
              "type": "integer"
            },
            "denoJson": {
              "description": "deno.json configuration for the worker bundle.",
              "type": "string"
            },
            "denoLock": {
              "description": "Optional deno.lock for reproducible builds.",
              "type": "string"
            },
            "source": {
              "description": "TypeScript source code for the worker.",
              "type": "string"
            }
          },
          "required": [
            "source",
            "denoJson"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "error": {
              "type": "string"
            },
            "executeUrl": {
              "format": "uri",
              "type": "string"
            },
            "receiptCid": {
              "format": "cid",
              "type": "string"
            },
            "receiptOk": {
              "type": "boolean"
            },
            "receiptUri": {
              "format": "at-uri",
              "type": "string"
            },
            "workerInstanceUri": {
              "format": "at-uri",
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "com.publicdomainrelay.temp.gateway.requestComputeWorkerPersistent",
  "lexicon": 1
}
