commands to acp+ migration: extensions management (#8733)
This commit is contained in:
@@ -8,6 +8,7 @@ export interface ExtMethodProvider {
|
||||
}
|
||||
|
||||
import type {
|
||||
AddConfigExtensionRequest,
|
||||
AddExtensionRequest,
|
||||
ArchiveSessionRequest,
|
||||
CheckSecretRequest,
|
||||
@@ -52,9 +53,11 @@ import type {
|
||||
ReadResourceResponse,
|
||||
RefreshProviderInventoryRequest,
|
||||
RefreshProviderInventoryResponse,
|
||||
RemoveConfigExtensionRequest,
|
||||
RemoveConfigRequest,
|
||||
RemoveExtensionRequest,
|
||||
RemoveSecretRequest,
|
||||
ToggleConfigExtensionRequest,
|
||||
UnarchiveSessionRequest,
|
||||
UpdateSessionProjectRequest,
|
||||
UpdateSourceRequest,
|
||||
@@ -123,6 +126,24 @@ export class GooseExtClient {
|
||||
return zGetExtensionsResponse.parse(raw) as GetExtensionsResponse;
|
||||
}
|
||||
|
||||
async GooseConfigExtensionsAdd(
|
||||
params: AddConfigExtensionRequest,
|
||||
): Promise<void> {
|
||||
await this.conn.extMethod("_goose/config/extensions/add", params);
|
||||
}
|
||||
|
||||
async GooseConfigExtensionsRemove(
|
||||
params: RemoveConfigExtensionRequest,
|
||||
): Promise<void> {
|
||||
await this.conn.extMethod("_goose/config/extensions/remove", params);
|
||||
}
|
||||
|
||||
async GooseConfigExtensionsToggle(
|
||||
params: ToggleConfigExtensionRequest,
|
||||
): Promise<void> {
|
||||
await this.conn.extMethod("_goose/config/extensions/toggle", params);
|
||||
}
|
||||
|
||||
async GooseSessionExtensions(
|
||||
params: GetSessionExtensionsRequest,
|
||||
): Promise<GetSessionExtensionsResponse> {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// This file is auto-generated by @hey-api/openapi-ts
|
||||
|
||||
export type { AddExtensionRequest, ArchiveSessionRequest, CheckSecretRequest, CheckSecretResponse, CreateSourceRequest, CreateSourceResponse, DeleteSessionRequest, DeleteSourceRequest, DictationConfigRequest, DictationConfigResponse, DictationDownloadProgress, DictationLocalModelStatus, DictationModelCancelRequest, DictationModelDeleteRequest, DictationModelDownloadProgressRequest, DictationModelDownloadProgressResponse, DictationModelDownloadRequest, DictationModelOption, DictationModelSelectRequest, DictationModelsListRequest, DictationModelsListResponse, DictationProviderStatusEntry, DictationTranscribeRequest, DictationTranscribeResponse, EmptyResponse, ExportSessionRequest, ExportSessionResponse, ExportSourceRequest, ExportSourceResponse, ExtRequest, ExtResponse, GetExtensionsRequest, GetExtensionsResponse, GetSessionExtensionsRequest, GetSessionExtensionsResponse, GetToolsRequest, GetToolsResponse, ImportSessionRequest, ImportSessionResponse, ImportSourcesRequest, ImportSourcesResponse, ListProvidersRequest, ListProvidersResponse, ListSourcesRequest, ListSourcesResponse, ProviderConfigKey, ProviderInventoryEntryDto, ProviderInventoryModelDto, ReadConfigRequest, ReadConfigResponse, ReadResourceRequest, ReadResourceResponse, RefreshProviderInventoryRequest, RefreshProviderInventoryResponse, RefreshProviderInventorySkipDto, RefreshProviderInventorySkipReasonDto, RemoveConfigRequest, RemoveExtensionRequest, RemoveSecretRequest, SourceEntry, SourceType, UnarchiveSessionRequest, UpdateSessionProjectRequest, UpdateSourceRequest, UpdateSourceResponse, UpdateWorkingDirRequest, UpsertConfigRequest, UpsertSecretRequest } from './types.gen.js';
|
||||
export type { AddConfigExtensionRequest, AddExtensionRequest, ArchiveSessionRequest, CheckSecretRequest, CheckSecretResponse, CreateSourceRequest, CreateSourceResponse, DeleteSessionRequest, DeleteSourceRequest, DictationConfigRequest, DictationConfigResponse, DictationDownloadProgress, DictationLocalModelStatus, DictationModelCancelRequest, DictationModelDeleteRequest, DictationModelDownloadProgressRequest, DictationModelDownloadProgressResponse, DictationModelDownloadRequest, DictationModelOption, DictationModelSelectRequest, DictationModelsListRequest, DictationModelsListResponse, DictationProviderStatusEntry, DictationTranscribeRequest, DictationTranscribeResponse, EmptyResponse, ExportSessionRequest, ExportSessionResponse, ExportSourceRequest, ExportSourceResponse, ExtRequest, ExtResponse, GetExtensionsRequest, GetExtensionsResponse, GetSessionExtensionsRequest, GetSessionExtensionsResponse, GetToolsRequest, GetToolsResponse, ImportSessionRequest, ImportSessionResponse, ImportSourcesRequest, ImportSourcesResponse, ListProvidersRequest, ListProvidersResponse, ListSourcesRequest, ListSourcesResponse, ProviderConfigKey, ProviderInventoryEntryDto, ProviderInventoryModelDto, ReadConfigRequest, ReadConfigResponse, ReadResourceRequest, ReadResourceResponse, RefreshProviderInventoryRequest, RefreshProviderInventoryResponse, RefreshProviderInventorySkipDto, RefreshProviderInventorySkipReasonDto, RemoveConfigExtensionRequest, RemoveConfigRequest, RemoveExtensionRequest, RemoveSecretRequest, SourceEntry, SourceType, ToggleConfigExtensionRequest, UnarchiveSessionRequest, UpdateSessionProjectRequest, UpdateSourceRequest, UpdateSourceResponse, UpdateWorkingDirRequest, UpsertConfigRequest, UpsertSecretRequest } from './types.gen.js';
|
||||
|
||||
export const GOOSE_EXT_METHODS = [
|
||||
{
|
||||
@@ -38,6 +38,21 @@ export const GOOSE_EXT_METHODS = [
|
||||
requestType: "GetExtensionsRequest",
|
||||
responseType: "GetExtensionsResponse",
|
||||
},
|
||||
{
|
||||
method: "_goose/config/extensions/add",
|
||||
requestType: "AddConfigExtensionRequest",
|
||||
responseType: "EmptyResponse",
|
||||
},
|
||||
{
|
||||
method: "_goose/config/extensions/remove",
|
||||
requestType: "RemoveConfigExtensionRequest",
|
||||
responseType: "EmptyResponse",
|
||||
},
|
||||
{
|
||||
method: "_goose/config/extensions/toggle",
|
||||
requestType: "ToggleConfigExtensionRequest",
|
||||
responseType: "EmptyResponse",
|
||||
},
|
||||
{
|
||||
method: "_goose/session/extensions",
|
||||
requestType: "GetSessionExtensionsRequest",
|
||||
|
||||
@@ -90,12 +90,41 @@ export type GetExtensionsRequest = {
|
||||
*/
|
||||
export type GetExtensionsResponse = {
|
||||
/**
|
||||
* Array of ExtensionEntry objects with `enabled` flag and config details.
|
||||
* Array of ExtensionEntry objects with `enabled` flag, `configKey`, and flattened config details.
|
||||
*/
|
||||
extensions: Array<unknown>;
|
||||
warnings: Array<string>;
|
||||
};
|
||||
|
||||
/**
|
||||
* Persist a new extension to the user's global goose config.
|
||||
*/
|
||||
export type AddConfigExtensionRequest = {
|
||||
name: string;
|
||||
/**
|
||||
* Extension configuration. Must be a JSON object matching one of the
|
||||
* `ExtensionConfig` variants (e.g. `stdio`, `streamable_http`, `builtin`).
|
||||
* `name` and `enabled` are injected server-side.
|
||||
*/
|
||||
extensionConfig?: unknown;
|
||||
enabled?: boolean;
|
||||
};
|
||||
|
||||
/**
|
||||
* Remove a persisted extension from the user's global goose config.
|
||||
*/
|
||||
export type RemoveConfigExtensionRequest = {
|
||||
configKey: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Toggle the `enabled` flag for a persisted extension in the user's global goose config.
|
||||
*/
|
||||
export type ToggleConfigExtensionRequest = {
|
||||
configKey: string;
|
||||
enabled: boolean;
|
||||
};
|
||||
|
||||
export type GetSessionExtensionsRequest = {
|
||||
sessionId: string;
|
||||
};
|
||||
@@ -626,7 +655,7 @@ export type DictationModelSelectRequest = {
|
||||
export type ExtRequest = {
|
||||
id: string;
|
||||
method: string;
|
||||
params?: AddExtensionRequest | RemoveExtensionRequest | GetToolsRequest | ReadResourceRequest | UpdateWorkingDirRequest | DeleteSessionRequest | GetExtensionsRequest | GetSessionExtensionsRequest | ListProvidersRequest | RefreshProviderInventoryRequest | ReadConfigRequest | UpsertConfigRequest | RemoveConfigRequest | CheckSecretRequest | UpsertSecretRequest | RemoveSecretRequest | ExportSessionRequest | ImportSessionRequest | UpdateSessionProjectRequest | ArchiveSessionRequest | UnarchiveSessionRequest | CreateSourceRequest | ListSourcesRequest | UpdateSourceRequest | DeleteSourceRequest | ExportSourceRequest | ImportSourcesRequest | DictationTranscribeRequest | DictationConfigRequest | DictationModelsListRequest | DictationModelDownloadRequest | DictationModelDownloadProgressRequest | DictationModelCancelRequest | DictationModelDeleteRequest | DictationModelSelectRequest | {
|
||||
params?: AddExtensionRequest | RemoveExtensionRequest | GetToolsRequest | ReadResourceRequest | UpdateWorkingDirRequest | DeleteSessionRequest | GetExtensionsRequest | AddConfigExtensionRequest | RemoveConfigExtensionRequest | ToggleConfigExtensionRequest | GetSessionExtensionsRequest | ListProvidersRequest | RefreshProviderInventoryRequest | ReadConfigRequest | UpsertConfigRequest | RemoveConfigRequest | CheckSecretRequest | UpsertSecretRequest | RemoveSecretRequest | ExportSessionRequest | ImportSessionRequest | UpdateSessionProjectRequest | ArchiveSessionRequest | UnarchiveSessionRequest | CreateSourceRequest | ListSourcesRequest | UpdateSourceRequest | DeleteSourceRequest | ExportSourceRequest | ImportSourcesRequest | DictationTranscribeRequest | DictationConfigRequest | DictationModelsListRequest | DictationModelDownloadRequest | DictationModelDownloadProgressRequest | DictationModelCancelRequest | DictationModelDeleteRequest | DictationModelSelectRequest | {
|
||||
[key: string]: unknown;
|
||||
} | null;
|
||||
};
|
||||
|
||||
@@ -81,6 +81,30 @@ export const zGetExtensionsResponse = z.object({
|
||||
warnings: z.array(z.string())
|
||||
});
|
||||
|
||||
/**
|
||||
* Persist a new extension to the user's global goose config.
|
||||
*/
|
||||
export const zAddConfigExtensionRequest = z.object({
|
||||
name: z.string(),
|
||||
extensionConfig: z.unknown().optional().default(null),
|
||||
enabled: z.boolean().optional().default(false)
|
||||
});
|
||||
|
||||
/**
|
||||
* Remove a persisted extension from the user's global goose config.
|
||||
*/
|
||||
export const zRemoveConfigExtensionRequest = z.object({
|
||||
configKey: z.string()
|
||||
});
|
||||
|
||||
/**
|
||||
* Toggle the `enabled` flag for a persisted extension in the user's global goose config.
|
||||
*/
|
||||
export const zToggleConfigExtensionRequest = z.object({
|
||||
configKey: z.string(),
|
||||
enabled: z.boolean()
|
||||
});
|
||||
|
||||
export const zGetSessionExtensionsRequest = z.object({
|
||||
sessionId: z.string()
|
||||
});
|
||||
@@ -594,6 +618,9 @@ export const zExtRequest = z.object({
|
||||
zUpdateWorkingDirRequest,
|
||||
zDeleteSessionRequest,
|
||||
zGetExtensionsRequest,
|
||||
zAddConfigExtensionRequest,
|
||||
zRemoveConfigExtensionRequest,
|
||||
zToggleConfigExtensionRequest,
|
||||
zGetSessionExtensionsRequest,
|
||||
zListProvidersRequest,
|
||||
zRefreshProviderInventoryRequest,
|
||||
|
||||
Reference in New Issue
Block a user