@jss-rule-engine/workflow
Version:
76 lines (75 loc) • 3.25 kB
TypeScript
import { WorkflowScheduledTask } from './workflowTypes';
export interface DatabaseServiceOptions {
url?: string;
syncUrl?: string;
authToken?: string;
}
export interface AddScheduledTaskParams {
id: string;
visitorId: string;
workflowId: string;
taskType: string;
scheduledTime: Date;
payload?: string;
}
export interface RAGItem {
id: string;
name: string;
path: string;
parentId: string;
indexId: string;
content: string;
distance?: Number;
}
export interface IDatabaseService {
init(): Promise<void>;
getScheduledTasks(): Promise<Array<WorkflowScheduledTask>>;
addScheduledTask(params: AddScheduledTaskParams): Promise<void>;
updateScheduledTask(id: string, fields: Partial<{
visitorId: string;
workflowId: string;
taskType: string;
scheduledTime: Date;
payload: string;
}>): Promise<void>;
deleteScheduledTask(id: string): Promise<void>;
addVisitor(visitorId: string, stateId: string, workflowId: string): Promise<void>;
getVisitorState(visitorId: string, workflowId: string): Promise<string | null>;
updateVisitorState(visitorId: string, nextStateId: string, workflowId: string): Promise<void>;
removeVisitor(visitorId: string, workflowId: string): Promise<void>;
getStateVisitors(stateId: string, workflowId: string): Promise<string[]>;
addEmbedding(item: RAGItem): Promise<void>;
findRelevantEmbeddings(data: string, indexId: string, topN: number, thresold: number): Promise<RAGItem[]>;
getEmbeddingsByParentId(parentId: string, indexId: string): Promise<any>;
removeEmbedding(id: string, indexId: string): Promise<void>;
debugPrintTables(): Promise<void>;
cleanDb(): Promise<void>;
dispose(): Promise<void>;
}
export declare class DatabaseService implements IDatabaseService {
private client;
constructor(options: DatabaseServiceOptions);
addEmbedding(item: RAGItem): Promise<void>;
findRelevantEmbeddings(data: string, indexId: string, topN: number, thresold: number): Promise<RAGItem[]>;
getEmbeddingsByParentId(parentId: string, indexId: string): Promise<any>;
removeEmbedding(id: string, indexId: string): Promise<void>;
cleanDb(): Promise<void>;
getScheduledTasks(): Promise<Array<WorkflowScheduledTask>>;
init(): Promise<void>;
addScheduledTask(params: AddScheduledTaskParams): Promise<void>;
updateScheduledTask(id: string, fields: Partial<{
visitorId: string;
workflowId: string;
taskType: string;
scheduledTime: Date;
payload: string;
}>): Promise<void>;
deleteScheduledTask(id: string): Promise<void>;
addVisitor(visitorId: string, stateId: string, workflowId: string): Promise<void>;
getVisitorState(visitorId: string, workflowId: string): Promise<string | null>;
updateVisitorState(visitorId: string, nextStateId: string, workflowId: string): Promise<void>;
removeVisitor(visitorId: string, workflowId: string): Promise<void>;
getStateVisitors(stateId: string, workflowId: string): Promise<string[]>;
debugPrintTables(): Promise<void>;
dispose(): Promise<void>;
}