@onereach/step-voice
Version:
Onereach.ai Voice Steps
48 lines (47 loc) • 1.7 kB
TypeScript
import Step from '@onereach/flow-sdk/dst/step';
import { IThreadId, IMergeField } from '@onereach/flow-sdk/dst/types';
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, TParams = any> extends Step<TIn & ConvStepDataIn, TOut, TParams> {
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>;
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>;
}