diff --git a/crates/goose-sdk/src/custom_requests.rs b/crates/goose-sdk/src/custom_requests.rs index d271509e..5b007574 100644 --- a/crates/goose-sdk/src/custom_requests.rs +++ b/crates/goose-sdk/src/custom_requests.rs @@ -1122,6 +1122,24 @@ pub struct ListProvidersResponse { pub entries: Vec, } +/// List the raw model identifiers returned by a provider's live supported-models API. +#[derive(Debug, Default, Clone, Serialize, Deserialize, JsonSchema, JsonRpcRequest)] +#[request( + method = "_goose/unstable/providers/supported-models/list", + response = ProviderSupportedModelsListResponse +)] +#[serde(rename_all = "camelCase")] +pub struct ProviderSupportedModelsListRequest { + pub provider_id: String, +} + +#[derive(Debug, Default, Clone, Serialize, Deserialize, JsonSchema, JsonRpcResponse)] +#[serde(rename_all = "camelCase")] +pub struct ProviderSupportedModelsListResponse { + pub provider_id: String, + pub models: Vec, +} + /// Trigger a background refresh of provider inventories. #[derive(Debug, Default, Clone, Serialize, Deserialize, JsonSchema, JsonRpcRequest)] #[request( diff --git a/crates/goose/acp-meta.json b/crates/goose/acp-meta.json index 04ecc8d5..e1d6679e 100644 --- a/crates/goose/acp-meta.json +++ b/crates/goose/acp-meta.json @@ -70,6 +70,11 @@ "requestType": "ListProvidersRequest_unstable", "responseType": "ListProvidersResponse_unstable" }, + { + "method": "_goose/unstable/providers/supported-models/list", + "requestType": "ProviderSupportedModelsListRequest_unstable", + "responseType": "ProviderSupportedModelsListResponse_unstable" + }, { "method": "_goose/unstable/providers/catalog/list", "requestType": "ProviderCatalogListRequest_unstable", diff --git a/crates/goose/acp-schema.json b/crates/goose/acp-schema.json index 31ba1b5a..9afa77e6 100644 --- a/crates/goose/acp-schema.json +++ b/crates/goose/acp-schema.json @@ -568,6 +568,40 @@ ], "description": "A single model in provider inventory." }, + "ProviderSupportedModelsListRequest_unstable": { + "type": "object", + "properties": { + "providerId": { + "type": "string" + } + }, + "required": [ + "providerId" + ], + "description": "List the raw model identifiers returned by a provider's live supported-models API.", + "x-side": "agent", + "x-method": "_goose/unstable/providers/supported-models/list" + }, + "ProviderSupportedModelsListResponse_unstable": { + "type": "object", + "properties": { + "providerId": { + "type": "string" + }, + "models": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "providerId", + "models" + ], + "x-side": "agent", + "x-method": "_goose/unstable/providers/supported-models/list" + }, "ProviderCatalogListRequest_unstable": { "type": "object", "properties": { @@ -2755,6 +2789,15 @@ "description": "Params for _goose/unstable/providers/list", "title": "ListProvidersRequest_unstable" }, + { + "allOf": [ + { + "$ref": "#/$defs/ProviderSupportedModelsListRequest_unstable" + } + ], + "description": "Params for _goose/unstable/providers/supported-models/list", + "title": "ProviderSupportedModelsListRequest_unstable" + }, { "allOf": [ { @@ -3219,6 +3262,14 @@ ], "title": "ListProvidersResponse_unstable" }, + { + "allOf": [ + { + "$ref": "#/$defs/ProviderSupportedModelsListResponse_unstable" + } + ], + "title": "ProviderSupportedModelsListResponse_unstable" + }, { "allOf": [ { diff --git a/crates/goose/src/acp/server/custom_dispatch.rs b/crates/goose/src/acp/server/custom_dispatch.rs index f54d8547..81c6e671 100644 --- a/crates/goose/src/acp/server/custom_dispatch.rs +++ b/crates/goose/src/acp/server/custom_dispatch.rs @@ -122,6 +122,14 @@ impl GooseAcpAgent { self.on_list_providers(req).await } + #[custom_method(ProviderSupportedModelsListRequest)] + async fn dispatch_list_provider_supported_models( + &self, + req: ProviderSupportedModelsListRequest, + ) -> Result { + self.on_list_provider_supported_models(req).await + } + #[custom_method(ProviderCatalogListRequest)] async fn dispatch_list_provider_catalog( &self, diff --git a/crates/goose/src/acp/server/providers.rs b/crates/goose/src/acp/server/providers.rs index 6a1870be..2916ccf4 100644 --- a/crates/goose/src/acp/server/providers.rs +++ b/crates/goose/src/acp/server/providers.rs @@ -438,6 +438,30 @@ impl GooseAcpAgent { }) } + pub(super) async fn on_list_provider_supported_models( + &self, + req: ProviderSupportedModelsListRequest, + ) -> Result { + let entry = crate::providers::get_from_registry(&req.provider_id) + .await + .invalid_params_err_ctx("Unknown provider")?; + let model_config = crate::model::ModelConfig::new(&entry.metadata().default_model) + .invalid_params_err_ctx("Invalid default model")?; + let provider = self + .create_provider(&req.provider_id, model_config, Vec::new(), None) + .await + .internal_err_ctx("Failed to initialize provider")?; + let models = provider + .fetch_supported_models() + .await + .internal_err_ctx("Failed to fetch provider supported models")?; + + Ok(ProviderSupportedModelsListResponse { + provider_id: req.provider_id, + models, + }) + } + pub(super) async fn on_list_provider_catalog( &self, req: ProviderCatalogListRequest, diff --git a/crates/goose/tests/acp_custom_requests_test.rs b/crates/goose/tests/acp_custom_requests_test.rs index 03e25ebc..24e237e4 100644 --- a/crates/goose/tests/acp_custom_requests_test.rs +++ b/crates/goose/tests/acp_custom_requests_test.rs @@ -21,6 +21,7 @@ struct MockProvider { name: String, model_config: ModelConfig, recommended_models: Vec, + supported_models: Vec, } #[async_trait::async_trait] @@ -47,6 +48,10 @@ impl Provider for MockProvider { async fn fetch_recommended_models(&self) -> Result, ProviderError> { Ok(self.recommended_models.clone()) } + + async fn fetch_supported_models(&self) -> Result, ProviderError> { + Ok(self.supported_models.clone()) + } } fn mock_provider_factory() -> AcpProviderFactory { @@ -62,6 +67,7 @@ fn mock_provider_factory() -> AcpProviderFactory { Ok(Arc::new(MockProvider { name: provider_name, model_config, + supported_models: recommended_models.clone(), recommended_models, }) as Arc) }) @@ -133,6 +139,7 @@ fn test_new_session_passes_cwd_to_provider_factory() { name: provider_name, model_config, recommended_models: Vec::new(), + supported_models: Vec::new(), }) as Arc) }) }, @@ -180,6 +187,7 @@ fn test_load_session_passes_load_cwd_to_provider_factory() { name: provider_name, model_config, recommended_models: Vec::new(), + supported_models: Vec::new(), }) as Arc) }) }, @@ -673,3 +681,52 @@ fn test_developer_fs_requests_use_acp_session_id() { ); }); } + +#[test] +fn test_custom_provider_supported_models_lists_raw_provider_models() { + run_test(async move { + let openai = OpenAiFixture::new(vec![], Arc::new(EnforceSessionId::default())).await; + let provider_factory: AcpProviderFactory = + Arc::new(|provider_name, model_config, _extensions, _working_dir| { + Box::pin(async move { + Ok(Arc::new(MockProvider { + name: provider_name, + model_config, + recommended_models: vec!["canonical-filtered-model".to_string()], + supported_models: vec![ + "goose-claude-opus-4-8".to_string(), + "raw-databricks-endpoint".to_string(), + ], + }) as Arc) + }) + }); + let conn = AcpServerConnection::new( + TestConnectionConfig { + provider_factory: Some(provider_factory), + ..Default::default() + }, + openai, + ) + .await; + + let response = send_custom( + conn.cx(), + "_goose/unstable/providers/supported-models/list", + serde_json::json!({ "providerId": "openai" }), + ) + .await + .expect("provider supported models list should succeed"); + + assert_eq!( + response.get("providerId"), + Some(&serde_json::json!("openai")) + ); + assert_eq!( + response.get("models"), + Some(&serde_json::json!([ + "goose-claude-opus-4-8", + "raw-databricks-endpoint" + ])) + ); + }); +} diff --git a/ui/sdk/src/generated/client.gen.ts b/ui/sdk/src/generated/client.gen.ts index 67b296cd..22beacb4 100644 --- a/ui/sdk/src/generated/client.gen.ts +++ b/ui/sdk/src/generated/client.gen.ts @@ -82,6 +82,8 @@ import type { ProviderConfigStatusResponse_unstable, ProviderSetupCatalogListRequest_unstable, ProviderSetupCatalogListResponse_unstable, + ProviderSupportedModelsListRequest_unstable, + ProviderSupportedModelsListResponse_unstable, ReadResourceRequest_unstable, ReadResourceResponse_unstable, RefreshProviderInventoryRequest_unstable, @@ -127,6 +129,7 @@ import { zProviderConfigReadResponse_unstable, zProviderConfigStatusResponse_unstable, zProviderSetupCatalogListResponse_unstable, + zProviderSupportedModelsListResponse_unstable, zReadResourceResponse_unstable, zRefreshProviderInventoryResponse_unstable, zUpdateSourceResponse_unstable, @@ -260,6 +263,18 @@ export class GooseExtClient { ) as ListProvidersResponse_unstable; } + async providersSupportedModelsList_unstable( + params: ProviderSupportedModelsListRequest_unstable, + ): Promise { + const raw = await this.conn.extMethod( + "_goose/unstable/providers/supported-models/list", + params, + ); + return zProviderSupportedModelsListResponse_unstable.parse( + raw, + ) as ProviderSupportedModelsListResponse_unstable; + } + async providersCatalogList_unstable( params: ProviderCatalogListRequest_unstable, ): Promise { diff --git a/ui/sdk/src/generated/index.ts b/ui/sdk/src/generated/index.ts index 9bea10d7..85a63bc0 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, AddExtensionRequest_unstable, ArchiveSessionRequest_unstable, CreateSourceRequest_unstable, CreateSourceResponse_unstable, CustomProviderConfigDto, CustomProviderCreateRequest_unstable, CustomProviderCreateResponse_unstable, CustomProviderDeleteRequest_unstable, CustomProviderDeleteResponse_unstable, CustomProviderReadRequest_unstable, CustomProviderReadResponse_unstable, CustomProviderUpdateRequest_unstable, CustomProviderUpdateResponse_unstable, DefaultsReadRequest_unstable, DefaultsReadResponse_unstable, DefaultsSaveRequest_unstable, DeleteSessionRequest, DeleteSourceRequest_unstable, 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, EmptyResponse, ExportSessionRequest_unstable, ExportSessionResponse_unstable, ExportSourceRequest_unstable, ExportSourceResponse_unstable, ExtRequest, ExtResponse, GetExtensionsRequest_unstable, GetExtensionsResponse_unstable, GetSessionExtensionsRequest_unstable, GetSessionExtensionsResponse_unstable, GetToolsRequest_unstable, GetToolsResponse_unstable, GooseToolCallRequest_unstable, GooseToolCallResponse_unstable, ImportSessionRequest_unstable, ImportSessionResponse_unstable, ImportSourcesRequest_unstable, ImportSourcesResponse_unstable, ListProvidersRequest_unstable, ListProvidersResponse_unstable, ListSourcesRequest_unstable, ListSourcesResponse_unstable, OnboardingImportApplyRequest_unstable, OnboardingImportApplyResponse_unstable, OnboardingImportCandidate, OnboardingImportCounts, OnboardingImportScanRequest_unstable, OnboardingImportScanResponse_unstable, OnboardingImportSourceKind, PreferenceKey, PreferencesReadRequest_unstable, PreferencesReadResponse_unstable, PreferencesRemoveRequest_unstable, PreferencesSaveRequest_unstable, PreferenceValue, 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, ProviderSetupCatalogEntryDto, ProviderSetupCatalogListRequest_unstable, ProviderSetupCatalogListResponse_unstable, ProviderSetupCategoryDto, ProviderSetupFieldDto, ProviderSetupGroupDto, ProviderSetupMethodDto, ProviderTemplateCapabilitiesDto, ProviderTemplateCatalogEntryDto, ProviderTemplateDto, ProviderTemplateModelDto, ReadResourceRequest_unstable, ReadResourceResponse_unstable, RefreshProviderInventoryRequest_unstable, RefreshProviderInventoryResponse_unstable, RefreshProviderInventorySkipDto, RefreshProviderInventorySkipReasonDto, RemoveConfigExtensionRequest_unstable, RemoveExtensionRequest_unstable, RenameSessionRequest_unstable, SessionSystemPromptMode, SetSessionSystemPromptRequest_unstable, SourceEntry, SourceScope, SourceType, ToggleConfigExtensionRequest_unstable, UnarchiveSessionRequest_unstable, UpdateSessionProjectRequest_unstable, UpdateSourceRequest_unstable, UpdateSourceResponse_unstable, UpdateWorkingDirRequest_unstable } from './types.gen.js'; +export type { AddConfigExtensionRequest_unstable, AddExtensionRequest_unstable, ArchiveSessionRequest_unstable, CreateSourceRequest_unstable, CreateSourceResponse_unstable, CustomProviderConfigDto, CustomProviderCreateRequest_unstable, CustomProviderCreateResponse_unstable, CustomProviderDeleteRequest_unstable, CustomProviderDeleteResponse_unstable, CustomProviderReadRequest_unstable, CustomProviderReadResponse_unstable, CustomProviderUpdateRequest_unstable, CustomProviderUpdateResponse_unstable, DefaultsReadRequest_unstable, DefaultsReadResponse_unstable, DefaultsSaveRequest_unstable, DeleteSessionRequest, DeleteSourceRequest_unstable, 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, EmptyResponse, ExportSessionRequest_unstable, ExportSessionResponse_unstable, ExportSourceRequest_unstable, ExportSourceResponse_unstable, ExtRequest, ExtResponse, GetExtensionsRequest_unstable, GetExtensionsResponse_unstable, GetSessionExtensionsRequest_unstable, GetSessionExtensionsResponse_unstable, GetToolsRequest_unstable, GetToolsResponse_unstable, GooseToolCallRequest_unstable, GooseToolCallResponse_unstable, ImportSessionRequest_unstable, ImportSessionResponse_unstable, ImportSourcesRequest_unstable, ImportSourcesResponse_unstable, ListProvidersRequest_unstable, ListProvidersResponse_unstable, ListSourcesRequest_unstable, ListSourcesResponse_unstable, OnboardingImportApplyRequest_unstable, OnboardingImportApplyResponse_unstable, OnboardingImportCandidate, OnboardingImportCounts, OnboardingImportScanRequest_unstable, OnboardingImportScanResponse_unstable, OnboardingImportSourceKind, PreferenceKey, PreferencesReadRequest_unstable, PreferencesReadResponse_unstable, PreferencesRemoveRequest_unstable, PreferencesSaveRequest_unstable, PreferenceValue, 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, ProviderSetupCatalogEntryDto, ProviderSetupCatalogListRequest_unstable, ProviderSetupCatalogListResponse_unstable, ProviderSetupCategoryDto, ProviderSetupFieldDto, ProviderSetupGroupDto, ProviderSetupMethodDto, ProviderSupportedModelsListRequest_unstable, ProviderSupportedModelsListResponse_unstable, ProviderTemplateCapabilitiesDto, ProviderTemplateCatalogEntryDto, ProviderTemplateDto, ProviderTemplateModelDto, ReadResourceRequest_unstable, ReadResourceResponse_unstable, RefreshProviderInventoryRequest_unstable, RefreshProviderInventoryResponse_unstable, RefreshProviderInventorySkipDto, RefreshProviderInventorySkipReasonDto, RemoveConfigExtensionRequest_unstable, RemoveExtensionRequest_unstable, RenameSessionRequest_unstable, SessionSystemPromptMode, SetSessionSystemPromptRequest_unstable, SourceEntry, SourceScope, SourceType, ToggleConfigExtensionRequest_unstable, UnarchiveSessionRequest_unstable, UpdateSessionProjectRequest_unstable, UpdateSourceRequest_unstable, UpdateSourceResponse_unstable, UpdateWorkingDirRequest_unstable } from './types.gen.js'; export const GOOSE_EXT_METHODS = [ { @@ -73,6 +73,11 @@ export const GOOSE_EXT_METHODS = [ requestType: "ListProvidersRequest_unstable", responseType: "ListProvidersResponse_unstable", }, + { + method: "_goose/unstable/providers/supported-models/list", + requestType: "ProviderSupportedModelsListRequest_unstable", + responseType: "ProviderSupportedModelsListResponse_unstable", + }, { method: "_goose/unstable/providers/catalog/list", requestType: "ProviderCatalogListRequest_unstable", diff --git a/ui/sdk/src/generated/types.gen.ts b/ui/sdk/src/generated/types.gen.ts index 08ec1ce2..410f74ad 100644 --- a/ui/sdk/src/generated/types.gen.ts +++ b/ui/sdk/src/generated/types.gen.ts @@ -304,6 +304,18 @@ export type ProviderInventoryModelDto = { recommended?: boolean; }; +/** + * List the raw model identifiers returned by a provider's live supported-models API. + */ +export type ProviderSupportedModelsListRequest_unstable = { + providerId: string; +}; + +export type ProviderSupportedModelsListResponse_unstable = { + providerId: string; + models: Array; +}; + /** * List custom-provider catalog entries. Omit `format` to list all formats. */ @@ -1078,14 +1090,14 @@ export type DictationModelSelectRequest_unstable = { export type ExtRequest = { id: string; method: string; - params?: AddExtensionRequest_unstable | RemoveExtensionRequest_unstable | GetToolsRequest_unstable | GooseToolCallRequest_unstable | ReadResourceRequest_unstable | UpdateWorkingDirRequest_unstable | SetSessionSystemPromptRequest_unstable | DeleteSessionRequest | GetExtensionsRequest_unstable | AddConfigExtensionRequest_unstable | RemoveConfigExtensionRequest_unstable | ToggleConfigExtensionRequest_unstable | GetSessionExtensionsRequest_unstable | ListProvidersRequest_unstable | ProviderCatalogListRequest_unstable | ProviderSetupCatalogListRequest_unstable | ProviderCatalogTemplateRequest_unstable | CustomProviderCreateRequest_unstable | CustomProviderReadRequest_unstable | CustomProviderUpdateRequest_unstable | CustomProviderDeleteRequest_unstable | RefreshProviderInventoryRequest_unstable | ProviderConfigReadRequest_unstable | ProviderConfigStatusRequest_unstable | ProviderConfigSaveRequest_unstable | ProviderConfigDeleteRequest_unstable | ProviderConfigAuthenticateRequest_unstable | PreferencesReadRequest_unstable | PreferencesSaveRequest_unstable | PreferencesRemoveRequest_unstable | DefaultsReadRequest_unstable | DefaultsSaveRequest_unstable | OnboardingImportScanRequest_unstable | OnboardingImportApplyRequest_unstable | ExportSessionRequest_unstable | ImportSessionRequest_unstable | UpdateSessionProjectRequest_unstable | RenameSessionRequest_unstable | ArchiveSessionRequest_unstable | UnarchiveSessionRequest_unstable | CreateSourceRequest_unstable | ListSourcesRequest_unstable | UpdateSourceRequest_unstable | DeleteSourceRequest_unstable | ExportSourceRequest_unstable | ImportSourcesRequest_unstable | DictationTranscribeRequest_unstable | DictationConfigRequest_unstable | DictationSecretSaveRequest_unstable | DictationSecretDeleteRequest_unstable | DictationModelsListRequest_unstable | DictationModelDownloadRequest_unstable | DictationModelDownloadProgressRequest_unstable | DictationModelCancelRequest_unstable | DictationModelDeleteRequest_unstable | DictationModelSelectRequest_unstable | { + params?: AddExtensionRequest_unstable | RemoveExtensionRequest_unstable | GetToolsRequest_unstable | GooseToolCallRequest_unstable | ReadResourceRequest_unstable | UpdateWorkingDirRequest_unstable | SetSessionSystemPromptRequest_unstable | DeleteSessionRequest | GetExtensionsRequest_unstable | AddConfigExtensionRequest_unstable | RemoveConfigExtensionRequest_unstable | ToggleConfigExtensionRequest_unstable | GetSessionExtensionsRequest_unstable | ListProvidersRequest_unstable | ProviderSupportedModelsListRequest_unstable | ProviderCatalogListRequest_unstable | ProviderSetupCatalogListRequest_unstable | ProviderCatalogTemplateRequest_unstable | CustomProviderCreateRequest_unstable | CustomProviderReadRequest_unstable | CustomProviderUpdateRequest_unstable | CustomProviderDeleteRequest_unstable | RefreshProviderInventoryRequest_unstable | ProviderConfigReadRequest_unstable | ProviderConfigStatusRequest_unstable | ProviderConfigSaveRequest_unstable | ProviderConfigDeleteRequest_unstable | ProviderConfigAuthenticateRequest_unstable | PreferencesReadRequest_unstable | PreferencesSaveRequest_unstable | PreferencesRemoveRequest_unstable | DefaultsReadRequest_unstable | DefaultsSaveRequest_unstable | OnboardingImportScanRequest_unstable | OnboardingImportApplyRequest_unstable | ExportSessionRequest_unstable | ImportSessionRequest_unstable | UpdateSessionProjectRequest_unstable | RenameSessionRequest_unstable | ArchiveSessionRequest_unstable | UnarchiveSessionRequest_unstable | CreateSourceRequest_unstable | ListSourcesRequest_unstable | UpdateSourceRequest_unstable | DeleteSourceRequest_unstable | ExportSourceRequest_unstable | ImportSourcesRequest_unstable | DictationTranscribeRequest_unstable | DictationConfigRequest_unstable | DictationSecretSaveRequest_unstable | DictationSecretDeleteRequest_unstable | DictationModelsListRequest_unstable | DictationModelDownloadRequest_unstable | DictationModelDownloadProgressRequest_unstable | DictationModelCancelRequest_unstable | DictationModelDeleteRequest_unstable | DictationModelSelectRequest_unstable | { [key: string]: unknown; } | null; }; export type ExtResponse = { id: string; - result?: EmptyResponse | GetToolsResponse_unstable | GooseToolCallResponse_unstable | ReadResourceResponse_unstable | GetExtensionsResponse_unstable | GetSessionExtensionsResponse_unstable | ListProvidersResponse_unstable | ProviderCatalogListResponse_unstable | ProviderSetupCatalogListResponse_unstable | ProviderCatalogTemplateResponse_unstable | CustomProviderCreateResponse_unstable | CustomProviderReadResponse_unstable | CustomProviderUpdateResponse_unstable | CustomProviderDeleteResponse_unstable | RefreshProviderInventoryResponse_unstable | ProviderConfigReadResponse_unstable | ProviderConfigStatusResponse_unstable | ProviderConfigChangeResponse_unstable | PreferencesReadResponse_unstable | DefaultsReadResponse_unstable | OnboardingImportScanResponse_unstable | OnboardingImportApplyResponse_unstable | ExportSessionResponse_unstable | ImportSessionResponse_unstable | CreateSourceResponse_unstable | ListSourcesResponse_unstable | UpdateSourceResponse_unstable | ExportSourceResponse_unstable | ImportSourcesResponse_unstable | DictationTranscribeResponse_unstable | DictationConfigResponse_unstable | DictationModelsListResponse_unstable | DictationModelDownloadProgressResponse_unstable | unknown; + result?: EmptyResponse | GetToolsResponse_unstable | GooseToolCallResponse_unstable | ReadResourceResponse_unstable | GetExtensionsResponse_unstable | GetSessionExtensionsResponse_unstable | ListProvidersResponse_unstable | ProviderSupportedModelsListResponse_unstable | ProviderCatalogListResponse_unstable | ProviderSetupCatalogListResponse_unstable | ProviderCatalogTemplateResponse_unstable | CustomProviderCreateResponse_unstable | CustomProviderReadResponse_unstable | CustomProviderUpdateResponse_unstable | CustomProviderDeleteResponse_unstable | RefreshProviderInventoryResponse_unstable | ProviderConfigReadResponse_unstable | ProviderConfigStatusResponse_unstable | ProviderConfigChangeResponse_unstable | PreferencesReadResponse_unstable | DefaultsReadResponse_unstable | OnboardingImportScanResponse_unstable | OnboardingImportApplyResponse_unstable | ExportSessionResponse_unstable | ImportSessionResponse_unstable | CreateSourceResponse_unstable | ListSourcesResponse_unstable | UpdateSourceResponse_unstable | ExportSourceResponse_unstable | ImportSourcesResponse_unstable | DictationTranscribeResponse_unstable | DictationConfigResponse_unstable | DictationModelsListResponse_unstable | DictationModelDownloadProgressResponse_unstable | unknown; } | { error: { code: number; diff --git a/ui/sdk/src/generated/zod.gen.ts b/ui/sdk/src/generated/zod.gen.ts index 5ba310f4..efebe29b 100644 --- a/ui/sdk/src/generated/zod.gen.ts +++ b/ui/sdk/src/generated/zod.gen.ts @@ -242,6 +242,18 @@ export const zListProvidersResponse_unstable = z.object({ entries: z.array(zProviderInventoryEntryDto) }); +/** + * List the raw model identifiers returned by a provider's live supported-models API. + */ +export const zProviderSupportedModelsListRequest_unstable = z.object({ + providerId: z.string() +}); + +export const zProviderSupportedModelsListResponse_unstable = z.object({ + providerId: z.string(), + models: z.array(z.string()) +}); + /** * List custom-provider catalog entries. Omit `format` to list all formats. */ @@ -1095,6 +1107,7 @@ export const zExtRequest = z.object({ zToggleConfigExtensionRequest_unstable, zGetSessionExtensionsRequest_unstable, zListProvidersRequest_unstable, + zProviderSupportedModelsListRequest_unstable, zProviderCatalogListRequest_unstable, zProviderSetupCatalogListRequest_unstable, zProviderCatalogTemplateRequest_unstable, @@ -1157,6 +1170,7 @@ export const zExtResponse = z.union([ zGetExtensionsResponse_unstable, zGetSessionExtensionsResponse_unstable, zListProvidersResponse_unstable, + zProviderSupportedModelsListResponse_unstable, zProviderCatalogListResponse_unstable, zProviderSetupCatalogListResponse_unstable, zProviderCatalogTemplateResponse_unstable,