/** Filename of the default SQLite database inside the skills data directory. */ export declare const DEFAULT_SQLITE_FILENAME = "server.db"; /** The token that selects an in-memory SQLite database (SQLite's own spelling). */ export declare const SQLITE_MEMORY_PATH = ":memory:"; export type DatabaseTarget = { kind: "postgres"; url: string; durable: true; label: string; } | { kind: "sqlite"; path: string; durable: boolean; label: string; } | { kind: "memory"; durable: false; label: string; }; /** * Absolute path of the default SQLite database. * * PR #50 moved the *skill corpus* into ~/.hasna/skills/installed/ and left app data at * the app root, matching every sibling Hasna app (mementos keeps mementos.db beside * agents/, accounts keeps accounts.json beside profiles/). The server database is app * data, so it belongs at the root - ~/.hasna/skills/server.db - and explicitly NOT * inside installed/, which now holds exactly one thing: installed skills. * * Resolved through getDataDir() rather than composed from $HOME so that * $HASNA_SKILLS_DIR relocates the database along with the rest of the app's state. The * test preload sets that variable per test, which is also what keeps the suite from * writing a server.db into a developer's real home. */ export declare function defaultSqlitePath(): string; /** * Resolve an operator-supplied database string into a concrete backend choice. * * @throws if the string names a scheme this build has no backend for. Refusing beats * guessing: a typo'd scheme that silently became "SQLite at ./mysql:" would present as * an empty database rather than as a configuration error. */ export declare function resolveDatabaseTarget(raw?: string | null): DatabaseTarget;