{
"id": "dev.cocore.inference.dispatch",
"defs": {
"main": {
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"model",
"prompt",
"maxTokensOut",
"priceCeiling"
],
"properties": {
"model": {
"type": "string",
"minLength": 1
},
"prompt": {
"type": "string",
"minLength": 1
},
"maxTokensOut": {
"type": "integer",
"minimum": 1
},
"priceCeiling": {
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "integer",
"minimum": 0
},
"currency": {
"type": "string",
"minLength": 1
}
}
},
"targetProviderDid": {
"type": "string",
"format": "did",
"description": "Pin dispatch to a specific provider DID instead of letting the advisor route."
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "AuthRequired",
"description": "The caller is not authenticated."
},
{
"name": "InvalidRequest",
"description": "The body failed validation."
}
],
"output": {
"encoding": "text/event-stream",
"description": "A Server-Sent Events stream of `meta`, `chunk`, `complete`, and `error` frames (see the method description for payloads)."
},
"description": "Submit an inference request and stream the result back as Server-Sent Events. Authenticates the requester, runs the dispatch core, and emits typed SSE frames. Unlike `submit` (which returns URIs to poll), `dispatch` drives the full request and streams plaintext output chunks until completion.\n\nSSE events:\n * `meta` — { jobUri, jobCid, authUri, inputCommitment, providerDid, sessionId }\n * `chunk` — { seq, text } (plaintext, decrypted)\n * `complete` — { tokensIn, tokensOut, receiptUri, providerCredit? }\n * `error` — { reason, code }"
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}
Metadata
- DID
-
did:plc:5quuhkmwe2q4k3azfsgg7kdz
- CID
-
bafyreifr55vvhyq4uw4svjcrlqjzcuid3q7ka5kbq4eir4zo7vxh4opj7e
- Indexed At
- 2026-06-21 00:58 UTC
- AT-URI
-
at://did:plc:5quuhkmwe2q4k3azfsgg7kdz/com.atproto.lexicon.schema/dev.cocore.inference.dispatch
Version History (2 versions)