From ac1918f5357169cf564e116316d1d13723ed5d89 Mon Sep 17 00:00:00 2001 From: Lifei Zhou Date: Mon, 17 Aug 2026 11:03:07 +0000 Subject: [PATCH] acp: pin V1 SDK and narrow acp crate features (#11289) --- Cargo.toml | 4 +- crates/goose-sdk-types/Cargo.toml | 2 +- crates/goose-sdk/Cargo.toml | 2 +- crates/goose-sdk/examples/acp_client.rs | 2 +- crates/goose/Cargo.toml | 8 ++- crates/goose/acp-schema.json | 45 ----------------- crates/goose/src/acp/provider.rs | 3 +- crates/goose/src/acp/server.rs | 24 ++++----- crates/goose/tests/acp_fixtures/server.rs | 7 ++- ui/desktop/package.json | 2 +- .../src/acp/__tests__/acpConnection.test.ts | 4 ++ ui/desktop/src/acp/acpConnection.ts | 3 +- ui/pnpm-lock.yaml | 4 +- ui/sdk/package.json | 2 +- ui/sdk/src/generated/index.ts | 2 +- ui/sdk/src/generated/types.gen.ts | 49 +------------------ ui/sdk/src/generated/zod.gen.ts | 33 ------------- 17 files changed, 40 insertions(+), 156 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 421a74707..2b40e85db 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,9 +21,9 @@ string_slice = "warn" [workspace.dependencies] rmcp = { version = "3.0.0", default-features = false, features = ["schemars", "auth"] } -agent-client-protocol-schema = { version = "=1.5.0", default-features = false, features = ["unstable"] } +agent-client-protocol-schema = { version = "=1.5.0", default-features = false } agent-client-protocol = { version = "2.0.0", default-features = false } -agent-client-protocol-http = { version = "2.0.0", default-features = false, features = ["server"] } +agent-client-protocol-http = { version = "2.0.0", default-features = false } arboard = { version = "3", default-features = false } anyhow = { version = "1.0.102", default-features = false, features = ["std"] } async-stream = { version = "0.3.6", default-features = false } diff --git a/crates/goose-sdk-types/Cargo.toml b/crates/goose-sdk-types/Cargo.toml index 5a7b9530a..ae631c11b 100644 --- a/crates/goose-sdk-types/Cargo.toml +++ b/crates/goose-sdk-types/Cargo.toml @@ -9,7 +9,7 @@ repository.workspace = true description = "Shared types for the Goose SDK" [dependencies] -agent-client-protocol = { workspace = true, features = ["unstable"] } +agent-client-protocol = { workspace = true } agent-client-protocol-schema = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } diff --git a/crates/goose-sdk/Cargo.toml b/crates/goose-sdk/Cargo.toml index 5126ef891..52a914e3f 100644 --- a/crates/goose-sdk/Cargo.toml +++ b/crates/goose-sdk/Cargo.toml @@ -34,7 +34,7 @@ uniffi = [ [dependencies] goose-sdk-types = { version = "0.1.0-alpha.6", path = "../goose-sdk-types" } -agent-client-protocol = { workspace = true, features = ["unstable"] } +agent-client-protocol = { workspace = true } agent-client-protocol-schema = { workspace = true } uniffi = { version = "0.32", features = ["cli"], optional = true } diff --git a/crates/goose-sdk/examples/acp_client.rs b/crates/goose-sdk/examples/acp_client.rs index a7421ca88..4361c0193 100644 --- a/crates/goose-sdk/examples/acp_client.rs +++ b/crates/goose-sdk/examples/acp_client.rs @@ -101,7 +101,7 @@ async fn main() -> Result<(), Box> { // Step 1: Initialize eprintln!("🤝 Initializing..."); let init_response = cx - .send_request(InitializeRequest::new(ProtocolVersion::LATEST)) + .send_request(InitializeRequest::new(ProtocolVersion::V1)) .block_task() .await?; eprintln!("✓ Agent initialized: {:?}", init_response.agent_info); diff --git a/crates/goose/Cargo.toml b/crates/goose/Cargo.toml index b487b46fa..4b0dd79dc 100644 --- a/crates/goose/Cargo.toml +++ b/crates/goose/Cargo.toml @@ -171,8 +171,12 @@ tokio-stream = { workspace = true, features = ["io-util"] } tempfile = { workspace = true } tokio-util = { workspace = true, features = ["compat"] } agent-client-protocol-schema = { workspace = true } -agent-client-protocol = { workspace = true, features = ["unstable"] } -agent-client-protocol-http = { workspace = true } +agent-client-protocol = { workspace = true, features = [ + "unstable_elicitation", + "unstable_end_turn_token_usage", + "unstable_session_fork", +] } +agent-client-protocol-http = { workspace = true, features = ["server"] } unicode-normalization = { version = "0.1.22", default-features = false, features = ["std"] } # For local Whisper transcription (optional, behind "local-inference" feature) diff --git a/crates/goose/acp-schema.json b/crates/goose/acp-schema.json index 29d99e016..6687771e3 100644 --- a/crates/goose/acp-schema.json +++ b/crates/goose/acp-schema.json @@ -227,20 +227,6 @@ ], "description": "SSE transport configuration\n\nOnly available when the Agent capabilities indicate `mcp_capabilities.sse` is `true`." }, - { - "$ref": "#/$defs/McpServerAcp", - "type": "object", - "properties": { - "type": { - "type": "string", - "const": "acp" - } - }, - "required": [ - "type" - ], - "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\n\nOnly available when the Agent capabilities indicate `mcp_capabilities.acp` is `true`.\nThe MCP server is provided by an ACP component and communicates over the ACP channel." - }, { "$ref": "#/$defs/McpServerStdio", "description": "Stdio transport configuration\n\nAll Agents MUST support this transport." @@ -355,37 +341,6 @@ ], "description": "SSE transport configuration for MCP." }, - "McpServerAcpId": { - "type": "string", - "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nUnique identifier for an MCP server using the ACP transport.\n\nThe value is opaque and generated by the ACP component providing the MCP server. It is\nused by `mcp/connect` to route connection requests back to the component that declared the\nserver." - }, - "McpServerAcp": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Human-readable name identifying this MCP server." - }, - "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)", - "x-deserialize-default-on-error": {} - } - }, - "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": { "type": "object", "properties": { diff --git a/crates/goose/src/acp/provider.rs b/crates/goose/src/acp/provider.rs index b0f53c66f..3eb3cd64b 100644 --- a/crates/goose/src/acp/provider.rs +++ b/crates/goose/src/acp/provider.rs @@ -1243,8 +1243,7 @@ async fn handle_requests( let client_capabilities = ClientCapabilities::new(); let init_response: InitializeResponse = cx .send_request( - InitializeRequest::new(ProtocolVersion::LATEST) - .client_capabilities(client_capabilities), + InitializeRequest::new(ProtocolVersion::V1).client_capabilities(client_capabilities), ) .block_task() .await diff --git a/crates/goose/src/acp/server.rs b/crates/goose/src/acp/server.rs index 5a0d5bac7..2bda88ed1 100644 --- a/crates/goose/src/acp/server.rs +++ b/crates/goose/src/acp/server.rs @@ -2810,8 +2810,7 @@ print(\"hello, world\") #[test] fn test_goose_custom_notifications_capability_defaults_to_false() { - let request = - InitializeRequest::new(agent_client_protocol::schema::ProtocolVersion::LATEST); + let request = InitializeRequest::new(agent_client_protocol::schema::ProtocolVersion::V1); let goose_client_capabilities = extract_client_capabilities_meta(&request).and_then(|meta| meta.goose); @@ -2840,11 +2839,10 @@ print(\"hello, world\") let mut meta = serde_json::Map::new(); meta.insert("goose".to_string(), serde_json::Value::Object(goose_meta)); - let request = - InitializeRequest::new(agent_client_protocol::schema::ProtocolVersion::LATEST) - .client_capabilities( - agent_client_protocol::schema::v1::ClientCapabilities::new().meta(meta), - ); + let request = InitializeRequest::new(agent_client_protocol::schema::ProtocolVersion::V1) + .client_capabilities( + agent_client_protocol::schema::v1::ClientCapabilities::new().meta(meta), + ); let goose_client_capabilities = extract_client_capabilities_meta(&request).and_then(|meta| meta.goose); @@ -2855,8 +2853,7 @@ print(\"hello, world\") #[test] fn test_tool_call_label_enrichment_capability() { - let request = - InitializeRequest::new(agent_client_protocol::schema::ProtocolVersion::LATEST); + let request = InitializeRequest::new(agent_client_protocol::schema::ProtocolVersion::V1); let goose_client_capabilities = extract_client_capabilities_meta(&request).and_then(|meta| meta.goose); assert!(!goose_client_capabilities @@ -2870,11 +2867,10 @@ print(\"hello, world\") ); let mut meta = serde_json::Map::new(); meta.insert("goose".to_string(), serde_json::Value::Object(goose_meta)); - let request = - InitializeRequest::new(agent_client_protocol::schema::ProtocolVersion::LATEST) - .client_capabilities( - agent_client_protocol::schema::v1::ClientCapabilities::new().meta(meta), - ); + let request = InitializeRequest::new(agent_client_protocol::schema::ProtocolVersion::V1) + .client_capabilities( + agent_client_protocol::schema::v1::ClientCapabilities::new().meta(meta), + ); let goose_client_capabilities = extract_client_capabilities_meta(&request).and_then(|meta| meta.goose); assert!(goose_client_capabilities diff --git a/crates/goose/tests/acp_fixtures/server.rs b/crates/goose/tests/acp_fixtures/server.rs index cdaa928f2..4c0780797 100644 --- a/crates/goose/tests/acp_fixtures/server.rs +++ b/crates/goose/tests/acp_fixtures/server.rs @@ -346,7 +346,7 @@ impl Connection for AcpServerConnection { async move |cx: ConnectionTo| { let resp = cx .send_request( - InitializeRequest::new(ProtocolVersion::LATEST) + InitializeRequest::new(ProtocolVersion::V1) .client_capabilities( ClientCapabilities::new() .fs(fs_cap) @@ -356,6 +356,11 @@ impl Connection for AcpServerConnection { .block_task() .await .unwrap(); + assert_eq!( + resp.protocol_version, + ProtocolVersion::V1, + "initialize response must negotiate ACP V1" + ); assert_eq!( resp.agent_info.as_ref().map(|info| info.name.as_str()), Some("goose"), diff --git a/ui/desktop/package.json b/ui/desktop/package.json index c8c9ba233..707280b1f 100644 --- a/ui/desktop/package.json +++ b/ui/desktop/package.json @@ -50,7 +50,7 @@ }, "dependencies": { "@aaif/goose-sdk": "workspace:*", - "@agentclientprotocol/sdk": "^1.3.0", + "@agentclientprotocol/sdk": "1.3.0", "@mcp-ui/client": "6.1.0", "@modelcontextprotocol/ext-apps": "^1.1.1", "@radix-ui/react-accordion": "^1.2.12", diff --git a/ui/desktop/src/acp/__tests__/acpConnection.test.ts b/ui/desktop/src/acp/__tests__/acpConnection.test.ts index 45a9205cd..53663307b 100644 --- a/ui/desktop/src/acp/__tests__/acpConnection.test.ts +++ b/ui/desktop/src/acp/__tests__/acpConnection.test.ts @@ -76,6 +76,10 @@ describe('ACP connection ownership', () => { expect(first).toBe(second); expect(mockClientFactory.instances).toHaveLength(1); expect(mockClientFactory.initialize).toHaveBeenCalledTimes(1); + expect(mockClientFactory.initialize).toHaveBeenCalledWith( + expect.anything(), + expect.objectContaining({ protocolVersion: 1 }) + ); expect(transport.createWebSocketStream).toHaveBeenCalledWith('ws://localhost/acp', { protocols: [], }); diff --git a/ui/desktop/src/acp/acpConnection.ts b/ui/desktop/src/acp/acpConnection.ts index ffa77a53b..efc092363 100644 --- a/ui/desktop/src/acp/acpConnection.ts +++ b/ui/desktop/src/acp/acpConnection.ts @@ -26,6 +26,7 @@ type AcpRecoveryListener = (recovering: boolean) => void; const ACP_INITIALIZE_TIMEOUT_MS = 10_000; const ACP_RECONNECT_BASE_DELAY_MS = 500; const ACP_RECONNECT_MAX_DELAY_MS = 30_000; +const ACP_V1_PROTOCOL_VERSION: 1 = PROTOCOL_VERSION; let currentConnection: AcpConnection | null = null; let pendingConnection: Promise | null = null; @@ -139,7 +140,7 @@ async function openConnection(generation: number): Promise { try { const initializeResponse = await withTimeout( client.connection.agent.request(methods.agent.initialize, { - protocolVersion: PROTOCOL_VERSION, + protocolVersion: ACP_V1_PROTOCOL_VERSION, _meta: { 'goose/useLoginShellPath': true, }, diff --git a/ui/pnpm-lock.yaml b/ui/pnpm-lock.yaml index c8fd00cf8..8dda6aa34 100644 --- a/ui/pnpm-lock.yaml +++ b/ui/pnpm-lock.yaml @@ -22,7 +22,7 @@ importers: specifier: workspace:* version: link:../sdk '@agentclientprotocol/sdk': - specifier: ^1.3.0 + specifier: 1.3.0 version: 1.3.0(zod@3.25.76) '@mcp-ui/client': specifier: 6.1.0 @@ -358,7 +358,7 @@ importers: version: 3.25.76 devDependencies: '@agentclientprotocol/sdk': - specifier: ^1.3.0 + specifier: 1.3.0 version: 1.3.0(zod@3.25.76) '@hey-api/openapi-ts': specifier: ^0.92.3 diff --git a/ui/sdk/package.json b/ui/sdk/package.json index 9e1f7f954..770011c1a 100644 --- a/ui/sdk/package.json +++ b/ui/sdk/package.json @@ -56,7 +56,7 @@ "@aaif/goose-binary-win32-x64": "workspace:*" }, "devDependencies": { - "@agentclientprotocol/sdk": "^1.3.0", + "@agentclientprotocol/sdk": "1.3.0", "@hey-api/openapi-ts": "^0.92.3", "@types/node": "^26.1.2", "prettier": "^3.8.1", diff --git a/ui/sdk/src/generated/index.ts b/ui/sdk/src/generated/index.ts index 03854f5e6..3cfc508c4 100644 --- a/ui/sdk/src/generated/index.ts +++ b/ui/sdk/src/generated/index.ts @@ -1,6 +1,6 @@ // This file is auto-generated by @hey-api/openapi-ts -export type { AddConfigExtensionRequest_unstable, AddSessionExtensionRequest_unstable, AgentMention, Annotations, AppsDeleteRequest_unstable, AppsDeleteResponse_unstable, AppsExportRequest_unstable, AppsExportResponse_unstable, AppsImportRequest_unstable, AppsImportResponse_unstable, AppsListRequest_unstable, AppsListResponse_unstable, ArchiveSessionRequest_unstable, AudioContent, AvailableCommand, AvailableCommandInput, BlobResourceContents, CanonicalModelInfoDto, CanonicalModelInfoRequest_unstable, CanonicalModelInfoResponse_unstable, ConfigReadAllRequest_unstable, ConfigReadAllResponse_unstable, ConfigReadRequest_unstable, ConfigReadResponse_unstable, ConfigRemoveRequest_unstable, ConfigUpsertRequest_unstable, ContentBlock, CostSourceData, CreateScheduleRequest_unstable, CreateScheduleResponse_unstable, CreateSourceRequest_unstable, CreateSourceResponse_unstable, CustomProviderConfigDto, CustomProviderCreateRequest_unstable, CustomProviderCreateResponse_unstable, CustomProviderDeleteRequest_unstable, CustomProviderDeleteResponse_unstable, CustomProviderReadRequest_unstable, CustomProviderReadResponse_unstable, CustomProviderUpdateRequest_unstable, CustomProviderUpdateResponse_unstable, DecodeRecipeRequest_unstable, DecodeRecipeResponse_unstable, DefaultsClearRequest_unstable, DefaultsReadRequest_unstable, DefaultsReadResponse_unstable, DefaultsSaveRequest_unstable, DeleteRecipeRequest_unstable, DeleteScheduleRequest_unstable, DeleteSourceRequest_unstable, DiagnosticsGetRequest_unstable, DiagnosticsGetResponse_unstable, DiagnosticsReportLevel, DictationConfigRequest_unstable, DictationConfigResponse_unstable, DictationDownloadProgress, DictationLocalModelStatus, DictationModelCancelRequest_unstable, DictationModelDeleteRequest_unstable, DictationModelDownloadProgressRequest_unstable, DictationModelDownloadProgressResponse_unstable, DictationModelDownloadRequest_unstable, DictationModelOption, DictationModelSelectRequest_unstable, DictationModelsListRequest_unstable, DictationModelsListResponse_unstable, DictationProviderStatusEntry, DictationSecretDeleteRequest_unstable, DictationSecretSaveRequest_unstable, DictationTranscribeRequest_unstable, DictationTranscribeResponse_unstable, EmbeddedResource, EmbeddedResourceResource, EmptyResponse, EncodeRecipeRequest_unstable, EncodeRecipeResponse_unstable, EnvVariable, ExportSessionRequest_unstable, ExportSessionResponse_unstable, ExportSourceRequest_unstable, ExportSourceResponse_unstable, ExtAgentRequest, ExtAgentResponse, ExtNotification, ExtRequest, ExtResponse, GetAvailableExtensionsRequest_unstable, GetAvailableExtensionsResponse_unstable, GetConfigExtensionsRequest_unstable, GetConfigExtensionsResponse_unstable, GetPromptRequest_unstable, GetPromptResponse_unstable, GetSessionExtensionsRequest_unstable, GetSessionExtensionsResponse_unstable, GetSessionInfoRequest_unstable, GetSessionInfoResponse_unstable, GetToolsRequest_unstable, GetToolsResponse_unstable, GooseExtension, GooseExtensionEntry, GooseSessionNotification_unstable, GooseSessionUpdate, GooseToolCallRequest_unstable, GooseToolCallResponse_unstable, HttpHeader, ImageContent, ImportSessionRequest_unstable, ImportSessionResponse_unstable, ImportSourcesRequest_unstable, ImportSourcesResponse_unstable, InspectRunningJobRequest_unstable, InspectRunningJobResponse_unstable, KillRunningJobRequest_unstable, KillRunningJobResponse_unstable, ListAgentMentionsRequest_unstable, ListAgentMentionsResponse_unstable, ListPromptsRequest_unstable, ListPromptsResponse_unstable, ListProvidersRequest_unstable, ListProvidersResponse_unstable, ListRecipesRequest_unstable, ListRecipesResponse_unstable, ListScheduleSessionsRequest_unstable, ListScheduleSessionsResponse_unstable, ListSchedulesRequest_unstable, ListSchedulesResponse_unstable, ListSlashCommandsRequest_unstable, ListSlashCommandsResponse_unstable, ListSourcesRequest_unstable, ListSourcesResponse_unstable, LocalInferenceBuiltinChatTemplatesListRequest_unstable, LocalInferenceBuiltinChatTemplatesListResponse_unstable, LocalInferenceChatTemplate, LocalInferenceDownloadProgressDto, LocalInferenceDownloadState, LocalInferenceHfGgufFileDto, LocalInferenceHfModelInfoDto, LocalInferenceHfModelVariantDto, LocalInferenceHuggingFaceRepoVariantsRequest_unstable, LocalInferenceHuggingFaceRepoVariantsResponse_unstable, LocalInferenceHuggingFaceSearchRequest_unstable, LocalInferenceHuggingFaceSearchResponse_unstable, LocalInferenceModelDeleteRequest_unstable, LocalInferenceModelDownloadCancelRequest_unstable, LocalInferenceModelDownloadProgressRequest_unstable, LocalInferenceModelDownloadProgressResponse_unstable, LocalInferenceModelDownloadRequest_unstable, LocalInferenceModelDownloadResponse_unstable, LocalInferenceModelDownloadStatusDto, LocalInferenceModelDto, LocalInferenceModelEvictRequest_unstable, LocalInferenceModelSettingsDto, LocalInferenceModelSettingsReadRequest_unstable, LocalInferenceModelSettingsReadResponse_unstable, LocalInferenceModelSettingsUpdateRequest_unstable, LocalInferenceModelSettingsUpdateResponse_unstable, LocalInferenceModelsListRequest_unstable, LocalInferenceModelsListResponse_unstable, LocalInferenceSamplingConfig, LocalInferenceToolCallingMode, McpServer, McpServerAcp, McpServerAcpId, McpServerHttp, McpServerSse, McpServerStdio, MessageUsageData, MessageUsageUpdate, OnboardingImportApplyRequest_unstable, OnboardingImportApplyResponse_unstable, OnboardingImportCandidate, OnboardingImportCounts, OnboardingImportScanRequest_unstable, OnboardingImportScanResponse_unstable, OnboardingImportSourceKind, ParseRecipeRequest_unstable, ParseRecipeResponse_unstable, PauseScheduleRequest_unstable, PreferenceKey, PreferencesReadRequest_unstable, PreferencesReadResponse_unstable, PreferencesRemoveRequest_unstable, PreferencesSaveRequest_unstable, PreferenceValue, PromptOperationResponse_unstable, PromptTemplateEntry, ProviderCatalogListRequest_unstable, ProviderCatalogListResponse_unstable, ProviderCatalogTemplateRequest_unstable, ProviderCatalogTemplateResponse_unstable, ProviderConfigAuthenticateRequest_unstable, ProviderConfigChangeResponse_unstable, ProviderConfigDeleteRequest_unstable, ProviderConfigFieldUpdate, ProviderConfigFieldValueDto, ProviderConfigKey, ProviderConfigReadRequest_unstable, ProviderConfigReadResponse_unstable, ProviderConfigSaveRequest_unstable, ProviderConfigStatusDto, ProviderConfigStatusRequest_unstable, ProviderConfigStatusResponse_unstable, ProviderInventoryEntryDto, ProviderInventoryModelDto, ProviderReadinessCheckRequest_unstable, ProviderReadinessCheckResponse_unstable, ProviderSecretDeleteRequest_unstable, ProviderSecretDto, ProviderSecretsListRequest_unstable, ProviderSecretsListResponse_unstable, ProviderSecretStatusDto, ProviderSecretStorageDto, ProviderSetupCatalogEntryDto, ProviderSetupCatalogListRequest_unstable, ProviderSetupCatalogListResponse_unstable, ProviderSetupCategoryDto, ProviderSetupFieldDto, ProviderSetupGroupDto, ProviderSetupMethodDto, ProviderSupportedModelsListRequest_unstable, ProviderSupportedModelsListResponse_unstable, ProviderTemplateCapabilitiesDto, ProviderTemplateCatalogEntryDto, ProviderTemplateDto, ProviderTemplateModelDto, ReadResourceRequest_unstable, ReadResourceResponse_unstable, RecipeAuthorDto, RecipeDto, RecipeExtensionDto, RecipeListEntryDto, RecipeParameterDto, RecipeParameterInputTypeDto, RecipeParameterRequirementDto, RecipeParamsAction, RecipeParamsResponse_unstable, RecipeResponseDto, RecipeRetryConfigDto, RecipeSettingsDto, RecipeSuccessCheckDto, RecipeToYamlRequest_unstable, RecipeToYamlResponse_unstable, RefreshProviderInventoryRequest_unstable, RefreshProviderInventoryResponse_unstable, RefreshProviderInventorySkipDto, RefreshProviderInventorySkipReasonDto, RemoveConfigExtensionRequest_unstable, RemoveSessionExtensionRequest_unstable, RenameSessionRequest_unstable, RequestRecipeParams_unstable, ResetPromptRequest_unstable, ResourceLink, Role, RunScheduleNowRequest_unstable, RunScheduleNowResponse_unstable, RunScheduleNowStatus, SavePromptRequest_unstable, SaveRecipeRequest_unstable, SaveRecipeResponse_unstable, ScanRecipeRequest_unstable, ScanRecipeResponse_unstable, ScheduledJobDto, ScheduleRecipeRequest_unstable, SessionExportFormat, SessionId, SessionImportSource, SessionInfo, SessionSystemPromptMode, SessionUsageUpdate, SetConfigExtensionEnabledRequest_unstable, SetRecipeSlashCommandRequest_unstable, SetSessionSystemPromptRequest_unstable, SetToolPermissionsRequest_unstable, SetToolPermissionsResponse_unstable, ShareSessionNostrRequest_unstable, ShareSessionNostrResponse_unstable, SourceEntry, SourceScope, SourceType, StatusMessage, StatusMessageUpdate, SteerSessionRequest_unstable, SteerSessionResponse_unstable, SubRecipeDto, TextContent, TextResourceContents, ToolListItem, ToolPermissionEntry, ToolPermissionLevel, TruncateSessionConversationRequest_unstable, UnarchiveSessionRequest_unstable, UnpauseScheduleRequest_unstable, UnstructuredCommandInput, UpdateScheduleRequest_unstable, UpdateScheduleResponse_unstable, UpdateSessionProjectRequest_unstable, UpdateSourceRequest_unstable, UpdateSourceResponse_unstable, UpdateWorkingDirRequest_unstable } from './types.gen.js'; +export type { AddConfigExtensionRequest_unstable, AddSessionExtensionRequest_unstable, AgentMention, Annotations, AppsDeleteRequest_unstable, AppsDeleteResponse_unstable, AppsExportRequest_unstable, AppsExportResponse_unstable, AppsImportRequest_unstable, AppsImportResponse_unstable, AppsListRequest_unstable, AppsListResponse_unstable, ArchiveSessionRequest_unstable, AudioContent, AvailableCommand, AvailableCommandInput, BlobResourceContents, CanonicalModelInfoDto, CanonicalModelInfoRequest_unstable, CanonicalModelInfoResponse_unstable, ConfigReadAllRequest_unstable, ConfigReadAllResponse_unstable, ConfigReadRequest_unstable, ConfigReadResponse_unstable, ConfigRemoveRequest_unstable, ConfigUpsertRequest_unstable, ContentBlock, CostSourceData, CreateScheduleRequest_unstable, CreateScheduleResponse_unstable, CreateSourceRequest_unstable, CreateSourceResponse_unstable, CustomProviderConfigDto, CustomProviderCreateRequest_unstable, CustomProviderCreateResponse_unstable, CustomProviderDeleteRequest_unstable, CustomProviderDeleteResponse_unstable, CustomProviderReadRequest_unstable, CustomProviderReadResponse_unstable, CustomProviderUpdateRequest_unstable, CustomProviderUpdateResponse_unstable, DecodeRecipeRequest_unstable, DecodeRecipeResponse_unstable, DefaultsClearRequest_unstable, DefaultsReadRequest_unstable, DefaultsReadResponse_unstable, DefaultsSaveRequest_unstable, DeleteRecipeRequest_unstable, DeleteScheduleRequest_unstable, DeleteSourceRequest_unstable, DiagnosticsGetRequest_unstable, DiagnosticsGetResponse_unstable, DiagnosticsReportLevel, DictationConfigRequest_unstable, DictationConfigResponse_unstable, DictationDownloadProgress, DictationLocalModelStatus, DictationModelCancelRequest_unstable, DictationModelDeleteRequest_unstable, DictationModelDownloadProgressRequest_unstable, DictationModelDownloadProgressResponse_unstable, DictationModelDownloadRequest_unstable, DictationModelOption, DictationModelSelectRequest_unstable, DictationModelsListRequest_unstable, DictationModelsListResponse_unstable, DictationProviderStatusEntry, DictationSecretDeleteRequest_unstable, DictationSecretSaveRequest_unstable, DictationTranscribeRequest_unstable, DictationTranscribeResponse_unstable, EmbeddedResource, EmbeddedResourceResource, EmptyResponse, EncodeRecipeRequest_unstable, EncodeRecipeResponse_unstable, EnvVariable, ExportSessionRequest_unstable, ExportSessionResponse_unstable, ExportSourceRequest_unstable, ExportSourceResponse_unstable, ExtAgentRequest, ExtAgentResponse, ExtNotification, ExtRequest, ExtResponse, GetAvailableExtensionsRequest_unstable, GetAvailableExtensionsResponse_unstable, GetConfigExtensionsRequest_unstable, GetConfigExtensionsResponse_unstable, GetPromptRequest_unstable, GetPromptResponse_unstable, GetSessionExtensionsRequest_unstable, GetSessionExtensionsResponse_unstable, GetSessionInfoRequest_unstable, GetSessionInfoResponse_unstable, GetToolsRequest_unstable, GetToolsResponse_unstable, GooseExtension, GooseExtensionEntry, GooseSessionNotification_unstable, GooseSessionUpdate, GooseToolCallRequest_unstable, GooseToolCallResponse_unstable, HttpHeader, ImageContent, ImportSessionRequest_unstable, ImportSessionResponse_unstable, ImportSourcesRequest_unstable, ImportSourcesResponse_unstable, InspectRunningJobRequest_unstable, InspectRunningJobResponse_unstable, KillRunningJobRequest_unstable, KillRunningJobResponse_unstable, ListAgentMentionsRequest_unstable, ListAgentMentionsResponse_unstable, ListPromptsRequest_unstable, ListPromptsResponse_unstable, ListProvidersRequest_unstable, ListProvidersResponse_unstable, ListRecipesRequest_unstable, ListRecipesResponse_unstable, ListScheduleSessionsRequest_unstable, ListScheduleSessionsResponse_unstable, ListSchedulesRequest_unstable, ListSchedulesResponse_unstable, ListSlashCommandsRequest_unstable, ListSlashCommandsResponse_unstable, ListSourcesRequest_unstable, ListSourcesResponse_unstable, LocalInferenceBuiltinChatTemplatesListRequest_unstable, LocalInferenceBuiltinChatTemplatesListResponse_unstable, LocalInferenceChatTemplate, LocalInferenceDownloadProgressDto, LocalInferenceDownloadState, LocalInferenceHfGgufFileDto, LocalInferenceHfModelInfoDto, LocalInferenceHfModelVariantDto, LocalInferenceHuggingFaceRepoVariantsRequest_unstable, LocalInferenceHuggingFaceRepoVariantsResponse_unstable, LocalInferenceHuggingFaceSearchRequest_unstable, LocalInferenceHuggingFaceSearchResponse_unstable, LocalInferenceModelDeleteRequest_unstable, LocalInferenceModelDownloadCancelRequest_unstable, LocalInferenceModelDownloadProgressRequest_unstable, LocalInferenceModelDownloadProgressResponse_unstable, LocalInferenceModelDownloadRequest_unstable, LocalInferenceModelDownloadResponse_unstable, LocalInferenceModelDownloadStatusDto, LocalInferenceModelDto, LocalInferenceModelEvictRequest_unstable, LocalInferenceModelSettingsDto, LocalInferenceModelSettingsReadRequest_unstable, LocalInferenceModelSettingsReadResponse_unstable, LocalInferenceModelSettingsUpdateRequest_unstable, LocalInferenceModelSettingsUpdateResponse_unstable, LocalInferenceModelsListRequest_unstable, LocalInferenceModelsListResponse_unstable, LocalInferenceSamplingConfig, LocalInferenceToolCallingMode, McpServer, McpServerHttp, McpServerSse, McpServerStdio, MessageUsageData, MessageUsageUpdate, OnboardingImportApplyRequest_unstable, OnboardingImportApplyResponse_unstable, OnboardingImportCandidate, OnboardingImportCounts, OnboardingImportScanRequest_unstable, OnboardingImportScanResponse_unstable, OnboardingImportSourceKind, ParseRecipeRequest_unstable, ParseRecipeResponse_unstable, PauseScheduleRequest_unstable, PreferenceKey, PreferencesReadRequest_unstable, PreferencesReadResponse_unstable, PreferencesRemoveRequest_unstable, PreferencesSaveRequest_unstable, PreferenceValue, PromptOperationResponse_unstable, PromptTemplateEntry, ProviderCatalogListRequest_unstable, ProviderCatalogListResponse_unstable, ProviderCatalogTemplateRequest_unstable, ProviderCatalogTemplateResponse_unstable, ProviderConfigAuthenticateRequest_unstable, ProviderConfigChangeResponse_unstable, ProviderConfigDeleteRequest_unstable, ProviderConfigFieldUpdate, ProviderConfigFieldValueDto, ProviderConfigKey, ProviderConfigReadRequest_unstable, ProviderConfigReadResponse_unstable, ProviderConfigSaveRequest_unstable, ProviderConfigStatusDto, ProviderConfigStatusRequest_unstable, ProviderConfigStatusResponse_unstable, ProviderInventoryEntryDto, ProviderInventoryModelDto, ProviderReadinessCheckRequest_unstable, ProviderReadinessCheckResponse_unstable, ProviderSecretDeleteRequest_unstable, ProviderSecretDto, ProviderSecretsListRequest_unstable, ProviderSecretsListResponse_unstable, ProviderSecretStatusDto, ProviderSecretStorageDto, ProviderSetupCatalogEntryDto, ProviderSetupCatalogListRequest_unstable, ProviderSetupCatalogListResponse_unstable, ProviderSetupCategoryDto, ProviderSetupFieldDto, ProviderSetupGroupDto, ProviderSetupMethodDto, ProviderSupportedModelsListRequest_unstable, ProviderSupportedModelsListResponse_unstable, ProviderTemplateCapabilitiesDto, ProviderTemplateCatalogEntryDto, ProviderTemplateDto, ProviderTemplateModelDto, ReadResourceRequest_unstable, ReadResourceResponse_unstable, RecipeAuthorDto, RecipeDto, RecipeExtensionDto, RecipeListEntryDto, RecipeParameterDto, RecipeParameterInputTypeDto, RecipeParameterRequirementDto, RecipeParamsAction, RecipeParamsResponse_unstable, RecipeResponseDto, RecipeRetryConfigDto, RecipeSettingsDto, RecipeSuccessCheckDto, RecipeToYamlRequest_unstable, RecipeToYamlResponse_unstable, RefreshProviderInventoryRequest_unstable, RefreshProviderInventoryResponse_unstable, RefreshProviderInventorySkipDto, RefreshProviderInventorySkipReasonDto, RemoveConfigExtensionRequest_unstable, RemoveSessionExtensionRequest_unstable, RenameSessionRequest_unstable, RequestRecipeParams_unstable, ResetPromptRequest_unstable, ResourceLink, Role, RunScheduleNowRequest_unstable, RunScheduleNowResponse_unstable, RunScheduleNowStatus, SavePromptRequest_unstable, SaveRecipeRequest_unstable, SaveRecipeResponse_unstable, ScanRecipeRequest_unstable, ScanRecipeResponse_unstable, ScheduledJobDto, ScheduleRecipeRequest_unstable, SessionExportFormat, SessionId, SessionImportSource, SessionInfo, SessionSystemPromptMode, SessionUsageUpdate, SetConfigExtensionEnabledRequest_unstable, SetRecipeSlashCommandRequest_unstable, SetSessionSystemPromptRequest_unstable, SetToolPermissionsRequest_unstable, SetToolPermissionsResponse_unstable, ShareSessionNostrRequest_unstable, ShareSessionNostrResponse_unstable, SourceEntry, SourceScope, SourceType, StatusMessage, StatusMessageUpdate, SteerSessionRequest_unstable, SteerSessionResponse_unstable, SubRecipeDto, TextContent, TextResourceContents, ToolListItem, ToolPermissionEntry, ToolPermissionLevel, TruncateSessionConversationRequest_unstable, UnarchiveSessionRequest_unstable, UnpauseScheduleRequest_unstable, UnstructuredCommandInput, UpdateScheduleRequest_unstable, UpdateScheduleResponse_unstable, UpdateSessionProjectRequest_unstable, UpdateSourceRequest_unstable, UpdateSourceResponse_unstable, UpdateWorkingDirRequest_unstable } from './types.gen.js'; export const GOOSE_EXT_METHODS = [ { diff --git a/ui/sdk/src/generated/types.gen.ts b/ui/sdk/src/generated/types.gen.ts index 68fbb26b6..c94503d9f 100644 --- a/ui/sdk/src/generated/types.gen.ts +++ b/ui/sdk/src/generated/types.gen.ts @@ -64,7 +64,7 @@ export type GooseExtension = { * * See protocol docs: [MCP Servers](https://agentclientprotocol.com/protocol/session-setup#mcp-servers) */ -export type McpServer = McpServerHttp | McpServerSse | McpServerAcp | McpServerStdio; +export type McpServer = McpServerHttp | McpServerSse | McpServerStdio; /** * An HTTP header to set when making requests to the MCP server. @@ -148,53 +148,6 @@ export type McpServerSse = { type: 'sse'; }; -/** - * **UNSTABLE** - * - * This capability is not part of the spec yet, and may be removed or changed at any point. - * - * Unique identifier for an MCP server using the ACP transport. - * - * The value is opaque and generated by the ACP component providing the MCP server. It is - * used by `mcp/connect` to route connection requests back to the component that declared the - * server. - */ -export type McpServerAcpId = string; - -/** - * **UNSTABLE** - * - * This capability is not part of the spec yet, and may be removed or changed at any point. - * - * ACP transport configuration for MCP. - * - * The MCP server is provided by an ACP component and communicates over the ACP channel - * using `mcp/connect`, `mcp/message`, and `mcp/disconnect`. - */ -export type McpServerAcp = { - /** - * Human-readable name identifying this MCP server. - */ - name: string; - /** - * Unique identifier for this MCP server, generated by the component providing it. - * - * Providers MUST NOT reuse an ID for multiple ACP-transport MCP servers that are visible - * on the same ACP connection. - */ - 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 - * these keys. - * - * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) - */ - _meta?: { - [key: string]: unknown; - } | null; -}; - /** * Stdio transport configuration for MCP. */ diff --git a/ui/sdk/src/generated/zod.gen.ts b/ui/sdk/src/generated/zod.gen.ts index 0ac78fdcf..8a8f9c1c7 100644 --- a/ui/sdk/src/generated/zod.gen.ts +++ b/ui/sdk/src/generated/zod.gen.ts @@ -42,38 +42,6 @@ export const zMcpServerSse = z.object({ type: z.literal('sse') }); -/** - * **UNSTABLE** - * - * This capability is not part of the spec yet, and may be removed or changed at any point. - * - * Unique identifier for an MCP server using the ACP transport. - * - * The value is opaque and generated by the ACP component providing the MCP server. It is - * used by `mcp/connect` to route connection requests back to the component that declared the - * server. - */ -export const zMcpServerAcpId = z.string(); - -/** - * **UNSTABLE** - * - * This capability is not part of the spec yet, and may be removed or changed at any point. - * - * ACP transport configuration for MCP. - * - * The MCP server is provided by an ACP component and communicates over the ACP channel - * using `mcp/connect`, `mcp/message`, and `mcp/disconnect`. - */ -export const zMcpServerAcp = z.object({ - name: z.string(), - serverId: zMcpServerAcpId, - _meta: z.union([ - z.record(z.unknown()), - z.null() - ]).optional() -}); - /** * An environment variable to set when launching an MCP server. */ @@ -111,7 +79,6 @@ export const zMcpServerStdio = z.object({ export const zMcpServer = z.union([ zMcpServerHttp, zMcpServerSse, - zMcpServerAcp, zMcpServerStdio ]);