tlc-claude-code 0.9.7 → 0.9.8
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.
- package/CLAUDE.md +16 -1
- package/README.md +2 -0
- package/dashboard/dist/components/AppPreview.d.ts +34 -0
- package/dashboard/dist/components/AppPreview.js +87 -0
- package/dashboard/dist/components/AppPreview.test.js +151 -0
- package/dashboard/dist/components/DocsPane.d.ts +33 -0
- package/dashboard/dist/components/DocsPane.js +110 -0
- package/dashboard/dist/components/DocsPane.test.js +154 -0
- package/dashboard/dist/components/HealthPane.d.ts +22 -0
- package/dashboard/dist/components/HealthPane.js +33 -0
- package/dashboard/dist/components/HealthPane.test.js +67 -0
- package/dashboard/dist/components/LogsPane.d.ts +19 -0
- package/dashboard/dist/components/LogsPane.js +103 -0
- package/dashboard/dist/components/LogsPane.test.d.ts +1 -0
- package/dashboard/dist/components/LogsPane.test.js +128 -0
- package/dashboard/dist/components/QualityPane.d.ts +18 -0
- package/dashboard/dist/components/QualityPane.js +21 -0
- package/dashboard/dist/components/QualityPane.test.d.ts +1 -0
- package/dashboard/dist/components/QualityPane.test.js +88 -0
- package/dashboard/dist/components/ServicesPane.d.ts +26 -0
- package/dashboard/dist/components/ServicesPane.js +61 -0
- package/dashboard/dist/components/ServicesPane.test.d.ts +1 -0
- package/dashboard/dist/components/ServicesPane.test.js +103 -0
- package/dashboard/package.json +3 -1
- package/docker-compose.dev.yml +32 -0
- package/help.md +22 -3
- package/package.json +7 -2
- package/server/lib/auth-flow-docs.js +375 -0
- package/server/lib/auth-flow-docs.test.js +268 -0
- package/server/lib/auth-system.js +577 -0
- package/server/lib/auth-system.test.js +518 -0
- package/server/lib/auto-database.js +332 -17
- package/server/lib/autofix-command.js +134 -0
- package/server/lib/autofix-command.test.js +157 -0
- package/server/lib/autofix-engine.js +210 -0
- package/server/lib/autofix-engine.test.js +232 -0
- package/server/lib/branch-deployer.js +632 -0
- package/server/lib/branch-deployer.test.js +213 -0
- package/server/lib/bug-sync.js +450 -0
- package/server/lib/bug-sync.test.js +451 -0
- package/server/lib/ci-command.js +342 -0
- package/server/lib/ci-command.test.js +356 -0
- package/server/lib/config.js +222 -0
- package/server/lib/config.test.js +154 -0
- package/server/lib/container-orchestrator.js +251 -0
- package/server/lib/container-orchestrator.test.js +277 -0
- package/server/lib/coverage-threshold.js +409 -0
- package/server/lib/coverage-threshold.test.js +441 -0
- package/server/lib/dependency-update.js +216 -0
- package/server/lib/dependency-update.test.js +192 -0
- package/server/lib/deploy-command.js +536 -0
- package/server/lib/deploy-command.test.js +301 -0
- package/server/lib/dev-server-command.js +277 -0
- package/server/lib/dev-server-command.test.js +326 -0
- package/server/lib/dev-server-runtime.js +382 -0
- package/server/lib/dev-server-runtime.test.js +378 -0
- package/server/lib/docker-manager.js +419 -0
- package/server/lib/docker-manager.test.js +267 -0
- package/server/lib/docs-command.js +271 -0
- package/server/lib/docs-command.test.js +269 -0
- package/server/lib/docs-generator.js +311 -0
- package/server/lib/docs-generator.test.js +143 -0
- package/server/lib/edge-case-generator.js +209 -0
- package/server/lib/edge-case-generator.test.js +206 -0
- package/server/lib/edge-cases-command.js +175 -0
- package/server/lib/edge-cases-command.test.js +157 -0
- package/server/lib/example-generator.js +402 -0
- package/server/lib/example-generator.test.js +377 -0
- package/server/lib/export-command.js +395 -0
- package/server/lib/export-command.test.js +358 -0
- package/server/lib/file-watcher.js +350 -0
- package/server/lib/file-watcher.test.js +286 -0
- package/server/lib/github-actions.js +542 -0
- package/server/lib/github-actions.test.js +353 -0
- package/server/lib/issue-command.js +413 -0
- package/server/lib/issue-command.test.js +393 -0
- package/server/lib/issue-tracker.js +445 -0
- package/server/lib/issue-tracker.test.js +463 -0
- package/server/lib/log-streamer.js +161 -0
- package/server/lib/log-streamer.test.js +193 -0
- package/server/lib/mcp-format.js +395 -0
- package/server/lib/mcp-format.test.js +391 -0
- package/server/lib/merge-command.js +446 -0
- package/server/lib/merge-command.test.js +246 -0
- package/server/lib/openapi-generator.js +421 -0
- package/server/lib/openapi-generator.test.js +457 -0
- package/server/lib/orm-schema-parser.js +417 -0
- package/server/lib/orm-schema-parser.test.js +395 -0
- package/server/lib/overdrive-command.js +522 -0
- package/server/lib/overdrive-command.test.js +368 -0
- package/server/lib/pr-report.js +435 -0
- package/server/lib/pr-report.test.js +412 -0
- package/server/lib/quality-command.js +200 -0
- package/server/lib/quality-command.test.js +210 -0
- package/server/lib/quality-scorer.js +200 -0
- package/server/lib/quality-scorer.test.js +229 -0
- package/server/lib/route-detector.js +358 -0
- package/server/lib/route-detector.test.js +333 -0
- package/server/lib/screenshot-capture.js +288 -0
- package/server/lib/screenshot-capture.test.js +348 -0
- package/server/lib/security-audit.js +245 -0
- package/server/lib/security-audit.test.js +214 -0
- package/server/lib/service-proxy.js +197 -0
- package/server/lib/service-proxy.test.js +198 -0
- package/server/lib/slack-notifier.js +601 -0
- package/server/lib/slack-notifier.test.js +393 -0
- package/server/lib/spec-merger.js +388 -0
- package/server/lib/spec-merger.test.js +342 -0
- package/server/lib/team-docs-command.js +348 -0
- package/server/lib/team-docs-command.test.js +213 -0
- package/server/lib/team-docs.js +591 -0
- package/server/lib/team-docs.test.js +318 -0
- package/server/lib/tool-detector.js +289 -0
- package/server/lib/tool-detector.test.js +401 -0
- package/server/lib/tool-rules.js +591 -0
- package/server/lib/tool-rules.test.js +502 -0
- package/server/lib/webhook-listener.js +603 -0
- package/server/lib/webhook-listener.test.js +424 -0
- package/server/lib/websocket-server.js +288 -0
- package/server/lib/websocket-server.test.js +383 -0
- package/server/package-lock.json +1493 -11
- package/server/package.json +6 -1
- package/server/node_modules/.package-lock.json +0 -1303
- package/server/node_modules/@electric-sql/pglite/LICENSE +0 -176
- package/server/node_modules/@electric-sql/pglite/README.md +0 -189
- package/server/node_modules/@electric-sql/pglite/dist/amcheck.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/auth_delay.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/auto_explain.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/basebackup_to_shell.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/basic_archive.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/bloom.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/btree_gin.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/btree_gist.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/chunk-3WWIVTCY.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/chunk-3WWIVTCY.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/chunk-F2DQ4FIK.js +0 -9
- package/server/node_modules/@electric-sql/pglite/dist/chunk-F2DQ4FIK.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/chunk-F4GETNPB.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/chunk-F4GETNPB.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/chunk-QY3QWFKW.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/chunk-QY3QWFKW.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/chunk-VBDAOXYI.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/chunk-VBDAOXYI.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/citext.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/contrib/amcheck.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/amcheck.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/amcheck.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/amcheck.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/amcheck.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/amcheck.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/auto_explain.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/auto_explain.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/auto_explain.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/auto_explain.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/auto_explain.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/auto_explain.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/bloom.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/bloom.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/bloom.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/bloom.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/bloom.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/bloom.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/btree_gin.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/btree_gin.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/btree_gin.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/btree_gin.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/btree_gin.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/btree_gin.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/btree_gist.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/btree_gist.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/btree_gist.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/btree_gist.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/btree_gist.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/btree_gist.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/citext.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/citext.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/citext.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/citext.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/citext.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/citext.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/cube.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/cube.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/cube.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/cube.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/cube.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/cube.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/dict_int.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/dict_int.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/dict_int.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/dict_int.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/dict_int.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/dict_int.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/dict_xsyn.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/dict_xsyn.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/dict_xsyn.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/dict_xsyn.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/dict_xsyn.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/dict_xsyn.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/earthdistance.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/earthdistance.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/earthdistance.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/earthdistance.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/earthdistance.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/earthdistance.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/file_fdw.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/file_fdw.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/file_fdw.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/file_fdw.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/file_fdw.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/file_fdw.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/fuzzystrmatch.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/fuzzystrmatch.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/fuzzystrmatch.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/fuzzystrmatch.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/fuzzystrmatch.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/fuzzystrmatch.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/hstore.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/hstore.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/hstore.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/hstore.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/hstore.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/hstore.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/intarray.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/intarray.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/intarray.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/intarray.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/intarray.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/intarray.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/isn.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/isn.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/isn.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/isn.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/isn.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/isn.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/lo.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/lo.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/lo.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/lo.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/lo.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/lo.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/ltree.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/ltree.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/ltree.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/ltree.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/ltree.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/ltree.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pageinspect.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pageinspect.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pageinspect.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pageinspect.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pageinspect.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pageinspect.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_buffercache.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_buffercache.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_buffercache.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_buffercache.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_buffercache.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_buffercache.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_freespacemap.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_freespacemap.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_freespacemap.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_freespacemap.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_freespacemap.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_freespacemap.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_surgery.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_surgery.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_surgery.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_surgery.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_surgery.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_surgery.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_trgm.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_trgm.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_trgm.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_trgm.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_trgm.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_trgm.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_visibility.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_visibility.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_visibility.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_visibility.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_visibility.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_visibility.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_walinspect.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_walinspect.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_walinspect.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_walinspect.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_walinspect.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pg_walinspect.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pgcrypto.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pgcrypto.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pgcrypto.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pgcrypto.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pgcrypto.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/pgcrypto.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/seg.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/seg.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/seg.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/seg.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/seg.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/seg.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tablefunc.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tablefunc.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tablefunc.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tablefunc.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tablefunc.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tablefunc.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tcn.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tcn.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tcn.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tcn.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tcn.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tcn.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tsm_system_rows.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tsm_system_rows.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tsm_system_rows.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tsm_system_rows.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tsm_system_rows.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tsm_system_rows.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tsm_system_time.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tsm_system_time.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tsm_system_time.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tsm_system_time.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tsm_system_time.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/tsm_system_time.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/unaccent.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/unaccent.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/unaccent.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/unaccent.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/unaccent.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/unaccent.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/uuid_ossp.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/uuid_ossp.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/contrib/uuid_ossp.d.cts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/uuid_ossp.d.ts +0 -10
- package/server/node_modules/@electric-sql/pglite/dist/contrib/uuid_ossp.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/contrib/uuid_ossp.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/cube.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/dblink.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/dict_int.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/dict_xsyn.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/earthdistance.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/file_fdw.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/fs/base.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/fs/base.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/fs/base.d.cts +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/fs/base.d.ts +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/fs/base.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/fs/base.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/fs/nodefs.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/fs/nodefs.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/fs/nodefs.d.cts +0 -12
- package/server/node_modules/@electric-sql/pglite/dist/fs/nodefs.d.ts +0 -12
- package/server/node_modules/@electric-sql/pglite/dist/fs/nodefs.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/fs/nodefs.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/fs/opfs-ahp.cjs +0 -4
- package/server/node_modules/@electric-sql/pglite/dist/fs/opfs-ahp.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/fs/opfs-ahp.d.cts +0 -112
- package/server/node_modules/@electric-sql/pglite/dist/fs/opfs-ahp.d.ts +0 -112
- package/server/node_modules/@electric-sql/pglite/dist/fs/opfs-ahp.js +0 -4
- package/server/node_modules/@electric-sql/pglite/dist/fs/opfs-ahp.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/fuzzystrmatch.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/hstore.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/index.cjs +0 -13
- package/server/node_modules/@electric-sql/pglite/dist/index.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/index.d.cts +0 -372
- package/server/node_modules/@electric-sql/pglite/dist/index.d.ts +0 -372
- package/server/node_modules/@electric-sql/pglite/dist/index.js +0 -4
- package/server/node_modules/@electric-sql/pglite/dist/index.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/intagg.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/intarray.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/isn.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/live/index.cjs +0 -133
- package/server/node_modules/@electric-sql/pglite/dist/live/index.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/live/index.d.cts +0 -149
- package/server/node_modules/@electric-sql/pglite/dist/live/index.d.ts +0 -149
- package/server/node_modules/@electric-sql/pglite/dist/live/index.js +0 -133
- package/server/node_modules/@electric-sql/pglite/dist/live/index.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/lo.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/ltree.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/oid2name.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pageinspect.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/passwordcheck.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pg_buffercache.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pg_freespacemap.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pg_hashids/index.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/pg_hashids/index.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/pg_hashids/index.d.cts +0 -11
- package/server/node_modules/@electric-sql/pglite/dist/pg_hashids/index.d.ts +0 -11
- package/server/node_modules/@electric-sql/pglite/dist/pg_hashids/index.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/pg_hashids/index.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/pg_hashids.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pg_ivm/index.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/pg_ivm/index.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/pg_ivm/index.d.cts +0 -11
- package/server/node_modules/@electric-sql/pglite/dist/pg_ivm/index.d.ts +0 -11
- package/server/node_modules/@electric-sql/pglite/dist/pg_ivm/index.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/pg_ivm/index.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/pg_ivm.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pg_prewarm.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pg_stat_statements.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pg_surgery.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pg_trgm.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pg_uuidv7/index.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/pg_uuidv7/index.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/pg_uuidv7/index.d.cts +0 -11
- package/server/node_modules/@electric-sql/pglite/dist/pg_uuidv7/index.d.ts +0 -11
- package/server/node_modules/@electric-sql/pglite/dist/pg_uuidv7/index.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/pg_uuidv7/index.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/pg_uuidv7.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pg_visibility.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pg_walinspect.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pgcrypto.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pglite-CntadC_p.d.cts +0 -1034
- package/server/node_modules/@electric-sql/pglite/dist/pglite-CntadC_p.d.ts +0 -1034
- package/server/node_modules/@electric-sql/pglite/dist/pglite.cjs +0 -3
- package/server/node_modules/@electric-sql/pglite/dist/pglite.data +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pglite.html +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/pglite.js +0 -16
- package/server/node_modules/@electric-sql/pglite/dist/pglite.wasm +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pgrowlocks.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pgstattuple.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/pgtap/index.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/pgtap/index.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/pgtap/index.d.cts +0 -11
- package/server/node_modules/@electric-sql/pglite/dist/pgtap/index.d.ts +0 -11
- package/server/node_modules/@electric-sql/pglite/dist/pgtap/index.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/pgtap/index.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/pgtap.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/postgres_fdw.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/seg.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/spi.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/tablefunc.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/tcn.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/templating.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/templating.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/templating.d.cts +0 -69
- package/server/node_modules/@electric-sql/pglite/dist/templating.d.ts +0 -69
- package/server/node_modules/@electric-sql/pglite/dist/templating.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/templating.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/test_decoding.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/tsm_system_rows.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/tsm_system_time.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/unaccent.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/uuid-ossp.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/vacuumlo.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/vector/index.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/vector/index.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/vector/index.d.cts +0 -11
- package/server/node_modules/@electric-sql/pglite/dist/vector/index.d.ts +0 -11
- package/server/node_modules/@electric-sql/pglite/dist/vector/index.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/vector/index.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/vector.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/dist/worker/index.cjs +0 -9
- package/server/node_modules/@electric-sql/pglite/dist/worker/index.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/worker/index.d.cts +0 -114
- package/server/node_modules/@electric-sql/pglite/dist/worker/index.d.ts +0 -114
- package/server/node_modules/@electric-sql/pglite/dist/worker/index.js +0 -2
- package/server/node_modules/@electric-sql/pglite/dist/worker/index.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite/dist/xml2.tar.gz +0 -0
- package/server/node_modules/@electric-sql/pglite/package.json +0 -209
- package/server/node_modules/@electric-sql/pglite-socket/CHANGELOG.md +0 -146
- package/server/node_modules/@electric-sql/pglite-socket/LICENSE +0 -176
- package/server/node_modules/@electric-sql/pglite-socket/README.md +0 -265
- package/server/node_modules/@electric-sql/pglite-socket/dist/chunk-F6KLIXM7.js +0 -2
- package/server/node_modules/@electric-sql/pglite-socket/dist/chunk-F6KLIXM7.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite-socket/dist/index.cjs +0 -2
- package/server/node_modules/@electric-sql/pglite-socket/dist/index.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite-socket/dist/index.d.cts +0 -160
- package/server/node_modules/@electric-sql/pglite-socket/dist/index.d.ts +0 -160
- package/server/node_modules/@electric-sql/pglite-socket/dist/index.js +0 -2
- package/server/node_modules/@electric-sql/pglite-socket/dist/index.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite-socket/dist/scripts/server.cjs +0 -19
- package/server/node_modules/@electric-sql/pglite-socket/dist/scripts/server.cjs.map +0 -1
- package/server/node_modules/@electric-sql/pglite-socket/dist/scripts/server.d.cts +0 -1
- package/server/node_modules/@electric-sql/pglite-socket/dist/scripts/server.d.ts +0 -1
- package/server/node_modules/@electric-sql/pglite-socket/dist/scripts/server.js +0 -19
- package/server/node_modules/@electric-sql/pglite-socket/dist/scripts/server.js.map +0 -1
- package/server/node_modules/@electric-sql/pglite-socket/eslint.config.js +0 -29
- package/server/node_modules/@electric-sql/pglite-socket/examples/basic-server.ts +0 -76
- package/server/node_modules/@electric-sql/pglite-socket/package.json +0 -69
- package/server/node_modules/@electric-sql/pglite-socket/src/index.ts +0 -720
- package/server/node_modules/@electric-sql/pglite-socket/src/scripts/server.ts +0 -415
- package/server/node_modules/@electric-sql/pglite-socket/tests/index.test.ts +0 -512
- package/server/node_modules/@electric-sql/pglite-socket/tests/query-with-node-pg.test.ts +0 -717
- package/server/node_modules/@electric-sql/pglite-socket/tests/query-with-postgres-js.test.ts +0 -678
- package/server/node_modules/@electric-sql/pglite-socket/tests/server.test.ts +0 -233
- package/server/node_modules/@electric-sql/pglite-socket/tsconfig.json +0 -10
- package/server/node_modules/@electric-sql/pglite-socket/tsup.config.ts +0 -20
- package/server/node_modules/@electric-sql/pglite-socket/vitest.config.ts +0 -16
- package/server/node_modules/@types/http-proxy/LICENSE +0 -21
- package/server/node_modules/@types/http-proxy/README.md +0 -15
- package/server/node_modules/@types/http-proxy/index.d.ts +0 -252
- package/server/node_modules/@types/http-proxy/package.json +0 -48
- package/server/node_modules/@types/node/LICENSE +0 -21
- package/server/node_modules/@types/node/README.md +0 -15
- package/server/node_modules/@types/node/assert/strict.d.ts +0 -105
- package/server/node_modules/@types/node/assert.d.ts +0 -955
- package/server/node_modules/@types/node/async_hooks.d.ts +0 -623
- package/server/node_modules/@types/node/buffer.buffer.d.ts +0 -466
- package/server/node_modules/@types/node/buffer.d.ts +0 -1810
- package/server/node_modules/@types/node/child_process.d.ts +0 -1428
- package/server/node_modules/@types/node/cluster.d.ts +0 -486
- package/server/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
- package/server/node_modules/@types/node/console.d.ts +0 -151
- package/server/node_modules/@types/node/constants.d.ts +0 -20
- package/server/node_modules/@types/node/crypto.d.ts +0 -4065
- package/server/node_modules/@types/node/dgram.d.ts +0 -564
- package/server/node_modules/@types/node/diagnostics_channel.d.ts +0 -576
- package/server/node_modules/@types/node/dns/promises.d.ts +0 -503
- package/server/node_modules/@types/node/dns.d.ts +0 -922
- package/server/node_modules/@types/node/domain.d.ts +0 -166
- package/server/node_modules/@types/node/events.d.ts +0 -1054
- package/server/node_modules/@types/node/fs/promises.d.ts +0 -1329
- package/server/node_modules/@types/node/fs.d.ts +0 -4676
- package/server/node_modules/@types/node/globals.d.ts +0 -150
- package/server/node_modules/@types/node/globals.typedarray.d.ts +0 -101
- package/server/node_modules/@types/node/http.d.ts +0 -2143
- package/server/node_modules/@types/node/http2.d.ts +0 -2480
- package/server/node_modules/@types/node/https.d.ts +0 -399
- package/server/node_modules/@types/node/index.d.ts +0 -115
- package/server/node_modules/@types/node/inspector/promises.d.ts +0 -41
- package/server/node_modules/@types/node/inspector.d.ts +0 -224
- package/server/node_modules/@types/node/inspector.generated.d.ts +0 -4226
- package/server/node_modules/@types/node/module.d.ts +0 -819
- package/server/node_modules/@types/node/net.d.ts +0 -933
- package/server/node_modules/@types/node/os.d.ts +0 -507
- package/server/node_modules/@types/node/package.json +0 -155
- package/server/node_modules/@types/node/path/posix.d.ts +0 -8
- package/server/node_modules/@types/node/path/win32.d.ts +0 -8
- package/server/node_modules/@types/node/path.d.ts +0 -187
- package/server/node_modules/@types/node/perf_hooks.d.ts +0 -621
- package/server/node_modules/@types/node/process.d.ts +0 -2161
- package/server/node_modules/@types/node/punycode.d.ts +0 -117
- package/server/node_modules/@types/node/querystring.d.ts +0 -152
- package/server/node_modules/@types/node/quic.d.ts +0 -910
- package/server/node_modules/@types/node/readline/promises.d.ts +0 -161
- package/server/node_modules/@types/node/readline.d.ts +0 -541
- package/server/node_modules/@types/node/repl.d.ts +0 -415
- package/server/node_modules/@types/node/sea.d.ts +0 -162
- package/server/node_modules/@types/node/sqlite.d.ts +0 -937
- package/server/node_modules/@types/node/stream/consumers.d.ts +0 -38
- package/server/node_modules/@types/node/stream/promises.d.ts +0 -211
- package/server/node_modules/@types/node/stream/web.d.ts +0 -296
- package/server/node_modules/@types/node/stream.d.ts +0 -1760
- package/server/node_modules/@types/node/string_decoder.d.ts +0 -67
- package/server/node_modules/@types/node/test/reporters.d.ts +0 -96
- package/server/node_modules/@types/node/test.d.ts +0 -2239
- package/server/node_modules/@types/node/timers/promises.d.ts +0 -108
- package/server/node_modules/@types/node/timers.d.ts +0 -159
- package/server/node_modules/@types/node/tls.d.ts +0 -1198
- package/server/node_modules/@types/node/trace_events.d.ts +0 -197
- package/server/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -462
- package/server/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +0 -71
- package/server/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -36
- package/server/node_modules/@types/node/ts5.6/index.d.ts +0 -117
- package/server/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +0 -72
- package/server/node_modules/@types/node/ts5.7/index.d.ts +0 -117
- package/server/node_modules/@types/node/tty.d.ts +0 -250
- package/server/node_modules/@types/node/url.d.ts +0 -519
- package/server/node_modules/@types/node/util/types.d.ts +0 -558
- package/server/node_modules/@types/node/util.d.ts +0 -1653
- package/server/node_modules/@types/node/v8.d.ts +0 -979
- package/server/node_modules/@types/node/vm.d.ts +0 -1180
- package/server/node_modules/@types/node/wasi.d.ts +0 -202
- package/server/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -59
- package/server/node_modules/@types/node/web-globals/blob.d.ts +0 -23
- package/server/node_modules/@types/node/web-globals/console.d.ts +0 -9
- package/server/node_modules/@types/node/web-globals/crypto.d.ts +0 -39
- package/server/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
- package/server/node_modules/@types/node/web-globals/encoding.d.ts +0 -11
- package/server/node_modules/@types/node/web-globals/events.d.ts +0 -106
- package/server/node_modules/@types/node/web-globals/fetch.d.ts +0 -54
- package/server/node_modules/@types/node/web-globals/importmeta.d.ts +0 -13
- package/server/node_modules/@types/node/web-globals/messaging.d.ts +0 -23
- package/server/node_modules/@types/node/web-globals/navigator.d.ts +0 -25
- package/server/node_modules/@types/node/web-globals/performance.d.ts +0 -45
- package/server/node_modules/@types/node/web-globals/storage.d.ts +0 -24
- package/server/node_modules/@types/node/web-globals/streams.d.ts +0 -115
- package/server/node_modules/@types/node/web-globals/timers.d.ts +0 -44
- package/server/node_modules/@types/node/web-globals/url.d.ts +0 -24
- package/server/node_modules/@types/node/worker_threads.d.ts +0 -717
- package/server/node_modules/@types/node/zlib.d.ts +0 -618
- package/server/node_modules/accepts/HISTORY.md +0 -243
- package/server/node_modules/accepts/LICENSE +0 -23
- package/server/node_modules/accepts/README.md +0 -140
- package/server/node_modules/accepts/index.js +0 -238
- package/server/node_modules/accepts/package.json +0 -47
- package/server/node_modules/anymatch/LICENSE +0 -15
- package/server/node_modules/anymatch/README.md +0 -87
- package/server/node_modules/anymatch/index.d.ts +0 -20
- package/server/node_modules/anymatch/index.js +0 -104
- package/server/node_modules/anymatch/package.json +0 -48
- package/server/node_modules/array-flatten/LICENSE +0 -21
- package/server/node_modules/array-flatten/README.md +0 -43
- package/server/node_modules/array-flatten/array-flatten.js +0 -64
- package/server/node_modules/array-flatten/package.json +0 -39
- package/server/node_modules/binary-extensions/binary-extensions.json +0 -263
- package/server/node_modules/binary-extensions/binary-extensions.json.d.ts +0 -3
- package/server/node_modules/binary-extensions/index.d.ts +0 -14
- package/server/node_modules/binary-extensions/index.js +0 -1
- package/server/node_modules/binary-extensions/license +0 -10
- package/server/node_modules/binary-extensions/package.json +0 -40
- package/server/node_modules/binary-extensions/readme.md +0 -25
- package/server/node_modules/body-parser/HISTORY.md +0 -680
- package/server/node_modules/body-parser/LICENSE +0 -23
- package/server/node_modules/body-parser/README.md +0 -476
- package/server/node_modules/body-parser/index.js +0 -156
- package/server/node_modules/body-parser/lib/read.js +0 -205
- package/server/node_modules/body-parser/lib/types/json.js +0 -247
- package/server/node_modules/body-parser/lib/types/raw.js +0 -101
- package/server/node_modules/body-parser/lib/types/text.js +0 -121
- package/server/node_modules/body-parser/lib/types/urlencoded.js +0 -300
- package/server/node_modules/body-parser/package.json +0 -55
- package/server/node_modules/braces/LICENSE +0 -21
- package/server/node_modules/braces/README.md +0 -586
- package/server/node_modules/braces/index.js +0 -170
- package/server/node_modules/braces/lib/compile.js +0 -60
- package/server/node_modules/braces/lib/constants.js +0 -57
- package/server/node_modules/braces/lib/expand.js +0 -113
- package/server/node_modules/braces/lib/parse.js +0 -331
- package/server/node_modules/braces/lib/stringify.js +0 -32
- package/server/node_modules/braces/lib/utils.js +0 -122
- package/server/node_modules/braces/package.json +0 -77
- package/server/node_modules/bytes/History.md +0 -97
- package/server/node_modules/bytes/LICENSE +0 -23
- package/server/node_modules/bytes/Readme.md +0 -152
- package/server/node_modules/bytes/index.js +0 -170
- package/server/node_modules/bytes/package.json +0 -42
- package/server/node_modules/call-bind-apply-helpers/.eslintrc +0 -17
- package/server/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +0 -12
- package/server/node_modules/call-bind-apply-helpers/.nycrc +0 -9
- package/server/node_modules/call-bind-apply-helpers/CHANGELOG.md +0 -30
- package/server/node_modules/call-bind-apply-helpers/LICENSE +0 -21
- package/server/node_modules/call-bind-apply-helpers/README.md +0 -62
- package/server/node_modules/call-bind-apply-helpers/actualApply.d.ts +0 -1
- package/server/node_modules/call-bind-apply-helpers/actualApply.js +0 -10
- package/server/node_modules/call-bind-apply-helpers/applyBind.d.ts +0 -19
- package/server/node_modules/call-bind-apply-helpers/applyBind.js +0 -10
- package/server/node_modules/call-bind-apply-helpers/functionApply.d.ts +0 -1
- package/server/node_modules/call-bind-apply-helpers/functionApply.js +0 -4
- package/server/node_modules/call-bind-apply-helpers/functionCall.d.ts +0 -1
- package/server/node_modules/call-bind-apply-helpers/functionCall.js +0 -4
- package/server/node_modules/call-bind-apply-helpers/index.d.ts +0 -64
- package/server/node_modules/call-bind-apply-helpers/index.js +0 -15
- package/server/node_modules/call-bind-apply-helpers/package.json +0 -85
- package/server/node_modules/call-bind-apply-helpers/reflectApply.d.ts +0 -3
- package/server/node_modules/call-bind-apply-helpers/reflectApply.js +0 -4
- package/server/node_modules/call-bind-apply-helpers/test/index.js +0 -63
- package/server/node_modules/call-bind-apply-helpers/tsconfig.json +0 -9
- package/server/node_modules/call-bound/.eslintrc +0 -13
- package/server/node_modules/call-bound/.github/FUNDING.yml +0 -12
- package/server/node_modules/call-bound/.nycrc +0 -9
- package/server/node_modules/call-bound/CHANGELOG.md +0 -42
- package/server/node_modules/call-bound/LICENSE +0 -21
- package/server/node_modules/call-bound/README.md +0 -53
- package/server/node_modules/call-bound/index.d.ts +0 -94
- package/server/node_modules/call-bound/index.js +0 -19
- package/server/node_modules/call-bound/package.json +0 -99
- package/server/node_modules/call-bound/test/index.js +0 -61
- package/server/node_modules/call-bound/tsconfig.json +0 -10
- package/server/node_modules/chokidar/LICENSE +0 -21
- package/server/node_modules/chokidar/README.md +0 -308
- package/server/node_modules/chokidar/index.js +0 -973
- package/server/node_modules/chokidar/lib/constants.js +0 -66
- package/server/node_modules/chokidar/lib/fsevents-handler.js +0 -526
- package/server/node_modules/chokidar/lib/nodefs-handler.js +0 -654
- package/server/node_modules/chokidar/package.json +0 -70
- package/server/node_modules/chokidar/types/index.d.ts +0 -192
- package/server/node_modules/content-disposition/HISTORY.md +0 -60
- package/server/node_modules/content-disposition/LICENSE +0 -22
- package/server/node_modules/content-disposition/README.md +0 -142
- package/server/node_modules/content-disposition/index.js +0 -458
- package/server/node_modules/content-disposition/package.json +0 -44
- package/server/node_modules/content-type/HISTORY.md +0 -29
- package/server/node_modules/content-type/LICENSE +0 -22
- package/server/node_modules/content-type/README.md +0 -94
- package/server/node_modules/content-type/index.js +0 -225
- package/server/node_modules/content-type/package.json +0 -42
- package/server/node_modules/cookie/LICENSE +0 -24
- package/server/node_modules/cookie/README.md +0 -317
- package/server/node_modules/cookie/SECURITY.md +0 -25
- package/server/node_modules/cookie/index.js +0 -335
- package/server/node_modules/cookie/package.json +0 -44
- package/server/node_modules/cookie-signature/History.md +0 -42
- package/server/node_modules/cookie-signature/Readme.md +0 -42
- package/server/node_modules/cookie-signature/index.js +0 -51
- package/server/node_modules/cookie-signature/package.json +0 -18
- package/server/node_modules/debug/.coveralls.yml +0 -1
- package/server/node_modules/debug/.eslintrc +0 -11
- package/server/node_modules/debug/.travis.yml +0 -14
- package/server/node_modules/debug/CHANGELOG.md +0 -362
- package/server/node_modules/debug/LICENSE +0 -19
- package/server/node_modules/debug/Makefile +0 -50
- package/server/node_modules/debug/README.md +0 -312
- package/server/node_modules/debug/component.json +0 -19
- package/server/node_modules/debug/karma.conf.js +0 -70
- package/server/node_modules/debug/node.js +0 -1
- package/server/node_modules/debug/package.json +0 -49
- package/server/node_modules/debug/src/browser.js +0 -185
- package/server/node_modules/debug/src/debug.js +0 -202
- package/server/node_modules/debug/src/index.js +0 -10
- package/server/node_modules/debug/src/inspector-log.js +0 -15
- package/server/node_modules/debug/src/node.js +0 -248
- package/server/node_modules/depd/History.md +0 -103
- package/server/node_modules/depd/LICENSE +0 -22
- package/server/node_modules/depd/Readme.md +0 -280
- package/server/node_modules/depd/index.js +0 -538
- package/server/node_modules/depd/lib/browser/index.js +0 -77
- package/server/node_modules/depd/package.json +0 -45
- package/server/node_modules/destroy/LICENSE +0 -23
- package/server/node_modules/destroy/README.md +0 -63
- package/server/node_modules/destroy/index.js +0 -209
- package/server/node_modules/destroy/package.json +0 -48
- package/server/node_modules/dunder-proto/.eslintrc +0 -5
- package/server/node_modules/dunder-proto/.github/FUNDING.yml +0 -12
- package/server/node_modules/dunder-proto/.nycrc +0 -13
- package/server/node_modules/dunder-proto/CHANGELOG.md +0 -24
- package/server/node_modules/dunder-proto/LICENSE +0 -21
- package/server/node_modules/dunder-proto/README.md +0 -54
- package/server/node_modules/dunder-proto/get.d.ts +0 -5
- package/server/node_modules/dunder-proto/get.js +0 -30
- package/server/node_modules/dunder-proto/package.json +0 -76
- package/server/node_modules/dunder-proto/set.d.ts +0 -5
- package/server/node_modules/dunder-proto/set.js +0 -35
- package/server/node_modules/dunder-proto/test/get.js +0 -34
- package/server/node_modules/dunder-proto/test/index.js +0 -4
- package/server/node_modules/dunder-proto/test/set.js +0 -50
- package/server/node_modules/dunder-proto/tsconfig.json +0 -9
- package/server/node_modules/ee-first/LICENSE +0 -22
- package/server/node_modules/ee-first/README.md +0 -80
- package/server/node_modules/ee-first/index.js +0 -95
- package/server/node_modules/ee-first/package.json +0 -29
- package/server/node_modules/encodeurl/LICENSE +0 -22
- package/server/node_modules/encodeurl/README.md +0 -109
- package/server/node_modules/encodeurl/index.js +0 -60
- package/server/node_modules/encodeurl/package.json +0 -40
- package/server/node_modules/es-define-property/.eslintrc +0 -13
- package/server/node_modules/es-define-property/.github/FUNDING.yml +0 -12
- package/server/node_modules/es-define-property/.nycrc +0 -9
- package/server/node_modules/es-define-property/CHANGELOG.md +0 -29
- package/server/node_modules/es-define-property/LICENSE +0 -21
- package/server/node_modules/es-define-property/README.md +0 -49
- package/server/node_modules/es-define-property/index.d.ts +0 -3
- package/server/node_modules/es-define-property/index.js +0 -14
- package/server/node_modules/es-define-property/package.json +0 -81
- package/server/node_modules/es-define-property/test/index.js +0 -56
- package/server/node_modules/es-define-property/tsconfig.json +0 -10
- package/server/node_modules/es-errors/.eslintrc +0 -5
- package/server/node_modules/es-errors/.github/FUNDING.yml +0 -12
- package/server/node_modules/es-errors/CHANGELOG.md +0 -40
- package/server/node_modules/es-errors/LICENSE +0 -21
- package/server/node_modules/es-errors/README.md +0 -55
- package/server/node_modules/es-errors/eval.d.ts +0 -3
- package/server/node_modules/es-errors/eval.js +0 -4
- package/server/node_modules/es-errors/index.d.ts +0 -3
- package/server/node_modules/es-errors/index.js +0 -4
- package/server/node_modules/es-errors/package.json +0 -80
- package/server/node_modules/es-errors/range.d.ts +0 -3
- package/server/node_modules/es-errors/range.js +0 -4
- package/server/node_modules/es-errors/ref.d.ts +0 -3
- package/server/node_modules/es-errors/ref.js +0 -4
- package/server/node_modules/es-errors/syntax.d.ts +0 -3
- package/server/node_modules/es-errors/syntax.js +0 -4
- package/server/node_modules/es-errors/test/index.js +0 -19
- package/server/node_modules/es-errors/tsconfig.json +0 -49
- package/server/node_modules/es-errors/type.d.ts +0 -3
- package/server/node_modules/es-errors/type.js +0 -4
- package/server/node_modules/es-errors/uri.d.ts +0 -3
- package/server/node_modules/es-errors/uri.js +0 -4
- package/server/node_modules/es-object-atoms/.eslintrc +0 -16
- package/server/node_modules/es-object-atoms/.github/FUNDING.yml +0 -12
- package/server/node_modules/es-object-atoms/CHANGELOG.md +0 -37
- package/server/node_modules/es-object-atoms/LICENSE +0 -21
- package/server/node_modules/es-object-atoms/README.md +0 -63
- package/server/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +0 -3
- package/server/node_modules/es-object-atoms/RequireObjectCoercible.js +0 -11
- package/server/node_modules/es-object-atoms/ToObject.d.ts +0 -7
- package/server/node_modules/es-object-atoms/ToObject.js +0 -10
- package/server/node_modules/es-object-atoms/index.d.ts +0 -3
- package/server/node_modules/es-object-atoms/index.js +0 -4
- package/server/node_modules/es-object-atoms/isObject.d.ts +0 -3
- package/server/node_modules/es-object-atoms/isObject.js +0 -6
- package/server/node_modules/es-object-atoms/package.json +0 -80
- package/server/node_modules/es-object-atoms/test/index.js +0 -38
- package/server/node_modules/es-object-atoms/tsconfig.json +0 -6
- package/server/node_modules/escape-html/LICENSE +0 -24
- package/server/node_modules/escape-html/Readme.md +0 -43
- package/server/node_modules/escape-html/index.js +0 -78
- package/server/node_modules/escape-html/package.json +0 -24
- package/server/node_modules/etag/HISTORY.md +0 -83
- package/server/node_modules/etag/LICENSE +0 -22
- package/server/node_modules/etag/README.md +0 -159
- package/server/node_modules/etag/index.js +0 -131
- package/server/node_modules/etag/package.json +0 -47
- package/server/node_modules/eventemitter3/LICENSE +0 -21
- package/server/node_modules/eventemitter3/README.md +0 -94
- package/server/node_modules/eventemitter3/index.d.ts +0 -134
- package/server/node_modules/eventemitter3/index.js +0 -336
- package/server/node_modules/eventemitter3/package.json +0 -56
- package/server/node_modules/eventemitter3/umd/eventemitter3.js +0 -340
- package/server/node_modules/eventemitter3/umd/eventemitter3.min.js +0 -1
- package/server/node_modules/eventemitter3/umd/eventemitter3.min.js.map +0 -1
- package/server/node_modules/express/History.md +0 -3667
- package/server/node_modules/express/LICENSE +0 -24
- package/server/node_modules/express/Readme.md +0 -260
- package/server/node_modules/express/index.js +0 -11
- package/server/node_modules/express/lib/application.js +0 -661
- package/server/node_modules/express/lib/express.js +0 -116
- package/server/node_modules/express/lib/middleware/init.js +0 -43
- package/server/node_modules/express/lib/middleware/query.js +0 -47
- package/server/node_modules/express/lib/request.js +0 -525
- package/server/node_modules/express/lib/response.js +0 -1179
- package/server/node_modules/express/lib/router/index.js +0 -673
- package/server/node_modules/express/lib/router/layer.js +0 -181
- package/server/node_modules/express/lib/router/route.js +0 -230
- package/server/node_modules/express/lib/utils.js +0 -303
- package/server/node_modules/express/lib/view.js +0 -182
- package/server/node_modules/express/package.json +0 -102
- package/server/node_modules/fill-range/LICENSE +0 -21
- package/server/node_modules/fill-range/README.md +0 -237
- package/server/node_modules/fill-range/index.js +0 -248
- package/server/node_modules/fill-range/package.json +0 -74
- package/server/node_modules/finalhandler/HISTORY.md +0 -216
- package/server/node_modules/finalhandler/LICENSE +0 -22
- package/server/node_modules/finalhandler/README.md +0 -147
- package/server/node_modules/finalhandler/SECURITY.md +0 -25
- package/server/node_modules/finalhandler/index.js +0 -341
- package/server/node_modules/finalhandler/package.json +0 -47
- package/server/node_modules/follow-redirects/LICENSE +0 -18
- package/server/node_modules/follow-redirects/README.md +0 -155
- package/server/node_modules/follow-redirects/debug.js +0 -15
- package/server/node_modules/follow-redirects/http.js +0 -1
- package/server/node_modules/follow-redirects/https.js +0 -1
- package/server/node_modules/follow-redirects/index.js +0 -686
- package/server/node_modules/follow-redirects/package.json +0 -58
- package/server/node_modules/forwarded/HISTORY.md +0 -21
- package/server/node_modules/forwarded/LICENSE +0 -22
- package/server/node_modules/forwarded/README.md +0 -57
- package/server/node_modules/forwarded/index.js +0 -90
- package/server/node_modules/forwarded/package.json +0 -45
- package/server/node_modules/fresh/HISTORY.md +0 -70
- package/server/node_modules/fresh/LICENSE +0 -23
- package/server/node_modules/fresh/README.md +0 -119
- package/server/node_modules/fresh/index.js +0 -137
- package/server/node_modules/fresh/package.json +0 -46
- package/server/node_modules/function-bind/.eslintrc +0 -21
- package/server/node_modules/function-bind/.github/FUNDING.yml +0 -12
- package/server/node_modules/function-bind/.github/SECURITY.md +0 -3
- package/server/node_modules/function-bind/.nycrc +0 -13
- package/server/node_modules/function-bind/CHANGELOG.md +0 -136
- package/server/node_modules/function-bind/LICENSE +0 -20
- package/server/node_modules/function-bind/README.md +0 -46
- package/server/node_modules/function-bind/implementation.js +0 -84
- package/server/node_modules/function-bind/index.js +0 -5
- package/server/node_modules/function-bind/package.json +0 -87
- package/server/node_modules/function-bind/test/.eslintrc +0 -9
- package/server/node_modules/function-bind/test/index.js +0 -252
- package/server/node_modules/get-intrinsic/.eslintrc +0 -42
- package/server/node_modules/get-intrinsic/.github/FUNDING.yml +0 -12
- package/server/node_modules/get-intrinsic/.nycrc +0 -9
- package/server/node_modules/get-intrinsic/CHANGELOG.md +0 -186
- package/server/node_modules/get-intrinsic/LICENSE +0 -21
- package/server/node_modules/get-intrinsic/README.md +0 -71
- package/server/node_modules/get-intrinsic/index.js +0 -378
- package/server/node_modules/get-intrinsic/package.json +0 -97
- package/server/node_modules/get-intrinsic/test/GetIntrinsic.js +0 -274
- package/server/node_modules/get-proto/.eslintrc +0 -10
- package/server/node_modules/get-proto/.github/FUNDING.yml +0 -12
- package/server/node_modules/get-proto/.nycrc +0 -9
- package/server/node_modules/get-proto/CHANGELOG.md +0 -21
- package/server/node_modules/get-proto/LICENSE +0 -21
- package/server/node_modules/get-proto/Object.getPrototypeOf.d.ts +0 -5
- package/server/node_modules/get-proto/Object.getPrototypeOf.js +0 -6
- package/server/node_modules/get-proto/README.md +0 -50
- package/server/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +0 -3
- package/server/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -4
- package/server/node_modules/get-proto/index.d.ts +0 -5
- package/server/node_modules/get-proto/index.js +0 -27
- package/server/node_modules/get-proto/package.json +0 -81
- package/server/node_modules/get-proto/test/index.js +0 -68
- package/server/node_modules/get-proto/tsconfig.json +0 -9
- package/server/node_modules/glob-parent/CHANGELOG.md +0 -110
- package/server/node_modules/glob-parent/LICENSE +0 -15
- package/server/node_modules/glob-parent/README.md +0 -137
- package/server/node_modules/glob-parent/index.js +0 -42
- package/server/node_modules/glob-parent/package.json +0 -48
- package/server/node_modules/gopd/.eslintrc +0 -16
- package/server/node_modules/gopd/.github/FUNDING.yml +0 -12
- package/server/node_modules/gopd/CHANGELOG.md +0 -45
- package/server/node_modules/gopd/LICENSE +0 -21
- package/server/node_modules/gopd/README.md +0 -40
- package/server/node_modules/gopd/gOPD.d.ts +0 -1
- package/server/node_modules/gopd/gOPD.js +0 -4
- package/server/node_modules/gopd/index.d.ts +0 -5
- package/server/node_modules/gopd/index.js +0 -15
- package/server/node_modules/gopd/package.json +0 -77
- package/server/node_modules/gopd/test/index.js +0 -36
- package/server/node_modules/gopd/tsconfig.json +0 -9
- package/server/node_modules/has-symbols/.eslintrc +0 -11
- package/server/node_modules/has-symbols/.github/FUNDING.yml +0 -12
- package/server/node_modules/has-symbols/.nycrc +0 -9
- package/server/node_modules/has-symbols/CHANGELOG.md +0 -91
- package/server/node_modules/has-symbols/LICENSE +0 -21
- package/server/node_modules/has-symbols/README.md +0 -46
- package/server/node_modules/has-symbols/index.d.ts +0 -3
- package/server/node_modules/has-symbols/index.js +0 -14
- package/server/node_modules/has-symbols/package.json +0 -111
- package/server/node_modules/has-symbols/shams.d.ts +0 -3
- package/server/node_modules/has-symbols/shams.js +0 -45
- package/server/node_modules/has-symbols/test/index.js +0 -22
- package/server/node_modules/has-symbols/test/shams/core-js.js +0 -29
- package/server/node_modules/has-symbols/test/shams/get-own-property-symbols.js +0 -29
- package/server/node_modules/has-symbols/test/tests.js +0 -58
- package/server/node_modules/has-symbols/tsconfig.json +0 -10
- package/server/node_modules/hasown/.eslintrc +0 -5
- package/server/node_modules/hasown/.github/FUNDING.yml +0 -12
- package/server/node_modules/hasown/.nycrc +0 -13
- package/server/node_modules/hasown/CHANGELOG.md +0 -40
- package/server/node_modules/hasown/LICENSE +0 -21
- package/server/node_modules/hasown/README.md +0 -40
- package/server/node_modules/hasown/index.d.ts +0 -3
- package/server/node_modules/hasown/index.js +0 -8
- package/server/node_modules/hasown/package.json +0 -92
- package/server/node_modules/hasown/tsconfig.json +0 -6
- package/server/node_modules/http-errors/HISTORY.md +0 -186
- package/server/node_modules/http-errors/LICENSE +0 -23
- package/server/node_modules/http-errors/README.md +0 -169
- package/server/node_modules/http-errors/index.js +0 -290
- package/server/node_modules/http-errors/package.json +0 -54
- package/server/node_modules/http-proxy/.auto-changelog +0 -6
- package/server/node_modules/http-proxy/.gitattributes +0 -1
- package/server/node_modules/http-proxy/CHANGELOG.md +0 -1872
- package/server/node_modules/http-proxy/CODE_OF_CONDUCT.md +0 -74
- package/server/node_modules/http-proxy/LICENSE +0 -23
- package/server/node_modules/http-proxy/README.md +0 -568
- package/server/node_modules/http-proxy/codecov.yml +0 -10
- package/server/node_modules/http-proxy/index.js +0 -13
- package/server/node_modules/http-proxy/lib/http-proxy/common.js +0 -248
- package/server/node_modules/http-proxy/lib/http-proxy/index.js +0 -185
- package/server/node_modules/http-proxy/lib/http-proxy/passes/web-incoming.js +0 -194
- package/server/node_modules/http-proxy/lib/http-proxy/passes/web-outgoing.js +0 -147
- package/server/node_modules/http-proxy/lib/http-proxy/passes/ws-incoming.js +0 -162
- package/server/node_modules/http-proxy/lib/http-proxy.js +0 -66
- package/server/node_modules/http-proxy/package.json +0 -41
- package/server/node_modules/http-proxy/renovate.json +0 -19
- package/server/node_modules/http-proxy-middleware/LICENSE +0 -22
- package/server/node_modules/http-proxy-middleware/README.md +0 -598
- package/server/node_modules/http-proxy-middleware/dist/_handlers.d.ts +0 -4
- package/server/node_modules/http-proxy-middleware/dist/_handlers.js +0 -84
- package/server/node_modules/http-proxy-middleware/dist/config-factory.d.ts +0 -6
- package/server/node_modules/http-proxy-middleware/dist/config-factory.js +0 -80
- package/server/node_modules/http-proxy-middleware/dist/context-matcher.d.ts +0 -2
- package/server/node_modules/http-proxy-middleware/dist/context-matcher.js +0 -81
- package/server/node_modules/http-proxy-middleware/dist/errors.d.ts +0 -6
- package/server/node_modules/http-proxy-middleware/dist/errors.js +0 -10
- package/server/node_modules/http-proxy-middleware/dist/handlers/fix-request-body.d.ts +0 -6
- package/server/node_modules/http-proxy-middleware/dist/handlers/fix-request-body.js +0 -33
- package/server/node_modules/http-proxy-middleware/dist/handlers/index.d.ts +0 -1
- package/server/node_modules/http-proxy-middleware/dist/handlers/index.js +0 -13
- package/server/node_modules/http-proxy-middleware/dist/handlers/public.d.ts +0 -2
- package/server/node_modules/http-proxy-middleware/dist/handlers/public.js +0 -7
- package/server/node_modules/http-proxy-middleware/dist/handlers/response-interceptor.d.ts +0 -12
- package/server/node_modules/http-proxy-middleware/dist/handlers/response-interceptor.js +0 -86
- package/server/node_modules/http-proxy-middleware/dist/http-proxy-middleware.d.ts +0 -35
- package/server/node_modules/http-proxy-middleware/dist/http-proxy-middleware.js +0 -163
- package/server/node_modules/http-proxy-middleware/dist/index.d.ts +0 -4
- package/server/node_modules/http-proxy-middleware/dist/index.js +0 -20
- package/server/node_modules/http-proxy-middleware/dist/logger.d.ts +0 -14
- package/server/node_modules/http-proxy-middleware/dist/logger.js +0 -135
- package/server/node_modules/http-proxy-middleware/dist/path-rewriter.d.ts +0 -7
- package/server/node_modules/http-proxy-middleware/dist/path-rewriter.js +0 -66
- package/server/node_modules/http-proxy-middleware/dist/router.d.ts +0 -1
- package/server/node_modules/http-proxy-middleware/dist/router.js +0 -46
- package/server/node_modules/http-proxy-middleware/dist/types.d.ts +0 -54
- package/server/node_modules/http-proxy-middleware/dist/types.js +0 -6
- package/server/node_modules/http-proxy-middleware/package.json +0 -109
- package/server/node_modules/iconv-lite/Changelog.md +0 -162
- package/server/node_modules/iconv-lite/LICENSE +0 -21
- package/server/node_modules/iconv-lite/README.md +0 -156
- package/server/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
- package/server/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
- package/server/node_modules/iconv-lite/encodings/index.js +0 -22
- package/server/node_modules/iconv-lite/encodings/internal.js +0 -188
- package/server/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
- package/server/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
- package/server/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
- package/server/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
- package/server/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
- package/server/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
- package/server/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
- package/server/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
- package/server/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
- package/server/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
- package/server/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
- package/server/node_modules/iconv-lite/encodings/utf16.js +0 -177
- package/server/node_modules/iconv-lite/encodings/utf7.js +0 -290
- package/server/node_modules/iconv-lite/lib/bom-handling.js +0 -52
- package/server/node_modules/iconv-lite/lib/extend-node.js +0 -217
- package/server/node_modules/iconv-lite/lib/index.d.ts +0 -24
- package/server/node_modules/iconv-lite/lib/index.js +0 -153
- package/server/node_modules/iconv-lite/lib/streams.js +0 -121
- package/server/node_modules/iconv-lite/package.json +0 -46
- package/server/node_modules/inherits/LICENSE +0 -16
- package/server/node_modules/inherits/README.md +0 -42
- package/server/node_modules/inherits/inherits.js +0 -9
- package/server/node_modules/inherits/inherits_browser.js +0 -27
- package/server/node_modules/inherits/package.json +0 -29
- package/server/node_modules/ipaddr.js/LICENSE +0 -19
- package/server/node_modules/ipaddr.js/README.md +0 -233
- package/server/node_modules/ipaddr.js/ipaddr.min.js +0 -1
- package/server/node_modules/ipaddr.js/lib/ipaddr.js +0 -673
- package/server/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +0 -68
- package/server/node_modules/ipaddr.js/package.json +0 -35
- package/server/node_modules/is-binary-path/index.d.ts +0 -17
- package/server/node_modules/is-binary-path/index.js +0 -7
- package/server/node_modules/is-binary-path/license +0 -9
- package/server/node_modules/is-binary-path/package.json +0 -40
- package/server/node_modules/is-binary-path/readme.md +0 -34
- package/server/node_modules/is-extglob/LICENSE +0 -21
- package/server/node_modules/is-extglob/README.md +0 -107
- package/server/node_modules/is-extglob/index.js +0 -20
- package/server/node_modules/is-extglob/package.json +0 -69
- package/server/node_modules/is-glob/LICENSE +0 -21
- package/server/node_modules/is-glob/README.md +0 -206
- package/server/node_modules/is-glob/index.js +0 -150
- package/server/node_modules/is-glob/package.json +0 -81
- package/server/node_modules/is-number/LICENSE +0 -21
- package/server/node_modules/is-number/README.md +0 -187
- package/server/node_modules/is-number/index.js +0 -18
- package/server/node_modules/is-number/package.json +0 -82
- package/server/node_modules/is-plain-obj/index.d.ts +0 -29
- package/server/node_modules/is-plain-obj/index.js +0 -10
- package/server/node_modules/is-plain-obj/license +0 -9
- package/server/node_modules/is-plain-obj/package.json +0 -39
- package/server/node_modules/is-plain-obj/readme.md +0 -51
- package/server/node_modules/math-intrinsics/.eslintrc +0 -16
- package/server/node_modules/math-intrinsics/.github/FUNDING.yml +0 -12
- package/server/node_modules/math-intrinsics/CHANGELOG.md +0 -24
- package/server/node_modules/math-intrinsics/LICENSE +0 -21
- package/server/node_modules/math-intrinsics/README.md +0 -50
- package/server/node_modules/math-intrinsics/abs.d.ts +0 -1
- package/server/node_modules/math-intrinsics/abs.js +0 -4
- package/server/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +0 -3
- package/server/node_modules/math-intrinsics/constants/maxArrayLength.js +0 -4
- package/server/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +0 -3
- package/server/node_modules/math-intrinsics/constants/maxSafeInteger.js +0 -5
- package/server/node_modules/math-intrinsics/constants/maxValue.d.ts +0 -3
- package/server/node_modules/math-intrinsics/constants/maxValue.js +0 -5
- package/server/node_modules/math-intrinsics/floor.d.ts +0 -1
- package/server/node_modules/math-intrinsics/floor.js +0 -4
- package/server/node_modules/math-intrinsics/isFinite.d.ts +0 -3
- package/server/node_modules/math-intrinsics/isFinite.js +0 -12
- package/server/node_modules/math-intrinsics/isInteger.d.ts +0 -3
- package/server/node_modules/math-intrinsics/isInteger.js +0 -16
- package/server/node_modules/math-intrinsics/isNaN.d.ts +0 -1
- package/server/node_modules/math-intrinsics/isNaN.js +0 -6
- package/server/node_modules/math-intrinsics/isNegativeZero.d.ts +0 -3
- package/server/node_modules/math-intrinsics/isNegativeZero.js +0 -6
- package/server/node_modules/math-intrinsics/max.d.ts +0 -1
- package/server/node_modules/math-intrinsics/max.js +0 -4
- package/server/node_modules/math-intrinsics/min.d.ts +0 -1
- package/server/node_modules/math-intrinsics/min.js +0 -4
- package/server/node_modules/math-intrinsics/mod.d.ts +0 -3
- package/server/node_modules/math-intrinsics/mod.js +0 -9
- package/server/node_modules/math-intrinsics/package.json +0 -86
- package/server/node_modules/math-intrinsics/pow.d.ts +0 -1
- package/server/node_modules/math-intrinsics/pow.js +0 -4
- package/server/node_modules/math-intrinsics/round.d.ts +0 -1
- package/server/node_modules/math-intrinsics/round.js +0 -4
- package/server/node_modules/math-intrinsics/sign.d.ts +0 -3
- package/server/node_modules/math-intrinsics/sign.js +0 -11
- package/server/node_modules/math-intrinsics/test/index.js +0 -192
- package/server/node_modules/math-intrinsics/tsconfig.json +0 -3
- package/server/node_modules/media-typer/HISTORY.md +0 -22
- package/server/node_modules/media-typer/LICENSE +0 -22
- package/server/node_modules/media-typer/README.md +0 -81
- package/server/node_modules/media-typer/index.js +0 -270
- package/server/node_modules/media-typer/package.json +0 -26
- package/server/node_modules/merge-descriptors/HISTORY.md +0 -21
- package/server/node_modules/merge-descriptors/LICENSE +0 -23
- package/server/node_modules/merge-descriptors/README.md +0 -49
- package/server/node_modules/merge-descriptors/index.js +0 -60
- package/server/node_modules/merge-descriptors/package.json +0 -39
- package/server/node_modules/methods/HISTORY.md +0 -29
- package/server/node_modules/methods/LICENSE +0 -24
- package/server/node_modules/methods/README.md +0 -51
- package/server/node_modules/methods/index.js +0 -69
- package/server/node_modules/methods/package.json +0 -36
- package/server/node_modules/micromatch/LICENSE +0 -21
- package/server/node_modules/micromatch/README.md +0 -1024
- package/server/node_modules/micromatch/index.js +0 -474
- package/server/node_modules/micromatch/package.json +0 -119
- package/server/node_modules/mime/CHANGELOG.md +0 -164
- package/server/node_modules/mime/LICENSE +0 -21
- package/server/node_modules/mime/README.md +0 -90
- package/server/node_modules/mime/cli.js +0 -8
- package/server/node_modules/mime/mime.js +0 -108
- package/server/node_modules/mime/package.json +0 -44
- package/server/node_modules/mime/src/build.js +0 -53
- package/server/node_modules/mime/src/test.js +0 -60
- package/server/node_modules/mime/types.json +0 -1
- package/server/node_modules/mime-db/HISTORY.md +0 -507
- package/server/node_modules/mime-db/LICENSE +0 -23
- package/server/node_modules/mime-db/README.md +0 -100
- package/server/node_modules/mime-db/db.json +0 -8519
- package/server/node_modules/mime-db/index.js +0 -12
- package/server/node_modules/mime-db/package.json +0 -60
- package/server/node_modules/mime-types/HISTORY.md +0 -397
- package/server/node_modules/mime-types/LICENSE +0 -23
- package/server/node_modules/mime-types/README.md +0 -113
- package/server/node_modules/mime-types/index.js +0 -188
- package/server/node_modules/mime-types/package.json +0 -44
- package/server/node_modules/ms/index.js +0 -152
- package/server/node_modules/ms/license.md +0 -21
- package/server/node_modules/ms/package.json +0 -37
- package/server/node_modules/ms/readme.md +0 -51
- package/server/node_modules/negotiator/HISTORY.md +0 -108
- package/server/node_modules/negotiator/LICENSE +0 -24
- package/server/node_modules/negotiator/README.md +0 -203
- package/server/node_modules/negotiator/index.js +0 -82
- package/server/node_modules/negotiator/lib/charset.js +0 -169
- package/server/node_modules/negotiator/lib/encoding.js +0 -184
- package/server/node_modules/negotiator/lib/language.js +0 -179
- package/server/node_modules/negotiator/lib/mediaType.js +0 -294
- package/server/node_modules/negotiator/package.json +0 -42
- package/server/node_modules/normalize-path/LICENSE +0 -21
- package/server/node_modules/normalize-path/README.md +0 -127
- package/server/node_modules/normalize-path/index.js +0 -35
- package/server/node_modules/normalize-path/package.json +0 -77
- package/server/node_modules/object-inspect/.eslintrc +0 -53
- package/server/node_modules/object-inspect/.github/FUNDING.yml +0 -12
- package/server/node_modules/object-inspect/.nycrc +0 -13
- package/server/node_modules/object-inspect/CHANGELOG.md +0 -424
- package/server/node_modules/object-inspect/LICENSE +0 -21
- package/server/node_modules/object-inspect/example/all.js +0 -23
- package/server/node_modules/object-inspect/example/circular.js +0 -6
- package/server/node_modules/object-inspect/example/fn.js +0 -5
- package/server/node_modules/object-inspect/example/inspect.js +0 -10
- package/server/node_modules/object-inspect/index.js +0 -544
- package/server/node_modules/object-inspect/package-support.json +0 -20
- package/server/node_modules/object-inspect/package.json +0 -105
- package/server/node_modules/object-inspect/readme.markdown +0 -84
- package/server/node_modules/object-inspect/test/bigint.js +0 -58
- package/server/node_modules/object-inspect/test/browser/dom.js +0 -15
- package/server/node_modules/object-inspect/test/circular.js +0 -16
- package/server/node_modules/object-inspect/test/deep.js +0 -12
- package/server/node_modules/object-inspect/test/element.js +0 -53
- package/server/node_modules/object-inspect/test/err.js +0 -48
- package/server/node_modules/object-inspect/test/fakes.js +0 -29
- package/server/node_modules/object-inspect/test/fn.js +0 -76
- package/server/node_modules/object-inspect/test/global.js +0 -17
- package/server/node_modules/object-inspect/test/has.js +0 -15
- package/server/node_modules/object-inspect/test/holes.js +0 -15
- package/server/node_modules/object-inspect/test/indent-option.js +0 -271
- package/server/node_modules/object-inspect/test/inspect.js +0 -139
- package/server/node_modules/object-inspect/test/lowbyte.js +0 -12
- package/server/node_modules/object-inspect/test/number.js +0 -58
- package/server/node_modules/object-inspect/test/quoteStyle.js +0 -26
- package/server/node_modules/object-inspect/test/toStringTag.js +0 -40
- package/server/node_modules/object-inspect/test/undef.js +0 -12
- package/server/node_modules/object-inspect/test/values.js +0 -261
- package/server/node_modules/object-inspect/test-core-js.js +0 -26
- package/server/node_modules/object-inspect/util.inspect.js +0 -1
- package/server/node_modules/on-finished/HISTORY.md +0 -98
- package/server/node_modules/on-finished/LICENSE +0 -23
- package/server/node_modules/on-finished/README.md +0 -162
- package/server/node_modules/on-finished/index.js +0 -234
- package/server/node_modules/on-finished/package.json +0 -39
- package/server/node_modules/parseurl/HISTORY.md +0 -58
- package/server/node_modules/parseurl/LICENSE +0 -24
- package/server/node_modules/parseurl/README.md +0 -133
- package/server/node_modules/parseurl/index.js +0 -158
- package/server/node_modules/parseurl/package.json +0 -40
- package/server/node_modules/path-to-regexp/LICENSE +0 -21
- package/server/node_modules/path-to-regexp/Readme.md +0 -35
- package/server/node_modules/path-to-regexp/index.js +0 -156
- package/server/node_modules/path-to-regexp/package.json +0 -30
- package/server/node_modules/pg/LICENSE +0 -21
- package/server/node_modules/pg/README.md +0 -95
- package/server/node_modules/pg/esm/index.mjs +0 -20
- package/server/node_modules/pg/lib/client.js +0 -697
- package/server/node_modules/pg/lib/connection-parameters.js +0 -171
- package/server/node_modules/pg/lib/connection.js +0 -221
- package/server/node_modules/pg/lib/crypto/cert-signatures.js +0 -122
- package/server/node_modules/pg/lib/crypto/sasl.js +0 -212
- package/server/node_modules/pg/lib/crypto/utils-legacy.js +0 -43
- package/server/node_modules/pg/lib/crypto/utils-webcrypto.js +0 -89
- package/server/node_modules/pg/lib/crypto/utils.js +0 -9
- package/server/node_modules/pg/lib/defaults.js +0 -91
- package/server/node_modules/pg/lib/index.js +0 -73
- package/server/node_modules/pg/lib/native/client.js +0 -308
- package/server/node_modules/pg/lib/native/index.js +0 -2
- package/server/node_modules/pg/lib/native/query.js +0 -165
- package/server/node_modules/pg/lib/query.js +0 -252
- package/server/node_modules/pg/lib/result.js +0 -109
- package/server/node_modules/pg/lib/stream.js +0 -83
- package/server/node_modules/pg/lib/type-overrides.js +0 -35
- package/server/node_modules/pg/lib/utils.js +0 -217
- package/server/node_modules/pg/package.json +0 -76
- package/server/node_modules/pg-cloudflare/LICENSE +0 -21
- package/server/node_modules/pg-cloudflare/README.md +0 -112
- package/server/node_modules/pg-cloudflare/dist/empty.d.ts +0 -2
- package/server/node_modules/pg-cloudflare/dist/empty.js +0 -6
- package/server/node_modules/pg-cloudflare/dist/empty.js.map +0 -1
- package/server/node_modules/pg-cloudflare/dist/index.d.ts +0 -31
- package/server/node_modules/pg-cloudflare/dist/index.js +0 -152
- package/server/node_modules/pg-cloudflare/dist/index.js.map +0 -1
- package/server/node_modules/pg-cloudflare/esm/index.mjs +0 -3
- package/server/node_modules/pg-cloudflare/package.json +0 -39
- package/server/node_modules/pg-cloudflare/src/empty.ts +0 -3
- package/server/node_modules/pg-cloudflare/src/index.ts +0 -166
- package/server/node_modules/pg-cloudflare/src/types.d.ts +0 -25
- package/server/node_modules/pg-connection-string/LICENSE +0 -21
- package/server/node_modules/pg-connection-string/README.md +0 -105
- package/server/node_modules/pg-connection-string/esm/index.mjs +0 -8
- package/server/node_modules/pg-connection-string/index.d.ts +0 -36
- package/server/node_modules/pg-connection-string/index.js +0 -233
- package/server/node_modules/pg-connection-string/package.json +0 -52
- package/server/node_modules/pg-int8/LICENSE +0 -13
- package/server/node_modules/pg-int8/README.md +0 -16
- package/server/node_modules/pg-int8/index.js +0 -100
- package/server/node_modules/pg-int8/package.json +0 -24
- package/server/node_modules/pg-pool/LICENSE +0 -21
- package/server/node_modules/pg-pool/README.md +0 -358
- package/server/node_modules/pg-pool/esm/index.mjs +0 -5
- package/server/node_modules/pg-pool/index.js +0 -481
- package/server/node_modules/pg-pool/package.json +0 -51
- package/server/node_modules/pg-protocol/LICENSE +0 -21
- package/server/node_modules/pg-protocol/README.md +0 -3
- package/server/node_modules/pg-protocol/dist/b.js +0 -23
- package/server/node_modules/pg-protocol/dist/b.js.map +0 -1
- package/server/node_modules/pg-protocol/dist/buffer-reader.d.ts +0 -15
- package/server/node_modules/pg-protocol/dist/buffer-reader.js +0 -56
- package/server/node_modules/pg-protocol/dist/buffer-reader.js.map +0 -1
- package/server/node_modules/pg-protocol/dist/buffer-writer.d.ts +0 -16
- package/server/node_modules/pg-protocol/dist/buffer-writer.js +0 -81
- package/server/node_modules/pg-protocol/dist/buffer-writer.js.map +0 -1
- package/server/node_modules/pg-protocol/dist/inbound-parser.test.js +0 -530
- package/server/node_modules/pg-protocol/dist/inbound-parser.test.js.map +0 -1
- package/server/node_modules/pg-protocol/dist/index.d.ts +0 -6
- package/server/node_modules/pg-protocol/dist/index.js +0 -15
- package/server/node_modules/pg-protocol/dist/index.js.map +0 -1
- package/server/node_modules/pg-protocol/dist/messages.d.ts +0 -162
- package/server/node_modules/pg-protocol/dist/messages.js +0 -160
- package/server/node_modules/pg-protocol/dist/messages.js.map +0 -1
- package/server/node_modules/pg-protocol/dist/outbound-serializer.test.js +0 -252
- package/server/node_modules/pg-protocol/dist/outbound-serializer.test.js.map +0 -1
- package/server/node_modules/pg-protocol/dist/parser.d.ts +0 -24
- package/server/node_modules/pg-protocol/dist/parser.js +0 -324
- package/server/node_modules/pg-protocol/dist/parser.js.map +0 -1
- package/server/node_modules/pg-protocol/dist/serializer.d.ts +0 -42
- package/server/node_modules/pg-protocol/dist/serializer.js +0 -189
- package/server/node_modules/pg-protocol/dist/serializer.js.map +0 -1
- package/server/node_modules/pg-protocol/esm/index.js +0 -11
- package/server/node_modules/pg-protocol/package.json +0 -45
- package/server/node_modules/pg-protocol/src/b.ts +0 -25
- package/server/node_modules/pg-protocol/src/buffer-reader.ts +0 -60
- package/server/node_modules/pg-protocol/src/buffer-writer.ts +0 -85
- package/server/node_modules/pg-protocol/src/inbound-parser.test.ts +0 -575
- package/server/node_modules/pg-protocol/src/index.ts +0 -11
- package/server/node_modules/pg-protocol/src/messages.ts +0 -262
- package/server/node_modules/pg-protocol/src/outbound-serializer.test.ts +0 -276
- package/server/node_modules/pg-protocol/src/parser.ts +0 -413
- package/server/node_modules/pg-protocol/src/serializer.ts +0 -274
- package/server/node_modules/pg-protocol/src/testing/buffer-list.ts +0 -67
- package/server/node_modules/pg-protocol/src/testing/test-buffers.ts +0 -166
- package/server/node_modules/pg-protocol/src/types/chunky.d.ts +0 -1
- package/server/node_modules/pg-types/.travis.yml +0 -7
- package/server/node_modules/pg-types/Makefile +0 -14
- package/server/node_modules/pg-types/README.md +0 -75
- package/server/node_modules/pg-types/index.d.ts +0 -137
- package/server/node_modules/pg-types/index.js +0 -47
- package/server/node_modules/pg-types/index.test-d.ts +0 -21
- package/server/node_modules/pg-types/lib/arrayParser.js +0 -11
- package/server/node_modules/pg-types/lib/binaryParsers.js +0 -257
- package/server/node_modules/pg-types/lib/builtins.js +0 -73
- package/server/node_modules/pg-types/lib/textParsers.js +0 -215
- package/server/node_modules/pg-types/package.json +0 -42
- package/server/node_modules/pg-types/test/index.js +0 -24
- package/server/node_modules/pg-types/test/types.js +0 -597
- package/server/node_modules/pgpass/README.md +0 -74
- package/server/node_modules/pgpass/lib/helper.js +0 -233
- package/server/node_modules/pgpass/lib/index.js +0 -23
- package/server/node_modules/pgpass/package.json +0 -41
- package/server/node_modules/picomatch/CHANGELOG.md +0 -136
- package/server/node_modules/picomatch/LICENSE +0 -21
- package/server/node_modules/picomatch/README.md +0 -708
- package/server/node_modules/picomatch/index.js +0 -3
- package/server/node_modules/picomatch/lib/constants.js +0 -179
- package/server/node_modules/picomatch/lib/parse.js +0 -1091
- package/server/node_modules/picomatch/lib/picomatch.js +0 -342
- package/server/node_modules/picomatch/lib/scan.js +0 -391
- package/server/node_modules/picomatch/lib/utils.js +0 -64
- package/server/node_modules/picomatch/package.json +0 -81
- package/server/node_modules/postgres-array/index.d.ts +0 -4
- package/server/node_modules/postgres-array/index.js +0 -97
- package/server/node_modules/postgres-array/license +0 -21
- package/server/node_modules/postgres-array/package.json +0 -35
- package/server/node_modules/postgres-array/readme.md +0 -43
- package/server/node_modules/postgres-bytea/index.js +0 -33
- package/server/node_modules/postgres-bytea/license +0 -21
- package/server/node_modules/postgres-bytea/package.json +0 -34
- package/server/node_modules/postgres-bytea/readme.md +0 -34
- package/server/node_modules/postgres-date/index.js +0 -116
- package/server/node_modules/postgres-date/license +0 -21
- package/server/node_modules/postgres-date/package.json +0 -33
- package/server/node_modules/postgres-date/readme.md +0 -49
- package/server/node_modules/postgres-interval/index.d.ts +0 -20
- package/server/node_modules/postgres-interval/index.js +0 -125
- package/server/node_modules/postgres-interval/license +0 -21
- package/server/node_modules/postgres-interval/package.json +0 -36
- package/server/node_modules/postgres-interval/readme.md +0 -48
- package/server/node_modules/proxy-addr/HISTORY.md +0 -161
- package/server/node_modules/proxy-addr/LICENSE +0 -22
- package/server/node_modules/proxy-addr/README.md +0 -139
- package/server/node_modules/proxy-addr/index.js +0 -327
- package/server/node_modules/proxy-addr/package.json +0 -47
- package/server/node_modules/qs/.editorconfig +0 -46
- package/server/node_modules/qs/.github/FUNDING.yml +0 -12
- package/server/node_modules/qs/.github/SECURITY.md +0 -11
- package/server/node_modules/qs/.github/THREAT_MODEL.md +0 -78
- package/server/node_modules/qs/.nycrc +0 -13
- package/server/node_modules/qs/CHANGELOG.md +0 -631
- package/server/node_modules/qs/LICENSE.md +0 -29
- package/server/node_modules/qs/README.md +0 -733
- package/server/node_modules/qs/dist/qs.js +0 -141
- package/server/node_modules/qs/eslint.config.mjs +0 -56
- package/server/node_modules/qs/lib/formats.js +0 -23
- package/server/node_modules/qs/lib/index.js +0 -11
- package/server/node_modules/qs/lib/parse.js +0 -360
- package/server/node_modules/qs/lib/stringify.js +0 -356
- package/server/node_modules/qs/lib/utils.js +0 -320
- package/server/node_modules/qs/package.json +0 -94
- package/server/node_modules/qs/test/empty-keys-cases.js +0 -267
- package/server/node_modules/qs/test/parse.js +0 -1396
- package/server/node_modules/qs/test/stringify.js +0 -1310
- package/server/node_modules/qs/test/utils.js +0 -381
- package/server/node_modules/range-parser/HISTORY.md +0 -56
- package/server/node_modules/range-parser/LICENSE +0 -23
- package/server/node_modules/range-parser/README.md +0 -84
- package/server/node_modules/range-parser/index.js +0 -162
- package/server/node_modules/range-parser/package.json +0 -44
- package/server/node_modules/raw-body/LICENSE +0 -22
- package/server/node_modules/raw-body/README.md +0 -223
- package/server/node_modules/raw-body/index.d.ts +0 -87
- package/server/node_modules/raw-body/index.js +0 -336
- package/server/node_modules/raw-body/package.json +0 -47
- package/server/node_modules/readdirp/LICENSE +0 -21
- package/server/node_modules/readdirp/README.md +0 -122
- package/server/node_modules/readdirp/index.d.ts +0 -43
- package/server/node_modules/readdirp/index.js +0 -287
- package/server/node_modules/readdirp/package.json +0 -122
- package/server/node_modules/requires-port/.travis.yml +0 -19
- package/server/node_modules/requires-port/LICENSE +0 -22
- package/server/node_modules/requires-port/README.md +0 -47
- package/server/node_modules/requires-port/index.js +0 -38
- package/server/node_modules/requires-port/package.json +0 -47
- package/server/node_modules/requires-port/test.js +0 -98
- package/server/node_modules/safe-buffer/LICENSE +0 -21
- package/server/node_modules/safe-buffer/README.md +0 -584
- package/server/node_modules/safe-buffer/index.d.ts +0 -187
- package/server/node_modules/safe-buffer/index.js +0 -65
- package/server/node_modules/safe-buffer/package.json +0 -51
- package/server/node_modules/safer-buffer/LICENSE +0 -21
- package/server/node_modules/safer-buffer/Porting-Buffer.md +0 -268
- package/server/node_modules/safer-buffer/Readme.md +0 -156
- package/server/node_modules/safer-buffer/dangerous.js +0 -58
- package/server/node_modules/safer-buffer/package.json +0 -34
- package/server/node_modules/safer-buffer/safer.js +0 -77
- package/server/node_modules/safer-buffer/tests.js +0 -406
- package/server/node_modules/send/HISTORY.md +0 -538
- package/server/node_modules/send/LICENSE +0 -23
- package/server/node_modules/send/README.md +0 -327
- package/server/node_modules/send/SECURITY.md +0 -24
- package/server/node_modules/send/index.js +0 -1142
- package/server/node_modules/send/node_modules/ms/index.js +0 -162
- package/server/node_modules/send/node_modules/ms/license.md +0 -21
- package/server/node_modules/send/node_modules/ms/package.json +0 -38
- package/server/node_modules/send/node_modules/ms/readme.md +0 -59
- package/server/node_modules/send/package.json +0 -62
- package/server/node_modules/serve-static/HISTORY.md +0 -493
- package/server/node_modules/serve-static/LICENSE +0 -25
- package/server/node_modules/serve-static/README.md +0 -257
- package/server/node_modules/serve-static/index.js +0 -209
- package/server/node_modules/serve-static/package.json +0 -42
- package/server/node_modules/setprototypeof/LICENSE +0 -13
- package/server/node_modules/setprototypeof/README.md +0 -31
- package/server/node_modules/setprototypeof/index.d.ts +0 -2
- package/server/node_modules/setprototypeof/index.js +0 -17
- package/server/node_modules/setprototypeof/package.json +0 -38
- package/server/node_modules/setprototypeof/test/index.js +0 -24
- package/server/node_modules/side-channel/.editorconfig +0 -9
- package/server/node_modules/side-channel/.eslintrc +0 -12
- package/server/node_modules/side-channel/.github/FUNDING.yml +0 -12
- package/server/node_modules/side-channel/.nycrc +0 -13
- package/server/node_modules/side-channel/CHANGELOG.md +0 -110
- package/server/node_modules/side-channel/LICENSE +0 -21
- package/server/node_modules/side-channel/README.md +0 -61
- package/server/node_modules/side-channel/index.d.ts +0 -14
- package/server/node_modules/side-channel/index.js +0 -43
- package/server/node_modules/side-channel/package.json +0 -85
- package/server/node_modules/side-channel/test/index.js +0 -104
- package/server/node_modules/side-channel/tsconfig.json +0 -9
- package/server/node_modules/side-channel-list/.editorconfig +0 -9
- package/server/node_modules/side-channel-list/.eslintrc +0 -11
- package/server/node_modules/side-channel-list/.github/FUNDING.yml +0 -12
- package/server/node_modules/side-channel-list/.nycrc +0 -13
- package/server/node_modules/side-channel-list/CHANGELOG.md +0 -15
- package/server/node_modules/side-channel-list/LICENSE +0 -21
- package/server/node_modules/side-channel-list/README.md +0 -62
- package/server/node_modules/side-channel-list/index.d.ts +0 -13
- package/server/node_modules/side-channel-list/index.js +0 -113
- package/server/node_modules/side-channel-list/list.d.ts +0 -14
- package/server/node_modules/side-channel-list/package.json +0 -77
- package/server/node_modules/side-channel-list/test/index.js +0 -104
- package/server/node_modules/side-channel-list/tsconfig.json +0 -9
- package/server/node_modules/side-channel-map/.editorconfig +0 -9
- package/server/node_modules/side-channel-map/.eslintrc +0 -11
- package/server/node_modules/side-channel-map/.github/FUNDING.yml +0 -12
- package/server/node_modules/side-channel-map/.nycrc +0 -13
- package/server/node_modules/side-channel-map/CHANGELOG.md +0 -22
- package/server/node_modules/side-channel-map/LICENSE +0 -21
- package/server/node_modules/side-channel-map/README.md +0 -62
- package/server/node_modules/side-channel-map/index.d.ts +0 -15
- package/server/node_modules/side-channel-map/index.js +0 -68
- package/server/node_modules/side-channel-map/package.json +0 -80
- package/server/node_modules/side-channel-map/test/index.js +0 -114
- package/server/node_modules/side-channel-map/tsconfig.json +0 -9
- package/server/node_modules/side-channel-weakmap/.editorconfig +0 -9
- package/server/node_modules/side-channel-weakmap/.eslintrc +0 -12
- package/server/node_modules/side-channel-weakmap/.github/FUNDING.yml +0 -12
- package/server/node_modules/side-channel-weakmap/.nycrc +0 -13
- package/server/node_modules/side-channel-weakmap/CHANGELOG.md +0 -28
- package/server/node_modules/side-channel-weakmap/LICENSE +0 -21
- package/server/node_modules/side-channel-weakmap/README.md +0 -62
- package/server/node_modules/side-channel-weakmap/index.d.ts +0 -15
- package/server/node_modules/side-channel-weakmap/index.js +0 -84
- package/server/node_modules/side-channel-weakmap/package.json +0 -87
- package/server/node_modules/side-channel-weakmap/test/index.js +0 -114
- package/server/node_modules/side-channel-weakmap/tsconfig.json +0 -9
- package/server/node_modules/split2/LICENSE +0 -13
- package/server/node_modules/split2/README.md +0 -85
- package/server/node_modules/split2/bench.js +0 -27
- package/server/node_modules/split2/index.js +0 -141
- package/server/node_modules/split2/package.json +0 -39
- package/server/node_modules/split2/test.js +0 -409
- package/server/node_modules/statuses/HISTORY.md +0 -87
- package/server/node_modules/statuses/LICENSE +0 -23
- package/server/node_modules/statuses/README.md +0 -139
- package/server/node_modules/statuses/codes.json +0 -65
- package/server/node_modules/statuses/index.js +0 -146
- package/server/node_modules/statuses/package.json +0 -49
- package/server/node_modules/sudo-prompt/CHANGELOG.md +0 -143
- package/server/node_modules/sudo-prompt/LICENSE +0 -22
- package/server/node_modules/sudo-prompt/README.md +0 -62
- package/server/node_modules/sudo-prompt/index.d.ts +0 -4
- package/server/node_modules/sudo-prompt/index.js +0 -674
- package/server/node_modules/sudo-prompt/package.json +0 -41
- package/server/node_modules/sudo-prompt/test-concurrent.js +0 -29
- package/server/node_modules/sudo-prompt/test.js +0 -65
- package/server/node_modules/to-regex-range/LICENSE +0 -21
- package/server/node_modules/to-regex-range/README.md +0 -305
- package/server/node_modules/to-regex-range/index.js +0 -288
- package/server/node_modules/to-regex-range/package.json +0 -88
- package/server/node_modules/toidentifier/HISTORY.md +0 -9
- package/server/node_modules/toidentifier/LICENSE +0 -21
- package/server/node_modules/toidentifier/README.md +0 -61
- package/server/node_modules/toidentifier/index.js +0 -32
- package/server/node_modules/toidentifier/package.json +0 -38
- package/server/node_modules/type-is/HISTORY.md +0 -259
- package/server/node_modules/type-is/LICENSE +0 -23
- package/server/node_modules/type-is/README.md +0 -170
- package/server/node_modules/type-is/index.js +0 -266
- package/server/node_modules/type-is/package.json +0 -45
- package/server/node_modules/undici-types/LICENSE +0 -21
- package/server/node_modules/undici-types/README.md +0 -6
- package/server/node_modules/undici-types/agent.d.ts +0 -32
- package/server/node_modules/undici-types/api.d.ts +0 -43
- package/server/node_modules/undici-types/balanced-pool.d.ts +0 -29
- package/server/node_modules/undici-types/cache-interceptor.d.ts +0 -172
- package/server/node_modules/undici-types/cache.d.ts +0 -36
- package/server/node_modules/undici-types/client-stats.d.ts +0 -15
- package/server/node_modules/undici-types/client.d.ts +0 -108
- package/server/node_modules/undici-types/connector.d.ts +0 -34
- package/server/node_modules/undici-types/content-type.d.ts +0 -21
- package/server/node_modules/undici-types/cookies.d.ts +0 -30
- package/server/node_modules/undici-types/diagnostics-channel.d.ts +0 -74
- package/server/node_modules/undici-types/dispatcher.d.ts +0 -276
- package/server/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -22
- package/server/node_modules/undici-types/errors.d.ts +0 -161
- package/server/node_modules/undici-types/eventsource.d.ts +0 -66
- package/server/node_modules/undici-types/fetch.d.ts +0 -211
- package/server/node_modules/undici-types/formdata.d.ts +0 -108
- package/server/node_modules/undici-types/global-dispatcher.d.ts +0 -9
- package/server/node_modules/undici-types/global-origin.d.ts +0 -7
- package/server/node_modules/undici-types/h2c-client.d.ts +0 -73
- package/server/node_modules/undici-types/handlers.d.ts +0 -15
- package/server/node_modules/undici-types/header.d.ts +0 -160
- package/server/node_modules/undici-types/index.d.ts +0 -80
- package/server/node_modules/undici-types/interceptors.d.ts +0 -39
- package/server/node_modules/undici-types/mock-agent.d.ts +0 -68
- package/server/node_modules/undici-types/mock-call-history.d.ts +0 -111
- package/server/node_modules/undici-types/mock-client.d.ts +0 -27
- package/server/node_modules/undici-types/mock-errors.d.ts +0 -12
- package/server/node_modules/undici-types/mock-interceptor.d.ts +0 -94
- package/server/node_modules/undici-types/mock-pool.d.ts +0 -27
- package/server/node_modules/undici-types/package.json +0 -55
- package/server/node_modules/undici-types/patch.d.ts +0 -29
- package/server/node_modules/undici-types/pool-stats.d.ts +0 -19
- package/server/node_modules/undici-types/pool.d.ts +0 -41
- package/server/node_modules/undici-types/proxy-agent.d.ts +0 -29
- package/server/node_modules/undici-types/readable.d.ts +0 -68
- package/server/node_modules/undici-types/retry-agent.d.ts +0 -8
- package/server/node_modules/undici-types/retry-handler.d.ts +0 -125
- package/server/node_modules/undici-types/snapshot-agent.d.ts +0 -109
- package/server/node_modules/undici-types/util.d.ts +0 -18
- package/server/node_modules/undici-types/utility.d.ts +0 -7
- package/server/node_modules/undici-types/webidl.d.ts +0 -341
- package/server/node_modules/undici-types/websocket.d.ts +0 -186
- package/server/node_modules/unpipe/HISTORY.md +0 -4
- package/server/node_modules/unpipe/LICENSE +0 -22
- package/server/node_modules/unpipe/README.md +0 -43
- package/server/node_modules/unpipe/index.js +0 -69
- package/server/node_modules/unpipe/package.json +0 -27
- package/server/node_modules/utils-merge/LICENSE +0 -20
- package/server/node_modules/utils-merge/README.md +0 -34
- package/server/node_modules/utils-merge/index.js +0 -23
- package/server/node_modules/utils-merge/package.json +0 -40
- package/server/node_modules/vary/HISTORY.md +0 -39
- package/server/node_modules/vary/LICENSE +0 -22
- package/server/node_modules/vary/README.md +0 -101
- package/server/node_modules/vary/index.js +0 -149
- package/server/node_modules/vary/package.json +0 -43
- package/server/node_modules/ws/LICENSE +0 -20
- package/server/node_modules/ws/README.md +0 -548
- package/server/node_modules/ws/browser.js +0 -8
- package/server/node_modules/ws/index.js +0 -13
- package/server/node_modules/ws/lib/buffer-util.js +0 -131
- package/server/node_modules/ws/lib/constants.js +0 -19
- package/server/node_modules/ws/lib/event-target.js +0 -292
- package/server/node_modules/ws/lib/extension.js +0 -203
- package/server/node_modules/ws/lib/limiter.js +0 -55
- package/server/node_modules/ws/lib/permessage-deflate.js +0 -528
- package/server/node_modules/ws/lib/receiver.js +0 -706
- package/server/node_modules/ws/lib/sender.js +0 -602
- package/server/node_modules/ws/lib/stream.js +0 -161
- package/server/node_modules/ws/lib/subprotocol.js +0 -62
- package/server/node_modules/ws/lib/validation.js +0 -152
- package/server/node_modules/ws/lib/websocket-server.js +0 -554
- package/server/node_modules/ws/lib/websocket.js +0 -1393
- package/server/node_modules/ws/package.json +0 -69
- package/server/node_modules/ws/wrapper.mjs +0 -8
- package/server/node_modules/xtend/.jshintrc +0 -30
- package/server/node_modules/xtend/LICENSE +0 -20
- package/server/node_modules/xtend/README.md +0 -32
- package/server/node_modules/xtend/immutable.js +0 -19
- package/server/node_modules/xtend/mutable.js +0 -17
- package/server/node_modules/xtend/package.json +0 -55
- package/server/node_modules/xtend/test.js +0 -103
- /package/{server/node_modules/pg-protocol/dist/b.d.ts → dashboard/dist/components/AppPreview.test.d.ts} +0 -0
- /package/{server/node_modules/pg-protocol/dist/inbound-parser.test.d.ts → dashboard/dist/components/DocsPane.test.d.ts} +0 -0
- /package/{server/node_modules/pg-protocol/dist/outbound-serializer.test.d.ts → dashboard/dist/components/HealthPane.test.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/.pnpm/tsup@8.3.0_@microsoft+api-extractor@7.47.7_@types+node@20.16.11__postcss@8.4.47_tsx@4.19.2_typescript@5.6.3/node_modules/tsup/assets/cjs_shims.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/utils.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/constants.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/types.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/tar.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/untar.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/index.js","../../src/fs/nodefs.ts","../../src/fs/base.ts","../../src/fs/tarUtils.ts"],"sourcesContent":["// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () =>\n typeof document === 'undefined'\n ? new URL(`file:${__filename}`).href\n : (document.currentScript && document.currentScript.src) ||\n new URL('main.js', document.baseURI).href\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","'use strict';\n\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\nvar undefined = (function(undefined) {\n return undefined;\n})();\n\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nfunction isString(value) {\n return (typeof value == 'string') ||\n (Object.prototype.toString.call(value) == '[object String]');\n}\n\nfunction isDateTime(value) {\n return (Object.prototype.toString.call(value) == '[object Date]');\n}\n\nfunction isObject(value) {\n return (value !== null) && (typeof value == 'object');\n}\n\nfunction isFunction(value) {\n return typeof value == 'function';\n}\n\nfunction isLength(value) {\n return (typeof value == 'number') &&\n (value > -1) && (value % 1 == 0) &&\n (value <= MAX_SAFE_INTEGER);\n}\n\nfunction isArray(value) {\n return Object.prototype.toString.call(value) == '[object Array]';\n}\n\nfunction isArrayLike(value) {\n return isObject(value) && !isFunction(value) && isLength(value.length);\n}\n\nfunction isArrayBuffer(value) {\n return Object.prototype.toString.call(value) == '[object ArrayBuffer]';\n}\n\nfunction map(array, iteratee) {\n return Array.prototype.map.call(array, iteratee);\n}\n\nfunction find(array, iteratee) {\n var result = undefined;\n\n if (isFunction(iteratee)) {\n Array.prototype.every.call(array, function(item, index, array) {\n var found = iteratee(item, index, array);\n if (found) {\n result = item;\n }\n return !found; // continue if not found\n });\n }\n\n return result;\n}\n\nfunction extend(target /* ...sources */) {\n return Object.assign.apply(null, arguments);\n}\n\nfunction toUint8Array(value) {\n var i;\n var length;\n var result;\n\n if (isString(value)) {\n length = value.length;\n result = new Uint8Array(length);\n for (i = 0; i < length; i++) {\n result[i] = value.charCodeAt(i) & 0xFF;\n }\n return result;\n }\n\n if (isArrayBuffer(value)) {\n return new Uint8Array(value);\n }\n\n if (isObject(value) && isArrayBuffer(value.buffer)) {\n return new Uint8Array(value.buffer);\n }\n\n if (isArrayLike(value)) {\n return new Uint8Array(value);\n }\n\n if (isObject(value) && isFunction(value.toString)) {\n return toUint8Array(value.toString());\n }\n\n return new Uint8Array();\n}\n\nmodule.exports.MAX_SAFE_INTEGER = MAX_SAFE_INTEGER;\n\nmodule.exports.isUndefined = isUndefined;\nmodule.exports.isString = isString;\nmodule.exports.isObject = isObject;\nmodule.exports.isDateTime = isDateTime;\nmodule.exports.isFunction = isFunction;\nmodule.exports.isArray = isArray;\nmodule.exports.isArrayLike = isArrayLike;\nmodule.exports.isArrayBuffer = isArrayBuffer;\nmodule.exports.map = map;\nmodule.exports.find = find;\nmodule.exports.extend = extend;\nmodule.exports.toUint8Array = toUint8Array;\n","'use strict';\n\nvar NULL_CHAR = '\\u0000';\n\nmodule.exports = {\n /* eslint-disable key-spacing */\n\n NULL_CHAR: NULL_CHAR,\n\n TMAGIC: 'ustar' + NULL_CHAR + '00', // 'ustar', NULL, '00'\n OLDGNU_MAGIC: 'ustar ' + NULL_CHAR, // 'ustar ', NULL\n\n // Values used in typeflag field.\n REGTYPE: 0, // regular file\n LNKTYPE: 1, // link\n SYMTYPE: 2, // reserved\n CHRTYPE: 3, // character special\n BLKTYPE: 4, // block special\n DIRTYPE: 5, // directory\n FIFOTYPE: 6, // FIFO special\n CONTTYPE: 7, // reserved\n\n // Bits used in the mode field, values in octal.\n TSUID: parseInt('4000', 8), // set UID on execution\n TSGID: parseInt('2000', 8), // set GID on execution\n TSVTX: parseInt('1000', 8), // reserved\n\n // file permissions\n TUREAD: parseInt('0400', 8), // read by owner\n TUWRITE: parseInt('0200', 8), // write by owner\n TUEXEC: parseInt('0100', 8), // execute/search by owner\n TGREAD: parseInt('0040', 8), // read by group\n TGWRITE: parseInt('0020', 8), // write by group\n TGEXEC: parseInt('0010', 8), // execute/search by group\n TOREAD: parseInt('0004', 8), // read by other\n TOWRITE: parseInt('0002', 8), // write by other\n TOEXEC: parseInt('0001', 8), // execute/search by other\n\n TPERMALL: parseInt('0777', 8), // rwxrwxrwx\n TPERMMASK: parseInt('0777', 8) // permissions bitmask\n\n /* eslint-enable key-spacing */\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar constants = require('./constants');\n\nvar recordSize = 512;\nvar defaultFileMode = constants.TPERMALL; // rwxrwxrwx\nvar defaultUid = 0; // root\nvar defaultGid = 0; // root\n\n/*\n struct posix_header { // byte offset\n char name[100]; // 0\n char mode[8]; // 100\n char uid[8]; // 108\n char gid[8]; // 116\n char size[12]; // 124\n char mtime[12]; // 136\n char chksum[8]; // 148\n char typeflag; // 156\n char linkname[100]; // 157\n char magic[6]; // 257\n char version[2]; // 263\n char uname[32]; // 265\n char gname[32]; // 297\n char devmajor[8]; // 329\n char devminor[8]; // 337\n char prefix[131]; // 345\n char atime[12]; // 476\n char ctime[12]; // 488\n };\n */\n\nvar posixHeader = [\n // <field name>, <size>, <offset>, <used>, <format>, <parse>, [ <check> ]\n ['name', 100, 0, function(file, field) {\n return formatTarString(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarString(buffer.slice(offset, offset + field[1]));\n }],\n ['mode', 8, 100, function(file, field) {\n var mode = file[field[0]] || defaultFileMode;\n mode = mode & constants.TPERMMASK;\n return formatTarNumber(mode, field[1], defaultFileMode);\n }, function(buffer, offset, field) {\n var result = parseTarNumber(buffer.slice(offset, offset + field[1]));\n result &= constants.TPERMMASK;\n return result;\n }],\n ['uid', 8, 108, function(file, field) {\n return formatTarNumber(file[field[0]], field[1], defaultUid);\n }, function(buffer, offset, field) {\n return parseTarNumber(buffer.slice(offset, offset + field[1]));\n }],\n ['gid', 8, 116, function(file, field) {\n return formatTarNumber(file[field[0]], field[1], defaultGid);\n }, function(buffer, offset, field) {\n return parseTarNumber(buffer.slice(offset, offset + field[1]));\n }],\n ['size', 12, 124, function(file, field) {\n return formatTarNumber(file.data.length, field[1]);\n }, function(buffer, offset, field) {\n return parseTarNumber(buffer.slice(offset, offset + field[1]));\n }],\n ['modifyTime', 12, 136, function(file, field) {\n return formatTarDateTime(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarDateTime(buffer.slice(offset, offset + field[1]));\n }],\n ['checksum', 8, 148, function(file, field) {\n return ' '; // placeholder\n }, function(buffer, offset, field) {\n return parseTarNumber(buffer.slice(offset, offset + field[1]));\n }],\n ['type', 1, 156, function(file, field) {\n // get last octal digit; 0 - regular file\n return '' + ((parseInt(file[field[0]], 10) || 0) % 8);\n }, function(buffer, offset, field) {\n return (parseInt(String.fromCharCode(buffer[offset]), 10) || 0) % 8;\n }],\n ['linkName', 100, 157, function(file, field) {\n return ''; // only regular files are supported\n }, function(buffer, offset, field) {\n return parseTarString(buffer.slice(offset, offset + field[1]));\n }],\n ['ustar', 8, 257, function(file, field) {\n return constants.TMAGIC; // magic + version\n }, function(buffer, offset, field) {\n return fixUstarMagic(\n parseTarString(buffer.slice(offset, offset + field[1]), true)\n );\n }, function(file, field) {\n return (file[field[0]] == constants.TMAGIC) ||\n (file[field[0]] == constants.OLDGNU_MAGIC);\n }],\n ['owner', 32, 265, function(file, field) {\n return formatTarString(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarString(buffer.slice(offset, offset + field[1]));\n }],\n ['group', 32, 297, function(file, field) {\n return formatTarString(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarString(buffer.slice(offset, offset + field[1]));\n }],\n ['majorNumber', 8, 329, function(file, field) {\n return ''; // only regular files are supported\n }, function(buffer, offset, field) {\n return parseTarNumber(buffer.slice(offset, offset + field[1]));\n }],\n ['minorNumber', 8, 337, function(file, field) {\n return ''; // only regular files are supported\n }, function(buffer, offset, field) {\n return parseTarNumber(buffer.slice(offset, offset + field[1]));\n }],\n ['prefix', 131, 345, function(file, field) {\n return formatTarString(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarString(buffer.slice(offset, offset + field[1]));\n }],\n ['accessTime', 12, 476, function(file, field) {\n return formatTarDateTime(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarDateTime(buffer.slice(offset, offset + field[1]));\n }],\n ['createTime', 12, 488, function(file, field) {\n return formatTarDateTime(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarDateTime(buffer.slice(offset, offset + field[1]));\n }]\n];\n\nvar effectiveHeaderSize = (function(header) {\n var last = header[header.length - 1];\n return last[2] + last[1]; // offset + size\n})(posixHeader);\n\nfunction fixUstarMagic(value) {\n if (value.length == 8) {\n var chars = value.split('');\n\n if (chars[5] == constants.NULL_CHAR) {\n // TMAGIC ?\n if ((chars[6] == ' ') || (chars[6] == constants.NULL_CHAR)) {\n chars[6] = '0';\n }\n if ((chars[7] == ' ') || (chars[7] == constants.NULL_CHAR)) {\n chars[7] = '0';\n }\n chars = chars.join('');\n return chars == constants.TMAGIC ? chars : value;\n } else if (chars[7] == constants.NULL_CHAR) {\n // OLDGNU_MAGIC ?\n if (chars[5] == constants.NULL_CHAR) {\n chars[5] = ' ';\n }\n if (chars[6] == constants.NULL_CHAR) {\n chars[6] = ' ';\n }\n return chars == constants.OLDGNU_MAGIC ? chars : value;\n }\n }\n return value;\n}\n\nfunction formatTarString(value, length) {\n length -= 1; // preserve space for trailing null-char\n if (utils.isUndefined(value)) {\n value = '';\n }\n value = ('' + value).substr(0, length);\n return value + constants.NULL_CHAR;\n}\n\nfunction formatTarNumber(value, length, defaultValue) {\n defaultValue = parseInt(defaultValue) || 0;\n length -= 1; // preserve space for trailing null-char\n value = (parseInt(value) || defaultValue)\n .toString(8).substr(-length, length);\n while (value.length < length) {\n value = '0' + value;\n }\n return value + constants.NULL_CHAR;\n}\n\nfunction formatTarDateTime(value, length) {\n if (utils.isDateTime(value)) {\n value = Math.floor(1 * value / 1000);\n } else {\n value = parseInt(value, 10);\n if (isFinite(value)) {\n if (value <= 0) {\n return '';\n }\n } else {\n value = Math.floor(1 * new Date() / 1000);\n }\n }\n return formatTarNumber(value, length, 0);\n}\n\nfunction parseTarString(bytes, returnUnprocessed) {\n var result = String.fromCharCode.apply(null, bytes);\n if (returnUnprocessed) {\n return result;\n }\n var index = result.indexOf(constants.NULL_CHAR);\n return index >= 0 ? result.substr(0, index) : result;\n}\n\nfunction parseTarNumber(bytes) {\n var result = String.fromCharCode.apply(null, bytes);\n return parseInt(result.replace(/^0+$/g, ''), 8) || 0;\n}\n\nfunction parseTarDateTime(bytes) {\n if ((bytes.length == 0) || (bytes[0] == 0)) {\n return null;\n }\n return new Date(1000 * parseTarNumber(bytes));\n}\n\nfunction calculateChecksum(buffer, offset, skipChecksum) {\n var from = parseInt(offset, 10) || 0;\n var to = Math.min(from + effectiveHeaderSize, buffer.length);\n var result = 0;\n\n // When calculating checksum, `checksum` field should be\n // threat as filled with space char (byte 32)\n var skipFrom = 0;\n var skipTo = 0;\n if (skipChecksum) {\n posixHeader.every(function(field) {\n if (field[0] == 'checksum') {\n skipFrom = from + field[2];\n skipTo = skipFrom + field[1];\n return false;\n }\n return true;\n });\n }\n\n var whitespace = ' '.charCodeAt(0);\n for (var i = from; i < to; i++) {\n // 262144 = 8^6 - 6 octal digits - maximum possible value for checksum;\n // wrap to avoid numeric overflow\n var byte = (i >= skipFrom) && (i < skipTo) ? whitespace : buffer[i];\n result = (result + byte) % 262144;\n }\n return result;\n}\n\nmodule.exports.recordSize = recordSize;\nmodule.exports.defaultFileMode = defaultFileMode;\nmodule.exports.defaultUid = defaultUid;\nmodule.exports.defaultGid = defaultGid;\nmodule.exports.posixHeader = posixHeader;\nmodule.exports.effectiveHeaderSize = effectiveHeaderSize;\n\nmodule.exports.calculateChecksum = calculateChecksum;\nmodule.exports.formatTarString = formatTarString;\nmodule.exports.formatTarNumber = formatTarNumber;\nmodule.exports.formatTarDateTime = formatTarDateTime;\nmodule.exports.parseTarString = parseTarString;\nmodule.exports.parseTarNumber = parseTarNumber;\nmodule.exports.parseTarDateTime = parseTarDateTime;\n\n","'use strict';\n\nvar constants = require('./constants');\nvar utils = require('./utils');\nvar types = require('./types');\n\nfunction headerSize(file) {\n // header has fixed size\n return types.recordSize;\n}\n\nfunction dataSize(file) {\n // align to record boundary\n return Math.ceil(file.data.length / types.recordSize) * types.recordSize;\n}\n\nfunction allocateBuffer(files) {\n var totalSize = 0;\n\n // Calculate space that will be used by each file\n files.forEach(function(file) {\n totalSize += headerSize(file) + dataSize(file);\n });\n\n // TAR must end with two empty records\n totalSize += types.recordSize * 2;\n\n // Array SHOULD be initialized with zeros:\n // from TypedArray constructor docs:\n // > When creating a TypedArray instance (i.e. instance of Int8Array\n // > or similar), an array buffer is created internally\n // from ArrayBuffer constructor docs:\n // > A new ArrayBuffer object of the specified size.\n // > Its contents are initialized to 0.\n return new Uint8Array(totalSize);\n}\n\nfunction writeHeader(buffer, file, offset) {\n offset = parseInt(offset) || 0;\n\n var currentOffset = offset;\n types.posixHeader.forEach(function(field) {\n var value = field[3](file, field);\n var length = value.length;\n for (var i = 0; i < length; i += 1) {\n buffer[currentOffset + i] = value.charCodeAt(i) & 0xFF;\n }\n currentOffset += field[1]; // move to the next field\n });\n\n var field = utils.find(types.posixHeader, function(field) {\n return field[0] == 'checksum';\n });\n\n if (field) {\n // Patch checksum field\n var checksum = types.calculateChecksum(buffer, offset, true);\n var value = types.formatTarNumber(checksum, field[1] - 2) +\n constants.NULL_CHAR + ' ';\n currentOffset = offset + field[2];\n for (var i = 0; i < value.length; i += 1) {\n // put bytes\n buffer[currentOffset] = value.charCodeAt(i) & 0xFF;\n currentOffset++;\n }\n }\n\n return offset + headerSize(file);\n}\n\nfunction writeData(buffer, file, offset) {\n offset = parseInt(offset, 10) || 0;\n buffer.set(file.data, offset);\n return offset + dataSize(file);\n}\n\nfunction tar(files) {\n files = utils.map(files, function(file) {\n return utils.extend({}, file, {\n data: utils.toUint8Array(file.data)\n });\n });\n\n var buffer = allocateBuffer(files);\n\n var offset = 0;\n files.forEach(function(file) {\n offset = writeHeader(buffer, file, offset);\n offset = writeData(buffer, file, offset);\n });\n\n return buffer;\n}\n\nmodule.exports.tar = tar;\n","'use strict';\n\nvar constants = require('./constants');\nvar utils = require('./utils');\nvar types = require('./types');\n\nvar defaultOptions = {\n extractData: true,\n checkHeader: true,\n checkChecksum: true,\n checkFileSize: true\n};\n\nvar excludeFields = {\n size: true,\n checksum: true,\n ustar: true\n};\n\nvar messages = {\n unexpectedEndOfFile: 'Unexpected end of file.',\n fileCorrupted: 'File is corrupted.',\n checksumCheckFailed: 'Checksum check failed.'\n};\n\nfunction headerSize(header) {\n // header has fixed size\n return types.recordSize;\n}\n\nfunction dataSize(size) {\n // align to record boundary\n return Math.ceil(size / types.recordSize) * types.recordSize;\n}\n\nfunction isEndOfFile(buffer, offset) {\n var from = offset;\n var to = Math.min(buffer.length, offset + types.recordSize * 2);\n for (var i = from; i < to; i++) {\n if (buffer[i] != 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction readHeader(buffer, offset, options) {\n if (buffer.length - offset < types.recordSize) {\n if (options.checkFileSize) {\n throw new Error(messages.unexpectedEndOfFile);\n }\n return null;\n }\n\n offset = parseInt(offset) || 0;\n\n var result = {};\n var currentOffset = offset;\n types.posixHeader.forEach(function(field) {\n result[field[0]] = field[4](buffer, currentOffset, field);\n currentOffset += field[1];\n });\n\n if (result.type != 0) { // only regular files can have data\n result.size = 0;\n }\n\n if (options.checkHeader) {\n types.posixHeader.forEach(function(field) {\n if (utils.isFunction(field[5]) && !field[5](result, field)) {\n var error = new Error(messages.fileCorrupted);\n error.data = {\n offset: offset + field[2],\n field: field[0]\n };\n throw error;\n }\n });\n }\n\n if (options.checkChecksum) {\n var checksum = types.calculateChecksum(buffer, offset, true);\n if (checksum != result.checksum) {\n var error = new Error(messages.checksumCheckFailed);\n error.data = {\n offset: offset,\n header: result,\n checksum: checksum\n };\n throw error;\n }\n }\n\n return result;\n}\n\nfunction readData(buffer, offset, header, options) {\n if (!options.extractData) {\n return null;\n }\n\n if (header.size <= 0) {\n return new Uint8Array();\n }\n return buffer.slice(offset, offset + header.size);\n}\n\nfunction createFile(header, data) {\n var result = {};\n types.posixHeader.forEach(function(field) {\n var name = field[0];\n if (!excludeFields[name]) {\n result[name] = header[name];\n }\n });\n\n result.isOldGNUFormat = header.ustar == constants.OLDGNU_MAGIC;\n\n if (data) {\n result.data = data;\n }\n\n return result;\n}\n\nfunction untar(buffer, options) {\n options = utils.extend({}, defaultOptions, options);\n\n var result = [];\n var offset = 0;\n var size = buffer.length;\n\n while (size - offset >= types.recordSize) {\n buffer = utils.toUint8Array(buffer);\n var header = readHeader(buffer, offset, options);\n if (!header) {\n break;\n }\n offset += headerSize(header);\n\n var data = readData(buffer, offset, header, options);\n result.push(createFile(header, data));\n offset += dataSize(header.size);\n\n if (isEndOfFile(buffer, offset)) {\n break;\n }\n }\n\n return result;\n}\n\nmodule.exports.untar = untar;\n","'use strict';\n\n// http://www.gnu.org/software/tar/manual/html_node/Standard.html\n\nvar utils = require('./lib/utils');\nvar constants = require('./lib/constants');\nvar tar = require('./lib/tar');\nvar untar = require('./lib/untar');\n\nutils.extend(module.exports, tar, untar, constants);\n","import * as fs from 'fs'\nimport * as path from 'path'\nimport { EmscriptenBuiltinFilesystem, PGDATA } from './base.js'\nimport type { PostgresMod } from '../postgresMod.js'\nimport { PGlite } from '../pglite.js'\n\nexport class NodeFS extends EmscriptenBuiltinFilesystem {\n protected rootDir: string\n\n constructor(dataDir: string) {\n super(dataDir)\n this.rootDir = path.resolve(dataDir)\n if (!fs.existsSync(path.join(this.rootDir))) {\n fs.mkdirSync(this.rootDir)\n }\n }\n\n async init(pg: PGlite, opts: Partial<PostgresMod>) {\n this.pg = pg\n const options: Partial<PostgresMod> = {\n ...opts,\n preRun: [\n ...(opts.preRun || []),\n (mod: any) => {\n const nodefs = mod.FS.filesystems.NODEFS\n mod.FS.mkdir(PGDATA)\n mod.FS.mount(nodefs, { root: this.rootDir }, PGDATA)\n },\n ],\n }\n return { emscriptenOpts: options }\n }\n\n async closeFs(): Promise<void> {\n this.pg!.Module.FS.quit()\n }\n}\n","import type { PostgresMod } from '../postgresMod.js'\nimport type { PGlite } from '../pglite.js'\nimport { dumpTar, type DumpTarCompressionOptions } from './tarUtils.js'\n\nexport const WASM_PREFIX = '/tmp/pglite'\nexport const PGDATA = WASM_PREFIX + '/' + 'base'\n\nexport type FsType = 'nodefs' | 'idbfs' | 'memoryfs' | 'opfs-ahp'\n\n/**\n * Filesystem interface.\n * All virtual filesystems that are compatible with PGlite must implement\n * this interface.\n */\nexport interface Filesystem {\n /**\n * Initiate the filesystem and return the options to pass to the emscripten module.\n */\n init(\n pg: PGlite,\n emscriptenOptions: Partial<PostgresMod>,\n ): Promise<{ emscriptenOpts: Partial<PostgresMod> }>\n\n /**\n * Sync the filesystem to any underlying storage.\n */\n syncToFs(relaxedDurability?: boolean): Promise<void>\n\n /**\n * Sync the filesystem from any underlying storage.\n */\n initialSyncFs(): Promise<void>\n\n /**\n * Dump the PGDATA dir from the filesystem to a gzipped tarball.\n */\n dumpTar(\n dbname: string,\n compression?: DumpTarCompressionOptions,\n ): Promise<File | Blob>\n\n /**\n * Close the filesystem.\n */\n closeFs(): Promise<void>\n}\n\n/**\n * Base class for all emscripten built-in filesystems.\n */\nexport class EmscriptenBuiltinFilesystem implements Filesystem {\n protected dataDir?: string\n protected pg?: PGlite\n\n constructor(dataDir?: string) {\n this.dataDir = dataDir\n }\n\n async init(pg: PGlite, emscriptenOptions: Partial<PostgresMod>) {\n this.pg = pg\n return { emscriptenOpts: emscriptenOptions }\n }\n\n async syncToFs(_relaxedDurability?: boolean) {}\n\n async initialSyncFs() {}\n\n async closeFs() {}\n\n async dumpTar(dbname: string, compression?: DumpTarCompressionOptions) {\n return dumpTar(this.pg!.Module.FS, PGDATA, dbname, compression)\n }\n}\n\n/**\n * Abstract base class for all custom virtual filesystems.\n * Each custom filesystem needs to implement an interface similar to the NodeJS FS API.\n */\nexport abstract class BaseFilesystem implements Filesystem {\n protected dataDir?: string\n protected pg?: PGlite\n readonly debug: boolean\n\n constructor(dataDir?: string, { debug = false }: { debug?: boolean } = {}) {\n this.dataDir = dataDir\n this.debug = debug\n }\n\n async syncToFs(_relaxedDurability?: boolean) {}\n\n async initialSyncFs() {}\n\n async closeFs() {}\n\n async dumpTar(dbname: string, compression?: DumpTarCompressionOptions) {\n return dumpTar(this.pg!.Module.FS, PGDATA, dbname, compression)\n }\n\n async init(pg: PGlite, emscriptenOptions: Partial<PostgresMod>) {\n this.pg = pg\n const options: Partial<PostgresMod> = {\n ...emscriptenOptions,\n preRun: [\n ...(emscriptenOptions.preRun || []),\n (mod: PostgresMod) => {\n const EMFS = createEmscriptenFS(mod, this)\n mod.FS.mkdir(PGDATA)\n mod.FS.mount(EMFS, {}, PGDATA)\n },\n ],\n }\n return { emscriptenOpts: options }\n }\n\n // Filesystem API\n\n abstract chmod(path: string, mode: number): void\n abstract close(fd: number): void\n abstract fstat(fd: number): FsStats\n abstract lstat(path: string): FsStats\n abstract mkdir(\n path: string,\n options?: { recursive?: boolean; mode?: number },\n ): void\n abstract open(path: string, flags?: string, mode?: number): number\n abstract readdir(path: string): string[]\n abstract read(\n fd: number,\n buffer: Uint8Array, // Buffer to read into\n offset: number, // Offset in buffer to start writing to\n length: number, // Number of bytes to read\n position: number, // Position in file to read from\n ): number\n abstract rename(oldPath: string, newPath: string): void\n abstract rmdir(path: string): void\n abstract truncate(\n path: string,\n len: number, // Length to truncate to - defaults to 0\n ): void\n abstract unlink(path: string): void\n abstract utimes(path: string, atime: number, mtime: number): void\n abstract writeFile(\n path: string,\n data: string | Uint8Array,\n options?: { encoding?: string; mode?: number; flag?: string },\n ): void\n abstract write(\n fd: number,\n buffer: Uint8Array, // Buffer to read from\n offset: number, // Offset in buffer to start reading from\n length: number, // Number of bytes to write\n position: number, // Position in file to write to\n ): number\n}\n\nexport type FsStats = {\n dev: number\n ino: number\n mode: number\n nlink: number\n uid: number\n gid: number\n rdev: number\n size: number\n blksize: number\n blocks: number\n atime: number\n mtime: number\n ctime: number\n}\n\ntype EmscriptenFileSystem = Emscripten.FileSystemType & {\n createNode: (\n parent: FSNode | null,\n name: string,\n mode: number,\n dev?: any,\n ) => FSNode\n node_ops: FS.NodeOps\n stream_ops: FS.StreamOps & {\n dup: (stream: FSStream) => void\n mmap: (\n stream: FSStream,\n length: number,\n position: number,\n prot: any,\n flags: any,\n ) => { ptr: number; allocated: boolean }\n msync: (\n stream: FSStream,\n buffer: Uint8Array,\n offset: number,\n length: number,\n mmapFlags: any,\n ) => number\n }\n} & { [key: string]: any }\n\ntype FSNode = FS.FSNode & {\n node_ops: FS.NodeOps\n stream_ops: FS.StreamOps\n}\n\ntype FSStream = FS.FSStream & {\n node: FSNode\n shared: {\n refcount: number\n }\n}\n\ntype FSMount = FS.Mount & {\n opts: {\n root: string\n }\n}\n\ntype EmscriptenFS = PostgresMod['FS'] & {\n createNode: (\n parent: FSNode | null,\n name: string,\n mode: number,\n dev?: any,\n ) => FSNode\n}\n\nexport const ERRNO_CODES = {\n EBADF: 8,\n EBADFD: 127,\n EEXIST: 20,\n EINVAL: 28,\n EISDIR: 31,\n ENODEV: 43,\n ENOENT: 44,\n ENOTDIR: 54,\n ENOTEMPTY: 55,\n} as const\n\n/**\n * Create an emscripten filesystem that uses the BaseFilesystem.\n * @param Module The emscripten module\n * @param baseFS The BaseFilesystem implementation\n * @returns The emscripten filesystem\n */\nconst createEmscriptenFS = (Module: PostgresMod, baseFS: BaseFilesystem) => {\n const FS = Module.FS as EmscriptenFS\n const log = baseFS.debug ? console.log : null\n const EMFS = {\n tryFSOperation<T>(f: () => T): T {\n try {\n return f()\n } catch (e: any) {\n if (!e.code) throw e\n if (e.code === 'UNKNOWN') throw new FS.ErrnoError(ERRNO_CODES.EINVAL)\n throw new FS.ErrnoError(e.code)\n }\n },\n mount(_mount: FSMount): FSNode {\n return EMFS.createNode(null, '/', 16384 | 511, 0)\n },\n syncfs(\n _mount: FS.Mount,\n _populate: any, // This has the wrong type in @types/emscripten\n _done: (err?: number | null) => unknown,\n ): void {\n // noop\n },\n createNode(\n parent: FSNode | null,\n name: string,\n mode: number,\n _dev?: any,\n ): FSNode {\n if (!FS.isDir(mode) && !FS.isFile(mode)) {\n throw new FS.ErrnoError(28)\n }\n const node = FS.createNode(parent, name, mode)\n node.node_ops = EMFS.node_ops\n node.stream_ops = EMFS.stream_ops\n return node\n },\n getMode: function (path: string): number {\n log?.('getMode', path)\n return EMFS.tryFSOperation(() => {\n const stats = baseFS.lstat(path)\n return stats.mode\n })\n },\n realPath: function (node: FSNode): string {\n const parts: string[] = []\n while (node.parent !== node) {\n parts.push(node.name)\n node = node.parent as FSNode\n }\n parts.push((node.mount as FSMount).opts.root)\n parts.reverse()\n return parts.join('/')\n },\n node_ops: {\n getattr(node: FSNode): FS.Stats {\n log?.('getattr', EMFS.realPath(node))\n const path = EMFS.realPath(node)\n return EMFS.tryFSOperation(() => {\n const stats = baseFS.lstat(path)\n return {\n ...stats,\n dev: 0,\n ino: node.id,\n nlink: 1,\n rdev: node.rdev,\n atime: new Date(stats.atime),\n mtime: new Date(stats.mtime),\n ctime: new Date(stats.ctime),\n }\n })\n },\n setattr(node: FSNode, attr: FS.Stats): void {\n log?.('setattr', EMFS.realPath(node), attr)\n const path = EMFS.realPath(node)\n EMFS.tryFSOperation(() => {\n if (attr.mode !== undefined) {\n baseFS.chmod(path, attr.mode)\n }\n if (attr.size !== undefined) {\n baseFS.truncate(path, attr.size)\n }\n if (attr.timestamp !== undefined) {\n baseFS.utimes(path, attr.timestamp, attr.timestamp)\n }\n if (attr.size !== undefined) {\n baseFS.truncate(path, attr.size)\n }\n })\n },\n lookup(parent: FSNode, name: string): FSNode {\n log?.('lookup', EMFS.realPath(parent), name)\n const path = [EMFS.realPath(parent), name].join('/')\n const mode = EMFS.getMode(path)\n return EMFS.createNode(parent, name, mode)\n },\n mknod(parent: FSNode, name: string, mode: number, dev: unknown): FSNode {\n log?.('mknod', EMFS.realPath(parent), name, mode, dev)\n const node = EMFS.createNode(parent, name, mode, dev)\n // create the backing node for this in the fs root as well\n const path = EMFS.realPath(node)\n return EMFS.tryFSOperation(() => {\n if (FS.isDir(node.mode)) {\n baseFS.mkdir(path, { mode })\n } else {\n baseFS.writeFile(path, '', { mode })\n }\n return node\n })\n },\n rename(oldNode: FSNode, newDir: FSNode, newName: string): void {\n log?.('rename', EMFS.realPath(oldNode), EMFS.realPath(newDir), newName)\n const oldPath = EMFS.realPath(oldNode)\n const newPath = [EMFS.realPath(newDir), newName].join('/')\n EMFS.tryFSOperation(() => {\n baseFS.rename(oldPath, newPath)\n })\n oldNode.name = newName\n },\n unlink(parent: FSNode, name: string): void {\n log?.('unlink', EMFS.realPath(parent), name)\n const path = [EMFS.realPath(parent), name].join('/')\n try {\n baseFS.unlink(path)\n } catch (e: any) {\n // no-op\n }\n },\n rmdir(parent: FSNode, name: string): void {\n log?.('rmdir', EMFS.realPath(parent), name)\n const path = [EMFS.realPath(parent), name].join('/')\n return EMFS.tryFSOperation(() => {\n baseFS.rmdir(path)\n })\n },\n readdir(node: FSNode): string[] {\n log?.('readdir', EMFS.realPath(node))\n const path = EMFS.realPath(node)\n return EMFS.tryFSOperation(() => {\n return baseFS.readdir(path)\n })\n },\n symlink(parent: FSNode, newName: string, oldPath: string): void {\n log?.('symlink', EMFS.realPath(parent), newName, oldPath)\n // This is not supported by EMFS\n throw new FS.ErrnoError(63)\n },\n readlink(node: FSNode): string {\n log?.('readlink', EMFS.realPath(node))\n // This is not supported by EMFS\n throw new FS.ErrnoError(63)\n },\n },\n stream_ops: {\n open(stream: FSStream): void {\n log?.('open stream', EMFS.realPath(stream.node))\n const path = EMFS.realPath(stream.node)\n return EMFS.tryFSOperation(() => {\n if (FS.isFile(stream.node.mode)) {\n stream.shared.refcount = 1\n stream.nfd = baseFS.open(path)\n }\n })\n },\n close(stream: FSStream): void {\n log?.('close stream', EMFS.realPath(stream.node))\n return EMFS.tryFSOperation(() => {\n if (\n FS.isFile(stream.node.mode) &&\n stream.nfd &&\n --stream.shared.refcount === 0\n ) {\n baseFS.close(stream.nfd)\n }\n })\n },\n dup(stream: FSStream) {\n log?.('dup stream', EMFS.realPath(stream.node))\n stream.shared.refcount++\n },\n read(\n stream: FSStream, // Stream to read from\n buffer: Uint8Array, // Buffer to read into - Wrong type in @types/emscripten\n offset: number, // Offset in buffer to start writing to\n length: number, // Number of bytes to read\n position: number, // Position in file to read from\n ): number {\n log?.(\n 'read stream',\n EMFS.realPath(stream.node),\n offset,\n length,\n position,\n )\n if (length === 0) return 0\n const ret = EMFS.tryFSOperation(() =>\n baseFS.read(\n stream.nfd!,\n buffer as unknown as Uint8Array,\n offset,\n length,\n position,\n ),\n )\n return ret\n },\n write(\n stream: FSStream, // Stream to write to\n buffer: Uint8Array, // Buffer to read from - Wrong type in @types/emscripten\n offset: number, // Offset in buffer to start writing from\n length: number, // Number of bytes to write\n position: number, // Position in file to write to\n ): number {\n log?.(\n 'write stream',\n EMFS.realPath(stream.node),\n offset,\n length,\n position,\n )\n return EMFS.tryFSOperation(() =>\n baseFS.write(\n stream.nfd!,\n buffer.buffer as unknown as Uint8Array,\n offset,\n length,\n position,\n ),\n )\n },\n llseek(stream: FSStream, offset: number, whence: number): number {\n log?.('llseek stream', EMFS.realPath(stream.node), offset, whence)\n let position = offset\n if (whence === 1) {\n position += stream.position\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n EMFS.tryFSOperation(() => {\n const stat = baseFS.fstat(stream.nfd!)\n position += stat.size\n })\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28)\n }\n return position\n },\n mmap(\n stream: FSStream,\n length: number,\n position: number,\n prot: any,\n flags: any,\n ) {\n log?.(\n 'mmap stream',\n EMFS.realPath(stream.node),\n length,\n position,\n prot,\n flags,\n )\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.ENODEV)\n }\n\n const ptr = (Module as any).mmapAlloc(length) // TODO: Fix type and check this is exported\n\n EMFS.stream_ops.read(\n stream,\n Module.HEAP8 as unknown as Uint8Array,\n ptr,\n length,\n position,\n )\n return { ptr, allocated: true }\n },\n msync(\n stream: FSStream,\n buffer: Uint8Array,\n offset: number,\n length: number,\n mmapFlags: any,\n ) {\n log?.(\n 'msync stream',\n EMFS.realPath(stream.node),\n offset,\n length,\n mmapFlags,\n )\n EMFS.stream_ops.write(stream, buffer, 0, length, offset)\n return 0\n },\n },\n } satisfies EmscriptenFileSystem\n return EMFS\n}\n","import { tar, untar, type TarFile, REGTYPE, DIRTYPE } from 'tinytar'\nimport type { FS } from '../postgresMod.js'\n\nexport type DumpTarCompressionOptions = 'none' | 'gzip' | 'auto'\n\nexport async function dumpTar(\n FS: FS,\n pgDataDir: string,\n dbname: string = 'pgdata',\n compression: DumpTarCompressionOptions = 'auto',\n): Promise<File | Blob> {\n const tarball = createTarball(FS, pgDataDir)\n const [compressed, zipped] = await maybeZip(tarball, compression)\n const filename = dbname + (zipped ? '.tar.gz' : '.tar')\n const type = zipped ? 'application/x-gzip' : 'application/x-tar'\n if (typeof File !== 'undefined') {\n return new File([compressed], filename, {\n type,\n })\n } else {\n return new Blob([compressed], {\n type,\n })\n }\n}\n\nconst compressedMimeTypes = [\n 'application/x-gtar',\n 'application/x-tar+gzip',\n 'application/x-gzip',\n 'application/gzip',\n]\n\nexport async function loadTar(\n FS: FS,\n file: File | Blob,\n pgDataDir: string,\n): Promise<void> {\n let tarball = new Uint8Array(await file.arrayBuffer())\n const filename =\n typeof File !== 'undefined' && file instanceof File ? file.name : undefined\n const compressed =\n compressedMimeTypes.includes(file.type) ||\n filename?.endsWith('.tgz') ||\n filename?.endsWith('.tar.gz')\n if (compressed) {\n tarball = await unzip(tarball)\n }\n\n let files\n try {\n files = untar(tarball)\n } catch (e) {\n if (e instanceof Error && e.message.includes('File is corrupted')) {\n // The file may be compressed, but had the wrong mime type, try unzipping it\n tarball = await unzip(tarball)\n files = untar(tarball)\n } else {\n throw e\n }\n }\n\n for (const file of files) {\n const filePath = pgDataDir + file.name\n\n // Ensure the directory structure exists\n const dirPath = filePath.split('/').slice(0, -1)\n for (let i = 1; i <= dirPath.length; i++) {\n const dir = dirPath.slice(0, i).join('/')\n if (!FS.analyzePath(dir).exists) {\n FS.mkdir(dir)\n }\n }\n\n // Write the file or directory\n if (file.type === REGTYPE) {\n FS.writeFile(filePath, file.data)\n FS.utime(\n filePath,\n dateToUnixTimestamp(file.modifyTime),\n dateToUnixTimestamp(file.modifyTime),\n )\n } else if (file.type === DIRTYPE) {\n FS.mkdir(filePath)\n }\n }\n}\n\nfunction readDirectory(FS: FS, path: string) {\n const files: TarFile[] = []\n\n const traverseDirectory = (currentPath: string) => {\n const entries = FS.readdir(currentPath)\n entries.forEach((entry) => {\n if (entry === '.' || entry === '..') {\n return\n }\n const fullPath = currentPath + '/' + entry\n const stats = FS.stat(fullPath)\n const data = FS.isFile(stats.mode)\n ? FS.readFile(fullPath, { encoding: 'binary' })\n : new Uint8Array(0)\n files.push({\n name: fullPath.substring(path.length), // remove the root path\n mode: stats.mode,\n size: stats.size,\n type: FS.isFile(stats.mode) ? REGTYPE : DIRTYPE,\n modifyTime: stats.mtime,\n data,\n })\n if (FS.isDir(stats.mode)) {\n traverseDirectory(fullPath)\n }\n })\n }\n\n traverseDirectory(path)\n return files\n}\n\nexport function createTarball(FS: FS, directoryPath: string) {\n const files = readDirectory(FS, directoryPath)\n const tarball = tar(files)\n return tarball\n}\n\nexport async function maybeZip(\n file: Uint8Array,\n compression: DumpTarCompressionOptions = 'auto',\n): Promise<[Uint8Array, boolean]> {\n if (compression === 'none') {\n return [file, false]\n } else if (typeof CompressionStream !== 'undefined') {\n return [await zipBrowser(file), true]\n } else if (\n typeof process !== 'undefined' &&\n process.versions &&\n process.versions.node\n ) {\n return [await zipNode(file), true]\n } else if (compression === 'auto') {\n return [file, false]\n } else {\n throw new Error('Compression not supported in this environment')\n }\n}\n\nexport async function zipBrowser(file: Uint8Array): Promise<Uint8Array> {\n const cs = new CompressionStream('gzip')\n const writer = cs.writable.getWriter()\n const reader = cs.readable.getReader()\n\n writer.write(file)\n writer.close()\n\n const chunks: Uint8Array[] = []\n\n while (true) {\n const { value, done } = await reader.read()\n if (done) break\n if (value) chunks.push(value)\n }\n\n const compressed = new Uint8Array(\n chunks.reduce((acc, chunk) => acc + chunk.length, 0),\n )\n let offset = 0\n chunks.forEach((chunk) => {\n compressed.set(chunk, offset)\n offset += chunk.length\n })\n\n return compressed\n}\n\nexport async function zipNode(file: Uint8Array): Promise<Uint8Array> {\n const { promisify } = await import('util')\n const { gzip } = await import('zlib')\n const gzipPromise = promisify(gzip)\n return await gzipPromise(file)\n}\n\nexport async function unzip(file: Uint8Array): Promise<Uint8Array> {\n if (typeof CompressionStream !== 'undefined') {\n return await unzipBrowser(file)\n } else if (\n typeof process !== 'undefined' &&\n process.versions &&\n process.versions.node\n ) {\n return await unzipNode(file)\n } else {\n throw new Error('Unsupported environment for decompression')\n }\n}\n\nexport async function unzipBrowser(file: Uint8Array): Promise<Uint8Array> {\n const ds = new DecompressionStream('gzip')\n const writer = ds.writable.getWriter()\n const reader = ds.readable.getReader()\n\n writer.write(file)\n writer.close()\n\n const chunks: Uint8Array[] = []\n\n while (true) {\n const { value, done } = await reader.read()\n if (done) break\n if (value) chunks.push(value)\n }\n\n const decompressed = new Uint8Array(\n chunks.reduce((acc, chunk) => acc + chunk.length, 0),\n )\n let offset = 0\n chunks.forEach((chunk) => {\n decompressed.set(chunk, offset)\n offset += chunk.length\n })\n\n return decompressed\n}\n\nexport async function unzipNode(file: Uint8Array): Promise<Uint8Array> {\n const { promisify } = await import('util')\n const { gunzip } = await import('zlib')\n const gunzipPromise = promisify(gunzip)\n return await gunzipPromise(file)\n}\n\nfunction dateToUnixTimestamp(date: Date | number | undefined): number {\n if (!date) {\n return Math.floor(Date.now() / 1000)\n } else {\n return typeof date === 'number' ? date : Math.floor(date.getTime() / 1000)\n }\n}\n"],"mappings":"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","names":["init_cjs_shims","__esmMin","require_utils","__commonJSMin","exports","module","init_cjs_shims","MAX_SAFE_INTEGER","undefined","isUndefined","value","isString","isDateTime","isObject","isFunction","isLength","isArray","isArrayLike","isArrayBuffer","map","array","iteratee","find","result","item","index","found","extend","target","toUint8Array","i","length","require_constants","__commonJSMin","exports","module","init_cjs_shims","NULL_CHAR","require_types","__commonJSMin","exports","module","init_cjs_shims","utils","constants","recordSize","defaultFileMode","defaultUid","defaultGid","posixHeader","file","field","formatTarString","buffer","offset","parseTarString","mode","formatTarNumber","result","parseTarNumber","formatTarDateTime","parseTarDateTime","fixUstarMagic","effectiveHeaderSize","header","last","value","chars","length","defaultValue","bytes","returnUnprocessed","index","calculateChecksum","skipChecksum","from","to","skipFrom","skipTo","whitespace","i","byte","require_tar","__commonJSMin","exports","module","init_cjs_shims","constants","utils","types","headerSize","file","dataSize","allocateBuffer","files","totalSize","writeHeader","buffer","offset","currentOffset","field","value","length","i","checksum","writeData","tar","require_untar","__commonJSMin","exports","module","init_cjs_shims","constants","utils","types","defaultOptions","excludeFields","messages","headerSize","header","dataSize","size","isEndOfFile","buffer","offset","from","to","readHeader","options","result","currentOffset","field","error","checksum","readData","createFile","data","name","untar","require_tinytar","__commonJSMin","exports","module","init_cjs_shims","utils","constants","tar","untar","nodefs_exports","__export","NodeFS","__toCommonJS","init_cjs_shims","fs","path","init_cjs_shims","init_cjs_shims","import_tinytar","dumpTar","FS","pgDataDir","dbname","compression","tarball","createTarball","compressed","zipped","maybeZip","filename","type","readDirectory","FS","path","files","traverseDirectory","currentPath","entry","fullPath","stats","data","createTarball","directoryPath","maybeZip","file","compression","zipBrowser","zipNode","cs","writer","reader","chunks","value","done","compressed","acc","chunk","offset","promisify","gzip","WASM_PREFIX","PGDATA","EmscriptenBuiltinFilesystem","dataDir","pg","emscriptenOptions","_relaxedDurability","dbname","compression","dumpTar","NodeFS","EmscriptenBuiltinFilesystem","dataDir","pg","opts","mod","nodefs","PGDATA"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { E as EmscriptenBuiltinFilesystem, b as PGlite, c as PostgresMod } from '../pglite-CntadC_p.cjs';
|
|
2
|
-
|
|
3
|
-
declare class NodeFS extends EmscriptenBuiltinFilesystem {
|
|
4
|
-
protected rootDir: string;
|
|
5
|
-
constructor(dataDir: string);
|
|
6
|
-
init(pg: PGlite, opts: Partial<PostgresMod>): Promise<{
|
|
7
|
-
emscriptenOpts: Partial<PostgresMod>;
|
|
8
|
-
}>;
|
|
9
|
-
closeFs(): Promise<void>;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export { NodeFS };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { E as EmscriptenBuiltinFilesystem, b as PGlite, c as PostgresMod } from '../pglite-CntadC_p.js';
|
|
2
|
-
|
|
3
|
-
declare class NodeFS extends EmscriptenBuiltinFilesystem {
|
|
4
|
-
protected rootDir: string;
|
|
5
|
-
constructor(dataDir: string);
|
|
6
|
-
init(pg: PGlite, opts: Partial<PostgresMod>): Promise<{
|
|
7
|
-
emscriptenOpts: Partial<PostgresMod>;
|
|
8
|
-
}>;
|
|
9
|
-
closeFs(): Promise<void>;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export { NodeFS };
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{d as i,e as p}from"../chunk-VBDAOXYI.js";import{j as n}from"../chunk-QY3QWFKW.js";n();import*as s from"fs";import*as o from"path";var m=class extends p{constructor(t){super(t),this.rootDir=o.resolve(t),s.existsSync(o.join(this.rootDir))||s.mkdirSync(this.rootDir)}async init(t,e){return this.pg=t,{emscriptenOpts:{...e,preRun:[...e.preRun||[],r=>{let c=r.FS.filesystems.NODEFS;r.FS.mkdir(i),r.FS.mount(c,{root:this.rootDir},i)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{m as NodeFS};
|
|
2
|
-
//# sourceMappingURL=nodefs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fs/nodefs.ts"],"sourcesContent":["import * as fs from 'fs'\nimport * as path from 'path'\nimport { EmscriptenBuiltinFilesystem, PGDATA } from './base.js'\nimport type { PostgresMod } from '../postgresMod.js'\nimport { PGlite } from '../pglite.js'\n\nexport class NodeFS extends EmscriptenBuiltinFilesystem {\n protected rootDir: string\n\n constructor(dataDir: string) {\n super(dataDir)\n this.rootDir = path.resolve(dataDir)\n if (!fs.existsSync(path.join(this.rootDir))) {\n fs.mkdirSync(this.rootDir)\n }\n }\n\n async init(pg: PGlite, opts: Partial<PostgresMod>) {\n this.pg = pg\n const options: Partial<PostgresMod> = {\n ...opts,\n preRun: [\n ...(opts.preRun || []),\n (mod: any) => {\n const nodefs = mod.FS.filesystems.NODEFS\n mod.FS.mkdir(PGDATA)\n mod.FS.mount(nodefs, { root: this.rootDir }, PGDATA)\n },\n ],\n }\n return { emscriptenOpts: options }\n }\n\n async closeFs(): Promise<void> {\n this.pg!.Module.FS.quit()\n }\n}\n"],"mappings":"yFAAAA,IAAA,UAAYC,MAAQ,KACpB,UAAYC,MAAU,OAKf,IAAMC,EAAN,cAAqBC,CAA4B,CAGtD,YAAYC,EAAiB,CAC3B,MAAMA,CAAO,EACb,KAAK,QAAe,UAAQA,CAAO,EAC3B,aAAgB,OAAK,KAAK,OAAO,CAAC,GACrC,YAAU,KAAK,OAAO,CAE7B,CAEA,MAAM,KAAKC,EAAYC,EAA4B,CACjD,YAAK,GAAKD,EAYH,CAAE,eAX6B,CACpC,GAAGC,EACH,OAAQ,CACN,GAAIA,EAAK,QAAU,CAAC,EACnBC,GAAa,CACZ,IAAMC,EAASD,EAAI,GAAG,YAAY,OAClCA,EAAI,GAAG,MAAME,CAAM,EACnBF,EAAI,GAAG,MAAMC,EAAQ,CAAE,KAAM,KAAK,OAAQ,EAAGC,CAAM,CACrD,CACF,CACF,CACiC,CACnC,CAEA,MAAM,SAAyB,CAC7B,KAAK,GAAI,OAAO,GAAG,KAAK,CAC1B,CACF","names":["init_esm_shims","fs","path","NodeFS","EmscriptenBuiltinFilesystem","dataDir","pg","opts","mod","nodefs","PGDATA"]}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
"use strict";var Ge=Object.create;var $=Object.defineProperty;var Be=Object.getOwnPropertyDescriptor;var We=Object.getOwnPropertyNames;var qe=Object.getPrototypeOf,Ye=Object.prototype.hasOwnProperty;var Se=e=>{throw TypeError(e)};var Xe=(e,t)=>()=>(e&&(t=e(e=0)),t);var H=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Je=(e,t)=>{for(var r in t)$(e,r,{get:t[r],enumerable:!0})},we=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of We(t))!Ye.call(e,o)&&o!==r&&$(e,o,{get:()=>t[o],enumerable:!(n=Be(t,o))||n.enumerable});return e};var ie=(e,t,r)=>(r=e!=null?Ge(qe(e)):{},we(t||!e||!e.__esModule?$(r,"default",{value:e,enumerable:!0}):r,e)),Ke=e=>we($({},"__esModule",{value:!0}),e);var oe=(e,t,r)=>t.has(e)||Se("Cannot "+r);var d=(e,t,r)=>(oe(e,t,"read from private field"),r?r.call(e):t.get(e)),N=(e,t,r)=>t.has(e)?Se("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),z=(e,t,r,n)=>(oe(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),p=(e,t,r)=>(oe(e,t,"access private method"),r);var se=(e,t,r,n)=>({set _(o){z(e,t,o,r)},get _(){return d(e,t,n)}});var y=Xe(()=>{"use strict"});var B=H((Ct,F)=>{"use strict";y();var be=9007199254740991,Fe=function(e){return e}();function $e(e){return e===Fe}function Pe(e){return typeof e=="string"||Object.prototype.toString.call(e)=="[object String]"}function Ve(e){return Object.prototype.toString.call(e)=="[object Date]"}function V(e){return e!==null&&typeof e=="object"}function Z(e){return typeof e=="function"}function Ze(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=be}function Qe(e){return Object.prototype.toString.call(e)=="[object Array]"}function Ne(e){return V(e)&&!Z(e)&&Ze(e.length)}function ae(e){return Object.prototype.toString.call(e)=="[object ArrayBuffer]"}function et(e,t){return Array.prototype.map.call(e,t)}function tt(e,t){var r=Fe;return Z(t)&&Array.prototype.every.call(e,function(n,o,i){var s=t(n,o,i);return s&&(r=n),!s}),r}function rt(e){return Object.assign.apply(null,arguments)}function Ee(e){var t,r,n;if(Pe(e)){for(r=e.length,n=new Uint8Array(r),t=0;t<r;t++)n[t]=e.charCodeAt(t)&255;return n}return ae(e)?new Uint8Array(e):V(e)&&ae(e.buffer)?new Uint8Array(e.buffer):Ne(e)?new Uint8Array(e):V(e)&&Z(e.toString)?Ee(e.toString()):new Uint8Array}F.exports.MAX_SAFE_INTEGER=be;F.exports.isUndefined=$e;F.exports.isString=Pe;F.exports.isObject=V;F.exports.isDateTime=Ve;F.exports.isFunction=Z;F.exports.isArray=Qe;F.exports.isArrayLike=Ne;F.exports.isArrayBuffer=ae;F.exports.map=et;F.exports.find=tt;F.exports.extend=rt;F.exports.toUint8Array=Ee});var W=H((Ht,Ae)=>{"use strict";y();var ce="\0";Ae.exports={NULL_CHAR:ce,TMAGIC:"ustar"+ce+"00",OLDGNU_MAGIC:"ustar "+ce,REGTYPE:0,LNKTYPE:1,SYMTYPE:2,CHRTYPE:3,BLKTYPE:4,DIRTYPE:5,FIFOTYPE:6,CONTTYPE:7,TSUID:parseInt("4000",8),TSGID:parseInt("2000",8),TSVTX:parseInt("1000",8),TUREAD:parseInt("0400",8),TUWRITE:parseInt("0200",8),TUEXEC:parseInt("0100",8),TGREAD:parseInt("0040",8),TGWRITE:parseInt("0020",8),TGEXEC:parseInt("0010",8),TOREAD:parseInt("0004",8),TOWRITE:parseInt("0002",8),TOEXEC:parseInt("0001",8),TPERMALL:parseInt("0777",8),TPERMMASK:parseInt("0777",8)}});var le=H((jt,P)=>{"use strict";y();var Te=B(),g=W(),nt=512,de=g.TPERMALL,ve=0,xe=0,ue=[["name",100,0,function(e,t){return q(e[t[0]],t[1])},function(e,t,r){return _(e.slice(t,t+r[1]))}],["mode",8,100,function(e,t){var r=e[t[0]]||de;return r=r&g.TPERMMASK,L(r,t[1],de)},function(e,t,r){var n=v(e.slice(t,t+r[1]));return n&=g.TPERMMASK,n}],["uid",8,108,function(e,t){return L(e[t[0]],t[1],ve)},function(e,t,r){return v(e.slice(t,t+r[1]))}],["gid",8,116,function(e,t){return L(e[t[0]],t[1],xe)},function(e,t,r){return v(e.slice(t,t+r[1]))}],["size",12,124,function(e,t){return L(e.data.length,t[1])},function(e,t,r){return v(e.slice(t,t+r[1]))}],["modifyTime",12,136,function(e,t){return Q(e[t[0]],t[1])},function(e,t,r){return ee(e.slice(t,t+r[1]))}],["checksum",8,148,function(e,t){return" "},function(e,t,r){return v(e.slice(t,t+r[1]))}],["type",1,156,function(e,t){return""+(parseInt(e[t[0]],10)||0)%8},function(e,t,r){return(parseInt(String.fromCharCode(e[t]),10)||0)%8}],["linkName",100,157,function(e,t){return""},function(e,t,r){return _(e.slice(t,t+r[1]))}],["ustar",8,257,function(e,t){return g.TMAGIC},function(e,t,r){return it(_(e.slice(t,t+r[1]),!0))},function(e,t){return e[t[0]]==g.TMAGIC||e[t[0]]==g.OLDGNU_MAGIC}],["owner",32,265,function(e,t){return q(e[t[0]],t[1])},function(e,t,r){return _(e.slice(t,t+r[1]))}],["group",32,297,function(e,t){return q(e[t[0]],t[1])},function(e,t,r){return _(e.slice(t,t+r[1]))}],["majorNumber",8,329,function(e,t){return""},function(e,t,r){return v(e.slice(t,t+r[1]))}],["minorNumber",8,337,function(e,t){return""},function(e,t,r){return v(e.slice(t,t+r[1]))}],["prefix",131,345,function(e,t){return q(e[t[0]],t[1])},function(e,t,r){return _(e.slice(t,t+r[1]))}],["accessTime",12,476,function(e,t){return Q(e[t[0]],t[1])},function(e,t,r){return ee(e.slice(t,t+r[1]))}],["createTime",12,488,function(e,t){return Q(e[t[0]],t[1])},function(e,t,r){return ee(e.slice(t,t+r[1]))}]],De=function(e){var t=e[e.length-1];return t[2]+t[1]}(ue);function it(e){if(e.length==8){var t=e.split("");if(t[5]==g.NULL_CHAR)return(t[6]==" "||t[6]==g.NULL_CHAR)&&(t[6]="0"),(t[7]==" "||t[7]==g.NULL_CHAR)&&(t[7]="0"),t=t.join(""),t==g.TMAGIC?t:e;if(t[7]==g.NULL_CHAR)return t[5]==g.NULL_CHAR&&(t[5]=" "),t[6]==g.NULL_CHAR&&(t[6]=" "),t==g.OLDGNU_MAGIC?t:e}return e}function q(e,t){return t-=1,Te.isUndefined(e)&&(e=""),e=(""+e).substr(0,t),e+g.NULL_CHAR}function L(e,t,r){for(r=parseInt(r)||0,t-=1,e=(parseInt(e)||r).toString(8).substr(-t,t);e.length<t;)e="0"+e;return e+g.NULL_CHAR}function Q(e,t){if(Te.isDateTime(e))e=Math.floor(1*e/1e3);else if(e=parseInt(e,10),isFinite(e)){if(e<=0)return""}else e=Math.floor(1*new Date/1e3);return L(e,t,0)}function _(e,t){var r=String.fromCharCode.apply(null,e);if(t)return r;var n=r.indexOf(g.NULL_CHAR);return n>=0?r.substr(0,n):r}function v(e){var t=String.fromCharCode.apply(null,e);return parseInt(t.replace(/^0+$/g,""),8)||0}function ee(e){return e.length==0||e[0]==0?null:new Date(1e3*v(e))}function ot(e,t,r){var n=parseInt(t,10)||0,o=Math.min(n+De,e.length),i=0,s=0,a=0;r&&ue.every(function(h){return h[0]=="checksum"?(s=n+h[2],a=s+h[1],!1):!0});for(var c=32,u=n;u<o;u++){var m=u>=s&&u<a?c:e[u];i=(i+m)%262144}return i}P.exports.recordSize=nt;P.exports.defaultFileMode=de;P.exports.defaultUid=ve;P.exports.defaultGid=xe;P.exports.posixHeader=ue;P.exports.effectiveHeaderSize=De;P.exports.calculateChecksum=ot;P.exports.formatTarString=q;P.exports.formatTarNumber=L;P.exports.formatTarDateTime=Q;P.exports.parseTarString=_;P.exports.parseTarNumber=v;P.exports.parseTarDateTime=ee});var Me=H((Bt,Ie)=>{"use strict";y();var st=W(),te=B(),k=le();function Oe(e){return k.recordSize}function ke(e){return Math.ceil(e.data.length/k.recordSize)*k.recordSize}function at(e){var t=0;return e.forEach(function(r){t+=Oe(r)+ke(r)}),t+=k.recordSize*2,new Uint8Array(t)}function ct(e,t,r){r=parseInt(r)||0;var n=r;k.posixHeader.forEach(function(c){for(var u=c[3](t,c),m=u.length,h=0;h<m;h+=1)e[n+h]=u.charCodeAt(h)&255;n+=c[1]});var o=te.find(k.posixHeader,function(c){return c[0]=="checksum"});if(o){var i=k.calculateChecksum(e,r,!0),s=k.formatTarNumber(i,o[1]-2)+st.NULL_CHAR+" ";n=r+o[2];for(var a=0;a<s.length;a+=1)e[n]=s.charCodeAt(a)&255,n++}return r+Oe(t)}function dt(e,t,r){return r=parseInt(r,10)||0,e.set(t.data,r),r+ke(t)}function ut(e){e=te.map(e,function(n){return te.extend({},n,{data:te.toUint8Array(n.data)})});var t=at(e),r=0;return e.forEach(function(n){r=ct(t,n,r),r=dt(t,n,r)}),t}Ie.exports.tar=ut});var ze=H((qt,Ue)=>{"use strict";y();var lt=W(),me=B(),E=le(),pt={extractData:!0,checkHeader:!0,checkChecksum:!0,checkFileSize:!0},mt={size:!0,checksum:!0,ustar:!0},pe={unexpectedEndOfFile:"Unexpected end of file.",fileCorrupted:"File is corrupted.",checksumCheckFailed:"Checksum check failed."};function ht(e){return E.recordSize}function ft(e){return Math.ceil(e/E.recordSize)*E.recordSize}function yt(e,t){for(var r=t,n=Math.min(e.length,t+E.recordSize*2),o=r;o<n;o++)if(e[o]!=0)return!1;return!0}function gt(e,t,r){if(e.length-t<E.recordSize){if(r.checkFileSize)throw new Error(pe.unexpectedEndOfFile);return null}t=parseInt(t)||0;var n={},o=t;if(E.posixHeader.forEach(function(a){n[a[0]]=a[4](e,o,a),o+=a[1]}),n.type!=0&&(n.size=0),r.checkHeader&&E.posixHeader.forEach(function(a){if(me.isFunction(a[5])&&!a[5](n,a)){var c=new Error(pe.fileCorrupted);throw c.data={offset:t+a[2],field:a[0]},c}}),r.checkChecksum){var i=E.calculateChecksum(e,t,!0);if(i!=n.checksum){var s=new Error(pe.checksumCheckFailed);throw s.data={offset:t,header:n,checksum:i},s}}return n}function St(e,t,r,n){return n.extractData?r.size<=0?new Uint8Array:e.slice(t,t+r.size):null}function wt(e,t){var r={};return E.posixHeader.forEach(function(n){var o=n[0];mt[o]||(r[o]=e[o])}),r.isOldGNUFormat=e.ustar==lt.OLDGNU_MAGIC,t&&(r.data=t),r}function bt(e,t){t=me.extend({},pt,t);for(var r=[],n=0,o=e.length;o-n>=E.recordSize;){e=me.toUint8Array(e);var i=gt(e,n,t);if(!i)break;n+=ht(i);var s=St(e,n,i,t);if(r.push(wt(i,s)),n+=ft(i.size),yt(e,n))break}return r}Ue.exports.untar=bt});var Ce=H((Xt,_e)=>{"use strict";y();var Ft=B(),Pt=W(),Nt=Me(),Et=ze();Ft.extend(_e.exports,Nt,Et,Pt)});var Ut={};Je(Ut,{OpfsAhpFS:()=>ye});module.exports=Ke(Ut);y();y();y();var C=ie(Ce(),1);async function Re(e,t,r="pgdata",n="auto"){let o=Tt(e,t),[i,s]=await vt(o,n),a=r+(s?".tar.gz":".tar"),c=s?"application/x-gzip":"application/x-tar";return typeof File<"u"?new File([i],a,{type:c}):new Blob([i],{type:c})}function At(e,t){let r=[],n=o=>{e.readdir(o).forEach(s=>{if(s==="."||s==="..")return;let a=o+"/"+s,c=e.stat(a),u=e.isFile(c.mode)?e.readFile(a,{encoding:"binary"}):new Uint8Array(0);r.push({name:a.substring(t.length),mode:c.mode,size:c.size,type:e.isFile(c.mode)?C.REGTYPE:C.DIRTYPE,modifyTime:c.mtime,data:u}),e.isDir(c.mode)&&n(a)})};return n(t),r}function Tt(e,t){let r=At(e,t);return(0,C.tar)(r)}async function vt(e,t="auto"){if(t==="none")return[e,!1];if(typeof CompressionStream<"u")return[await xt(e),!0];if(typeof process<"u"&&process.versions&&process.versions.node)return[await Dt(e),!0];if(t==="auto")return[e,!1];throw new Error("Compression not supported in this environment")}async function xt(e){let t=new CompressionStream("gzip"),r=t.writable.getWriter(),n=t.readable.getReader();r.write(e),r.close();let o=[];for(;;){let{value:a,done:c}=await n.read();if(c)break;a&&o.push(a)}let i=new Uint8Array(o.reduce((a,c)=>a+c.length,0)),s=0;return o.forEach(a=>{i.set(a,s),s+=a.length}),i}async function Dt(e){let{promisify:t}=await import("util"),{gzip:r}=await import("zlib");return await t(r)(e)}var Ot="/tmp/pglite",he=Ot+"/base";var re=class{constructor(t,{debug:r=!1}={}){this.dataDir=t,this.debug=r}async syncToFs(t){}async initialSyncFs(){}async closeFs(){}async dumpTar(t,r){return Re(this.pg.Module.FS,he,t,r)}async init(t,r){return this.pg=t,{emscriptenOpts:{...r,preRun:[...r.preRun||[],o=>{let i=kt(o,this);o.FS.mkdir(he),o.FS.mount(i,{},he)}]}}}},ne={EBADF:8,EBADFD:127,EEXIST:20,EINVAL:28,EISDIR:31,ENODEV:43,ENOENT:44,ENOTDIR:54,ENOTEMPTY:55},kt=(e,t)=>{let r=e.FS,n=t.debug?console.log:null,o={tryFSOperation(i){try{return i()}catch(s){throw s.code?s.code==="UNKNOWN"?new r.ErrnoError(ne.EINVAL):new r.ErrnoError(s.code):s}},mount(i){return o.createNode(null,"/",16895,0)},syncfs(i,s,a){},createNode(i,s,a,c){if(!r.isDir(a)&&!r.isFile(a))throw new r.ErrnoError(28);let u=r.createNode(i,s,a);return u.node_ops=o.node_ops,u.stream_ops=o.stream_ops,u},getMode:function(i){return n?.("getMode",i),o.tryFSOperation(()=>t.lstat(i).mode)},realPath:function(i){let s=[];for(;i.parent!==i;)s.push(i.name),i=i.parent;return s.push(i.mount.opts.root),s.reverse(),s.join("/")},node_ops:{getattr(i){n?.("getattr",o.realPath(i));let s=o.realPath(i);return o.tryFSOperation(()=>{let a=t.lstat(s);return{...a,dev:0,ino:i.id,nlink:1,rdev:i.rdev,atime:new Date(a.atime),mtime:new Date(a.mtime),ctime:new Date(a.ctime)}})},setattr(i,s){n?.("setattr",o.realPath(i),s);let a=o.realPath(i);o.tryFSOperation(()=>{s.mode!==void 0&&t.chmod(a,s.mode),s.size!==void 0&&t.truncate(a,s.size),s.timestamp!==void 0&&t.utimes(a,s.timestamp,s.timestamp),s.size!==void 0&&t.truncate(a,s.size)})},lookup(i,s){n?.("lookup",o.realPath(i),s);let a=[o.realPath(i),s].join("/"),c=o.getMode(a);return o.createNode(i,s,c)},mknod(i,s,a,c){n?.("mknod",o.realPath(i),s,a,c);let u=o.createNode(i,s,a,c),m=o.realPath(u);return o.tryFSOperation(()=>(r.isDir(u.mode)?t.mkdir(m,{mode:a}):t.writeFile(m,"",{mode:a}),u))},rename(i,s,a){n?.("rename",o.realPath(i),o.realPath(s),a);let c=o.realPath(i),u=[o.realPath(s),a].join("/");o.tryFSOperation(()=>{t.rename(c,u)}),i.name=a},unlink(i,s){n?.("unlink",o.realPath(i),s);let a=[o.realPath(i),s].join("/");try{t.unlink(a)}catch{}},rmdir(i,s){n?.("rmdir",o.realPath(i),s);let a=[o.realPath(i),s].join("/");return o.tryFSOperation(()=>{t.rmdir(a)})},readdir(i){n?.("readdir",o.realPath(i));let s=o.realPath(i);return o.tryFSOperation(()=>t.readdir(s))},symlink(i,s,a){throw n?.("symlink",o.realPath(i),s,a),new r.ErrnoError(63)},readlink(i){throw n?.("readlink",o.realPath(i)),new r.ErrnoError(63)}},stream_ops:{open(i){n?.("open stream",o.realPath(i.node));let s=o.realPath(i.node);return o.tryFSOperation(()=>{r.isFile(i.node.mode)&&(i.shared.refcount=1,i.nfd=t.open(s))})},close(i){return n?.("close stream",o.realPath(i.node)),o.tryFSOperation(()=>{r.isFile(i.node.mode)&&i.nfd&&--i.shared.refcount===0&&t.close(i.nfd)})},dup(i){n?.("dup stream",o.realPath(i.node)),i.shared.refcount++},read(i,s,a,c,u){return n?.("read stream",o.realPath(i.node),a,c,u),c===0?0:o.tryFSOperation(()=>t.read(i.nfd,s,a,c,u))},write(i,s,a,c,u){return n?.("write stream",o.realPath(i.node),a,c,u),o.tryFSOperation(()=>t.write(i.nfd,s.buffer,a,c,u))},llseek(i,s,a){n?.("llseek stream",o.realPath(i.node),s,a);let c=s;if(a===1?c+=i.position:a===2&&r.isFile(i.node.mode)&&o.tryFSOperation(()=>{let u=t.fstat(i.nfd);c+=u.size}),c<0)throw new r.ErrnoError(28);return c},mmap(i,s,a,c,u){if(n?.("mmap stream",o.realPath(i.node),s,a,c,u),!r.isFile(i.node.mode))throw new r.ErrnoError(ne.ENODEV);let m=e.mmapAlloc(s);return o.stream_ops.read(i,e.HEAP8,m,s,a),{ptr:m,allocated:!0}},msync(i,s,a,c,u){return n?.("msync stream",o.realPath(i.node),a,c,u),o.stream_ops.write(i,s,0,c,a),0}}};return o};var It="state.txt",Mt="data",fe={DIR:16384,FILE:32768},X,G,I,J,S,x,b,K,M,U,T,l,He,R,j,A,w,Y,Le,ge,ye=class extends re{constructor(r,{initialPoolSize:n=1e3,maintainedPoolSize:o=100,debug:i=!1}={}){super(r,{debug:i});N(this,l);N(this,X);N(this,G);N(this,I);N(this,J);N(this,S);N(this,x,new Map);N(this,b,new Map);N(this,K,0);N(this,M,new Map);N(this,U,new Map);this.lastCheckpoint=0;this.checkpointInterval=1e3*60;this.poolCounter=0;N(this,T,new Set);this.initialPoolSize=n,this.maintainedPoolSize=o}async init(r,n){return await p(this,l,He).call(this),super.init(r,n)}async syncToFs(r=!1){await this.maybeCheckpointState(),await this.maintainPool(),r||this.flush()}async closeFs(){for(let r of d(this,b).values())r.close();d(this,S).flush(),d(this,S).close(),this.pg.Module.FS.quit()}async maintainPool(r){r=r||this.maintainedPoolSize;let n=r-this.state.pool.length,o=[];for(let i=0;i<n;i++)o.push(new Promise(async s=>{++this.poolCounter;let a=`${(Date.now()-1704063600).toString(16).padStart(8,"0")}-${this.poolCounter.toString(16).padStart(8,"0")}`,c=await d(this,I).getFileHandle(a,{create:!0}),u=await c.createSyncAccessHandle();d(this,x).set(a,c),d(this,b).set(a,u),p(this,l,j).call(this,{opp:"createPoolFile",args:[a]}),this.state.pool.push(a),s()}));for(let i=0;i>n;i--)o.push(new Promise(async s=>{let a=this.state.pool.pop();p(this,l,j).call(this,{opp:"deletePoolFile",args:[a]});let c=d(this,x).get(a);d(this,b).get(a)?.close(),await d(this,I).removeEntry(c.name),d(this,x).delete(a),d(this,b).delete(a),s()}));await Promise.all(o)}_createPoolFileState(r){this.state.pool.push(r)}_deletePoolFileState(r){let n=this.state.pool.indexOf(r);n>-1&&this.state.pool.splice(n,1)}async maybeCheckpointState(){Date.now()-this.lastCheckpoint>this.checkpointInterval&&await this.checkpointState()}async checkpointState(){let r=new TextEncoder().encode(JSON.stringify(this.state));d(this,S).truncate(0),d(this,S).write(r,{at:0}),d(this,S).flush(),this.lastCheckpoint=Date.now()}flush(){for(let r of d(this,T))try{r.flush()}catch{}d(this,T).clear()}chmod(r,n){p(this,l,R).call(this,{opp:"chmod",args:[r,n]},()=>{this._chmodState(r,n)})}_chmodState(r,n){let o=p(this,l,w).call(this,r);o.mode=n}close(r){let n=p(this,l,Y).call(this,r);d(this,M).delete(r),d(this,U).delete(n)}fstat(r){let n=p(this,l,Y).call(this,r);return this.lstat(n)}lstat(r){let n=p(this,l,w).call(this,r),o=n.type==="file"?d(this,b).get(n.backingFilename).getSize():0,i=4096;return{dev:0,ino:0,mode:n.mode,nlink:1,uid:0,gid:0,rdev:0,size:o,blksize:i,blocks:Math.ceil(o/i),atime:n.lastModified,mtime:n.lastModified,ctime:n.lastModified}}mkdir(r,n){p(this,l,R).call(this,{opp:"mkdir",args:[r,n]},()=>{this._mkdirState(r,n)})}_mkdirState(r,n){let o=p(this,l,A).call(this,r),i=o.pop(),s=[],a=this.state.root;for(let u of o){if(s.push(r),!Object.prototype.hasOwnProperty.call(a.children,u))if(n?.recursive)this.mkdir(s.join("/"));else throw new f("ENOENT","No such file or directory");if(a.children[u].type!=="directory")throw new f("ENOTDIR","Not a directory");a=a.children[u]}if(Object.prototype.hasOwnProperty.call(a.children,i))throw new f("EEXIST","File exists");let c={type:"directory",lastModified:Date.now(),mode:n?.mode||fe.DIR,children:{}};a.children[i]=c}open(r,n,o){if(p(this,l,w).call(this,r).type!=="file")throw new f("EISDIR","Is a directory");let s=p(this,l,Le).call(this);return d(this,M).set(s,r),d(this,U).set(r,s),s}readdir(r){let n=p(this,l,w).call(this,r);if(n.type!=="directory")throw new f("ENOTDIR","Not a directory");return Object.keys(n.children)}read(r,n,o,i,s){let a=p(this,l,Y).call(this,r),c=p(this,l,w).call(this,a);if(c.type!=="file")throw new f("EISDIR","Is a directory");return d(this,b).get(c.backingFilename).read(new Uint8Array(n.buffer,o,i),{at:s})}rename(r,n){p(this,l,R).call(this,{opp:"rename",args:[r,n]},()=>{this._renameState(r,n,!0)})}_renameState(r,n,o=!1){let i=p(this,l,A).call(this,r),s=i.pop(),a=p(this,l,w).call(this,i.join("/"));if(!Object.prototype.hasOwnProperty.call(a.children,s))throw new f("ENOENT","No such file or directory");let c=p(this,l,A).call(this,n),u=c.pop(),m=p(this,l,w).call(this,c.join("/"));if(o&&Object.prototype.hasOwnProperty.call(m.children,u)){let h=m.children[u];d(this,b).get(h.backingFilename).truncate(0),this.state.pool.push(h.backingFilename)}m.children[u]=a.children[s],delete a.children[s]}rmdir(r){p(this,l,R).call(this,{opp:"rmdir",args:[r]},()=>{this._rmdirState(r)})}_rmdirState(r){let n=p(this,l,A).call(this,r),o=n.pop(),i=p(this,l,w).call(this,n.join("/"));if(!Object.prototype.hasOwnProperty.call(i.children,o))throw new f("ENOENT","No such file or directory");let s=i.children[o];if(s.type!=="directory")throw new f("ENOTDIR","Not a directory");if(Object.keys(s.children).length>0)throw new f("ENOTEMPTY","Directory not empty");delete i.children[o]}truncate(r,n=0){let o=p(this,l,w).call(this,r);if(o.type!=="file")throw new f("EISDIR","Is a directory");let i=d(this,b).get(o.backingFilename);if(!i)throw new f("ENOENT","No such file or directory");i.truncate(n),d(this,T).add(i)}unlink(r){p(this,l,R).call(this,{opp:"unlink",args:[r]},()=>{this._unlinkState(r,!0)})}_unlinkState(r,n=!1){let o=p(this,l,A).call(this,r),i=o.pop(),s=p(this,l,w).call(this,o.join("/"));if(!Object.prototype.hasOwnProperty.call(s.children,i))throw new f("ENOENT","No such file or directory");let a=s.children[i];if(a.type!=="file")throw new f("EISDIR","Is a directory");if(delete s.children[i],n){let c=d(this,b).get(a.backingFilename);c?.truncate(0),d(this,T).add(c),d(this,U).has(r)&&(d(this,M).delete(d(this,U).get(r)),d(this,U).delete(r))}this.state.pool.push(a.backingFilename)}utimes(r,n,o){p(this,l,R).call(this,{opp:"utimes",args:[r,n,o]},()=>{this._utimesState(r,n,o)})}_utimesState(r,n,o){let i=p(this,l,w).call(this,r);i.lastModified=o}writeFile(r,n,o){let i=p(this,l,A).call(this,r),s=i.pop(),a=p(this,l,w).call(this,i.join("/"));if(Object.prototype.hasOwnProperty.call(a.children,s)){let m=a.children[s];m.lastModified=Date.now(),p(this,l,j).call(this,{opp:"setLastModified",args:[r,m.lastModified]})}else{if(this.state.pool.length===0)throw new Error("No more file handles available in the pool");let m={type:"file",lastModified:Date.now(),mode:o?.mode||fe.FILE,backingFilename:this.state.pool.pop()};a.children[s]=m,p(this,l,j).call(this,{opp:"createFileNode",args:[r,m]})}let c=a.children[s],u=d(this,b).get(c.backingFilename);n.length>0&&(u.write(typeof n=="string"?new TextEncoder().encode(n):new Uint8Array(n),{at:0}),r.startsWith("/pg_wal")&&d(this,T).add(u))}_createFileNodeState(r,n){let o=p(this,l,A).call(this,r),i=o.pop(),s=p(this,l,w).call(this,o.join("/"));s.children[i]=n;let a=this.state.pool.indexOf(n.backingFilename);return a>-1&&this.state.pool.splice(a,1),n}_setLastModifiedState(r,n){let o=p(this,l,w).call(this,r);o.lastModified=n}write(r,n,o,i,s){let a=p(this,l,Y).call(this,r),c=p(this,l,w).call(this,a);if(c.type!=="file")throw new f("EISDIR","Is a directory");let u=d(this,b).get(c.backingFilename);if(!u)throw new f("EBADF","Bad file descriptor");let m=u.write(new Uint8Array(n,o,i),{at:s});return a.startsWith("/pg_wal")&&d(this,T).add(u),m}};X=new WeakMap,G=new WeakMap,I=new WeakMap,J=new WeakMap,S=new WeakMap,x=new WeakMap,b=new WeakMap,K=new WeakMap,M=new WeakMap,U=new WeakMap,T=new WeakMap,l=new WeakSet,He=async function(){z(this,X,await navigator.storage.getDirectory()),z(this,G,await p(this,l,ge).call(this,this.dataDir,{create:!0})),z(this,I,await p(this,l,ge).call(this,Mt,{from:d(this,G),create:!0})),z(this,J,await d(this,G).getFileHandle(It,{create:!0})),z(this,S,await d(this,J).createSyncAccessHandle());let r=new ArrayBuffer(d(this,S).getSize());d(this,S).read(r,{at:0});let n,o=new TextDecoder().decode(r).split(`
|
|
2
|
-
`),i=!1;try{n=JSON.parse(o[0])}catch{n={root:{type:"directory",lastModified:Date.now(),mode:fe.DIR,children:{}},pool:[]},d(this,S).truncate(0),d(this,S).write(new TextEncoder().encode(JSON.stringify(n)),{at:0}),i=!0}this.state=n;let s=o.slice(1).filter(Boolean).map(m=>JSON.parse(m));for(let m of s){let h=`_${m.opp}State`;if(typeof this[h]=="function")try{this[h].bind(this)(...m.args)}catch(D){console.warn("Error applying OPFS AHP WAL entry",m,D)}}let a=[],c=async m=>{if(m.type==="file")try{let h=await d(this,I).getFileHandle(m.backingFilename),D=await h.createSyncAccessHandle();d(this,x).set(m.backingFilename,h),d(this,b).set(m.backingFilename,D)}catch(h){console.error("Error opening file handle for node",m,h)}else for(let h of Object.values(m.children))a.push(c(h))};await c(this.state.root);let u=[];for(let m of this.state.pool)u.push(new Promise(async h=>{d(this,x).has(m)&&console.warn("File handle already exists for pool file",m);let D=await d(this,I).getFileHandle(m),je=await D.createSyncAccessHandle();d(this,x).set(m,D),d(this,b).set(m,je),h()}));await Promise.all([...a,...u]),await this.maintainPool(i?this.initialPoolSize:this.maintainedPoolSize)},R=function(r,n){let o=p(this,l,j).call(this,r);try{n()}catch(i){throw d(this,S).truncate(o),i}},j=function(r){let n=JSON.stringify(r),o=new TextEncoder().encode(`
|
|
3
|
-
${n}`),i=d(this,S).getSize();return d(this,S).write(o,{at:i}),d(this,T).add(d(this,S)),i},A=function(r){return r.split("/").filter(Boolean)},w=function(r,n){let o=p(this,l,A).call(this,r),i=n||this.state.root;for(let s of o){if(i.type!=="directory")throw new f("ENOTDIR","Not a directory");if(!Object.prototype.hasOwnProperty.call(i.children,s))throw new f("ENOENT","No such file or directory");i=i.children[s]}return i},Y=function(r){let n=d(this,M).get(r);if(!n)throw new f("EBADF","Bad file descriptor");return n},Le=function(){let r=++se(this,K)._;for(;d(this,M).has(r);)se(this,K)._++;return r},ge=async function(r,n){let o=p(this,l,A).call(this,r),i=n?.from||d(this,X);for(let s of o)i=await i.getDirectoryHandle(s,{create:n?.create});return i};var f=class extends Error{constructor(t,r){super(r),typeof t=="number"?this.code=t:typeof t=="string"&&(this.code=ne[t])}};0&&(module.exports={OpfsAhpFS});
|
|
4
|
-
//# sourceMappingURL=opfs-ahp.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/.pnpm/tsup@8.3.0_@microsoft+api-extractor@7.47.7_@types+node@20.16.11__postcss@8.4.47_tsx@4.19.2_typescript@5.6.3/node_modules/tsup/assets/cjs_shims.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/utils.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/constants.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/types.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/tar.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/untar.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/index.js","../../src/fs/opfs-ahp.ts","../../src/fs/base.ts","../../src/fs/tarUtils.ts"],"sourcesContent":["// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () =>\n typeof document === 'undefined'\n ? new URL(`file:${__filename}`).href\n : (document.currentScript && document.currentScript.src) ||\n new URL('main.js', document.baseURI).href\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","'use strict';\n\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\nvar undefined = (function(undefined) {\n return undefined;\n})();\n\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nfunction isString(value) {\n return (typeof value == 'string') ||\n (Object.prototype.toString.call(value) == '[object String]');\n}\n\nfunction isDateTime(value) {\n return (Object.prototype.toString.call(value) == '[object Date]');\n}\n\nfunction isObject(value) {\n return (value !== null) && (typeof value == 'object');\n}\n\nfunction isFunction(value) {\n return typeof value == 'function';\n}\n\nfunction isLength(value) {\n return (typeof value == 'number') &&\n (value > -1) && (value % 1 == 0) &&\n (value <= MAX_SAFE_INTEGER);\n}\n\nfunction isArray(value) {\n return Object.prototype.toString.call(value) == '[object Array]';\n}\n\nfunction isArrayLike(value) {\n return isObject(value) && !isFunction(value) && isLength(value.length);\n}\n\nfunction isArrayBuffer(value) {\n return Object.prototype.toString.call(value) == '[object ArrayBuffer]';\n}\n\nfunction map(array, iteratee) {\n return Array.prototype.map.call(array, iteratee);\n}\n\nfunction find(array, iteratee) {\n var result = undefined;\n\n if (isFunction(iteratee)) {\n Array.prototype.every.call(array, function(item, index, array) {\n var found = iteratee(item, index, array);\n if (found) {\n result = item;\n }\n return !found; // continue if not found\n });\n }\n\n return result;\n}\n\nfunction extend(target /* ...sources */) {\n return Object.assign.apply(null, arguments);\n}\n\nfunction toUint8Array(value) {\n var i;\n var length;\n var result;\n\n if (isString(value)) {\n length = value.length;\n result = new Uint8Array(length);\n for (i = 0; i < length; i++) {\n result[i] = value.charCodeAt(i) & 0xFF;\n }\n return result;\n }\n\n if (isArrayBuffer(value)) {\n return new Uint8Array(value);\n }\n\n if (isObject(value) && isArrayBuffer(value.buffer)) {\n return new Uint8Array(value.buffer);\n }\n\n if (isArrayLike(value)) {\n return new Uint8Array(value);\n }\n\n if (isObject(value) && isFunction(value.toString)) {\n return toUint8Array(value.toString());\n }\n\n return new Uint8Array();\n}\n\nmodule.exports.MAX_SAFE_INTEGER = MAX_SAFE_INTEGER;\n\nmodule.exports.isUndefined = isUndefined;\nmodule.exports.isString = isString;\nmodule.exports.isObject = isObject;\nmodule.exports.isDateTime = isDateTime;\nmodule.exports.isFunction = isFunction;\nmodule.exports.isArray = isArray;\nmodule.exports.isArrayLike = isArrayLike;\nmodule.exports.isArrayBuffer = isArrayBuffer;\nmodule.exports.map = map;\nmodule.exports.find = find;\nmodule.exports.extend = extend;\nmodule.exports.toUint8Array = toUint8Array;\n","'use strict';\n\nvar NULL_CHAR = '\\u0000';\n\nmodule.exports = {\n /* eslint-disable key-spacing */\n\n NULL_CHAR: NULL_CHAR,\n\n TMAGIC: 'ustar' + NULL_CHAR + '00', // 'ustar', NULL, '00'\n OLDGNU_MAGIC: 'ustar ' + NULL_CHAR, // 'ustar ', NULL\n\n // Values used in typeflag field.\n REGTYPE: 0, // regular file\n LNKTYPE: 1, // link\n SYMTYPE: 2, // reserved\n CHRTYPE: 3, // character special\n BLKTYPE: 4, // block special\n DIRTYPE: 5, // directory\n FIFOTYPE: 6, // FIFO special\n CONTTYPE: 7, // reserved\n\n // Bits used in the mode field, values in octal.\n TSUID: parseInt('4000', 8), // set UID on execution\n TSGID: parseInt('2000', 8), // set GID on execution\n TSVTX: parseInt('1000', 8), // reserved\n\n // file permissions\n TUREAD: parseInt('0400', 8), // read by owner\n TUWRITE: parseInt('0200', 8), // write by owner\n TUEXEC: parseInt('0100', 8), // execute/search by owner\n TGREAD: parseInt('0040', 8), // read by group\n TGWRITE: parseInt('0020', 8), // write by group\n TGEXEC: parseInt('0010', 8), // execute/search by group\n TOREAD: parseInt('0004', 8), // read by other\n TOWRITE: parseInt('0002', 8), // write by other\n TOEXEC: parseInt('0001', 8), // execute/search by other\n\n TPERMALL: parseInt('0777', 8), // rwxrwxrwx\n TPERMMASK: parseInt('0777', 8) // permissions bitmask\n\n /* eslint-enable key-spacing */\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar constants = require('./constants');\n\nvar recordSize = 512;\nvar defaultFileMode = constants.TPERMALL; // rwxrwxrwx\nvar defaultUid = 0; // root\nvar defaultGid = 0; // root\n\n/*\n struct posix_header { // byte offset\n char name[100]; // 0\n char mode[8]; // 100\n char uid[8]; // 108\n char gid[8]; // 116\n char size[12]; // 124\n char mtime[12]; // 136\n char chksum[8]; // 148\n char typeflag; // 156\n char linkname[100]; // 157\n char magic[6]; // 257\n char version[2]; // 263\n char uname[32]; // 265\n char gname[32]; // 297\n char devmajor[8]; // 329\n char devminor[8]; // 337\n char prefix[131]; // 345\n char atime[12]; // 476\n char ctime[12]; // 488\n };\n */\n\nvar posixHeader = [\n // <field name>, <size>, <offset>, <used>, <format>, <parse>, [ <check> ]\n ['name', 100, 0, function(file, field) {\n return formatTarString(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarString(buffer.slice(offset, offset + field[1]));\n }],\n ['mode', 8, 100, function(file, field) {\n var mode = file[field[0]] || defaultFileMode;\n mode = mode & constants.TPERMMASK;\n return formatTarNumber(mode, field[1], defaultFileMode);\n }, function(buffer, offset, field) {\n var result = parseTarNumber(buffer.slice(offset, offset + field[1]));\n result &= constants.TPERMMASK;\n return result;\n }],\n ['uid', 8, 108, function(file, field) {\n return formatTarNumber(file[field[0]], field[1], defaultUid);\n }, function(buffer, offset, field) {\n return parseTarNumber(buffer.slice(offset, offset + field[1]));\n }],\n ['gid', 8, 116, function(file, field) {\n return formatTarNumber(file[field[0]], field[1], defaultGid);\n }, function(buffer, offset, field) {\n return parseTarNumber(buffer.slice(offset, offset + field[1]));\n }],\n ['size', 12, 124, function(file, field) {\n return formatTarNumber(file.data.length, field[1]);\n }, function(buffer, offset, field) {\n return parseTarNumber(buffer.slice(offset, offset + field[1]));\n }],\n ['modifyTime', 12, 136, function(file, field) {\n return formatTarDateTime(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarDateTime(buffer.slice(offset, offset + field[1]));\n }],\n ['checksum', 8, 148, function(file, field) {\n return ' '; // placeholder\n }, function(buffer, offset, field) {\n return parseTarNumber(buffer.slice(offset, offset + field[1]));\n }],\n ['type', 1, 156, function(file, field) {\n // get last octal digit; 0 - regular file\n return '' + ((parseInt(file[field[0]], 10) || 0) % 8);\n }, function(buffer, offset, field) {\n return (parseInt(String.fromCharCode(buffer[offset]), 10) || 0) % 8;\n }],\n ['linkName', 100, 157, function(file, field) {\n return ''; // only regular files are supported\n }, function(buffer, offset, field) {\n return parseTarString(buffer.slice(offset, offset + field[1]));\n }],\n ['ustar', 8, 257, function(file, field) {\n return constants.TMAGIC; // magic + version\n }, function(buffer, offset, field) {\n return fixUstarMagic(\n parseTarString(buffer.slice(offset, offset + field[1]), true)\n );\n }, function(file, field) {\n return (file[field[0]] == constants.TMAGIC) ||\n (file[field[0]] == constants.OLDGNU_MAGIC);\n }],\n ['owner', 32, 265, function(file, field) {\n return formatTarString(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarString(buffer.slice(offset, offset + field[1]));\n }],\n ['group', 32, 297, function(file, field) {\n return formatTarString(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarString(buffer.slice(offset, offset + field[1]));\n }],\n ['majorNumber', 8, 329, function(file, field) {\n return ''; // only regular files are supported\n }, function(buffer, offset, field) {\n return parseTarNumber(buffer.slice(offset, offset + field[1]));\n }],\n ['minorNumber', 8, 337, function(file, field) {\n return ''; // only regular files are supported\n }, function(buffer, offset, field) {\n return parseTarNumber(buffer.slice(offset, offset + field[1]));\n }],\n ['prefix', 131, 345, function(file, field) {\n return formatTarString(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarString(buffer.slice(offset, offset + field[1]));\n }],\n ['accessTime', 12, 476, function(file, field) {\n return formatTarDateTime(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarDateTime(buffer.slice(offset, offset + field[1]));\n }],\n ['createTime', 12, 488, function(file, field) {\n return formatTarDateTime(file[field[0]], field[1]);\n }, function(buffer, offset, field) {\n return parseTarDateTime(buffer.slice(offset, offset + field[1]));\n }]\n];\n\nvar effectiveHeaderSize = (function(header) {\n var last = header[header.length - 1];\n return last[2] + last[1]; // offset + size\n})(posixHeader);\n\nfunction fixUstarMagic(value) {\n if (value.length == 8) {\n var chars = value.split('');\n\n if (chars[5] == constants.NULL_CHAR) {\n // TMAGIC ?\n if ((chars[6] == ' ') || (chars[6] == constants.NULL_CHAR)) {\n chars[6] = '0';\n }\n if ((chars[7] == ' ') || (chars[7] == constants.NULL_CHAR)) {\n chars[7] = '0';\n }\n chars = chars.join('');\n return chars == constants.TMAGIC ? chars : value;\n } else if (chars[7] == constants.NULL_CHAR) {\n // OLDGNU_MAGIC ?\n if (chars[5] == constants.NULL_CHAR) {\n chars[5] = ' ';\n }\n if (chars[6] == constants.NULL_CHAR) {\n chars[6] = ' ';\n }\n return chars == constants.OLDGNU_MAGIC ? chars : value;\n }\n }\n return value;\n}\n\nfunction formatTarString(value, length) {\n length -= 1; // preserve space for trailing null-char\n if (utils.isUndefined(value)) {\n value = '';\n }\n value = ('' + value).substr(0, length);\n return value + constants.NULL_CHAR;\n}\n\nfunction formatTarNumber(value, length, defaultValue) {\n defaultValue = parseInt(defaultValue) || 0;\n length -= 1; // preserve space for trailing null-char\n value = (parseInt(value) || defaultValue)\n .toString(8).substr(-length, length);\n while (value.length < length) {\n value = '0' + value;\n }\n return value + constants.NULL_CHAR;\n}\n\nfunction formatTarDateTime(value, length) {\n if (utils.isDateTime(value)) {\n value = Math.floor(1 * value / 1000);\n } else {\n value = parseInt(value, 10);\n if (isFinite(value)) {\n if (value <= 0) {\n return '';\n }\n } else {\n value = Math.floor(1 * new Date() / 1000);\n }\n }\n return formatTarNumber(value, length, 0);\n}\n\nfunction parseTarString(bytes, returnUnprocessed) {\n var result = String.fromCharCode.apply(null, bytes);\n if (returnUnprocessed) {\n return result;\n }\n var index = result.indexOf(constants.NULL_CHAR);\n return index >= 0 ? result.substr(0, index) : result;\n}\n\nfunction parseTarNumber(bytes) {\n var result = String.fromCharCode.apply(null, bytes);\n return parseInt(result.replace(/^0+$/g, ''), 8) || 0;\n}\n\nfunction parseTarDateTime(bytes) {\n if ((bytes.length == 0) || (bytes[0] == 0)) {\n return null;\n }\n return new Date(1000 * parseTarNumber(bytes));\n}\n\nfunction calculateChecksum(buffer, offset, skipChecksum) {\n var from = parseInt(offset, 10) || 0;\n var to = Math.min(from + effectiveHeaderSize, buffer.length);\n var result = 0;\n\n // When calculating checksum, `checksum` field should be\n // threat as filled with space char (byte 32)\n var skipFrom = 0;\n var skipTo = 0;\n if (skipChecksum) {\n posixHeader.every(function(field) {\n if (field[0] == 'checksum') {\n skipFrom = from + field[2];\n skipTo = skipFrom + field[1];\n return false;\n }\n return true;\n });\n }\n\n var whitespace = ' '.charCodeAt(0);\n for (var i = from; i < to; i++) {\n // 262144 = 8^6 - 6 octal digits - maximum possible value for checksum;\n // wrap to avoid numeric overflow\n var byte = (i >= skipFrom) && (i < skipTo) ? whitespace : buffer[i];\n result = (result + byte) % 262144;\n }\n return result;\n}\n\nmodule.exports.recordSize = recordSize;\nmodule.exports.defaultFileMode = defaultFileMode;\nmodule.exports.defaultUid = defaultUid;\nmodule.exports.defaultGid = defaultGid;\nmodule.exports.posixHeader = posixHeader;\nmodule.exports.effectiveHeaderSize = effectiveHeaderSize;\n\nmodule.exports.calculateChecksum = calculateChecksum;\nmodule.exports.formatTarString = formatTarString;\nmodule.exports.formatTarNumber = formatTarNumber;\nmodule.exports.formatTarDateTime = formatTarDateTime;\nmodule.exports.parseTarString = parseTarString;\nmodule.exports.parseTarNumber = parseTarNumber;\nmodule.exports.parseTarDateTime = parseTarDateTime;\n\n","'use strict';\n\nvar constants = require('./constants');\nvar utils = require('./utils');\nvar types = require('./types');\n\nfunction headerSize(file) {\n // header has fixed size\n return types.recordSize;\n}\n\nfunction dataSize(file) {\n // align to record boundary\n return Math.ceil(file.data.length / types.recordSize) * types.recordSize;\n}\n\nfunction allocateBuffer(files) {\n var totalSize = 0;\n\n // Calculate space that will be used by each file\n files.forEach(function(file) {\n totalSize += headerSize(file) + dataSize(file);\n });\n\n // TAR must end with two empty records\n totalSize += types.recordSize * 2;\n\n // Array SHOULD be initialized with zeros:\n // from TypedArray constructor docs:\n // > When creating a TypedArray instance (i.e. instance of Int8Array\n // > or similar), an array buffer is created internally\n // from ArrayBuffer constructor docs:\n // > A new ArrayBuffer object of the specified size.\n // > Its contents are initialized to 0.\n return new Uint8Array(totalSize);\n}\n\nfunction writeHeader(buffer, file, offset) {\n offset = parseInt(offset) || 0;\n\n var currentOffset = offset;\n types.posixHeader.forEach(function(field) {\n var value = field[3](file, field);\n var length = value.length;\n for (var i = 0; i < length; i += 1) {\n buffer[currentOffset + i] = value.charCodeAt(i) & 0xFF;\n }\n currentOffset += field[1]; // move to the next field\n });\n\n var field = utils.find(types.posixHeader, function(field) {\n return field[0] == 'checksum';\n });\n\n if (field) {\n // Patch checksum field\n var checksum = types.calculateChecksum(buffer, offset, true);\n var value = types.formatTarNumber(checksum, field[1] - 2) +\n constants.NULL_CHAR + ' ';\n currentOffset = offset + field[2];\n for (var i = 0; i < value.length; i += 1) {\n // put bytes\n buffer[currentOffset] = value.charCodeAt(i) & 0xFF;\n currentOffset++;\n }\n }\n\n return offset + headerSize(file);\n}\n\nfunction writeData(buffer, file, offset) {\n offset = parseInt(offset, 10) || 0;\n buffer.set(file.data, offset);\n return offset + dataSize(file);\n}\n\nfunction tar(files) {\n files = utils.map(files, function(file) {\n return utils.extend({}, file, {\n data: utils.toUint8Array(file.data)\n });\n });\n\n var buffer = allocateBuffer(files);\n\n var offset = 0;\n files.forEach(function(file) {\n offset = writeHeader(buffer, file, offset);\n offset = writeData(buffer, file, offset);\n });\n\n return buffer;\n}\n\nmodule.exports.tar = tar;\n","'use strict';\n\nvar constants = require('./constants');\nvar utils = require('./utils');\nvar types = require('./types');\n\nvar defaultOptions = {\n extractData: true,\n checkHeader: true,\n checkChecksum: true,\n checkFileSize: true\n};\n\nvar excludeFields = {\n size: true,\n checksum: true,\n ustar: true\n};\n\nvar messages = {\n unexpectedEndOfFile: 'Unexpected end of file.',\n fileCorrupted: 'File is corrupted.',\n checksumCheckFailed: 'Checksum check failed.'\n};\n\nfunction headerSize(header) {\n // header has fixed size\n return types.recordSize;\n}\n\nfunction dataSize(size) {\n // align to record boundary\n return Math.ceil(size / types.recordSize) * types.recordSize;\n}\n\nfunction isEndOfFile(buffer, offset) {\n var from = offset;\n var to = Math.min(buffer.length, offset + types.recordSize * 2);\n for (var i = from; i < to; i++) {\n if (buffer[i] != 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction readHeader(buffer, offset, options) {\n if (buffer.length - offset < types.recordSize) {\n if (options.checkFileSize) {\n throw new Error(messages.unexpectedEndOfFile);\n }\n return null;\n }\n\n offset = parseInt(offset) || 0;\n\n var result = {};\n var currentOffset = offset;\n types.posixHeader.forEach(function(field) {\n result[field[0]] = field[4](buffer, currentOffset, field);\n currentOffset += field[1];\n });\n\n if (result.type != 0) { // only regular files can have data\n result.size = 0;\n }\n\n if (options.checkHeader) {\n types.posixHeader.forEach(function(field) {\n if (utils.isFunction(field[5]) && !field[5](result, field)) {\n var error = new Error(messages.fileCorrupted);\n error.data = {\n offset: offset + field[2],\n field: field[0]\n };\n throw error;\n }\n });\n }\n\n if (options.checkChecksum) {\n var checksum = types.calculateChecksum(buffer, offset, true);\n if (checksum != result.checksum) {\n var error = new Error(messages.checksumCheckFailed);\n error.data = {\n offset: offset,\n header: result,\n checksum: checksum\n };\n throw error;\n }\n }\n\n return result;\n}\n\nfunction readData(buffer, offset, header, options) {\n if (!options.extractData) {\n return null;\n }\n\n if (header.size <= 0) {\n return new Uint8Array();\n }\n return buffer.slice(offset, offset + header.size);\n}\n\nfunction createFile(header, data) {\n var result = {};\n types.posixHeader.forEach(function(field) {\n var name = field[0];\n if (!excludeFields[name]) {\n result[name] = header[name];\n }\n });\n\n result.isOldGNUFormat = header.ustar == constants.OLDGNU_MAGIC;\n\n if (data) {\n result.data = data;\n }\n\n return result;\n}\n\nfunction untar(buffer, options) {\n options = utils.extend({}, defaultOptions, options);\n\n var result = [];\n var offset = 0;\n var size = buffer.length;\n\n while (size - offset >= types.recordSize) {\n buffer = utils.toUint8Array(buffer);\n var header = readHeader(buffer, offset, options);\n if (!header) {\n break;\n }\n offset += headerSize(header);\n\n var data = readData(buffer, offset, header, options);\n result.push(createFile(header, data));\n offset += dataSize(header.size);\n\n if (isEndOfFile(buffer, offset)) {\n break;\n }\n }\n\n return result;\n}\n\nmodule.exports.untar = untar;\n","'use strict';\n\n// http://www.gnu.org/software/tar/manual/html_node/Standard.html\n\nvar utils = require('./lib/utils');\nvar constants = require('./lib/constants');\nvar tar = require('./lib/tar');\nvar untar = require('./lib/untar');\n\nutils.extend(module.exports, tar, untar, constants);\n","import { BaseFilesystem, ERRNO_CODES, type FsStats } from './base.js'\nimport type { PostgresMod } from '../postgresMod.js'\nimport { PGlite } from '../pglite.js'\n\nexport interface OpfsAhpOptions {\n initialPoolSize?: number\n maintainedPoolSize?: number\n debug?: boolean\n}\n\n// TypeScript doesn't have a built-in type for FileSystemSyncAccessHandle\nexport interface FileSystemSyncAccessHandle {\n close(): void\n flush(): void\n getSize(): number\n read(buffer: ArrayBuffer, options: { at: number }): number\n truncate(newSize: number): void\n write(buffer: ArrayBuffer, options: { at: number }): number\n}\n\n// State\n\nconst STATE_FILE = 'state.txt'\nconst DATA_DIR = 'data'\nconst INITIAL_MODE = {\n DIR: 16384,\n FILE: 32768,\n}\n\nexport interface State {\n root: DirectoryNode\n pool: PoolFilenames\n}\n\nexport type PoolFilenames = Array<string>\n\n// WAL\n\nexport interface WALEntry {\n opp: string\n args: any[]\n}\n\n// Node tree\n\nexport type NodeType = 'file' | 'directory'\n\ninterface BaseNode {\n type: NodeType\n lastModified: number\n mode: number\n}\n\nexport interface FileNode extends BaseNode {\n type: 'file'\n backingFilename: string\n}\n\nexport interface DirectoryNode extends BaseNode {\n type: 'directory'\n children: { [filename: string]: Node }\n}\n\nexport type Node = FileNode | DirectoryNode\n\n/**\n * PGlite OPFS access handle pool filesystem.\n * Opens a pool of sync access handles and then allocates them as needed.\n */\nexport class OpfsAhpFS extends BaseFilesystem {\n declare readonly dataDir: string\n readonly initialPoolSize: number\n readonly maintainedPoolSize: number\n\n #opfsRootAh!: FileSystemDirectoryHandle\n #rootAh!: FileSystemDirectoryHandle\n #dataDirAh!: FileSystemDirectoryHandle\n\n #stateFH!: FileSystemFileHandle\n #stateSH!: FileSystemSyncAccessHandle\n\n #fh: Map<string, FileSystemFileHandle> = new Map()\n #sh: Map<string, FileSystemSyncAccessHandle> = new Map()\n\n #handleIdCounter = 0\n #openHandlePaths: Map<number, string> = new Map()\n #openHandleIds: Map<string, number> = new Map()\n\n state!: State\n lastCheckpoint = 0\n checkpointInterval = 1000 * 60 // 1 minute\n poolCounter = 0\n\n #unsyncedSH = new Set<FileSystemSyncAccessHandle>()\n\n constructor(\n dataDir: string,\n {\n initialPoolSize = 1000,\n maintainedPoolSize = 100,\n debug = false,\n }: OpfsAhpOptions = {},\n ) {\n super(dataDir, { debug })\n this.initialPoolSize = initialPoolSize\n this.maintainedPoolSize = maintainedPoolSize\n }\n\n async init(pg: PGlite, opts: Partial<PostgresMod>) {\n await this.#init()\n return super.init(pg, opts)\n }\n\n async syncToFs(relaxedDurability = false) {\n await this.maybeCheckpointState()\n await this.maintainPool()\n if (!relaxedDurability) {\n this.flush()\n }\n }\n\n async closeFs(): Promise<void> {\n for (const sh of this.#sh.values()) {\n sh.close()\n }\n this.#stateSH.flush()\n this.#stateSH.close()\n this.pg!.Module.FS.quit()\n }\n\n async #init() {\n this.#opfsRootAh = await navigator.storage.getDirectory()\n this.#rootAh = await this.#resolveOpfsDirectory(this.dataDir!, {\n create: true,\n })\n this.#dataDirAh = await this.#resolveOpfsDirectory(DATA_DIR, {\n from: this.#rootAh,\n create: true,\n })\n\n this.#stateFH = await this.#rootAh.getFileHandle(STATE_FILE, {\n create: true,\n })\n this.#stateSH = await (this.#stateFH as any).createSyncAccessHandle()\n\n const stateAB = new ArrayBuffer(this.#stateSH.getSize())\n this.#stateSH.read(stateAB, { at: 0 })\n let state: State\n const stateLines = new TextDecoder().decode(stateAB).split('\\n')\n // Line 1 is a base state object.\n // Lines 1+n are WAL entries.\n\n let isNewState = false\n try {\n state = JSON.parse(stateLines[0])\n } catch (e) {\n state = {\n root: {\n type: 'directory',\n lastModified: Date.now(),\n mode: INITIAL_MODE.DIR,\n children: {},\n },\n pool: [],\n }\n // write new state to file\n this.#stateSH.truncate(0)\n this.#stateSH.write(new TextEncoder().encode(JSON.stringify(state)), {\n at: 0,\n })\n isNewState = true\n }\n this.state = state\n\n // Apply WAL entries\n const wal = stateLines\n .slice(1)\n .filter(Boolean)\n .map((line) => JSON.parse(line))\n for (const entry of wal) {\n const methodName = `_${entry.opp}State`\n if (typeof this[methodName as keyof this] === 'function') {\n try {\n const method = this[methodName as keyof this] as any\n method.bind(this)(...entry.args)\n } catch (e) {\n console.warn('Error applying OPFS AHP WAL entry', entry, e)\n }\n }\n }\n\n // Open all file handles for dir tree\n const walkPromises: Promise<void>[] = []\n const walk = async (node: Node) => {\n if (node.type === 'file') {\n try {\n const fh = await this.#dataDirAh.getFileHandle(node.backingFilename)\n const sh: FileSystemSyncAccessHandle = await (\n fh as any\n ).createSyncAccessHandle()\n this.#fh.set(node.backingFilename, fh)\n\n this.#sh.set(node.backingFilename, sh)\n } catch (e) {\n console.error('Error opening file handle for node', node, e)\n }\n } else {\n for (const child of Object.values(node.children)) {\n walkPromises.push(walk(child))\n }\n }\n }\n await walk(this.state.root)\n\n // Open all pool file handles\n const poolPromises: Promise<void>[] = []\n for (const filename of this.state.pool) {\n poolPromises.push(\n // eslint-disable-next-line no-async-promise-executor\n new Promise<void>(async (resolve) => {\n if (this.#fh.has(filename)) {\n console.warn('File handle already exists for pool file', filename)\n }\n const fh = await this.#dataDirAh.getFileHandle(filename)\n const sh: FileSystemSyncAccessHandle = await (\n fh as any\n ).createSyncAccessHandle()\n this.#fh.set(filename, fh)\n this.#sh.set(filename, sh)\n resolve()\n }),\n )\n }\n\n await Promise.all([...walkPromises, ...poolPromises])\n\n await this.maintainPool(\n isNewState ? this.initialPoolSize : this.maintainedPoolSize,\n )\n }\n\n async maintainPool(size?: number) {\n size = size || this.maintainedPoolSize\n const change = size - this.state.pool.length\n const promises: Promise<void>[] = []\n for (let i = 0; i < change; i++) {\n promises.push(\n // eslint-disable-next-line no-async-promise-executor\n new Promise<void>(async (resolve) => {\n ++this.poolCounter\n const filename = `${(Date.now() - 1704063600).toString(16).padStart(8, '0')}-${this.poolCounter.toString(16).padStart(8, '0')}`\n const fh = await this.#dataDirAh.getFileHandle(filename, {\n create: true,\n })\n const sh: FileSystemSyncAccessHandle = await (\n fh as any\n ).createSyncAccessHandle()\n this.#fh.set(filename, fh)\n this.#sh.set(filename, sh)\n this.#logWAL({\n opp: 'createPoolFile',\n args: [filename],\n })\n this.state.pool.push(filename)\n resolve()\n }),\n )\n }\n for (let i = 0; i > change; i--) {\n promises.push(\n // eslint-disable-next-line no-async-promise-executor\n new Promise<void>(async (resolve) => {\n const filename = this.state.pool.pop()!\n this.#logWAL({\n opp: 'deletePoolFile',\n args: [filename],\n })\n const fh = this.#fh.get(filename)!\n const sh = this.#sh.get(filename)\n sh?.close()\n await this.#dataDirAh.removeEntry(fh.name)\n this.#fh.delete(filename)\n this.#sh.delete(filename)\n resolve()\n }),\n )\n }\n await Promise.all(promises)\n }\n\n _createPoolFileState(filename: string) {\n this.state.pool.push(filename)\n }\n\n _deletePoolFileState(filename: string) {\n const index = this.state.pool.indexOf(filename)\n if (index > -1) {\n this.state.pool.splice(index, 1)\n }\n }\n\n async maybeCheckpointState() {\n if (Date.now() - this.lastCheckpoint > this.checkpointInterval) {\n await this.checkpointState()\n }\n }\n\n async checkpointState() {\n const stateAB = new TextEncoder().encode(JSON.stringify(this.state))\n this.#stateSH.truncate(0)\n this.#stateSH.write(stateAB, { at: 0 })\n this.#stateSH.flush()\n this.lastCheckpoint = Date.now()\n }\n\n flush() {\n for (const sh of this.#unsyncedSH) {\n try {\n sh.flush()\n } catch (e) {\n // The file may have been closed if it was deleted\n }\n }\n this.#unsyncedSH.clear()\n }\n\n // Filesystem API:\n\n chmod(path: string, mode: number): void {\n this.#tryWithWAL({ opp: 'chmod', args: [path, mode] }, () => {\n this._chmodState(path, mode)\n })\n }\n\n _chmodState(path: string, mode: number): void {\n const node = this.#resolvePath(path)\n node.mode = mode\n }\n\n close(fd: number): void {\n const path = this.#getPathFromFd(fd)\n this.#openHandlePaths.delete(fd)\n this.#openHandleIds.delete(path)\n }\n\n fstat(fd: number): FsStats {\n const path = this.#getPathFromFd(fd)\n return this.lstat(path)\n }\n\n lstat(path: string): FsStats {\n const node = this.#resolvePath(path)\n const size =\n node.type === 'file' ? this.#sh.get(node.backingFilename)!.getSize() : 0\n const blksize = 4096\n return {\n dev: 0,\n ino: 0,\n mode: node.mode,\n nlink: 1,\n uid: 0,\n gid: 0,\n rdev: 0,\n size,\n blksize,\n blocks: Math.ceil(size / blksize),\n atime: node.lastModified,\n mtime: node.lastModified,\n ctime: node.lastModified,\n }\n }\n\n mkdir(path: string, options?: { recursive?: boolean; mode?: number }): void {\n this.#tryWithWAL({ opp: 'mkdir', args: [path, options] }, () => {\n this._mkdirState(path, options)\n })\n }\n\n _mkdirState(\n path: string,\n options?: { recursive?: boolean; mode?: number },\n ): void {\n const parts = this.#pathParts(path)\n const newDirName = parts.pop()!\n const currentPath: string[] = []\n let node = this.state.root\n for (const part of parts) {\n currentPath.push(path)\n if (!Object.prototype.hasOwnProperty.call(node.children, part)) {\n if (options?.recursive) {\n this.mkdir(currentPath.join('/'))\n } else {\n throw new FsError('ENOENT', 'No such file or directory')\n }\n }\n if (node.children[part].type !== 'directory') {\n throw new FsError('ENOTDIR', 'Not a directory')\n }\n node = node.children[part] as DirectoryNode\n }\n if (Object.prototype.hasOwnProperty.call(node.children, newDirName)) {\n throw new FsError('EEXIST', 'File exists')\n }\n const newDir: DirectoryNode = {\n type: 'directory',\n lastModified: Date.now(),\n mode: options?.mode || INITIAL_MODE.DIR,\n children: {},\n }\n node.children[newDirName] = newDir\n }\n\n open(path: string, _flags?: string, _mode?: number): number {\n const node = this.#resolvePath(path)\n if (node.type !== 'file') {\n throw new FsError('EISDIR', 'Is a directory')\n }\n const handleId = this.#nextHandleId()\n this.#openHandlePaths.set(handleId, path)\n this.#openHandleIds.set(path, handleId)\n return handleId\n }\n\n readdir(path: string): string[] {\n const node = this.#resolvePath(path)\n if (node.type !== 'directory') {\n throw new FsError('ENOTDIR', 'Not a directory')\n }\n return Object.keys(node.children)\n }\n\n read(\n fd: number,\n buffer: Uint8Array, // Buffer to read into\n offset: number, // Offset in buffer to start writing to\n length: number, // Number of bytes to read\n position: number, // Position in file to read from\n ): number {\n const path = this.#getPathFromFd(fd)\n const node = this.#resolvePath(path)\n if (node.type !== 'file') {\n throw new FsError('EISDIR', 'Is a directory')\n }\n const sh = this.#sh.get(node.backingFilename)!\n return sh.read(new Uint8Array(buffer.buffer, offset, length), {\n at: position,\n })\n }\n\n rename(oldPath: string, newPath: string): void {\n this.#tryWithWAL({ opp: 'rename', args: [oldPath, newPath] }, () => {\n this._renameState(oldPath, newPath, true)\n })\n }\n\n _renameState(oldPath: string, newPath: string, doFileOps = false): void {\n const oldPathParts = this.#pathParts(oldPath)\n const oldFilename = oldPathParts.pop()!\n const oldParent = this.#resolvePath(oldPathParts.join('/')) as DirectoryNode\n if (\n !Object.prototype.hasOwnProperty.call(oldParent.children, oldFilename)\n ) {\n throw new FsError('ENOENT', 'No such file or directory')\n }\n const newPathParts = this.#pathParts(newPath)\n const newFilename = newPathParts.pop()!\n const newParent = this.#resolvePath(newPathParts.join('/')) as DirectoryNode\n if (\n doFileOps &&\n Object.prototype.hasOwnProperty.call(newParent.children, newFilename)\n ) {\n // Overwrite, so return the underlying file to the pool\n const node = newParent.children[newFilename]! as FileNode\n const sh = this.#sh.get(node.backingFilename)!\n sh.truncate(0)\n this.state.pool.push(node.backingFilename)\n }\n newParent.children[newFilename] = oldParent.children[oldFilename]!\n delete oldParent.children[oldFilename]\n }\n\n rmdir(path: string): void {\n this.#tryWithWAL({ opp: 'rmdir', args: [path] }, () => {\n this._rmdirState(path)\n })\n }\n\n _rmdirState(path: string): void {\n const pathParts = this.#pathParts(path)\n const dirName = pathParts.pop()!\n const parent = this.#resolvePath(pathParts.join('/')) as DirectoryNode\n if (!Object.prototype.hasOwnProperty.call(parent.children, dirName)) {\n throw new FsError('ENOENT', 'No such file or directory')\n }\n const node = parent.children[dirName]!\n if (node.type !== 'directory') {\n throw new FsError('ENOTDIR', 'Not a directory')\n }\n if (Object.keys(node.children).length > 0) {\n throw new FsError('ENOTEMPTY', 'Directory not empty')\n }\n delete parent.children[dirName]\n }\n\n truncate(path: string, len = 0): void {\n const node = this.#resolvePath(path)\n if (node.type !== 'file') {\n throw new FsError('EISDIR', 'Is a directory')\n }\n const sh = this.#sh.get(node.backingFilename)\n if (!sh) {\n throw new FsError('ENOENT', 'No such file or directory')\n }\n sh.truncate(len)\n this.#unsyncedSH.add(sh)\n }\n\n unlink(path: string): void {\n this.#tryWithWAL({ opp: 'unlink', args: [path] }, () => {\n this._unlinkState(path, true)\n })\n }\n\n _unlinkState(path: string, doFileOps = false): void {\n const pathParts = this.#pathParts(path)\n const filename = pathParts.pop()!\n const dir = this.#resolvePath(pathParts.join('/')) as DirectoryNode\n if (!Object.prototype.hasOwnProperty.call(dir.children, filename)) {\n throw new FsError('ENOENT', 'No such file or directory')\n }\n const node = dir.children[filename]!\n if (node.type !== 'file') {\n throw new FsError('EISDIR', 'Is a directory')\n }\n delete dir.children[filename]\n if (doFileOps) {\n const sh = this.#sh.get(node.backingFilename)!\n // We don't delete the file, it's truncated and returned to the pool\n sh?.truncate(0)\n this.#unsyncedSH.add(sh)\n if (this.#openHandleIds.has(path)) {\n this.#openHandlePaths.delete(this.#openHandleIds.get(path)!)\n this.#openHandleIds.delete(path)\n }\n }\n this.state.pool.push(node.backingFilename)\n }\n\n utimes(path: string, atime: number, mtime: number): void {\n this.#tryWithWAL({ opp: 'utimes', args: [path, atime, mtime] }, () => {\n this._utimesState(path, atime, mtime)\n })\n }\n\n _utimesState(path: string, _atime: number, mtime: number): void {\n const node = this.#resolvePath(path)\n node.lastModified = mtime\n }\n\n writeFile(\n path: string,\n data: string | Uint8Array,\n options?: { encoding?: string; mode?: number; flag?: string },\n ): void {\n const pathParts = this.#pathParts(path)\n const filename = pathParts.pop()!\n const parent = this.#resolvePath(pathParts.join('/')) as DirectoryNode\n\n if (!Object.prototype.hasOwnProperty.call(parent.children, filename)) {\n if (this.state.pool.length === 0) {\n throw new Error('No more file handles available in the pool')\n }\n const node: Node = {\n type: 'file',\n lastModified: Date.now(),\n mode: options?.mode || INITIAL_MODE.FILE,\n backingFilename: this.state.pool.pop()!,\n }\n parent.children[filename] = node\n this.#logWAL({\n opp: 'createFileNode',\n args: [path, node],\n })\n } else {\n const node = parent.children[filename] as FileNode\n node.lastModified = Date.now()\n this.#logWAL({\n opp: 'setLastModified',\n args: [path, node.lastModified],\n })\n }\n const node = parent.children[filename] as FileNode\n const sh = this.#sh.get(node.backingFilename)!\n // Files in pool are empty, only write if data is provided\n if (data.length > 0) {\n sh.write(\n typeof data === 'string'\n ? new TextEncoder().encode(data)\n : new Uint8Array(data),\n { at: 0 },\n )\n if (path.startsWith('/pg_wal')) {\n this.#unsyncedSH.add(sh)\n }\n }\n }\n\n _createFileNodeState(path: string, node: FileNode): FileNode {\n const pathParts = this.#pathParts(path)\n const filename = pathParts.pop()!\n const parent = this.#resolvePath(pathParts.join('/')) as DirectoryNode\n parent.children[filename] = node\n // remove backingFilename from pool\n const index = this.state.pool.indexOf(node.backingFilename)\n if (index > -1) {\n this.state.pool.splice(index, 1)\n }\n return node\n }\n\n _setLastModifiedState(path: string, lastModified: number): void {\n const node = this.#resolvePath(path)\n node.lastModified = lastModified\n }\n\n write(\n fd: number,\n buffer: Uint8Array, // Buffer to read from\n offset: number, // Offset in buffer to start reading from\n length: number, // Number of bytes to write\n position: number, // Position in file to write to\n ): number {\n const path = this.#getPathFromFd(fd)\n const node = this.#resolvePath(path)\n if (node.type !== 'file') {\n throw new FsError('EISDIR', 'Is a directory')\n }\n const sh = this.#sh.get(node.backingFilename)\n if (!sh) {\n throw new FsError('EBADF', 'Bad file descriptor')\n }\n const ret = sh.write(new Uint8Array(buffer, offset, length), {\n at: position,\n })\n if (path.startsWith('/pg_wal')) {\n this.#unsyncedSH.add(sh)\n }\n return ret\n }\n\n // Internal methods:\n\n #tryWithWAL(entry: WALEntry, fn: () => void) {\n const offset = this.#logWAL(entry)\n try {\n fn()\n } catch (e) {\n // Rollback WAL entry\n this.#stateSH.truncate(offset)\n throw e\n }\n }\n\n #logWAL(entry: WALEntry) {\n const entryJSON = JSON.stringify(entry)\n const stateAB = new TextEncoder().encode(`\\n${entryJSON}`)\n const offset = this.#stateSH.getSize()\n this.#stateSH.write(stateAB, { at: offset })\n this.#unsyncedSH.add(this.#stateSH)\n return offset\n }\n\n #pathParts(path: string): string[] {\n return path.split('/').filter(Boolean)\n }\n\n #resolvePath(path: string, from?: DirectoryNode): Node {\n const parts = this.#pathParts(path)\n let node: Node = from || this.state.root\n for (const part of parts) {\n if (node.type !== 'directory') {\n throw new FsError('ENOTDIR', 'Not a directory')\n }\n if (!Object.prototype.hasOwnProperty.call(node.children, part)) {\n throw new FsError('ENOENT', 'No such file or directory')\n }\n node = node.children[part]!\n }\n return node\n }\n\n #getPathFromFd(fd: number): string {\n const path = this.#openHandlePaths.get(fd)\n if (!path) {\n throw new FsError('EBADF', 'Bad file descriptor')\n }\n return path\n }\n\n #nextHandleId(): number {\n const id = ++this.#handleIdCounter\n while (this.#openHandlePaths.has(id)) {\n this.#handleIdCounter++\n }\n return id\n }\n\n async #resolveOpfsDirectory(\n path: string,\n options?: {\n from?: FileSystemDirectoryHandle\n create?: boolean\n },\n ): Promise<FileSystemDirectoryHandle> {\n const parts = this.#pathParts(path)\n let ah = options?.from || this.#opfsRootAh\n for (const part of parts) {\n ah = await ah.getDirectoryHandle(part, { create: options?.create })\n }\n return ah\n }\n}\n\nclass FsError extends Error {\n code?: number\n constructor(code: number | keyof typeof ERRNO_CODES | null, message: string) {\n super(message)\n if (typeof code === 'number') {\n this.code = code\n } else if (typeof code === 'string') {\n this.code = ERRNO_CODES[code]\n }\n }\n}\n","import type { PostgresMod } from '../postgresMod.js'\nimport type { PGlite } from '../pglite.js'\nimport { dumpTar, type DumpTarCompressionOptions } from './tarUtils.js'\n\nexport const WASM_PREFIX = '/tmp/pglite'\nexport const PGDATA = WASM_PREFIX + '/' + 'base'\n\nexport type FsType = 'nodefs' | 'idbfs' | 'memoryfs' | 'opfs-ahp'\n\n/**\n * Filesystem interface.\n * All virtual filesystems that are compatible with PGlite must implement\n * this interface.\n */\nexport interface Filesystem {\n /**\n * Initiate the filesystem and return the options to pass to the emscripten module.\n */\n init(\n pg: PGlite,\n emscriptenOptions: Partial<PostgresMod>,\n ): Promise<{ emscriptenOpts: Partial<PostgresMod> }>\n\n /**\n * Sync the filesystem to any underlying storage.\n */\n syncToFs(relaxedDurability?: boolean): Promise<void>\n\n /**\n * Sync the filesystem from any underlying storage.\n */\n initialSyncFs(): Promise<void>\n\n /**\n * Dump the PGDATA dir from the filesystem to a gzipped tarball.\n */\n dumpTar(\n dbname: string,\n compression?: DumpTarCompressionOptions,\n ): Promise<File | Blob>\n\n /**\n * Close the filesystem.\n */\n closeFs(): Promise<void>\n}\n\n/**\n * Base class for all emscripten built-in filesystems.\n */\nexport class EmscriptenBuiltinFilesystem implements Filesystem {\n protected dataDir?: string\n protected pg?: PGlite\n\n constructor(dataDir?: string) {\n this.dataDir = dataDir\n }\n\n async init(pg: PGlite, emscriptenOptions: Partial<PostgresMod>) {\n this.pg = pg\n return { emscriptenOpts: emscriptenOptions }\n }\n\n async syncToFs(_relaxedDurability?: boolean) {}\n\n async initialSyncFs() {}\n\n async closeFs() {}\n\n async dumpTar(dbname: string, compression?: DumpTarCompressionOptions) {\n return dumpTar(this.pg!.Module.FS, PGDATA, dbname, compression)\n }\n}\n\n/**\n * Abstract base class for all custom virtual filesystems.\n * Each custom filesystem needs to implement an interface similar to the NodeJS FS API.\n */\nexport abstract class BaseFilesystem implements Filesystem {\n protected dataDir?: string\n protected pg?: PGlite\n readonly debug: boolean\n\n constructor(dataDir?: string, { debug = false }: { debug?: boolean } = {}) {\n this.dataDir = dataDir\n this.debug = debug\n }\n\n async syncToFs(_relaxedDurability?: boolean) {}\n\n async initialSyncFs() {}\n\n async closeFs() {}\n\n async dumpTar(dbname: string, compression?: DumpTarCompressionOptions) {\n return dumpTar(this.pg!.Module.FS, PGDATA, dbname, compression)\n }\n\n async init(pg: PGlite, emscriptenOptions: Partial<PostgresMod>) {\n this.pg = pg\n const options: Partial<PostgresMod> = {\n ...emscriptenOptions,\n preRun: [\n ...(emscriptenOptions.preRun || []),\n (mod: PostgresMod) => {\n const EMFS = createEmscriptenFS(mod, this)\n mod.FS.mkdir(PGDATA)\n mod.FS.mount(EMFS, {}, PGDATA)\n },\n ],\n }\n return { emscriptenOpts: options }\n }\n\n // Filesystem API\n\n abstract chmod(path: string, mode: number): void\n abstract close(fd: number): void\n abstract fstat(fd: number): FsStats\n abstract lstat(path: string): FsStats\n abstract mkdir(\n path: string,\n options?: { recursive?: boolean; mode?: number },\n ): void\n abstract open(path: string, flags?: string, mode?: number): number\n abstract readdir(path: string): string[]\n abstract read(\n fd: number,\n buffer: Uint8Array, // Buffer to read into\n offset: number, // Offset in buffer to start writing to\n length: number, // Number of bytes to read\n position: number, // Position in file to read from\n ): number\n abstract rename(oldPath: string, newPath: string): void\n abstract rmdir(path: string): void\n abstract truncate(\n path: string,\n len: number, // Length to truncate to - defaults to 0\n ): void\n abstract unlink(path: string): void\n abstract utimes(path: string, atime: number, mtime: number): void\n abstract writeFile(\n path: string,\n data: string | Uint8Array,\n options?: { encoding?: string; mode?: number; flag?: string },\n ): void\n abstract write(\n fd: number,\n buffer: Uint8Array, // Buffer to read from\n offset: number, // Offset in buffer to start reading from\n length: number, // Number of bytes to write\n position: number, // Position in file to write to\n ): number\n}\n\nexport type FsStats = {\n dev: number\n ino: number\n mode: number\n nlink: number\n uid: number\n gid: number\n rdev: number\n size: number\n blksize: number\n blocks: number\n atime: number\n mtime: number\n ctime: number\n}\n\ntype EmscriptenFileSystem = Emscripten.FileSystemType & {\n createNode: (\n parent: FSNode | null,\n name: string,\n mode: number,\n dev?: any,\n ) => FSNode\n node_ops: FS.NodeOps\n stream_ops: FS.StreamOps & {\n dup: (stream: FSStream) => void\n mmap: (\n stream: FSStream,\n length: number,\n position: number,\n prot: any,\n flags: any,\n ) => { ptr: number; allocated: boolean }\n msync: (\n stream: FSStream,\n buffer: Uint8Array,\n offset: number,\n length: number,\n mmapFlags: any,\n ) => number\n }\n} & { [key: string]: any }\n\ntype FSNode = FS.FSNode & {\n node_ops: FS.NodeOps\n stream_ops: FS.StreamOps\n}\n\ntype FSStream = FS.FSStream & {\n node: FSNode\n shared: {\n refcount: number\n }\n}\n\ntype FSMount = FS.Mount & {\n opts: {\n root: string\n }\n}\n\ntype EmscriptenFS = PostgresMod['FS'] & {\n createNode: (\n parent: FSNode | null,\n name: string,\n mode: number,\n dev?: any,\n ) => FSNode\n}\n\nexport const ERRNO_CODES = {\n EBADF: 8,\n EBADFD: 127,\n EEXIST: 20,\n EINVAL: 28,\n EISDIR: 31,\n ENODEV: 43,\n ENOENT: 44,\n ENOTDIR: 54,\n ENOTEMPTY: 55,\n} as const\n\n/**\n * Create an emscripten filesystem that uses the BaseFilesystem.\n * @param Module The emscripten module\n * @param baseFS The BaseFilesystem implementation\n * @returns The emscripten filesystem\n */\nconst createEmscriptenFS = (Module: PostgresMod, baseFS: BaseFilesystem) => {\n const FS = Module.FS as EmscriptenFS\n const log = baseFS.debug ? console.log : null\n const EMFS = {\n tryFSOperation<T>(f: () => T): T {\n try {\n return f()\n } catch (e: any) {\n if (!e.code) throw e\n if (e.code === 'UNKNOWN') throw new FS.ErrnoError(ERRNO_CODES.EINVAL)\n throw new FS.ErrnoError(e.code)\n }\n },\n mount(_mount: FSMount): FSNode {\n return EMFS.createNode(null, '/', 16384 | 511, 0)\n },\n syncfs(\n _mount: FS.Mount,\n _populate: any, // This has the wrong type in @types/emscripten\n _done: (err?: number | null) => unknown,\n ): void {\n // noop\n },\n createNode(\n parent: FSNode | null,\n name: string,\n mode: number,\n _dev?: any,\n ): FSNode {\n if (!FS.isDir(mode) && !FS.isFile(mode)) {\n throw new FS.ErrnoError(28)\n }\n const node = FS.createNode(parent, name, mode)\n node.node_ops = EMFS.node_ops\n node.stream_ops = EMFS.stream_ops\n return node\n },\n getMode: function (path: string): number {\n log?.('getMode', path)\n return EMFS.tryFSOperation(() => {\n const stats = baseFS.lstat(path)\n return stats.mode\n })\n },\n realPath: function (node: FSNode): string {\n const parts: string[] = []\n while (node.parent !== node) {\n parts.push(node.name)\n node = node.parent as FSNode\n }\n parts.push((node.mount as FSMount).opts.root)\n parts.reverse()\n return parts.join('/')\n },\n node_ops: {\n getattr(node: FSNode): FS.Stats {\n log?.('getattr', EMFS.realPath(node))\n const path = EMFS.realPath(node)\n return EMFS.tryFSOperation(() => {\n const stats = baseFS.lstat(path)\n return {\n ...stats,\n dev: 0,\n ino: node.id,\n nlink: 1,\n rdev: node.rdev,\n atime: new Date(stats.atime),\n mtime: new Date(stats.mtime),\n ctime: new Date(stats.ctime),\n }\n })\n },\n setattr(node: FSNode, attr: FS.Stats): void {\n log?.('setattr', EMFS.realPath(node), attr)\n const path = EMFS.realPath(node)\n EMFS.tryFSOperation(() => {\n if (attr.mode !== undefined) {\n baseFS.chmod(path, attr.mode)\n }\n if (attr.size !== undefined) {\n baseFS.truncate(path, attr.size)\n }\n if (attr.timestamp !== undefined) {\n baseFS.utimes(path, attr.timestamp, attr.timestamp)\n }\n if (attr.size !== undefined) {\n baseFS.truncate(path, attr.size)\n }\n })\n },\n lookup(parent: FSNode, name: string): FSNode {\n log?.('lookup', EMFS.realPath(parent), name)\n const path = [EMFS.realPath(parent), name].join('/')\n const mode = EMFS.getMode(path)\n return EMFS.createNode(parent, name, mode)\n },\n mknod(parent: FSNode, name: string, mode: number, dev: unknown): FSNode {\n log?.('mknod', EMFS.realPath(parent), name, mode, dev)\n const node = EMFS.createNode(parent, name, mode, dev)\n // create the backing node for this in the fs root as well\n const path = EMFS.realPath(node)\n return EMFS.tryFSOperation(() => {\n if (FS.isDir(node.mode)) {\n baseFS.mkdir(path, { mode })\n } else {\n baseFS.writeFile(path, '', { mode })\n }\n return node\n })\n },\n rename(oldNode: FSNode, newDir: FSNode, newName: string): void {\n log?.('rename', EMFS.realPath(oldNode), EMFS.realPath(newDir), newName)\n const oldPath = EMFS.realPath(oldNode)\n const newPath = [EMFS.realPath(newDir), newName].join('/')\n EMFS.tryFSOperation(() => {\n baseFS.rename(oldPath, newPath)\n })\n oldNode.name = newName\n },\n unlink(parent: FSNode, name: string): void {\n log?.('unlink', EMFS.realPath(parent), name)\n const path = [EMFS.realPath(parent), name].join('/')\n try {\n baseFS.unlink(path)\n } catch (e: any) {\n // no-op\n }\n },\n rmdir(parent: FSNode, name: string): void {\n log?.('rmdir', EMFS.realPath(parent), name)\n const path = [EMFS.realPath(parent), name].join('/')\n return EMFS.tryFSOperation(() => {\n baseFS.rmdir(path)\n })\n },\n readdir(node: FSNode): string[] {\n log?.('readdir', EMFS.realPath(node))\n const path = EMFS.realPath(node)\n return EMFS.tryFSOperation(() => {\n return baseFS.readdir(path)\n })\n },\n symlink(parent: FSNode, newName: string, oldPath: string): void {\n log?.('symlink', EMFS.realPath(parent), newName, oldPath)\n // This is not supported by EMFS\n throw new FS.ErrnoError(63)\n },\n readlink(node: FSNode): string {\n log?.('readlink', EMFS.realPath(node))\n // This is not supported by EMFS\n throw new FS.ErrnoError(63)\n },\n },\n stream_ops: {\n open(stream: FSStream): void {\n log?.('open stream', EMFS.realPath(stream.node))\n const path = EMFS.realPath(stream.node)\n return EMFS.tryFSOperation(() => {\n if (FS.isFile(stream.node.mode)) {\n stream.shared.refcount = 1\n stream.nfd = baseFS.open(path)\n }\n })\n },\n close(stream: FSStream): void {\n log?.('close stream', EMFS.realPath(stream.node))\n return EMFS.tryFSOperation(() => {\n if (\n FS.isFile(stream.node.mode) &&\n stream.nfd &&\n --stream.shared.refcount === 0\n ) {\n baseFS.close(stream.nfd)\n }\n })\n },\n dup(stream: FSStream) {\n log?.('dup stream', EMFS.realPath(stream.node))\n stream.shared.refcount++\n },\n read(\n stream: FSStream, // Stream to read from\n buffer: Uint8Array, // Buffer to read into - Wrong type in @types/emscripten\n offset: number, // Offset in buffer to start writing to\n length: number, // Number of bytes to read\n position: number, // Position in file to read from\n ): number {\n log?.(\n 'read stream',\n EMFS.realPath(stream.node),\n offset,\n length,\n position,\n )\n if (length === 0) return 0\n const ret = EMFS.tryFSOperation(() =>\n baseFS.read(\n stream.nfd!,\n buffer as unknown as Uint8Array,\n offset,\n length,\n position,\n ),\n )\n return ret\n },\n write(\n stream: FSStream, // Stream to write to\n buffer: Uint8Array, // Buffer to read from - Wrong type in @types/emscripten\n offset: number, // Offset in buffer to start writing from\n length: number, // Number of bytes to write\n position: number, // Position in file to write to\n ): number {\n log?.(\n 'write stream',\n EMFS.realPath(stream.node),\n offset,\n length,\n position,\n )\n return EMFS.tryFSOperation(() =>\n baseFS.write(\n stream.nfd!,\n buffer.buffer as unknown as Uint8Array,\n offset,\n length,\n position,\n ),\n )\n },\n llseek(stream: FSStream, offset: number, whence: number): number {\n log?.('llseek stream', EMFS.realPath(stream.node), offset, whence)\n let position = offset\n if (whence === 1) {\n position += stream.position\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n EMFS.tryFSOperation(() => {\n const stat = baseFS.fstat(stream.nfd!)\n position += stat.size\n })\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28)\n }\n return position\n },\n mmap(\n stream: FSStream,\n length: number,\n position: number,\n prot: any,\n flags: any,\n ) {\n log?.(\n 'mmap stream',\n EMFS.realPath(stream.node),\n length,\n position,\n prot,\n flags,\n )\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.ENODEV)\n }\n\n const ptr = (Module as any).mmapAlloc(length) // TODO: Fix type and check this is exported\n\n EMFS.stream_ops.read(\n stream,\n Module.HEAP8 as unknown as Uint8Array,\n ptr,\n length,\n position,\n )\n return { ptr, allocated: true }\n },\n msync(\n stream: FSStream,\n buffer: Uint8Array,\n offset: number,\n length: number,\n mmapFlags: any,\n ) {\n log?.(\n 'msync stream',\n EMFS.realPath(stream.node),\n offset,\n length,\n mmapFlags,\n )\n EMFS.stream_ops.write(stream, buffer, 0, length, offset)\n return 0\n },\n },\n } satisfies EmscriptenFileSystem\n return EMFS\n}\n","import { tar, untar, type TarFile, REGTYPE, DIRTYPE } from 'tinytar'\nimport type { FS } from '../postgresMod.js'\n\nexport type DumpTarCompressionOptions = 'none' | 'gzip' | 'auto'\n\nexport async function dumpTar(\n FS: FS,\n pgDataDir: string,\n dbname: string = 'pgdata',\n compression: DumpTarCompressionOptions = 'auto',\n): Promise<File | Blob> {\n const tarball = createTarball(FS, pgDataDir)\n const [compressed, zipped] = await maybeZip(tarball, compression)\n const filename = dbname + (zipped ? '.tar.gz' : '.tar')\n const type = zipped ? 'application/x-gzip' : 'application/x-tar'\n if (typeof File !== 'undefined') {\n return new File([compressed], filename, {\n type,\n })\n } else {\n return new Blob([compressed], {\n type,\n })\n }\n}\n\nconst compressedMimeTypes = [\n 'application/x-gtar',\n 'application/x-tar+gzip',\n 'application/x-gzip',\n 'application/gzip',\n]\n\nexport async function loadTar(\n FS: FS,\n file: File | Blob,\n pgDataDir: string,\n): Promise<void> {\n let tarball = new Uint8Array(await file.arrayBuffer())\n const filename =\n typeof File !== 'undefined' && file instanceof File ? file.name : undefined\n const compressed =\n compressedMimeTypes.includes(file.type) ||\n filename?.endsWith('.tgz') ||\n filename?.endsWith('.tar.gz')\n if (compressed) {\n tarball = await unzip(tarball)\n }\n\n let files\n try {\n files = untar(tarball)\n } catch (e) {\n if (e instanceof Error && e.message.includes('File is corrupted')) {\n // The file may be compressed, but had the wrong mime type, try unzipping it\n tarball = await unzip(tarball)\n files = untar(tarball)\n } else {\n throw e\n }\n }\n\n for (const file of files) {\n const filePath = pgDataDir + file.name\n\n // Ensure the directory structure exists\n const dirPath = filePath.split('/').slice(0, -1)\n for (let i = 1; i <= dirPath.length; i++) {\n const dir = dirPath.slice(0, i).join('/')\n if (!FS.analyzePath(dir).exists) {\n FS.mkdir(dir)\n }\n }\n\n // Write the file or directory\n if (file.type === REGTYPE) {\n FS.writeFile(filePath, file.data)\n FS.utime(\n filePath,\n dateToUnixTimestamp(file.modifyTime),\n dateToUnixTimestamp(file.modifyTime),\n )\n } else if (file.type === DIRTYPE) {\n FS.mkdir(filePath)\n }\n }\n}\n\nfunction readDirectory(FS: FS, path: string) {\n const files: TarFile[] = []\n\n const traverseDirectory = (currentPath: string) => {\n const entries = FS.readdir(currentPath)\n entries.forEach((entry) => {\n if (entry === '.' || entry === '..') {\n return\n }\n const fullPath = currentPath + '/' + entry\n const stats = FS.stat(fullPath)\n const data = FS.isFile(stats.mode)\n ? FS.readFile(fullPath, { encoding: 'binary' })\n : new Uint8Array(0)\n files.push({\n name: fullPath.substring(path.length), // remove the root path\n mode: stats.mode,\n size: stats.size,\n type: FS.isFile(stats.mode) ? REGTYPE : DIRTYPE,\n modifyTime: stats.mtime,\n data,\n })\n if (FS.isDir(stats.mode)) {\n traverseDirectory(fullPath)\n }\n })\n }\n\n traverseDirectory(path)\n return files\n}\n\nexport function createTarball(FS: FS, directoryPath: string) {\n const files = readDirectory(FS, directoryPath)\n const tarball = tar(files)\n return tarball\n}\n\nexport async function maybeZip(\n file: Uint8Array,\n compression: DumpTarCompressionOptions = 'auto',\n): Promise<[Uint8Array, boolean]> {\n if (compression === 'none') {\n return [file, false]\n } else if (typeof CompressionStream !== 'undefined') {\n return [await zipBrowser(file), true]\n } else if (\n typeof process !== 'undefined' &&\n process.versions &&\n process.versions.node\n ) {\n return [await zipNode(file), true]\n } else if (compression === 'auto') {\n return [file, false]\n } else {\n throw new Error('Compression not supported in this environment')\n }\n}\n\nexport async function zipBrowser(file: Uint8Array): Promise<Uint8Array> {\n const cs = new CompressionStream('gzip')\n const writer = cs.writable.getWriter()\n const reader = cs.readable.getReader()\n\n writer.write(file)\n writer.close()\n\n const chunks: Uint8Array[] = []\n\n while (true) {\n const { value, done } = await reader.read()\n if (done) break\n if (value) chunks.push(value)\n }\n\n const compressed = new Uint8Array(\n chunks.reduce((acc, chunk) => acc + chunk.length, 0),\n )\n let offset = 0\n chunks.forEach((chunk) => {\n compressed.set(chunk, offset)\n offset += chunk.length\n })\n\n return compressed\n}\n\nexport async function zipNode(file: Uint8Array): Promise<Uint8Array> {\n const { promisify } = await import('util')\n const { gzip } = await import('zlib')\n const gzipPromise = promisify(gzip)\n return await gzipPromise(file)\n}\n\nexport async function unzip(file: Uint8Array): Promise<Uint8Array> {\n if (typeof CompressionStream !== 'undefined') {\n return await unzipBrowser(file)\n } else if (\n typeof process !== 'undefined' &&\n process.versions &&\n process.versions.node\n ) {\n return await unzipNode(file)\n } else {\n throw new Error('Unsupported environment for decompression')\n }\n}\n\nexport async function unzipBrowser(file: Uint8Array): Promise<Uint8Array> {\n const ds = new DecompressionStream('gzip')\n const writer = ds.writable.getWriter()\n const reader = ds.readable.getReader()\n\n writer.write(file)\n writer.close()\n\n const chunks: Uint8Array[] = []\n\n while (true) {\n const { value, done } = await reader.read()\n if (done) break\n if (value) chunks.push(value)\n }\n\n const decompressed = new Uint8Array(\n chunks.reduce((acc, chunk) => acc + chunk.length, 0),\n )\n let offset = 0\n chunks.forEach((chunk) => {\n decompressed.set(chunk, offset)\n offset += chunk.length\n })\n\n return decompressed\n}\n\nexport async function unzipNode(file: Uint8Array): Promise<Uint8Array> {\n const { promisify } = await import('util')\n const { gunzip } = await import('zlib')\n const gunzipPromise = promisify(gunzip)\n return await gunzipPromise(file)\n}\n\nfunction dateToUnixTimestamp(date: Date | number | undefined): number {\n if (!date) {\n return Math.floor(Date.now() / 1000)\n } else {\n return typeof date === 'number' ? date : Math.floor(date.getTime() / 1000)\n }\n}\n"],"mappings":"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","names":["init_cjs_shims","__esmMin","require_utils","__commonJSMin","exports","module","init_cjs_shims","MAX_SAFE_INTEGER","undefined","isUndefined","value","isString","isDateTime","isObject","isFunction","isLength","isArray","isArrayLike","isArrayBuffer","map","array","iteratee","find","result","item","index","found","extend","target","toUint8Array","i","length","require_constants","__commonJSMin","exports","module","init_cjs_shims","NULL_CHAR","require_types","__commonJSMin","exports","module","init_cjs_shims","utils","constants","recordSize","defaultFileMode","defaultUid","defaultGid","posixHeader","file","field","formatTarString","buffer","offset","parseTarString","mode","formatTarNumber","result","parseTarNumber","formatTarDateTime","parseTarDateTime","fixUstarMagic","effectiveHeaderSize","header","last","value","chars","length","defaultValue","bytes","returnUnprocessed","index","calculateChecksum","skipChecksum","from","to","skipFrom","skipTo","whitespace","i","byte","require_tar","__commonJSMin","exports","module","init_cjs_shims","constants","utils","types","headerSize","file","dataSize","allocateBuffer","files","totalSize","writeHeader","buffer","offset","currentOffset","field","value","length","i","checksum","writeData","tar","require_untar","__commonJSMin","exports","module","init_cjs_shims","constants","utils","types","defaultOptions","excludeFields","messages","headerSize","header","dataSize","size","isEndOfFile","buffer","offset","from","to","i","readHeader","options","result","currentOffset","field","error","checksum","readData","createFile","data","name","untar","require_tinytar","__commonJSMin","exports","module","init_cjs_shims","utils","constants","tar","untar","opfs_ahp_exports","__export","OpfsAhpFS","__toCommonJS","init_cjs_shims","init_cjs_shims","init_cjs_shims","import_tinytar","dumpTar","FS","pgDataDir","dbname","compression","tarball","createTarball","compressed","zipped","maybeZip","filename","type","readDirectory","FS","path","files","traverseDirectory","currentPath","entry","fullPath","stats","data","createTarball","directoryPath","maybeZip","file","compression","zipBrowser","zipNode","cs","writer","reader","chunks","value","done","compressed","acc","chunk","offset","promisify","gzip","WASM_PREFIX","PGDATA","BaseFilesystem","dataDir","debug","_relaxedDurability","dbname","compression","dumpTar","PGDATA","pg","emscriptenOptions","mod","EMFS","createEmscriptenFS","ERRNO_CODES","Module","baseFS","FS","log","f","e","_mount","_populate","_done","parent","name","mode","_dev","node","path","parts","stats","attr","dev","oldNode","newDir","newName","oldPath","newPath","stream","buffer","offset","length","position","whence","stat","prot","flags","ptr","mmapFlags","STATE_FILE","DATA_DIR","INITIAL_MODE","_opfsRootAh","_rootAh","_dataDirAh","_stateFH","_stateSH","_fh","_sh","_handleIdCounter","_openHandlePaths","_openHandleIds","_unsyncedSH","_OpfsAhpFS_instances","init_fn","tryWithWAL_fn","logWAL_fn","pathParts_fn","resolvePath_fn","getPathFromFd_fn","nextHandleId_fn","resolveOpfsDirectory_fn","OpfsAhpFS","BaseFilesystem","dataDir","initialPoolSize","maintainedPoolSize","debug","__privateAdd","pg","opts","__privateMethod","relaxedDurability","sh","__privateGet","size","change","promises","resolve","filename","fh","index","stateAB","path","mode","node","fd","blksize","options","parts","newDirName","currentPath","part","FsError","newDir","_flags","_mode","handleId","buffer","offset","length","position","oldPath","newPath","doFileOps","oldPathParts","oldFilename","oldParent","newPathParts","newFilename","newParent","pathParts","dirName","parent","len","dir","atime","mtime","_atime","data","lastModified","ret","__privateSet","state","stateLines","isNewState","wal","line","entry","methodName","e","walkPromises","walk","child","poolPromises","fn","entryJSON","from","id","__privateWrapper","ah","code","message","ERRNO_CODES"]}
|