{
  "name": "@gscdump/engine",
  "type": "module",
  "version": "1.5.0",
  "description": "Append-only Parquet/DuckDB storage engine + planner + adapters for the gscdump pipeline. Node + edge runtimes; opt-in heavy peers.",
  "author": {
    "name": "Harlan Wilton",
    "email": "harlan@harlanzw.com",
    "url": "https://harlanzw.com/"
  },
  "license": "MIT",
  "funding": "https://github.com/sponsors/harlan-zw",
  "homepage": "https://github.com/harlan-zw/gscdump/tree/main/packages/engine#readme",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/harlan-zw/gscdump.git",
    "directory": "packages/engine"
  },
  "bugs": {
    "url": "https://github.com/harlan-zw/gscdump/issues"
  },
  "sideEffects": false,
  "exports": {
    ".": {
      "types": "./dist/index.d.mts",
      "import": "./dist/index.mjs",
      "default": "./dist/index.mjs"
    },
    "./contracts": {
      "types": "./dist/contracts.d.mts",
      "import": "./dist/contracts.mjs",
      "default": "./dist/contracts.mjs"
    },
    "./errors": {
      "types": "./dist/errors.d.mts",
      "import": "./dist/errors.mjs",
      "default": "./dist/errors.mjs"
    },
    "./planner": {
      "types": "./dist/planner.d.mts",
      "import": "./dist/planner.mjs",
      "default": "./dist/planner.mjs"
    },
    "./schema": {
      "types": "./dist/schema.d.mts",
      "import": "./dist/schema.mjs",
      "default": "./dist/schema.mjs"
    },
    "./sync-config": {
      "types": "./dist/sync-config.d.mts",
      "import": "./dist/sync-config.mjs",
      "default": "./dist/sync-config.mjs"
    },
    "./ingest": {
      "types": "./dist/ingest.d.mts",
      "import": "./dist/ingest.mjs",
      "default": "./dist/ingest.mjs"
    },
    "./ingest-accumulator": {
      "types": "./dist/ingest-accumulator.d.mts",
      "import": "./dist/ingest-accumulator.mjs",
      "default": "./dist/ingest-accumulator.mjs"
    },
    "./sink-node": {
      "types": "./dist/sink-node.d.mts",
      "import": "./dist/sink-node.mjs",
      "default": "./dist/sink-node.mjs"
    },
    "./sql": {
      "types": "./dist/sql-bind.d.mts",
      "import": "./dist/sql-bind.mjs",
      "default": "./dist/sql-bind.mjs"
    },
    "./sql-fragments": {
      "types": "./dist/sql-fragments.d.mts",
      "import": "./dist/sql-fragments.mjs",
      "default": "./dist/sql-fragments.mjs"
    },
    "./entities": {
      "types": "./dist/entities.d.mts",
      "import": "./dist/entities.mjs",
      "default": "./dist/entities.mjs"
    },
    "./entity-keys": {
      "types": "./dist/entity-keys.d.mts",
      "import": "./dist/entity-keys.mjs",
      "default": "./dist/entity-keys.mjs"
    },
    "./rollups": {
      "types": "./dist/rollups.d.mts",
      "import": "./dist/rollups.mjs",
      "default": "./dist/rollups.mjs"
    },
    "./iceberg": {
      "types": "./dist/iceberg/index.d.mts",
      "import": "./dist/iceberg/index.mjs",
      "default": "./dist/iceberg/index.mjs"
    },
    "./node": {
      "types": "./dist/adapters/node.d.mts",
      "import": "./dist/adapters/node.mjs",
      "default": "./dist/adapters/node.mjs"
    },
    "./filesystem": {
      "types": "./dist/adapters/filesystem.d.mts",
      "import": "./dist/adapters/filesystem.mjs",
      "default": "./dist/adapters/filesystem.mjs"
    },
    "./hyparquet": {
      "types": "./dist/adapters/hyparquet.d.mts",
      "import": "./dist/adapters/hyparquet.mjs",
      "default": "./dist/adapters/hyparquet.mjs"
    },
    "./r2": {
      "types": "./dist/adapters/r2.d.mts",
      "import": "./dist/adapters/r2.mjs",
      "default": "./dist/adapters/r2.mjs"
    },
    "./resolver": {
      "types": "./dist/resolver/index.d.mts",
      "import": "./dist/resolver/index.mjs",
      "default": "./dist/resolver/index.mjs"
    },
    "./analyzer": {
      "types": "./dist/analyzer/index.d.mts",
      "import": "./dist/analyzer/index.mjs",
      "default": "./dist/analyzer/index.mjs"
    },
    "./report": {
      "types": "./dist/report/index.d.mts",
      "import": "./dist/report/index.mjs",
      "default": "./dist/report/index.mjs"
    },
    "./analysis-types": {
      "types": "./dist/analysis-types.d.mts",
      "import": "./dist/analysis-types.mjs",
      "default": "./dist/analysis-types.mjs"
    },
    "./period": {
      "types": "./dist/period/index.d.mts",
      "import": "./dist/period/index.mjs",
      "default": "./dist/period/index.mjs"
    },
    "./source": {
      "types": "./dist/source/index.d.mts",
      "import": "./dist/source/index.mjs",
      "default": "./dist/source/index.mjs"
    },
    "./scope": {
      "types": "./dist/scope.d.mts",
      "import": "./dist/scope.mjs",
      "default": "./dist/scope.mjs"
    },
    "./arrow": {
      "types": "./dist/arrow-utils.d.mts",
      "import": "./dist/arrow-utils.mjs",
      "default": "./dist/arrow-utils.mjs"
    },
    "./vendor/hysnappy": {
      "types": "./dist/vendor/hysnappy-purejs.d.mts",
      "import": "./dist/vendor/hysnappy-purejs.mjs",
      "default": "./dist/vendor/hysnappy-purejs.mjs"
    }
  },
  "main": "./dist/index.mjs",
  "types": "./dist/index.d.mts",
  "files": [
    "dist"
  ],
  "engines": {
    "node": ">=22"
  },
  "peerDependencies": {
    "@duckdb/duckdb-wasm": "^1.33.1-dev57.0"
  },
  "peerDependenciesMeta": {
    "@duckdb/duckdb-wasm": {
      "optional": true
    }
  },
  "dependencies": {
    "drizzle-orm": "1.0.0-rc.3",
    "proper-lockfile": "^4.1.2",
    "@gscdump/contracts": "^1.5.0",
    "@gscdump/lakehouse": "^1.5.0",
    "gscdump": "^1.5.0"
  },
  "devDependencies": {
    "@duckdb/duckdb-wasm": "1.33.1-dev57.0",
    "@types/node": "^26.1.1",
    "@types/proper-lockfile": "^4.1.4",
    "aws4fetch": "^1.0.20",
    "hyparquet": "^1.26.2",
    "hyparquet-writer": "^0.16.1",
    "icebird": "^0.8.15",
    "tsx": "^4.23.1",
    "unstorage": "^1.17.5",
    "vitest": "^4.1.10"
  },
  "scripts": {
    "dev": "obuild --stub",
    "build": "obuild",
    "typecheck": "tsc --noEmit",
    "test": "vitest",
    "benchmark-store": "tsx scripts/benchmark-store.mts",
    "r2-harness": "tsx scripts/r2-contention-harness.ts",
    "backfill-audit": "tsx scripts/backfill-audit.ts"
  }
}