@onereach/step-voice
Version:
Onereach.ai Voice Steps
51 lines (50 loc) • 1.95 kB
TypeScript
import Step from '@onereach/flow-sdk/dst/step';
import { CONFIG, IThreadId } from '@onereach/flow-sdk/dst/types/thread';
import { IMergeField } from '@onereach/flow-sdk/dst/types/mergeFields';
import { IEvent } from "@onereach/flow-sdk/types/event";
export interface ConvStepDataIn {
conversation?: string | IMergeField;
conversationThread?: IThreadId;
}
export interface IConversation {
dummy?: never;
}
export interface IConversationData {
_conv: IConversation;
}
export default class ConvStep<TData extends IConversationData, TIn = unknown, TOut = unknown, TEvents extends IEvent<any> = IEvent<any>> extends Step<CONFIG<TIn & ConvStepDataIn, TOut, TEvents, any, any, any>> {
private convDataCache?;
get cache(): TData | undefined;
get conversation(): string | IMergeField;
get conversationId(): string;
get workerThreadId(): string;
/** id of the thread where conversation data is stored */
get dataThreadId(): IThreadId;
get isGlobal(): boolean;
get isWorker(): boolean;
get useQueue(): boolean;
fetchData(): Promise<TData>;
getConversation(): Promise<IConversation>;
getConversationByName(conversation: string): Promise<IConversation>;
updateData(): Promise<void>;
hasConversation(): Promise<boolean>;
runBefore(): Promise<void>;
protected onSkipEvent(): Promise<void>;
cancel(): Promise<void>;
protected onCancel(): Promise<void>;
onSleep(): Promise<void>;
onAwake(): Promise<void>;
onPause(): Promise<void>;
onResume(): Promise<void>;
waitConvEnd(): Promise<void>;
waitGlobEnd(): Promise<void>;
onConvEnd(): Promise<void>;
pause(): Promise<void>;
resume(): Promise<void>;
startConversation(data: TData, { thread }?: {
thread?: IThreadId;
}): Promise<void>;
protected _fetchCache(): Promise<(TData) | undefined>;
protected _clearCache(): void;
protected _refreshCache(): Promise<void>;
}