feat: move goose2 provider catalog behind ACP layer (#9030)
Signed-off-by: Kalvin Chau <kalvin@block.xyz> Signed-off-by: Matt Toohey <contact@matttoohey.com> Co-authored-by: Matt Toohey <contact@matttoohey.com>
This commit is contained in:
@@ -74,6 +74,8 @@ import type {
|
||||
ProviderConfigSaveRequest,
|
||||
ProviderConfigStatusRequest,
|
||||
ProviderConfigStatusResponse,
|
||||
ProviderSetupCatalogListRequest,
|
||||
ProviderSetupCatalogListResponse,
|
||||
ReadResourceRequest,
|
||||
ReadResourceResponse,
|
||||
RefreshProviderInventoryRequest,
|
||||
@@ -115,6 +117,7 @@ import {
|
||||
zProviderConfigChangeResponse,
|
||||
zProviderConfigReadResponse,
|
||||
zProviderConfigStatusResponse,
|
||||
zProviderSetupCatalogListResponse,
|
||||
zReadResourceResponse,
|
||||
zRefreshProviderInventoryResponse,
|
||||
zUpdateSourceResponse,
|
||||
@@ -211,6 +214,18 @@ export class GooseExtClient {
|
||||
) as ProviderCatalogListResponse;
|
||||
}
|
||||
|
||||
async GooseProvidersSetupCatalogList(
|
||||
params: ProviderSetupCatalogListRequest,
|
||||
): Promise<ProviderSetupCatalogListResponse> {
|
||||
const raw = await this.conn.extMethod(
|
||||
"_goose/providers/setup/catalog/list",
|
||||
params,
|
||||
);
|
||||
return zProviderSetupCatalogListResponse.parse(
|
||||
raw,
|
||||
) as ProviderSetupCatalogListResponse;
|
||||
}
|
||||
|
||||
async GooseProvidersCatalogTemplate(
|
||||
params: ProviderCatalogTemplateRequest,
|
||||
): Promise<ProviderCatalogTemplateResponse> {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// This file is auto-generated by @hey-api/openapi-ts
|
||||
|
||||
export type { AddConfigExtensionRequest, AddExtensionRequest, ArchiveSessionRequest, CreateSourceRequest, CreateSourceResponse, CustomProviderConfigDto, CustomProviderCreateRequest, CustomProviderCreateResponse, CustomProviderDeleteRequest, CustomProviderDeleteResponse, CustomProviderReadRequest, CustomProviderReadResponse, CustomProviderUpdateRequest, CustomProviderUpdateResponse, DefaultsReadRequest, DefaultsReadResponse, DeleteSessionRequest, DeleteSourceRequest, DictationConfigRequest, DictationConfigResponse, DictationDownloadProgress, DictationLocalModelStatus, DictationModelCancelRequest, DictationModelDeleteRequest, DictationModelDownloadProgressRequest, DictationModelDownloadProgressResponse, DictationModelDownloadRequest, DictationModelOption, DictationModelSelectRequest, DictationModelsListRequest, DictationModelsListResponse, DictationProviderStatusEntry, DictationSecretDeleteRequest, DictationSecretSaveRequest, DictationTranscribeRequest, DictationTranscribeResponse, EmptyResponse, ExportSessionRequest, ExportSessionResponse, ExportSourceRequest, ExportSourceResponse, ExtRequest, ExtResponse, GetExtensionsRequest, GetExtensionsResponse, GetSessionExtensionsRequest, GetSessionExtensionsResponse, GetToolsRequest, GetToolsResponse, GooseToolCallRequest, GooseToolCallResponse, ImportSessionRequest, ImportSessionResponse, ImportSourcesRequest, ImportSourcesResponse, ListProvidersRequest, ListProvidersResponse, ListSourcesRequest, ListSourcesResponse, PreferenceKey, PreferencesReadRequest, PreferencesReadResponse, PreferencesRemoveRequest, PreferencesSaveRequest, PreferenceValue, ProviderCatalogEntryDto, ProviderCatalogListRequest, ProviderCatalogListResponse, ProviderCatalogTemplateRequest, ProviderCatalogTemplateResponse, ProviderConfigChangeResponse, ProviderConfigDeleteRequest, ProviderConfigFieldUpdate, ProviderConfigFieldValueDto, ProviderConfigKey, ProviderConfigReadRequest, ProviderConfigReadResponse, ProviderConfigSaveRequest, ProviderConfigStatusDto, ProviderConfigStatusRequest, ProviderConfigStatusResponse, ProviderInventoryEntryDto, ProviderInventoryModelDto, ProviderTemplateCapabilitiesDto, ProviderTemplateDto, ProviderTemplateModelDto, ReadResourceRequest, ReadResourceResponse, RefreshProviderInventoryRequest, RefreshProviderInventoryResponse, RefreshProviderInventorySkipDto, RefreshProviderInventorySkipReasonDto, RemoveConfigExtensionRequest, RemoveExtensionRequest, RenameSessionRequest, SourceEntry, SourceType, ToggleConfigExtensionRequest, UnarchiveSessionRequest, UpdateSessionProjectRequest, UpdateSourceRequest, UpdateSourceResponse, UpdateWorkingDirRequest } from './types.gen.js';
|
||||
export type { AddConfigExtensionRequest, AddExtensionRequest, ArchiveSessionRequest, CreateSourceRequest, CreateSourceResponse, CustomProviderConfigDto, CustomProviderCreateRequest, CustomProviderCreateResponse, CustomProviderDeleteRequest, CustomProviderDeleteResponse, CustomProviderReadRequest, CustomProviderReadResponse, CustomProviderUpdateRequest, CustomProviderUpdateResponse, DefaultsReadRequest, DefaultsReadResponse, DeleteSessionRequest, DeleteSourceRequest, DictationConfigRequest, DictationConfigResponse, DictationDownloadProgress, DictationLocalModelStatus, DictationModelCancelRequest, DictationModelDeleteRequest, DictationModelDownloadProgressRequest, DictationModelDownloadProgressResponse, DictationModelDownloadRequest, DictationModelOption, DictationModelSelectRequest, DictationModelsListRequest, DictationModelsListResponse, DictationProviderStatusEntry, DictationSecretDeleteRequest, DictationSecretSaveRequest, DictationTranscribeRequest, DictationTranscribeResponse, EmptyResponse, ExportSessionRequest, ExportSessionResponse, ExportSourceRequest, ExportSourceResponse, ExtRequest, ExtResponse, GetExtensionsRequest, GetExtensionsResponse, GetSessionExtensionsRequest, GetSessionExtensionsResponse, GetToolsRequest, GetToolsResponse, GooseToolCallRequest, GooseToolCallResponse, ImportSessionRequest, ImportSessionResponse, ImportSourcesRequest, ImportSourcesResponse, ListProvidersRequest, ListProvidersResponse, ListSourcesRequest, ListSourcesResponse, PreferenceKey, PreferencesReadRequest, PreferencesReadResponse, PreferencesRemoveRequest, PreferencesSaveRequest, PreferenceValue, ProviderCatalogListRequest, ProviderCatalogListResponse, ProviderCatalogTemplateRequest, ProviderCatalogTemplateResponse, ProviderConfigChangeResponse, ProviderConfigDeleteRequest, ProviderConfigFieldUpdate, ProviderConfigFieldValueDto, ProviderConfigKey, ProviderConfigReadRequest, ProviderConfigReadResponse, ProviderConfigSaveRequest, ProviderConfigStatusDto, ProviderConfigStatusRequest, ProviderConfigStatusResponse, ProviderInventoryEntryDto, ProviderInventoryModelDto, ProviderSetupCatalogEntryDto, ProviderSetupCatalogListRequest, ProviderSetupCatalogListResponse, ProviderSetupCategoryDto, ProviderSetupFieldDto, ProviderSetupGroupDto, ProviderSetupMethodDto, ProviderTemplateCapabilitiesDto, ProviderTemplateCatalogEntryDto, ProviderTemplateDto, ProviderTemplateModelDto, ReadResourceRequest, ReadResourceResponse, RefreshProviderInventoryRequest, RefreshProviderInventoryResponse, RefreshProviderInventorySkipDto, RefreshProviderInventorySkipReasonDto, RemoveConfigExtensionRequest, RemoveExtensionRequest, RenameSessionRequest, SourceEntry, SourceType, ToggleConfigExtensionRequest, UnarchiveSessionRequest, UpdateSessionProjectRequest, UpdateSourceRequest, UpdateSourceResponse, UpdateWorkingDirRequest } from './types.gen.js';
|
||||
|
||||
export const GOOSE_EXT_METHODS = [
|
||||
{
|
||||
@@ -73,6 +73,11 @@ export const GOOSE_EXT_METHODS = [
|
||||
requestType: "ProviderCatalogListRequest",
|
||||
responseType: "ProviderCatalogListResponse",
|
||||
},
|
||||
{
|
||||
method: "_goose/providers/setup/catalog/list",
|
||||
requestType: "ProviderSetupCatalogListRequest",
|
||||
responseType: "ProviderSetupCatalogListResponse",
|
||||
},
|
||||
{
|
||||
method: "_goose/providers/catalog/template",
|
||||
requestType: "ProviderCatalogTemplateRequest",
|
||||
|
||||
@@ -197,6 +197,10 @@ export type ProviderInventoryEntryDto = {
|
||||
* Provider classification such as `Preferred`, `Builtin`, `Declarative`, or `Custom`.
|
||||
*/
|
||||
providerType: string;
|
||||
/**
|
||||
* Whether this inventory entry represents an agent provider or a model provider.
|
||||
*/
|
||||
category: ProviderSetupCategoryDto;
|
||||
/**
|
||||
* Required configuration keys and setup metadata.
|
||||
*/
|
||||
@@ -239,6 +243,8 @@ export type ProviderInventoryEntryDto = {
|
||||
modelSelectionHint?: string | null;
|
||||
};
|
||||
|
||||
export type ProviderSetupCategoryDto = 'agent' | 'model';
|
||||
|
||||
export type ProviderConfigKey = {
|
||||
name: string;
|
||||
required: boolean;
|
||||
@@ -287,10 +293,10 @@ export type ProviderCatalogListRequest = {
|
||||
};
|
||||
|
||||
export type ProviderCatalogListResponse = {
|
||||
providers: Array<ProviderCatalogEntryDto>;
|
||||
providers: Array<ProviderTemplateCatalogEntryDto>;
|
||||
};
|
||||
|
||||
export type ProviderCatalogEntryDto = {
|
||||
export type ProviderTemplateCatalogEntryDto = {
|
||||
providerId: string;
|
||||
name: string;
|
||||
format: string;
|
||||
@@ -300,6 +306,48 @@ export type ProviderCatalogEntryDto = {
|
||||
envVar: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* List provider setup catalog entries
|
||||
*/
|
||||
export type ProviderSetupCatalogListRequest = {
|
||||
[key: string]: unknown;
|
||||
};
|
||||
|
||||
export type ProviderSetupCatalogListResponse = {
|
||||
providers: Array<ProviderSetupCatalogEntryDto>;
|
||||
};
|
||||
|
||||
export type ProviderSetupCatalogEntryDto = {
|
||||
providerId: string;
|
||||
name: string;
|
||||
category: ProviderSetupCategoryDto;
|
||||
description: string;
|
||||
setupMethod: ProviderSetupMethodDto;
|
||||
nativeConnectQuery?: string | null;
|
||||
fields?: Array<ProviderSetupFieldDto>;
|
||||
binaryName?: string | null;
|
||||
docUrl?: string | null;
|
||||
group: ProviderSetupGroupDto;
|
||||
showOnlyWhenInstalled: boolean;
|
||||
aliases?: Array<string>;
|
||||
supportsInstall: boolean;
|
||||
supportsAuth: boolean;
|
||||
supportsAuthStatus: boolean;
|
||||
};
|
||||
|
||||
export type ProviderSetupMethodDto = 'none' | 'single_api_key' | 'config_fields' | 'host_with_oauth_fallback' | 'oauth_browser' | 'oauth_device_code' | 'cloud_credentials' | 'local' | 'cli_auth';
|
||||
|
||||
export type ProviderSetupFieldDto = {
|
||||
key: string;
|
||||
label: string;
|
||||
secret: boolean;
|
||||
required: boolean;
|
||||
placeholder?: string | null;
|
||||
defaultValue?: string | null;
|
||||
};
|
||||
|
||||
export type ProviderSetupGroupDto = 'default' | 'additional';
|
||||
|
||||
/**
|
||||
* Return the editable template for one catalog provider.
|
||||
*/
|
||||
@@ -896,14 +944,14 @@ export type DictationModelSelectRequest = {
|
||||
export type ExtRequest = {
|
||||
id: string;
|
||||
method: string;
|
||||
params?: AddExtensionRequest | RemoveExtensionRequest | GetToolsRequest | GooseToolCallRequest | ReadResourceRequest | UpdateWorkingDirRequest | DeleteSessionRequest | GetExtensionsRequest | AddConfigExtensionRequest | RemoveConfigExtensionRequest | ToggleConfigExtensionRequest | GetSessionExtensionsRequest | ListProvidersRequest | ProviderCatalogListRequest | ProviderCatalogTemplateRequest | CustomProviderCreateRequest | CustomProviderReadRequest | CustomProviderUpdateRequest | CustomProviderDeleteRequest | RefreshProviderInventoryRequest | ProviderConfigReadRequest | ProviderConfigStatusRequest | ProviderConfigSaveRequest | ProviderConfigDeleteRequest | PreferencesReadRequest | PreferencesSaveRequest | PreferencesRemoveRequest | DefaultsReadRequest | ExportSessionRequest | ImportSessionRequest | UpdateSessionProjectRequest | RenameSessionRequest | ArchiveSessionRequest | UnarchiveSessionRequest | CreateSourceRequest | ListSourcesRequest | UpdateSourceRequest | DeleteSourceRequest | ExportSourceRequest | ImportSourcesRequest | DictationTranscribeRequest | DictationConfigRequest | DictationSecretSaveRequest | DictationSecretDeleteRequest | DictationModelsListRequest | DictationModelDownloadRequest | DictationModelDownloadProgressRequest | DictationModelCancelRequest | DictationModelDeleteRequest | DictationModelSelectRequest | {
|
||||
params?: AddExtensionRequest | RemoveExtensionRequest | GetToolsRequest | GooseToolCallRequest | ReadResourceRequest | UpdateWorkingDirRequest | DeleteSessionRequest | GetExtensionsRequest | AddConfigExtensionRequest | RemoveConfigExtensionRequest | ToggleConfigExtensionRequest | GetSessionExtensionsRequest | ListProvidersRequest | ProviderCatalogListRequest | ProviderSetupCatalogListRequest | ProviderCatalogTemplateRequest | CustomProviderCreateRequest | CustomProviderReadRequest | CustomProviderUpdateRequest | CustomProviderDeleteRequest | RefreshProviderInventoryRequest | ProviderConfigReadRequest | ProviderConfigStatusRequest | ProviderConfigSaveRequest | ProviderConfigDeleteRequest | PreferencesReadRequest | PreferencesSaveRequest | PreferencesRemoveRequest | DefaultsReadRequest | ExportSessionRequest | ImportSessionRequest | UpdateSessionProjectRequest | RenameSessionRequest | ArchiveSessionRequest | UnarchiveSessionRequest | CreateSourceRequest | ListSourcesRequest | UpdateSourceRequest | DeleteSourceRequest | ExportSourceRequest | ImportSourcesRequest | DictationTranscribeRequest | DictationConfigRequest | DictationSecretSaveRequest | DictationSecretDeleteRequest | DictationModelsListRequest | DictationModelDownloadRequest | DictationModelDownloadProgressRequest | DictationModelCancelRequest | DictationModelDeleteRequest | DictationModelSelectRequest | {
|
||||
[key: string]: unknown;
|
||||
} | null;
|
||||
};
|
||||
|
||||
export type ExtResponse = {
|
||||
id: string;
|
||||
result?: EmptyResponse | GetToolsResponse | GooseToolCallResponse | ReadResourceResponse | GetExtensionsResponse | GetSessionExtensionsResponse | ListProvidersResponse | ProviderCatalogListResponse | ProviderCatalogTemplateResponse | CustomProviderCreateResponse | CustomProviderReadResponse | CustomProviderUpdateResponse | CustomProviderDeleteResponse | RefreshProviderInventoryResponse | ProviderConfigReadResponse | ProviderConfigStatusResponse | ProviderConfigChangeResponse | PreferencesReadResponse | DefaultsReadResponse | ExportSessionResponse | ImportSessionResponse | CreateSourceResponse | ListSourcesResponse | UpdateSourceResponse | ExportSourceResponse | ImportSourcesResponse | DictationTranscribeResponse | DictationConfigResponse | DictationModelsListResponse | DictationModelDownloadProgressResponse | unknown;
|
||||
result?: EmptyResponse | GetToolsResponse | GooseToolCallResponse | ReadResourceResponse | GetExtensionsResponse | GetSessionExtensionsResponse | ListProvidersResponse | ProviderCatalogListResponse | ProviderSetupCatalogListResponse | ProviderCatalogTemplateResponse | CustomProviderCreateResponse | CustomProviderReadResponse | CustomProviderUpdateResponse | CustomProviderDeleteResponse | RefreshProviderInventoryResponse | ProviderConfigReadResponse | ProviderConfigStatusResponse | ProviderConfigChangeResponse | PreferencesReadResponse | DefaultsReadResponse | ExportSessionResponse | ImportSessionResponse | CreateSourceResponse | ListSourcesResponse | UpdateSourceResponse | ExportSourceResponse | ImportSourcesResponse | DictationTranscribeResponse | DictationConfigResponse | DictationModelsListResponse | DictationModelDownloadProgressResponse | unknown;
|
||||
} | {
|
||||
error: {
|
||||
code: number;
|
||||
|
||||
@@ -139,6 +139,8 @@ export const zListProvidersRequest = z.object({
|
||||
providerIds: z.array(z.string()).optional().default([])
|
||||
});
|
||||
|
||||
export const zProviderSetupCategoryDto = z.enum(['agent', 'model']);
|
||||
|
||||
export const zProviderConfigKey = z.object({
|
||||
name: z.string(),
|
||||
required: z.boolean(),
|
||||
@@ -183,6 +185,7 @@ export const zProviderInventoryEntryDto = z.object({
|
||||
defaultModel: z.string(),
|
||||
configured: z.boolean(),
|
||||
providerType: z.string(),
|
||||
category: zProviderSetupCategoryDto,
|
||||
configKeys: z.array(zProviderConfigKey),
|
||||
setupSteps: z.array(z.string()),
|
||||
supportsRefresh: z.boolean(),
|
||||
@@ -224,7 +227,7 @@ export const zProviderCatalogListRequest = z.object({
|
||||
]).optional()
|
||||
});
|
||||
|
||||
export const zProviderCatalogEntryDto = z.object({
|
||||
export const zProviderTemplateCatalogEntryDto = z.object({
|
||||
providerId: z.string(),
|
||||
name: z.string(),
|
||||
format: z.string(),
|
||||
@@ -235,7 +238,72 @@ export const zProviderCatalogEntryDto = z.object({
|
||||
});
|
||||
|
||||
export const zProviderCatalogListResponse = z.object({
|
||||
providers: z.array(zProviderCatalogEntryDto)
|
||||
providers: z.array(zProviderTemplateCatalogEntryDto)
|
||||
});
|
||||
|
||||
/**
|
||||
* List provider setup catalog entries
|
||||
*/
|
||||
export const zProviderSetupCatalogListRequest = z.record(z.unknown());
|
||||
|
||||
export const zProviderSetupMethodDto = z.enum([
|
||||
'none',
|
||||
'single_api_key',
|
||||
'config_fields',
|
||||
'host_with_oauth_fallback',
|
||||
'oauth_browser',
|
||||
'oauth_device_code',
|
||||
'cloud_credentials',
|
||||
'local',
|
||||
'cli_auth'
|
||||
]);
|
||||
|
||||
export const zProviderSetupFieldDto = z.object({
|
||||
key: z.string(),
|
||||
label: z.string(),
|
||||
secret: z.boolean(),
|
||||
required: z.boolean(),
|
||||
placeholder: z.union([
|
||||
z.string(),
|
||||
z.null()
|
||||
]).optional(),
|
||||
defaultValue: z.union([
|
||||
z.string(),
|
||||
z.null()
|
||||
]).optional()
|
||||
});
|
||||
|
||||
export const zProviderSetupGroupDto = z.enum(['default', 'additional']);
|
||||
|
||||
export const zProviderSetupCatalogEntryDto = z.object({
|
||||
providerId: z.string(),
|
||||
name: z.string(),
|
||||
category: zProviderSetupCategoryDto,
|
||||
description: z.string(),
|
||||
setupMethod: zProviderSetupMethodDto,
|
||||
nativeConnectQuery: z.union([
|
||||
z.string(),
|
||||
z.null()
|
||||
]).optional(),
|
||||
fields: z.array(zProviderSetupFieldDto).optional().default([]),
|
||||
binaryName: z.union([
|
||||
z.string(),
|
||||
z.null()
|
||||
]).optional(),
|
||||
docUrl: z.union([
|
||||
z.string(),
|
||||
z.null()
|
||||
]).optional(),
|
||||
group: zProviderSetupGroupDto,
|
||||
showOnlyWhenInstalled: z.boolean(),
|
||||
aliases: z.array(z.string()).optional().default([]),
|
||||
supportsInstall: z.boolean(),
|
||||
supportsAuth: z.boolean(),
|
||||
supportsAuthStatus: z.boolean()
|
||||
});
|
||||
|
||||
export const zProviderSetupCatalogListResponse = z.object({
|
||||
providers: z.array(zProviderSetupCatalogEntryDto)
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -903,6 +971,7 @@ export const zExtRequest = z.object({
|
||||
zGetSessionExtensionsRequest,
|
||||
zListProvidersRequest,
|
||||
zProviderCatalogListRequest,
|
||||
zProviderSetupCatalogListRequest,
|
||||
zProviderCatalogTemplateRequest,
|
||||
zCustomProviderCreateRequest,
|
||||
zCustomProviderReadRequest,
|
||||
@@ -960,6 +1029,7 @@ export const zExtResponse = z.union([
|
||||
zGetSessionExtensionsResponse,
|
||||
zListProvidersResponse,
|
||||
zProviderCatalogListResponse,
|
||||
zProviderSetupCatalogListResponse,
|
||||
zProviderCatalogTemplateResponse,
|
||||
zCustomProviderCreateResponse,
|
||||
zCustomProviderReadResponse,
|
||||
|
||||
Reference in New Issue
Block a user