/** * Direct Database Connect Implementation * * Server-side implementation of HazoConnect that directly accesses the SQLite database. * Suitable for use in server components, API routes, and other server-side contexts. */ import type { Database as SqlJsDatabase } from 'sql.js'; import type { HazoConnect, DirectDbConnectOptions } from './types.js'; import type { Logger } from '../llm_api/types.js'; /** * Create a direct database connect instance * * Supports two call signatures: * * **Legacy (two-arg) form** — pass a getter function and logger: * ```typescript * import { create_direct_db_connect, get_database, default_logger } from 'hazo_llm_api/server'; * * const connect = create_direct_db_connect(() => get_database(), default_logger); * const { success, data } = await connect.get_all(); * ``` * * **Options-object form** — pass `{ db, dialect, logger }` for access to `raw_sql` and `dialect`: * ```typescript * const connect = create_direct_db_connect({ db, dialect: 'sqlite', logger }); * const rows = await connect.raw_sql!('SELECT * FROM my_table WHERE id = ?', [id]); * ``` * * @example In API route (legacy form) * ```typescript * const connect = create_direct_db_connect(() => get_database(), logger); * const result = await connect.get_by_area_key('marketing', 'greeting'); * ``` */ export declare function create_direct_db_connect(get_db_or_opts: (() => SqlJsDatabase | null) | DirectDbConnectOptions, logger_arg?: Logger): HazoConnect; //# sourceMappingURL=direct_db_connect.d.ts.map