donobu
Version:
Create browser automations with an LLM agent and replay them as Playwright scripts.
57 lines • 3.42 kB
TypeScript
import { FlowsPersistence } from './FlowsPersistence';
import { RequestContextHolder } from '../managers/RequestContextHolder';
import { DonobuDeploymentEnvironment } from '../models/DonobuDeploymentEnvironment';
import { FlowsPersistenceFactory } from './FlowsPersistenceFactory';
/**
* A factory class for creating new FlowsPersistence instances. The type of persistence
* objects created varies depending on this factory's constructor arguments and the current API
* request context.
*/
export declare class FlowsPersistenceFactoryImpl implements FlowsPersistenceFactory {
private readonly deploymentEnvironment;
private readonly awsS3Bucket;
private readonly awsS3Region;
private readonly googleCloudStorageBucket;
private readonly supabaseJwtSecretKey;
private readonly requestContextHolder;
/**
* Creates an instance.
*
* @param deploymentEnvironment The deployment environment for this application. If this is set to
* a value of DonobuDeploymentEnvironment.DONOBU_HOSTED_MULTI_TENANT, then the
* supabaseJwtSecretKey must also be specified.
* @param awsS3Bucket The name of the AWS S3 bucket to use for persistence.
* @param awsS3Region The region of the AWS S3 bucket.
* @param googleCloudStorageBucket The name of the Google Cloud storage bucket to use for
* persistence. Note that no special authentication is performed, so the current environment
* must be able to reach said bucket. If deployed in Google Cloud, this may be done
* automatically. If running locally, this may mean you have to log in to Google Cloud using
* the Google Cloud CLI before running this application.
* @param supabaseJwtSecretKey The Supabase JWT secret key used to generate new JWTs for the
* purposes of authentication. This key is extremely sensitive! This parameter MUST be
* specified if deploymentEnvironment is set to DonobuDeploymentEnvironment.DONOBU_HOSTED_MULTI_TENANT.
* @param requestContextHolder The object used to get the current API request context.
*/
constructor(deploymentEnvironment: DonobuDeploymentEnvironment, awsS3Bucket: string | null, awsS3Region: string | null, googleCloudStorageBucket: string | null, supabaseJwtSecretKey: string | null, requestContextHolder: RequestContextHolder);
/**
* Creates an instance, fetching the values for googleCloudStorageBucket and
* supabaseJwtSecretKey from the environment variables.
*/
static fromEnvironment(deploymentEnvironment: DonobuDeploymentEnvironment, requestContextHolder: RequestContextHolder): Promise<FlowsPersistenceFactoryImpl>;
/**
* Creates a new FlowsPersistence instance.
*
* @throws NoApiAccessTokenPresentException If the deploymentEnvironment has a value of
* DonobuDeploymentEnvironment.DONOBU_HOSTED_MULTI_TENANT, and the current RequestContext
* accessToken is null or invalid.
*/
createPersistenceLayer(): Promise<FlowsPersistence>;
/** Returns a list of all valid persistence layers. Note that the returned list may be empty! */
createPersistenceLayers(): Promise<FlowsPersistence[]>;
private static migrateToSqlite;
/**
* Update a given tool call to conform with the latest expected schema.
*/
private static revampToolCall;
}
//# sourceMappingURL=FlowsPersistenceFactoryImpl.d.ts.map