Files
tkmind_go/crates/goose-acp/acp-schema.json
T
2026-04-14 14:17:01 +00:00

962 lines
25 KiB
JSON

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