changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$defs": {
+ "warningInfo": {
+ "properties": {
+ "code": {
+ "description": "The stable machine-readable warning code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The human-readable warning message.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object"
+ }
+ },
+ "oneOf": [
+ {
+ "properties": {
+ "data": {
+ "description": "Tool-specific result payload.",
+ "properties": {
+ "blocks": {
+ "description": "The projected basic blocks.",
+ "properties": {
+ "hasMore": {
+ "description": "Whether additional items were available beyond this page.",
+ "type": "boolean"
+ },
+ "items": {
+ "description": "Items returned in this page.",
+ "items": {
+ "properties": {
+ "conditionalSuccessor": {
+ "description": "The conditional successor ordinal, when available.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "fallThroughSuccessor": {
+ "description": "The fall-through successor ordinal, when available.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "isReachable": {
+ "description": "Whether the block is reachable.",
+ "type": "boolean"
+ },
+ "kind": {
+ "description": "The Roslyn block kind.",
+ "type": "string"
+ },
+ "operations": {
+ "description": "The projected operations in the block.",
+ "properties": {
+ "hasMore": {
+ "description": "Whether additional items were available beyond this page.",
+ "type": "boolean"
+ },
+ "items": {
+ "description": "Items returned in this page.",
+ "items": {
+ "properties": {
+ "kind": {
+ "description": "The Roslyn operation kind.",
+ "type": "string"
+ },
+ "location": {
+ "description": "The exact source location of the operation.",
+ "properties": {
+ "column": {
+ "description": "The one-based column number.",
+ "type": "integer"
+ },
+ "document": {
+ "$ref": "#/properties/request/properties/value/properties/owner/properties/location/properties/document",
+ "description": "The resolved document."
+ },
+ "line": {
+ "description": "The one-based line number.",
+ "type": "integer"
+ },
+ "selector": {
+ "$ref": "#/properties/request/properties/value/properties/owner/properties/location/properties/selector",
+ "description": "The canonical selector that can resolve this source location again."
+ },
+ "snapshot": {
+ "$ref": "#/properties/request/properties/value/properties/owner/properties/location/properties/snapshot",
+ "description": "The exact immutable workspace snapshot associated with this location."
+ },
+ "span": {
+ "$ref": "#/properties/request/properties/value/properties/owner/properties/location/properties/span",
+ "description": "The resolved text span."
+ }
+ },
+ "required": [
+ "snapshot"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "type": {
+ "description": "The operation type display name, when available.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "totalCount": {
+ "description": "Complete result count, when available without additional expensive work.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "ordinal": {
+ "description": "The block ordinal.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "totalCount": {
+ "description": "Complete result count, when available without additional expensive work.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "owner": {
+ "description": "The owning callable symbol.",
+ "properties": {
+ "displayName": {
+ "description": "The display name of the symbol.",
+ "type": "string"
+ },
+ "documentationCommentId": {
+ "description": "The documentation comment identifier, when available.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "kind": {
+ "description": "The symbol kind.",
+ "type": "string"
+ },
+ "location": {
+ "description": "The optional source location of the symbol.",
+ "properties": {
+ "column": {
+ "description": "The one-based column number.",
+ "type": "integer"
+ },
+ "document": {
+ "description": "The resolved document.",
+ "properties": {
+ "documentId": {
+ "description": "The document identifier.",
+ "type": "string"
+ },
+ "path": {
+ "description": "The normalized document path.",
+ "type": "string"
+ },
+ "projectId": {
+ "description": "The owning project identifier.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "documentId",
+ "path",
+ "projectId"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "line": {
+ "description": "The one-based line number.",
+ "type": "integer"
+ },
+ "selector": {
+ "description": "The canonical selector that can resolve this source location again.",
+ "properties": {
+ "span": {
+ "properties": {
+ "document": {
+ "description": "Provide exactly one of path or documentId.",
+ "properties": {
+ "documentId": {
+ "description": "Workspace-local document ID.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "path": {
+ "description": "Workspace-relative path.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "project": {
+ "description": "Disambiguates documents with matching paths or IDs.",
+ "properties": {
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "path": {
+ "description": "Workspace-relative path.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "projectId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "targetFramework": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "range": {
+ "description": "Zero-based UTF-16 range.",
+ "properties": {
+ "length": {
+ "description": "UTF-16 code-unit length.",
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "start": {
+ "description": "Zero-based UTF-16 offset.",
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "document",
+ "range"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "span"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "snapshot": {
+ "description": "The exact immutable workspace snapshot associated with this location.",
+ "properties": {
+ "snapshotId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "transactionRevision": {
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "workspaceEpoch": {
+ "type": "integer"
+ },
+ "workspaceId": {
+ "format": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "workspaceId",
+ "workspaceEpoch",
+ "snapshotId",
+ "transactionRevision"
+ ],
+ "type": "object"
+ },
+ "span": {
+ "description": "The resolved text span.",
+ "properties": {
+ "length": {
+ "description": "UTF-16 code-unit length.",
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "start": {
+ "description": "Zero-based UTF-16 offset.",
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "snapshot"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "displayName",
+ "kind"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "regions": {
+ "description": "The projected flow regions.",
+ "properties": {
+ "hasMore": {
+ "description": "Whether additional items were available beyond this page.",
+ "type": "boolean"
+ },
+ "items": {
+ "description": "Items returned in this page.",
+ "items": {
+ "properties": {
+ "firstBlockOrdinal": {
+ "description": "The first block ordinal in the region.",
+ "type": "integer"
+ },
+ "id": {
+ "description": "The region identifier.",
+ "type": "integer"
+ },
+ "kind": {
+ "description": "The region kind.",
+ "type": "string"
+ },
+ "lastBlockOrdinal": {
+ "description": "The last block ordinal in the region.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "totalCount": {
+ "description": "Complete result count, when available without additional expensive work.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "ok": {
+ "const": true,
+ "description": "Whether the tool invocation succeeded."
+ },
+ "snapshot": {
+ "description": "Exact immutable workspace snapshot associated with the result, when available.",
+ "properties": {
+ "snapshotId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "transactionRevision": {
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "workspaceEpoch": {
+ "type": "integer"
+ },
+ "workspaceId": {
+ "format": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "workspaceId",
+ "workspaceEpoch",
+ "snapshotId",
+ "transactionRevision"
+ ],
+ "type": "object"
+ },
+ "warnings": {
+ "description": "Non-fatal warnings the agent should consider.",
+ "items": {
+ "$ref": "#/$defs/warningInfo"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "ok",
+ "data",
+ "snapshot"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "continuation": {
+ "description": "Action the agent should take before retrying or continuing.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "instruction": {
+ "description": "Agent-facing instruction explaining how to continue.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "CallTool",
+ "description": "Action required before the original request can continue."
+ },
+ "tool": {
+ "description": "Tool to call before continuing the original request.",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "tool",
+ "instruction"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "instruction": {
+ "description": "Agent-facing instruction explaining how to continue.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "ChooseTool",
+ "description": "Action required before the original request can continue."
+ },
+ "tools": {
+ "description": "Allowed tool choices from which the agent must select one.",
+ "items": {
+ "description": "Name of a tool the agent may choose.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "kind",
+ "tools",
+ "instruction"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "instruction": {
+ "description": "Agent-facing instruction explaining how to continue.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "RetryRequest",
+ "description": "Action required before the original request can continue."
+ }
+ },
+ "required": [
+ "kind",
+ "instruction"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "instruction": {
+ "description": "Agent-facing instruction explaining how to continue.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "ReviseRequest",
+ "description": "Action required before the original request can continue."
+ }
+ },
+ "required": [
+ "kind",
+ "instruction"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "instruction": {
+ "description": "Agent-facing instruction explaining how to continue.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "ResolveExternally",
+ "description": "Action required before the original request can continue."
+ }
+ },
+ "required": [
+ "kind",
+ "instruction"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "diagnostics": {
+ "description": "Diagnostics that explain the failed invocation.",
+ "items": {
+ "properties": {
+ "id": {
+ "description": "The diagnostic identifier.",
+ "type": "string"
+ },
+ "location": {
+ "description": "The optional source location of the diagnostic.",
+ "properties": {
+ "column": {
+ "description": "The one-based column number.",
+ "type": "integer"
+ },
+ "document": {
+ "description": "The resolved document.",
+ "properties": {
+ "documentId": {
+ "description": "The document identifier.",
+ "type": "string"
+ },
+ "path": {
+ "description": "The normalized document path.",
+ "type": "string"
+ },
+ "projectId": {
+ "description": "The owning project identifier.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "documentId",
+ "path",
+ "projectId"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "line": {
+ "description": "The one-based line number.",
+ "type": "integer"
+ },
+ "selector": {
+ "description": "The canonical selector that can resolve this source location again.",
+ "properties": {
+ "span": {
+ "properties": {
+ "document": {
+ "description": "Provide exactly one of path or documentId.",
+ "properties": {
+ "documentId": {
+ "description": "Workspace-local document ID.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "path": {
+ "description": "Workspace-relative path.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "project": {
+ "description": "Disambiguates documents with matching paths or IDs.",
+ "properties": {
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "path": {
+ "description": "Workspace-relative path.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "projectId": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "targetFramework": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "range": {
+ "description": "Zero-based UTF-16 range.",
+ "properties": {
+ "length": {
+ "description": "UTF-16 code-unit length.",
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "start": {
+ "description": "Zero-based UTF-16 offset.",
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "document",
+ "range"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "span"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "snapshot": {
+ "description": "The exact immutable workspace snapshot associated with this location.",
+ "properties": {
+ "snapshotId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "transactionRevision": {
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "workspaceEpoch": {
+ "type": "integer"
+ },
+ "workspaceId": {
+ "format": "uuid",
+ "type": "string"
+ }
+ },
+ "required": [
+ "workspaceId",
+ "workspaceEpoch",
+ "snapshotId",
+ "transactionRevision"
+ ],
+ "type": "object"
+ },
+ "span": {
+ "description": "The resolved text span.",
+ "properties": {
+ "length": {
+ "description": "UTF-16 code-unit length.",
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "start": {
+ "description": "Zero-based UTF-16 offset.",
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "snapshot"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "message": {
+ "description": "The diagnostic message.",
+ "type": "string"
+ },
+ "severity": {
+ "description": "The diagnostic severity.",
+ "enum": [
+ "Hidden",
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "message"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "error": {
+ "description": "Structured error details when the invocation failed.",
+ "properties": {
+ "code": {
+ "description": "Stable machine-readable error code.",
+ "type": "string"
+ },
+ "correlationId": {
+ "description": "Correlation identifier for matching the failure to server-side diagnostics, when available.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "message": {
+ "description": "Human-readable explanation of the failure.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object"
+ },
+ "ok": {
+ "const": false,
+ "description": "Whether the tool invocation succeeded."
+ },
+ "warnings": {
+ "description": "Non-fatal warnings the agent should consider.",
+ "items": {
+ "$ref": "#/$defs/warningInfo"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "ok",
+ "error"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "diagnostics": {
+ "description": "Diagnostics that explain the failed invocation.",
+ "properties": {
+ "detailsAvailable": {
+ "const": true
+ },
+ "detailsTool": {
+ "const": "get-error-details"
+ }
+ },
+ "required": [
+ "detailsAvailable",
+ "detailsTool"
+ ],
+ "type": "object"
+ },
+ "error": {
+ "description": "Structured error details when the invocation failed.",
+ "properties": {
+ "code": {
+ "const": "UnhandledException"
+ },
+ "correlationId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "message": {
+ "const": "Tool execution failed."
+ }
+ },
+ "required": [
+ "code",
+ "message",
+ "correlationId"
+ ],
+ "type": "object"
+ },
+ "ok": {
+ "const": false,
+ "description": "Whether the tool invocation succeeded."
+ },
+ "reporting": {
+ "description": "Error-reporting workflow available for an unhandled failure.",
+ "properties": {
+ "canPrepare": {
+ "type": "boolean"
+ },
+ "prepareTool": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "state": {
+ "enum": [
+ "Available",
+ "AlwaysApproved",
+ "DisabledByConfiguration",
+ "ApprovalUnavailable"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "state"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "ok",
+ "error",
+ "diagnostics"
+ ],
+ "type": "object"
+ }
+ ],
+ "type": "object"
+}