Skip to content

ErrorData

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

  • admissionId — Experimental
  • admissionResolution — Experimental
  • after — Experimental
  • alignedNextOffset
  • anchor
  • approvalId
  • availability
  • capability
  • capacity
  • choiceId
  • commandId
  • currentRequirementId
  • cursorStream — Experimental
  • descriptor
  • details
  • earliestCursor
  • index — Experimental
  • itemId
  • keyPath — Experimental
  • kind
  • lastTurnId
  • latestBoundaryCursor
  • limitBytes
  • marketplace
  • name
  • nextAvailable — Experimental
  • outputRef
  • path — Experimental
  • paths
  • projection — Experimental
  • reason
  • requestedStream — Experimental
  • resolution
  • retryable
  • seedFallbackReason
  • seedPath
  • selector
  • sessionId
  • settlement
  • stream — Experimental
  • uploadId
  • 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": {
"admissionId": {
"description": "Admission identity on admission errors.",
"type": "string",
"x-msp-descriptor": "ErrorData.admissionId",
"x-msp-stability": "experimental"
},
"admissionResolution": {
"$ref": "#/$defs/AdmissionResolutionSummary",
"description": "Winning resolution on `admissionAlreadyResolved`.",
"x-msp-descriptor": "ErrorData.admissionResolution",
"x-msp-stability": "experimental"
},
"after": {
"$ref": "#/$defs/RecordPosition",
"description": "The rejected raw-log anchor, on `missingAnchor`, `prunedPrefix`,\nand `wrongStream`.",
"x-msp-descriptor": "ErrorData.after",
"x-msp-stability": "experimental"
},
"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"
},
"availability": {
"description": "The stored output's availability on `outputUnavailable` — the durable\n`ToolOutputAvailability` value, read-time-derived when the durable\nrecord still says `available`.",
"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`."
},
"cursorStream": {
"$ref": "#/$defs/StreamRef",
"description": "The stream the anchor's id actually belongs to, on `wrongStream`.",
"x-msp-descriptor": "ErrorData.cursorStream",
"x-msp-stability": "experimental"
},
"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"
]
},
"index": {
"description": "The rejected edit's index into the `settings/writeMany` `edits`\narray, on the same arms; absent on `settings/writeValue`, which\ncarries no edit list.",
"type": "integer",
"x-msp-descriptor": "ErrorData.index",
"x-msp-stability": "experimental"
},
"itemId": {
"description": "The item whose stored output was requested, on the `item/readOutput`\narms (`notFound`, `outputUnavailable`, and the misaligned-offset\n`invalidParams`).",
"type": "string"
},
"keyPath": {
"description": "The rejected settings key path, on the `settings/writeValue` and\n`settings/writeMany` arms: the structural `-32602 invalidParams`\nshape and the `-32030` managed-denial block. File spelling verbatim, like the\nrequest's `keyPath`.",
"type": "string",
"x-msp-descriptor": "ErrorData.keyPath",
"x-msp-stability": "experimental"
},
"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"
},
"marketplace": {
"description": "The store on `pluginNotFound` (`-32035`).",
"type": "string"
},
"name": {
"description": "The rejected marketplace name on `marketplaceNotFound` (`-32034`) and `marketplaceAlreadyExists` (`-32036`); the\nrejected plugin name on `pluginNotFound` (`-32035`).",
"type": "string"
},
"nextAvailable": {
"$ref": "#/$defs/RecordPosition",
"description": "The earliest readable position, on `prunedPrefix`.",
"x-msp-descriptor": "ErrorData.nextAvailable",
"x-msp-stability": "experimental"
},
"outputRef": {
"description": "The requested `outputRef.id`, on the same `item/readOutput` arms.",
"type": "string"
},
"path": {
"description": "The subject repository path, on `workspaceNotTrusted`.",
"type": "string",
"x-msp-descriptor": "ErrorData.path",
"x-msp-stability": "experimental"
},
"paths": {
"description": "Candidate retained paths on `sessionAmbiguous`.",
"items": {
"type": "string"
},
"type": "array"
},
"projection": {
"description": "The unregistered projection name, on `unknownProjection`.",
"type": "string",
"x-msp-descriptor": "ErrorData.projection",
"x-msp-stability": "experimental"
},
"reason": {
"description": "Failure detail vocabulary (e.g. `\"missingAnchor\"` on `notFound` for a\nmissing view-cursor anchor).",
"type": "string"
},
"requestedStream": {
"$ref": "#/$defs/StreamRef",
"description": "The requested stream, on `wrongStream`.",
"x-msp-descriptor": "ErrorData.requestedStream",
"x-msp-stability": "experimental"
},
"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"
},
"seedFallbackReason": {
"description": "Why the branch seed did not use a checkpoint, on the same arms:\none of `no_usable_checkpoint`, `unsupported_checkpoint_shape`,\n`checkpoint_has_model_visible_tail`, `checkpoint_missing_suffix`;\nabsent when the seed used a checkpoint or no fallback was recorded.",
"type": "string"
},
"seedPath": {
"description": "The branch-seed path the host read before rejecting, on\nbranch-validation rejections: one of `runtime_checkpoint_tail`,\n`runtime_full_replay`, `legacy_session_data` — the durable\nbranch-seed vocabulary, so the client cites the real seed decision\ninstead of guessing at a stale binary.",
"type": "string"
},
"selector": {
"description": "The rejected skill selector on `skillNotFound` (`-32032`).",
"type": "string"
},
"sessionId": {
"description": "Session identity on errors whose lookup is session-scoped.",
"type": "string"
},
"settlement": {
"$ref": "#/$defs/UserInputSettlementSummary",
"description": "Winning settlement on `userInputAlreadySettled`."
},
"stream": {
"$ref": "#/$defs/StreamRef",
"description": "The rejected raw-log stream, on the anchor arms\n(`missingAnchor`, `prunedPrefix`, `unknownStream`).",
"x-msp-descriptor": "ErrorData.stream",
"x-msp-stability": "experimental"
},
"uploadId": {
"description": "The rejected upload id on `uploadNotFound` (`-32038`).",
"type": "string"
},
"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"
}