Files
2026-06-05 08:08:19 +00:00

4218 lines
114 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "GooseExtensions",
"$defs": {
"AddExtensionRequest_unstable": {
"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/unstable/session/extensions/add"
},
"EmptyResponse": {
"type": "object",
"description": "Empty success response for operations that return no data.",
"x-side": "agent"
},
"RemoveExtensionRequest_unstable": {
"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/unstable/session/extensions/remove"
},
"GetToolsRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
}
},
"required": [
"sessionId"
],
"description": "List all tools available in a session.",
"x-side": "agent",
"x-method": "_goose/unstable/tools/list"
},
"GetToolsResponse_unstable": {
"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/unstable/tools/list"
},
"GooseToolCallRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"name": {
"type": "string"
},
"arguments": {
"default": null
}
},
"required": [
"sessionId",
"name"
],
"description": "Call a tool from an extension.",
"x-side": "agent",
"x-method": "_goose/unstable/tools/call"
},
"GooseToolCallResponse_unstable": {
"type": "object",
"properties": {
"content": {
"type": "array",
"items": {},
"default": []
},
"structuredContent": {},
"isError": {
"type": "boolean"
},
"_meta": {}
},
"required": [
"isError"
],
"description": "Tool call response.",
"x-side": "agent",
"x-method": "_goose/unstable/tools/call"
},
"ReadResourceRequest_unstable": {
"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/unstable/resources/read"
},
"ReadResourceResponse_unstable": {
"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/unstable/resources/read"
},
"UpdateWorkingDirRequest_unstable": {
"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/unstable/session/working-dir/update"
},
"SetSessionSystemPromptRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"mode": {
"$ref": "#/$defs/SessionSystemPromptMode",
"default": "append"
},
"key": {
"type": [
"string",
"null"
]
},
"text": {
"type": "string"
}
},
"required": [
"sessionId",
"text"
],
"description": "Set, append, or clear system prompt text for a session.\n\n`mode: \"set\"` replaces Goose's base system prompt. `mode: \"append\"` adds an\ninstruction under \"Additional Instructions\". Reusing a key replaces the\nprevious value for that mode/key; sending empty text clears it.",
"x-side": "agent",
"x-method": "_goose/unstable/session/system-prompt/set"
},
"SessionSystemPromptMode": {
"oneOf": [
{
"type": "string",
"const": "set",
"description": "Replace Goose's base system prompt with the provided text."
},
{
"type": "string",
"const": "append",
"description": "Append the provided text under Goose's \"Additional Instructions\" section."
}
],
"description": "How a session system prompt update should be applied."
},
"DeleteSessionRequest": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
}
},
"required": [
"sessionId"
],
"description": "Delete a session.",
"x-side": "agent",
"x-method": "session/delete"
},
"GetConfigExtensionsRequest_unstable": {
"type": "object",
"description": "List configured extensions and any warnings.",
"x-side": "agent",
"x-method": "_goose/unstable/config/extensions/list"
},
"GetConfigExtensionsResponse_unstable": {
"type": "object",
"properties": {
"extensions": {
"type": "array",
"items": {
"$ref": "#/$defs/GooseExtensionEntry"
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"default": []
}
},
"required": [
"extensions"
],
"description": "List configured extensions and any warnings.",
"x-side": "agent",
"x-method": "_goose/unstable/config/extensions/list"
},
"GooseExtensionEntry": {
"type": "object",
"properties": {
"extension": {
"$ref": "#/$defs/GooseExtension"
},
"enabled": {
"type": "boolean"
},
"configKey": {
"type": [
"string",
"null"
]
}
},
"required": [
"extension",
"enabled"
]
},
"GooseExtension": {
"oneOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"display_name": {
"type": [
"string",
"null"
]
},
"timeout": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"bundled": {
"type": [
"boolean",
"null"
]
},
"type": {
"type": "string",
"const": "builtin"
}
},
"required": [
"type",
"name"
]
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"display_name": {
"type": [
"string",
"null"
]
},
"bundled": {
"type": [
"boolean",
"null"
]
},
"type": {
"type": "string",
"const": "platform"
}
},
"required": [
"type",
"name"
]
},
{
"type": "object",
"properties": {
"server": {
"$ref": "#/$defs/McpServer"
},
"envKeys": {
"type": "array",
"items": {
"type": "string"
}
},
"description": {
"type": [
"string",
"null"
]
},
"timeout": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"socket": {
"type": [
"string",
"null"
]
},
"bundled": {
"type": [
"boolean",
"null"
]
},
"type": {
"type": "string",
"const": "mcp"
}
},
"required": [
"type",
"server"
]
}
]
},
"McpServer": {
"anyOf": [
{
"$ref": "#/$defs/McpServerHttp",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "http"
}
},
"required": [
"type"
],
"description": "HTTP transport configuration\n\nOnly available when the Agent capabilities indicate `mcp_capabilities.http` is `true`."
},
{
"$ref": "#/$defs/McpServerSse",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "sse"
}
},
"required": [
"type"
],
"description": "SSE transport configuration\n\nOnly available when the Agent capabilities indicate `mcp_capabilities.sse` is `true`."
},
{
"$ref": "#/$defs/McpServerStdio",
"description": "Stdio transport configuration\n\nAll Agents MUST support this transport."
}
],
"description": "Configuration for connecting to an MCP (Model Context Protocol) server.\n\nMCP servers provide tools and context that the agent can use when\nprocessing prompts.\n\nSee protocol docs: [MCP Servers](https://agentclientprotocol.com/protocol/session-setup#mcp-servers)"
},
"HttpHeader": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the HTTP header."
},
"value": {
"type": "string",
"description": "The value to set for the HTTP header."
},
"_meta": {
"type": [
"object",
"null"
],
"additionalProperties": {},
"description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)"
}
},
"required": [
"name",
"value"
],
"description": "An HTTP header to set when making requests to the MCP server."
},
"McpServerHttp": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Human-readable name identifying this MCP server."
},
"url": {
"type": "string",
"description": "URL to the MCP server."
},
"headers": {
"type": "array",
"items": {
"$ref": "#/$defs/HttpHeader"
},
"description": "HTTP headers to set when making requests to the MCP server."
},
"_meta": {
"type": [
"object",
"null"
],
"additionalProperties": {},
"description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)"
},
"type": {
"type": "string",
"const": "http"
}
},
"required": [
"type",
"name",
"url",
"headers"
],
"description": "HTTP transport configuration for MCP."
},
"McpServerSse": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Human-readable name identifying this MCP server."
},
"url": {
"type": "string",
"description": "URL to the MCP server."
},
"headers": {
"type": "array",
"items": {
"$ref": "#/$defs/HttpHeader"
},
"description": "HTTP headers to set when making requests to the MCP server."
},
"_meta": {
"type": [
"object",
"null"
],
"additionalProperties": {},
"description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)"
},
"type": {
"type": "string",
"const": "sse"
}
},
"required": [
"type",
"name",
"url",
"headers"
],
"description": "SSE transport configuration for MCP."
},
"McpServerStdio": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Human-readable name identifying this MCP server."
},
"command": {
"type": "string",
"description": "Path to the MCP server executable."
},
"args": {
"type": "array",
"items": {
"type": "string"
},
"description": "Command-line arguments to pass to the MCP server."
},
"env": {
"type": "array",
"items": {
"$ref": "#/$defs/EnvVariable"
},
"description": "Environment variables to set when launching the MCP server."
},
"_meta": {
"type": [
"object",
"null"
],
"additionalProperties": {},
"description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)"
}
},
"required": [
"name",
"command",
"args",
"env"
],
"description": "Stdio transport configuration for MCP."
},
"EnvVariable": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the environment variable."
},
"value": {
"type": "string",
"description": "The value to set for the environment variable."
},
"_meta": {
"type": [
"object",
"null"
],
"additionalProperties": {},
"description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)"
}
},
"required": [
"name",
"value"
],
"description": "An environment variable to set when launching an MCP server."
},
"GetAvailableExtensionsRequest_unstable": {
"type": "object",
"description": "List Goose-owned extension definitions available to configure or enable.",
"x-side": "agent",
"x-method": "_goose/unstable/extensions/available"
},
"GetAvailableExtensionsResponse_unstable": {
"type": "object",
"properties": {
"extensions": {
"type": "array",
"items": {
"$ref": "#/$defs/GooseExtension"
}
}
},
"required": [
"extensions"
],
"x-side": "agent",
"x-method": "_goose/unstable/extensions/available"
},
"AddConfigExtensionRequest_unstable": {
"type": "object",
"properties": {
"extension": {
"$ref": "#/$defs/GooseExtension"
},
"enabled": {
"type": "boolean",
"default": false
}
},
"required": [
"extension"
],
"description": "Persist a new extension to the user's global goose config.",
"x-side": "agent",
"x-method": "_goose/unstable/config/extensions/add"
},
"RemoveConfigExtensionRequest_unstable": {
"type": "object",
"properties": {
"configKey": {
"type": "string"
}
},
"required": [
"configKey"
],
"description": "Remove a persisted extension from the user's global goose config.",
"x-side": "agent",
"x-method": "_goose/unstable/config/extensions/remove"
},
"SetConfigExtensionEnabledRequest_unstable": {
"type": "object",
"properties": {
"configKey": {
"type": "string"
},
"enabled": {
"type": "boolean"
}
},
"required": [
"configKey",
"enabled"
],
"description": "Set the `enabled` flag for a persisted extension in the user's global goose config.",
"x-side": "agent",
"x-method": "_goose/unstable/config/extensions/set-enabled"
},
"GetSessionExtensionsRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
}
},
"required": [
"sessionId"
],
"x-side": "agent",
"x-method": "_goose/unstable/session/extensions/list"
},
"GetSessionExtensionsResponse_unstable": {
"type": "object",
"properties": {
"extensions": {
"type": "array",
"items": {}
}
},
"required": [
"extensions"
],
"x-side": "agent",
"x-method": "_goose/unstable/session/extensions/list"
},
"ListProvidersRequest_unstable": {
"type": "object",
"properties": {
"providerIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only return entries for these providers. Empty means all.",
"default": []
}
},
"description": "List providers with setup metadata and the current model inventory snapshot.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/list"
},
"ListProvidersResponse_unstable": {
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"$ref": "#/$defs/ProviderInventoryEntryDto"
}
}
},
"required": [
"entries"
],
"description": "Provider list response.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/list"
},
"ProviderInventoryEntryDto": {
"type": "object",
"properties": {
"providerId": {
"type": "string",
"description": "Provider identifier."
},
"providerName": {
"type": "string",
"description": "Human-readable provider name."
},
"description": {
"type": "string",
"description": "Description of the provider's capabilities."
},
"defaultModel": {
"type": "string",
"description": "The default/recommended model for this provider."
},
"configured": {
"type": "boolean",
"description": "Whether Goose has enough configuration to use this provider."
},
"providerType": {
"type": "string",
"description": "Provider classification such as `Preferred`, `Builtin`, `Declarative`, or `Custom`."
},
"category": {
"$ref": "#/$defs/ProviderSetupCategoryDto",
"description": "Whether this inventory entry represents an agent provider or a model provider."
},
"configKeys": {
"type": "array",
"items": {
"$ref": "#/$defs/ProviderConfigKey"
},
"description": "Required configuration keys and setup metadata."
},
"setupSteps": {
"type": "array",
"items": {
"type": "string"
},
"description": "Step-by-step setup instructions, when present."
},
"supportsRefresh": {
"type": "boolean",
"description": "Whether this provider supports background inventory refresh."
},
"refreshing": {
"type": "boolean",
"description": "Whether a refresh is currently in flight."
},
"models": {
"type": "array",
"items": {
"$ref": "#/$defs/ProviderInventoryModelDto"
},
"description": "The list of available models."
},
"lastUpdatedAt": {
"type": [
"string",
"null"
],
"description": "When this entry was last successfully refreshed (ISO 8601)."
},
"lastRefreshAttemptAt": {
"type": [
"string",
"null"
],
"description": "When a refresh was most recently attempted (ISO 8601)."
},
"lastRefreshError": {
"type": [
"string",
"null"
],
"description": "The last refresh failure message, if any."
},
"stale": {
"type": "boolean",
"description": "Whether we believe this data may be outdated."
},
"modelSelectionHint": {
"type": [
"string",
"null"
],
"description": "Guidance message shown when this provider manages its own model selection externally."
}
},
"required": [
"providerId",
"providerName",
"description",
"defaultModel",
"configured",
"providerType",
"category",
"configKeys",
"setupSteps",
"supportsRefresh",
"refreshing",
"models",
"stale"
],
"description": "Provider inventory entry."
},
"ProviderSetupCategoryDto": {
"type": "string",
"enum": [
"agent",
"model"
]
},
"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"
]
},
"ProviderInventoryModelDto": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Model identifier as the provider knows it."
},
"name": {
"type": "string",
"description": "Human-readable display name."
},
"family": {
"type": [
"string",
"null"
],
"description": "Model family for grouping in UI."
},
"contextLimit": {
"type": [
"integer",
"null"
],
"description": "Context window size in tokens.",
"minimum": 0
},
"reasoning": {
"type": [
"boolean",
"null"
],
"description": "Whether the model supports reasoning/extended thinking."
},
"recommended": {
"type": "boolean",
"description": "Whether this model should appear in the compact recommended picker.",
"default": false
}
},
"required": [
"id",
"name"
],
"description": "A single model in provider inventory."
},
"ProviderSupportedModelsListRequest_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
}
},
"required": [
"providerId"
],
"description": "List the raw model identifiers returned by a provider's live supported-models API.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/supported-models/list"
},
"ProviderSupportedModelsListResponse_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"models": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"providerId",
"models"
],
"x-side": "agent",
"x-method": "_goose/unstable/providers/supported-models/list"
},
"ProviderCatalogListRequest_unstable": {
"type": "object",
"properties": {
"format": {
"type": [
"string",
"null"
]
}
},
"description": "List custom-provider catalog entries. Omit `format` to list all formats.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/catalog/list"
},
"ProviderCatalogListResponse_unstable": {
"type": "object",
"properties": {
"providers": {
"type": "array",
"items": {
"$ref": "#/$defs/ProviderTemplateCatalogEntryDto"
}
}
},
"required": [
"providers"
],
"x-side": "agent",
"x-method": "_goose/unstable/providers/catalog/list"
},
"ProviderTemplateCatalogEntryDto": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"name": {
"type": "string"
},
"format": {
"type": "string"
},
"apiUrl": {
"type": "string"
},
"modelCount": {
"type": "integer",
"minimum": 0
},
"docUrl": {
"type": "string"
},
"envVar": {
"type": "string"
}
},
"required": [
"providerId",
"name",
"format",
"apiUrl",
"modelCount",
"docUrl",
"envVar"
]
},
"ProviderSetupCatalogListRequest_unstable": {
"type": "object",
"description": "List provider setup catalog entries",
"x-side": "agent",
"x-method": "_goose/unstable/providers/setup/catalog/list"
},
"ProviderSetupCatalogListResponse_unstable": {
"type": "object",
"properties": {
"providers": {
"type": "array",
"items": {
"$ref": "#/$defs/ProviderSetupCatalogEntryDto"
}
}
},
"required": [
"providers"
],
"x-side": "agent",
"x-method": "_goose/unstable/providers/setup/catalog/list"
},
"ProviderSetupCatalogEntryDto": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"name": {
"type": "string"
},
"category": {
"$ref": "#/$defs/ProviderSetupCategoryDto"
},
"description": {
"type": "string"
},
"setupMethod": {
"$ref": "#/$defs/ProviderSetupMethodDto"
},
"nativeConnectQuery": {
"type": [
"string",
"null"
]
},
"fields": {
"type": "array",
"items": {
"$ref": "#/$defs/ProviderSetupFieldDto"
},
"default": []
},
"binaryName": {
"type": [
"string",
"null"
]
},
"docUrl": {
"type": [
"string",
"null"
]
},
"group": {
"$ref": "#/$defs/ProviderSetupGroupDto"
},
"showOnlyWhenInstalled": {
"type": "boolean"
},
"aliases": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"supportsInstall": {
"type": "boolean"
},
"supportsAuth": {
"type": "boolean"
},
"supportsAuthStatus": {
"type": "boolean"
}
},
"required": [
"providerId",
"name",
"category",
"description",
"setupMethod",
"group",
"showOnlyWhenInstalled",
"supportsInstall",
"supportsAuth",
"supportsAuthStatus"
]
},
"ProviderSetupMethodDto": {
"type": "string",
"enum": [
"none",
"single_api_key",
"config_fields",
"host_with_oauth_fallback",
"oauth_browser",
"oauth_device_code",
"cloud_credentials",
"local",
"cli_auth"
]
},
"ProviderSetupFieldDto": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"label": {
"type": "string"
},
"secret": {
"type": "boolean"
},
"required": {
"type": "boolean"
},
"placeholder": {
"type": [
"string",
"null"
]
},
"defaultValue": {
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"label",
"secret",
"required"
]
},
"ProviderSetupGroupDto": {
"type": "string",
"enum": [
"default",
"additional"
]
},
"ProviderCatalogTemplateRequest_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
}
},
"required": [
"providerId"
],
"description": "Return the editable template for one catalog provider.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/catalog/template"
},
"ProviderCatalogTemplateResponse_unstable": {
"type": "object",
"properties": {
"template": {
"$ref": "#/$defs/ProviderTemplateDto"
}
},
"required": [
"template"
],
"x-side": "agent",
"x-method": "_goose/unstable/providers/catalog/template"
},
"ProviderTemplateDto": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"name": {
"type": "string"
},
"format": {
"type": "string"
},
"apiUrl": {
"type": "string"
},
"models": {
"type": "array",
"items": {
"$ref": "#/$defs/ProviderTemplateModelDto"
}
},
"supportsStreaming": {
"type": "boolean"
},
"envVar": {
"type": "string"
},
"docUrl": {
"type": "string"
}
},
"required": [
"providerId",
"name",
"format",
"apiUrl",
"models",
"supportsStreaming",
"envVar",
"docUrl"
]
},
"ProviderTemplateModelDto": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"contextLimit": {
"type": "integer",
"minimum": 0
},
"capabilities": {
"$ref": "#/$defs/ProviderTemplateCapabilitiesDto"
},
"deprecated": {
"type": "boolean"
}
},
"required": [
"id",
"name",
"contextLimit",
"capabilities",
"deprecated"
]
},
"ProviderTemplateCapabilitiesDto": {
"type": "object",
"properties": {
"toolCall": {
"type": "boolean"
},
"reasoning": {
"type": "boolean"
},
"attachment": {
"type": "boolean"
},
"temperature": {
"type": "boolean"
}
},
"required": [
"toolCall",
"reasoning",
"attachment",
"temperature"
]
},
"CustomProviderCreateRequest_unstable": {
"type": "object",
"properties": {
"engine": {
"type": "string"
},
"displayName": {
"type": "string"
},
"apiUrl": {
"type": "string"
},
"apiKey": {
"type": [
"string",
"null"
]
},
"models": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"supportsStreaming": {
"type": [
"boolean",
"null"
]
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"default": {}
},
"requiresAuth": {
"type": "boolean"
},
"catalogProviderId": {
"type": [
"string",
"null"
]
},
"basePath": {
"type": [
"string",
"null"
]
},
"preservesThinking": {
"type": [
"boolean",
"null"
]
}
},
"required": [
"engine",
"displayName",
"apiUrl",
"requiresAuth"
],
"description": "Create a custom provider backed by Goose's declarative provider store.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/custom/create"
},
"CustomProviderCreateResponse_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"status": {
"$ref": "#/$defs/ProviderConfigStatusDto"
},
"refresh": {
"$ref": "#/$defs/RefreshProviderInventoryResponse_unstable"
}
},
"required": [
"providerId",
"status",
"refresh"
],
"x-side": "agent",
"x-method": "_goose/unstable/providers/custom/create"
},
"ProviderConfigStatusDto": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"isConfigured": {
"type": "boolean"
}
},
"required": [
"providerId",
"isConfigured"
]
},
"RefreshProviderInventoryResponse_unstable": {
"type": "object",
"properties": {
"started": {
"type": "array",
"items": {
"type": "string"
},
"description": "Which providers will be refreshed."
},
"skipped": {
"type": "array",
"items": {
"$ref": "#/$defs/RefreshProviderInventorySkipDto"
},
"description": "Which providers were skipped and why.",
"default": []
}
},
"required": [
"started"
],
"description": "Refresh acknowledgement.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/inventory/refresh"
},
"RefreshProviderInventorySkipDto": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"reason": {
"$ref": "#/$defs/RefreshProviderInventorySkipReasonDto"
}
},
"required": [
"providerId",
"reason"
]
},
"RefreshProviderInventorySkipReasonDto": {
"type": "string",
"enum": [
"unknown_provider",
"not_configured",
"does_not_support_refresh",
"already_refreshing"
]
},
"CustomProviderReadRequest_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
}
},
"required": [
"providerId"
],
"description": "Read a declarative provider config. Custom configs are editable; bundled configs are read-only.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/custom/read"
},
"CustomProviderReadResponse_unstable": {
"type": "object",
"properties": {
"provider": {
"$ref": "#/$defs/CustomProviderConfigDto"
},
"editable": {
"type": "boolean"
},
"status": {
"$ref": "#/$defs/ProviderConfigStatusDto"
}
},
"required": [
"provider",
"editable",
"status"
],
"x-side": "agent",
"x-method": "_goose/unstable/providers/custom/read"
},
"CustomProviderConfigDto": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"engine": {
"type": "string"
},
"displayName": {
"type": "string"
},
"apiUrl": {
"type": "string"
},
"models": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"supportsStreaming": {
"type": [
"boolean",
"null"
]
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"default": {}
},
"requiresAuth": {
"type": "boolean"
},
"catalogProviderId": {
"type": [
"string",
"null"
]
},
"basePath": {
"type": [
"string",
"null"
]
},
"apiKeyEnv": {
"type": [
"string",
"null"
]
},
"apiKeySet": {
"type": "boolean"
},
"preservesThinking": {
"type": "boolean"
}
},
"required": [
"providerId",
"engine",
"displayName",
"apiUrl",
"requiresAuth",
"apiKeySet",
"preservesThinking"
]
},
"CustomProviderUpdateRequest_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"engine": {
"type": "string"
},
"displayName": {
"type": "string"
},
"apiUrl": {
"type": "string"
},
"apiKey": {
"type": [
"string",
"null"
]
},
"models": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"supportsStreaming": {
"type": [
"boolean",
"null"
]
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"default": {}
},
"requiresAuth": {
"type": "boolean"
},
"catalogProviderId": {
"type": [
"string",
"null"
]
},
"basePath": {
"type": [
"string",
"null"
]
},
"preservesThinking": {
"type": [
"boolean",
"null"
]
}
},
"required": [
"providerId",
"engine",
"displayName",
"apiUrl",
"requiresAuth"
],
"description": "Update a custom provider backed by Goose's declarative provider store.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/custom/update"
},
"CustomProviderUpdateResponse_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"status": {
"$ref": "#/$defs/ProviderConfigStatusDto"
},
"refresh": {
"$ref": "#/$defs/RefreshProviderInventoryResponse_unstable"
}
},
"required": [
"providerId",
"status",
"refresh"
],
"x-side": "agent",
"x-method": "_goose/unstable/providers/custom/update"
},
"CustomProviderDeleteRequest_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
}
},
"required": [
"providerId"
],
"description": "Delete a custom provider from Goose's declarative provider store.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/custom/delete"
},
"CustomProviderDeleteResponse_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"refresh": {
"$ref": "#/$defs/RefreshProviderInventoryResponse_unstable"
}
},
"required": [
"providerId",
"refresh"
],
"x-side": "agent",
"x-method": "_goose/unstable/providers/custom/delete"
},
"RefreshProviderInventoryRequest_unstable": {
"type": "object",
"properties": {
"providerIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Which providers to refresh. Empty means all known providers.",
"default": []
}
},
"description": "Trigger a background refresh of provider inventories.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/inventory/refresh"
},
"ProviderConfigReadRequest_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
}
},
"required": [
"providerId"
],
"description": "Read saved configuration field values for one provider.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/config/read"
},
"ProviderConfigReadResponse_unstable": {
"type": "object",
"properties": {
"fields": {
"type": "array",
"items": {
"$ref": "#/$defs/ProviderConfigFieldValueDto"
}
}
},
"required": [
"fields"
],
"x-side": "agent",
"x-method": "_goose/unstable/providers/config/read"
},
"ProviderConfigFieldValueDto": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": [
"string",
"null"
],
"default": null
},
"isSet": {
"type": "boolean"
},
"isSecret": {
"type": "boolean"
},
"required": {
"type": "boolean"
}
},
"required": [
"key",
"isSet",
"isSecret",
"required"
]
},
"ProviderConfigStatusRequest_unstable": {
"type": "object",
"properties": {
"providerIds": {
"type": "array",
"items": {
"type": "string"
},
"default": []
}
},
"description": "Return provider configured statuses. Empty provider_ids means all providers.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/config/status"
},
"ProviderConfigStatusResponse_unstable": {
"type": "object",
"properties": {
"statuses": {
"type": "array",
"items": {
"$ref": "#/$defs/ProviderConfigStatusDto"
}
}
},
"required": [
"statuses"
],
"x-side": "agent",
"x-method": "_goose/unstable/providers/config/status"
},
"ProviderConfigSaveRequest_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"fields": {
"type": "array",
"items": {
"$ref": "#/$defs/ProviderConfigFieldUpdate"
}
}
},
"required": [
"providerId",
"fields"
],
"description": "Save provider configuration fields and start an inventory refresh when supported.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/config/save"
},
"ProviderConfigFieldUpdate": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
]
},
"ProviderConfigChangeResponse_unstable": {
"type": "object",
"properties": {
"status": {
"$ref": "#/$defs/ProviderConfigStatusDto"
},
"refresh": {
"$ref": "#/$defs/RefreshProviderInventoryResponse_unstable"
}
},
"required": [
"status",
"refresh"
],
"x-side": "agent"
},
"ProviderConfigDeleteRequest_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
}
},
"required": [
"providerId"
],
"description": "Delete provider configuration fields and start an inventory refresh when supported.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/config/delete"
},
"ProviderConfigAuthenticateRequest_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
}
},
"required": [
"providerId"
],
"description": "Run a provider-owned native authentication flow and start an inventory refresh when supported.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/config/authenticate"
},
"PreferencesReadRequest_unstable": {
"type": "object",
"properties": {
"keys": {
"type": "array",
"items": {
"$ref": "#/$defs/PreferenceKey"
},
"default": []
}
},
"description": "Read allowlisted user preferences. Empty `keys` means all supported preferences.",
"x-side": "agent",
"x-method": "_goose/unstable/preferences/read"
},
"PreferenceKey": {
"type": "string",
"enum": [
"autoCompactThreshold",
"voiceAutoSubmitPhrases",
"voiceDictationProvider",
"voiceDictationPreferredMic"
]
},
"PreferencesReadResponse_unstable": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"$ref": "#/$defs/PreferenceValue"
}
}
},
"required": [
"values"
],
"x-side": "agent",
"x-method": "_goose/unstable/preferences/read"
},
"PreferenceValue": {
"type": "object",
"properties": {
"key": {
"$ref": "#/$defs/PreferenceKey"
},
"value": {
"default": null
}
},
"required": [
"key"
]
},
"PreferencesSaveRequest_unstable": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"$ref": "#/$defs/PreferenceValue"
},
"default": []
}
},
"description": "Save allowlisted user preferences.",
"x-side": "agent",
"x-method": "_goose/unstable/preferences/save"
},
"PreferencesRemoveRequest_unstable": {
"type": "object",
"properties": {
"keys": {
"type": "array",
"items": {
"$ref": "#/$defs/PreferenceKey"
},
"default": []
}
},
"description": "Remove allowlisted user preferences.",
"x-side": "agent",
"x-method": "_goose/unstable/preferences/remove"
},
"DefaultsReadRequest_unstable": {
"type": "object",
"description": "Read Goose default provider and model configuration.",
"x-side": "agent",
"x-method": "_goose/unstable/defaults/read"
},
"DefaultsReadResponse_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": [
"string",
"null"
]
},
"modelId": {
"type": [
"string",
"null"
]
}
},
"x-side": "agent"
},
"DefaultsSaveRequest_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"modelId": {
"type": [
"string",
"null"
]
}
},
"required": [
"providerId"
],
"description": "Save Goose default provider and model configuration.",
"x-side": "agent",
"x-method": "_goose/unstable/defaults/save"
},
"OnboardingImportScanRequest_unstable": {
"type": "object",
"properties": {
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/OnboardingImportSourceKind"
},
"description": "Empty means all supported import sources.",
"default": []
}
},
"description": "Scan for existing Goose and compatible app data that onboarding can import.",
"x-side": "agent",
"x-method": "_goose/unstable/onboarding/import/scan"
},
"OnboardingImportSourceKind": {
"type": "string",
"enum": [
"goose_config",
"claude_desktop"
],
"description": "Sources that onboarding knows how to discover and import."
},
"OnboardingImportScanResponse_unstable": {
"type": "object",
"properties": {
"candidates": {
"type": "array",
"items": {
"$ref": "#/$defs/OnboardingImportCandidate"
}
}
},
"required": [
"candidates"
],
"x-side": "agent",
"x-method": "_goose/unstable/onboarding/import/scan"
},
"OnboardingImportCandidate": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"sourceKind": {
"$ref": "#/$defs/OnboardingImportSourceKind"
},
"displayName": {
"type": "string"
},
"path": {
"type": "string"
},
"counts": {
"$ref": "#/$defs/OnboardingImportCounts"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"default": []
}
},
"required": [
"id",
"sourceKind",
"displayName",
"path",
"counts"
]
},
"OnboardingImportCounts": {
"type": "object",
"properties": {
"providers": {
"type": "integer",
"minimum": 0
},
"extensions": {
"type": "integer",
"minimum": 0
},
"sessions": {
"type": "integer",
"minimum": 0
},
"skills": {
"type": "integer",
"minimum": 0
},
"projects": {
"type": "integer",
"minimum": 0
},
"preferences": {
"type": "integer",
"minimum": 0
}
},
"required": [
"providers",
"extensions",
"sessions",
"skills",
"projects",
"preferences"
]
},
"OnboardingImportApplyRequest_unstable": {
"type": "object",
"properties": {
"candidateIds": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"enableImportedExtensions": {
"type": "boolean",
"default": false
}
},
"description": "Import selected onboarding candidates.",
"x-side": "agent",
"x-method": "_goose/unstable/onboarding/import/apply"
},
"OnboardingImportApplyResponse_unstable": {
"type": "object",
"properties": {
"imported": {
"$ref": "#/$defs/OnboardingImportCounts"
},
"skipped": {
"$ref": "#/$defs/OnboardingImportCounts"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"providerDefaults": {
"anyOf": [
{
"$ref": "#/$defs/DefaultsReadResponse_unstable"
},
{
"type": "null"
}
]
}
},
"required": [
"imported",
"skipped"
],
"x-side": "agent",
"x-method": "_goose/unstable/onboarding/import/apply"
},
"ExportSessionRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
}
},
"required": [
"sessionId"
],
"description": "Export a session as a JSON string.",
"x-side": "agent",
"x-method": "_goose/unstable/session/export"
},
"ExportSessionResponse_unstable": {
"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/unstable/session/export"
},
"ImportSessionRequest_unstable": {
"type": "object",
"properties": {
"data": {
"type": "string"
}
},
"required": [
"data"
],
"description": "Import a session from a JSON string.",
"x-side": "agent",
"x-method": "_goose/unstable/session/import"
},
"ImportSessionResponse_unstable": {
"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/unstable/session/import"
},
"ElicitationRespondRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"elicitationId": {
"type": "string"
},
"userData": {
"default": null
}
},
"required": [
"sessionId",
"elicitationId"
],
"description": "Submit a response for a pending MCP elicitation in an active session.",
"x-side": "agent",
"x-method": "_goose/unstable/elicitation/respond"
},
"UpdateSessionProjectRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"projectId": {
"type": [
"string",
"null"
]
}
},
"required": [
"sessionId"
],
"description": "Update the project association for a session.",
"x-side": "agent",
"x-method": "_goose/unstable/session/project/update"
},
"RenameSessionRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"sessionId",
"title"
],
"description": "Rename a session.",
"x-side": "agent",
"x-method": "_goose/unstable/session/rename"
},
"ArchiveSessionRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
}
},
"required": [
"sessionId"
],
"description": "Archive a session (soft delete).",
"x-side": "agent",
"x-method": "_goose/unstable/session/archive"
},
"UnarchiveSessionRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
}
},
"required": [
"sessionId"
],
"description": "Unarchive a previously archived session.",
"x-side": "agent",
"x-method": "_goose/unstable/session/unarchive"
},
"CreateSourceRequest_unstable": {
"type": "object",
"properties": {
"type": {
"$ref": "#/$defs/SourceType"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"content": {
"type": "string"
},
"target": {
"$ref": "#/$defs/SourceScope"
},
"properties": {
"type": "object",
"additionalProperties": {},
"description": "Arbitrary key/value metadata."
}
},
"required": [
"type",
"name",
"description",
"content",
"target"
],
"description": "Create a new source in an explicit target scope (global or project-scoped).",
"x-side": "agent",
"x-method": "_goose/unstable/sources/create"
},
"SourceType": {
"type": "string",
"enum": [
"skill",
"builtinSkill",
"recipe",
"subrecipe",
"agent",
"project"
],
"description": "The type of source entity."
},
"SourceScope": {
"oneOf": [
{
"type": "object",
"properties": {
"scope": {
"type": "string",
"const": "global"
}
},
"required": [
"scope"
]
},
{
"type": "object",
"properties": {
"projectDir": {
"type": "string"
},
"scope": {
"type": "string",
"const": "projectDir"
}
},
"required": [
"scope",
"projectDir"
]
},
{
"type": "object",
"properties": {
"projectId": {
"type": "string"
},
"scope": {
"type": "string",
"const": "projectId"
}
},
"required": [
"scope",
"projectId"
]
}
],
"description": "Target scope for creating or importing sources."
},
"CreateSourceResponse_unstable": {
"type": "object",
"properties": {
"source": {
"$ref": "#/$defs/SourceEntry"
}
},
"required": [
"source"
],
"x-side": "agent",
"x-method": "_goose/unstable/sources/create"
},
"SourceEntry": {
"type": "object",
"properties": {
"type": {
"$ref": "#/$defs/SourceType"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"content": {
"type": "string"
},
"path": {
"type": "string",
"description": "Stable on-disk path identifying this source. Pass it back to\nupdate/delete/export to operate on this entry. Skills use the directory\ncontaining `SKILL.md`; projects use the project file path; built-in\nskills use `builtin://skills/<name>` synthetic paths."
},
"global": {
"type": "boolean",
"description": "True when the source lives in the user's global sources directory; false\nwhen it lives inside a specific project."
},
"writable": {
"type": "boolean",
"description": "True when this source can be modified through source CRUD methods.\nClient-provided bundled sources are returned as read-only.",
"default": false
},
"supportingFiles": {
"type": "array",
"items": {
"type": "string"
},
"description": "Paths (absolute) of additional files that live alongside the source.\nOnly skills currently populate this; empty for other source types."
},
"properties": {
"type": "object",
"additionalProperties": {},
"description": "Arbitrary key/value pairs for type-specific metadata (e.g. icon, color,\npreferredProvider for projects). Stored in the frontmatter."
}
},
"required": [
"type",
"name",
"description",
"content",
"path",
"global"
],
"description": "A source discovered by Goose. Filesystem sources use an on-disk path;\nbuilt-in sources use a stable synthetic path. Sources may be either\n`global` (shared across all projects) or project-specific."
},
"ListSourcesRequest_unstable": {
"type": "object",
"properties": {
"type": {
"anyOf": [
{
"$ref": "#/$defs/SourceType"
},
{
"type": "null"
}
]
},
"projectDir": {
"type": [
"string",
"null"
]
},
"includeProjectSources": {
"type": "boolean",
"description": "When true, also scan the working directories of all known projects for\nproject-scoped sources (e.g. skills stored under `{workingDir}/.agents/skills/`).",
"default": false
}
},
"description": "List discovered sources.\n\nIf `type` is omitted or `skill`, this lists filesystem/plugin skills only.\nBoth global and project-scoped skills are included when `project_dir` is\nset. If `type` is `builtinSkill`, this lists shipped read-only built-in\nskills.",
"x-side": "agent",
"x-method": "_goose/unstable/sources/list"
},
"ListSourcesResponse_unstable": {
"type": "object",
"properties": {
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/SourceEntry"
}
}
},
"required": [
"sources"
],
"x-side": "agent",
"x-method": "_goose/unstable/sources/list"
},
"UpdateSourceRequest_unstable": {
"type": "object",
"properties": {
"type": {
"$ref": "#/$defs/SourceType"
},
"path": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"content": {
"type": "string"
},
"properties": {
"type": [
"object",
"null"
],
"additionalProperties": {},
"description": "When `Some`, replaces all stored properties on the source. When\n`None` (or omitted), the source's existing properties are\npreserved. Callers that don't model the full property bag (e.g.\nthe skills editor, which only edits name/description/content)\nshould omit this so per-skill metadata isn't silently erased."
}
},
"required": [
"type",
"path",
"name",
"description",
"content"
],
"description": "Update an existing source's name, description, and content by absolute path.",
"x-side": "agent",
"x-method": "_goose/unstable/sources/update"
},
"UpdateSourceResponse_unstable": {
"type": "object",
"properties": {
"source": {
"$ref": "#/$defs/SourceEntry"
}
},
"required": [
"source"
],
"x-side": "agent",
"x-method": "_goose/unstable/sources/update"
},
"DeleteSourceRequest_unstable": {
"type": "object",
"properties": {
"type": {
"$ref": "#/$defs/SourceType"
},
"path": {
"type": "string"
}
},
"required": [
"type",
"path"
],
"description": "Delete a source and its on-disk directory by absolute path.",
"x-side": "agent",
"x-method": "_goose/unstable/sources/delete"
},
"ExportSourceRequest_unstable": {
"type": "object",
"properties": {
"type": {
"$ref": "#/$defs/SourceType"
},
"path": {
"type": "string"
}
},
"required": [
"type",
"path"
],
"description": "Export a source at an absolute path as a portable JSON payload.",
"x-side": "agent",
"x-method": "_goose/unstable/sources/export"
},
"ExportSourceResponse_unstable": {
"type": "object",
"properties": {
"json": {
"type": "string"
},
"filename": {
"type": "string"
}
},
"required": [
"json",
"filename"
],
"x-side": "agent",
"x-method": "_goose/unstable/sources/export"
},
"ImportSourcesRequest_unstable": {
"type": "object",
"properties": {
"data": {
"type": "string"
},
"target": {
"$ref": "#/$defs/SourceScope"
}
},
"required": [
"data",
"target"
],
"description": "Import a source from a JSON export payload produced by `_goose/unstable/sources/export`.\nThe imported source is written into the explicit target scope; on name\ncollisions a `-imported` suffix is appended.",
"x-side": "agent",
"x-method": "_goose/unstable/sources/import"
},
"ImportSourcesResponse_unstable": {
"type": "object",
"properties": {
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/SourceEntry"
}
}
},
"required": [
"sources"
],
"x-side": "agent",
"x-method": "_goose/unstable/sources/import"
},
"DictationTranscribeRequest_unstable": {
"type": "object",
"properties": {
"audio": {
"type": "string",
"description": "Base64-encoded audio data"
},
"mimeType": {
"type": "string",
"description": "MIME type (e.g. \"audio/wav\", \"audio/webm\")"
},
"provider": {
"type": "string",
"description": "Provider to use: \"openai\", \"groq\", \"elevenlabs\", or \"local\""
}
},
"required": [
"audio",
"mimeType",
"provider"
],
"description": "Transcribe audio via a dictation provider.",
"x-side": "agent",
"x-method": "_goose/unstable/dictation/transcribe"
},
"DictationTranscribeResponse_unstable": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
},
"required": [
"text"
],
"description": "Transcription result.",
"x-side": "agent",
"x-method": "_goose/unstable/dictation/transcribe"
},
"DictationConfigRequest_unstable": {
"type": "object",
"description": "Get the configuration status of all dictation providers.",
"x-side": "agent",
"x-method": "_goose/unstable/dictation/config"
},
"DictationConfigResponse_unstable": {
"type": "object",
"properties": {
"providers": {
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/DictationProviderStatusEntry"
}
}
},
"required": [
"providers"
],
"description": "Dictation config response — map of provider name to status.",
"x-side": "agent",
"x-method": "_goose/unstable/dictation/config"
},
"DictationProviderStatusEntry": {
"type": "object",
"properties": {
"configured": {
"type": "boolean"
},
"host": {
"type": [
"string",
"null"
]
},
"description": {
"type": "string"
},
"usesProviderConfig": {
"type": "boolean"
},
"settingsPath": {
"type": [
"string",
"null"
]
},
"configKey": {
"type": [
"string",
"null"
]
},
"modelConfigKey": {
"type": [
"string",
"null"
]
},
"defaultModel": {
"type": [
"string",
"null"
]
},
"selectedModel": {
"type": [
"string",
"null"
]
},
"availableModels": {
"type": "array",
"items": {
"$ref": "#/$defs/DictationModelOption"
},
"default": []
}
},
"required": [
"configured",
"description",
"usesProviderConfig"
],
"description": "Per-provider configuration status."
},
"DictationModelOption": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"id",
"label",
"description"
]
},
"DictationSecretSaveRequest_unstable": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"provider",
"value"
],
"description": "Set a dictation provider secret value.",
"x-side": "agent",
"x-method": "_goose/unstable/dictation/secret/save"
},
"DictationSecretDeleteRequest_unstable": {
"type": "object",
"properties": {
"provider": {
"type": "string"
}
},
"required": [
"provider"
],
"description": "Remove a dictation provider secret value.",
"x-side": "agent",
"x-method": "_goose/unstable/dictation/secret/delete"
},
"DictationModelsListRequest_unstable": {
"type": "object",
"description": "List available local Whisper models with their download status.",
"x-side": "agent",
"x-method": "_goose/unstable/dictation/models/list"
},
"DictationModelsListResponse_unstable": {
"type": "object",
"properties": {
"models": {
"type": "array",
"items": {
"$ref": "#/$defs/DictationLocalModelStatus"
}
}
},
"required": [
"models"
],
"x-side": "agent",
"x-method": "_goose/unstable/dictation/models/list"
},
"DictationLocalModelStatus": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"description": {
"type": "string"
},
"sizeMb": {
"type": "integer",
"minimum": 0
},
"downloaded": {
"type": "boolean"
},
"downloadInProgress": {
"type": "boolean"
}
},
"required": [
"id",
"label",
"description",
"sizeMb",
"downloaded",
"downloadInProgress"
]
},
"DictationModelDownloadRequest_unstable": {
"type": "object",
"properties": {
"modelId": {
"type": "string"
}
},
"required": [
"modelId"
],
"description": "Kick off a background download of a local Whisper model.",
"x-side": "agent",
"x-method": "_goose/unstable/dictation/models/download"
},
"DictationModelDownloadProgressRequest_unstable": {
"type": "object",
"properties": {
"modelId": {
"type": "string"
}
},
"required": [
"modelId"
],
"description": "Poll the progress of an in-flight download.",
"x-side": "agent",
"x-method": "_goose/unstable/dictation/models/download/progress"
},
"DictationModelDownloadProgressResponse_unstable": {
"type": "object",
"properties": {
"progress": {
"anyOf": [
{
"$ref": "#/$defs/DictationDownloadProgress"
},
{
"type": "null"
}
],
"description": "None when no download is active for this model id."
}
},
"x-side": "agent",
"x-method": "_goose/unstable/dictation/models/download/progress"
},
"DictationDownloadProgress": {
"type": "object",
"properties": {
"bytesDownloaded": {
"type": "integer",
"minimum": 0
},
"totalBytes": {
"type": "integer",
"minimum": 0
},
"progressPercent": {
"type": "number",
"format": "float"
},
"status": {
"type": "string",
"description": "serde lowercase of DownloadStatus: \"downloading\" | \"completed\" | \"failed\" | \"cancelled\""
},
"error": {
"type": [
"string",
"null"
]
}
},
"required": [
"bytesDownloaded",
"totalBytes",
"progressPercent",
"status"
]
},
"DictationModelCancelRequest_unstable": {
"type": "object",
"properties": {
"modelId": {
"type": "string"
}
},
"required": [
"modelId"
],
"description": "Cancel an in-flight download.",
"x-side": "agent",
"x-method": "_goose/unstable/dictation/models/cancel"
},
"DictationModelDeleteRequest_unstable": {
"type": "object",
"properties": {
"modelId": {
"type": "string"
}
},
"required": [
"modelId"
],
"description": "Delete a downloaded local Whisper model from disk.",
"x-side": "agent",
"x-method": "_goose/unstable/dictation/models/delete"
},
"DictationModelSelectRequest_unstable": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"modelId": {
"type": "string"
}
},
"required": [
"provider",
"modelId"
],
"description": "Persist the user's model selection for a given provider.",
"x-side": "agent",
"x-method": "_goose/unstable/dictation/models/select"
},
"GooseSessionNotification_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"update": {
"$ref": "#/$defs/GooseSessionUpdate"
}
},
"required": [
"sessionId",
"update"
],
"description": "Goose-custom session update notification — a parallel to ACP's\n`session/update` carrying goose-specific update variants.",
"x-side": "agent",
"x-method": "_goose/unstable/session/update"
},
"GooseSessionUpdate": {
"oneOf": [
{
"$ref": "#/$defs/SessionUsageUpdate",
"type": "object",
"properties": {
"sessionUpdate": {
"type": "string",
"const": "usage_update"
}
},
"required": [
"sessionUpdate"
]
},
{
"$ref": "#/$defs/StatusMessageUpdate",
"type": "object",
"properties": {
"sessionUpdate": {
"type": "string",
"const": "status_message"
}
},
"required": [
"sessionUpdate"
]
},
{
"$ref": "#/$defs/InteractionUpdate",
"type": "object",
"properties": {
"sessionUpdate": {
"type": "string",
"const": "interaction_update"
}
},
"required": [
"sessionUpdate"
]
}
],
"description": "Discriminated union of goose-specific session update payloads.\nVariant tag matches ACP's convention (`sessionUpdate: \"<snake_case>\"`).\n\n`discriminator.mapping` is what makes TS codegen (`@hey-api/openapi-ts`)\nemit the correct snake_case tag value even when this enum has a single\nvariant. Add a mapping entry per variant.",
"discriminator": {
"propertyName": "sessionUpdate",
"mapping": {
"usage_update": "#/$defs/SessionUsageUpdate",
"status_message": "#/$defs/StatusMessageUpdate",
"interaction_update": "#/$defs/InteractionUpdate"
}
}
},
"SessionUsageUpdate": {
"type": "object",
"properties": {
"used": {
"type": "integer",
"minimum": 0
},
"contextLimit": {
"type": "integer",
"minimum": 0
},
"accumulatedInputTokens": {
"type": "integer",
"minimum": 0
},
"accumulatedOutputTokens": {
"type": "integer",
"minimum": 0
},
"accumulatedCost": {
"type": [
"number",
"null"
],
"format": "double"
}
},
"required": [
"used",
"contextLimit",
"accumulatedInputTokens",
"accumulatedOutputTokens"
],
"description": "Streaming context-window usage update for a session."
},
"StatusMessage": {
"oneOf": [
{
"type": "object",
"properties": {
"message": {
"type": "string"
},
"type": {
"type": "string",
"const": "notice"
}
},
"required": [
"type",
"message"
]
},
{
"type": "object",
"properties": {
"message": {
"type": "string"
},
"type": {
"type": "string",
"const": "progress"
}
},
"required": [
"type",
"message"
]
}
]
},
"StatusMessageUpdate": {
"type": "object",
"properties": {
"status": {
"$ref": "#/$defs/StatusMessage"
}
},
"required": [
"status"
],
"description": "Live UI/session status. This is not conversation transcript content, and\nshould not be persisted or replayed as history."
},
"Interaction": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"state": {
"$ref": "#/$defs/InteractionState"
},
"message": {
"type": [
"string",
"null"
]
},
"requestedSchema": {},
"type": {
"type": "string",
"const": "elicitation"
}
},
"required": [
"type",
"id",
"state"
]
}
]
},
"InteractionState": {
"type": "string",
"enum": [
"pending",
"submitted"
]
},
"InteractionUpdate": {
"type": "object",
"properties": {
"interaction": {
"$ref": "#/$defs/Interaction"
},
"_meta": {}
},
"required": [
"interaction"
]
},
"ExtRequest": {
"properties": {
"id": {
"type": "string"
},
"method": {
"type": "string"
},
"params": {
"anyOf": [
{
"anyOf": [
{
"allOf": [
{
"$ref": "#/$defs/AddExtensionRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/extensions/add",
"title": "AddExtensionRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/RemoveExtensionRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/extensions/remove",
"title": "RemoveExtensionRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GetToolsRequest_unstable"
}
],
"description": "Params for _goose/unstable/tools/list",
"title": "GetToolsRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GooseToolCallRequest_unstable"
}
],
"description": "Params for _goose/unstable/tools/call",
"title": "GooseToolCallRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ReadResourceRequest_unstable"
}
],
"description": "Params for _goose/unstable/resources/read",
"title": "ReadResourceRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/UpdateWorkingDirRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/working-dir/update",
"title": "UpdateWorkingDirRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/SetSessionSystemPromptRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/system-prompt/set",
"title": "SetSessionSystemPromptRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DeleteSessionRequest"
}
],
"description": "Params for session/delete",
"title": "DeleteSessionRequest"
},
{
"allOf": [
{
"$ref": "#/$defs/GetConfigExtensionsRequest_unstable"
}
],
"description": "Params for _goose/unstable/config/extensions/list",
"title": "GetConfigExtensionsRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GetAvailableExtensionsRequest_unstable"
}
],
"description": "Params for _goose/unstable/extensions/available",
"title": "GetAvailableExtensionsRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/AddConfigExtensionRequest_unstable"
}
],
"description": "Params for _goose/unstable/config/extensions/add",
"title": "AddConfigExtensionRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/RemoveConfigExtensionRequest_unstable"
}
],
"description": "Params for _goose/unstable/config/extensions/remove",
"title": "RemoveConfigExtensionRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/SetConfigExtensionEnabledRequest_unstable"
}
],
"description": "Params for _goose/unstable/config/extensions/set-enabled",
"title": "SetConfigExtensionEnabledRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GetSessionExtensionsRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/extensions/list",
"title": "GetSessionExtensionsRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListProvidersRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/list",
"title": "ListProvidersRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderSupportedModelsListRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/supported-models/list",
"title": "ProviderSupportedModelsListRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderCatalogListRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/catalog/list",
"title": "ProviderCatalogListRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderSetupCatalogListRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/setup/catalog/list",
"title": "ProviderSetupCatalogListRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderCatalogTemplateRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/catalog/template",
"title": "ProviderCatalogTemplateRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CustomProviderCreateRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/custom/create",
"title": "CustomProviderCreateRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CustomProviderReadRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/custom/read",
"title": "CustomProviderReadRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CustomProviderUpdateRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/custom/update",
"title": "CustomProviderUpdateRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CustomProviderDeleteRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/custom/delete",
"title": "CustomProviderDeleteRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/RefreshProviderInventoryRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/inventory/refresh",
"title": "RefreshProviderInventoryRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderConfigReadRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/config/read",
"title": "ProviderConfigReadRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderConfigStatusRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/config/status",
"title": "ProviderConfigStatusRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderConfigSaveRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/config/save",
"title": "ProviderConfigSaveRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderConfigDeleteRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/config/delete",
"title": "ProviderConfigDeleteRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderConfigAuthenticateRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/config/authenticate",
"title": "ProviderConfigAuthenticateRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/PreferencesReadRequest_unstable"
}
],
"description": "Params for _goose/unstable/preferences/read",
"title": "PreferencesReadRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/PreferencesSaveRequest_unstable"
}
],
"description": "Params for _goose/unstable/preferences/save",
"title": "PreferencesSaveRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/PreferencesRemoveRequest_unstable"
}
],
"description": "Params for _goose/unstable/preferences/remove",
"title": "PreferencesRemoveRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DefaultsReadRequest_unstable"
}
],
"description": "Params for _goose/unstable/defaults/read",
"title": "DefaultsReadRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DefaultsSaveRequest_unstable"
}
],
"description": "Params for _goose/unstable/defaults/save",
"title": "DefaultsSaveRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/OnboardingImportScanRequest_unstable"
}
],
"description": "Params for _goose/unstable/onboarding/import/scan",
"title": "OnboardingImportScanRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/OnboardingImportApplyRequest_unstable"
}
],
"description": "Params for _goose/unstable/onboarding/import/apply",
"title": "OnboardingImportApplyRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ExportSessionRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/export",
"title": "ExportSessionRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ImportSessionRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/import",
"title": "ImportSessionRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ElicitationRespondRequest_unstable"
}
],
"description": "Params for _goose/unstable/elicitation/respond",
"title": "ElicitationRespondRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/UpdateSessionProjectRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/project/update",
"title": "UpdateSessionProjectRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/RenameSessionRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/rename",
"title": "RenameSessionRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ArchiveSessionRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/archive",
"title": "ArchiveSessionRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/UnarchiveSessionRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/unarchive",
"title": "UnarchiveSessionRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CreateSourceRequest_unstable"
}
],
"description": "Params for _goose/unstable/sources/create",
"title": "CreateSourceRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListSourcesRequest_unstable"
}
],
"description": "Params for _goose/unstable/sources/list",
"title": "ListSourcesRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/UpdateSourceRequest_unstable"
}
],
"description": "Params for _goose/unstable/sources/update",
"title": "UpdateSourceRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DeleteSourceRequest_unstable"
}
],
"description": "Params for _goose/unstable/sources/delete",
"title": "DeleteSourceRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ExportSourceRequest_unstable"
}
],
"description": "Params for _goose/unstable/sources/export",
"title": "ExportSourceRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ImportSourcesRequest_unstable"
}
],
"description": "Params for _goose/unstable/sources/import",
"title": "ImportSourcesRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationTranscribeRequest_unstable"
}
],
"description": "Params for _goose/unstable/dictation/transcribe",
"title": "DictationTranscribeRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationConfigRequest_unstable"
}
],
"description": "Params for _goose/unstable/dictation/config",
"title": "DictationConfigRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationSecretSaveRequest_unstable"
}
],
"description": "Params for _goose/unstable/dictation/secret/save",
"title": "DictationSecretSaveRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationSecretDeleteRequest_unstable"
}
],
"description": "Params for _goose/unstable/dictation/secret/delete",
"title": "DictationSecretDeleteRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationModelsListRequest_unstable"
}
],
"description": "Params for _goose/unstable/dictation/models/list",
"title": "DictationModelsListRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationModelDownloadRequest_unstable"
}
],
"description": "Params for _goose/unstable/dictation/models/download",
"title": "DictationModelDownloadRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationModelDownloadProgressRequest_unstable"
}
],
"description": "Params for _goose/unstable/dictation/models/download/progress",
"title": "DictationModelDownloadProgressRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationModelCancelRequest_unstable"
}
],
"description": "Params for _goose/unstable/dictation/models/cancel",
"title": "DictationModelCancelRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationModelDeleteRequest_unstable"
}
],
"description": "Params for _goose/unstable/dictation/models/delete",
"title": "DictationModelDeleteRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationModelSelectRequest_unstable"
}
],
"description": "Params for _goose/unstable/dictation/models/select",
"title": "DictationModelSelectRequest_unstable"
}
]
},
{
"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_unstable"
}
],
"title": "GetToolsResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GooseToolCallResponse_unstable"
}
],
"title": "GooseToolCallResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ReadResourceResponse_unstable"
}
],
"title": "ReadResourceResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GetConfigExtensionsResponse_unstable"
}
],
"title": "GetConfigExtensionsResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GetAvailableExtensionsResponse_unstable"
}
],
"title": "GetAvailableExtensionsResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GetSessionExtensionsResponse_unstable"
}
],
"title": "GetSessionExtensionsResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListProvidersResponse_unstable"
}
],
"title": "ListProvidersResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderSupportedModelsListResponse_unstable"
}
],
"title": "ProviderSupportedModelsListResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderCatalogListResponse_unstable"
}
],
"title": "ProviderCatalogListResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderSetupCatalogListResponse_unstable"
}
],
"title": "ProviderSetupCatalogListResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderCatalogTemplateResponse_unstable"
}
],
"title": "ProviderCatalogTemplateResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CustomProviderCreateResponse_unstable"
}
],
"title": "CustomProviderCreateResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CustomProviderReadResponse_unstable"
}
],
"title": "CustomProviderReadResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CustomProviderUpdateResponse_unstable"
}
],
"title": "CustomProviderUpdateResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CustomProviderDeleteResponse_unstable"
}
],
"title": "CustomProviderDeleteResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/RefreshProviderInventoryResponse_unstable"
}
],
"title": "RefreshProviderInventoryResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderConfigReadResponse_unstable"
}
],
"title": "ProviderConfigReadResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderConfigStatusResponse_unstable"
}
],
"title": "ProviderConfigStatusResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderConfigChangeResponse_unstable"
}
],
"title": "ProviderConfigChangeResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/PreferencesReadResponse_unstable"
}
],
"title": "PreferencesReadResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DefaultsReadResponse_unstable"
}
],
"title": "DefaultsReadResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/OnboardingImportScanResponse_unstable"
}
],
"title": "OnboardingImportScanResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/OnboardingImportApplyResponse_unstable"
}
],
"title": "OnboardingImportApplyResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ExportSessionResponse_unstable"
}
],
"title": "ExportSessionResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ImportSessionResponse_unstable"
}
],
"title": "ImportSessionResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CreateSourceResponse_unstable"
}
],
"title": "CreateSourceResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListSourcesResponse_unstable"
}
],
"title": "ListSourcesResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/UpdateSourceResponse_unstable"
}
],
"title": "UpdateSourceResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ExportSourceResponse_unstable"
}
],
"title": "ExportSourceResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ImportSourcesResponse_unstable"
}
],
"title": "ImportSourcesResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationTranscribeResponse_unstable"
}
],
"title": "DictationTranscribeResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationConfigResponse_unstable"
}
],
"title": "DictationConfigResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationModelsListResponse_unstable"
}
],
"title": "DictationModelsListResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DictationModelDownloadProgressResponse_unstable"
}
],
"title": "DictationModelDownloadProgressResponse_unstable"
}
]
},
{
"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
},
"ExtNotification": {
"properties": {
"method": {
"type": "string"
},
"params": {
"anyOf": [
{
"anyOf": [
{
"allOf": [
{
"$ref": "#/$defs/GooseSessionNotification_unstable"
}
],
"description": "Params for _goose/unstable/session/update",
"title": "GooseSessionNotification_unstable"
}
]
},
{
"description": "Untyped params",
"type": [
"object",
"null"
]
}
]
}
},
"required": [
"method"
],
"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"
},
{
"allOf": [
{
"$ref": "#/$defs/ExtNotification"
}
],
"description": "Extension notification (agent → client, fire-and-forget)",
"title": "Notification"
}
]
}