integrations/voice/google-speech/dist
Interfaces
GoogleSpeechClient
Methods
getRawClients()
getRawClients(): GoogleSpeechRawClients;
Returns
GoogleSpeechRawClients
synthesizeSpeech()
synthesizeSpeech(input): Promise<ArrayBuffer>;
Parameters
Returns
Promise\<ArrayBuffer>
transcribeSpeech()
transcribeSpeech(input): Promise<GoogleSpeechToTextResult>;
Parameters
Returns
Promise\<GoogleSpeechToTextResult>
GoogleSpeechClientOptions
Properties
accessToken?
optional accessToken?: string;
clientOptions?
optional clientOptions?: object;
getAccessToken?
optional getAccessToken?: GoogleSpeechAccessTokenProvider;
quotaProjectId?
optional quotaProjectId?: string;
speechClient?
optional speechClient?: SpeechClient;
textToSpeechClient?
optional textToSpeechClient?: TextToSpeechClient;
Properties
accessToken?
optional accessToken?: string;
hasAccessTokenProvider?
optional hasAccessTokenProvider?: boolean;
GoogleSpeechJsonObject
Indexable
[key: string]: GoogleSpeechJsonValue
Properties
body?
optional body?: GoogleSpeechJsonValue;
contentType?
optional contentType?: string;
optional headers?: Record<string, string>;
pathParams?
optional pathParams?: Record<string, string | number>;
query?
optional query?: Record<string, GoogleSpeechJsonValue | undefined>;
responseType?
optional responseType?: "response" | "json" | "arrayBuffer" | "stream";
GoogleSpeechRawClients
Properties
speechClient
speechClient: SpeechClient;
textToSpeechClient
textToSpeechClient: TextToSpeechClient;
GoogleSpeechToTextInput
Properties
audio
enableAutomaticPunctuation?
optional enableAutomaticPunctuation?: boolean;
encoding?
optional encoding?: string;
languageCode?
optional languageCode?: string;
maxAlternatives?
optional maxAlternatives?: number;
model?
profanityFilter?
optional profanityFilter?: boolean;
sampleRate?
optional sampleRate?: number;
signal?
optional signal?: AbortSignal;
useEnhanced?
optional useEnhanced?: boolean;
GoogleSpeechToTextResult
Properties
confidence?
optional confidence?: number;
languageCode?
optional languageCode?: string;
raw?
optional raw?: GoogleSpeechJsonObject;
requestId?
optional requestId?: string;
text
totalBilledTime?
optional totalBilledTime?: string;
GoogleSpeechVoiceProviderOptions
Extends
Omit\<Partial\<SpeechPipelineVoiceProviderOptions>, "provider" | "transcriptionSource" | "transcribe" | "synthesize">
Properties
accessToken?
optional accessToken?: string;
audioEncoding?
optional audioEncoding?: string;
client?
optional client?: GoogleSpeechClient;
clientOptions?
optional clientOptions?: object;
effectsProfileId?
optional effectsProfileId?: readonly string[];
enableAutomaticPunctuation?
optional enableAutomaticPunctuation?: boolean;
endSilenceMs?
optional endSilenceMs?: number;
Inherited from
getAccessToken?
optional getAccessToken?: GoogleSpeechAccessTokenProvider;
id?
Inherited from
languageCode?
optional languageCode?: string;
maxAlternatives?
optional maxAlternatives?: number;
maxSpeechMs?
optional maxSpeechMs?: number;
Inherited from
minSpeechMs?
optional minSpeechMs?: number;
Inherited from
model?
Inherited from
outputSampleRate?
optional outputSampleRate?: number;
pitch?
profanityFilter?
optional profanityFilter?: boolean;
quotaProjectId?
optional quotaProjectId?: string;
recognitionEncoding?
optional recognitionEncoding?: string;
recognitionModel?
optional recognitionModel?: string;
sampleRate?
optional sampleRate?: number;
Inherited from
silenceThreshold?
optional silenceThreshold?: number;
Inherited from
speakingRate?
optional speakingRate?: number;
speechClient?
optional speechClient?: SpeechClient;
ssmlGender?
optional ssmlGender?: string;
optional stripLinear16WavHeader?: boolean;
textToSpeechClient?
optional textToSpeechClient?: TextToSpeechClient;
useEnhanced?
optional useEnhanced?: boolean;
voiceLanguageCode?
optional voiceLanguageCode?: string;
voiceName
volumeGainDb?
optional volumeGainDb?: number;
GoogleTextToSpeechInput
Properties
audioEncoding?
optional audioEncoding?: string;
effectsProfileId?
optional effectsProfileId?: readonly string[];
languageCode?
optional languageCode?: string;
pitch?
sampleRateHertz?
optional sampleRateHertz?: number;
signal?
optional signal?: AbortSignal;
speakingRate?
optional speakingRate?: number;
ssmlGender?
optional ssmlGender?: string;
text
voiceName?
optional voiceName?: string;
volumeGainDb?
optional volumeGainDb?: number;
Type Aliases
GoogleSpeechAccessTokenProvider
type GoogleSpeechAccessTokenProvider = (input) => string | Promise<string>;
Parameters
| Parameter |
Type |
input |
{ signal?: AbortSignal; } |
input.signal? |
AbortSignal |
Returns
string | Promise\<string>
GoogleSpeechJsonPrimitive
type GoogleSpeechJsonPrimitive = string | number | boolean | null;
GoogleSpeechJsonValue
type GoogleSpeechJsonValue =
| GoogleSpeechJsonPrimitive
| GoogleSpeechJsonObject
| readonly GoogleSpeechJsonValue[];
GoogleSpeechRecognitionEncoding
type GoogleSpeechRecognitionEncoding =
| "ENCODING_UNSPECIFIED"
| "LINEAR16"
| "FLAC"
| "MULAW"
| "AMR"
| "AMR_WB"
| "OGG_OPUS"
| "SPEEX_WITH_HEADER_BYTE"
| "MP3"
| "WEBM_OPUS"
| "ALAW"
| string;
GoogleSpeechResource
type GoogleSpeechResource = GoogleSpeechJsonValue;
GoogleTextToSpeechAudioEncoding
type GoogleTextToSpeechAudioEncoding =
| "AUDIO_ENCODING_UNSPECIFIED"
| "LINEAR16"
| "MP3"
| "OGG_OPUS"
| "MULAW"
| "ALAW"
| string;
GoogleTextToSpeechSsmlGender
type GoogleTextToSpeechSsmlGender = "SSML_VOICE_GENDER_UNSPECIFIED" | "MALE" | "FEMALE" | "NEUTRAL" | string;
Variables
googleSpeechIntegration
const googleSpeechIntegration: DefinedIntegration<{
capabilities: (
| {
audiences: "customer-facing"[];
capability: string;
description: string;
exposesSensitiveData: true;
label: string;
providerObjects: {
kind: string;
label: string;
}[];
requiresCredential: true;
sideEffect: true;
}
| {
audiences: ("customer-facing" | "internal-support")[];
capability: string;
description: string;
exposesSensitiveData: true;
label: string;
providerObjects: {
kind: string;
label: string;
}[];
requiresCredential: true;
sideEffect?: never;
})[];
category: string;
channelAudiences: ("customer-facing" | "mixed")[];
coverage: {
evidence: {
label: string;
url: string;
}[];
notes: string[];
scope: "provider-api-subset";
};
credentialRequirements: {
description: string;
id: string;
label: string;
required: true;
}[];
directions: ("receive-only" | "send-only" | "bidirectional")[];
id: string;
limitations: string[];
maintainers: {
name: string;
type: "official";
}[];
metadata: {
channelCoverage: {
backgroundModelProvider: string;
browserVoiceProtocol: string;
fullGoogleCloudSpeechSdk: string;
longAudioSynthesis: string;
longRunningRecognize: string;
speechToText: string;
streamingRecognize: string;
textToSpeech: string;
};
implementation: {
adapterCoverage: string[];
rawClientEscapeHatch: boolean;
sdkPackages: string[];
strategy: string;
};
integrationEntryPoints: {
manifest: string;
runtime: string;
};
integrationName: string;
integrationPackageName: string;
};
name: string;
operations: (
| {
alias: string;
capability: string;
exposesSensitiveData: true;
externallyVisible?: never;
providerObject: string;
providerOperation: string;
requiresCredential: true;
sideEffect?: never;
}
| {
alias: string;
capability: string;
exposesSensitiveData?: never;
externallyVisible: true;
providerObject: string;
providerOperation: string;
requiresCredential: true;
sideEffect: true;
})[];
packageName: string;
privacyNotes: string[];
provider: string;
trustLevel: "official";
}, unknown, {
voice.session.start: (input, context) => Promise<GoogleSpeechToTextResult>;
voice.speak: (input, context) => Promise<ArrayBuffer>;
voice.turn.finalize: (input, context) => Promise<GoogleSpeechToTextResult>;
}>;
googleSpeechProviderManifest
const googleSpeechProviderManifest: {
capabilities: {
audiences?: ("customer-facing" | "internal-support" | "mixed")[];
capability: string;
changesWorkflow?: boolean;
description?: string;
exposesSensitiveData?: boolean;
extension?: boolean;
label?: string;
metadata?: Record<string, unknown>;
providerObjects?: {
description?: string;
kind: string;
label?: string;
metadata?: Record<string, unknown>;
schemaName?: string;
}[];
requiresCredential?: boolean;
sideEffect?: boolean;
}[];
category: string;
channelAudiences: ("customer-facing" | "internal-support" | "mixed")[];
coverage: {
evidence: {
label: string;
url?: string;
}[];
notes: string[];
scope: | "support-workflow-subset"
| "provider-api-subset"
| "connector-required"
| "local-protocol"
| "full-provider-api";
};
credentialRequirements: {
description?: string;
id: string;
label?: string;
metadata?: Record<string, unknown>;
required: boolean;
scopes: string[];
}[];
directions: (
| "receive-only"
| "send-only"
| "inbound-only"
| "outbound-only"
| "bidirectional")[];
id: string;
limitations: string[];
maintainers: {
name: string;
type: "community" | "official" | "unknown" | "partner";
url?: string;
}[];
metadata?: Record<string, unknown>;
name: string;
operations: {
alias: string;
audience?: "customer-facing" | "internal-support" | "mixed";
audiences?: ("customer-facing" | "internal-support" | "mixed")[];
capability: string;
changesWorkflow?: boolean;
description?: string;
exposesSensitiveData?: boolean;
extension: boolean;
externallyVisible?: boolean;
inputSchema?: unknown;
inputSchemaName?: string;
inputSchemaRef?: string;
label?: string;
metadata?: Record<string, unknown>;
outputSchema?: unknown;
outputSchemaName?: string;
outputSchemaRef?: string;
providerObject?: string;
providerObjects?: {
description?: string;
kind: string;
label?: string;
metadata?: Record<string, unknown>;
schemaName?: string;
}[];
providerOperation?: string;
requiredPolicyIds?: string[];
requiresApproval?: boolean;
requiresCredential?: boolean;
sideEffect?: boolean;
}[];
packageName: string;
privacyNotes: string[];
provider: string;
trustLevel: "community" | "official" | "verified" | "experimental";
} & {
capabilities: (
| {
audiences: "customer-facing"[];
capability: string;
description: string;
exposesSensitiveData: true;
label: string;
providerObjects: {
kind: string;
label: string;
}[];
requiresCredential: true;
sideEffect: true;
}
| {
audiences: ("customer-facing" | "internal-support")[];
capability: string;
description: string;
exposesSensitiveData: true;
label: string;
providerObjects: {
kind: string;
label: string;
}[];
requiresCredential: true;
sideEffect?: never;
})[];
category: string;
channelAudiences: ("customer-facing" | "mixed")[];
coverage: {
evidence: {
label: string;
url: string;
}[];
notes: string[];
scope: "provider-api-subset";
};
credentialRequirements: {
description: string;
id: string;
label: string;
required: true;
}[];
directions: ("receive-only" | "send-only" | "bidirectional")[];
id: string;
limitations: string[];
maintainers: {
name: string;
type: "official";
}[];
metadata: {
channelCoverage: {
backgroundModelProvider: string;
browserVoiceProtocol: string;
fullGoogleCloudSpeechSdk: string;
longAudioSynthesis: string;
longRunningRecognize: string;
speechToText: string;
streamingRecognize: string;
textToSpeech: string;
};
implementation: {
adapterCoverage: string[];
rawClientEscapeHatch: boolean;
sdkPackages: string[];
strategy: string;
};
integrationEntryPoints: {
manifest: string;
runtime: string;
};
integrationName: string;
integrationPackageName: string;
};
name: string;
operations: (
| {
alias: string;
capability: string;
exposesSensitiveData: true;
externallyVisible?: never;
providerObject: string;
providerOperation: string;
requiresCredential: true;
sideEffect?: never;
}
| {
alias: string;
capability: string;
exposesSensitiveData?: never;
externallyVisible: true;
providerObject: string;
providerOperation: string;
requiresCredential: true;
sideEffect: true;
})[];
packageName: string;
privacyNotes: string[];
provider: string;
trustLevel: "official";
};
Type Declaration
| Name |
Type |
capabilities |
{ audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; extension?: boolean; label?: string; metadata?: Record\<string, unknown>; providerObjects?: { description?: string; kind: string; label?: string; metadata?: Record\<string, unknown>; schemaName?: string; }[]; requiresCredential?: boolean; sideEffect?: boolean; }[] |
category |
string |
channelAudiences |
("customer-facing" | "internal-support" | "mixed")[] |
coverage |
{ evidence: { label: string; url?: string; }[]; notes: string[]; scope: | "support-workflow-subset" | "provider-api-subset" | "connector-required" | "local-protocol" | "full-provider-api"; } |
coverage.evidence |
{ label: string; url?: string; }[] |
coverage.notes |
string[] |
coverage.scope |
| "support-workflow-subset" | "provider-api-subset" | "connector-required" | "local-protocol" | "full-provider-api" |
credentialRequirements |
{ description?: string; id: string; label?: string; metadata?: Record\<string, unknown>; required: boolean; scopes: string[]; }[] |
directions |
( | "receive-only" | "send-only" | "inbound-only" | "outbound-only" | "bidirectional")[] |
id |
string |
limitations |
string[] |
maintainers |
{ name: string; type: "community" | "official" | "unknown" | "partner"; url?: string; }[] |
metadata? |
Record\<string, unknown> |
name |
string |
operations |
{ alias: string; audience?: "customer-facing" | "internal-support" | "mixed"; audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; extension: boolean; externallyVisible?: boolean; inputSchema?: unknown; inputSchemaName?: string; inputSchemaRef?: string; label?: string; metadata?: Record\<string, unknown>; outputSchema?: unknown; outputSchemaName?: string; outputSchemaRef?: string; providerObject?: string; providerObjects?: { description?: string; kind: string; label?: string; metadata?: Record\<string, unknown>; schemaName?: string; }[]; providerOperation?: string; requiredPolicyIds?: string[]; requiresApproval?: boolean; requiresCredential?: boolean; sideEffect?: boolean; }[] |
packageName |
string |
privacyNotes |
string[] |
provider |
string |
trustLevel |
"community" | "official" | "verified" | "experimental" |
Type Declaration
| Name |
Type |
capabilities |
( | { audiences: "customer-facing"[]; capability: string; description: string; exposesSensitiveData: true; label: string; providerObjects: { kind: string; label: string; }[]; requiresCredential: true; sideEffect: true; } | { audiences: ("customer-facing" | "internal-support")[]; capability: string; description: string; exposesSensitiveData: true; label: string; providerObjects: { kind: string; label: string; }[]; requiresCredential: true; sideEffect?: never; })[] |
category |
string |
channelAudiences |
("customer-facing" | "mixed")[] |
coverage |
{ evidence: { label: string; url: string; }[]; notes: string[]; scope: "provider-api-subset"; } |
coverage.evidence |
{ label: string; url: string; }[] |
coverage.notes |
string[] |
coverage.scope |
"provider-api-subset" |
credentialRequirements |
{ description: string; id: string; label: string; required: true; }[] |
directions |
("receive-only" | "send-only" | "bidirectional")[] |
id |
string |
limitations |
string[] |
maintainers |
{ name: string; type: "official"; }[] |
metadata |
{ channelCoverage: { backgroundModelProvider: string; browserVoiceProtocol: string; fullGoogleCloudSpeechSdk: string; longAudioSynthesis: string; longRunningRecognize: string; speechToText: string; streamingRecognize: string; textToSpeech: string; }; implementation: { adapterCoverage: string[]; rawClientEscapeHatch: boolean; sdkPackages: string[]; strategy: string; }; integrationEntryPoints: { manifest: string; runtime: string; }; integrationName: string; integrationPackageName: string; } |
metadata.channelCoverage |
{ backgroundModelProvider: string; browserVoiceProtocol: string; fullGoogleCloudSpeechSdk: string; longAudioSynthesis: string; longRunningRecognize: string; speechToText: string; streamingRecognize: string; textToSpeech: string; } |
metadata.channelCoverage.backgroundModelProvider |
string |
metadata.channelCoverage.browserVoiceProtocol |
string |
metadata.channelCoverage.fullGoogleCloudSpeechSdk |
string |
metadata.channelCoverage.longAudioSynthesis |
string |
metadata.channelCoverage.longRunningRecognize |
string |
metadata.channelCoverage.speechToText |
string |
metadata.channelCoverage.streamingRecognize |
string |
metadata.channelCoverage.textToSpeech |
string |
metadata.implementation |
{ adapterCoverage: string[]; rawClientEscapeHatch: boolean; sdkPackages: string[]; strategy: string; } |
metadata.implementation.adapterCoverage |
string[] |
metadata.implementation.rawClientEscapeHatch |
boolean |
metadata.implementation.sdkPackages |
string[] |
metadata.implementation.strategy |
string |
metadata.integrationEntryPoints |
{ manifest: string; runtime: string; } |
metadata.integrationEntryPoints.manifest |
string |
metadata.integrationEntryPoints.runtime |
string |
metadata.integrationName |
string |
metadata.integrationPackageName |
string |
name |
string |
operations |
( | { alias: string; capability: string; exposesSensitiveData: true; externallyVisible?: never; providerObject: string; providerOperation: string; requiresCredential: true; sideEffect?: never; } | { alias: string; capability: string; exposesSensitiveData?: never; externallyVisible: true; providerObject: string; providerOperation: string; requiresCredential: true; sideEffect: true; })[] |
packageName |
string |
privacyNotes |
string[] |
provider |
string |
trustLevel |
"official" |
Functions
createGoogleSpeechClient()
function createGoogleSpeechClient(options): GoogleSpeechClient;
Parameters
Returns
GoogleSpeechClient
createGoogleSpeechRawClients()
function createGoogleSpeechRawClients(options): GoogleSpeechRawClients;
Parameters
Returns
GoogleSpeechRawClients
createGoogleSpeechVoiceProvider()
function createGoogleSpeechVoiceProvider(options): VoiceProvider;
Parameters
Returns
VoiceProvider
googleSpeechCredentialStatuses()
function googleSpeechCredentialStatuses(input): {
expiresAt?: string;
message?: string;
providerPackageId?: string;
requirementId: string;
scopes?: string[];
state: | "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
}[];
Parameters
Returns
{
expiresAt?: string;
message?: string;
providerPackageId?: string;
requirementId: string;
scopes?: string[];
state: | "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
}[]