UNPKG

donobu

Version:

Create browser automations with an LLM agent and replay them as Playwright scripts.

40 lines 1.72 kB
/** * Persistence layer for Donobu flow environment data - a user-managed key-value * store that supplies configuration values (API keys, base URLs, feature flags, * etc.) to flows at runtime. * * **Not `process.env`.** Despite the "env" name, these values are *not* the * Node.js process environment variables. They are persisted, per-project data * that flows opt into via an allow-list (`envVars` in flow metadata). At * execution time, only the declared names are hydrated and made available to * tools through template interpolation (`{{$.env.VAR_NAME}}`). * * Multiple persistence backends can coexist (SQLite, in-memory, cloud storage) * and are layered by {@link EnvPersistenceRegistry} according to * `PERSISTENCE_PRIORITY`. Reads resolve from the first layer that holds a * value; writes fan out to every layer. * * @see EnvDataManager - business-logic wrapper that adds validation and * multi-layer read/write orchestration on top of this interface. * @see EnvPersistenceRegistry - factory that assembles the ordered layer stack. */ export interface EnvPersistence { /** * Set a piece of environment data that is available across all flows. */ setEnvironmentDatum(key: string, value: string): Promise<void>; /** * Delete a piece of environment data by its key. * No-op if the data does not exist. */ deleteEnvironmentDatum(key: string): Promise<void>; /** * Retrieve a piece of environment data by its key. */ getEnvironmentDatum(key: string): Promise<string | undefined>; /** * Get all environment data. */ getEnvironmentData(): Promise<Record<string, string>>; } //# sourceMappingURL=EnvPersistence.d.ts.map