@elimeleth/vct-flow
Version:
Crea un archivo app.ts, coloca el codigo de abajo alli y luego puedes correrlo con `npx tsx src/app.ts`
96 lines (95 loc) • 4.09 kB
TypeScript
import { CrontabSchedule, HttpRequestOptions, PrinterFunction, WorkflowKey } from './types';
import { Workflow } from './core';
import { ProviderClass } from './io/providerClass';
import { AxiosRequestConfig } from 'axios';
/**
* Genera un UUID único con posibilidad de tener un prefijo.
* @param prefix Prefijo opcional para el UUID.
* @returns El UUID generado.
*/
declare const generateRef: (prefix?: string) => string;
/**
* Genera un timestamp en milisegundos sin prefijo hex.
* @returns El timestamp generado.
*/
declare const generateTime: () => number;
/**
* Genera un HASH MD5 a partir de un objeto serializado como cadena JSON.
* @param param0 Objeto con propiedades index, answer y keyword.
* @returns El HASH MD5 generado.
*/
declare const generateRefSerialize: ({ index, answer, keyword, }: {
index: number;
answer: string | string[];
keyword?: string | string[];
}) => string;
/**
* Generamos un UUID único con posibilidad de tener un prefijo
* @param prefix - Prefijo opcional para el UUID
* @returns Un UUID único, opcionalmente con prefijo
*/
declare const generateRefProvider: (prefix?: string) => string;
/**
* Encriptar data
* @param data - Datos a encriptar
* @returns Datos encriptados en base64
*/
declare const encryptData: (data: string) => string;
/**
* Desencriptar data
* @param encryptedData - Datos encriptados en base64
* @returns Datos desencriptados o 'FAIL' en caso de error
*/
declare const decryptData: (encryptedData: string) => string;
/**
*
* @param prefix
* @returns
*/
declare const generateRegex: (prefix: string) => RegExp;
declare function sleep(ms: number): Promise<void>;
/**
*
* @param message
* @param title
* @param cName
*/
declare const printer: PrinterFunction;
declare function saveCheckpointInDatabase(serializedData: string): Promise<void>;
declare function loadCheckpointFromDatabase(thread_id: string): Promise<string>;
declare function isValidCrontab(schedule: CrontabSchedule): boolean;
declare function toCrontabString(schedule: CrontabSchedule): string;
declare function dynamicDelay(min: number, max: number, total_tokens: number): number;
declare function createDirectoryIfNotExists(directory: string): Promise<void>;
declare function makeHttpRequest<T>(options: HttpRequestOptions<T>): Promise<T>;
declare function event_to_regexp(ev: WorkflowKey): WorkflowKey;
declare function deepClone(obj: any): any;
declare function loadFlows(): Promise<Workflow<string>[]>;
declare function loadProvider(): Promise<Partial<ProviderClass>>;
declare const generalDownload: (url: string, pathToSave?: string) => Promise<string>;
declare function convertOpusToMp3(inputPath: string): Promise<string>;
declare function convertToOgg(inputPath: string): Promise<string>;
export interface FormatOptions {
code: string;
ext: 'mp4' | 'opus' | 'mp3';
}
declare const convertTo: (filePath: string, format?: FormatOptions["ext"]) => Promise<string>;
declare function sendToOpenaiWhisper(mp3FilePath: string, model?: "whisper-1", extra?: {
prompt: string;
}): Promise<string>;
declare function sendToGroqWhisper(mp3FilePath: string, model?: "whisper-large-v3-turbo" | "whisper-large-v3" | "distil-whisper-large-v3-en", extra?: {
prompt: string;
}): Promise<string>;
declare function validateEnvVar(envVar: string | string[]): void;
export { validateEnvVar, toCrontabString, isValidCrontab, convertToOgg, convertTo, convertOpusToMp3, sendToGroqWhisper, sendToOpenaiWhisper, generalDownload, sleep, printer, saveCheckpointInDatabase, loadCheckpointFromDatabase, dynamicDelay, createDirectoryIfNotExists, makeHttpRequest, event_to_regexp, deepClone, loadFlows, loadProvider, generateRef, generateRefSerialize, generateTime, generateRegex, generateRefProvider, encryptData, decryptData };
type ApiError = {
details?: unknown;
err_code?: string | number;
message: string;
};
export type ApiResponse<T> = {
data: T | null;
error?: ApiError | null;
status: number;
};
export declare function apiRequest<T = unknown>(config: AxiosRequestConfig): Promise<ApiResponse<T>>;