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": {
+ "codeActions": {
+ "description": "The code-action component status.",
+ "properties": {
+ "isAvailable": {
+ "description": "Whether the component is available.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The optional status message.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "version": {
+ "description": "The component version, when available.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "configuration": {
+ "description": "The effective non-sensitive server configuration.",
+ "properties": {
+ "allowedWorkspaceRootCount": {
+ "description": "The number of effective configured Workspace authority roots.",
+ "type": "integer"
+ },
+ "clientSupportsElicitation": {
+ "description": "Whether the connected client advertised MCP elicitation, when known.",
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "codeActionReferenceLifetime": {
+ "$comment": "Represents a System.TimeSpan value.",
+ "description": "The configured code-action reference lifetime.",
+ "pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$",
+ "type": "string"
+ },
+ "commitConfirmationRequired": {
+ "description": "Whether Host confirmation is required before transaction commit.",
+ "type": "boolean"
+ },
+ "commitConfirmationState": {
+ "description": "The current process-local transaction commit-confirmation state.",
+ "type": "string"
+ },
+ "compilerValidationRequired": {
+ "description": "Whether compiler validation is required before transaction commit.",
+ "type": "boolean"
+ },
+ "defaultMaxResults": {
+ "description": "The default maximum collection result count.",
+ "type": "integer"
+ },
+ "errorReporting": {
+ "description": "The effective non-sensitive error-reporting configuration and session state.",
+ "properties": {
+ "consentMode": {
+ "description": "Configured consent policy for submitting error reports.",
+ "type": "string"
+ },
+ "consentState": {
+ "description": "Current availability of user consent for error submission.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Configured error-reporting provider.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "provider",
+ "consentMode",
+ "consentState"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "externalDocumentPolicy": {
+ "description": "The policy applied to evaluated documents outside the effective Workspace root.",
+ "type": "string"
+ },
+ "externalPluginsEnabled": {
+ "description": "Whether loading external plugin packages was explicitly enabled at startup.",
+ "type": "boolean"
+ },
+ "generatedSourceExceptionCount": {
+ "description": "The number of configured generated-source path exceptions.",
+ "type": "integer"
+ },
+ "generatedSourcePolicy": {
+ "description": "The policy applied to generated-looking checked-in source.",
+ "type": "string"
+ },
+ "maxConcurrentQueries": {
+ "description": "The configured maximum concurrent query count.",
+ "type": "integer"
+ },
+ "maxTransactionRevisions": {
+ "description": "The configured transaction revision capacity.",
+ "type": "integer"
+ },
+ "operationalMode": {
+ "description": "The selected operational mode.",
+ "type": "string"
+ },
+ "receiptApprovalRequired": {
+ "description": "Whether receipt-bound approval is required before transaction commit.",
+ "type": "boolean"
+ },
+ "sourceMutationEnabled": {
+ "description": "Whether source mutation is enabled.",
+ "type": "boolean"
+ },
+ "toolOutputSchemaMode": {
+ "description": "The configured output schema publication mode.",
+ "enum": [
+ "Omit",
+ "Full"
+ ],
+ "type": "string"
+ },
+ "workspaceAdmission": {
+ "description": "Indicates whether Workspace admission is unrestricted or restricted by Host configuration.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "operationalMode",
+ "commitConfirmationState",
+ "workspaceAdmission",
+ "externalDocumentPolicy",
+ "generatedSourcePolicy"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "msBuild": {
+ "description": "The MSBuild component status.",
+ "properties": {
+ "isAvailable": {
+ "description": "Whether the component is available.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "The optional status message.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "version": {
+ "description": "The component version, when available.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "plugins": {
+ "description": "The plugin load results.",
+ "items": {
+ "properties": {
+ "diagnostics": {
+ "description": "The plugin load diagnostics.",
+ "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"
+ },
+ "displayName": {
+ "description": "The display name, when supplied by the plugin.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "enabled": {
+ "description": "Whether the plugin is enabled.",
+ "type": "boolean"
+ },
+ "pluginId": {
+ "description": "The stable plugin identifier, when supplied by the plugin.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "supportedApiVersion": {
+ "description": "The supported plugin API version, when supplied by the plugin.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "version": {
+ "description": "The semantic version, when supplied by the plugin.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "recovery": {
+ "description": "The unfinished recovery state, when present.",
+ "items": {
+ "properties": {
+ "code": {
+ "description": "Stable machine-readable recovery status code, when operator action is required.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "commitId": {
+ "description": "Durable commit identifier associated with the recovery record.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Human-readable recovery status or failure detail, when available.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "solutionPath": {
+ "description": "Absolute solution or project path associated with the recovery record, or empty when malformed recovery evidence does not provide a safe path.",
+ "type": "string"
+ },
+ "state": {
+ "description": "Current durable commit recovery state.",
+ "enum": [
+ "Prepared",
+ "Applying",
+ "Committed",
+ "Restored",
+ "RecoveryConflict",
+ "RecoveryIncomplete"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "commitId"
+ ],
+ "type": "object"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "roslynVersion": {
+ "description": "The Roslyn version, when available from assembly metadata.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "serverVersion": {
+ "description": "The server version, when available from assembly metadata.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "startupWarnings": {
+ "description": "The startup configuration fallbacks, when expanded detail is requested.",
+ "items": {
+ "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"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "toolCount": {
+ "description": "The loaded tool count.",
+ "type": "integer"
+ }
+ },
+ "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"
+ ],
+ "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"
+}