ErrorData
The optional error.data object. All members additive-optional;
kind is always present when data is.
Fields and variants
Section titled “Fields and variants”admissionId— ExperimentaladmissionResolution— Experimentalafter— ExperimentalalignedNextOffsetanchorapprovalIdavailabilitycapabilitycapacitychoiceIdcommandIdcurrentRequirementIdcursorStream— ExperimentaldescriptordetailsearliestCursorindex— ExperimentalitemIdkeyPath— ExperimentalkindlastTurnIdlatestBoundaryCursorlimitBytesmarketplacenamenextAvailable— ExperimentaloutputRefpath— Experimentalpathsprojection— ExperimentalreasonrequestedStream— ExperimentalresolutionretryableseedFallbackReasonseedPathselectorsessionIdsettlementstream— ExperimentaluploadIduserInputIdviewCursor
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"}