/** * Lazy-initialized singleton AsyncDuckDB instance running the single-threaded * MVP wasm bundle only — never eh/coi, which need Cross-Origin-Opener-Policy / * Cross-Origin-Embedder-Policy response headers this static host doesn't send. * See docs/superpowers/specs/2026-08-11-empirical-draws-wasm-design.md. */ let dbPromise = null /** @returns {Promise} */ export function getDb() { if (!dbPromise) dbPromise = initDb() return dbPromise } async function initDb() { const duckdb = await import('@duckdb/duckdb-wasm') const mvpWorkerUrl = (await import('@duckdb/duckdb-wasm/dist/duckdb-browser-mvp.worker.js?url')).default const mvpWasmUrl = (await import('@duckdb/duckdb-wasm/dist/duckdb-mvp.wasm?url')).default const worker = new Worker(mvpWorkerUrl) const logger = new duckdb.ConsoleLogger(duckdb.LogLevel.WARNING) const db = new duckdb.AsyncDuckDB(logger, worker) await db.instantiate(mvpWasmUrl, null) return db }