Skip to content
Developer Preview

ErrorData

The optional error.data object. All members additive-optional; kind is always present when data is.

  • alignedNextOffset
  • anchor
  • approvalId
  • capability
  • capacity
  • choiceId
  • commandId
  • currentRequirementId
  • descriptor
  • details
  • earliestCursor
  • kind
  • lastTurnId
  • latestBoundaryCursor
  • limitBytes
  • paths
  • reason
  • resolution
  • retryable
  • sessionId
  • settlement
  • userInputId
  • viewCursor
Source

schema/msp/experimental/msp.schema.json#/types/ErrorData

{
"description": "The optional `error.data` object. All members additive-optional;\n`kind` is always present when `data` is.",
"properties": {
"alignedNextOffset": {
"description": "The next provable UTF-8 boundary on a misaligned text-media\n`item/readOutput` read:\nabsent when no boundary is provable from the stored bytes ahead.",
"type": "integer"
},
"anchor": {
"description": "The rejected anchor value on `notFound`/`missingAnchor` and the\n`-32042` boundary arms; on `-32042` it is served\nas an explicit `null` when the request named no concrete anchor.",
"type": [
"string",
"null"
]
},
"approvalId": {
"description": "Approval identity on approval errors.",
"type": "string"
},
"capability": {
"$ref": "#/$defs/CapabilityName",
"description": "The missing capability, on `capabilityRequired` errors. Typed on the\ngrantable registry, so `rawLog` is outside the v1 domain and joins it\nas an additive open-enum extension in a future protocol revision."
},
"capacity": {
"description": "The configured command-admission bound, on `backpressured` errors.",
"type": "integer"
},
"choiceId": {
"description": "Rejected server-minted choice on `approvalChoiceInvalid`.",
"type": "string"
},
"commandId": {
"description": "The rejected command's identifier, on `commandRejected` errors. The\nratified v1 contract pairs it with `reason`, so a client can settle the exact command it\nsent without parsing the message string.",
"type": "string"
},
"currentRequirementId": {
"$ref": "#/$defs/ApprovalRequirementRef",
"description": "Current stage token on `approvalRequirementStale`."
},
"descriptor": {
"description": "descriptor, on `experimentalRequired` errors.",
"type": "string"
},
"details": {
"description": "Free-form additive detail.",
"properties": {},
"type": "object"
},
"earliestCursor": {
"description": "The oldest servable view position on `viewTruncated` (`-32040`); served as an explicit `null` when nothing before the head\nis servable — the null is present on the wire, never a dropped key.",
"type": [
"string",
"null"
]
},
"kind": {
"$ref": "#/$defs/ErrorKind",
"description": "The stable camelCase category clients branch on."
},
"lastTurnId": {
"description": "Rejected inclusive fork boundary on `forkBoundaryInvalid`.",
"type": "string"
},
"latestBoundaryCursor": {
"description": "The latest installed boundary's view cursor on the `-32042` arms —\nalways present in the `-32042` JSON and explicitly `null` when no\nboundary exists.",
"type": [
"string",
"null"
]
},
"limitBytes": {
"description": "The exceeded byte limit, on `inputTooLarge` errors.",
"type": "integer"
},
"paths": {
"description": "Candidate retained paths on `sessionAmbiguous`.",
"items": {
"type": "string"
},
"type": "array"
},
"reason": {
"description": "Failure detail vocabulary (e.g. `\"missingAnchor\"` on `notFound` for a\nmissing view-cursor anchor).",
"type": "string"
},
"resolution": {
"$ref": "#/$defs/ApprovalResolutionSummary",
"description": "Winning resolution on `approvalAlreadyResolved`."
},
"retryable": {
"description": "Whether retrying can succeed (e.g. `overloaded`). When present,\noverrides the error table row's `retryable` default for this code.",
"type": "boolean"
},
"sessionId": {
"description": "Session identity on errors whose lookup is session-scoped.",
"type": "string"
},
"settlement": {
"$ref": "#/$defs/UserInputSettlementSummary",
"description": "Winning settlement on `userInputAlreadySettled`."
},
"userInputId": {
"description": "User-input prompt identity on user-input errors.",
"type": "string"
},
"viewCursor": {
"description": "The blocked view position on `pageEventTooLarge` errors.",
"type": "string"
}
},
"required": [
"kind"
],
"type": "object"
}