962 lines
25 KiB
JSON
962 lines
25 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "GooseExtensions",
|
|
"$defs": {
|
|
"AddExtensionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionId": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"description": "Extension configuration (see ExtensionConfig variants: Stdio, StreamableHttp, Builtin, Platform).",
|
|
"default": null
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionId"
|
|
],
|
|
"description": "Add an extension to an active session.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/extensions/add"
|
|
},
|
|
"EmptyResponse": {
|
|
"type": "object",
|
|
"description": "Empty success response for operations that return no data.",
|
|
"x-side": "agent"
|
|
},
|
|
"RemoveExtensionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionId": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionId",
|
|
"name"
|
|
],
|
|
"description": "Remove an extension from an active session.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/extensions/remove"
|
|
},
|
|
"GetToolsRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionId"
|
|
],
|
|
"description": "List all tools available in a session.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/tools"
|
|
},
|
|
"GetToolsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tools": {
|
|
"type": "array",
|
|
"items": {},
|
|
"description": "Array of tool info objects with `name`, `description`, `parameters`, and optional `permission`."
|
|
}
|
|
},
|
|
"required": [
|
|
"tools"
|
|
],
|
|
"description": "Tools response.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/tools"
|
|
},
|
|
"ReadResourceRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionId": {
|
|
"type": "string"
|
|
},
|
|
"uri": {
|
|
"type": "string"
|
|
},
|
|
"extensionName": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionId",
|
|
"uri",
|
|
"extensionName"
|
|
],
|
|
"description": "Read a resource from an extension.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/resource/read"
|
|
},
|
|
"ReadResourceResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"result": {
|
|
"description": "The resource result from the extension (MCP ReadResourceResult).",
|
|
"default": null
|
|
}
|
|
},
|
|
"description": "Resource read response.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/resource/read"
|
|
},
|
|
"UpdateWorkingDirRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionId": {
|
|
"type": "string"
|
|
},
|
|
"workingDir": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionId",
|
|
"workingDir"
|
|
],
|
|
"description": "Update the working directory for a session.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/working_dir/update"
|
|
},
|
|
"DeleteSessionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionId"
|
|
],
|
|
"description": "Delete a session.",
|
|
"x-side": "agent",
|
|
"x-method": "session/delete"
|
|
},
|
|
"GetExtensionsRequest": {
|
|
"type": "object",
|
|
"description": "List configured extensions and any warnings.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/config/extensions"
|
|
},
|
|
"GetExtensionsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"extensions": {
|
|
"type": "array",
|
|
"items": {},
|
|
"description": "Array of ExtensionEntry objects with `enabled` flag and config details."
|
|
},
|
|
"warnings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"extensions",
|
|
"warnings"
|
|
],
|
|
"description": "List configured extensions and any warnings.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/config/extensions"
|
|
},
|
|
"UpdateProviderRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionId": {
|
|
"type": "string"
|
|
},
|
|
"provider": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"contextLimit": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint",
|
|
"minimum": 0
|
|
},
|
|
"requestParams": {
|
|
"type": [
|
|
"object",
|
|
"null"
|
|
],
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionId",
|
|
"provider"
|
|
],
|
|
"description": "Atomically update the provider for a live session.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/session/provider/update"
|
|
},
|
|
"UpdateProviderResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"configOptions": {
|
|
"type": "array",
|
|
"items": {},
|
|
"description": "Refreshed session config options after the provider/model change."
|
|
}
|
|
},
|
|
"required": [
|
|
"configOptions"
|
|
],
|
|
"description": "Provider update response.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/session/provider/update"
|
|
},
|
|
"ListProvidersRequest": {
|
|
"type": "object",
|
|
"description": "List providers available through goose, including the config-default sentinel.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/providers/list"
|
|
},
|
|
"ListProvidersResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"providers": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/ProviderListEntry"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"providers"
|
|
],
|
|
"description": "Provider list response.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/providers/list"
|
|
},
|
|
"ProviderListEntry": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"label"
|
|
]
|
|
},
|
|
"GetProviderDetailsRequest": {
|
|
"type": "object",
|
|
"description": "List providers with full metadata (config keys, setup steps, etc.).",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/providers/details"
|
|
},
|
|
"GetProviderDetailsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"providers": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/ProviderDetailEntry"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"providers"
|
|
],
|
|
"description": "Provider details response.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/providers/details"
|
|
},
|
|
"ProviderDetailEntry": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"displayName": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"defaultModel": {
|
|
"type": "string"
|
|
},
|
|
"isConfigured": {
|
|
"type": "boolean"
|
|
},
|
|
"providerType": {
|
|
"type": "string"
|
|
},
|
|
"configKeys": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/ProviderConfigKey"
|
|
}
|
|
},
|
|
"setupSteps": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": []
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"displayName",
|
|
"description",
|
|
"defaultModel",
|
|
"isConfigured",
|
|
"providerType",
|
|
"configKeys"
|
|
]
|
|
},
|
|
"ProviderConfigKey": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"required": {
|
|
"type": "boolean"
|
|
},
|
|
"secret": {
|
|
"type": "boolean"
|
|
},
|
|
"default": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"default": null
|
|
},
|
|
"oauthFlow": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"deviceCodeFlow": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"primary": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"required",
|
|
"secret"
|
|
]
|
|
},
|
|
"ReadConfigRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"key"
|
|
],
|
|
"description": "Read a single non-secret config value.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/config/read"
|
|
},
|
|
"ReadConfigResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"default": null
|
|
}
|
|
},
|
|
"description": "Config read response.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/config/read"
|
|
},
|
|
"UpsertConfigRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"value": {}
|
|
},
|
|
"required": [
|
|
"key",
|
|
"value"
|
|
],
|
|
"description": "Upsert a single non-secret config value.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/config/upsert"
|
|
},
|
|
"RemoveConfigRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"key"
|
|
],
|
|
"description": "Remove a single non-secret config value.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/config/remove"
|
|
},
|
|
"CheckSecretRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"key"
|
|
],
|
|
"description": "Check whether a secret exists. Never returns the actual value.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/secret/check"
|
|
},
|
|
"CheckSecretResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"exists": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"exists"
|
|
],
|
|
"description": "Secret check response.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/secret/check"
|
|
},
|
|
"UpsertSecretRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"value": {}
|
|
},
|
|
"required": [
|
|
"key",
|
|
"value"
|
|
],
|
|
"description": "Set a secret value (write-only).",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/secret/upsert"
|
|
},
|
|
"RemoveSecretRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"key"
|
|
],
|
|
"description": "Remove a secret.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/secret/remove"
|
|
},
|
|
"ExportSessionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionId"
|
|
],
|
|
"description": "Export a session as a JSON string.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/session/export"
|
|
},
|
|
"ExportSessionResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
],
|
|
"description": "Export session response — raw JSON of the goose session with `conversation`.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/session/export"
|
|
},
|
|
"ImportSessionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
],
|
|
"description": "Import a session from a JSON string.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/session/import"
|
|
},
|
|
"ImportSessionResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionId": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"updatedAt": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"messageCount": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionId",
|
|
"messageCount"
|
|
],
|
|
"description": "Import session response — metadata about the newly created session.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/session/import"
|
|
},
|
|
"ArchiveSessionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionId"
|
|
],
|
|
"description": "Archive a session (soft delete).",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/session/archive"
|
|
},
|
|
"UnarchiveSessionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionId"
|
|
],
|
|
"description": "Unarchive a previously archived session.",
|
|
"x-side": "agent",
|
|
"x-method": "_goose/session/unarchive"
|
|
},
|
|
"ExtRequest": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"method": {
|
|
"type": "string"
|
|
},
|
|
"params": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/AddExtensionRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/extensions/add",
|
|
"title": "AddExtensionRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/RemoveExtensionRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/extensions/remove",
|
|
"title": "RemoveExtensionRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/GetToolsRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/tools",
|
|
"title": "GetToolsRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/ReadResourceRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/resource/read",
|
|
"title": "ReadResourceRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/UpdateWorkingDirRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/working_dir/update",
|
|
"title": "UpdateWorkingDirRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/DeleteSessionRequest"
|
|
}
|
|
],
|
|
"description": "Params for session/delete",
|
|
"title": "DeleteSessionRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/GetExtensionsRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/config/extensions",
|
|
"title": "GetExtensionsRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/UpdateProviderRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/session/provider/update",
|
|
"title": "UpdateProviderRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/ListProvidersRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/providers/list",
|
|
"title": "ListProvidersRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/GetProviderDetailsRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/providers/details",
|
|
"title": "GetProviderDetailsRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/ReadConfigRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/config/read",
|
|
"title": "ReadConfigRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/UpsertConfigRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/config/upsert",
|
|
"title": "UpsertConfigRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/RemoveConfigRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/config/remove",
|
|
"title": "RemoveConfigRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/CheckSecretRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/secret/check",
|
|
"title": "CheckSecretRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/UpsertSecretRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/secret/upsert",
|
|
"title": "UpsertSecretRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/RemoveSecretRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/secret/remove",
|
|
"title": "RemoveSecretRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/ExportSessionRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/session/export",
|
|
"title": "ExportSessionRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/ImportSessionRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/session/import",
|
|
"title": "ImportSessionRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/ArchiveSessionRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/session/archive",
|
|
"title": "ArchiveSessionRequest"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/UnarchiveSessionRequest"
|
|
}
|
|
],
|
|
"description": "Params for _goose/session/unarchive",
|
|
"title": "UnarchiveSessionRequest"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Untyped params",
|
|
"type": [
|
|
"object",
|
|
"null"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"method"
|
|
],
|
|
"type": "object",
|
|
"x-docs-ignore": true
|
|
},
|
|
"ExtResponse": {
|
|
"anyOf": [
|
|
{
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"result": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/EmptyResponse"
|
|
}
|
|
],
|
|
"title": "EmptyResponse"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/GetToolsResponse"
|
|
}
|
|
],
|
|
"title": "GetToolsResponse"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/ReadResourceResponse"
|
|
}
|
|
],
|
|
"title": "ReadResourceResponse"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/GetExtensionsResponse"
|
|
}
|
|
],
|
|
"title": "GetExtensionsResponse"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/UpdateProviderResponse"
|
|
}
|
|
],
|
|
"title": "UpdateProviderResponse"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/ListProvidersResponse"
|
|
}
|
|
],
|
|
"title": "ListProvidersResponse"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/GetProviderDetailsResponse"
|
|
}
|
|
],
|
|
"title": "GetProviderDetailsResponse"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/ReadConfigResponse"
|
|
}
|
|
],
|
|
"title": "ReadConfigResponse"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/CheckSecretResponse"
|
|
}
|
|
],
|
|
"title": "CheckSecretResponse"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/ExportSessionResponse"
|
|
}
|
|
],
|
|
"title": "ExportSessionResponse"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/ImportSessionResponse"
|
|
}
|
|
],
|
|
"title": "ImportSessionResponse"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Untyped result"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id"
|
|
],
|
|
"title": "Success",
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"error": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "integer"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"code",
|
|
"message"
|
|
]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"error"
|
|
],
|
|
"title": "Error",
|
|
"type": "object"
|
|
}
|
|
],
|
|
"x-docs-ignore": true
|
|
}
|
|
},
|
|
"anyOf": [
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/ExtRequest"
|
|
}
|
|
],
|
|
"description": "Extension request (client → agent)",
|
|
"title": "Request"
|
|
},
|
|
{
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/ExtResponse"
|
|
}
|
|
],
|
|
"description": "Extension response (agent → client)",
|
|
"title": "Response"
|
|
}
|
|
]
|
|
}
|