@gscdump/engine-duckdb-wasm 0.33.10 → 0.35.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +15 -15
  2. package/package.json +4 -4
package/README.md CHANGED
@@ -53,30 +53,30 @@ before registering files. `bootDuckDBWasm()` opens DuckDB with full HTTP reads
53
53
  disabled, so a server that cannot satisfy range reads routes to server-side
54
54
  fallback instead of causing broad browser object downloads.
55
55
 
56
- OPFS is intentionally not used as a write-through parquet cache yet. If it is
57
- added later, the cache key must include manifest version and object key, and
58
- the same file/byte budgets must gate admission before any object is materialized
59
- locally.
56
+ OPFS (`attachOpfsParquetTables` et al., in `src/opfs.ts`) is the primary
57
+ write-through parquet cache: attached snapshot files persist keyed by
58
+ manifest `contentHash`/object key, gated by the same file/byte budgets before
59
+ anything is materialized locally.
60
60
 
61
- ### Engine source for analyzer dispatch
61
+ ### Attaching parquet as analyzer sources
62
62
 
63
- ```ts
64
- import { createEngine } from '@gscdump/engine-duckdb-wasm'
65
-
66
- const source = createEngine({
67
- runner: { query: (sql, params) => conn.query(sql, params) },
68
- })
69
- ```
63
+ Per [ADR-0001](../../docs/adr/0001-browser-engine-uses-attached-tables.md), the
64
+ browser engine dispatches over attached parquet tables (`createAttachedTableSource`
65
+ from `@gscdump/engine/source`, wired up inside `createBrowserAnalysisRuntime`),
66
+ not a canonical-schema `SqlQuerySource`. An earlier `createEngine()` wrapping the
67
+ canonical-schema path had zero callers and was deleted in 2026-05 — don't
68
+ reintroduce it; extend `createAttachedTableSource` or the attach helpers below
69
+ instead.
70
70
 
71
71
  ## Exports
72
72
 
73
- - `createEngine({ runner })` — builds a `SqlQuerySource` over a DuckDB-WASM connection.
74
73
  - `createInsightRunner({ db, conn })` — drizzle-orm handle for typed `.select()` / window functions, with `sql\`...\`` raw escape hatch.
75
74
  - `bootDuckDBWasm()` / `attachParquetTables()` / `attachParquetUrlTables()` / `attachSingleTable()` / `createBrowserAnalysisRuntime()` / `createDuckDBBundlesFromBase()` / `listAttachedTables()` — browser runtime primitives.
75
+ - `attachOpfsParquetTables()` / `readOpfsSnapshotFile()` / `estimateOpfsStorage()` / `requestPersistentStorage()` / `clearOpfsSnapshotCache()` — OPFS-backed parquet cache.
76
76
  - `strikingMomentum(runner, options)` — first-class browser insight.
77
77
  - `scopeFor(table, { siteId, window })` / `mergeScope()` — tenant scope predicates.
78
- - `pages` / `queries` / `page_queries` / `countries` / `dates` / `schema` — drizzle schema mirroring `gscdump/analytics` `SCHEMAS`. Drift fails loudly at module load.
79
- - `browserResolverAdapter` dialect adapter for the resolver kit.
78
+ - `pages` / `queries` / `page_queries` / `countries` / `dates` / `hourly_pages` / `schema` — drizzle schema mirroring `gscdump/analytics` `SCHEMAS`. Drift fails loudly at module load.
79
+ - `compileArchetypeSql()` / `tableForArchetype()` archetype query compilation.
80
80
  - `createClient` / `drizzle` / `DuckDBWasmDatabase` — vendored drizzle-orm DuckDB-WASM adapter.
81
81
  - `resolveWindow` (re-exported from `@gscdump/engine/period`).
82
82
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gscdump/engine-duckdb-wasm",
3
3
  "type": "module",
4
- "version": "0.33.10",
4
+ "version": "0.35.2",
5
5
  "description": "DuckDB-WASM engine adapter for @gscdump/analysis — typed browser analytics against parquet via R2.",
6
6
  "author": {
7
7
  "name": "Harlan Wilton",
@@ -45,9 +45,9 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "drizzle-orm": "1.0.0-rc.3",
48
- "@gscdump/contracts": "0.33.10",
49
- "@gscdump/engine": "0.33.10",
50
- "gscdump": "0.33.10"
48
+ "@gscdump/contracts": "0.35.2",
49
+ "@gscdump/engine": "0.35.2",
50
+ "gscdump": "0.35.2"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@duckdb/duckdb-wasm": "^1.32.0",