@gscdump/lakehouse 1.4.0 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/dist/_virtual/node_modules/.pnpm/chokidar@5.0.0/node_modules/chokidar/handler.d.mts +2 -0
  2. package/dist/_virtual/node_modules/.pnpm/chokidar@5.0.0/node_modules/chokidar/index.d.mts +2 -0
  3. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.bitreader.mjs +88 -0
  4. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.blocks.mjs +120 -0
  5. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.context.mjs +1805 -0
  6. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.contextmap.mjs +49 -0
  7. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.dictionary.mjs +984 -0
  8. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.huffman.mjs +266 -0
  9. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.mjs +340 -0
  10. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.prefix.mjs +109 -0
  11. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.streams.mjs +21 -0
  12. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.transform.mjs +190 -0
  13. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/compressors.mjs +14 -0
  14. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/gzip.huffman.mjs +121 -0
  15. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/gzip.mjs +176 -0
  16. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/index.mjs +7 -0
  17. package/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/lz4.mjs +52 -0
  18. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/bloom.mjs +93 -0
  19. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/bytewriter.mjs +91 -0
  20. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/column.mjs +186 -0
  21. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/datapage.mjs +113 -0
  22. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/delta.mjs +111 -0
  23. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/dictionary.mjs +99 -0
  24. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/dremel.mjs +116 -0
  25. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/encoding.mjs +51 -0
  26. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/geospatial.mjs +84 -0
  27. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/index.mjs +7 -0
  28. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/indexes.mjs +31 -0
  29. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/metadata.mjs +138 -0
  30. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/node.mjs +7 -0
  31. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/parquet-writer.mjs +139 -0
  32. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/plain.mjs +68 -0
  33. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/schema.mjs +254 -0
  34. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/snappy.mjs +125 -0
  35. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/splitstream.mjs +38 -0
  36. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/thrift.mjs +79 -0
  37. package/dist/{_chunks/libs/hyparquet-writer.d.mts → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/types.d.mts} +2 -2
  38. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/unconvert.mjs +247 -0
  39. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/variant.mjs +391 -0
  40. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/wkb.mjs +79 -0
  41. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/write-rows.mjs +3 -0
  42. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/write.mjs +46 -0
  43. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/bytewriter.d.mts +1 -0
  44. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/index.d.mts +10 -0
  45. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/node.d.mts +3 -0
  46. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/parquet-writer.d.mts +2 -0
  47. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/schema.d.mts +2 -0
  48. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/write-rows.d.mts +1 -0
  49. package/dist/_virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/write.d.mts +1 -0
  50. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/assemble.mjs +3 -0
  51. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/bloom.mjs +69 -0
  52. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/column.mjs +8 -0
  53. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/constants.mjs +80 -0
  54. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/convert.mjs +3 -0
  55. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/datapage.mjs +6 -0
  56. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/delta.mjs +2 -0
  57. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/encoding.mjs +2 -0
  58. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/filter.mjs +3 -0
  59. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/geoparquet.mjs +1 -0
  60. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/index.mjs +7 -0
  61. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/indexes.mjs +5 -0
  62. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/metadata.mjs +7 -0
  63. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/node.mjs +3 -0
  64. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/plain.mjs +1 -0
  65. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/plan.mjs +5 -0
  66. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/query.mjs +3 -0
  67. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/read.mjs +6 -0
  68. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/rowgroup.mjs +7 -0
  69. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/schema.mjs +54 -0
  70. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/snappy.mjs +1 -0
  71. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/thrift.mjs +1 -0
  72. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/utils.mjs +19 -0
  73. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/variant.mjs +3 -0
  74. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/wkb.mjs +1 -0
  75. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/xxhash.mjs +68 -0
  76. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/index.d.mts +7 -0
  77. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/indexes.d.mts +1 -0
  78. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/metadata.d.mts +1 -0
  79. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/node.d.mts +2 -0
  80. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/query.d.mts +1 -0
  81. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/read.d.mts +1 -0
  82. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/snappy.d.mts +1 -0
  83. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/utils.d.mts +1 -0
  84. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/assemble.mjs +144 -0
  85. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/bloom.mjs +124 -0
  86. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/column.mjs +127 -0
  87. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/constants.mjs +75 -0
  88. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/convert.mjs +118 -0
  89. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/datapage.mjs +144 -0
  90. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/delta.mjs +65 -0
  91. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/encoding.mjs +76 -0
  92. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/filter.mjs +98 -0
  93. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/geoparquet.mjs +24 -0
  94. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/index.mjs +7 -0
  95. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/indexes.mjs +16 -0
  96. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/metadata.mjs +235 -0
  97. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/node.mjs +7 -0
  98. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/plain.mjs +78 -0
  99. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/plan.mjs +147 -0
  100. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/query.mjs +3 -0
  101. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/read.mjs +106 -0
  102. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/rowgroup.mjs +154 -0
  103. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/schema.mjs +75 -0
  104. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/snappy.mjs +70 -0
  105. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/thrift.mjs +86 -0
  106. package/dist/{_chunks/libs/hyparquet.d.mts → _virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/types.d.mts} +2 -3
  107. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/utils.mjs +127 -0
  108. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/variant.mjs +225 -0
  109. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/wkb.mjs +94 -0
  110. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/xxhash.mjs +68 -0
  111. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/index.d.mts +9 -0
  112. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/indexes.d.mts +1 -0
  113. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/metadata.d.mts +1 -0
  114. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/node.d.mts +3 -0
  115. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/query.d.mts +1 -0
  116. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/read.d.mts +1 -0
  117. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/snappy.d.mts +1 -0
  118. package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/utils.d.mts +1 -0
  119. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/avro/avro.metadata.mjs +53 -0
  120. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/avro/avro.read.mjs +136 -0
  121. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/avro/avro.write.mjs +148 -0
  122. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/file.mjs +1 -0
  123. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/loadTable.mjs +48 -0
  124. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/rest.mjs +159 -0
  125. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/create.mjs +67 -0
  126. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/delete.mjs +34 -0
  127. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/fetch.mjs +261 -0
  128. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/index.mjs +13 -0
  129. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/json.mjs +147 -0
  130. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/manifest.mjs +84 -0
  131. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/metadata.mjs +159 -0
  132. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/prune.mjs +4 -0
  133. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/deletion-vector.mjs +122 -0
  134. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/puffin.mjs +78 -0
  135. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/roaring.mjs +132 -0
  136. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/read.mjs +324 -0
  137. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/s3.mjs +91 -0
  138. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/schema.mjs +76 -0
  139. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sigv4.mjs +70 -0
  140. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sql/icebergDataSource.mjs +8 -0
  141. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sql/icebergQuery.mjs +5 -0
  142. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sql/whereFilter.mjs +1 -0
  143. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/types.d.mts +255 -0
  144. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/utils.mjs +45 -0
  145. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/commit.mjs +392 -0
  146. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/conversions.mjs +59 -0
  147. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/delete-file.mjs +52 -0
  148. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/geospatial.mjs +72 -0
  149. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/manifest-list.mjs +152 -0
  150. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/manifest.mjs +256 -0
  151. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/parquet.mjs +305 -0
  152. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/partition.mjs +178 -0
  153. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/rewrite.mjs +174 -0
  154. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/serde.mjs +148 -0
  155. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/snapshot.mjs +107 -0
  156. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/sort.mjs +47 -0
  157. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage-deletion-vector.mjs +295 -0
  158. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage-position-delete.mjs +216 -0
  159. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage.mjs +354 -0
  160. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stats.mjs +153 -0
  161. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/transform.mjs +220 -0
  162. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/write.mjs +476 -0
  163. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/catalog/file.d.mts +1 -0
  164. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/catalog/rest.d.mts +76 -0
  165. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/create.d.mts +1 -0
  166. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/fetch.d.mts +36 -0
  167. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/index.d.mts +13 -0
  168. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/manifest.d.mts +30 -0
  169. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/metadata.d.mts +1 -0
  170. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/read.d.mts +2 -0
  171. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/s3.d.mts +36 -0
  172. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/sql/icebergDataSource.d.mts +2 -0
  173. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/sql/icebergQuery.d.mts +2 -0
  174. package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/write/write.d.mts +79 -0
  175. package/dist/{_chunks/libs/ioredis.d.mts → _virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/Command.d.mts} +1 -1
  176. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/DataHandler.d.mts +4 -0
  177. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/Pipeline.d.mts +4 -0
  178. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/Redis.d.mts +10 -0
  179. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/ScanStream.d.mts +1 -0
  180. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/SubscriptionSet.d.mts +1 -0
  181. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/cluster/ClusterOptions.d.mts +4 -0
  182. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/cluster/index.d.mts +9 -0
  183. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/cluster/util.d.mts +1 -0
  184. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/AbstractConnector.d.mts +1 -0
  185. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/ConnectorConstructor.d.mts +1 -0
  186. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/SentinelConnector/SentinelIterator.d.mts +1 -0
  187. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/SentinelConnector/index.d.mts +6 -0
  188. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/SentinelConnector/types.d.mts +1 -0
  189. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/StandaloneConnector.d.mts +3 -0
  190. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/index.d.mts +13 -0
  191. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/redis/RedisOptions.d.mts +4 -0
  192. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/transaction.d.mts +1 -0
  193. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/types.d.mts +1 -0
  194. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/utils/Commander.d.mts +3 -0
  195. package/dist/_virtual/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/utils/RedisCommander.d.mts +2 -0
  196. package/dist/_virtual/node_modules/.pnpm/lru-cache@11.5.0/node_modules/lru-cache/dist/esm/index.d.mts +1 -0
  197. package/dist/_virtual/node_modules/.pnpm/lru-cache@11.5.0/node_modules/lru-cache/dist/esm/perf.d.mts +1 -0
  198. package/dist/_virtual/node_modules/.pnpm/readdirp@5.0.0/node_modules/readdirp/index.d.mts +1 -0
  199. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/ast.d.mts +1 -0
  200. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/backend/dataSource.mjs +1 -0
  201. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/accumulator.mjs +2 -0
  202. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/aggregates.mjs +10 -0
  203. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/execute.mjs +15 -0
  204. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/join.mjs +5 -0
  205. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/scanColumn.mjs +1 -0
  206. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/sort.mjs +5 -0
  207. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/streamingAggregate.mjs +9 -0
  208. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/utils.mjs +1 -0
  209. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/window.mjs +5 -0
  210. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/yield.mjs +17 -0
  211. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/alias.mjs +1 -0
  212. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/binary.mjs +1 -0
  213. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/date.mjs +1 -0
  214. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/evaluate.mjs +15 -0
  215. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/math.mjs +1 -0
  216. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/regexp.mjs +2 -0
  217. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/strings.mjs +3 -0
  218. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/index.d.mts +1 -0
  219. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/index.mjs +9 -0
  220. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/expression.mjs +6 -0
  221. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/extractTables.mjs +1 -0
  222. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/functions.mjs +5 -0
  223. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/joins.mjs +7 -0
  224. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/parse.mjs +10 -0
  225. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/primary.mjs +8 -0
  226. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/state.mjs +2 -0
  227. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/tokenize.mjs +3 -0
  228. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/types.d.mts +1 -0
  229. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/columns.mjs +3 -0
  230. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/plan.mjs +7 -0
  231. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/types.d.mts +1 -0
  232. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/bbox.mjs +2 -0
  233. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/equality.mjs +2 -0
  234. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/operations.mjs +5 -0
  235. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/pointRelations.mjs +2 -0
  236. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/primitives.mjs +2 -0
  237. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/segments.mjs +2 -0
  238. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/spatial.mjs +6 -0
  239. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/wkt.mjs +1 -0
  240. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/types.d.mts +3 -0
  241. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/aggregates.mjs +3 -0
  242. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/executionErrors.mjs +2 -0
  243. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/functions.mjs +2 -0
  244. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/keywords.mjs +1 -0
  245. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/parseErrors.mjs +2 -0
  246. package/dist/_virtual/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/tables.mjs +2 -0
  247. package/dist/_virtual/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
  248. package/dist/_virtual/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
  249. package/dist/{_chunks/libs/unstorage.d.mts → _virtual/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
  250. package/dist/_virtual/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
  251. package/dist/_virtual/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
  252. package/dist/_virtual/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
  253. package/dist/_virtual/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
  254. package/dist/_virtual/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
  255. package/dist/_virtual/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
  256. package/dist/_virtual/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
  257. package/dist/_virtual/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
  258. package/dist/_virtual/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
  259. package/dist/_virtual/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
  260. package/dist/_virtual/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
  261. package/dist/_virtual/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
  262. package/dist/_virtual/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
  263. package/dist/_virtual/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
  264. package/dist/_virtual/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
  265. package/dist/_virtual/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
  266. package/dist/_virtual/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
  267. package/dist/_virtual/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
  268. package/dist/_virtual/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
  269. package/dist/_virtual/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
  270. package/dist/_virtual/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
  271. package/dist/_virtual/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
  272. package/dist/_virtual/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
  273. package/dist/_virtual/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
  274. package/dist/_virtual/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
  275. package/dist/_virtual/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
  276. package/dist/_virtual/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
  277. package/dist/_virtual/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
  278. package/dist/_virtual/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
  279. package/dist/_virtual/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
  280. package/dist/_virtual/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
  281. package/dist/_virtual/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
  282. package/dist/_virtual/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
  283. package/dist/catalog-cache.d.mts +32 -0
  284. package/dist/catalog-cache.mjs +31 -0
  285. package/dist/{_chunks/catalog.d.mts → catalog.d.mts} +9 -70
  286. package/dist/{_chunks/catalog.mjs → catalog.mjs} +15 -96
  287. package/dist/dataset-runtime.mjs +68 -0
  288. package/dist/dataset.d.mts +154 -0
  289. package/dist/dataset.mjs +312 -0
  290. package/dist/date.d.mts +8 -0
  291. package/dist/date.mjs +13 -0
  292. package/dist/index.d.mts +6 -159
  293. package/dist/index.mjs +6 -361
  294. package/dist/maintenance.d.mts +2 -93
  295. package/dist/maintenance.mjs +2 -139
  296. package/dist/orphan-sweep.d.mts +94 -0
  297. package/dist/orphan-sweep.mjs +141 -0
  298. package/dist/partition-prune.d.mts +35 -0
  299. package/dist/partition-prune.mjs +57 -0
  300. package/dist/provisioning/allocator.d.mts +44 -0
  301. package/dist/provisioning/allocator.mjs +24 -0
  302. package/dist/provisioning/index.d.mts +2 -44
  303. package/dist/provisioning/index.mjs +1 -23
  304. package/dist/schema.d.mts +77 -2
  305. package/dist/schema.mjs +9 -1
  306. package/dist/unsafe-raw.d.mts +6 -2
  307. package/dist/unsafe-raw.mjs +6 -2
  308. package/dist/vendor/hysnappy-purejs.mjs +10 -0
  309. package/package.json +11 -1
  310. package/dist/_chunks/libs/hyparquet-compressors.mjs +0 -2785
  311. package/dist/_chunks/libs/hyparquet-writer.mjs +0 -2516
  312. package/dist/_chunks/libs/hyparquet.mjs +0 -474
  313. package/dist/_chunks/libs/icebird.d.mts +0 -500
  314. package/dist/_chunks/libs/icebird.mjs +0 -3854
  315. package/dist/_chunks/schema.d.mts +0 -74
  316. /package/dist/{_chunks/libs/chokidar.d.mts → _virtual/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
  317. /package/dist/{_chunks/libs/db0.d.mts → _virtual/node_modules/.pnpm/denque@2.1.0/node_modules/denque/index.d.mts} +0 -0
  318. /package/dist/{_chunks/libs/fzstd.mjs → _virtual/node_modules/.pnpm/fzstd@0.1.1/node_modules/fzstd/esm/index.mjs} +0 -0
  319. /package/dist/{_chunks/libs/denque.d.mts → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/wkb.d.mts} +0 -0
  320. /package/dist/{_chunks/libs/lru-cache.d.mts → _virtual/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/types.d.mts} +0 -0
@@ -1,99 +1,15 @@
1
- import { stringifyBigintSafe } from "../bigint.mjs";
2
- import { cachingResolver, icebergAppend, icebergAppendBatches, icebergDropTable, icebergManifests, restCatalogConnect, restCatalogCreateNamespace, restCatalogListTables, restCatalogLoadTable, s3SignedResolver } from "./libs/icebird.mjs";
3
- function reportCatalogCacheError(cache, operation, key, error) {
4
- try {
5
- if (cache.onError) cache.onError(operation, key, error);
6
- else console.warn(`[gscdump/lakehouse] cache ${operation} failed for ${key}`, error);
7
- } catch (reportError) {
8
- console.warn(`[gscdump/lakehouse] cache error reporter failed during ${operation} for ${key}`, reportError);
9
- }
10
- }
11
- async function cacheGet(cache, key, now) {
12
- const boxed = await cache.storage.getItem(key).catch((error) => {
13
- reportCatalogCacheError(cache, "get", key, error);
14
- return null;
15
- });
16
- if (!boxed || typeof boxed.exp !== "number" || boxed.exp <= now) return void 0;
17
- return boxed.v;
18
- }
19
- function cachePut(cache, key, value, ttlMs, now) {
20
- const boxed = {
21
- v: value,
22
- exp: now + ttlMs
23
- };
24
- const write = cache.storage.setItem(key, boxed, { ttl: Math.ceil(ttlMs / 1e3) }).catch((error) => {
25
- reportCatalogCacheError(cache, "set", key, error);
26
- });
27
- if (cache.defer) {
28
- cache.defer(write);
29
- return Promise.resolve();
30
- }
31
- return write;
32
- }
33
- function toUint8(bytes) {
34
- if (bytes == null) return null;
35
- return bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes);
36
- }
37
- const UTF8_DECODER = new TextDecoder();
38
- function decodeString(bytes) {
39
- const u = toUint8(bytes);
40
- return u == null ? null : UTF8_DECODER.decode(u);
41
- }
42
- function decodeMonthInt(bytes) {
43
- const u = toUint8(bytes);
44
- if (u == null) return null;
45
- return new DataView(u.buffer, u.byteOffset, u.byteLength).getInt32(0, true);
46
- }
47
- function buildManifestPartitionFilter(partitionSpec, matches, wantedMonths) {
48
- const fieldIndex = (name) => partitionSpec.findIndex((f) => f.name === name || f.sourceColumn === name);
49
- const monthFieldIndex = partitionSpec.findIndex((f) => f.transform === "month");
50
- const stringMatches = matches.flatMap((match) => {
51
- if (match.encoding !== "string") return [];
52
- const index = fieldIndex(match.field);
53
- return index < 0 ? [] : [{
54
- index,
55
- value: String(match.value)
56
- }];
57
- });
58
- const wantedMonthValues = wantedMonths ? [...wantedMonths].filter(Number.isFinite).sort((a, b) => a - b) : [];
59
- const hasWantedMonthInRange = (lo, hi) => {
60
- let left = 0;
61
- let right = wantedMonthValues.length;
62
- while (left < right) {
63
- const middle = left + right >>> 1;
64
- if (wantedMonthValues[middle] < lo) left = middle + 1;
65
- else right = middle;
66
- }
67
- return left < wantedMonthValues.length && wantedMonthValues[left] <= hi;
68
- };
69
- return (partitions) => {
70
- if (!partitions || partitions.length === 0) return true;
71
- for (const match of stringMatches) {
72
- const summary = partitions[match.index];
73
- if (!summary || summary.lower_bound == null && summary.upper_bound == null) continue;
74
- const lo = decodeString(summary.lower_bound);
75
- const hi = decodeString(summary.upper_bound);
76
- if (lo != null && hi != null && (match.value < lo || match.value > hi)) return false;
77
- }
78
- if (wantedMonthValues.length > 0 && monthFieldIndex >= 0) {
79
- const monthSummary = partitions[monthFieldIndex];
80
- if (monthSummary && (monthSummary.lower_bound != null || monthSummary.upper_bound != null)) {
81
- const lo = decodeMonthInt(monthSummary.lower_bound);
82
- const hi = decodeMonthInt(monthSummary.upper_bound);
83
- if (lo != null && hi != null && !hasWantedMonthInRange(lo, hi)) return false;
84
- }
85
- }
86
- return true;
87
- };
1
+ import { stringifyBigintSafe } from "./bigint.mjs";
2
+ import { restCatalogConnect, restCatalogCreateNamespace, restCatalogListTables, restCatalogLoadTable } from "./_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/rest.mjs";
3
+ import { cachingResolver } from "./_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/fetch.mjs";
4
+ import { icebergManifests } from "./_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/manifest.mjs";
5
+ import { s3SignedResolver } from "./_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/s3.mjs";
6
+ import { cacheGet, cachePut, reportCatalogCacheError } from "./catalog-cache.mjs";
7
+ import { buildManifestPartitionFilter } from "./partition-prune.mjs";
8
+ let icebirdWriteModule;
9
+ function useIcebirdWriteModule() {
10
+ icebirdWriteModule ??= import("./_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/write.mjs");
11
+ return icebirdWriteModule;
88
12
  }
89
- const ICEBERG_TYPE_MAP = {
90
- STRING: "string",
91
- INT: "int",
92
- LONG: "long",
93
- DOUBLE: "double",
94
- DATE: "date",
95
- BOOLEAN: "boolean"
96
- };
97
13
  const CATALOG_CONFIG_TTL_MS = 3600 * 1e3;
98
14
  function catalogConfigKey(config) {
99
15
  return `lakehouse-catalog-cfg\0${config.catalogUri}\0${config.warehouse}`;
@@ -190,6 +106,7 @@ async function listIcebergTables(conn) {
190
106
  async function dropIcebergTables(conn, tables) {
191
107
  const targets = tables ?? (await restCatalogListTables(conn.catalog, { namespace: conn.namespace })).map((t) => t.name);
192
108
  const results = [];
109
+ const { icebergDropTable } = await useIcebirdWriteModule();
193
110
  for (const table of targets) await icebergDropTable({
194
111
  catalog: conn.catalog,
195
112
  namespace: conn.namespace,
@@ -216,6 +133,7 @@ function defaultCommitSleep(ms) {
216
133
  return new Promise((resolve) => setTimeout(resolve, ms));
217
134
  }
218
135
  async function icebergAppendRetrying(args, options = {}) {
136
+ const { icebergAppend } = await useIcebirdWriteModule();
219
137
  const maxAttempts = options.maxAttempts ?? 6;
220
138
  const baseDelayMs = options.baseDelayMs ?? 1e3;
221
139
  const maxDelayMs = options.maxDelayMs ?? 2e4;
@@ -241,6 +159,7 @@ async function icebergAppendRetrying(args, options = {}) {
241
159
  }
242
160
  }
243
161
  async function icebergAppendBatchesRetrying(args, options) {
162
+ const { icebergAppendBatches } = await useIcebirdWriteModule();
244
163
  const maxAttempts = options.maxAttempts ?? 6;
245
164
  const baseDelayMs = options.baseDelayMs ?? 1e3;
246
165
  const maxDelayMs = options.maxDelayMs ?? 2e4;
@@ -429,4 +348,4 @@ async function resolveIcebergDataFiles(conn, opts) {
429
348
  }
430
349
  return out;
431
350
  }
432
- export { ICEBERG_TYPE_MAP, buildManifestPartitionFilter, cacheGet, cachePut, catalogCacheScope, connectIcebergCatalog, dropIcebergTables, ensureIcebergNamespace, icebergAppendBatchesRetrying, icebergAppendRetrying, invalidateSnapshotRef, isCommitRateLimited, listIcebergTables, resolveIcebergDataFiles };
351
+ export { catalogCacheScope, connectIcebergCatalog, dropIcebergTables, ensureIcebergNamespace, icebergAppendBatchesRetrying, icebergAppendRetrying, invalidateSnapshotRef, isCommitRateLimited, listIcebergTables, resolveIcebergDataFiles };
@@ -0,0 +1,68 @@
1
+ import { connectIcebergCatalog, ensureIcebergNamespace, icebergAppendBatchesRetrying, icebergAppendRetrying, resolveIcebergDataFiles } from "./catalog.mjs";
2
+ import { icebergCreateTable } from "./_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/write.mjs";
3
+ async function createDatasetTable(conn, table, schema, partitionSpec, sortOrder) {
4
+ const results = [];
5
+ await icebergCreateTable({
6
+ catalog: conn.catalog,
7
+ namespace: conn.namespace,
8
+ table,
9
+ schema,
10
+ partitionSpec,
11
+ ...sortOrder ? { sortOrder } : {}
12
+ }).then(() => results.push({
13
+ table,
14
+ ok: true
15
+ }), (error) => results.push({
16
+ table,
17
+ ok: false,
18
+ error: error instanceof Error ? error.message : String(error)
19
+ }));
20
+ return results;
21
+ }
22
+ async function appendDatasetRows(conn, table, records, commitRetry) {
23
+ await icebergAppendRetrying({
24
+ catalog: conn.catalog,
25
+ namespace: conn.namespace,
26
+ table,
27
+ resolver: conn.resolver,
28
+ records
29
+ }, commitRetry);
30
+ }
31
+ async function appendDatasetBatches(conn, table, source, prepare, opts) {
32
+ let accepted = 0;
33
+ let skipped = 0;
34
+ const batchFactory = async function* () {
35
+ accepted = 0;
36
+ skipped = 0;
37
+ for await (const rows of source()) {
38
+ const prepared = prepare(rows);
39
+ accepted += prepared.records.length;
40
+ skipped += prepared.skipped;
41
+ if (prepared.records.length > 0) yield prepared.records;
42
+ }
43
+ };
44
+ const committed = await icebergAppendBatchesRetrying({
45
+ catalog: conn.catalog,
46
+ namespace: conn.namespace,
47
+ table,
48
+ resolver: conn.resolver,
49
+ batchFactory
50
+ }, {
51
+ ...opts.commitRetry,
52
+ appendId: opts.appendId
53
+ });
54
+ return {
55
+ accepted,
56
+ skipped,
57
+ committed
58
+ };
59
+ }
60
+ async function connectDatasetCatalog(config, opts) {
61
+ const conn = await connectIcebergCatalog(config, opts);
62
+ await ensureIcebergNamespace(conn);
63
+ return conn;
64
+ }
65
+ async function resolveDatasetDataFiles(conn, opts) {
66
+ return resolveIcebergDataFiles(conn, opts);
67
+ }
68
+ export { appendDatasetBatches, appendDatasetRows, connectDatasetCatalog, createDatasetTable, resolveDatasetDataFiles };
@@ -0,0 +1,154 @@
1
+ import { CatalogCache } from "./catalog-cache.mjs";
2
+ import { IcebergColumnType, IcebergPartitionField, IcebergTableSpec } from "./schema.mjs";
3
+ import { ManifestPartitionFilter, PartitionValueMatch } from "./partition-prune.mjs";
4
+ import { CommitRetryOptions, ConnectIcebergOptions, IcebergCatalogConfig, IcebergConnection, IcebergListedDataFile, IcebergPartitionSpec, IcebergSchema, IcebergSortOrder, IcebergTableOpResult, QueryProfiler } from "./catalog.mjs";
5
+ /**
6
+ * Closed identity shapes (ADR-0021 amendments 2 + 4). `'site-int'` is the
7
+ * team-scoped numeric Catalog Site Id (nuxtseo ADR-0091) stored under the
8
+ * fixed column name `site_id`. `'columns'` is the general N-column identity
9
+ * with per-column encoding, replacing the original opaque `'custom'` shape.
10
+ */
11
+ type DatasetIdentity = {
12
+ kind: 'site-int';
13
+ encoding?: 'int' | 'string';
14
+ } | {
15
+ kind: 'columns';
16
+ columns: readonly {
17
+ name: string;
18
+ encoding: 'int32' | 'string';
19
+ }[];
20
+ };
21
+ /** A per-slice dimension (GSC's `searchType`). Absent for plain snapshot datasets. */
22
+ interface DatasetDim {
23
+ toPartitionValue: (v: string) => string | number;
24
+ /** Required (amendment 5) — how the reader decodes this column's manifest bounds. */
25
+ boundEncoding: 'int32' | 'string';
26
+ }
27
+ interface IcebergDatasetColumnDef {
28
+ name: string;
29
+ type: IcebergColumnType;
30
+ required: boolean;
31
+ }
32
+ interface IcebergDatasetLedger {
33
+ key: readonly string[];
34
+ }
35
+ interface IcebergDatasetDef {
36
+ namespace: string;
37
+ table: string;
38
+ identity: DatasetIdentity;
39
+ /** Extra per-slice dimensions; absent for snapshot datasets. */
40
+ dims?: Record<string, DatasetDim>;
41
+ /** Data columns (non-identity, non-dims) — includes any partition source column (e.g. `date`). */
42
+ columns: readonly IcebergDatasetColumnDef[];
43
+ /** Partition fields; identity columns must appear here. */
44
+ partition: readonly IcebergPartitionField[];
45
+ /** Natural-key columns. Full dedupe key = identity + dims + naturalKey (amendment 3). */
46
+ naturalKey: readonly string[];
47
+ clusterKey?: readonly string[];
48
+ /** Consumer-owned exactly-once ledger shape — folded into `appendSink().close()` (amendment 6). */
49
+ ledger?: IcebergDatasetLedger;
50
+ }
51
+ /**
52
+ * Derive the full {@link IcebergTableSpec} from a dataset def. Field ids are
53
+ * assigned sequentially in ONE fixed order — identity columns, then dims
54
+ * columns, then declared data columns — starting at 1. This mirrors the
55
+ * engine's original `icebergTableSpec` contract (identity columns first, data
56
+ * columns from a fixed base) so a def-derived spec for an existing table
57
+ * (`crawl.pages`, `lighthouse.scans`, `dataforseo.keywords`) is BYTE-IDENTICAL
58
+ * to the frozen inline constants it replaces.
59
+ */
60
+ declare function deriveTableSpec(def: IcebergDatasetDef): IcebergTableSpec;
61
+ /** Options shared by `appendRows` / `appendSink`. */
62
+ interface AppendCommitOptions {
63
+ commitRetry?: CommitRetryOptions;
64
+ }
65
+ interface AppendSinkOptions extends AppendCommitOptions {
66
+ catalog: IcebergCatalogConfig;
67
+ connect?: ConnectIcebergOptions;
68
+ /** Invoked ONLY after a successful flush (amendment 6) — never on a failed/empty close. */
69
+ ledger?: {
70
+ record: () => Promise<void> | void;
71
+ };
72
+ }
73
+ interface AppendResult {
74
+ /** Rows accepted after the identity guard + dedupe (what was actually appended). */
75
+ accepted: number;
76
+ /** Rows dropped by the identity guard (missing/out-of-range required identity value). */
77
+ skipped: number;
78
+ }
79
+ type AppendBatchSource = () => Iterable<readonly Record<string, unknown>[]> | AsyncIterable<readonly Record<string, unknown>[]>;
80
+ interface AppendBatchesOptions extends AppendCommitOptions {
81
+ /** Stable across job retries; recorded in snapshot metadata for landed checks. */
82
+ appendId: string;
83
+ }
84
+ interface AppendBatchesResult extends AppendResult {
85
+ /** False when this append id was already present before the call. */
86
+ committed: boolean;
87
+ }
88
+ interface AppendSinkCloseResult extends AppendResult {
89
+ flushed: boolean;
90
+ error?: unknown;
91
+ }
92
+ interface AppendSink {
93
+ emit: (rows: readonly Record<string, unknown>[]) => void;
94
+ close: () => Promise<AppendSinkCloseResult>;
95
+ }
96
+ interface ResolveDataFilesOptions {
97
+ cache?: CatalogCache;
98
+ clock?: () => number;
99
+ profiler?: QueryProfiler;
100
+ }
101
+ interface IcebergDataset {
102
+ readonly def: IcebergDatasetDef;
103
+ readonly tableSpec: IcebergTableSpec;
104
+ icebergSchema: () => IcebergSchema;
105
+ icebergPartitionSpec: () => IcebergPartitionSpec;
106
+ icebergSortOrder: () => IcebergSortOrder | undefined;
107
+ createTable: (conn: IcebergConnection) => Promise<IcebergTableOpResult[]>;
108
+ /**
109
+ * One-shot append over an EXISTING connection: identity INT32 guard, dedupe
110
+ * by identity+dims+naturalKey (last-wins), cluster pre-sort (if
111
+ * `clusterKey` is set), then a single `icebergAppendRetrying` commit. `rows`
112
+ * must already be in final storage-column shape — identity/dims/data
113
+ * columns keyed by their STORED column names, with any `month`-partitioned
114
+ * date column pre-converted via {@link toIcebergDayCount}.
115
+ */
116
+ appendRows: (conn: IcebergConnection, rows: readonly Record<string, unknown>[], opts?: AppendCommitOptions) => Promise<AppendResult>;
117
+ /**
118
+ * Lazily process bounded row batches, writing multiple data files into one
119
+ * append snapshot and one catalog commit. Dedupe keys must be disjoint
120
+ * across source batches.
121
+ */
122
+ appendBatches: (conn: IcebergConnection, source: AppendBatchSource, opts: AppendBatchesOptions) => Promise<AppendBatchesResult>;
123
+ /**
124
+ * PURE row processing — the identity INT32 guard, dedupe (identity+dims+
125
+ * naturalKey, last-wins) and cluster pre-sort `appendRows`/`appendSink`
126
+ * apply before committing, exposed standalone with NO network/icebird call.
127
+ * Lets a consumer that owns its own commit call-site (e.g. one still
128
+ * calling a frozen `icebergAppendRetrying` import directly, for test-mock
129
+ * compatibility) still route its dedupe/guard/sort logic through the
130
+ * dataset definition.
131
+ */
132
+ prepareRows: (rows: readonly Record<string, unknown>[]) => {
133
+ records: Record<string, unknown>[];
134
+ skipped: number;
135
+ };
136
+ /** Buffered multi-emit sink — owns its own connect/close lifecycle (ADR-0021's primary contract). */
137
+ appendSink: (opts: AppendSinkOptions) => AppendSink;
138
+ /** `PartitionValueMatch[]` for one identity value (+ optional dims), for manual manifest filtering. */
139
+ readerPredicate: (identity: string | number, dims?: Record<string, string>) => PartitionValueMatch[];
140
+ /** A ready-to-use manifest partition filter for one identity value + wanted months. */
141
+ partitionBoundFilter: (identity: string | number, months: ReadonlySet<number>, dims?: Record<string, string>) => ManifestPartitionFilter;
142
+ /** Resolve the data files for one identity value across a date range. */
143
+ resolveDataFiles: (conn: IcebergConnection, identity: string | number, range: {
144
+ start: string;
145
+ end: string;
146
+ }, dims?: Record<string, string>, opts?: ResolveDataFilesOptions) => Promise<IcebergListedDataFile[]>;
147
+ }
148
+ /**
149
+ * Declare an Iceberg dataset — one `namespace.table` — deriving its schema,
150
+ * partition spec, dedupe key, INT32 guard, append path, and reader helpers
151
+ * from the def. See {@link IcebergDatasetDef}.
152
+ */
153
+ declare function defineIcebergDataset(def: IcebergDatasetDef): IcebergDataset;
154
+ export { AppendBatchSource, AppendBatchesOptions, AppendBatchesResult, AppendCommitOptions, AppendResult, AppendSink, AppendSinkCloseResult, AppendSinkOptions, DatasetDim, DatasetIdentity, IcebergDataset, IcebergDatasetColumnDef, IcebergDatasetDef, IcebergDatasetLedger, ResolveDataFilesOptions, defineIcebergDataset, deriveTableSpec };
@@ -0,0 +1,312 @@
1
+ import { coerceBigIntToNumber } from "./bigint.mjs";
2
+ import { buildManifestPartitionFilter } from "./partition-prune.mjs";
3
+ import { ICEBERG_TYPE_MAP } from "./schema.mjs";
4
+ const INT32_MIN = -2147483648;
5
+ const INT32_MAX = 2147483647;
6
+ function identityColumnNames(identity) {
7
+ return identity.kind === "site-int" ? ["site_id"] : identity.columns.map((c) => c.name);
8
+ }
9
+ function identityEncodings(identity) {
10
+ const map = /* @__PURE__ */ new Map();
11
+ if (identity.kind === "site-int") map.set("site_id", (identity.encoding ?? "int") === "int" ? "int32" : "string");
12
+ else for (const c of identity.columns) map.set(c.name, c.encoding);
13
+ return map;
14
+ }
15
+ function identityColumnType(encoding) {
16
+ return encoding === "int32" ? "INT" : "STRING";
17
+ }
18
+ function deriveTableSpec(def) {
19
+ const encodings = identityEncodings(def.identity);
20
+ const idNames = identityColumnNames(def.identity);
21
+ const dimNames = def.dims ? Object.keys(def.dims) : [];
22
+ let fieldId = 1;
23
+ const columns = [];
24
+ for (const name of idNames) columns.push({
25
+ name,
26
+ type: identityColumnType(encodings.get(name)),
27
+ required: true,
28
+ fieldId: fieldId++
29
+ });
30
+ for (const name of dimNames) {
31
+ const enc = def.dims[name].boundEncoding;
32
+ columns.push({
33
+ name,
34
+ type: identityColumnType(enc),
35
+ required: true,
36
+ fieldId: fieldId++
37
+ });
38
+ }
39
+ for (const col of def.columns) columns.push({
40
+ name: col.name,
41
+ type: col.type,
42
+ required: col.required,
43
+ fieldId: fieldId++
44
+ });
45
+ return {
46
+ namespace: def.namespace,
47
+ table: def.table,
48
+ columns,
49
+ partitionSpec: def.partition,
50
+ naturalKey: def.naturalKey,
51
+ identityColumns: [
52
+ ...idNames,
53
+ ...dimNames,
54
+ ...def.naturalKey
55
+ ],
56
+ clusterKey: def.clusterKey
57
+ };
58
+ }
59
+ function icebergSchemaFromSpec(spec) {
60
+ return {
61
+ "type": "struct",
62
+ "schema-id": 0,
63
+ "fields": spec.columns.map((col) => ({
64
+ id: col.fieldId,
65
+ name: col.name,
66
+ required: col.required,
67
+ type: ICEBERG_TYPE_MAP[col.type]
68
+ }))
69
+ };
70
+ }
71
+ function icebergPartitionSpecFromSpec(spec) {
72
+ const fieldId = (name) => {
73
+ const col = spec.columns.find((c) => c.name === name);
74
+ if (!col) throw new Error(`lakehouse: table '${spec.table}' has no '${name}' column`);
75
+ return col.fieldId;
76
+ };
77
+ return {
78
+ "spec-id": 0,
79
+ "fields": spec.partitionSpec.map((p, i) => ({
80
+ "source-id": fieldId(p.sourceColumn),
81
+ "field-id": 1e3 + i,
82
+ "name": p.name,
83
+ "transform": p.transform
84
+ }))
85
+ };
86
+ }
87
+ function icebergSortOrderFromSpec(spec) {
88
+ if (!spec.clusterKey || spec.clusterKey.length === 0) return void 0;
89
+ const fieldId = (name) => {
90
+ const col = spec.columns.find((c) => c.name === name);
91
+ if (!col) throw new Error(`lakehouse: table '${spec.table}' has no '${name}' column`);
92
+ return col.fieldId;
93
+ };
94
+ return {
95
+ "order-id": 1,
96
+ "fields": spec.clusterKey.map((col) => ({
97
+ "source-id": fieldId(col),
98
+ "transform": "identity",
99
+ "direction": "asc",
100
+ "null-order": "nulls-last"
101
+ }))
102
+ };
103
+ }
104
+ function asInt32(value) {
105
+ if (typeof value !== "string" && typeof value !== "number" && typeof value !== "bigint") return null;
106
+ const n = Number(value);
107
+ if (!Number.isSafeInteger(n) || n < INT32_MIN || n > INT32_MAX) return null;
108
+ return n;
109
+ }
110
+ function buildRowProcessor(def, tableSpec) {
111
+ const idNames = identityColumnNames(def.identity);
112
+ const idEncodings = identityEncodings(def.identity);
113
+ const dimNames = def.dims ? Object.keys(def.dims) : [];
114
+ const identityColumns = tableSpec.identityColumns;
115
+ function guard(row) {
116
+ const out = {};
117
+ for (const name of idNames) {
118
+ const enc = idEncodings.get(name);
119
+ const raw = row[name];
120
+ if (enc === "int32") {
121
+ const n = asInt32(raw);
122
+ if (n === null) return null;
123
+ out[name] = n;
124
+ } else {
125
+ if (raw == null || raw === "") return null;
126
+ out[name] = String(raw);
127
+ }
128
+ }
129
+ for (const name of dimNames) out[name] = def.dims[name].toPartitionValue(String(row[name]));
130
+ for (const col of def.columns) {
131
+ const value = row[col.name];
132
+ out[col.name] = col.type === "LONG" ? typeof value === "number" ? BigInt(value) : value : coerceBigIntToNumber(value);
133
+ }
134
+ return out;
135
+ }
136
+ function dedupe(rows) {
137
+ if (rows.length < 2) return rows;
138
+ const seen = /* @__PURE__ */ new Map();
139
+ for (const rec of rows) {
140
+ let identity = "";
141
+ for (let index = 0; index < identityColumns.length; index++) {
142
+ if (index > 0) identity += "\0";
143
+ identity += `${rec[identityColumns[index]] ?? ""}`;
144
+ }
145
+ seen.set(identity, rec);
146
+ }
147
+ return seen.size === rows.length ? rows : [...seen.values()];
148
+ }
149
+ function sort(rows) {
150
+ const cols = def.clusterKey;
151
+ if (!cols || cols.length === 0 || rows.length < 2) return rows;
152
+ return rows.slice().sort((a, b) => {
153
+ for (const col of cols) {
154
+ const av = a[col];
155
+ const bv = b[col];
156
+ if (av === bv) continue;
157
+ if (av == null) return -1;
158
+ if (bv == null) return 1;
159
+ if (typeof av === "number" && typeof bv === "number") return av - bv;
160
+ const as = String(av);
161
+ const bs = String(bv);
162
+ if (as !== bs) return as < bs ? -1 : 1;
163
+ }
164
+ return 0;
165
+ });
166
+ }
167
+ return {
168
+ guard,
169
+ dedupe,
170
+ sort
171
+ };
172
+ }
173
+ function defineIcebergDataset(def) {
174
+ const tableSpec = deriveTableSpec(def);
175
+ const schema = icebergSchemaFromSpec(tableSpec);
176
+ const partitionSpecIcebird = icebergPartitionSpecFromSpec(tableSpec);
177
+ const sortOrder = icebergSortOrderFromSpec(tableSpec);
178
+ const { guard, dedupe, sort } = buildRowProcessor(def, tableSpec);
179
+ async function createTable(conn) {
180
+ const { createDatasetTable } = await import("./dataset-runtime.mjs");
181
+ return createDatasetTable(conn, def.table, schema, partitionSpecIcebird, sortOrder);
182
+ }
183
+ function process(rows) {
184
+ const guarded = [];
185
+ let skipped = 0;
186
+ for (const row of rows) {
187
+ const rec = guard(row);
188
+ if (rec === null) skipped++;
189
+ else guarded.push(rec);
190
+ }
191
+ return {
192
+ records: sort(dedupe(guarded)),
193
+ skipped
194
+ };
195
+ }
196
+ async function appendRows(conn, rows, opts = {}) {
197
+ if (rows.length === 0) return {
198
+ accepted: 0,
199
+ skipped: 0
200
+ };
201
+ const { records, skipped } = process(rows);
202
+ if (records.length === 0) return {
203
+ accepted: 0,
204
+ skipped
205
+ };
206
+ const { appendDatasetRows } = await import("./dataset-runtime.mjs");
207
+ await appendDatasetRows(conn, def.table, records, opts.commitRetry);
208
+ return {
209
+ accepted: records.length,
210
+ skipped
211
+ };
212
+ }
213
+ async function appendBatches(conn, source, opts) {
214
+ const { appendDatasetBatches } = await import("./dataset-runtime.mjs");
215
+ return appendDatasetBatches(conn, def.table, source, process, opts);
216
+ }
217
+ function appendSink(opts) {
218
+ let buffer = [];
219
+ let connection;
220
+ return {
221
+ emit(rows) {
222
+ for (const r of rows) buffer.push(r);
223
+ },
224
+ async close() {
225
+ if (buffer.length === 0) return {
226
+ flushed: false,
227
+ accepted: 0,
228
+ skipped: 0
229
+ };
230
+ const rows = buffer;
231
+ buffer = [];
232
+ try {
233
+ const runtime = await import("./dataset-runtime.mjs");
234
+ connection ??= runtime.connectDatasetCatalog(opts.catalog, opts.connect);
235
+ const conn = await connection;
236
+ const { records, skipped } = process(rows);
237
+ if (records.length === 0) return {
238
+ flushed: false,
239
+ accepted: 0,
240
+ skipped
241
+ };
242
+ await runtime.appendDatasetRows(conn, def.table, records, opts.commitRetry);
243
+ const result = {
244
+ accepted: records.length,
245
+ skipped
246
+ };
247
+ if (result.accepted > 0 && opts.ledger) await opts.ledger.record();
248
+ return {
249
+ flushed: result.accepted > 0,
250
+ ...result
251
+ };
252
+ } catch (error) {
253
+ return {
254
+ flushed: false,
255
+ accepted: 0,
256
+ skipped: 0,
257
+ error
258
+ };
259
+ }
260
+ }
261
+ };
262
+ }
263
+ function readerPredicate(identity, dims) {
264
+ const idNames = identityColumnNames(def.identity);
265
+ const idEncodings = identityEncodings(def.identity);
266
+ const matches = idNames.map((name) => ({
267
+ field: name,
268
+ value: idEncodings.get(name) === "int32" ? Number(identity) : identity,
269
+ encoding: idEncodings.get(name) === "int32" ? "int32" : "string"
270
+ }));
271
+ if (def.dims && dims) {
272
+ for (const [name, dim] of Object.entries(def.dims)) if (name in dims) matches.push({
273
+ field: name,
274
+ value: dim.toPartitionValue(dims[name]),
275
+ encoding: dim.boundEncoding
276
+ });
277
+ }
278
+ return matches;
279
+ }
280
+ function partitionBoundFilter(identity, months, dims) {
281
+ return buildManifestPartitionFilter(def.partition, readerPredicate(identity, dims), months);
282
+ }
283
+ async function resolveDataFiles(conn, identity, range, dims, opts = {}) {
284
+ const { resolveDatasetDataFiles } = await import("./dataset-runtime.mjs");
285
+ return resolveDatasetDataFiles(conn, {
286
+ namespace: def.namespace,
287
+ table: def.table,
288
+ partitionSpec: def.partition,
289
+ matches: readerPredicate(identity, dims),
290
+ range,
291
+ cache: opts.cache,
292
+ clock: opts.clock,
293
+ profiler: opts.profiler
294
+ });
295
+ }
296
+ return {
297
+ def,
298
+ tableSpec,
299
+ icebergSchema: () => schema,
300
+ icebergPartitionSpec: () => partitionSpecIcebird,
301
+ icebergSortOrder: () => sortOrder,
302
+ createTable,
303
+ appendRows,
304
+ appendBatches,
305
+ prepareRows: process,
306
+ appendSink,
307
+ readerPredicate,
308
+ partitionBoundFilter,
309
+ resolveDataFiles
310
+ };
311
+ }
312
+ export { defineIcebergDataset, deriveTableSpec };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Convert a `YYYY-MM-DD` string / `Date` / already-numeric day-count to the
3
+ * integer "days since the Unix epoch" the Iceberg `date` type stores.
4
+ * hyparquet-writer mis-encodes Date-valued dictionary columns, so callers
5
+ * should feed this into their row before writing a month-partitioned date.
6
+ */
7
+ declare function toIcebergDayCount(value: string | Date | number): number;
8
+ export { toIcebergDayCount };