diff --git a/goose-backend.lock.json b/goose-backend.lock.json index b09f620e0..04dfd6808 100644 --- a/goose-backend.lock.json +++ b/goose-backend.lock.json @@ -1,7 +1,7 @@ { "repo": "https://github.com/aaif-goose/goose.git", "ref": "main", - "commit": "1c1bd5299a243f309cb251d2bbe429c7f470793e", + "commit": "11deb564d09db782a17878af7cfafd299d9fa461", "package": "goose-cli", "bin": "goose" } diff --git a/sdk/schema/acp-meta.json b/sdk/schema/acp-meta.json index 92a87325f..9dd2b4c15 100644 --- a/sdk/schema/acp-meta.json +++ b/sdk/schema/acp-meta.json @@ -10,6 +10,11 @@ "requestType": "RemoveSessionExtensionRequest_unstable", "responseType": "EmptyResponse" }, + { + "method": "_goose/unstable/session/extensions/apply", + "requestType": "ApplySessionExtensionsRequest_unstable", + "responseType": "EmptyResponse" + }, { "method": "_goose/unstable/tools/list", "requestType": "GetToolsRequest_unstable", diff --git a/sdk/schema/acp-schema.json b/sdk/schema/acp-schema.json index 8a01faaf7..5831fd6ed 100644 --- a/sdk/schema/acp-schema.json +++ b/sdk/schema/acp-schema.json @@ -181,7 +181,8 @@ "_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)" + "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"], @@ -208,7 +209,8 @@ "_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)" + "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", @@ -239,7 +241,8 @@ "_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)" + "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", @@ -260,17 +263,18 @@ "type": "string", "description": "Human-readable name identifying this MCP server." }, - "id": { + "serverId": { "$ref": "#/$defs/McpServerAcpId", "description": "Unique identifier for this MCP server, generated by the component providing it.\n\nProviders MUST NOT reuse an ID for multiple ACP-transport MCP servers that are visible\non the same ACP connection." }, "_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)" + "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", "id"], + "required": ["name", "serverId"], "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nACP transport configuration for MCP.\n\nThe MCP server is provided by an ACP component and communicates over the ACP channel\nusing `mcp/connect`, `mcp/message`, and `mcp/disconnect`." }, "McpServerStdio": { @@ -282,7 +286,7 @@ }, "command": { "type": "string", - "description": "Path to the MCP server executable." + "description": "Absolute path to the MCP server executable." }, "args": { "type": "array", @@ -301,7 +305,8 @@ "_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)" + "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"], @@ -321,7 +326,8 @@ "_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)" + "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"], @@ -347,6 +353,18 @@ "x-side": "agent", "x-method": "_goose/unstable/session/extensions/remove" }, + "ApplySessionExtensionsRequest_unstable": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + } + }, + "required": ["sessionId"], + "description": "Recreate the session's provider, keeping its current provider and model,\nso that the session's current extension list takes effect.\n\nUseful after adding or removing session extensions when the provider\nforwards extensions to a downstream session (ACP harness providers such as\nclaude-acp and codex-acp). Those providers snapshot the extension list when\nthey are built, so extension changes only reach them on rebuild: the\nprovider is replaced with a new instance whose downstream session is\ncreated with the updated extension list.\n\nProviders that don't forward extensions pick up extension changes\nimmediately; for them this call is not required.", + "x-side": "agent", + "x-method": "_goose/unstable/session/extensions/apply" + }, "GetToolsRequest_unstable": { "type": "object", "properties": { @@ -764,17 +782,20 @@ }, "lastModified": { "type": ["string", "null"], - "description": "Timestamp indicating when the underlying resource was last modified." + "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." + "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)" + "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" @@ -816,7 +837,8 @@ "_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)" + "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"], @@ -847,12 +869,14 @@ }, "uri": { "type": ["string", "null"], - "description": "URI associated with this resource or media payload." + "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)" + "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"], @@ -884,7 +908,8 @@ "_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)" + "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"], @@ -907,11 +932,13 @@ }, "description": { "type": ["string", "null"], - "description": "Optional human-readable details shown with this protocol object." + "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." + "description": "MIME type describing the encoded media payload.", + "x-deserialize-default-on-error": {} }, "name": { "type": "string", @@ -919,11 +946,13 @@ }, "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." + "description": "Optional display title for end-user UI.", + "x-deserialize-default-on-error": {} }, "uri": { "type": "string", @@ -932,7 +961,8 @@ "_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)" + "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"], @@ -956,7 +986,8 @@ "properties": { "mimeType": { "type": ["string", "null"], - "description": "MIME type describing the encoded media payload." + "description": "MIME type describing the encoded media payload.", + "x-deserialize-default-on-error": {} }, "text": { "type": "string", @@ -969,7 +1000,8 @@ "_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)" + "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"], @@ -984,7 +1016,8 @@ }, "mimeType": { "type": ["string", "null"], - "description": "MIME type describing the encoded media payload." + "description": "MIME type describing the encoded media payload.", + "x-deserialize-default-on-error": {} }, "uri": { "type": "string", @@ -993,7 +1026,8 @@ "_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)" + "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"], @@ -1021,7 +1055,8 @@ "_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)" + "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"], @@ -3665,7 +3700,9 @@ "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." + "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"], @@ -3680,7 +3717,8 @@ "_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)" + "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"], @@ -4231,7 +4269,8 @@ "_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)" + "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"], @@ -4256,7 +4295,8 @@ "_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)" + "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"], @@ -5600,6 +5640,9 @@ "items": { "$ref": "#/$defs/RecipeParameterDto" } + }, + "parameterScopeId": { + "type": ["string", "null"] } }, "required": ["sessionId", "parameters"], @@ -5658,6 +5701,15 @@ "description": "Params for _goose/unstable/session/extensions/remove", "title": "RemoveSessionExtensionRequest_unstable" }, + { + "allOf": [ + { + "$ref": "#/$defs/ApplySessionExtensionsRequest_unstable" + } + ], + "description": "Params for _goose/unstable/session/extensions/apply", + "title": "ApplySessionExtensionsRequest_unstable" + }, { "allOf": [ { diff --git a/sdk/src/generated/client.gen.ts b/sdk/src/generated/client.gen.ts index fd8f00923..2652595b4 100644 --- a/sdk/src/generated/client.gen.ts +++ b/sdk/src/generated/client.gen.ts @@ -10,6 +10,7 @@ export interface ExtMethodProvider { import type { AddConfigExtensionRequestUnstable, AddSessionExtensionRequestUnstable, + ApplySessionExtensionsRequestUnstable, AppsDeleteRequestUnstable, AppsDeleteResponseUnstable, AppsExportRequestUnstable, @@ -291,6 +292,15 @@ export class GooseExtClient { ); } + async GooseUnstableSessionExtensionsApply( + params: ApplySessionExtensionsRequestUnstable, + ): Promise { + await this.conn.extMethod( + "_goose/unstable/session/extensions/apply", + params, + ); + } + async GooseUnstableToolsList( params: GetToolsRequestUnstable, ): Promise { diff --git a/sdk/src/generated/index.ts b/sdk/src/generated/index.ts index b5226e4b7..c7b496b74 100644 --- a/sdk/src/generated/index.ts +++ b/sdk/src/generated/index.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -export type { AddConfigExtensionRequestUnstable, AddSessionExtensionRequestUnstable, AgentMention, Annotations, AppsDeleteRequestUnstable, AppsDeleteResponseUnstable, AppsExportRequestUnstable, AppsExportResponseUnstable, AppsImportRequestUnstable, AppsImportResponseUnstable, AppsListRequestUnstable, AppsListResponseUnstable, ArchiveSessionRequestUnstable, AudioContent, AvailableCommand, AvailableCommandInput, BlobResourceContents, CanonicalModelInfoDto, CanonicalModelInfoRequestUnstable, CanonicalModelInfoResponseUnstable, ConfigReadAllRequestUnstable, ConfigReadAllResponseUnstable, ConfigReadRequestUnstable, ConfigReadResponseUnstable, ConfigRemoveRequestUnstable, ConfigUpsertRequestUnstable, ContentBlock, CostSourceData, CreateScheduleRequestUnstable, CreateScheduleResponseUnstable, CreateSourceRequestUnstable, CreateSourceResponseUnstable, CustomProviderConfigDto, CustomProviderCreateRequestUnstable, CustomProviderCreateResponseUnstable, CustomProviderDeleteRequestUnstable, CustomProviderDeleteResponseUnstable, CustomProviderReadRequestUnstable, CustomProviderReadResponseUnstable, CustomProviderUpdateRequestUnstable, CustomProviderUpdateResponseUnstable, DecodeRecipeRequestUnstable, DecodeRecipeResponseUnstable, DefaultsClearRequestUnstable, DefaultsReadRequestUnstable, DefaultsReadResponseUnstable, DefaultsSaveRequestUnstable, DeleteRecipeRequestUnstable, DeleteScheduleRequestUnstable, DeleteSessionRequest, DeleteSourceRequestUnstable, DiagnosticsGetRequestUnstable, DiagnosticsGetResponseUnstable, DiagnosticsReportLevel, DictationConfigRequestUnstable, DictationConfigResponseUnstable, DictationDownloadProgress, DictationLocalModelStatus, DictationModelCancelRequestUnstable, DictationModelDeleteRequestUnstable, DictationModelDownloadProgressRequestUnstable, DictationModelDownloadProgressResponseUnstable, DictationModelDownloadRequestUnstable, DictationModelOption, DictationModelSelectRequestUnstable, DictationModelsListRequestUnstable, DictationModelsListResponseUnstable, DictationProviderStatusEntry, DictationSecretDeleteRequestUnstable, DictationSecretSaveRequestUnstable, DictationTranscribeRequestUnstable, DictationTranscribeResponseUnstable, EmbeddedResource, EmbeddedResourceResource, EmptyResponse, EncodeRecipeRequestUnstable, EncodeRecipeResponseUnstable, EnvVariable, ExportSessionRequestUnstable, ExportSessionResponseUnstable, ExportSourceRequestUnstable, ExportSourceResponseUnstable, ExtAgentRequest, ExtAgentResponse, ExtNotification, ExtRequest, ExtResponse, GetAvailableExtensionsRequestUnstable, GetAvailableExtensionsResponseUnstable, GetConfigExtensionsRequestUnstable, GetConfigExtensionsResponseUnstable, GetPromptRequestUnstable, GetPromptResponseUnstable, GetSessionExtensionsRequestUnstable, GetSessionExtensionsResponseUnstable, GetSessionInfoRequestUnstable, GetSessionInfoResponseUnstable, GetToolsRequestUnstable, GetToolsResponseUnstable, GooseExtension, GooseExtensionEntry, GooseSessionNotificationUnstable, GooseSessionUpdate, GooseToolCallRequestUnstable, GooseToolCallResponseUnstable, HttpHeader, ImageContent, ImportSessionRequestUnstable, ImportSessionResponseUnstable, ImportSourcesRequestUnstable, ImportSourcesResponseUnstable, InspectRunningJobRequestUnstable, InspectRunningJobResponseUnstable, KillRunningJobRequestUnstable, KillRunningJobResponseUnstable, ListAgentMentionsRequestUnstable, ListAgentMentionsResponseUnstable, ListPromptsRequestUnstable, ListPromptsResponseUnstable, ListProvidersRequestUnstable, ListProvidersResponseUnstable, ListRecipesRequestUnstable, ListRecipesResponseUnstable, ListScheduleSessionsRequestUnstable, ListScheduleSessionsResponseUnstable, ListSchedulesRequestUnstable, ListSchedulesResponseUnstable, ListSlashCommandsRequestUnstable, ListSlashCommandsResponseUnstable, ListSourcesRequestUnstable, ListSourcesResponseUnstable, LocalInferenceBuiltinChatTemplatesListRequestUnstable, LocalInferenceBuiltinChatTemplatesListResponseUnstable, LocalInferenceChatTemplate, LocalInferenceDownloadProgressDto, LocalInferenceDownloadState, LocalInferenceHfGgufFileDto, LocalInferenceHfModelInfoDto, LocalInferenceHfModelVariantDto, LocalInferenceHuggingFaceRepoVariantsRequestUnstable, LocalInferenceHuggingFaceRepoVariantsResponseUnstable, LocalInferenceHuggingFaceSearchRequestUnstable, LocalInferenceHuggingFaceSearchResponseUnstable, LocalInferenceModelDeleteRequestUnstable, LocalInferenceModelDownloadCancelRequestUnstable, LocalInferenceModelDownloadProgressRequestUnstable, LocalInferenceModelDownloadProgressResponseUnstable, LocalInferenceModelDownloadRequestUnstable, LocalInferenceModelDownloadResponseUnstable, LocalInferenceModelDownloadStatusDto, LocalInferenceModelDto, LocalInferenceModelEvictRequestUnstable, LocalInferenceModelSettingsDto, LocalInferenceModelSettingsReadRequestUnstable, LocalInferenceModelSettingsReadResponseUnstable, LocalInferenceModelSettingsUpdateRequestUnstable, LocalInferenceModelSettingsUpdateResponseUnstable, LocalInferenceModelsListRequestUnstable, LocalInferenceModelsListResponseUnstable, LocalInferenceSamplingConfig, LocalInferenceToolCallingMode, McpServer, McpServerAcp, McpServerAcpId, McpServerHttp, McpServerSse, McpServerStdio, MessageUsageData, MessageUsageUpdate, OnboardingImportApplyRequestUnstable, OnboardingImportApplyResponseUnstable, OnboardingImportCandidate, OnboardingImportCounts, OnboardingImportScanRequestUnstable, OnboardingImportScanResponseUnstable, OnboardingImportSourceKind, ParseRecipeRequestUnstable, ParseRecipeResponseUnstable, PauseScheduleRequestUnstable, PreferenceKey, PreferencesReadRequestUnstable, PreferencesReadResponseUnstable, PreferencesRemoveRequestUnstable, PreferencesSaveRequestUnstable, PreferenceValue, PromptOperationResponseUnstable, PromptTemplateEntry, ProviderCatalogListRequestUnstable, ProviderCatalogListResponseUnstable, ProviderCatalogTemplateRequestUnstable, ProviderCatalogTemplateResponseUnstable, ProviderConfigAuthenticateRequestUnstable, ProviderConfigChangeResponseUnstable, ProviderConfigDeleteRequestUnstable, ProviderConfigFieldUpdate, ProviderConfigFieldValueDto, ProviderConfigKey, ProviderConfigReadRequestUnstable, ProviderConfigReadResponseUnstable, ProviderConfigSaveRequestUnstable, ProviderConfigStatusDto, ProviderConfigStatusRequestUnstable, ProviderConfigStatusResponseUnstable, ProviderInventoryEntryDto, ProviderInventoryModelDto, ProviderSecretDeleteRequestUnstable, ProviderSecretDto, ProviderSecretsListRequestUnstable, ProviderSecretsListResponseUnstable, ProviderSecretStatusDto, ProviderSecretStorageDto, ProviderSetupCatalogEntryDto, ProviderSetupCatalogListRequestUnstable, ProviderSetupCatalogListResponseUnstable, ProviderSetupCategoryDto, ProviderSetupFieldDto, ProviderSetupGroupDto, ProviderSetupMethodDto, ProviderSupportedModelsListRequestUnstable, ProviderSupportedModelsListResponseUnstable, ProviderTemplateCapabilitiesDto, ProviderTemplateCatalogEntryDto, ProviderTemplateDto, ProviderTemplateModelDto, ReadResourceRequestUnstable, ReadResourceResponseUnstable, RecipeAuthorDto, RecipeDto, RecipeExtensionDto, RecipeListEntryDto, RecipeParameterDto, RecipeParameterInputTypeDto, RecipeParameterRequirementDto, RecipeParamsAction, RecipeParamsResponseUnstable, RecipeResponseDto, RecipeRetryConfigDto, RecipeSettingsDto, RecipeSuccessCheckDto, RecipeToYamlRequestUnstable, RecipeToYamlResponseUnstable, RefreshProviderInventoryRequestUnstable, RefreshProviderInventoryResponseUnstable, RefreshProviderInventorySkipDto, RefreshProviderInventorySkipReasonDto, RemoveConfigExtensionRequestUnstable, RemoveSessionExtensionRequestUnstable, RenameSessionRequestUnstable, RequestRecipeParamsUnstable, ResetPromptRequestUnstable, ResourceLink, Role, RunScheduleNowRequestUnstable, RunScheduleNowResponseUnstable, RunScheduleNowStatus, SavePromptRequestUnstable, SaveRecipeRequestUnstable, SaveRecipeResponseUnstable, ScanRecipeRequestUnstable, ScanRecipeResponseUnstable, ScheduledJobDto, ScheduleRecipeRequestUnstable, SessionExportFormat, SessionId, SessionImportSource, SessionInfo, SessionSystemPromptMode, SessionUsageUpdate, SetConfigExtensionEnabledRequestUnstable, SetRecipeSlashCommandRequestUnstable, SetSessionSystemPromptRequestUnstable, SetToolPermissionsRequestUnstable, SetToolPermissionsResponseUnstable, ShareSessionNostrRequestUnstable, ShareSessionNostrResponseUnstable, SourceEntry, SourceScope, SourceType, StatusMessage, StatusMessageUpdate, SteerSessionRequestUnstable, SteerSessionResponseUnstable, SubRecipeDto, TextContent, TextResourceContents, ToolListItem, ToolPermissionEntry, ToolPermissionLevel, TruncateSessionConversationRequestUnstable, UnarchiveSessionRequestUnstable, UnpauseScheduleRequestUnstable, UnstructuredCommandInput, UpdateScheduleRequestUnstable, UpdateScheduleResponseUnstable, UpdateSessionProjectRequestUnstable, UpdateSourceRequestUnstable, UpdateSourceResponseUnstable, UpdateWorkingDirRequestUnstable } from './types.gen.js'; +export type { AddConfigExtensionRequestUnstable, AddSessionExtensionRequestUnstable, AgentMention, Annotations, ApplySessionExtensionsRequestUnstable, AppsDeleteRequestUnstable, AppsDeleteResponseUnstable, AppsExportRequestUnstable, AppsExportResponseUnstable, AppsImportRequestUnstable, AppsImportResponseUnstable, AppsListRequestUnstable, AppsListResponseUnstable, ArchiveSessionRequestUnstable, AudioContent, AvailableCommand, AvailableCommandInput, BlobResourceContents, CanonicalModelInfoDto, CanonicalModelInfoRequestUnstable, CanonicalModelInfoResponseUnstable, ConfigReadAllRequestUnstable, ConfigReadAllResponseUnstable, ConfigReadRequestUnstable, ConfigReadResponseUnstable, ConfigRemoveRequestUnstable, ConfigUpsertRequestUnstable, ContentBlock, CostSourceData, CreateScheduleRequestUnstable, CreateScheduleResponseUnstable, CreateSourceRequestUnstable, CreateSourceResponseUnstable, CustomProviderConfigDto, CustomProviderCreateRequestUnstable, CustomProviderCreateResponseUnstable, CustomProviderDeleteRequestUnstable, CustomProviderDeleteResponseUnstable, CustomProviderReadRequestUnstable, CustomProviderReadResponseUnstable, CustomProviderUpdateRequestUnstable, CustomProviderUpdateResponseUnstable, DecodeRecipeRequestUnstable, DecodeRecipeResponseUnstable, DefaultsClearRequestUnstable, DefaultsReadRequestUnstable, DefaultsReadResponseUnstable, DefaultsSaveRequestUnstable, DeleteRecipeRequestUnstable, DeleteScheduleRequestUnstable, DeleteSessionRequest, DeleteSourceRequestUnstable, DiagnosticsGetRequestUnstable, DiagnosticsGetResponseUnstable, DiagnosticsReportLevel, DictationConfigRequestUnstable, DictationConfigResponseUnstable, DictationDownloadProgress, DictationLocalModelStatus, DictationModelCancelRequestUnstable, DictationModelDeleteRequestUnstable, DictationModelDownloadProgressRequestUnstable, DictationModelDownloadProgressResponseUnstable, DictationModelDownloadRequestUnstable, DictationModelOption, DictationModelSelectRequestUnstable, DictationModelsListRequestUnstable, DictationModelsListResponseUnstable, DictationProviderStatusEntry, DictationSecretDeleteRequestUnstable, DictationSecretSaveRequestUnstable, DictationTranscribeRequestUnstable, DictationTranscribeResponseUnstable, EmbeddedResource, EmbeddedResourceResource, EmptyResponse, EncodeRecipeRequestUnstable, EncodeRecipeResponseUnstable, EnvVariable, ExportSessionRequestUnstable, ExportSessionResponseUnstable, ExportSourceRequestUnstable, ExportSourceResponseUnstable, ExtAgentRequest, ExtAgentResponse, ExtNotification, ExtRequest, ExtResponse, GetAvailableExtensionsRequestUnstable, GetAvailableExtensionsResponseUnstable, GetConfigExtensionsRequestUnstable, GetConfigExtensionsResponseUnstable, GetPromptRequestUnstable, GetPromptResponseUnstable, GetSessionExtensionsRequestUnstable, GetSessionExtensionsResponseUnstable, GetSessionInfoRequestUnstable, GetSessionInfoResponseUnstable, GetToolsRequestUnstable, GetToolsResponseUnstable, GooseExtension, GooseExtensionEntry, GooseSessionNotificationUnstable, GooseSessionUpdate, GooseToolCallRequestUnstable, GooseToolCallResponseUnstable, HttpHeader, ImageContent, ImportSessionRequestUnstable, ImportSessionResponseUnstable, ImportSourcesRequestUnstable, ImportSourcesResponseUnstable, InspectRunningJobRequestUnstable, InspectRunningJobResponseUnstable, KillRunningJobRequestUnstable, KillRunningJobResponseUnstable, ListAgentMentionsRequestUnstable, ListAgentMentionsResponseUnstable, ListPromptsRequestUnstable, ListPromptsResponseUnstable, ListProvidersRequestUnstable, ListProvidersResponseUnstable, ListRecipesRequestUnstable, ListRecipesResponseUnstable, ListScheduleSessionsRequestUnstable, ListScheduleSessionsResponseUnstable, ListSchedulesRequestUnstable, ListSchedulesResponseUnstable, ListSlashCommandsRequestUnstable, ListSlashCommandsResponseUnstable, ListSourcesRequestUnstable, ListSourcesResponseUnstable, LocalInferenceBuiltinChatTemplatesListRequestUnstable, LocalInferenceBuiltinChatTemplatesListResponseUnstable, LocalInferenceChatTemplate, LocalInferenceDownloadProgressDto, LocalInferenceDownloadState, LocalInferenceHfGgufFileDto, LocalInferenceHfModelInfoDto, LocalInferenceHfModelVariantDto, LocalInferenceHuggingFaceRepoVariantsRequestUnstable, LocalInferenceHuggingFaceRepoVariantsResponseUnstable, LocalInferenceHuggingFaceSearchRequestUnstable, LocalInferenceHuggingFaceSearchResponseUnstable, LocalInferenceModelDeleteRequestUnstable, LocalInferenceModelDownloadCancelRequestUnstable, LocalInferenceModelDownloadProgressRequestUnstable, LocalInferenceModelDownloadProgressResponseUnstable, LocalInferenceModelDownloadRequestUnstable, LocalInferenceModelDownloadResponseUnstable, LocalInferenceModelDownloadStatusDto, LocalInferenceModelDto, LocalInferenceModelEvictRequestUnstable, LocalInferenceModelSettingsDto, LocalInferenceModelSettingsReadRequestUnstable, LocalInferenceModelSettingsReadResponseUnstable, LocalInferenceModelSettingsUpdateRequestUnstable, LocalInferenceModelSettingsUpdateResponseUnstable, LocalInferenceModelsListRequestUnstable, LocalInferenceModelsListResponseUnstable, LocalInferenceSamplingConfig, LocalInferenceToolCallingMode, McpServer, McpServerAcp, McpServerAcpId, McpServerHttp, McpServerSse, McpServerStdio, MessageUsageData, MessageUsageUpdate, OnboardingImportApplyRequestUnstable, OnboardingImportApplyResponseUnstable, OnboardingImportCandidate, OnboardingImportCounts, OnboardingImportScanRequestUnstable, OnboardingImportScanResponseUnstable, OnboardingImportSourceKind, ParseRecipeRequestUnstable, ParseRecipeResponseUnstable, PauseScheduleRequestUnstable, PreferenceKey, PreferencesReadRequestUnstable, PreferencesReadResponseUnstable, PreferencesRemoveRequestUnstable, PreferencesSaveRequestUnstable, PreferenceValue, PromptOperationResponseUnstable, PromptTemplateEntry, ProviderCatalogListRequestUnstable, ProviderCatalogListResponseUnstable, ProviderCatalogTemplateRequestUnstable, ProviderCatalogTemplateResponseUnstable, ProviderConfigAuthenticateRequestUnstable, ProviderConfigChangeResponseUnstable, ProviderConfigDeleteRequestUnstable, ProviderConfigFieldUpdate, ProviderConfigFieldValueDto, ProviderConfigKey, ProviderConfigReadRequestUnstable, ProviderConfigReadResponseUnstable, ProviderConfigSaveRequestUnstable, ProviderConfigStatusDto, ProviderConfigStatusRequestUnstable, ProviderConfigStatusResponseUnstable, ProviderInventoryEntryDto, ProviderInventoryModelDto, ProviderSecretDeleteRequestUnstable, ProviderSecretDto, ProviderSecretsListRequestUnstable, ProviderSecretsListResponseUnstable, ProviderSecretStatusDto, ProviderSecretStorageDto, ProviderSetupCatalogEntryDto, ProviderSetupCatalogListRequestUnstable, ProviderSetupCatalogListResponseUnstable, ProviderSetupCategoryDto, ProviderSetupFieldDto, ProviderSetupGroupDto, ProviderSetupMethodDto, ProviderSupportedModelsListRequestUnstable, ProviderSupportedModelsListResponseUnstable, ProviderTemplateCapabilitiesDto, ProviderTemplateCatalogEntryDto, ProviderTemplateDto, ProviderTemplateModelDto, ReadResourceRequestUnstable, ReadResourceResponseUnstable, RecipeAuthorDto, RecipeDto, RecipeExtensionDto, RecipeListEntryDto, RecipeParameterDto, RecipeParameterInputTypeDto, RecipeParameterRequirementDto, RecipeParamsAction, RecipeParamsResponseUnstable, RecipeResponseDto, RecipeRetryConfigDto, RecipeSettingsDto, RecipeSuccessCheckDto, RecipeToYamlRequestUnstable, RecipeToYamlResponseUnstable, RefreshProviderInventoryRequestUnstable, RefreshProviderInventoryResponseUnstable, RefreshProviderInventorySkipDto, RefreshProviderInventorySkipReasonDto, RemoveConfigExtensionRequestUnstable, RemoveSessionExtensionRequestUnstable, RenameSessionRequestUnstable, RequestRecipeParamsUnstable, ResetPromptRequestUnstable, ResourceLink, Role, RunScheduleNowRequestUnstable, RunScheduleNowResponseUnstable, RunScheduleNowStatus, SavePromptRequestUnstable, SaveRecipeRequestUnstable, SaveRecipeResponseUnstable, ScanRecipeRequestUnstable, ScanRecipeResponseUnstable, ScheduledJobDto, ScheduleRecipeRequestUnstable, SessionExportFormat, SessionId, SessionImportSource, SessionInfo, SessionSystemPromptMode, SessionUsageUpdate, SetConfigExtensionEnabledRequestUnstable, SetRecipeSlashCommandRequestUnstable, SetSessionSystemPromptRequestUnstable, SetToolPermissionsRequestUnstable, SetToolPermissionsResponseUnstable, ShareSessionNostrRequestUnstable, ShareSessionNostrResponseUnstable, SourceEntry, SourceScope, SourceType, StatusMessage, StatusMessageUpdate, SteerSessionRequestUnstable, SteerSessionResponseUnstable, SubRecipeDto, TextContent, TextResourceContents, ToolListItem, ToolPermissionEntry, ToolPermissionLevel, TruncateSessionConversationRequestUnstable, UnarchiveSessionRequestUnstable, UnpauseScheduleRequestUnstable, UnstructuredCommandInput, UpdateScheduleRequestUnstable, UpdateScheduleResponseUnstable, UpdateSessionProjectRequestUnstable, UpdateSourceRequestUnstable, UpdateSourceResponseUnstable, UpdateWorkingDirRequestUnstable } from './types.gen.js'; export const GOOSE_EXT_METHODS = [ { @@ -13,6 +13,11 @@ export const GOOSE_EXT_METHODS = [ requestType: "RemoveSessionExtensionRequest_unstable", responseType: "EmptyResponse", }, + { + method: "_goose/unstable/session/extensions/apply", + requestType: "ApplySessionExtensionsRequest_unstable", + responseType: "EmptyResponse", + }, { method: "_goose/unstable/tools/list", requestType: "GetToolsRequest_unstable", diff --git a/sdk/src/generated/types.gen.ts b/sdk/src/generated/types.gen.ts index cdcc2af0e..0cb25704b 100644 --- a/sdk/src/generated/types.gen.ts +++ b/sdk/src/generated/types.gen.ts @@ -170,7 +170,7 @@ export type McpServerAcp = { * Providers MUST NOT reuse an ID for multiple ACP-transport MCP servers that are visible * on the same ACP connection. */ - id: McpServerAcpId; + serverId: McpServerAcpId; /** * The _meta property is reserved by ACP to allow clients and agents to attach additional * metadata to their interactions. Implementations MUST NOT make assumptions about values at @@ -192,7 +192,7 @@ export type McpServerStdio = { */ name: string; /** - * Path to the MCP server executable. + * Absolute path to the MCP server executable. */ command: string; /** @@ -254,6 +254,24 @@ export type RemoveSessionExtensionRequestUnstable = { name: string; }; +/** + * Recreate the session's provider, keeping its current provider and model, + * so that the session's current extension list takes effect. + * + * Useful after adding or removing session extensions when the provider + * forwards extensions to a downstream session (ACP harness providers such as + * claude-acp and codex-acp). Those providers snapshot the extension list when + * they are built, so extension changes only reach them on rebuild: the + * provider is replaced with a new instance whose downstream session is + * created with the updated extension list. + * + * Providers that don't forward extensions pick up extension changes + * immediately; for them this call is not required. + */ +export type ApplySessionExtensionsRequestUnstable = { + sessionId: string; +}; + /** * List all tools available in a session. */ @@ -2622,6 +2640,7 @@ export type MessageUsageUpdate = { export type RequestRecipeParamsUnstable = { sessionId: string; parameters: Array; + parameterScopeId?: string | null; }; export type RecipeParamsResponseUnstable = { @@ -2636,7 +2655,7 @@ export type RecipeParamsAction = 'submit' | 'cancel'; export type ExtRequest = { id: string; method: string; - params?: AddSessionExtensionRequestUnstable | RemoveSessionExtensionRequestUnstable | GetToolsRequestUnstable | SetToolPermissionsRequestUnstable | GooseToolCallRequestUnstable | ReadResourceRequestUnstable | AppsListRequestUnstable | AppsExportRequestUnstable | AppsImportRequestUnstable | AppsDeleteRequestUnstable | UpdateWorkingDirRequestUnstable | SetSessionSystemPromptRequestUnstable | SteerSessionRequestUnstable | DiagnosticsGetRequestUnstable | ListPromptsRequestUnstable | GetPromptRequestUnstable | SavePromptRequestUnstable | ResetPromptRequestUnstable | DeleteSessionRequest | GetConfigExtensionsRequestUnstable | GetAvailableExtensionsRequestUnstable | AddConfigExtensionRequestUnstable | RemoveConfigExtensionRequestUnstable | SetConfigExtensionEnabledRequestUnstable | GetSessionExtensionsRequestUnstable | ListProvidersRequestUnstable | ProviderSupportedModelsListRequestUnstable | ProviderCatalogListRequestUnstable | ProviderSetupCatalogListRequestUnstable | ProviderCatalogTemplateRequestUnstable | CustomProviderCreateRequestUnstable | CustomProviderReadRequestUnstable | CustomProviderUpdateRequestUnstable | CustomProviderDeleteRequestUnstable | RefreshProviderInventoryRequestUnstable | ProviderConfigReadRequestUnstable | ProviderConfigStatusRequestUnstable | ProviderConfigSaveRequestUnstable | ProviderConfigDeleteRequestUnstable | ProviderConfigAuthenticateRequestUnstable | ProviderSecretsListRequestUnstable | ProviderSecretDeleteRequestUnstable | CanonicalModelInfoRequestUnstable | PreferencesReadRequestUnstable | PreferencesSaveRequestUnstable | PreferencesRemoveRequestUnstable | ConfigReadRequestUnstable | ConfigUpsertRequestUnstable | ConfigRemoveRequestUnstable | ConfigReadAllRequestUnstable | DefaultsReadRequestUnstable | DefaultsSaveRequestUnstable | DefaultsClearRequestUnstable | OnboardingImportScanRequestUnstable | OnboardingImportApplyRequestUnstable | ExportSessionRequestUnstable | ImportSessionRequestUnstable | ShareSessionNostrRequestUnstable | EncodeRecipeRequestUnstable | DecodeRecipeRequestUnstable | ScanRecipeRequestUnstable | ListRecipesRequestUnstable | DeleteRecipeRequestUnstable | ScheduleRecipeRequestUnstable | SetRecipeSlashCommandRequestUnstable | SaveRecipeRequestUnstable | ParseRecipeRequestUnstable | RecipeToYamlRequestUnstable | ListSchedulesRequestUnstable | ListScheduleSessionsRequestUnstable | CreateScheduleRequestUnstable | DeleteScheduleRequestUnstable | PauseScheduleRequestUnstable | UnpauseScheduleRequestUnstable | UpdateScheduleRequestUnstable | RunScheduleNowRequestUnstable | KillRunningJobRequestUnstable | InspectRunningJobRequestUnstable | GetSessionInfoRequestUnstable | TruncateSessionConversationRequestUnstable | UpdateSessionProjectRequestUnstable | RenameSessionRequestUnstable | ArchiveSessionRequestUnstable | UnarchiveSessionRequestUnstable | CreateSourceRequestUnstable | ListSourcesRequestUnstable | ListAgentMentionsRequestUnstable | ListSlashCommandsRequestUnstable | UpdateSourceRequestUnstable | DeleteSourceRequestUnstable | ExportSourceRequestUnstable | ImportSourcesRequestUnstable | DictationTranscribeRequestUnstable | DictationConfigRequestUnstable | DictationSecretSaveRequestUnstable | DictationSecretDeleteRequestUnstable | DictationModelsListRequestUnstable | DictationModelDownloadRequestUnstable | DictationModelDownloadProgressRequestUnstable | DictationModelCancelRequestUnstable | DictationModelDeleteRequestUnstable | DictationModelSelectRequestUnstable | LocalInferenceModelsListRequestUnstable | LocalInferenceModelDownloadRequestUnstable | LocalInferenceModelDownloadProgressRequestUnstable | LocalInferenceModelDownloadCancelRequestUnstable | LocalInferenceModelDeleteRequestUnstable | LocalInferenceModelEvictRequestUnstable | LocalInferenceModelSettingsReadRequestUnstable | LocalInferenceModelSettingsUpdateRequestUnstable | LocalInferenceHuggingFaceSearchRequestUnstable | LocalInferenceHuggingFaceRepoVariantsRequestUnstable | LocalInferenceBuiltinChatTemplatesListRequestUnstable | { + params?: AddSessionExtensionRequestUnstable | RemoveSessionExtensionRequestUnstable | ApplySessionExtensionsRequestUnstable | GetToolsRequestUnstable | SetToolPermissionsRequestUnstable | GooseToolCallRequestUnstable | ReadResourceRequestUnstable | AppsListRequestUnstable | AppsExportRequestUnstable | AppsImportRequestUnstable | AppsDeleteRequestUnstable | UpdateWorkingDirRequestUnstable | SetSessionSystemPromptRequestUnstable | SteerSessionRequestUnstable | DiagnosticsGetRequestUnstable | ListPromptsRequestUnstable | GetPromptRequestUnstable | SavePromptRequestUnstable | ResetPromptRequestUnstable | DeleteSessionRequest | GetConfigExtensionsRequestUnstable | GetAvailableExtensionsRequestUnstable | AddConfigExtensionRequestUnstable | RemoveConfigExtensionRequestUnstable | SetConfigExtensionEnabledRequestUnstable | GetSessionExtensionsRequestUnstable | ListProvidersRequestUnstable | ProviderSupportedModelsListRequestUnstable | ProviderCatalogListRequestUnstable | ProviderSetupCatalogListRequestUnstable | ProviderCatalogTemplateRequestUnstable | CustomProviderCreateRequestUnstable | CustomProviderReadRequestUnstable | CustomProviderUpdateRequestUnstable | CustomProviderDeleteRequestUnstable | RefreshProviderInventoryRequestUnstable | ProviderConfigReadRequestUnstable | ProviderConfigStatusRequestUnstable | ProviderConfigSaveRequestUnstable | ProviderConfigDeleteRequestUnstable | ProviderConfigAuthenticateRequestUnstable | ProviderSecretsListRequestUnstable | ProviderSecretDeleteRequestUnstable | CanonicalModelInfoRequestUnstable | PreferencesReadRequestUnstable | PreferencesSaveRequestUnstable | PreferencesRemoveRequestUnstable | ConfigReadRequestUnstable | ConfigUpsertRequestUnstable | ConfigRemoveRequestUnstable | ConfigReadAllRequestUnstable | DefaultsReadRequestUnstable | DefaultsSaveRequestUnstable | DefaultsClearRequestUnstable | OnboardingImportScanRequestUnstable | OnboardingImportApplyRequestUnstable | ExportSessionRequestUnstable | ImportSessionRequestUnstable | ShareSessionNostrRequestUnstable | EncodeRecipeRequestUnstable | DecodeRecipeRequestUnstable | ScanRecipeRequestUnstable | ListRecipesRequestUnstable | DeleteRecipeRequestUnstable | ScheduleRecipeRequestUnstable | SetRecipeSlashCommandRequestUnstable | SaveRecipeRequestUnstable | ParseRecipeRequestUnstable | RecipeToYamlRequestUnstable | ListSchedulesRequestUnstable | ListScheduleSessionsRequestUnstable | CreateScheduleRequestUnstable | DeleteScheduleRequestUnstable | PauseScheduleRequestUnstable | UnpauseScheduleRequestUnstable | UpdateScheduleRequestUnstable | RunScheduleNowRequestUnstable | KillRunningJobRequestUnstable | InspectRunningJobRequestUnstable | GetSessionInfoRequestUnstable | TruncateSessionConversationRequestUnstable | UpdateSessionProjectRequestUnstable | RenameSessionRequestUnstable | ArchiveSessionRequestUnstable | UnarchiveSessionRequestUnstable | CreateSourceRequestUnstable | ListSourcesRequestUnstable | ListAgentMentionsRequestUnstable | ListSlashCommandsRequestUnstable | UpdateSourceRequestUnstable | DeleteSourceRequestUnstable | ExportSourceRequestUnstable | ImportSourcesRequestUnstable | DictationTranscribeRequestUnstable | DictationConfigRequestUnstable | DictationSecretSaveRequestUnstable | DictationSecretDeleteRequestUnstable | DictationModelsListRequestUnstable | DictationModelDownloadRequestUnstable | DictationModelDownloadProgressRequestUnstable | DictationModelCancelRequestUnstable | DictationModelDeleteRequestUnstable | DictationModelSelectRequestUnstable | LocalInferenceModelsListRequestUnstable | LocalInferenceModelDownloadRequestUnstable | LocalInferenceModelDownloadProgressRequestUnstable | LocalInferenceModelDownloadCancelRequestUnstable | LocalInferenceModelDeleteRequestUnstable | LocalInferenceModelEvictRequestUnstable | LocalInferenceModelSettingsReadRequestUnstable | LocalInferenceModelSettingsUpdateRequestUnstable | LocalInferenceHuggingFaceSearchRequestUnstable | LocalInferenceHuggingFaceRepoVariantsRequestUnstable | LocalInferenceBuiltinChatTemplatesListRequestUnstable | { [key: string]: unknown; } | null; }; diff --git a/sdk/src/generated/zod.gen.ts b/sdk/src/generated/zod.gen.ts index 29050c588..ea33c0759 100644 --- a/sdk/src/generated/zod.gen.ts +++ b/sdk/src/generated/zod.gen.ts @@ -58,7 +58,7 @@ export const zMcpServerAcpId = z.string(); */ export const zMcpServerAcp = z.object({ name: z.string(), - id: zMcpServerAcpId, + serverId: zMcpServerAcpId, _meta: z.record(z.string(), z.unknown()).nullish() }); @@ -148,6 +148,24 @@ export const zRemoveSessionExtensionRequestUnstable = z.object({ name: z.string() }); +/** + * Recreate the session's provider, keeping its current provider and model, + * so that the session's current extension list takes effect. + * + * Useful after adding or removing session extensions when the provider + * forwards extensions to a downstream session (ACP harness providers such as + * claude-acp and codex-acp). Those providers snapshot the extension list when + * they are built, so extension changes only reach them on rebuild: the + * provider is replaced with a new instance whose downstream session is + * created with the updated extension list. + * + * Providers that don't forward extensions pick up extension changes + * immediately; for them this call is not required. + */ +export const zApplySessionExtensionsRequestUnstable = z.object({ + sessionId: z.string() +}); + /** * List all tools available in a session. */ @@ -2177,7 +2195,8 @@ export const zGooseSessionNotificationUnstable = z.object({ export const zRequestRecipeParamsUnstable = z.object({ sessionId: z.string(), - parameters: z.array(zRecipeParameterDto) + parameters: z.array(zRecipeParameterDto), + parameterScopeId: z.string().nullish() }); export const zRecipeParamsAction = z.enum(['submit', 'cancel']); @@ -2194,6 +2213,7 @@ export const zExtRequest = z.object({ z.union([ zAddSessionExtensionRequestUnstable, zRemoveSessionExtensionRequestUnstable, + zApplySessionExtensionsRequestUnstable, zGetToolsRequestUnstable, zSetToolPermissionsRequestUnstable, zGooseToolCallRequestUnstable, diff --git a/src/features/extensions/api/extensions.test.ts b/src/features/extensions/api/extensions.test.ts index 6bc6c6656..f147d44e3 100644 --- a/src/features/extensions/api/extensions.test.ts +++ b/src/features/extensions/api/extensions.test.ts @@ -61,7 +61,7 @@ describe("extensions api", () => { description: "ACP MCP", server: { name: "local-acp", - id: "acp-server-1", + serverId: "acp-server-1", }, }, }, diff --git a/src/features/extensions/api/extensions.ts b/src/features/extensions/api/extensions.ts index 36b37af87..714359c7f 100644 --- a/src/features/extensions/api/extensions.ts +++ b/src/features/extensions/api/extensions.ts @@ -28,7 +28,7 @@ function recordToArray( } function isAcpMcpServer(server: McpServer): server is McpServerAcp { - return "id" in server && typeof server.id === "string"; + return "serverId" in server && typeof server.serverId === "string"; } function toExtensionEntry(entry: GooseExtensionEntry): ExtensionEntry { @@ -62,7 +62,7 @@ function toExtensionEntry(entry: GooseExtensionEntry): ExtensionEntry { type: "acp", name: extension.server.name, description, - id: extension.server.id, + id: extension.server.serverId, ...(extension.bundled != null ? { bundled: extension.bundled } : {}), config_key: configKey, enabled: entry.enabled, @@ -151,7 +151,7 @@ function toGooseExtension(extensionConfig: ExtensionConfig): GooseExtension { if (extensionConfig.type === "acp") { const server: McpServerAcp = { name: extensionConfig.name, - id: extensionConfig.id, + serverId: extensionConfig.id, }; return { type: "mcp",