import { PgClientLike, SnapshotStore } from "../contracts/orchestrator/snapshot-store.contract.mjs"; //#region ../ai/src/snapshot/pg.d.ts /** * Options for {@link pg}. The `client` is an already-built `pg.Pool` / * `pg.Client` (anything satisfying {@link PgClientLike}); the store never * opens or closes it — connection lifecycle stays with the caller. */ type PgSnapshotStoreOptions = { /** Pre-built pg client. The store only ever calls `query`. */client: PgClientLike; /** Table name. Defaults to `warlock_supervisor_snapshots`. */ table?: string; }; /** * Create a Postgres-backed {@link SnapshotStore}. Pass a live * `pg.Pool`/`pg.Client` — the store never opens or closes it. Schema is * not auto-migrated: run {@link SnapshotStore.schema} through your own * migration tool first. * * @example * import { Pool } from "pg"; * import { ai } from "@warlock.js/ai"; * * const pool = new Pool({ connectionString: process.env.DATABASE_URL }); * * const orchestrator = ai.orchestrator({ * name: "support", * intents: { ... }, * iterate: true, * snapshotStore: ai.snapshot.pg({ * client: pool, * table: "warlock_supervisor_snapshots", * }), * }); * * // Run once, via your own migration tooling: * // await pool.query(orchestrator's store.schema()); */ declare function pg(options: PgSnapshotStoreOptions): SnapshotStore; //#endregion export { PgSnapshotStoreOptions, pg }; //# sourceMappingURL=pg.d.mts.map