Files
tkmind_go/crates/goose/acp-schema.json
T

8873 lines
238 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "GooseExtensions",
"$defs": {
"AddSessionExtensionRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"extension": {
"$ref": "#/$defs/GooseExtension"
}
},
"required": [
"sessionId",
"extension"
],
"description": "Add an extension to an active session.",
"x-side": "agent",
"x-method": "_goose/unstable/session/extensions/add"
},
"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"
]
},
"available_tools": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "Tool allowlist for this extension. Omit this field to allow all tools."
},
"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"
]
},
"available_tools": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "Tool allowlist for this extension. Omit this field to allow all tools."
},
"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"
]
},
"clientId": {
"type": [
"string",
"null"
],
"description": "Pre-registered OAuth client ID for the server's authorization server."
},
"clientSecretKey": {
"type": [
"string",
"null"
],
"description": "Name of the env/secret key holding the OAuth client secret."
},
"scopes": {
"type": "array",
"items": {
"type": "string"
},
"description": "OAuth scopes to request with `client_id`."
},
"bundled": {
"type": [
"boolean",
"null"
]
},
"available_tools": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "Tool allowlist for this extension. Omit this field to allow all tools."
},
"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)",
"x-deserialize-default-on-error": {}
}
},
"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)",
"x-deserialize-default-on-error": {}
},
"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)",
"x-deserialize-default-on-error": {}
},
"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": "Absolute 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)",
"x-deserialize-default-on-error": {}
}
},
"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)",
"x-deserialize-default-on-error": {}
}
},
"required": [
"name",
"value"
],
"description": "An environment variable to set when launching an MCP server."
},
"EmptyResponse": {
"type": "object",
"description": "Empty success response for operations that return no data.",
"x-side": "agent"
},
"RemoveSessionExtensionRequest_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"
},
"extensionName": {
"type": [
"string",
"null"
],
"description": "Filter tools to those belonging to this extension."
}
},
"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": {
"$ref": "#/$defs/ToolListItem"
}
}
},
"required": [
"tools"
],
"description": "Tools response.",
"x-side": "agent",
"x-method": "_goose/unstable/tools/list"
},
"ToolListItem": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"parameters": {
"type": "array",
"items": {
"type": "string"
}
},
"permission": {
"anyOf": [
{
"$ref": "#/$defs/ToolPermissionLevel"
},
{
"type": "null"
}
]
},
"inputSchema": {},
"outputSchema": {}
},
"required": [
"name",
"description",
"parameters",
"inputSchema"
],
"description": "A single tool item returned by the tools list endpoint."
},
"ToolPermissionLevel": {
"type": "string",
"enum": [
"always_allow",
"ask_before",
"never_allow"
],
"description": "Permission level for a tool."
},
"SetToolPermissionsRequest_unstable": {
"type": "object",
"properties": {
"toolPermissions": {
"type": "array",
"items": {
"$ref": "#/$defs/ToolPermissionEntry"
}
}
},
"required": [
"toolPermissions"
],
"description": "Set permission levels for one or more tools.",
"x-side": "agent",
"x-method": "_goose/unstable/tools/permissions/set"
},
"ToolPermissionEntry": {
"type": "object",
"properties": {
"toolName": {
"type": "string"
},
"permission": {
"$ref": "#/$defs/ToolPermissionLevel"
}
},
"required": [
"toolName",
"permission"
],
"description": "A single tool permission entry."
},
"SetToolPermissionsResponse_unstable": {
"type": "object",
"x-side": "agent",
"x-method": "_goose/unstable/tools/permissions/set"
},
"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"
},
"AppsListRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": [
"string",
"null"
]
}
},
"x-side": "agent",
"x-method": "_goose/unstable/apps/list"
},
"AppsListResponse_unstable": {
"type": "object",
"properties": {
"apps": {
"type": "array",
"items": {},
"default": []
}
},
"x-side": "agent",
"x-method": "_goose/unstable/apps/list"
},
"AppsExportRequest_unstable": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"x-side": "agent",
"x-method": "_goose/unstable/apps/export"
},
"AppsExportResponse_unstable": {
"type": "object",
"properties": {
"html": {
"type": "string"
}
},
"required": [
"html"
],
"x-side": "agent",
"x-method": "_goose/unstable/apps/export"
},
"AppsImportRequest_unstable": {
"type": "object",
"properties": {
"html": {
"type": "string"
}
},
"required": [
"html"
],
"x-side": "agent",
"x-method": "_goose/unstable/apps/import"
},
"AppsImportResponse_unstable": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"name",
"message"
],
"x-side": "agent",
"x-method": "_goose/unstable/apps/import"
},
"AppsDeleteRequest_unstable": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"x-side": "agent",
"x-method": "_goose/unstable/apps/delete"
},
"AppsDeleteResponse_unstable": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"name",
"message"
],
"x-side": "agent",
"x-method": "_goose/unstable/apps/delete"
},
"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."
},
"SteerSessionRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"prompt": {
"type": "array",
"items": {
"$ref": "#/$defs/ContentBlock"
},
"default": []
},
"expectedRunId": {
"type": "string"
}
},
"required": [
"sessionId",
"expectedRunId"
],
"description": "Add user input to the currently active prompt without starting a new prompt.",
"x-side": "agent",
"x-method": "_goose/unstable/session/steer"
},
"ContentBlock": {
"oneOf": [
{
"$ref": "#/$defs/TextContent",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "text"
}
},
"required": [
"type"
],
"description": "Text content. May be plain text or formatted with Markdown.\n\nAll agents MUST support text content blocks in prompts.\nClients SHOULD render this text as Markdown."
},
{
"$ref": "#/$defs/ImageContent",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "image"
}
},
"required": [
"type"
],
"description": "Images for visual context or analysis.\n\nRequires the `image` prompt capability when included in prompts."
},
{
"$ref": "#/$defs/AudioContent",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "audio"
}
},
"required": [
"type"
],
"description": "Audio data for transcription or analysis.\n\nRequires the `audio` prompt capability when included in prompts."
},
{
"$ref": "#/$defs/ResourceLink",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "resource_link"
}
},
"required": [
"type"
],
"description": "References to resources that the agent can access.\n\nAll agents MUST support resource links in prompts."
},
{
"$ref": "#/$defs/EmbeddedResource",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "resource"
}
},
"required": [
"type"
],
"description": "Complete resource contents embedded directly in the message.\n\nPreferred for including context as it avoids extra round-trips.\n\nRequires the `embeddedContext` prompt capability when included in prompts."
}
],
"description": "Content blocks represent displayable information in the Agent Client Protocol.\n\nThey provide a structured way to handle various types of user-facing content—whether\nit's text from language models, images for analysis, or embedded resources for context.\n\nContent blocks appear in:\n- User prompts sent via `session/prompt`\n- Language model output streamed through `session/update` notifications\n- Progress updates and results from tool calls\n\nThis structure is compatible with the Model Context Protocol (MCP), enabling\nagents to seamlessly forward content from MCP tool outputs without transformation.\n\nSee protocol docs: [Content](https://agentclientprotocol.com/protocol/content)",
"discriminator": {
"propertyName": "type"
}
},
"Annotations": {
"type": "object",
"properties": {
"audience": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/Role"
},
"description": "Intended recipients for this content, such as the user or assistant.",
"x-deserialize-default-on-error": {},
"x-deserialize-skip-invalid-items": {}
},
"lastModified": {
"type": [
"string",
"null"
],
"description": "Timestamp indicating when the underlying resource was last modified.",
"x-deserialize-default-on-error": {}
},
"priority": {
"type": [
"number",
"null"
],
"format": "double",
"description": "Relative importance of this content when clients choose what to surface.",
"x-deserialize-default-on-error": {}
},
"_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)",
"x-deserialize-default-on-error": {}
}
},
"description": "Optional annotations for the client. The client can use annotations to inform how objects are used or displayed"
},
"Role": {
"oneOf": [
{
"type": "string",
"const": "assistant",
"description": "The assistant side of a conversation."
},
{
"type": "string",
"const": "user",
"description": "The user side of a conversation."
}
],
"description": "The sender or recipient of messages and data in a conversation."
},
"TextContent": {
"type": "object",
"properties": {
"annotations": {
"anyOf": [
{
"$ref": "#/$defs/Annotations"
},
{
"type": "null"
}
],
"description": "Optional annotations that help clients decide how to display or route this content.",
"x-deserialize-default-on-error": {}
},
"text": {
"type": "string",
"description": "Text payload carried by this content block."
},
"_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)",
"x-deserialize-default-on-error": {}
}
},
"required": [
"text"
],
"description": "Text provided to or from an LLM."
},
"ImageContent": {
"type": "object",
"properties": {
"annotations": {
"anyOf": [
{
"$ref": "#/$defs/Annotations"
},
{
"type": "null"
}
],
"description": "Optional annotations that help clients decide how to display or route this content.",
"x-deserialize-default-on-error": {}
},
"data": {
"type": "string",
"description": "Base64-encoded media payload."
},
"mimeType": {
"type": "string",
"description": "MIME type describing the encoded media payload."
},
"uri": {
"type": [
"string",
"null"
],
"description": "URI associated with this resource or media payload.",
"x-deserialize-default-on-error": {}
},
"_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)",
"x-deserialize-default-on-error": {}
}
},
"required": [
"data",
"mimeType"
],
"description": "An image provided to or from an LLM."
},
"AudioContent": {
"type": "object",
"properties": {
"annotations": {
"anyOf": [
{
"$ref": "#/$defs/Annotations"
},
{
"type": "null"
}
],
"description": "Optional annotations that help clients decide how to display or route this content.",
"x-deserialize-default-on-error": {}
},
"data": {
"type": "string",
"description": "Base64-encoded media payload."
},
"mimeType": {
"type": "string",
"description": "MIME type describing the encoded media payload."
},
"_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)",
"x-deserialize-default-on-error": {}
}
},
"required": [
"data",
"mimeType"
],
"description": "Audio provided to or from an LLM."
},
"ResourceLink": {
"type": "object",
"properties": {
"annotations": {
"anyOf": [
{
"$ref": "#/$defs/Annotations"
},
{
"type": "null"
}
],
"description": "Optional annotations that help clients decide how to display or route this content.",
"x-deserialize-default-on-error": {}
},
"description": {
"type": [
"string",
"null"
],
"description": "Optional human-readable details shown with this protocol object.",
"x-deserialize-default-on-error": {}
},
"mimeType": {
"type": [
"string",
"null"
],
"description": "MIME type describing the encoded media payload.",
"x-deserialize-default-on-error": {}
},
"name": {
"type": "string",
"description": "Human-readable name shown for this protocol object."
},
"size": {
"type": [
"integer",
"null"
],
"x-deserialize-default-on-error": {},
"description": "Optional size of the linked resource in bytes, if known."
},
"title": {
"type": [
"string",
"null"
],
"description": "Optional display title for end-user UI.",
"x-deserialize-default-on-error": {}
},
"uri": {
"type": "string",
"description": "URI associated with this resource or media payload."
},
"_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)",
"x-deserialize-default-on-error": {}
}
},
"required": [
"name",
"uri"
],
"description": "A resource that the server is capable of reading, included in a prompt or tool call result."
},
"EmbeddedResourceResource": {
"anyOf": [
{
"$ref": "#/$defs/TextResourceContents",
"description": "Text resource contents embedded directly in the message."
},
{
"$ref": "#/$defs/BlobResourceContents",
"description": "Binary resource contents embedded directly in the message."
}
],
"description": "Resource content that can be embedded in a message."
},
"TextResourceContents": {
"type": "object",
"properties": {
"mimeType": {
"type": [
"string",
"null"
],
"description": "MIME type describing the encoded media payload.",
"x-deserialize-default-on-error": {}
},
"text": {
"type": "string",
"description": "Text payload carried by this content block."
},
"uri": {
"type": "string",
"description": "URI associated with this resource or media payload."
},
"_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)",
"x-deserialize-default-on-error": {}
}
},
"required": [
"text",
"uri"
],
"description": "Text-based resource contents."
},
"BlobResourceContents": {
"type": "object",
"properties": {
"blob": {
"type": "string",
"description": "Base64-encoded bytes for a binary resource payload."
},
"mimeType": {
"type": [
"string",
"null"
],
"description": "MIME type describing the encoded media payload.",
"x-deserialize-default-on-error": {}
},
"uri": {
"type": "string",
"description": "URI associated with this resource or media payload."
},
"_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)",
"x-deserialize-default-on-error": {}
}
},
"required": [
"blob",
"uri"
],
"description": "Binary resource contents."
},
"EmbeddedResource": {
"type": "object",
"properties": {
"annotations": {
"anyOf": [
{
"$ref": "#/$defs/Annotations"
},
{
"type": "null"
}
],
"description": "Optional annotations that help clients decide how to display or route this content.",
"x-deserialize-default-on-error": {}
},
"resource": {
"$ref": "#/$defs/EmbeddedResourceResource",
"description": "Embedded resource payload, either text or binary data."
},
"_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)",
"x-deserialize-default-on-error": {}
}
},
"required": [
"resource"
],
"description": "The contents of a resource, embedded into a prompt or tool call result."
},
"SteerSessionResponse_unstable": {
"type": "object",
"properties": {
"runId": {
"type": "string"
},
"messageId": {
"type": "string",
"description": "Stable id of the queued steer message. The same id later appears as\n`messageId` on the streamed `UserMessageChunk` (with `_meta.goose.steer`),\nletting clients correlate a queued steer with its pickup."
}
},
"required": [
"runId",
"messageId"
],
"x-side": "agent",
"x-method": "_goose/unstable/session/steer"
},
"DiagnosticsGetRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"level": {
"$ref": "#/$defs/DiagnosticsReportLevel",
"default": "summary"
}
},
"required": [
"sessionId"
],
"x-side": "agent",
"x-method": "_goose/unstable/diagnostics/get"
},
"DiagnosticsReportLevel": {
"type": "string",
"enum": [
"summary",
"full"
]
},
"DiagnosticsGetResponse_unstable": {
"type": "object",
"properties": {
"report": {}
},
"required": [
"report"
],
"x-side": "agent",
"x-method": "_goose/unstable/diagnostics/get"
},
"ListPromptsRequest_unstable": {
"type": "object",
"description": "List all available Goose prompt templates.",
"x-side": "agent",
"x-method": "_goose/unstable/config/prompts/list"
},
"ListPromptsResponse_unstable": {
"type": "object",
"properties": {
"prompts": {
"type": "array",
"items": {
"$ref": "#/$defs/PromptTemplateEntry"
}
}
},
"required": [
"prompts"
],
"x-side": "agent",
"x-method": "_goose/unstable/config/prompts/list"
},
"PromptTemplateEntry": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"defaultContent": {
"type": "string"
},
"userContent": {
"type": [
"string",
"null"
]
},
"isCustomized": {
"type": "boolean"
}
},
"required": [
"name",
"description",
"defaultContent",
"isCustomized"
],
"description": "Information about a prompt template, including its default content and customization status."
},
"GetPromptRequest_unstable": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"description": "Read a Goose prompt template.",
"x-side": "agent",
"x-method": "_goose/unstable/config/prompts/get"
},
"GetPromptResponse_unstable": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"content": {
"type": "string"
},
"defaultContent": {
"type": "string"
},
"isCustomized": {
"type": "boolean"
}
},
"required": [
"name",
"content",
"defaultContent",
"isCustomized"
],
"x-side": "agent",
"x-method": "_goose/unstable/config/prompts/get"
},
"SavePromptRequest_unstable": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"content": {
"type": "string"
}
},
"required": [
"name",
"content"
],
"description": "Save a custom Goose prompt template.",
"x-side": "agent",
"x-method": "_goose/unstable/config/prompts/save"
},
"PromptOperationResponse_unstable": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
},
"required": [
"message"
],
"x-side": "agent"
},
"ResetPromptRequest_unstable": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"description": "Reset a Goose prompt template to its default content.",
"x-side": "agent",
"x-method": "_goose/unstable/config/prompts/reset"
},
"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"
]
},
"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": {
"$ref": "#/$defs/GooseExtension"
}
}
},
"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."
},
"available": {
"type": "boolean",
"description": "Whether the provider's external runtime or required configuration is available."
},
"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."
},
"acp": {
"type": "boolean",
"description": "Whether this provider communicates through ACP.",
"default": false
},
"visibleInSetup": {
"type": "boolean",
"description": "Whether this provider should appear in normal provider setup UIs."
},
"deprecated": {
"type": "boolean",
"description": "Whether this provider is retained only for compatibility."
},
"replacement": {
"type": [
"string",
"null"
],
"description": "Preferred replacement for a deprecated 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",
"available",
"providerType",
"category",
"visibleInSetup",
"deprecated",
"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"
},
"acp": {
"type": "boolean",
"description": "Whether this provider communicates through ACP.",
"default": false
},
"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"
},
"ProviderReadinessCheckRequest_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
}
},
"required": [
"providerId"
],
"description": "Check whether an ACP provider can initialize and create a session.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/readiness/check"
},
"ProviderReadinessCheckResponse_unstable": {
"type": "object",
"properties": {
"providerId": {
"type": "string"
},
"ready": {
"type": "boolean"
},
"error": {
"type": [
"string",
"null"
]
}
},
"required": [
"providerId",
"ready"
],
"x-side": "agent",
"x-method": "_goose/unstable/providers/readiness/check"
},
"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"
},
"ProviderSecretsListRequest_unstable": {
"type": "object",
"description": "List provider credentials stored locally by Goose.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/secrets/list"
},
"ProviderSecretsListResponse_unstable": {
"type": "object",
"properties": {
"secrets": {
"type": "array",
"items": {
"$ref": "#/$defs/ProviderSecretDto"
}
}
},
"required": [
"secrets"
],
"x-side": "agent",
"x-method": "_goose/unstable/providers/secrets/list"
},
"ProviderSecretDto": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"provider": {
"type": "string"
},
"providerDisplayName": {
"type": "string"
},
"name": {
"type": "string"
},
"storage": {
"$ref": "#/$defs/ProviderSecretStorageDto"
},
"expiresAt": {
"type": [
"string",
"null"
]
},
"status": {
"$ref": "#/$defs/ProviderSecretStatusDto"
},
"configured": {
"type": "boolean"
},
"hasSecret": {
"type": "boolean"
},
"canDelete": {
"type": "boolean"
},
"canConfigure": {
"type": "boolean"
},
"configureProvider": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"provider",
"providerDisplayName",
"name",
"storage",
"status",
"configured",
"hasSecret",
"canDelete",
"canConfigure"
]
},
"ProviderSecretStorageDto": {
"type": "string",
"enum": [
"secret_store",
"provider_cache"
]
},
"ProviderSecretStatusDto": {
"type": "string",
"enum": [
"valid",
"expired",
"unknown"
]
},
"ProviderSecretDeleteRequest_unstable": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"description": "Delete a locally stored provider credential by id.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/secrets/delete"
},
"CanonicalModelInfoRequest_unstable": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"model": {
"type": "string"
}
},
"required": [
"provider",
"model"
],
"description": "Look up canonical (bundled-registry) model info for a provider/model pair.",
"x-side": "agent",
"x-method": "_goose/unstable/providers/canonical-model-info"
},
"CanonicalModelInfoResponse_unstable": {
"type": "object",
"properties": {
"modelInfo": {
"anyOf": [
{
"$ref": "#/$defs/CanonicalModelInfoDto"
},
{
"type": "null"
}
]
}
},
"x-side": "agent",
"x-method": "_goose/unstable/providers/canonical-model-info"
},
"CanonicalModelInfoDto": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"model": {
"type": "string"
},
"contextLimit": {
"type": "integer",
"minimum": 0
},
"maxOutputTokens": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"reasoning": {
"type": "boolean"
},
"inputTokenCost": {
"type": [
"number",
"null"
],
"format": "double"
},
"outputTokenCost": {
"type": [
"number",
"null"
],
"format": "double"
},
"cacheReadTokenCost": {
"type": [
"number",
"null"
],
"format": "double"
},
"cacheWriteTokenCost": {
"type": [
"number",
"null"
],
"format": "double"
},
"currency": {
"type": "string"
}
},
"required": [
"provider",
"model",
"contextLimit",
"reasoning",
"currency"
]
},
"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",
"gooseThinkingEffort",
"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"
},
"ConfigReadRequest_unstable": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"isSecret": {
"type": "boolean",
"default": false
}
},
"required": [
"key"
],
"x-side": "agent",
"x-method": "_goose/unstable/config/read"
},
"ConfigReadResponse_unstable": {
"type": "object",
"properties": {
"value": {
"default": null
}
},
"x-side": "agent",
"x-method": "_goose/unstable/config/read"
},
"ConfigUpsertRequest_unstable": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {},
"isSecret": {
"type": "boolean",
"default": false
}
},
"required": [
"key",
"value"
],
"x-side": "agent",
"x-method": "_goose/unstable/config/upsert"
},
"ConfigRemoveRequest_unstable": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"isSecret": {
"type": "boolean",
"default": false
}
},
"required": [
"key"
],
"x-side": "agent",
"x-method": "_goose/unstable/config/remove"
},
"ConfigReadAllRequest_unstable": {
"type": "object",
"x-side": "agent",
"x-method": "_goose/unstable/config/read-all"
},
"ConfigReadAllResponse_unstable": {
"type": "object",
"properties": {
"config": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"config"
],
"x-side": "agent",
"x-method": "_goose/unstable/config/read-all"
},
"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"
},
"DefaultsClearRequest_unstable": {
"type": "object",
"description": "Clear Goose default provider and model configuration.",
"x-side": "agent",
"x-method": "_goose/unstable/defaults/clear"
},
"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"
},
"format": {
"$ref": "#/$defs/SessionExportFormat",
"default": "json"
}
},
"required": [
"sessionId"
],
"description": "Export a session as a JSON or markdown string.",
"x-side": "agent",
"x-method": "_goose/unstable/session/export"
},
"SessionExportFormat": {
"type": "string",
"enum": [
"json",
"markdown"
]
},
"ExportSessionResponse_unstable": {
"type": "object",
"properties": {
"data": {
"type": "string"
}
},
"required": [
"data"
],
"description": "Export session response — raw JSON of the goose session with `conversation`,\nor a markdown transcript when `format` is `markdown`.",
"x-side": "agent",
"x-method": "_goose/unstable/session/export"
},
"ImportSessionRequest_unstable": {
"type": "object",
"properties": {
"input": {
"type": "string"
},
"source": {
"$ref": "#/$defs/SessionImportSource"
}
},
"required": [
"input",
"source"
],
"description": "Import a session from a JSON string or share link.",
"x-side": "agent",
"x-method": "_goose/unstable/session/import"
},
"SessionImportSource": {
"type": "string",
"enum": [
"auto",
"json",
"nostr"
]
},
"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"
},
"ShareSessionNostrRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"relays": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"sessionId",
"relays"
],
"x-side": "agent",
"x-method": "_goose/unstable/session/share/nostr"
},
"ShareSessionNostrResponse_unstable": {
"type": "object",
"properties": {
"deeplink": {
"type": "string"
},
"nevent": {
"type": "string"
},
"eventId": {
"type": "string"
},
"relays": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"deeplink",
"nevent",
"eventId",
"relays"
],
"x-side": "agent",
"x-method": "_goose/unstable/session/share/nostr"
},
"EncodeRecipeRequest_unstable": {
"type": "object",
"properties": {
"recipe": {
"$ref": "#/$defs/RecipeDto"
}
},
"required": [
"recipe"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/encode"
},
"RecipeDto": {
"type": "object",
"properties": {
"version": {
"type": "string",
"default": "1.0.0"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"instructions": {
"type": [
"string",
"null"
]
},
"prompt": {
"type": [
"string",
"null"
]
},
"extensions": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/RecipeExtensionDto"
}
},
"settings": {
"anyOf": [
{
"$ref": "#/$defs/RecipeSettingsDto"
},
{
"type": "null"
}
]
},
"activities": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"author": {
"anyOf": [
{
"$ref": "#/$defs/RecipeAuthorDto"
},
{
"type": "null"
}
]
},
"parameters": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/RecipeParameterDto"
}
},
"response": {
"anyOf": [
{
"$ref": "#/$defs/RecipeResponseDto"
},
{
"type": "null"
}
]
},
"sub_recipes": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/SubRecipeDto"
}
},
"retry": {
"anyOf": [
{
"$ref": "#/$defs/RecipeRetryConfigDto"
},
{
"type": "null"
}
]
}
},
"required": [
"title",
"description"
]
},
"RecipeExtensionDto": {
"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"
]
},
"available_tools": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "Tool allowlist for this extension. Omit this field to allow all tools."
},
"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"
]
},
"available_tools": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "Tool allowlist for this extension. Omit this field to allow all tools."
},
"type": {
"type": "string",
"const": "platform"
}
},
"required": [
"type",
"name"
]
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"cmd": {
"type": "string"
},
"args": {
"type": "array",
"items": {
"type": "string"
}
},
"envs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"env_keys": {
"type": "array",
"items": {
"type": "string"
}
},
"timeout": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"cwd": {
"type": [
"string",
"null"
]
},
"bundled": {
"type": [
"boolean",
"null"
]
},
"available_tools": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "Tool allowlist for this extension. Omit this field to allow all tools."
},
"type": {
"type": "string",
"const": "stdio"
}
},
"required": [
"type",
"name",
"cmd"
]
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"uri": {
"type": "string"
},
"envs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"env_keys": {
"type": "array",
"items": {
"type": "string"
}
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"timeout": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"socket": {
"type": [
"string",
"null"
]
},
"client_id": {
"type": [
"string",
"null"
],
"description": "Pre-registered OAuth client ID for the server's authorization server."
},
"client_secret_key": {
"type": [
"string",
"null"
],
"description": "Name of the env/secret key holding the OAuth client secret."
},
"scopes": {
"type": "array",
"items": {
"type": "string"
},
"description": "OAuth scopes to request with `client_id`."
},
"bundled": {
"type": [
"boolean",
"null"
]
},
"available_tools": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "Tool allowlist for this extension. Omit this field to allow all tools."
},
"type": {
"type": "string",
"const": "streamable_http"
}
},
"required": [
"type",
"name",
"uri"
]
}
]
},
"RecipeSettingsDto": {
"type": "object",
"properties": {
"goose_provider": {
"type": [
"string",
"null"
]
},
"goose_model": {
"type": [
"string",
"null"
]
},
"temperature": {
"type": [
"number",
"null"
],
"format": "float"
},
"max_turns": {
"type": [
"integer",
"null"
],
"minimum": 0
}
}
},
"RecipeAuthorDto": {
"type": "object",
"properties": {
"contact": {
"type": [
"string",
"null"
]
},
"metadata": {
"type": [
"string",
"null"
]
}
}
},
"RecipeParameterDto": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"input_type": {
"$ref": "#/$defs/RecipeParameterInputTypeDto"
},
"requirement": {
"$ref": "#/$defs/RecipeParameterRequirementDto"
},
"description": {
"type": "string"
},
"default": {
"type": [
"string",
"null"
]
},
"options": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
}
},
"required": [
"key",
"input_type",
"requirement",
"description"
]
},
"RecipeParameterInputTypeDto": {
"type": "string",
"enum": [
"string",
"number",
"boolean",
"date",
"file",
"select"
]
},
"RecipeParameterRequirementDto": {
"type": "string",
"enum": [
"required",
"optional",
"user_prompt"
]
},
"RecipeResponseDto": {
"type": "object",
"properties": {
"json_schema": {}
}
},
"SubRecipeDto": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"values": {
"type": [
"object",
"null"
],
"additionalProperties": {
"type": "string"
}
},
"sequential_when_repeated": {
"type": "boolean",
"default": false
},
"description": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"path"
]
},
"RecipeRetryConfigDto": {
"type": "object",
"properties": {
"max_retries": {
"type": "integer",
"minimum": 0
},
"checks": {
"type": "array",
"items": {
"$ref": "#/$defs/RecipeSuccessCheckDto"
},
"default": []
},
"on_failure": {
"type": [
"string",
"null"
]
},
"timeout_seconds": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"on_failure_timeout_seconds": {
"type": [
"integer",
"null"
],
"minimum": 0
}
},
"required": [
"max_retries"
]
},
"RecipeSuccessCheckDto": {
"oneOf": [
{
"type": "object",
"properties": {
"command": {
"type": "string"
},
"type": {
"type": "string",
"const": "shell"
}
},
"required": [
"type",
"command"
]
}
]
},
"EncodeRecipeResponse_unstable": {
"type": "object",
"properties": {
"deeplink": {
"type": "string"
}
},
"required": [
"deeplink"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/encode"
},
"DecodeRecipeRequest_unstable": {
"type": "object",
"properties": {
"deeplink": {
"type": "string"
}
},
"required": [
"deeplink"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/decode"
},
"DecodeRecipeResponse_unstable": {
"type": "object",
"properties": {
"recipe": {
"$ref": "#/$defs/RecipeDto"
}
},
"required": [
"recipe"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/decode"
},
"ScanRecipeRequest_unstable": {
"type": "object",
"properties": {
"recipe": {
"$ref": "#/$defs/RecipeDto"
}
},
"required": [
"recipe"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/scan"
},
"ScanRecipeResponse_unstable": {
"type": "object",
"properties": {
"has_security_warnings": {
"type": "boolean"
}
},
"required": [
"has_security_warnings"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/scan"
},
"ListRecipesRequest_unstable": {
"type": "object",
"x-side": "agent",
"x-method": "_goose/unstable/recipes/list"
},
"ListRecipesResponse_unstable": {
"type": "object",
"properties": {
"recipes": {
"type": "array",
"items": {
"$ref": "#/$defs/RecipeListEntryDto"
}
}
},
"required": [
"recipes"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/list"
},
"RecipeListEntryDto": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"recipe": {
"$ref": "#/$defs/RecipeDto"
},
"file_path": {
"type": "string"
},
"last_modified": {
"type": "string"
},
"schedule_cron": {
"type": [
"string",
"null"
]
},
"slash_command": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"recipe",
"file_path",
"last_modified"
]
},
"DeleteRecipeRequest_unstable": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/delete"
},
"ScheduleRecipeRequest_unstable": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"cron_schedule": {
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/schedule"
},
"SetRecipeSlashCommandRequest_unstable": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"slash_command": {
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/slash-command"
},
"SaveRecipeRequest_unstable": {
"type": "object",
"properties": {
"recipe": {
"$ref": "#/$defs/RecipeDto"
},
"id": {
"type": [
"string",
"null"
]
}
},
"required": [
"recipe"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/save"
},
"SaveRecipeResponse_unstable": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"file_path": {
"type": "string"
}
},
"required": [
"id",
"file_name",
"file_path"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/save"
},
"ParseRecipeRequest_unstable": {
"type": "object",
"properties": {
"content": {
"type": "string"
}
},
"required": [
"content"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/parse"
},
"ParseRecipeResponse_unstable": {
"type": "object",
"properties": {
"recipe": {
"$ref": "#/$defs/RecipeDto"
}
},
"required": [
"recipe"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/parse"
},
"RecipeToYamlRequest_unstable": {
"type": "object",
"properties": {
"recipe": {
"$ref": "#/$defs/RecipeDto"
}
},
"required": [
"recipe"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/to-yaml"
},
"RecipeToYamlResponse_unstable": {
"type": "object",
"properties": {
"yaml": {
"type": "string"
}
},
"required": [
"yaml"
],
"x-side": "agent",
"x-method": "_goose/unstable/recipes/to-yaml"
},
"ListSchedulesRequest_unstable": {
"type": "object",
"x-side": "agent",
"x-method": "_goose/unstable/schedules/list"
},
"ListSchedulesResponse_unstable": {
"type": "object",
"properties": {
"jobs": {
"type": "array",
"items": {
"$ref": "#/$defs/ScheduledJobDto"
}
}
},
"required": [
"jobs"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/list"
},
"ScheduledJobDto": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"source": {
"type": "string"
},
"cron": {
"type": "string"
},
"lastRun": {
"type": [
"string",
"null"
]
},
"currentlyRunning": {
"type": "boolean"
},
"paused": {
"type": "boolean"
},
"currentSessionId": {
"type": [
"string",
"null"
]
},
"jobStartTime": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"source",
"cron",
"currentlyRunning",
"paused"
]
},
"ListScheduleSessionsRequest_unstable": {
"type": "object",
"properties": {
"scheduleId": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 0
}
},
"required": [
"scheduleId",
"limit"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/sessions/list"
},
"ListScheduleSessionsResponse_unstable": {
"type": "object",
"properties": {
"sessions": {
"type": "array",
"items": {
"$ref": "#/$defs/SessionInfo"
}
}
},
"required": [
"sessions"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/sessions/list"
},
"SessionInfo": {
"type": "object",
"properties": {
"sessionId": {
"$ref": "#/$defs/SessionId",
"description": "Unique identifier for the session"
},
"cwd": {
"type": "string",
"description": "The working directory for this session. Must be an absolute path."
},
"additionalDirectories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Additional workspace roots reported for this session. Each path must be absolute.\n\nWhen present, this is the complete ordered additional-root list reported\nby the Agent. Omitted and empty values are equivalent: the response\nreports no additional roots.",
"x-deserialize-default-on-error": {},
"x-deserialize-skip-invalid-items": {}
},
"title": {
"type": [
"string",
"null"
],
"description": "Human-readable title for the session",
"x-deserialize-default-on-error": {}
},
"updatedAt": {
"type": [
"string",
"null"
],
"description": "ISO 8601 timestamp of last activity",
"x-deserialize-default-on-error": {}
},
"_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)",
"x-deserialize-default-on-error": {}
}
},
"required": [
"sessionId",
"cwd"
],
"description": "Information about a session returned by session/list"
},
"SessionId": {
"type": "string",
"description": "A unique identifier for a conversation session between a client and agent.\n\nSessions maintain their own context, conversation history, and state,\nallowing multiple independent interactions with the same agent.\n\nSee protocol docs: [Session ID](https://agentclientprotocol.com/protocol/session-setup#session-id)"
},
"CreateScheduleRequest_unstable": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"recipe": {
"$ref": "#/$defs/RecipeDto"
},
"cron": {
"type": "string"
}
},
"required": [
"id",
"recipe",
"cron"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/create"
},
"CreateScheduleResponse_unstable": {
"type": "object",
"properties": {
"job": {
"$ref": "#/$defs/ScheduledJobDto"
}
},
"required": [
"job"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/create"
},
"DeleteScheduleRequest_unstable": {
"type": "object",
"properties": {
"scheduleId": {
"type": "string"
}
},
"required": [
"scheduleId"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/delete"
},
"PauseScheduleRequest_unstable": {
"type": "object",
"properties": {
"scheduleId": {
"type": "string"
}
},
"required": [
"scheduleId"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/pause"
},
"UnpauseScheduleRequest_unstable": {
"type": "object",
"properties": {
"scheduleId": {
"type": "string"
}
},
"required": [
"scheduleId"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/unpause"
},
"UpdateScheduleRequest_unstable": {
"type": "object",
"properties": {
"scheduleId": {
"type": "string"
},
"cron": {
"type": "string"
}
},
"required": [
"scheduleId",
"cron"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/update"
},
"UpdateScheduleResponse_unstable": {
"type": "object",
"properties": {
"job": {
"$ref": "#/$defs/ScheduledJobDto"
}
},
"required": [
"job"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/update"
},
"RunScheduleNowRequest_unstable": {
"type": "object",
"properties": {
"scheduleId": {
"type": "string"
}
},
"required": [
"scheduleId"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/run-now"
},
"RunScheduleNowResponse_unstable": {
"type": "object",
"properties": {
"status": {
"$ref": "#/$defs/RunScheduleNowStatus"
},
"sessionId": {
"type": [
"string",
"null"
]
}
},
"required": [
"status"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/run-now"
},
"RunScheduleNowStatus": {
"type": "string",
"enum": [
"completed",
"cancelled"
]
},
"KillRunningJobRequest_unstable": {
"type": "object",
"properties": {
"jobId": {
"type": "string"
}
},
"required": [
"jobId"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/running-job/kill"
},
"KillRunningJobResponse_unstable": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
},
"required": [
"message"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/running-job/kill"
},
"InspectRunningJobRequest_unstable": {
"type": "object",
"properties": {
"jobId": {
"type": "string"
}
},
"required": [
"jobId"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/running-job/inspect"
},
"InspectRunningJobResponse_unstable": {
"type": "object",
"properties": {
"running": {
"type": "boolean"
},
"sessionId": {
"type": [
"string",
"null"
]
},
"jobStartTime": {
"type": [
"string",
"null"
]
},
"runningDurationSeconds": {
"type": [
"integer",
"null"
]
}
},
"required": [
"running"
],
"x-side": "agent",
"x-method": "_goose/unstable/schedules/running-job/inspect"
},
"GetSessionInfoRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
}
},
"required": [
"sessionId"
],
"description": "Return list-style metadata for a single session without loading the conversation.",
"x-side": "agent",
"x-method": "_goose/unstable/session/info"
},
"GetSessionInfoResponse_unstable": {
"type": "object",
"properties": {
"session": {
"$ref": "#/$defs/SessionInfo"
}
},
"required": [
"session"
],
"x-side": "agent",
"x-method": "_goose/unstable/session/info"
},
"TruncateSessionConversationRequest_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"truncateFrom": {
"type": "integer"
}
},
"required": [
"sessionId",
"truncateFrom"
],
"description": "Truncate a session conversation from the given message timestamp onward.",
"x-side": "agent",
"x-method": "_goose/unstable/session/conversation/truncate"
},
"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"
},
"ListAgentMentionsRequest_unstable": {
"type": "object",
"properties": {
"cwd": {
"type": [
"string",
"null"
]
},
"sessionId": {
"type": [
"string",
"null"
]
}
},
"description": "List user-facing agent mention targets for `@` autocomplete.",
"x-side": "agent",
"x-method": "_goose/unstable/agent-mentions/list"
},
"ListAgentMentionsResponse_unstable": {
"type": "object",
"properties": {
"agents": {
"type": "array",
"items": {
"$ref": "#/$defs/AgentMention"
}
}
},
"required": [
"agents"
],
"x-side": "agent",
"x-method": "_goose/unstable/agent-mentions/list"
},
"AgentMention": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"sourceType": {
"$ref": "#/$defs/SourceType"
},
"sourcePath": {
"type": [
"string",
"null"
]
},
"mention": {
"type": "string"
}
},
"required": [
"name",
"description",
"sourceType",
"mention"
],
"description": "A user-facing `@` mention target backed by an agent, recipe, or subrecipe source."
},
"ListSlashCommandsRequest_unstable": {
"type": "object",
"properties": {
"cwd": {
"type": [
"string",
"null"
]
},
"sessionId": {
"type": [
"string",
"null"
]
}
},
"description": "List slash commands available for `/` autocomplete.",
"x-side": "agent",
"x-method": "_goose/unstable/slash-commands/list"
},
"ListSlashCommandsResponse_unstable": {
"type": "object",
"properties": {
"availableCommands": {
"type": "array",
"items": {
"$ref": "#/$defs/AvailableCommand"
}
}
},
"required": [
"availableCommands"
],
"x-side": "agent",
"x-method": "_goose/unstable/slash-commands/list"
},
"AvailableCommand": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Command name (e.g., `create_plan`, `research_codebase`)."
},
"description": {
"type": "string",
"description": "Human-readable description of what the command does."
},
"input": {
"anyOf": [
{
"$ref": "#/$defs/AvailableCommandInput"
},
{
"type": "null"
}
],
"description": "Input for the command if required",
"x-deserialize-default-on-error": {}
},
"_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)",
"x-deserialize-default-on-error": {}
}
},
"required": [
"name",
"description"
],
"description": "Information about a command."
},
"AvailableCommandInput": {
"anyOf": [
{
"$ref": "#/$defs/UnstructuredCommandInput",
"description": "All text that was typed after the command name is provided as input."
}
],
"description": "The input specification for a command."
},
"UnstructuredCommandInput": {
"type": "object",
"properties": {
"hint": {
"type": "string",
"description": "A hint to display when the input hasn't been provided yet"
},
"_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)",
"x-deserialize-default-on-error": {}
}
},
"required": [
"hint"
],
"description": "All text that was typed after the command name is provided as input."
},
"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"
},
"recommended": {
"type": "boolean"
}
},
"required": [
"id",
"label",
"description",
"sizeMb",
"downloaded",
"downloadInProgress",
"recommended"
]
},
"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"
},
"LocalInferenceModelsListRequest_unstable": {
"type": "object",
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/models/list"
},
"LocalInferenceModelsListResponse_unstable": {
"type": "object",
"properties": {
"models": {
"type": "array",
"items": {
"$ref": "#/$defs/LocalInferenceModelDto"
}
}
},
"required": [
"models"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/models/list"
},
"LocalInferenceModelDto": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"repoId": {
"type": "string"
},
"filename": {
"type": "string"
},
"quantization": {
"type": "string"
},
"sizeBytes": {
"type": "integer",
"minimum": 0
},
"status": {
"$ref": "#/$defs/LocalInferenceModelDownloadStatusDto"
},
"recommended": {
"type": "boolean"
},
"isLoaded": {
"type": "boolean"
},
"settings": {
"$ref": "#/$defs/LocalInferenceModelSettingsDto"
},
"visionCapable": {
"type": "boolean"
},
"mmprojStatus": {
"anyOf": [
{
"$ref": "#/$defs/LocalInferenceModelDownloadStatusDto"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"repoId",
"filename",
"quantization",
"sizeBytes",
"status",
"recommended",
"isLoaded",
"settings",
"visionCapable"
]
},
"LocalInferenceModelDownloadStatusDto": {
"type": "object",
"properties": {
"state": {
"$ref": "#/$defs/LocalInferenceDownloadState"
},
"progressPercent": {
"type": [
"number",
"null"
],
"format": "float"
},
"bytesDownloaded": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"totalBytes": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"speedBps": {
"type": [
"integer",
"null"
],
"minimum": 0
}
},
"required": [
"state"
]
},
"LocalInferenceDownloadState": {
"type": "string",
"enum": [
"NotDownloaded",
"Downloading",
"Downloaded"
]
},
"LocalInferenceModelSettingsDto": {
"type": "object",
"properties": {
"backendId": {
"type": [
"string",
"null"
]
},
"contextSize": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"maxOutputTokens": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"draftModel": {
"type": [
"string",
"null"
]
},
"sampling": {
"$ref": "#/$defs/LocalInferenceSamplingConfig",
"default": {
"type": "Temperature",
"temperature": 0.800000011920929,
"topK": 40,
"topP": 0.949999988079071,
"minP": 0.05000000074505806
}
},
"repeatPenalty": {
"type": "number",
"format": "float"
},
"repeatLastN": {
"type": "integer"
},
"frequencyPenalty": {
"type": "number",
"format": "float"
},
"presencePenalty": {
"type": "number",
"format": "float"
},
"nBatch": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"nGpuLayers": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"useMlock": {
"type": "boolean"
},
"flashAttention": {
"type": [
"boolean",
"null"
]
},
"nThreads": {
"type": [
"integer",
"null"
]
},
"toolCalling": {
"$ref": "#/$defs/LocalInferenceToolCallingMode",
"default": "auto"
},
"chatTemplate": {
"$ref": "#/$defs/LocalInferenceChatTemplate",
"default": {
"type": "embedded"
}
},
"enableThinking": {
"type": "boolean"
},
"visionCapable": {
"type": "boolean"
},
"imageTokenEstimate": {
"type": "integer",
"minimum": 0
},
"mmprojSizeBytes": {
"type": "integer",
"minimum": 0
}
},
"required": [
"repeatPenalty",
"repeatLastN",
"frequencyPenalty",
"presencePenalty",
"useMlock",
"enableThinking",
"visionCapable",
"imageTokenEstimate",
"mmprojSizeBytes"
]
},
"LocalInferenceSamplingConfig": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "Greedy"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"temperature": {
"type": "number",
"format": "float"
},
"topK": {
"type": "integer"
},
"topP": {
"type": "number",
"format": "float"
},
"minP": {
"type": "number",
"format": "float"
},
"seed": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"type": {
"type": "string",
"const": "Temperature"
}
},
"required": [
"type",
"temperature",
"topK",
"topP",
"minP"
]
},
{
"type": "object",
"properties": {
"tau": {
"type": "number",
"format": "float"
},
"eta": {
"type": "number",
"format": "float"
},
"seed": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"type": {
"type": "string",
"const": "MirostatV2"
}
},
"required": [
"type",
"tau",
"eta"
]
}
]
},
"LocalInferenceToolCallingMode": {
"type": "string",
"enum": [
"auto",
"force_native",
"force_emulated"
]
},
"LocalInferenceChatTemplate": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "embedded"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string",
"const": "builtin"
}
},
"required": [
"type",
"name"
]
},
{
"type": "object",
"properties": {
"template": {
"type": "string"
},
"type": {
"type": "string",
"const": "custom_inline"
}
},
"required": [
"type",
"template"
]
}
]
},
"LocalInferenceModelDownloadRequest_unstable": {
"type": "object",
"properties": {
"spec": {
"type": "string"
},
"backendId": {
"type": [
"string",
"null"
]
},
"variantId": {
"type": [
"string",
"null"
]
}
},
"required": [
"spec"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/models/download"
},
"LocalInferenceModelDownloadResponse_unstable": {
"type": "object",
"properties": {
"modelId": {
"type": "string"
}
},
"required": [
"modelId"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/models/download"
},
"LocalInferenceModelDownloadProgressRequest_unstable": {
"type": "object",
"properties": {
"modelId": {
"type": "string"
}
},
"required": [
"modelId"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/models/download/progress"
},
"LocalInferenceModelDownloadProgressResponse_unstable": {
"type": "object",
"properties": {
"progress": {
"anyOf": [
{
"$ref": "#/$defs/LocalInferenceDownloadProgressDto"
},
{
"type": "null"
}
]
}
},
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/models/download/progress"
},
"LocalInferenceDownloadProgressDto": {
"type": "object",
"properties": {
"modelId": {
"type": "string"
},
"status": {
"type": "string"
},
"bytesDownloaded": {
"type": "integer",
"minimum": 0
},
"totalBytes": {
"type": "integer",
"minimum": 0
},
"progressPercent": {
"type": "number",
"format": "float"
},
"speedBps": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"etaSeconds": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"error": {
"type": [
"string",
"null"
]
},
"taskExited": {
"type": "boolean"
}
},
"required": [
"modelId",
"status",
"bytesDownloaded",
"totalBytes",
"progressPercent",
"taskExited"
]
},
"LocalInferenceModelDownloadCancelRequest_unstable": {
"type": "object",
"properties": {
"modelId": {
"type": "string"
}
},
"required": [
"modelId"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/models/download/cancel"
},
"LocalInferenceModelDeleteRequest_unstable": {
"type": "object",
"properties": {
"modelId": {
"type": "string"
}
},
"required": [
"modelId"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/models/delete"
},
"LocalInferenceModelEvictRequest_unstable": {
"type": "object",
"properties": {
"modelId": {
"type": "string"
}
},
"required": [
"modelId"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/models/evict"
},
"LocalInferenceModelSettingsReadRequest_unstable": {
"type": "object",
"properties": {
"modelId": {
"type": "string"
}
},
"required": [
"modelId"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/models/settings/read"
},
"LocalInferenceModelSettingsReadResponse_unstable": {
"type": "object",
"properties": {
"settings": {
"$ref": "#/$defs/LocalInferenceModelSettingsDto"
}
},
"required": [
"settings"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/models/settings/read"
},
"LocalInferenceModelSettingsUpdateRequest_unstable": {
"type": "object",
"properties": {
"modelId": {
"type": "string"
},
"settings": {
"$ref": "#/$defs/LocalInferenceModelSettingsDto"
}
},
"required": [
"modelId",
"settings"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/models/settings/update"
},
"LocalInferenceModelSettingsUpdateResponse_unstable": {
"type": "object",
"properties": {
"settings": {
"$ref": "#/$defs/LocalInferenceModelSettingsDto"
}
},
"required": [
"settings"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/models/settings/update"
},
"LocalInferenceHuggingFaceSearchRequest_unstable": {
"type": "object",
"properties": {
"query": {
"type": "string"
},
"limit": {
"type": [
"integer",
"null"
],
"minimum": 0
}
},
"required": [
"query"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/huggingface/search"
},
"LocalInferenceHuggingFaceSearchResponse_unstable": {
"type": "object",
"properties": {
"models": {
"type": "array",
"items": {
"$ref": "#/$defs/LocalInferenceHfModelInfoDto"
}
}
},
"required": [
"models"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/huggingface/search"
},
"LocalInferenceHfModelInfoDto": {
"type": "object",
"properties": {
"repoId": {
"type": "string"
},
"author": {
"type": "string"
},
"modelName": {
"type": "string"
},
"downloads": {
"type": "integer",
"minimum": 0
},
"ggufFiles": {
"type": "array",
"items": {
"$ref": "#/$defs/LocalInferenceHfGgufFileDto"
},
"default": []
},
"variants": {
"type": "array",
"items": {
"$ref": "#/$defs/LocalInferenceHfModelVariantDto"
},
"default": []
}
},
"required": [
"repoId",
"author",
"modelName",
"downloads"
]
},
"LocalInferenceHfGgufFileDto": {
"type": "object",
"properties": {
"filename": {
"type": "string"
},
"sizeBytes": {
"type": "integer",
"minimum": 0
},
"quantization": {
"type": "string"
},
"downloadUrl": {
"type": "string"
}
},
"required": [
"filename",
"sizeBytes",
"quantization",
"downloadUrl"
]
},
"LocalInferenceHfModelVariantDto": {
"type": "object",
"properties": {
"variantId": {
"type": "string"
},
"label": {
"type": "string"
},
"backendId": {
"type": "string"
},
"format": {
"type": "string"
},
"modelId": {
"type": "string"
},
"downloadId": {
"type": "string"
},
"sizeBytes": {
"type": "integer",
"minimum": 0
},
"filename": {
"type": [
"string",
"null"
]
},
"downloadUrl": {
"type": [
"string",
"null"
]
},
"description": {
"type": "string"
},
"qualityRank": {
"type": "integer",
"maximum": 255,
"minimum": 0
},
"sharded": {
"type": "boolean"
},
"supported": {
"type": "boolean"
},
"unsupportedReason": {
"type": [
"string",
"null"
]
}
},
"required": [
"variantId",
"label",
"backendId",
"format",
"modelId",
"downloadId",
"sizeBytes",
"description",
"qualityRank",
"sharded",
"supported"
]
},
"LocalInferenceHuggingFaceRepoVariantsRequest_unstable": {
"type": "object",
"properties": {
"repoId": {
"type": "string"
}
},
"required": [
"repoId"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/huggingface/repo/variants"
},
"LocalInferenceHuggingFaceRepoVariantsResponse_unstable": {
"type": "object",
"properties": {
"variants": {
"type": "array",
"items": {
"$ref": "#/$defs/LocalInferenceHfModelVariantDto"
}
},
"recommendedIndex": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"availableMemoryBytes": {
"type": "integer",
"minimum": 0
},
"downloadedQuants": {
"type": "array",
"items": {
"type": "string"
}
},
"downloadedVariants": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"variants",
"availableMemoryBytes",
"downloadedQuants",
"downloadedVariants"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/huggingface/repo/variants"
},
"LocalInferenceBuiltinChatTemplatesListRequest_unstable": {
"type": "object",
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/chat-templates/builtin/list"
},
"LocalInferenceBuiltinChatTemplatesListResponse_unstable": {
"type": "object",
"properties": {
"templates": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"templates"
],
"x-side": "agent",
"x-method": "_goose/unstable/local-inference/chat-templates/builtin/list"
},
"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/MessageUsageUpdate",
"type": "object",
"properties": {
"sessionUpdate": {
"type": "string",
"const": "message_usage"
}
},
"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",
"message_usage": "#/$defs/MessageUsageUpdate"
}
}
},
"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."
},
"MessageUsageData": {
"type": "object",
"properties": {
"inputTokens": {
"type": [
"integer",
"null"
]
},
"outputTokens": {
"type": [
"integer",
"null"
]
},
"totalTokens": {
"type": [
"integer",
"null"
]
},
"cacheReadTokens": {
"type": [
"integer",
"null"
]
},
"cacheWriteTokens": {
"type": [
"integer",
"null"
]
},
"cost": {
"type": [
"number",
"null"
],
"format": "double"
},
"costSource": {
"anyOf": [
{
"$ref": "#/$defs/CostSourceData"
},
{
"type": "null"
}
]
},
"elapsedMs": {
"type": [
"integer",
"null"
],
"description": "Wall-clock generation time, used by the client for a tokens/sec readout.",
"minimum": 0
},
"timeToFirstTokenMs": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"isCompaction": {
"type": "boolean",
"description": "Usage from a compaction/summarization call rather than a normal turn.",
"default": false
}
},
"description": "Wire mirror of the conversation `MessageUsage` (this crate cannot depend on\ngoose-provider-types); field names and serde casing MUST stay in parity."
},
"CostSourceData": {
"oneOf": [
{
"type": "string",
"const": "provider_reported",
"description": "Cost returned directly by the provider (e.g. OpenRouter `usage.cost`)."
},
{
"type": "string",
"const": "estimated",
"description": "Cost computed from the canonical pricing table."
}
],
"description": "Wire mirror of the conversation `CostSource`."
},
"MessageUsageUpdate": {
"type": "object",
"properties": {
"messageId": {
"type": [
"string",
"null"
]
},
"usage": {
"$ref": "#/$defs/MessageUsageData"
}
},
"required": [
"usage"
],
"description": "Per-message token usage/cost/timing, keyed by the message id used for\nchunk matching. Sent live after a turn's messages and on replay."
},
"RequestRecipeParams_unstable": {
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"parameters": {
"type": "array",
"items": {
"$ref": "#/$defs/RecipeParameterDto"
}
},
"parameterScopeId": {
"type": [
"string",
"null"
]
}
},
"required": [
"sessionId",
"parameters"
],
"x-side": "client",
"x-method": "_goose/unstable/session/recipe/request-params"
},
"RecipeParamsResponse_unstable": {
"type": "object",
"properties": {
"action": {
"$ref": "#/$defs/RecipeParamsAction",
"default": "submit"
},
"values": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"default": {}
}
},
"x-side": "client",
"x-method": "_goose/unstable/session/recipe/request-params"
},
"RecipeParamsAction": {
"type": "string",
"enum": [
"submit",
"cancel"
]
},
"ExtRequest": {
"properties": {
"id": {
"type": "string"
},
"method": {
"type": "string"
},
"params": {
"anyOf": [
{
"anyOf": [
{
"allOf": [
{
"$ref": "#/$defs/AddSessionExtensionRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/extensions/add",
"title": "AddSessionExtensionRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/RemoveSessionExtensionRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/extensions/remove",
"title": "RemoveSessionExtensionRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GetToolsRequest_unstable"
}
],
"description": "Params for _goose/unstable/tools/list",
"title": "GetToolsRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/SetToolPermissionsRequest_unstable"
}
],
"description": "Params for _goose/unstable/tools/permissions/set",
"title": "SetToolPermissionsRequest_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/AppsListRequest_unstable"
}
],
"description": "Params for _goose/unstable/apps/list",
"title": "AppsListRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/AppsExportRequest_unstable"
}
],
"description": "Params for _goose/unstable/apps/export",
"title": "AppsExportRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/AppsImportRequest_unstable"
}
],
"description": "Params for _goose/unstable/apps/import",
"title": "AppsImportRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/AppsDeleteRequest_unstable"
}
],
"description": "Params for _goose/unstable/apps/delete",
"title": "AppsDeleteRequest_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/SteerSessionRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/steer",
"title": "SteerSessionRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DiagnosticsGetRequest_unstable"
}
],
"description": "Params for _goose/unstable/diagnostics/get",
"title": "DiagnosticsGetRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListPromptsRequest_unstable"
}
],
"description": "Params for _goose/unstable/config/prompts/list",
"title": "ListPromptsRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GetPromptRequest_unstable"
}
],
"description": "Params for _goose/unstable/config/prompts/get",
"title": "GetPromptRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/SavePromptRequest_unstable"
}
],
"description": "Params for _goose/unstable/config/prompts/save",
"title": "SavePromptRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ResetPromptRequest_unstable"
}
],
"description": "Params for _goose/unstable/config/prompts/reset",
"title": "ResetPromptRequest_unstable"
},
{
"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/ProviderReadinessCheckRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/readiness/check",
"title": "ProviderReadinessCheckRequest_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/ProviderSecretsListRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/secrets/list",
"title": "ProviderSecretsListRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ProviderSecretDeleteRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/secrets/delete",
"title": "ProviderSecretDeleteRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CanonicalModelInfoRequest_unstable"
}
],
"description": "Params for _goose/unstable/providers/canonical-model-info",
"title": "CanonicalModelInfoRequest_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/ConfigReadRequest_unstable"
}
],
"description": "Params for _goose/unstable/config/read",
"title": "ConfigReadRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ConfigUpsertRequest_unstable"
}
],
"description": "Params for _goose/unstable/config/upsert",
"title": "ConfigUpsertRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ConfigRemoveRequest_unstable"
}
],
"description": "Params for _goose/unstable/config/remove",
"title": "ConfigRemoveRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ConfigReadAllRequest_unstable"
}
],
"description": "Params for _goose/unstable/config/read-all",
"title": "ConfigReadAllRequest_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/DefaultsClearRequest_unstable"
}
],
"description": "Params for _goose/unstable/defaults/clear",
"title": "DefaultsClearRequest_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/ShareSessionNostrRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/share/nostr",
"title": "ShareSessionNostrRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/EncodeRecipeRequest_unstable"
}
],
"description": "Params for _goose/unstable/recipes/encode",
"title": "EncodeRecipeRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DecodeRecipeRequest_unstable"
}
],
"description": "Params for _goose/unstable/recipes/decode",
"title": "DecodeRecipeRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ScanRecipeRequest_unstable"
}
],
"description": "Params for _goose/unstable/recipes/scan",
"title": "ScanRecipeRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListRecipesRequest_unstable"
}
],
"description": "Params for _goose/unstable/recipes/list",
"title": "ListRecipesRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DeleteRecipeRequest_unstable"
}
],
"description": "Params for _goose/unstable/recipes/delete",
"title": "DeleteRecipeRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ScheduleRecipeRequest_unstable"
}
],
"description": "Params for _goose/unstable/recipes/schedule",
"title": "ScheduleRecipeRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/SetRecipeSlashCommandRequest_unstable"
}
],
"description": "Params for _goose/unstable/recipes/slash-command",
"title": "SetRecipeSlashCommandRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/SaveRecipeRequest_unstable"
}
],
"description": "Params for _goose/unstable/recipes/save",
"title": "SaveRecipeRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ParseRecipeRequest_unstable"
}
],
"description": "Params for _goose/unstable/recipes/parse",
"title": "ParseRecipeRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/RecipeToYamlRequest_unstable"
}
],
"description": "Params for _goose/unstable/recipes/to-yaml",
"title": "RecipeToYamlRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListSchedulesRequest_unstable"
}
],
"description": "Params for _goose/unstable/schedules/list",
"title": "ListSchedulesRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListScheduleSessionsRequest_unstable"
}
],
"description": "Params for _goose/unstable/schedules/sessions/list",
"title": "ListScheduleSessionsRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CreateScheduleRequest_unstable"
}
],
"description": "Params for _goose/unstable/schedules/create",
"title": "CreateScheduleRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DeleteScheduleRequest_unstable"
}
],
"description": "Params for _goose/unstable/schedules/delete",
"title": "DeleteScheduleRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/PauseScheduleRequest_unstable"
}
],
"description": "Params for _goose/unstable/schedules/pause",
"title": "PauseScheduleRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/UnpauseScheduleRequest_unstable"
}
],
"description": "Params for _goose/unstable/schedules/unpause",
"title": "UnpauseScheduleRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/UpdateScheduleRequest_unstable"
}
],
"description": "Params for _goose/unstable/schedules/update",
"title": "UpdateScheduleRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/RunScheduleNowRequest_unstable"
}
],
"description": "Params for _goose/unstable/schedules/run-now",
"title": "RunScheduleNowRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/KillRunningJobRequest_unstable"
}
],
"description": "Params for _goose/unstable/schedules/running-job/kill",
"title": "KillRunningJobRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/InspectRunningJobRequest_unstable"
}
],
"description": "Params for _goose/unstable/schedules/running-job/inspect",
"title": "InspectRunningJobRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GetSessionInfoRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/info",
"title": "GetSessionInfoRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/TruncateSessionConversationRequest_unstable"
}
],
"description": "Params for _goose/unstable/session/conversation/truncate",
"title": "TruncateSessionConversationRequest_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/ListAgentMentionsRequest_unstable"
}
],
"description": "Params for _goose/unstable/agent-mentions/list",
"title": "ListAgentMentionsRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListSlashCommandsRequest_unstable"
}
],
"description": "Params for _goose/unstable/slash-commands/list",
"title": "ListSlashCommandsRequest_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"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceModelsListRequest_unstable"
}
],
"description": "Params for _goose/unstable/local-inference/models/list",
"title": "LocalInferenceModelsListRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceModelDownloadRequest_unstable"
}
],
"description": "Params for _goose/unstable/local-inference/models/download",
"title": "LocalInferenceModelDownloadRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceModelDownloadProgressRequest_unstable"
}
],
"description": "Params for _goose/unstable/local-inference/models/download/progress",
"title": "LocalInferenceModelDownloadProgressRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceModelDownloadCancelRequest_unstable"
}
],
"description": "Params for _goose/unstable/local-inference/models/download/cancel",
"title": "LocalInferenceModelDownloadCancelRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceModelDeleteRequest_unstable"
}
],
"description": "Params for _goose/unstable/local-inference/models/delete",
"title": "LocalInferenceModelDeleteRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceModelEvictRequest_unstable"
}
],
"description": "Params for _goose/unstable/local-inference/models/evict",
"title": "LocalInferenceModelEvictRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceModelSettingsReadRequest_unstable"
}
],
"description": "Params for _goose/unstable/local-inference/models/settings/read",
"title": "LocalInferenceModelSettingsReadRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceModelSettingsUpdateRequest_unstable"
}
],
"description": "Params for _goose/unstable/local-inference/models/settings/update",
"title": "LocalInferenceModelSettingsUpdateRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceHuggingFaceSearchRequest_unstable"
}
],
"description": "Params for _goose/unstable/local-inference/huggingface/search",
"title": "LocalInferenceHuggingFaceSearchRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceHuggingFaceRepoVariantsRequest_unstable"
}
],
"description": "Params for _goose/unstable/local-inference/huggingface/repo/variants",
"title": "LocalInferenceHuggingFaceRepoVariantsRequest_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceBuiltinChatTemplatesListRequest_unstable"
}
],
"description": "Params for _goose/unstable/local-inference/chat-templates/builtin/list",
"title": "LocalInferenceBuiltinChatTemplatesListRequest_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/SetToolPermissionsResponse_unstable"
}
],
"title": "SetToolPermissionsResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GooseToolCallResponse_unstable"
}
],
"title": "GooseToolCallResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ReadResourceResponse_unstable"
}
],
"title": "ReadResourceResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/AppsListResponse_unstable"
}
],
"title": "AppsListResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/AppsExportResponse_unstable"
}
],
"title": "AppsExportResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/AppsImportResponse_unstable"
}
],
"title": "AppsImportResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/AppsDeleteResponse_unstable"
}
],
"title": "AppsDeleteResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/SteerSessionResponse_unstable"
}
],
"title": "SteerSessionResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DiagnosticsGetResponse_unstable"
}
],
"title": "DiagnosticsGetResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListPromptsResponse_unstable"
}
],
"title": "ListPromptsResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GetPromptResponse_unstable"
}
],
"title": "GetPromptResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/PromptOperationResponse_unstable"
}
],
"title": "PromptOperationResponse_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/ProviderReadinessCheckResponse_unstable"
}
],
"title": "ProviderReadinessCheckResponse_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/ProviderSecretsListResponse_unstable"
}
],
"title": "ProviderSecretsListResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CanonicalModelInfoResponse_unstable"
}
],
"title": "CanonicalModelInfoResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/PreferencesReadResponse_unstable"
}
],
"title": "PreferencesReadResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ConfigReadResponse_unstable"
}
],
"title": "ConfigReadResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ConfigReadAllResponse_unstable"
}
],
"title": "ConfigReadAllResponse_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/ShareSessionNostrResponse_unstable"
}
],
"title": "ShareSessionNostrResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/EncodeRecipeResponse_unstable"
}
],
"title": "EncodeRecipeResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/DecodeRecipeResponse_unstable"
}
],
"title": "DecodeRecipeResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ScanRecipeResponse_unstable"
}
],
"title": "ScanRecipeResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListRecipesResponse_unstable"
}
],
"title": "ListRecipesResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/SaveRecipeResponse_unstable"
}
],
"title": "SaveRecipeResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ParseRecipeResponse_unstable"
}
],
"title": "ParseRecipeResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/RecipeToYamlResponse_unstable"
}
],
"title": "RecipeToYamlResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListSchedulesResponse_unstable"
}
],
"title": "ListSchedulesResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListScheduleSessionsResponse_unstable"
}
],
"title": "ListScheduleSessionsResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CreateScheduleResponse_unstable"
}
],
"title": "CreateScheduleResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/UpdateScheduleResponse_unstable"
}
],
"title": "UpdateScheduleResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/RunScheduleNowResponse_unstable"
}
],
"title": "RunScheduleNowResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/KillRunningJobResponse_unstable"
}
],
"title": "KillRunningJobResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/InspectRunningJobResponse_unstable"
}
],
"title": "InspectRunningJobResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/GetSessionInfoResponse_unstable"
}
],
"title": "GetSessionInfoResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/CreateSourceResponse_unstable"
}
],
"title": "CreateSourceResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListSourcesResponse_unstable"
}
],
"title": "ListSourcesResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListAgentMentionsResponse_unstable"
}
],
"title": "ListAgentMentionsResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/ListSlashCommandsResponse_unstable"
}
],
"title": "ListSlashCommandsResponse_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"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceModelsListResponse_unstable"
}
],
"title": "LocalInferenceModelsListResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceModelDownloadResponse_unstable"
}
],
"title": "LocalInferenceModelDownloadResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceModelDownloadProgressResponse_unstable"
}
],
"title": "LocalInferenceModelDownloadProgressResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceModelSettingsReadResponse_unstable"
}
],
"title": "LocalInferenceModelSettingsReadResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceModelSettingsUpdateResponse_unstable"
}
],
"title": "LocalInferenceModelSettingsUpdateResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceHuggingFaceSearchResponse_unstable"
}
],
"title": "LocalInferenceHuggingFaceSearchResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceHuggingFaceRepoVariantsResponse_unstable"
}
],
"title": "LocalInferenceHuggingFaceRepoVariantsResponse_unstable"
},
{
"allOf": [
{
"$ref": "#/$defs/LocalInferenceBuiltinChatTemplatesListResponse_unstable"
}
],
"title": "LocalInferenceBuiltinChatTemplatesListResponse_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
},
"ExtAgentRequest": {
"properties": {
"id": {
"type": "string"
},
"method": {
"type": "string"
},
"params": {
"anyOf": [
{
"anyOf": [
{
"allOf": [
{
"$ref": "#/$defs/RequestRecipeParams_unstable"
}
],
"description": "Params for _goose/unstable/session/recipe/request-params",
"title": "RequestRecipeParams_unstable"
}
]
},
{
"description": "Untyped params",
"type": [
"object",
"null"
]
}
]
}
},
"required": [
"id",
"method"
],
"type": "object",
"x-docs-ignore": true
},
"ExtAgentResponse": {
"anyOf": [
{
"properties": {
"id": {
"type": "string"
},
"result": {
"anyOf": [
{
"anyOf": [
{
"allOf": [
{
"$ref": "#/$defs/RecipeParamsResponse_unstable"
}
],
"title": "RecipeParamsResponse_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
}
},
"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"
},
{
"allOf": [
{
"$ref": "#/$defs/ExtAgentRequest"
}
],
"description": "Extension agent request (agent → client)",
"title": "AgentRequest"
},
{
"allOf": [
{
"$ref": "#/$defs/ExtAgentResponse"
}
],
"description": "Extension agent response (client → agent)",
"title": "AgentResponse"
}
]
}