feat(acp): replace raw config and secret methods (#9000)

Signed-off-by: Kalvin Chau <kalvin@block.xyz>
This commit is contained in:
Kalvin C
2026-05-04 18:24:28 -07:00
committed by GitHub
parent e82c4fdcb7
commit 2fe4c3d0bb
39 changed files with 1481 additions and 855 deletions
+38 -32
View File
@@ -11,8 +11,6 @@ import type {
AddConfigExtensionRequest,
AddExtensionRequest,
ArchiveSessionRequest,
CheckSecretRequest,
CheckSecretResponse,
CreateSourceRequest,
CreateSourceResponse,
CustomProviderCreateRequest,
@@ -23,6 +21,8 @@ import type {
CustomProviderReadResponse,
CustomProviderUpdateRequest,
CustomProviderUpdateResponse,
DefaultsReadRequest,
DefaultsReadResponse,
DeleteSessionRequest,
DeleteSourceRequest,
DictationConfigRequest,
@@ -35,6 +35,8 @@ import type {
DictationModelSelectRequest,
DictationModelsListRequest,
DictationModelsListResponse,
DictationSecretDeleteRequest,
DictationSecretSaveRequest,
DictationTranscribeRequest,
DictationTranscribeResponse,
ExportSessionRequest,
@@ -57,6 +59,10 @@ import type {
ListProvidersResponse,
ListSourcesRequest,
ListSourcesResponse,
PreferencesReadRequest,
PreferencesReadResponse,
PreferencesRemoveRequest,
PreferencesSaveRequest,
ProviderCatalogListRequest,
ProviderCatalogListResponse,
ProviderCatalogTemplateRequest,
@@ -68,16 +74,12 @@ import type {
ProviderConfigSaveRequest,
ProviderConfigStatusRequest,
ProviderConfigStatusResponse,
ReadConfigRequest,
ReadConfigResponse,
ReadResourceRequest,
ReadResourceResponse,
RefreshProviderInventoryRequest,
RefreshProviderInventoryResponse,
RemoveConfigExtensionRequest,
RemoveConfigRequest,
RemoveExtensionRequest,
RemoveSecretRequest,
RenameSessionRequest,
ToggleConfigExtensionRequest,
UnarchiveSessionRequest,
@@ -85,16 +87,14 @@ import type {
UpdateSourceRequest,
UpdateSourceResponse,
UpdateWorkingDirRequest,
UpsertConfigRequest,
UpsertSecretRequest,
} from './types.gen.js';
import {
zCheckSecretResponse,
zCreateSourceResponse,
zCustomProviderCreateResponse,
zCustomProviderDeleteResponse,
zCustomProviderReadResponse,
zCustomProviderUpdateResponse,
zDefaultsReadResponse,
zDictationConfigResponse,
zDictationModelDownloadProgressResponse,
zDictationModelsListResponse,
@@ -109,12 +109,12 @@ import {
zImportSourcesResponse,
zListProvidersResponse,
zListSourcesResponse,
zPreferencesReadResponse,
zProviderCatalogListResponse,
zProviderCatalogTemplateResponse,
zProviderConfigChangeResponse,
zProviderConfigReadResponse,
zProviderConfigStatusResponse,
zReadConfigResponse,
zReadResourceResponse,
zRefreshProviderInventoryResponse,
zUpdateSourceResponse,
@@ -327,34 +327,28 @@ export class GooseExtClient {
) as ProviderConfigChangeResponse;
}
async GooseConfigRead(
params: ReadConfigRequest,
): Promise<ReadConfigResponse> {
const raw = await this.conn.extMethod("_goose/config/read", params);
return zReadConfigResponse.parse(raw) as ReadConfigResponse;
async GoosePreferencesRead(
params: PreferencesReadRequest,
): Promise<PreferencesReadResponse> {
const raw = await this.conn.extMethod("_goose/preferences/read", params);
return zPreferencesReadResponse.parse(raw) as PreferencesReadResponse;
}
async GooseConfigUpsert(params: UpsertConfigRequest): Promise<void> {
await this.conn.extMethod("_goose/config/upsert", params);
async GoosePreferencesSave(params: PreferencesSaveRequest): Promise<void> {
await this.conn.extMethod("_goose/preferences/save", params);
}
async GooseConfigRemove(params: RemoveConfigRequest): Promise<void> {
await this.conn.extMethod("_goose/config/remove", params);
async GoosePreferencesRemove(
params: PreferencesRemoveRequest,
): Promise<void> {
await this.conn.extMethod("_goose/preferences/remove", params);
}
async GooseSecretCheck(
params: CheckSecretRequest,
): Promise<CheckSecretResponse> {
const raw = await this.conn.extMethod("_goose/secret/check", params);
return zCheckSecretResponse.parse(raw) as CheckSecretResponse;
}
async GooseSecretUpsert(params: UpsertSecretRequest): Promise<void> {
await this.conn.extMethod("_goose/secret/upsert", params);
}
async GooseSecretRemove(params: RemoveSecretRequest): Promise<void> {
await this.conn.extMethod("_goose/secret/remove", params);
async GooseDefaultsRead(
params: DefaultsReadRequest,
): Promise<DefaultsReadResponse> {
const raw = await this.conn.extMethod("_goose/defaults/read", params);
return zDefaultsReadResponse.parse(raw) as DefaultsReadResponse;
}
async GooseSessionExport(
@@ -447,6 +441,18 @@ export class GooseExtClient {
return zDictationConfigResponse.parse(raw) as DictationConfigResponse;
}
async GooseDictationSecretSave(
params: DictationSecretSaveRequest,
): Promise<void> {
await this.conn.extMethod("_goose/dictation/secret/save", params);
}
async GooseDictationSecretDelete(
params: DictationSecretDeleteRequest,
): Promise<void> {
await this.conn.extMethod("_goose/dictation/secret/delete", params);
}
async GooseDictationModelsList(
params: DictationModelsListRequest,
): Promise<DictationModelsListResponse> {
+21 -21
View File
@@ -1,6 +1,6 @@
// This file is auto-generated by @hey-api/openapi-ts
export type { AddConfigExtensionRequest, AddExtensionRequest, ArchiveSessionRequest, CheckSecretRequest, CheckSecretResponse, CreateSourceRequest, CreateSourceResponse, CustomProviderConfigDto, CustomProviderCreateRequest, CustomProviderCreateResponse, CustomProviderDeleteRequest, CustomProviderDeleteResponse, CustomProviderReadRequest, CustomProviderReadResponse, CustomProviderUpdateRequest, CustomProviderUpdateResponse, 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, GooseToolCallRequest, GooseToolCallResponse, ImportSessionRequest, ImportSessionResponse, ImportSourcesRequest, ImportSourcesResponse, ListProvidersRequest, ListProvidersResponse, ListSourcesRequest, ListSourcesResponse, ProviderCatalogEntryDto, ProviderCatalogListRequest, ProviderCatalogListResponse, ProviderCatalogTemplateRequest, ProviderCatalogTemplateResponse, ProviderConfigChangeResponse, ProviderConfigDeleteRequest, ProviderConfigFieldUpdate, ProviderConfigFieldValueDto, ProviderConfigKey, ProviderConfigReadRequest, ProviderConfigReadResponse, ProviderConfigSaveRequest, ProviderConfigStatusDto, ProviderConfigStatusRequest, ProviderConfigStatusResponse, ProviderInventoryEntryDto, ProviderInventoryModelDto, ProviderTemplateCapabilitiesDto, ProviderTemplateDto, ProviderTemplateModelDto, ReadConfigRequest, ReadConfigResponse, ReadResourceRequest, ReadResourceResponse, RefreshProviderInventoryRequest, RefreshProviderInventoryResponse, RefreshProviderInventorySkipDto, RefreshProviderInventorySkipReasonDto, RemoveConfigExtensionRequest, RemoveConfigRequest, RemoveExtensionRequest, RemoveSecretRequest, RenameSessionRequest, SourceEntry, SourceType, ToggleConfigExtensionRequest, UnarchiveSessionRequest, UpdateSessionProjectRequest, UpdateSourceRequest, UpdateSourceResponse, UpdateWorkingDirRequest, UpsertConfigRequest, UpsertSecretRequest } 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, 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 const GOOSE_EXT_METHODS = [
{
@@ -124,34 +124,24 @@ export const GOOSE_EXT_METHODS = [
responseType: "ProviderConfigChangeResponse",
},
{
method: "_goose/config/read",
requestType: "ReadConfigRequest",
responseType: "ReadConfigResponse",
method: "_goose/preferences/read",
requestType: "PreferencesReadRequest",
responseType: "PreferencesReadResponse",
},
{
method: "_goose/config/upsert",
requestType: "UpsertConfigRequest",
method: "_goose/preferences/save",
requestType: "PreferencesSaveRequest",
responseType: "EmptyResponse",
},
{
method: "_goose/config/remove",
requestType: "RemoveConfigRequest",
method: "_goose/preferences/remove",
requestType: "PreferencesRemoveRequest",
responseType: "EmptyResponse",
},
{
method: "_goose/secret/check",
requestType: "CheckSecretRequest",
responseType: "CheckSecretResponse",
},
{
method: "_goose/secret/upsert",
requestType: "UpsertSecretRequest",
responseType: "EmptyResponse",
},
{
method: "_goose/secret/remove",
requestType: "RemoveSecretRequest",
responseType: "EmptyResponse",
method: "_goose/defaults/read",
requestType: "DefaultsReadRequest",
responseType: "DefaultsReadResponse",
},
{
method: "_goose/session/export",
@@ -223,6 +213,16 @@ export const GOOSE_EXT_METHODS = [
requestType: "DictationConfigRequest",
responseType: "DictationConfigResponse",
},
{
method: "_goose/dictation/secret/save",
requestType: "DictationSecretSaveRequest",
responseType: "EmptyResponse",
},
{
method: "_goose/dictation/secret/delete",
requestType: "DictationSecretDeleteRequest",
responseType: "EmptyResponse",
},
{
method: "_goose/dictation/models/list",
requestType: "DictationModelsListRequest",
+40 -39
View File
@@ -520,61 +520,47 @@ export type ProviderConfigDeleteRequest = {
};
/**
* Read a single non-secret config value.
* Read allowlisted user preferences. Empty `keys` means all supported preferences.
*/
export type ReadConfigRequest = {
key: string;
export type PreferencesReadRequest = {
keys?: Array<PreferenceKey>;
};
/**
* Config read response.
*/
export type ReadConfigResponse = {
export type PreferenceKey = 'autoCompactThreshold' | 'voiceAutoSubmitPhrases' | 'voiceDictationProvider' | 'voiceDictationPreferredMic';
export type PreferencesReadResponse = {
values: Array<PreferenceValue>;
};
export type PreferenceValue = {
key: PreferenceKey;
value?: unknown;
};
/**
* Upsert a single non-secret config value.
* Save allowlisted user preferences.
*/
export type UpsertConfigRequest = {
key: string;
value: unknown;
export type PreferencesSaveRequest = {
values?: Array<PreferenceValue>;
};
/**
* Remove a single non-secret config value.
* Remove allowlisted user preferences.
*/
export type RemoveConfigRequest = {
key: string;
export type PreferencesRemoveRequest = {
keys?: Array<PreferenceKey>;
};
/**
* Check whether a secret exists. Never returns the actual value.
* Read Goose default provider and model configuration.
*/
export type CheckSecretRequest = {
key: string;
export type DefaultsReadRequest = {
[key: string]: unknown;
};
/**
* Secret check response.
*/
export type CheckSecretResponse = {
exists: boolean;
};
/**
* Set a secret value (write-only).
*/
export type UpsertSecretRequest = {
key: string;
value: unknown;
};
/**
* Remove a secret.
*/
export type RemoveSecretRequest = {
key: string;
export type DefaultsReadResponse = {
providerId?: string | null;
modelId?: string | null;
};
/**
@@ -818,6 +804,21 @@ export type DictationModelOption = {
description: string;
};
/**
* Set a dictation provider secret value.
*/
export type DictationSecretSaveRequest = {
provider: string;
value: string;
};
/**
* Remove a dictation provider secret value.
*/
export type DictationSecretDeleteRequest = {
provider: string;
};
/**
* List available local Whisper models with their download status.
*/
@@ -895,14 +896,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 | ReadConfigRequest | UpsertConfigRequest | RemoveConfigRequest | CheckSecretRequest | UpsertSecretRequest | RemoveSecretRequest | ExportSessionRequest | ImportSessionRequest | UpdateSessionProjectRequest | RenameSessionRequest | ArchiveSessionRequest | UnarchiveSessionRequest | CreateSourceRequest | ListSourcesRequest | UpdateSourceRequest | DeleteSourceRequest | ExportSourceRequest | ImportSourcesRequest | DictationTranscribeRequest | DictationConfigRequest | DictationModelsListRequest | DictationModelDownloadRequest | DictationModelDownloadProgressRequest | DictationModelCancelRequest | DictationModelDeleteRequest | DictationModelSelectRequest | {
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 | {
[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 | ReadConfigResponse | CheckSecretResponse | ExportSessionResponse | ImportSessionResponse | CreateSourceResponse | ListSourcesResponse | UpdateSourceResponse | ExportSourceResponse | ImportSourcesResponse | DictationTranscribeResponse | DictationConfigResponse | DictationModelsListResponse | DictationModelDownloadProgressResponse | unknown;
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;
} | {
error: {
code: number;
+55 -45
View File
@@ -486,62 +486,57 @@ export const zProviderConfigDeleteRequest = z.object({
providerId: z.string()
});
/**
* Read a single non-secret config value.
*/
export const zReadConfigRequest = z.object({
key: z.string()
});
export const zPreferenceKey = z.enum([
'autoCompactThreshold',
'voiceAutoSubmitPhrases',
'voiceDictationProvider',
'voiceDictationPreferredMic'
]);
/**
* Config read response.
* Read allowlisted user preferences. Empty `keys` means all supported preferences.
*/
export const zReadConfigResponse = z.object({
export const zPreferencesReadRequest = z.object({
keys: z.array(zPreferenceKey).optional().default([])
});
export const zPreferenceValue = z.object({
key: zPreferenceKey,
value: z.unknown().optional().default(null)
});
/**
* Upsert a single non-secret config value.
*/
export const zUpsertConfigRequest = z.object({
key: z.string(),
value: z.unknown()
export const zPreferencesReadResponse = z.object({
values: z.array(zPreferenceValue)
});
/**
* Remove a single non-secret config value.
* Save allowlisted user preferences.
*/
export const zRemoveConfigRequest = z.object({
key: z.string()
export const zPreferencesSaveRequest = z.object({
values: z.array(zPreferenceValue).optional().default([])
});
/**
* Check whether a secret exists. Never returns the actual value.
* Remove allowlisted user preferences.
*/
export const zCheckSecretRequest = z.object({
key: z.string()
export const zPreferencesRemoveRequest = z.object({
keys: z.array(zPreferenceKey).optional().default([])
});
/**
* Secret check response.
* Read Goose default provider and model configuration.
*/
export const zCheckSecretResponse = z.object({
exists: z.boolean()
});
export const zDefaultsReadRequest = z.record(z.unknown());
/**
* Set a secret value (write-only).
*/
export const zUpsertSecretRequest = z.object({
key: z.string(),
value: z.unknown()
});
/**
* Remove a secret.
*/
export const zRemoveSecretRequest = z.object({
key: z.string()
export const zDefaultsReadResponse = z.object({
providerId: z.union([
z.string(),
z.null()
]).optional(),
modelId: z.union([
z.string(),
z.null()
]).optional()
});
/**
@@ -802,6 +797,21 @@ export const zDictationConfigResponse = z.object({
providers: z.record(zDictationProviderStatusEntry)
});
/**
* Set a dictation provider secret value.
*/
export const zDictationSecretSaveRequest = z.object({
provider: z.string(),
value: z.string()
});
/**
* Remove a dictation provider secret value.
*/
export const zDictationSecretDeleteRequest = z.object({
provider: z.string()
});
/**
* List available local Whisper models with their download status.
*/
@@ -903,12 +913,10 @@ export const zExtRequest = z.object({
zProviderConfigStatusRequest,
zProviderConfigSaveRequest,
zProviderConfigDeleteRequest,
zReadConfigRequest,
zUpsertConfigRequest,
zRemoveConfigRequest,
zCheckSecretRequest,
zUpsertSecretRequest,
zRemoveSecretRequest,
zPreferencesReadRequest,
zPreferencesSaveRequest,
zPreferencesRemoveRequest,
zDefaultsReadRequest,
zExportSessionRequest,
zImportSessionRequest,
zUpdateSessionProjectRequest,
@@ -923,6 +931,8 @@ export const zExtRequest = z.object({
zImportSourcesRequest,
zDictationTranscribeRequest,
zDictationConfigRequest,
zDictationSecretSaveRequest,
zDictationSecretDeleteRequest,
zDictationModelsListRequest,
zDictationModelDownloadRequest,
zDictationModelDownloadProgressRequest,
@@ -959,8 +969,8 @@ export const zExtResponse = z.union([
zProviderConfigReadResponse,
zProviderConfigStatusResponse,
zProviderConfigChangeResponse,
zReadConfigResponse,
zCheckSecretResponse,
zPreferencesReadResponse,
zDefaultsReadResponse,
zExportSessionResponse,
zImportSessionResponse,
zCreateSourceResponse,