@gscdump/lakehouse 1.4.0 → 1.4.1
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/dist/catalog-cache.d.mts +32 -0
- package/dist/catalog-cache.mjs +31 -0
- package/dist/{_chunks/catalog.d.mts → catalog.d.mts} +8 -66
- package/dist/{_chunks/catalog.mjs → catalog.mjs} +10 -89
- package/dist/dataset.d.mts +162 -0
- package/dist/dataset.mjs +364 -0
- package/dist/index.d.mts +5 -159
- package/dist/index.mjs +4 -360
- package/dist/maintenance.d.mts +2 -93
- package/dist/maintenance.mjs +2 -139
- package/dist/node_modules/.pnpm/chokidar@5.0.0/node_modules/chokidar/handler.d.mts +2 -0
- package/dist/node_modules/.pnpm/chokidar@5.0.0/node_modules/chokidar/index.d.mts +2 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.bitreader.mjs +88 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.blocks.mjs +120 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.context.mjs +1805 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.contextmap.mjs +49 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.dictionary.mjs +984 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.huffman.mjs +266 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.mjs +340 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.prefix.mjs +109 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.streams.mjs +21 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.transform.mjs +190 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/compressors.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/gzip.huffman.mjs +121 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/gzip.mjs +176 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/index.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/lz4.mjs +52 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/bloom.mjs +93 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/bytewriter.mjs +91 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/column.mjs +186 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/datapage.mjs +113 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/delta.mjs +111 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/dictionary.mjs +99 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/dremel.mjs +116 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/encoding.mjs +51 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/geospatial.mjs +84 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/index.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/indexes.mjs +31 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/metadata.mjs +138 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/node.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/parquet-writer.mjs +139 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/plain.mjs +68 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/schema.mjs +254 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/snappy.mjs +125 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/splitstream.mjs +38 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/thrift.mjs +79 -0
- package/dist/{_chunks/libs/hyparquet-writer.d.mts → node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/types.d.mts} +2 -2
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/unconvert.mjs +247 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/variant.mjs +391 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/wkb.mjs +79 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/write-rows.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/write.mjs +46 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/bytewriter.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/index.d.mts +10 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/node.d.mts +3 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/parquet-writer.d.mts +2 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/schema.d.mts +2 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/write-rows.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/write.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/assemble.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/bloom.mjs +69 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/column.mjs +8 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/constants.mjs +80 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/convert.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/datapage.mjs +6 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/delta.mjs +2 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/encoding.mjs +2 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/filter.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/geoparquet.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/index.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/indexes.mjs +5 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/metadata.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/node.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/plain.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/plan.mjs +5 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/query.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/read.mjs +6 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/rowgroup.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/schema.mjs +54 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/snappy.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/thrift.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/utils.mjs +19 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/variant.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/wkb.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/xxhash.mjs +68 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/index.d.mts +7 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/indexes.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/metadata.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/node.d.mts +2 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/query.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/read.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/snappy.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/utils.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/assemble.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/bloom.mjs +14 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/column.mjs +8 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/constants.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/convert.mjs +11 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/datapage.mjs +6 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/delta.mjs +2 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/encoding.mjs +2 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/filter.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/geoparquet.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/index.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/indexes.mjs +5 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/metadata.mjs +8 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/node.mjs +4 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/plain.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/plan.mjs +5 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/query.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/read.mjs +6 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/rowgroup.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/schema.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/snappy.mjs +70 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/thrift.mjs +1 -0
- package/dist/{_chunks/libs/hyparquet.d.mts → node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/types.d.mts} +2 -3
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/utils.mjs +98 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/variant.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/wkb.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/xxhash.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/index.d.mts +9 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/indexes.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/metadata.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/node.d.mts +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/query.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/read.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/snappy.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/utils.d.mts +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/avro/avro.metadata.mjs +53 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/avro/avro.read.mjs +136 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/avro/avro.write.mjs +148 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/file.mjs +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/loadTable.mjs +48 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/rest.mjs +159 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/create.mjs +67 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/delete.mjs +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/fetch.mjs +162 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/index.mjs +13 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/json.mjs +147 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/manifest.mjs +71 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/metadata.mjs +151 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/prune.mjs +4 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/deletion-vector.mjs +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/puffin.mjs +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/roaring.mjs +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/read.mjs +9 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/s3.mjs +91 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/schema.mjs +76 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sigv4.mjs +70 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sql/icebergDataSource.mjs +8 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sql/icebergQuery.mjs +5 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sql/whereFilter.mjs +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/types.d.mts +255 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/utils.mjs +26 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/commit.mjs +392 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/conversions.mjs +59 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/delete-file.mjs +3 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/geospatial.mjs +72 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/manifest-list.mjs +152 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/manifest.mjs +212 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/parquet.mjs +305 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/partition.mjs +178 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/rewrite.mjs +10 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/serde.mjs +148 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/snapshot.mjs +107 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/sort.mjs +47 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage-deletion-vector.mjs +11 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage-position-delete.mjs +8 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage.mjs +237 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stats.mjs +153 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/transform.mjs +220 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/write.mjs +247 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/catalog/file.d.mts +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/catalog/rest.d.mts +76 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/create.d.mts +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/fetch.d.mts +36 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/index.d.mts +13 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/manifest.d.mts +30 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/metadata.d.mts +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/read.d.mts +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/s3.d.mts +36 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/sql/icebergDataSource.d.mts +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/sql/icebergQuery.d.mts +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/write/write.d.mts +79 -0
- package/dist/{_chunks/libs/ioredis.d.mts → node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/Command.d.mts} +1 -1
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/DataHandler.d.mts +4 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/Pipeline.d.mts +4 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/Redis.d.mts +10 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/ScanStream.d.mts +1 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/SubscriptionSet.d.mts +1 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/cluster/ClusterOptions.d.mts +4 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/cluster/index.d.mts +9 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/cluster/util.d.mts +1 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/AbstractConnector.d.mts +1 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/ConnectorConstructor.d.mts +1 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/SentinelConnector/SentinelIterator.d.mts +1 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/SentinelConnector/index.d.mts +6 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/SentinelConnector/types.d.mts +1 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/StandaloneConnector.d.mts +3 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/index.d.mts +13 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/redis/RedisOptions.d.mts +4 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/transaction.d.mts +1 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/types.d.mts +1 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/utils/Commander.d.mts +3 -0
- package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/utils/RedisCommander.d.mts +2 -0
- package/dist/node_modules/.pnpm/lru-cache@11.5.0/node_modules/lru-cache/dist/esm/index.d.mts +1 -0
- package/dist/node_modules/.pnpm/lru-cache@11.5.0/node_modules/lru-cache/dist/esm/perf.d.mts +1 -0
- package/dist/node_modules/.pnpm/readdirp@5.0.0/node_modules/readdirp/index.d.mts +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/ast.d.mts +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/backend/dataSource.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/accumulator.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/aggregates.mjs +10 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/execute.mjs +15 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/join.mjs +5 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/scanColumn.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/sort.mjs +5 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/streamingAggregate.mjs +9 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/utils.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/window.mjs +5 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/yield.mjs +17 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/alias.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/binary.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/date.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/evaluate.mjs +15 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/math.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/regexp.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/strings.mjs +3 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/index.d.mts +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/index.mjs +9 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/expression.mjs +6 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/extractTables.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/functions.mjs +5 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/joins.mjs +7 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/parse.mjs +10 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/primary.mjs +8 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/state.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/tokenize.mjs +3 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/types.d.mts +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/columns.mjs +3 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/plan.mjs +7 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/types.d.mts +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/bbox.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/equality.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/operations.mjs +5 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/pointRelations.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/primitives.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/segments.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/spatial.mjs +6 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/wkt.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/types.d.mts +3 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/aggregates.mjs +3 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/executionErrors.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/functions.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/keywords.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/parseErrors.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/tables.mjs +2 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/dist/index.d.mts +32 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/dist/index2.d.mts +33 -0
- package/dist/{_chunks/libs/unstorage.d.mts → node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/dist/shared/unstorage.DqlWKU2I.d.mts} +9 -13
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/dist/shared/unstorage2.DqlWKU2I.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/azure-app-configuration.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/azure-cosmos.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/azure-key-vault.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/azure-storage-blob.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/azure-storage-table.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/capacitor-preferences.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/cloudflare-kv-binding.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/cloudflare-kv-http.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/cloudflare-r2-binding.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/db0.d.mts +2 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/deno-kv-node.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/deno-kv.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/fs-lite.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/fs.d.mts +2 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/github.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/http.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/indexedb.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/localstorage.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/localstorage2.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/lru-cache.d.mts +2 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/mongodb.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/netlify-blobs.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/overlay.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/planetscale.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/redis.d.mts +2 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/s3.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/session-storage.d.mts +2 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/uploadthing.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/upstash.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/vercel-blob.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/vercel-kv.d.mts +1 -0
- package/dist/node_modules/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/vercel-runtime-cache.d.mts +1 -0
- package/dist/orphan-sweep.d.mts +94 -0
- package/dist/orphan-sweep.mjs +141 -0
- package/dist/partition-prune.d.mts +35 -0
- package/dist/partition-prune.mjs +57 -0
- package/dist/provisioning/allocator.d.mts +44 -0
- package/dist/provisioning/allocator.mjs +24 -0
- package/dist/provisioning/index.d.mts +2 -44
- package/dist/provisioning/index.mjs +1 -23
- package/dist/schema.d.mts +73 -1
- package/dist/unsafe-raw.d.mts +6 -2
- package/dist/unsafe-raw.mjs +6 -2
- package/dist/vendor/hysnappy-purejs.mjs +10 -0
- package/package.json +1 -1
- package/dist/_chunks/libs/hyparquet-compressors.mjs +0 -2785
- package/dist/_chunks/libs/hyparquet-writer.mjs +0 -2516
- package/dist/_chunks/libs/hyparquet.mjs +0 -474
- package/dist/_chunks/libs/icebird.d.mts +0 -500
- package/dist/_chunks/libs/icebird.mjs +0 -3854
- package/dist/_chunks/schema.d.mts +0 -74
- /package/dist/{_chunks/libs/chokidar.d.mts → node_modules/.pnpm/db0@0.3.4_drizzle-orm@1.0.0-rc.3_@cloudflare_workers-types@5.20260722.1_valibot@1.4.2_typescript@7.0.2__zod@4.4.3_/node_modules/db0/dist/index.d.mts} +0 -0
- /package/dist/{_chunks/libs/db0.d.mts → node_modules/.pnpm/denque@2.1.0/node_modules/denque/index.d.mts} +0 -0
- /package/dist/{_chunks/libs/fzstd.mjs → node_modules/.pnpm/fzstd@0.1.1/node_modules/fzstd/esm/index.mjs} +0 -0
- /package/dist/{_chunks/libs/denque.d.mts → node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/wkb.d.mts} +0 -0
- /package/dist/{_chunks/libs/lru-cache.d.mts → node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/types.d.mts} +0 -0
package/dist/dataset.mjs
ADDED
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
import { coerceBigIntToNumber } from "./bigint.mjs";
|
|
2
|
+
import { icebergCreateTable } from "./node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/write.mjs";
|
|
3
|
+
import "./node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/index.mjs";
|
|
4
|
+
import { buildManifestPartitionFilter } from "./partition-prune.mjs";
|
|
5
|
+
import { ICEBERG_TYPE_MAP, connectIcebergCatalog, ensureIcebergNamespace, icebergAppendBatchesRetrying, icebergAppendRetrying, resolveIcebergDataFiles } from "./catalog.mjs";
|
|
6
|
+
const INT32_MIN = -2147483648;
|
|
7
|
+
const INT32_MAX = 2147483647;
|
|
8
|
+
const DAY_MILLIS = 864e5;
|
|
9
|
+
function identityColumnNames(identity) {
|
|
10
|
+
return identity.kind === "site-int" ? ["site_id"] : identity.columns.map((c) => c.name);
|
|
11
|
+
}
|
|
12
|
+
function identityEncodings(identity) {
|
|
13
|
+
const map = /* @__PURE__ */ new Map();
|
|
14
|
+
if (identity.kind === "site-int") map.set("site_id", (identity.encoding ?? "int") === "int" ? "int32" : "string");
|
|
15
|
+
else for (const c of identity.columns) map.set(c.name, c.encoding);
|
|
16
|
+
return map;
|
|
17
|
+
}
|
|
18
|
+
function identityColumnType(encoding) {
|
|
19
|
+
return encoding === "int32" ? "INT" : "STRING";
|
|
20
|
+
}
|
|
21
|
+
function deriveTableSpec(def) {
|
|
22
|
+
const encodings = identityEncodings(def.identity);
|
|
23
|
+
const idNames = identityColumnNames(def.identity);
|
|
24
|
+
const dimNames = def.dims ? Object.keys(def.dims) : [];
|
|
25
|
+
let fieldId = 1;
|
|
26
|
+
const columns = [];
|
|
27
|
+
for (const name of idNames) columns.push({
|
|
28
|
+
name,
|
|
29
|
+
type: identityColumnType(encodings.get(name)),
|
|
30
|
+
required: true,
|
|
31
|
+
fieldId: fieldId++
|
|
32
|
+
});
|
|
33
|
+
for (const name of dimNames) {
|
|
34
|
+
const enc = def.dims[name].boundEncoding;
|
|
35
|
+
columns.push({
|
|
36
|
+
name,
|
|
37
|
+
type: identityColumnType(enc),
|
|
38
|
+
required: true,
|
|
39
|
+
fieldId: fieldId++
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
for (const col of def.columns) columns.push({
|
|
43
|
+
name: col.name,
|
|
44
|
+
type: col.type,
|
|
45
|
+
required: col.required,
|
|
46
|
+
fieldId: fieldId++
|
|
47
|
+
});
|
|
48
|
+
return {
|
|
49
|
+
namespace: def.namespace,
|
|
50
|
+
table: def.table,
|
|
51
|
+
columns,
|
|
52
|
+
partitionSpec: def.partition,
|
|
53
|
+
naturalKey: def.naturalKey,
|
|
54
|
+
identityColumns: [
|
|
55
|
+
...idNames,
|
|
56
|
+
...dimNames,
|
|
57
|
+
...def.naturalKey
|
|
58
|
+
],
|
|
59
|
+
clusterKey: def.clusterKey
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function icebergSchemaFromSpec(spec) {
|
|
63
|
+
return {
|
|
64
|
+
"type": "struct",
|
|
65
|
+
"schema-id": 0,
|
|
66
|
+
"fields": spec.columns.map((col) => ({
|
|
67
|
+
id: col.fieldId,
|
|
68
|
+
name: col.name,
|
|
69
|
+
required: col.required,
|
|
70
|
+
type: ICEBERG_TYPE_MAP[col.type]
|
|
71
|
+
}))
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function icebergPartitionSpecFromSpec(spec) {
|
|
75
|
+
const fieldId = (name) => {
|
|
76
|
+
const col = spec.columns.find((c) => c.name === name);
|
|
77
|
+
if (!col) throw new Error(`lakehouse: table '${spec.table}' has no '${name}' column`);
|
|
78
|
+
return col.fieldId;
|
|
79
|
+
};
|
|
80
|
+
return {
|
|
81
|
+
"spec-id": 0,
|
|
82
|
+
"fields": spec.partitionSpec.map((p, i) => ({
|
|
83
|
+
"source-id": fieldId(p.sourceColumn),
|
|
84
|
+
"field-id": 1e3 + i,
|
|
85
|
+
"name": p.name,
|
|
86
|
+
"transform": p.transform
|
|
87
|
+
}))
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
function icebergSortOrderFromSpec(spec) {
|
|
91
|
+
if (!spec.clusterKey || spec.clusterKey.length === 0) return void 0;
|
|
92
|
+
const fieldId = (name) => {
|
|
93
|
+
const col = spec.columns.find((c) => c.name === name);
|
|
94
|
+
if (!col) throw new Error(`lakehouse: table '${spec.table}' has no '${name}' column`);
|
|
95
|
+
return col.fieldId;
|
|
96
|
+
};
|
|
97
|
+
return {
|
|
98
|
+
"order-id": 1,
|
|
99
|
+
"fields": spec.clusterKey.map((col) => ({
|
|
100
|
+
"source-id": fieldId(col),
|
|
101
|
+
"transform": "identity",
|
|
102
|
+
"direction": "asc",
|
|
103
|
+
"null-order": "nulls-last"
|
|
104
|
+
}))
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
function toIcebergDayCount(value) {
|
|
108
|
+
if (typeof value === "number") return value;
|
|
109
|
+
if (value instanceof Date) {
|
|
110
|
+
const ms = value.getTime();
|
|
111
|
+
if (Number.isNaN(ms)) throw new TypeError("toIcebergDayCount: invalid Date (NaN)");
|
|
112
|
+
return Math.floor(ms / DAY_MILLIS);
|
|
113
|
+
}
|
|
114
|
+
const ms = Date.parse(`${value}T00:00:00Z`);
|
|
115
|
+
if (Number.isNaN(ms)) throw new TypeError(`toIcebergDayCount: invalid date string '${value}'`);
|
|
116
|
+
return Math.floor(ms / DAY_MILLIS);
|
|
117
|
+
}
|
|
118
|
+
function asInt32(value) {
|
|
119
|
+
if (typeof value !== "string" && typeof value !== "number" && typeof value !== "bigint") return null;
|
|
120
|
+
const n = Number(value);
|
|
121
|
+
if (!Number.isSafeInteger(n) || n < INT32_MIN || n > INT32_MAX) return null;
|
|
122
|
+
return n;
|
|
123
|
+
}
|
|
124
|
+
function buildRowProcessor(def, tableSpec) {
|
|
125
|
+
const idNames = identityColumnNames(def.identity);
|
|
126
|
+
const idEncodings = identityEncodings(def.identity);
|
|
127
|
+
const dimNames = def.dims ? Object.keys(def.dims) : [];
|
|
128
|
+
const identityColumns = tableSpec.identityColumns;
|
|
129
|
+
function guard(row) {
|
|
130
|
+
const out = {};
|
|
131
|
+
for (const name of idNames) {
|
|
132
|
+
const enc = idEncodings.get(name);
|
|
133
|
+
const raw = row[name];
|
|
134
|
+
if (enc === "int32") {
|
|
135
|
+
const n = asInt32(raw);
|
|
136
|
+
if (n === null) return null;
|
|
137
|
+
out[name] = n;
|
|
138
|
+
} else {
|
|
139
|
+
if (raw == null || raw === "") return null;
|
|
140
|
+
out[name] = String(raw);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
for (const name of dimNames) out[name] = def.dims[name].toPartitionValue(String(row[name]));
|
|
144
|
+
for (const col of def.columns) {
|
|
145
|
+
const value = row[col.name];
|
|
146
|
+
out[col.name] = col.type === "LONG" ? typeof value === "number" ? BigInt(value) : value : coerceBigIntToNumber(value);
|
|
147
|
+
}
|
|
148
|
+
return out;
|
|
149
|
+
}
|
|
150
|
+
function dedupe(rows) {
|
|
151
|
+
if (rows.length < 2) return rows;
|
|
152
|
+
const seen = /* @__PURE__ */ new Map();
|
|
153
|
+
for (const rec of rows) {
|
|
154
|
+
let identity = "";
|
|
155
|
+
for (let index = 0; index < identityColumns.length; index++) {
|
|
156
|
+
if (index > 0) identity += "\0";
|
|
157
|
+
identity += `${rec[identityColumns[index]] ?? ""}`;
|
|
158
|
+
}
|
|
159
|
+
seen.set(identity, rec);
|
|
160
|
+
}
|
|
161
|
+
return seen.size === rows.length ? rows : [...seen.values()];
|
|
162
|
+
}
|
|
163
|
+
function sort(rows) {
|
|
164
|
+
const cols = def.clusterKey;
|
|
165
|
+
if (!cols || cols.length === 0 || rows.length < 2) return rows;
|
|
166
|
+
return rows.slice().sort((a, b) => {
|
|
167
|
+
for (const col of cols) {
|
|
168
|
+
const av = a[col];
|
|
169
|
+
const bv = b[col];
|
|
170
|
+
if (av === bv) continue;
|
|
171
|
+
if (av == null) return -1;
|
|
172
|
+
if (bv == null) return 1;
|
|
173
|
+
if (typeof av === "number" && typeof bv === "number") return av - bv;
|
|
174
|
+
const as = String(av);
|
|
175
|
+
const bs = String(bv);
|
|
176
|
+
if (as !== bs) return as < bs ? -1 : 1;
|
|
177
|
+
}
|
|
178
|
+
return 0;
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
guard,
|
|
183
|
+
dedupe,
|
|
184
|
+
sort
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
function defineIcebergDataset(def) {
|
|
188
|
+
const tableSpec = deriveTableSpec(def);
|
|
189
|
+
const schema = icebergSchemaFromSpec(tableSpec);
|
|
190
|
+
const partitionSpecIcebird = icebergPartitionSpecFromSpec(tableSpec);
|
|
191
|
+
const sortOrder = icebergSortOrderFromSpec(tableSpec);
|
|
192
|
+
const { guard, dedupe, sort } = buildRowProcessor(def, tableSpec);
|
|
193
|
+
async function createTable(conn) {
|
|
194
|
+
const results = [];
|
|
195
|
+
await icebergCreateTable({
|
|
196
|
+
catalog: conn.catalog,
|
|
197
|
+
namespace: conn.namespace,
|
|
198
|
+
table: def.table,
|
|
199
|
+
schema,
|
|
200
|
+
partitionSpec: partitionSpecIcebird,
|
|
201
|
+
...sortOrder ? { sortOrder } : {}
|
|
202
|
+
}).then(() => results.push({
|
|
203
|
+
table: def.table,
|
|
204
|
+
ok: true
|
|
205
|
+
}), (e) => results.push({
|
|
206
|
+
table: def.table,
|
|
207
|
+
ok: false,
|
|
208
|
+
error: e instanceof Error ? e.message : String(e)
|
|
209
|
+
}));
|
|
210
|
+
return results;
|
|
211
|
+
}
|
|
212
|
+
function process(rows) {
|
|
213
|
+
const guarded = [];
|
|
214
|
+
let skipped = 0;
|
|
215
|
+
for (const row of rows) {
|
|
216
|
+
const rec = guard(row);
|
|
217
|
+
if (rec === null) skipped++;
|
|
218
|
+
else guarded.push(rec);
|
|
219
|
+
}
|
|
220
|
+
return {
|
|
221
|
+
records: sort(dedupe(guarded)),
|
|
222
|
+
skipped
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
async function appendRows(conn, rows, opts = {}) {
|
|
226
|
+
if (rows.length === 0) return {
|
|
227
|
+
accepted: 0,
|
|
228
|
+
skipped: 0
|
|
229
|
+
};
|
|
230
|
+
const { records, skipped } = process(rows);
|
|
231
|
+
if (records.length === 0) return {
|
|
232
|
+
accepted: 0,
|
|
233
|
+
skipped
|
|
234
|
+
};
|
|
235
|
+
await icebergAppendRetrying({
|
|
236
|
+
catalog: conn.catalog,
|
|
237
|
+
namespace: conn.namespace,
|
|
238
|
+
table: def.table,
|
|
239
|
+
resolver: conn.resolver,
|
|
240
|
+
records
|
|
241
|
+
}, opts.commitRetry);
|
|
242
|
+
return {
|
|
243
|
+
accepted: records.length,
|
|
244
|
+
skipped
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
async function appendBatches(conn, source, opts) {
|
|
248
|
+
let accepted = 0;
|
|
249
|
+
let skipped = 0;
|
|
250
|
+
const batchFactory = async function* () {
|
|
251
|
+
accepted = 0;
|
|
252
|
+
skipped = 0;
|
|
253
|
+
for await (const rows of source()) {
|
|
254
|
+
const prepared = process(rows);
|
|
255
|
+
accepted += prepared.records.length;
|
|
256
|
+
skipped += prepared.skipped;
|
|
257
|
+
if (prepared.records.length > 0) yield prepared.records;
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
const committed = await icebergAppendBatchesRetrying({
|
|
261
|
+
catalog: conn.catalog,
|
|
262
|
+
namespace: conn.namespace,
|
|
263
|
+
table: def.table,
|
|
264
|
+
resolver: conn.resolver,
|
|
265
|
+
batchFactory
|
|
266
|
+
}, {
|
|
267
|
+
...opts.commitRetry,
|
|
268
|
+
appendId: opts.appendId
|
|
269
|
+
});
|
|
270
|
+
return {
|
|
271
|
+
accepted,
|
|
272
|
+
skipped,
|
|
273
|
+
committed
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
function appendSink(opts) {
|
|
277
|
+
let buffer = [];
|
|
278
|
+
let connection;
|
|
279
|
+
function connect() {
|
|
280
|
+
connection ??= connectIcebergCatalog(opts.catalog, opts.connect).then(async (conn) => {
|
|
281
|
+
await ensureIcebergNamespace(conn);
|
|
282
|
+
return conn;
|
|
283
|
+
});
|
|
284
|
+
return connection;
|
|
285
|
+
}
|
|
286
|
+
return {
|
|
287
|
+
emit(rows) {
|
|
288
|
+
for (const r of rows) buffer.push(r);
|
|
289
|
+
},
|
|
290
|
+
async close() {
|
|
291
|
+
if (buffer.length === 0) return {
|
|
292
|
+
flushed: false,
|
|
293
|
+
accepted: 0,
|
|
294
|
+
skipped: 0
|
|
295
|
+
};
|
|
296
|
+
const rows = buffer;
|
|
297
|
+
buffer = [];
|
|
298
|
+
try {
|
|
299
|
+
const result = await appendRows(await connect(), rows, { commitRetry: opts.commitRetry });
|
|
300
|
+
if (result.accepted > 0 && opts.ledger) await opts.ledger.record();
|
|
301
|
+
return {
|
|
302
|
+
flushed: result.accepted > 0,
|
|
303
|
+
...result
|
|
304
|
+
};
|
|
305
|
+
} catch (error) {
|
|
306
|
+
return {
|
|
307
|
+
flushed: false,
|
|
308
|
+
accepted: 0,
|
|
309
|
+
skipped: 0,
|
|
310
|
+
error
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
function readerPredicate(identity, dims) {
|
|
317
|
+
const idNames = identityColumnNames(def.identity);
|
|
318
|
+
const idEncodings = identityEncodings(def.identity);
|
|
319
|
+
const matches = idNames.map((name) => ({
|
|
320
|
+
field: name,
|
|
321
|
+
value: idEncodings.get(name) === "int32" ? Number(identity) : identity,
|
|
322
|
+
encoding: idEncodings.get(name) === "int32" ? "int32" : "string"
|
|
323
|
+
}));
|
|
324
|
+
if (def.dims && dims) {
|
|
325
|
+
for (const [name, dim] of Object.entries(def.dims)) if (name in dims) matches.push({
|
|
326
|
+
field: name,
|
|
327
|
+
value: dim.toPartitionValue(dims[name]),
|
|
328
|
+
encoding: dim.boundEncoding
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
return matches;
|
|
332
|
+
}
|
|
333
|
+
function partitionBoundFilter(identity, months, dims) {
|
|
334
|
+
return buildManifestPartitionFilter(def.partition, readerPredicate(identity, dims), months);
|
|
335
|
+
}
|
|
336
|
+
async function resolveDataFiles(conn, identity, range, dims, opts = {}) {
|
|
337
|
+
return resolveIcebergDataFiles(conn, {
|
|
338
|
+
namespace: def.namespace,
|
|
339
|
+
table: def.table,
|
|
340
|
+
partitionSpec: def.partition,
|
|
341
|
+
matches: readerPredicate(identity, dims),
|
|
342
|
+
range,
|
|
343
|
+
cache: opts.cache,
|
|
344
|
+
clock: opts.clock,
|
|
345
|
+
profiler: opts.profiler
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
return {
|
|
349
|
+
def,
|
|
350
|
+
tableSpec,
|
|
351
|
+
icebergSchema: () => schema,
|
|
352
|
+
icebergPartitionSpec: () => partitionSpecIcebird,
|
|
353
|
+
icebergSortOrder: () => sortOrder,
|
|
354
|
+
createTable,
|
|
355
|
+
appendRows,
|
|
356
|
+
appendBatches,
|
|
357
|
+
prepareRows: process,
|
|
358
|
+
appendSink,
|
|
359
|
+
readerPredicate,
|
|
360
|
+
partitionBoundFilter,
|
|
361
|
+
resolveDataFiles
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
export { defineIcebergDataset, deriveTableSpec, toIcebergDayCount };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,161 +1,7 @@
|
|
|
1
1
|
import { bigintJsonReplacer, coerceBigIntToNumber, encodeJsonBigintSafe, stringifyBigintSafe } from "./bigint.mjs";
|
|
2
|
-
import { CatalogCache,
|
|
3
|
-
import { DEFAULT_PARTITION_KEY_ENCODING, IcebergColumn, IcebergColumnType, IcebergPartitionField, IcebergPartitionTransform, IcebergS3Config, IcebergTableSpec, PartitionKeyEncoding } from "./
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* fixed column name `site_id`. `'columns'` is the general N-column identity
|
|
8
|
-
* with per-column encoding, replacing the original opaque `'custom'` shape.
|
|
9
|
-
*/
|
|
10
|
-
type DatasetIdentity = {
|
|
11
|
-
kind: 'site-int';
|
|
12
|
-
encoding?: 'int' | 'string';
|
|
13
|
-
} | {
|
|
14
|
-
kind: 'columns';
|
|
15
|
-
columns: readonly {
|
|
16
|
-
name: string;
|
|
17
|
-
encoding: 'int32' | 'string';
|
|
18
|
-
}[];
|
|
19
|
-
};
|
|
20
|
-
/** A per-slice dimension (GSC's `searchType`). Absent for plain snapshot datasets. */
|
|
21
|
-
interface DatasetDim {
|
|
22
|
-
toPartitionValue: (v: string) => string | number;
|
|
23
|
-
/** Required (amendment 5) — how the reader decodes this column's manifest bounds. */
|
|
24
|
-
boundEncoding: 'int32' | 'string';
|
|
25
|
-
}
|
|
26
|
-
interface IcebergDatasetColumnDef {
|
|
27
|
-
name: string;
|
|
28
|
-
type: IcebergColumnType;
|
|
29
|
-
required: boolean;
|
|
30
|
-
}
|
|
31
|
-
interface IcebergDatasetLedger {
|
|
32
|
-
key: readonly string[];
|
|
33
|
-
}
|
|
34
|
-
interface IcebergDatasetDef {
|
|
35
|
-
namespace: string;
|
|
36
|
-
table: string;
|
|
37
|
-
identity: DatasetIdentity;
|
|
38
|
-
/** Extra per-slice dimensions; absent for snapshot datasets. */
|
|
39
|
-
dims?: Record<string, DatasetDim>;
|
|
40
|
-
/** Data columns (non-identity, non-dims) — includes any partition source column (e.g. `date`). */
|
|
41
|
-
columns: readonly IcebergDatasetColumnDef[];
|
|
42
|
-
/** Partition fields; identity columns must appear here. */
|
|
43
|
-
partition: readonly IcebergPartitionField[];
|
|
44
|
-
/** Natural-key columns. Full dedupe key = identity + dims + naturalKey (amendment 3). */
|
|
45
|
-
naturalKey: readonly string[];
|
|
46
|
-
clusterKey?: readonly string[];
|
|
47
|
-
/** Consumer-owned exactly-once ledger shape — folded into `appendSink().close()` (amendment 6). */
|
|
48
|
-
ledger?: IcebergDatasetLedger;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Derive the full {@link IcebergTableSpec} from a dataset def. Field ids are
|
|
52
|
-
* assigned sequentially in ONE fixed order — identity columns, then dims
|
|
53
|
-
* columns, then declared data columns — starting at 1. This mirrors the
|
|
54
|
-
* engine's original `icebergTableSpec` contract (identity columns first, data
|
|
55
|
-
* columns from a fixed base) so a def-derived spec for an existing table
|
|
56
|
-
* (`crawl.pages`, `lighthouse.scans`, `dataforseo.keywords`) is BYTE-IDENTICAL
|
|
57
|
-
* to the frozen inline constants it replaces.
|
|
58
|
-
*/
|
|
59
|
-
declare function deriveTableSpec(def: IcebergDatasetDef): IcebergTableSpec;
|
|
60
|
-
/**
|
|
61
|
-
* Convert a `YYYY-MM-DD` string / `Date` / already-numeric day-count to the
|
|
62
|
-
* integer "days since the Unix epoch" the Iceberg `date` type stores.
|
|
63
|
-
* hyparquet-writer mis-encodes Date-valued dictionary columns, so callers
|
|
64
|
-
* should feed this INTO their row before `appendRows`/`appendSink.emit` for
|
|
65
|
-
* any `month`-partitioned date column.
|
|
66
|
-
*/
|
|
67
|
-
declare function toIcebergDayCount(value: string | Date | number): number;
|
|
68
|
-
/** Options shared by `appendRows` / `appendSink`. */
|
|
69
|
-
interface AppendCommitOptions {
|
|
70
|
-
commitRetry?: CommitRetryOptions;
|
|
71
|
-
}
|
|
72
|
-
interface AppendSinkOptions extends AppendCommitOptions {
|
|
73
|
-
catalog: IcebergCatalogConfig;
|
|
74
|
-
connect?: ConnectIcebergOptions;
|
|
75
|
-
/** Invoked ONLY after a successful flush (amendment 6) — never on a failed/empty close. */
|
|
76
|
-
ledger?: {
|
|
77
|
-
record: () => Promise<void> | void;
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
interface AppendResult {
|
|
81
|
-
/** Rows accepted after the identity guard + dedupe (what was actually appended). */
|
|
82
|
-
accepted: number;
|
|
83
|
-
/** Rows dropped by the identity guard (missing/out-of-range required identity value). */
|
|
84
|
-
skipped: number;
|
|
85
|
-
}
|
|
86
|
-
type AppendBatchSource = () => Iterable<readonly Record<string, unknown>[]> | AsyncIterable<readonly Record<string, unknown>[]>;
|
|
87
|
-
interface AppendBatchesOptions extends AppendCommitOptions {
|
|
88
|
-
/** Stable across job retries; recorded in snapshot metadata for landed checks. */
|
|
89
|
-
appendId: string;
|
|
90
|
-
}
|
|
91
|
-
interface AppendBatchesResult extends AppendResult {
|
|
92
|
-
/** False when this append id was already present before the call. */
|
|
93
|
-
committed: boolean;
|
|
94
|
-
}
|
|
95
|
-
interface AppendSinkCloseResult extends AppendResult {
|
|
96
|
-
flushed: boolean;
|
|
97
|
-
error?: unknown;
|
|
98
|
-
}
|
|
99
|
-
interface AppendSink {
|
|
100
|
-
emit: (rows: readonly Record<string, unknown>[]) => void;
|
|
101
|
-
close: () => Promise<AppendSinkCloseResult>;
|
|
102
|
-
}
|
|
103
|
-
interface ResolveDataFilesOptions {
|
|
104
|
-
cache?: CatalogCache;
|
|
105
|
-
clock?: () => number;
|
|
106
|
-
profiler?: QueryProfiler;
|
|
107
|
-
}
|
|
108
|
-
interface IcebergDataset {
|
|
109
|
-
readonly def: IcebergDatasetDef;
|
|
110
|
-
readonly tableSpec: IcebergTableSpec;
|
|
111
|
-
icebergSchema: () => IcebergSchema;
|
|
112
|
-
icebergPartitionSpec: () => IcebergPartitionSpec;
|
|
113
|
-
icebergSortOrder: () => IcebergSortOrder | undefined;
|
|
114
|
-
createTable: (conn: IcebergConnection) => Promise<IcebergTableOpResult[]>;
|
|
115
|
-
/**
|
|
116
|
-
* One-shot append over an EXISTING connection: identity INT32 guard, dedupe
|
|
117
|
-
* by identity+dims+naturalKey (last-wins), cluster pre-sort (if
|
|
118
|
-
* `clusterKey` is set), then a single `icebergAppendRetrying` commit. `rows`
|
|
119
|
-
* must already be in final storage-column shape — identity/dims/data
|
|
120
|
-
* columns keyed by their STORED column names, with any `month`-partitioned
|
|
121
|
-
* date column pre-converted via {@link toIcebergDayCount}.
|
|
122
|
-
*/
|
|
123
|
-
appendRows: (conn: IcebergConnection, rows: readonly Record<string, unknown>[], opts?: AppendCommitOptions) => Promise<AppendResult>;
|
|
124
|
-
/**
|
|
125
|
-
* Lazily process bounded row batches, writing multiple data files into one
|
|
126
|
-
* append snapshot and one catalog commit. Dedupe keys must be disjoint
|
|
127
|
-
* across source batches.
|
|
128
|
-
*/
|
|
129
|
-
appendBatches: (conn: IcebergConnection, source: AppendBatchSource, opts: AppendBatchesOptions) => Promise<AppendBatchesResult>;
|
|
130
|
-
/**
|
|
131
|
-
* PURE row processing — the identity INT32 guard, dedupe (identity+dims+
|
|
132
|
-
* naturalKey, last-wins) and cluster pre-sort `appendRows`/`appendSink`
|
|
133
|
-
* apply before committing, exposed standalone with NO network/icebird call.
|
|
134
|
-
* Lets a consumer that owns its own commit call-site (e.g. one still
|
|
135
|
-
* calling a frozen `icebergAppendRetrying` import directly, for test-mock
|
|
136
|
-
* compatibility) still route its dedupe/guard/sort logic through the
|
|
137
|
-
* dataset definition.
|
|
138
|
-
*/
|
|
139
|
-
prepareRows: (rows: readonly Record<string, unknown>[]) => {
|
|
140
|
-
records: Record<string, unknown>[];
|
|
141
|
-
skipped: number;
|
|
142
|
-
};
|
|
143
|
-
/** Buffered multi-emit sink — owns its own connect/close lifecycle (ADR-0021's primary contract). */
|
|
144
|
-
appendSink: (opts: AppendSinkOptions) => AppendSink;
|
|
145
|
-
/** `PartitionValueMatch[]` for one identity value (+ optional dims), for manual manifest filtering. */
|
|
146
|
-
readerPredicate: (identity: string | number, dims?: Record<string, string>) => PartitionValueMatch[];
|
|
147
|
-
/** A ready-to-use manifest partition filter for one identity value + wanted months. */
|
|
148
|
-
partitionBoundFilter: (identity: string | number, months: ReadonlySet<number>, dims?: Record<string, string>) => ManifestPartitionFilter;
|
|
149
|
-
/** Resolve the data files for one identity value across a date range. */
|
|
150
|
-
resolveDataFiles: (conn: IcebergConnection, identity: string | number, range: {
|
|
151
|
-
start: string;
|
|
152
|
-
end: string;
|
|
153
|
-
}, dims?: Record<string, string>, opts?: ResolveDataFilesOptions) => Promise<IcebergListedDataFile[]>;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Declare an Iceberg dataset — one `namespace.table` — deriving its schema,
|
|
157
|
-
* partition spec, dedupe key, INT32 guard, append path, and reader helpers
|
|
158
|
-
* from the def. See {@link IcebergDatasetDef}.
|
|
159
|
-
*/
|
|
160
|
-
declare function defineIcebergDataset(def: IcebergDatasetDef): IcebergDataset;
|
|
2
|
+
import { CatalogCache, cacheGet, cachePut } from "./catalog-cache.mjs";
|
|
3
|
+
import { DEFAULT_PARTITION_KEY_ENCODING, IcebergColumn, IcebergColumnType, IcebergPartitionField, IcebergPartitionTransform, IcebergS3Config, IcebergTableSpec, PartitionKeyEncoding } from "./schema.mjs";
|
|
4
|
+
import { IcebergFieldSummary, ManifestPartitionFilter, PartitionValueMatch, buildManifestPartitionFilter } from "./partition-prune.mjs";
|
|
5
|
+
import { CommitRetryOptions, ConnectIcebergOptions, ICEBERG_TYPE_MAP, IcebergCatalogConfig, IcebergConnection, IcebergListedDataFile, IcebergPartitionSpec, IcebergPartitionSpecField, IcebergPrimitiveType, IcebergSchema, IcebergSchemaField, IcebergSortOrder, IcebergSortOrderField, IcebergTableOpResult, QueryProfiler, ResolveIcebergDataFilesOptions, catalogCacheScope, connectIcebergCatalog, dropIcebergTables, ensureIcebergNamespace, invalidateSnapshotRef, listIcebergTables, resolveIcebergDataFiles } from "./catalog.mjs";
|
|
6
|
+
import { AppendBatchSource, AppendBatchesOptions, AppendBatchesResult, AppendCommitOptions, AppendResult, AppendSink, AppendSinkCloseResult, AppendSinkOptions, DatasetDim, DatasetIdentity, IcebergDataset, IcebergDatasetColumnDef, IcebergDatasetDef, IcebergDatasetLedger, ResolveDataFilesOptions, defineIcebergDataset, deriveTableSpec, toIcebergDayCount } from "./dataset.mjs";
|
|
161
7
|
export { type AppendBatchSource, type AppendBatchesOptions, type AppendBatchesResult, type AppendCommitOptions, type AppendResult, type AppendSink, type AppendSinkCloseResult, type AppendSinkOptions, type CatalogCache, type CommitRetryOptions, type ConnectIcebergOptions, DEFAULT_PARTITION_KEY_ENCODING, type DatasetDim, type DatasetIdentity, ICEBERG_TYPE_MAP, type IcebergCatalogConfig, type IcebergColumn, type IcebergColumnType, type IcebergConnection, type IcebergDataset, type IcebergDatasetColumnDef, type IcebergDatasetDef, type IcebergDatasetLedger, type IcebergFieldSummary, type IcebergListedDataFile, type IcebergPartitionField, type IcebergPartitionSpec, type IcebergPartitionSpecField, type IcebergPartitionTransform, type IcebergPrimitiveType, type IcebergS3Config, type IcebergSchema, type IcebergSchemaField, type IcebergSortOrder, type IcebergSortOrderField, type IcebergTableOpResult, type IcebergTableSpec, type ManifestPartitionFilter, type PartitionKeyEncoding, type PartitionValueMatch, type QueryProfiler, type ResolveDataFilesOptions, type ResolveIcebergDataFilesOptions, bigintJsonReplacer, buildManifestPartitionFilter, cacheGet, cachePut, catalogCacheScope, coerceBigIntToNumber, connectIcebergCatalog, defineIcebergDataset, deriveTableSpec, dropIcebergTables, encodeJsonBigintSafe, ensureIcebergNamespace, invalidateSnapshotRef, listIcebergTables, resolveIcebergDataFiles, stringifyBigintSafe, toIcebergDayCount };
|