@gscdump/lakehouse 1.3.2 → 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.
Files changed (316) hide show
  1. package/dist/catalog-cache.d.mts +32 -0
  2. package/dist/catalog-cache.mjs +31 -0
  3. package/dist/{_chunks/catalog.d.mts → catalog.d.mts} +8 -66
  4. package/dist/{_chunks/catalog.mjs → catalog.mjs} +10 -89
  5. package/dist/dataset.d.mts +162 -0
  6. package/dist/dataset.mjs +364 -0
  7. package/dist/index.d.mts +5 -159
  8. package/dist/index.mjs +4 -360
  9. package/dist/maintenance.d.mts +2 -93
  10. package/dist/maintenance.mjs +2 -139
  11. package/dist/node_modules/.pnpm/chokidar@5.0.0/node_modules/chokidar/handler.d.mts +2 -0
  12. package/dist/node_modules/.pnpm/chokidar@5.0.0/node_modules/chokidar/index.d.mts +2 -0
  13. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.bitreader.mjs +88 -0
  14. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.blocks.mjs +120 -0
  15. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.context.mjs +1805 -0
  16. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.contextmap.mjs +49 -0
  17. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.dictionary.mjs +984 -0
  18. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.huffman.mjs +266 -0
  19. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.mjs +340 -0
  20. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.prefix.mjs +109 -0
  21. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.streams.mjs +21 -0
  22. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.transform.mjs +190 -0
  23. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/compressors.mjs +7 -0
  24. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/gzip.huffman.mjs +121 -0
  25. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/gzip.mjs +176 -0
  26. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/index.mjs +7 -0
  27. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/lz4.mjs +52 -0
  28. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/bloom.mjs +93 -0
  29. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/bytewriter.mjs +91 -0
  30. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/column.mjs +186 -0
  31. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/datapage.mjs +113 -0
  32. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/delta.mjs +111 -0
  33. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/dictionary.mjs +99 -0
  34. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/dremel.mjs +116 -0
  35. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/encoding.mjs +51 -0
  36. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/geospatial.mjs +84 -0
  37. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/index.mjs +7 -0
  38. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/indexes.mjs +31 -0
  39. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/metadata.mjs +138 -0
  40. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/node.mjs +7 -0
  41. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/parquet-writer.mjs +139 -0
  42. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/plain.mjs +68 -0
  43. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/schema.mjs +254 -0
  44. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/snappy.mjs +125 -0
  45. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/splitstream.mjs +38 -0
  46. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/thrift.mjs +79 -0
  47. 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
  48. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/unconvert.mjs +247 -0
  49. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/variant.mjs +391 -0
  50. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/wkb.mjs +79 -0
  51. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/write-rows.mjs +3 -0
  52. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/write.mjs +46 -0
  53. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/bytewriter.d.mts +1 -0
  54. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/index.d.mts +10 -0
  55. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/node.d.mts +3 -0
  56. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/parquet-writer.d.mts +2 -0
  57. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/schema.d.mts +2 -0
  58. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/write-rows.d.mts +1 -0
  59. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/write.d.mts +1 -0
  60. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/assemble.mjs +3 -0
  61. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/bloom.mjs +69 -0
  62. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/column.mjs +8 -0
  63. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/constants.mjs +80 -0
  64. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/convert.mjs +3 -0
  65. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/datapage.mjs +6 -0
  66. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/delta.mjs +2 -0
  67. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/encoding.mjs +2 -0
  68. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/filter.mjs +3 -0
  69. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/geoparquet.mjs +1 -0
  70. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/index.mjs +7 -0
  71. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/indexes.mjs +5 -0
  72. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/metadata.mjs +7 -0
  73. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/node.mjs +3 -0
  74. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/plain.mjs +1 -0
  75. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/plan.mjs +5 -0
  76. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/query.mjs +3 -0
  77. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/read.mjs +6 -0
  78. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/rowgroup.mjs +7 -0
  79. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/schema.mjs +54 -0
  80. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/snappy.mjs +1 -0
  81. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/thrift.mjs +1 -0
  82. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/utils.mjs +19 -0
  83. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/variant.mjs +3 -0
  84. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/wkb.mjs +1 -0
  85. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/xxhash.mjs +68 -0
  86. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/index.d.mts +7 -0
  87. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/indexes.d.mts +1 -0
  88. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/metadata.d.mts +1 -0
  89. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/node.d.mts +2 -0
  90. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/query.d.mts +1 -0
  91. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/read.d.mts +1 -0
  92. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/snappy.d.mts +1 -0
  93. package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/utils.d.mts +1 -0
  94. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/assemble.mjs +3 -0
  95. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/bloom.mjs +14 -0
  96. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/column.mjs +8 -0
  97. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/constants.mjs +1 -0
  98. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/convert.mjs +11 -0
  99. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/datapage.mjs +6 -0
  100. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/delta.mjs +2 -0
  101. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/encoding.mjs +2 -0
  102. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/filter.mjs +3 -0
  103. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/geoparquet.mjs +1 -0
  104. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/index.mjs +7 -0
  105. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/indexes.mjs +5 -0
  106. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/metadata.mjs +8 -0
  107. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/node.mjs +4 -0
  108. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/plain.mjs +1 -0
  109. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/plan.mjs +5 -0
  110. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/query.mjs +3 -0
  111. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/read.mjs +6 -0
  112. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/rowgroup.mjs +7 -0
  113. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/schema.mjs +1 -0
  114. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/snappy.mjs +70 -0
  115. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/thrift.mjs +1 -0
  116. package/dist/{_chunks/libs/hyparquet.d.mts → node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/types.d.mts} +2 -3
  117. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/utils.mjs +98 -0
  118. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/variant.mjs +3 -0
  119. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/wkb.mjs +1 -0
  120. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/xxhash.mjs +1 -0
  121. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/index.d.mts +9 -0
  122. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/indexes.d.mts +1 -0
  123. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/metadata.d.mts +1 -0
  124. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/node.d.mts +3 -0
  125. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/query.d.mts +1 -0
  126. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/read.d.mts +1 -0
  127. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/snappy.d.mts +1 -0
  128. package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/utils.d.mts +1 -0
  129. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/avro/avro.metadata.mjs +53 -0
  130. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/avro/avro.read.mjs +136 -0
  131. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/avro/avro.write.mjs +148 -0
  132. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/file.mjs +1 -0
  133. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/loadTable.mjs +48 -0
  134. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/rest.mjs +159 -0
  135. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/create.mjs +67 -0
  136. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/delete.mjs +2 -0
  137. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/fetch.mjs +162 -0
  138. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/index.mjs +13 -0
  139. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/json.mjs +147 -0
  140. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/manifest.mjs +71 -0
  141. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/metadata.mjs +151 -0
  142. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/prune.mjs +4 -0
  143. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/deletion-vector.mjs +2 -0
  144. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/puffin.mjs +2 -0
  145. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/roaring.mjs +1 -0
  146. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/read.mjs +9 -0
  147. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/s3.mjs +91 -0
  148. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/schema.mjs +76 -0
  149. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sigv4.mjs +70 -0
  150. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sql/icebergDataSource.mjs +8 -0
  151. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sql/icebergQuery.mjs +5 -0
  152. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sql/whereFilter.mjs +1 -0
  153. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/types.d.mts +255 -0
  154. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/utils.mjs +26 -0
  155. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/commit.mjs +392 -0
  156. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/conversions.mjs +59 -0
  157. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/delete-file.mjs +3 -0
  158. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/geospatial.mjs +72 -0
  159. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/manifest-list.mjs +152 -0
  160. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/manifest.mjs +212 -0
  161. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/parquet.mjs +305 -0
  162. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/partition.mjs +178 -0
  163. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/rewrite.mjs +10 -0
  164. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/serde.mjs +148 -0
  165. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/snapshot.mjs +107 -0
  166. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/sort.mjs +47 -0
  167. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage-deletion-vector.mjs +11 -0
  168. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage-position-delete.mjs +8 -0
  169. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage.mjs +237 -0
  170. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stats.mjs +153 -0
  171. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/transform.mjs +220 -0
  172. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/write.mjs +247 -0
  173. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/catalog/file.d.mts +1 -0
  174. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/catalog/rest.d.mts +76 -0
  175. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/create.d.mts +1 -0
  176. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/fetch.d.mts +36 -0
  177. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/index.d.mts +13 -0
  178. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/manifest.d.mts +30 -0
  179. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/metadata.d.mts +1 -0
  180. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/read.d.mts +2 -0
  181. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/s3.d.mts +36 -0
  182. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/sql/icebergDataSource.d.mts +2 -0
  183. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/sql/icebergQuery.d.mts +2 -0
  184. package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/write/write.d.mts +79 -0
  185. 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
  186. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/DataHandler.d.mts +4 -0
  187. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/Pipeline.d.mts +4 -0
  188. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/Redis.d.mts +10 -0
  189. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/ScanStream.d.mts +1 -0
  190. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/SubscriptionSet.d.mts +1 -0
  191. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/cluster/ClusterOptions.d.mts +4 -0
  192. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/cluster/index.d.mts +9 -0
  193. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/cluster/util.d.mts +1 -0
  194. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/AbstractConnector.d.mts +1 -0
  195. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/ConnectorConstructor.d.mts +1 -0
  196. 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
  197. 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
  198. 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
  199. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/StandaloneConnector.d.mts +3 -0
  200. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/index.d.mts +13 -0
  201. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/redis/RedisOptions.d.mts +4 -0
  202. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/transaction.d.mts +1 -0
  203. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/types.d.mts +1 -0
  204. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/utils/Commander.d.mts +3 -0
  205. package/dist/node_modules/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/utils/RedisCommander.d.mts +2 -0
  206. package/dist/node_modules/.pnpm/lru-cache@11.5.0/node_modules/lru-cache/dist/esm/index.d.mts +1 -0
  207. package/dist/node_modules/.pnpm/lru-cache@11.5.0/node_modules/lru-cache/dist/esm/perf.d.mts +1 -0
  208. package/dist/node_modules/.pnpm/readdirp@5.0.0/node_modules/readdirp/index.d.mts +1 -0
  209. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/ast.d.mts +1 -0
  210. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/backend/dataSource.mjs +1 -0
  211. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/accumulator.mjs +2 -0
  212. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/aggregates.mjs +10 -0
  213. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/execute.mjs +15 -0
  214. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/join.mjs +5 -0
  215. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/scanColumn.mjs +1 -0
  216. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/sort.mjs +5 -0
  217. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/streamingAggregate.mjs +9 -0
  218. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/utils.mjs +1 -0
  219. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/window.mjs +5 -0
  220. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/yield.mjs +17 -0
  221. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/alias.mjs +1 -0
  222. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/binary.mjs +1 -0
  223. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/date.mjs +1 -0
  224. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/evaluate.mjs +15 -0
  225. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/math.mjs +1 -0
  226. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/regexp.mjs +2 -0
  227. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/strings.mjs +3 -0
  228. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/index.d.mts +1 -0
  229. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/index.mjs +9 -0
  230. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/expression.mjs +6 -0
  231. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/extractTables.mjs +1 -0
  232. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/functions.mjs +5 -0
  233. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/joins.mjs +7 -0
  234. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/parse.mjs +10 -0
  235. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/primary.mjs +8 -0
  236. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/state.mjs +2 -0
  237. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/tokenize.mjs +3 -0
  238. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/types.d.mts +1 -0
  239. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/columns.mjs +3 -0
  240. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/plan.mjs +7 -0
  241. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/types.d.mts +1 -0
  242. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/bbox.mjs +2 -0
  243. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/equality.mjs +2 -0
  244. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/operations.mjs +5 -0
  245. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/pointRelations.mjs +2 -0
  246. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/primitives.mjs +2 -0
  247. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/segments.mjs +2 -0
  248. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/spatial.mjs +6 -0
  249. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/wkt.mjs +1 -0
  250. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/types.d.mts +3 -0
  251. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/aggregates.mjs +3 -0
  252. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/executionErrors.mjs +2 -0
  253. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/functions.mjs +2 -0
  254. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/keywords.mjs +1 -0
  255. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/parseErrors.mjs +2 -0
  256. package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/tables.mjs +2 -0
  257. 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
  258. 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
  259. 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
  260. 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
  261. 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
  262. 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
  263. 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
  264. 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
  265. 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
  266. 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
  267. 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
  268. 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
  269. 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
  270. 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
  271. 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
  272. 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
  273. 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
  274. 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
  275. 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
  276. 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
  277. 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
  278. 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
  279. 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
  280. 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
  281. 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
  282. 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
  283. 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
  284. 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
  285. 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
  286. 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
  287. 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
  288. 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
  289. 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
  290. 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
  291. 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
  292. 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
  293. package/dist/orphan-sweep.d.mts +94 -0
  294. package/dist/orphan-sweep.mjs +141 -0
  295. package/dist/partition-prune.d.mts +35 -0
  296. package/dist/partition-prune.mjs +57 -0
  297. package/dist/provisioning/allocator.d.mts +44 -0
  298. package/dist/provisioning/allocator.mjs +24 -0
  299. package/dist/provisioning/index.d.mts +2 -44
  300. package/dist/provisioning/index.mjs +1 -23
  301. package/dist/schema.d.mts +73 -1
  302. package/dist/unsafe-raw.d.mts +6 -2
  303. package/dist/unsafe-raw.mjs +6 -2
  304. package/dist/vendor/hysnappy-purejs.mjs +10 -0
  305. package/package.json +1 -1
  306. package/dist/_chunks/libs/hyparquet-compressors.mjs +0 -2785
  307. package/dist/_chunks/libs/hyparquet-writer.mjs +0 -2516
  308. package/dist/_chunks/libs/hyparquet.mjs +0 -474
  309. package/dist/_chunks/libs/icebird.d.mts +0 -500
  310. package/dist/_chunks/libs/icebird.mjs +0 -3854
  311. package/dist/_chunks/schema.d.mts +0 -74
  312. /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
  313. /package/dist/{_chunks/libs/db0.d.mts → node_modules/.pnpm/denque@2.1.0/node_modules/denque/index.d.mts} +0 -0
  314. /package/dist/{_chunks/libs/fzstd.mjs → node_modules/.pnpm/fzstd@0.1.1/node_modules/fzstd/esm/index.mjs} +0 -0
  315. /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
  316. /package/dist/{_chunks/libs/lru-cache.d.mts → node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/types.d.mts} +0 -0
@@ -1,7 +1,3 @@
1
- import "./db0.mjs";
2
- import "./chokidar.mjs";
3
- import "./lru-cache.mjs";
4
- import "./ioredis.mjs";
5
1
  type StorageValue = null | string | number | boolean | object;
6
2
  type WatchEvent = "update" | "remove";
7
3
  type WatchCallback = (event: WatchEvent, key: string) => any;
@@ -61,7 +57,7 @@ type StorageDefinition = {
61
57
  };
62
58
  type StorageItemMap<T> = T extends StorageDefinition ? T["items"] : T;
63
59
  type StorageItemType<T, K> = K extends keyof StorageItemMap<T> ? StorageItemMap<T>[K] : T extends StorageDefinition ? StorageValue : T;
64
- interface Storage$1<T extends StorageValue = StorageValue> {
60
+ interface Storage<T extends StorageValue = StorageValue> {
65
61
  hasItem<U extends Extract<T, StorageDefinition>, K extends keyof StorageItemMap<U>>(key: K, opts?: TransactionOptions): Promise<boolean>;
66
62
  hasItem(key: string, opts?: TransactionOptions): Promise<boolean>;
67
63
  getItem<U extends Extract<T, StorageDefinition>, K extends string & keyof StorageItemMap<U>>(key: K, ops?: TransactionOptions): Promise<StorageItemType<T, K> | null>;
@@ -102,7 +98,7 @@ interface Storage$1<T extends StorageValue = StorageValue> {
102
98
  dispose: () => Promise<void>;
103
99
  watch: (callback: WatchCallback) => Promise<Unwatch>;
104
100
  unwatch: () => Promise<void>;
105
- mount: (base: string, driver: Driver) => Storage$1;
101
+ mount: (base: string, driver: Driver) => Storage;
106
102
  unmount: (base: string, dispose?: boolean) => Promise<void>;
107
103
  getMount: (key?: string) => {
108
104
  base: string;
@@ -114,11 +110,11 @@ interface Storage$1<T extends StorageValue = StorageValue> {
114
110
  base: string;
115
111
  driver: Driver;
116
112
  }[];
117
- keys: Storage$1["getKeys"];
118
- get: Storage$1<T>["getItem"];
119
- set: Storage$1<T>["setItem"];
120
- has: Storage$1<T>["hasItem"];
121
- del: Storage$1<T>["removeItem"];
122
- remove: Storage$1<T>["removeItem"];
113
+ keys: Storage["getKeys"];
114
+ get: Storage<T>["getItem"];
115
+ set: Storage<T>["setItem"];
116
+ has: Storage<T>["hasItem"];
117
+ del: Storage<T>["removeItem"];
118
+ remove: Storage<T>["removeItem"];
123
119
  }
124
- export { Storage$1 as Storage };
120
+ export type { Driver as D, GetKeysOptions as G, StorageValue as S, TransactionOptions as T, Unwatch as U, WatchCallback as W, Storage as a, DriverFlags as b, StorageMeta as c, WatchEvent as d };
@@ -0,0 +1,2 @@
1
+ import "../../../../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.mjs";
2
+ import "../dist/index.mjs";
@@ -0,0 +1,2 @@
1
+ import "../../../../chokidar@5.0.0/node_modules/chokidar/index.mjs";
2
+ import "../dist/index.mjs";
@@ -0,0 +1,2 @@
1
+ import "../../../../lru-cache@11.5.0/node_modules/lru-cache/dist/esm/index.mjs";
2
+ import "../dist/index.mjs";
@@ -0,0 +1,2 @@
1
+ import "../../../../ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/index.mjs";
2
+ import "../dist/index.mjs";
@@ -0,0 +1,94 @@
1
+ import { IcebergConnection } from "./catalog.mjs";
2
+ /** One listed object under a data prefix. */
3
+ interface SweepListedObject {
4
+ key: string;
5
+ uploaded: Date;
6
+ }
7
+ /** One page of a prefix listing. */
8
+ interface SweepListPage {
9
+ objects: readonly SweepListedObject[];
10
+ truncated: boolean;
11
+ cursor?: string;
12
+ }
13
+ /**
14
+ * Minimal storage client `sweepUncommittedOrphans` needs: list-by-prefix +
15
+ * batch delete against the warehouse bucket. Deliberately NOT an S3 SDK
16
+ * client shape — this interface is structurally satisfied by Cloudflare's
17
+ * native `R2Bucket` Workers binding (`env.R2_ANALYTICS.list({ prefix })` /
18
+ * `env.R2_ANALYTICS.delete(keys)`), so a caller running inside a Worker can
19
+ * pass the binding straight through with no adapter. Any other
20
+ * S3-compatible client can be wrapped to this shape.
21
+ */
22
+ interface SweepStorageClient {
23
+ list: (options: {
24
+ prefix: string;
25
+ cursor?: string;
26
+ }) => Promise<SweepListPage>;
27
+ delete: (keys: string[]) => Promise<void>;
28
+ }
29
+ interface SweepUncommittedOrphansOptions {
30
+ conn: IcebergConnection;
31
+ s3: SweepStorageClient;
32
+ /**
33
+ * Bare R2 bucket name backing `conn`'s warehouse. Every scanned table's
34
+ * `location` must resolve into this exact bucket; a table whose location
35
+ * points elsewhere is SKIPPED — never guessed at, never touched.
36
+ */
37
+ bucket: string;
38
+ /**
39
+ * Restrict the sweep to these tables; defaults to every table currently
40
+ * in `conn.namespace` (`conn` already carries the namespace scope, so
41
+ * there's no separate `namespace` field here).
42
+ */
43
+ tables?: readonly string[];
44
+ /** Only delete objects older than this many hours. Default 48. */
45
+ graceHours?: number;
46
+ /** Hard cap on deletions in one run. Default 500. */
47
+ maxDeletes?: number;
48
+ /** Compute the delete set but never call `s3.delete`. Default false. */
49
+ dryRun?: boolean;
50
+ /** Injectable clock (ms epoch). Defaults to `Date.now`. */
51
+ now?: () => number;
52
+ /** Maximum catalog/object-store reads held in flight. Default 4, max 32. */
53
+ ioConcurrency?: number;
54
+ }
55
+ interface SweepUncommittedOrphansResult {
56
+ /** Tables whose retained snapshots were successfully walked. */
57
+ scannedTables: string[];
58
+ /** Tables skipped because their `location` didn't resolve into `bucket` — never scanned, never touched. */
59
+ skippedTables: string[];
60
+ /** Count of live (referenced-by-some-retained-snapshot) files found across `scannedTables`. */
61
+ liveFileCount: number;
62
+ /** Objects under a scanned table's data prefix with no snapshot reference anywhere, past `graceHours`. */
63
+ candidateCount: number;
64
+ /** Keys deleted (or, under `dryRun`, that WOULD be deleted). */
65
+ deleted: string[];
66
+ dryRun: boolean;
67
+ /** True when `candidateCount` exceeded `maxDeletes` — remaining orphans are left for the next run. */
68
+ cappedAtLimit: boolean;
69
+ /** Set when the sweep did nothing because the table scope listed zero tables (fail-closed — see class docs). */
70
+ reason?: 'zero-tables';
71
+ }
72
+ /**
73
+ * Sweep data files written under a table's `data/` prefix that were NEVER
74
+ * referenced by any snapshot the catalog still retains — a crashed/partial
75
+ * writer's leftovers. This is the one orphan class Cloudflare's own R2 Data
76
+ * Catalog snapshot-expiration GC does not cover.
77
+ *
78
+ * HARD SAFETY:
79
+ * - A listing failure (table load / manifest walk throwing) PROPAGATES.
80
+ * It is never caught and treated as "no live files" — that would make
81
+ * every real data file look orphaned. Callers must let this reject and
82
+ * must not proceed to delete on catch.
83
+ * - Zero tables in scope is treated as "couldn't determine what's live",
84
+ * not "nothing to protect" — the sweep no-ops with `reason: 'zero-tables'`
85
+ * rather than listing/deleting anything.
86
+ * - Deletions are capped at `maxDeletes` per run (default 500).
87
+ * - `dryRun` computes the exact candidate set without ever calling `s3.delete`.
88
+ * - Only ever lists/deletes keys under a scanned table's own
89
+ * `<table.location>/data/` prefix, and every candidate is re-checked to
90
+ * actually start with that prefix before being considered for deletion —
91
+ * never a bare bucket-root listing, never a key outside a data prefix.
92
+ */
93
+ declare function sweepUncommittedOrphans(opts: SweepUncommittedOrphansOptions): Promise<SweepUncommittedOrphansResult>;
94
+ export { SweepListPage, SweepListedObject, SweepStorageClient, SweepUncommittedOrphansOptions, SweepUncommittedOrphansResult, sweepUncommittedOrphans };
@@ -0,0 +1,141 @@
1
+ import { restCatalogListTables, restCatalogLoadTable } from "./node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/rest.mjs";
2
+ import { icebergManifests } from "./node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/manifest.mjs";
3
+ import "./node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/index.mjs";
4
+ const DEFAULT_GRACE_HOURS = 48;
5
+ const DEFAULT_MAX_DELETES = 500;
6
+ const DEFAULT_IO_CONCURRENCY = 4;
7
+ const MAX_IO_CONCURRENCY = 32;
8
+ const HOUR_MS = 3600 * 1e3;
9
+ function createIoLimiter(requested) {
10
+ const concurrency = typeof requested === "number" && Number.isFinite(requested) ? Math.max(1, Math.min(MAX_IO_CONCURRENCY, Math.floor(requested))) : DEFAULT_IO_CONCURRENCY;
11
+ let active = 0;
12
+ const waiters = [];
13
+ return async (operation) => {
14
+ if (active >= concurrency) await new Promise((resolve) => waiters.push(resolve));
15
+ active++;
16
+ try {
17
+ return await operation();
18
+ } finally {
19
+ active--;
20
+ waiters.shift()?.();
21
+ }
22
+ };
23
+ }
24
+ async function settleOrThrow(promises) {
25
+ const settled = await Promise.allSettled(promises);
26
+ const failure = settled.find((result) => result.status === "rejected");
27
+ if (failure) throw failure.reason;
28
+ return settled.map((result) => result.value);
29
+ }
30
+ function splitBucketKey(filePath) {
31
+ if (!filePath.startsWith("s3://")) return null;
32
+ const rest = filePath.slice(5);
33
+ const slash = rest.indexOf("/");
34
+ if (slash < 0) return null;
35
+ return {
36
+ bucket: rest.slice(0, slash),
37
+ key: rest.slice(slash + 1)
38
+ };
39
+ }
40
+ async function scanTable(conn, table, bucket, io) {
41
+ const { metadata } = await io(() => restCatalogLoadTable(conn.catalog, {
42
+ namespace: conn.namespace,
43
+ table
44
+ }));
45
+ const location = splitBucketKey(String(metadata.location ?? ""));
46
+ if (!location || location.bucket !== bucket) return {
47
+ dataPrefix: null,
48
+ liveKeys: /* @__PURE__ */ new Set()
49
+ };
50
+ const dataPrefix = `${location.key.replace(/\/+$/, "")}/data/`;
51
+ const liveKeys = /* @__PURE__ */ new Set();
52
+ const manifestsBySnapshot = await settleOrThrow((metadata.snapshots ?? []).map((snapshot) => io(() => icebergManifests({
53
+ metadata,
54
+ resolver: conn.resolver,
55
+ snapshotId: snapshot["snapshot-id"]
56
+ }))));
57
+ for (const manifests of manifestsBySnapshot) for (const manifest of manifests) for (const entry of manifest.entries) {
58
+ if (entry.status === 2) continue;
59
+ const filePath = entry.data_file?.file_path;
60
+ if (!filePath) continue;
61
+ const parsed = splitBucketKey(filePath);
62
+ if (parsed && parsed.bucket === bucket) liveKeys.add(parsed.key);
63
+ }
64
+ return {
65
+ dataPrefix,
66
+ liveKeys
67
+ };
68
+ }
69
+ async function listAllUnderPrefix(s3, prefix, io) {
70
+ const out = [];
71
+ let cursor;
72
+ do {
73
+ const page = await io(() => s3.list({
74
+ prefix,
75
+ cursor
76
+ }));
77
+ out.push(...page.objects);
78
+ cursor = page.truncated ? page.cursor : void 0;
79
+ } while (cursor);
80
+ return out;
81
+ }
82
+ async function sweepUncommittedOrphans(opts) {
83
+ const { conn, s3, bucket } = opts;
84
+ const graceHours = opts.graceHours ?? DEFAULT_GRACE_HOURS;
85
+ const maxDeletes = opts.maxDeletes ?? DEFAULT_MAX_DELETES;
86
+ const dryRun = opts.dryRun ?? false;
87
+ const graceCutoff = (opts.now ?? Date.now)() - graceHours * HOUR_MS;
88
+ const io = createIoLimiter(opts.ioConcurrency);
89
+ const tables = opts.tables ?? (await io(() => restCatalogListTables(conn.catalog, { namespace: conn.namespace }))).map((t) => t.name);
90
+ if (tables.length === 0) return {
91
+ scannedTables: [],
92
+ skippedTables: [],
93
+ liveFileCount: 0,
94
+ candidateCount: 0,
95
+ deleted: [],
96
+ dryRun,
97
+ cappedAtLimit: false,
98
+ reason: "zero-tables"
99
+ };
100
+ const tableResults = await settleOrThrow(tables.map(async (table) => {
101
+ const { dataPrefix, liveKeys } = await scanTable(conn, table, bucket, io);
102
+ if (!dataPrefix) return {
103
+ table,
104
+ skipped: true,
105
+ liveFileCount: 0,
106
+ candidates: []
107
+ };
108
+ const listed = await listAllUnderPrefix(s3, dataPrefix, io);
109
+ const tableCandidates = [];
110
+ for (const obj of listed) {
111
+ if (!obj.key.startsWith(dataPrefix)) continue;
112
+ if (liveKeys.has(obj.key)) continue;
113
+ if (obj.uploaded.getTime() > graceCutoff) continue;
114
+ tableCandidates.push(obj);
115
+ }
116
+ return {
117
+ table,
118
+ skipped: false,
119
+ liveFileCount: liveKeys.size,
120
+ candidates: tableCandidates
121
+ };
122
+ }));
123
+ const scannedTables = tableResults.filter((result) => !result.skipped).map((result) => result.table);
124
+ const skippedTables = tableResults.filter((result) => result.skipped).map((result) => result.table);
125
+ const liveFileCount = tableResults.reduce((sum, result) => sum + result.liveFileCount, 0);
126
+ const candidates = tableResults.flatMap((result) => result.candidates);
127
+ const candidateCount = candidates.length;
128
+ const toDelete = candidates.slice(0, maxDeletes);
129
+ const cappedAtLimit = candidateCount > maxDeletes;
130
+ if (!dryRun && toDelete.length > 0) await s3.delete(toDelete.map((o) => o.key));
131
+ return {
132
+ scannedTables,
133
+ skippedTables,
134
+ liveFileCount,
135
+ candidateCount,
136
+ deleted: toDelete.map((o) => o.key),
137
+ dryRun,
138
+ cappedAtLimit
139
+ };
140
+ }
141
+ export { sweepUncommittedOrphans };
@@ -0,0 +1,35 @@
1
+ import { IcebergPartitionField } from "./schema.mjs";
2
+ /** Minimal shape of an icebird manifest-list `partitions` field-summary. */
3
+ interface IcebergFieldSummary {
4
+ contains_null: boolean;
5
+ contains_nan?: boolean | null;
6
+ lower_bound?: Uint8Array | null;
7
+ upper_bound?: Uint8Array | null;
8
+ }
9
+ /** Predicate handed to icebird's patched `icebergManifests({ partitionFilter })`. */
10
+ type ManifestPartitionFilter = (partitions: IcebergFieldSummary[] | undefined) => boolean;
11
+ /**
12
+ * One identity/dims value to prune an `identity`-transform partition field by.
13
+ *
14
+ * `'int32'`-encoded fields are deliberately NOT pruned here (mirrors the
15
+ * original engine behavior): an INT column's bound bytes are a 4-byte int, but
16
+ * per-team catalogs are single-tenant, so identity pruning on them saves ~nothing
17
+ * — the per-file partition check in the resolver remains the authoritative
18
+ * correctness filter. Only `'string'`-encoded identity fields are pruned by
19
+ * lexicographic UTF-8 bound comparison (the truncated-string-stats case R2 SQL
20
+ * needs the workaround for).
21
+ */
22
+ interface PartitionValueMatch {
23
+ /** Partition field name as declared in the partition spec (e.g. `'site_id'`). */
24
+ field: string;
25
+ value: string | number;
26
+ encoding: 'string' | 'int32';
27
+ }
28
+ /**
29
+ * Build the `partitionFilter` predicate for a slice of `matches` (identity/dims
30
+ * value equality) plus an optional `wantedMonths` set (for a `month`-transform
31
+ * field in `partitionSpec`). Returns `false` to skip a manifest, `true` to keep
32
+ * it. Keep-all when a manifest carries no `partitions` summaries.
33
+ */
34
+ declare function buildManifestPartitionFilter(partitionSpec: readonly IcebergPartitionField[], matches: readonly PartitionValueMatch[], wantedMonths?: ReadonlySet<number>): ManifestPartitionFilter;
35
+ export { IcebergFieldSummary, ManifestPartitionFilter, PartitionValueMatch, buildManifestPartitionFilter };
@@ -0,0 +1,57 @@
1
+ function toUint8(bytes) {
2
+ if (bytes == null) return null;
3
+ return bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes);
4
+ }
5
+ const UTF8_DECODER = new TextDecoder();
6
+ function decodeString(bytes) {
7
+ const u = toUint8(bytes);
8
+ return u == null ? null : UTF8_DECODER.decode(u);
9
+ }
10
+ function decodeMonthInt(bytes) {
11
+ const u = toUint8(bytes);
12
+ if (u == null) return null;
13
+ return new DataView(u.buffer, u.byteOffset, u.byteLength).getInt32(0, true);
14
+ }
15
+ function buildManifestPartitionFilter(partitionSpec, matches, wantedMonths) {
16
+ const fieldIndex = (name) => partitionSpec.findIndex((f) => f.name === name || f.sourceColumn === name);
17
+ const monthFieldIndex = partitionSpec.findIndex((f) => f.transform === "month");
18
+ const stringMatches = matches.flatMap((match) => {
19
+ if (match.encoding !== "string") return [];
20
+ const index = fieldIndex(match.field);
21
+ return index < 0 ? [] : [{
22
+ index,
23
+ value: String(match.value)
24
+ }];
25
+ });
26
+ const wantedMonthValues = wantedMonths ? [...wantedMonths].filter(Number.isFinite).sort((a, b) => a - b) : [];
27
+ const hasWantedMonthInRange = (lo, hi) => {
28
+ let left = 0;
29
+ let right = wantedMonthValues.length;
30
+ while (left < right) {
31
+ const middle = left + right >>> 1;
32
+ if (wantedMonthValues[middle] < lo) left = middle + 1;
33
+ else right = middle;
34
+ }
35
+ return left < wantedMonthValues.length && wantedMonthValues[left] <= hi;
36
+ };
37
+ return (partitions) => {
38
+ if (!partitions || partitions.length === 0) return true;
39
+ for (const match of stringMatches) {
40
+ const summary = partitions[match.index];
41
+ if (!summary || summary.lower_bound == null && summary.upper_bound == null) continue;
42
+ const lo = decodeString(summary.lower_bound);
43
+ const hi = decodeString(summary.upper_bound);
44
+ if (lo != null && hi != null && (match.value < lo || match.value > hi)) return false;
45
+ }
46
+ if (wantedMonthValues.length > 0 && monthFieldIndex >= 0) {
47
+ const monthSummary = partitions[monthFieldIndex];
48
+ if (monthSummary && (monthSummary.lower_bound != null || monthSummary.upper_bound != null)) {
49
+ const lo = decodeMonthInt(monthSummary.lower_bound);
50
+ const hi = decodeMonthInt(monthSummary.upper_bound);
51
+ if (lo != null && hi != null && !hasWantedMonthInRange(lo, hi)) return false;
52
+ }
53
+ }
54
+ return true;
55
+ };
56
+ }
57
+ export { buildManifestPartitionFilter };
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Team-scoped Catalog Site Id allocator (ADR-0021 amendment 11).
3
+ *
4
+ * A "Catalog Site Id" is the small INT32 join key every dataset's `'site-int'`
5
+ * identity partitions on (nuxtseo ADR-0091's `gscdumpSiteIntId` / gscdump's
6
+ * `user_sites.int_id`). One allocator, owned here, so no consumer hand-rolls
7
+ * its own next-int sequence (the exact copy-paste class ADR-0021 exists to
8
+ * close). Pure — the caller persists the result; this module has no DB.
9
+ *
10
+ * Two entry points into a team's id space:
11
+ * - ADOPT a `supplied` id (e.g. gscdump's existing `int_id` for a site that
12
+ * predates the allocator) — validated for TEAM-SCOPE uniqueness, never
13
+ * silently reassigned.
14
+ * - ALLOCATE fresh — next-int strictly above every existing id in the team
15
+ * (adopted ids included), so a later allocation can never collide with an
16
+ * earlier adoption.
17
+ */
18
+ type AllocateCatalogSiteIdResult = {
19
+ _tag: 'allocated';
20
+ id: number;
21
+ } | {
22
+ _tag: 'adopted';
23
+ id: number;
24
+ } | {
25
+ _tag: 'collision';
26
+ id: number;
27
+ };
28
+ interface AllocateCatalogSiteIdOptions {
29
+ /** Every Catalog Site Id already in use for this team (adopted + previously allocated). */
30
+ existingIds: Iterable<number>;
31
+ /**
32
+ * Adopt this id instead of allocating a fresh one (e.g. gscdump's existing
33
+ * `int_id`). Validated against `existingIds` for team-scope uniqueness —
34
+ * a collision is returned as a value, never silently resolved.
35
+ */
36
+ supplied?: number;
37
+ }
38
+ /**
39
+ * Adopt `supplied`, or allocate the next unused int strictly above every id
40
+ * already in `existingIds`. Never mutates the caller's set; never reuses an
41
+ * id already present.
42
+ */
43
+ declare function allocateCatalogSiteId(opts: AllocateCatalogSiteIdOptions): AllocateCatalogSiteIdResult;
44
+ export { AllocateCatalogSiteIdOptions, AllocateCatalogSiteIdResult, allocateCatalogSiteId };
@@ -0,0 +1,24 @@
1
+ const INT32_MAX = 2147483647;
2
+ function allocateCatalogSiteId(opts) {
3
+ const existing = new Set(opts.existingIds);
4
+ if (opts.supplied != null) {
5
+ if (existing.has(opts.supplied)) return {
6
+ _tag: "collision",
7
+ id: opts.supplied
8
+ };
9
+ return {
10
+ _tag: "adopted",
11
+ id: opts.supplied
12
+ };
13
+ }
14
+ let max = 0;
15
+ for (const id of existing) if (id > max) max = id;
16
+ let next = max + 1;
17
+ while (existing.has(next)) next++;
18
+ if (next > INT32_MAX) throw new RangeError(`allocateCatalogSiteId: exhausted the INT32 id space (next=${next})`);
19
+ return {
20
+ _tag: "allocated",
21
+ id: next
22
+ };
23
+ }
24
+ export { allocateCatalogSiteId };
@@ -1,47 +1,5 @@
1
- import { PartitionKeyEncoding } from "../_chunks/schema.mjs";
2
- /**
3
- * Team-scoped Catalog Site Id allocator (ADR-0021 amendment 11).
4
- *
5
- * A "Catalog Site Id" is the small INT32 join key every dataset's `'site-int'`
6
- * identity partitions on (nuxtseo ADR-0091's `gscdumpSiteIntId` / gscdump's
7
- * `user_sites.int_id`). One allocator, owned here, so no consumer hand-rolls
8
- * its own next-int sequence (the exact copy-paste class ADR-0021 exists to
9
- * close). Pure — the caller persists the result; this module has no DB.
10
- *
11
- * Two entry points into a team's id space:
12
- * - ADOPT a `supplied` id (e.g. gscdump's existing `int_id` for a site that
13
- * predates the allocator) — validated for TEAM-SCOPE uniqueness, never
14
- * silently reassigned.
15
- * - ALLOCATE fresh — next-int strictly above every existing id in the team
16
- * (adopted ids included), so a later allocation can never collide with an
17
- * earlier adoption.
18
- */
19
- type AllocateCatalogSiteIdResult = {
20
- _tag: 'allocated';
21
- id: number;
22
- } | {
23
- _tag: 'adopted';
24
- id: number;
25
- } | {
26
- _tag: 'collision';
27
- id: number;
28
- };
29
- interface AllocateCatalogSiteIdOptions {
30
- /** Every Catalog Site Id already in use for this team (adopted + previously allocated). */
31
- existingIds: Iterable<number>;
32
- /**
33
- * Adopt this id instead of allocating a fresh one (e.g. gscdump's existing
34
- * `int_id`). Validated against `existingIds` for team-scope uniqueness —
35
- * a collision is returned as a value, never silently resolved.
36
- */
37
- supplied?: number;
38
- }
39
- /**
40
- * Adopt `supplied`, or allocate the next unused int strictly above every id
41
- * already in `existingIds`. Never mutates the caller's set; never reuses an
42
- * id already present.
43
- */
44
- declare function allocateCatalogSiteId(opts: AllocateCatalogSiteIdOptions): AllocateCatalogSiteIdResult;
1
+ import { PartitionKeyEncoding } from "../schema.mjs";
2
+ import { AllocateCatalogSiteIdOptions, AllocateCatalogSiteIdResult, allocateCatalogSiteId } from "./allocator.mjs";
45
3
  interface CloudflareProvisionCreds {
46
4
  accountId: string;
47
5
  /** Account-scoped management API token (bucket CRUD). */
@@ -1,26 +1,4 @@
1
- const INT32_MAX = 2147483647;
2
- function allocateCatalogSiteId(opts) {
3
- const existing = new Set(opts.existingIds);
4
- if (opts.supplied != null) {
5
- if (existing.has(opts.supplied)) return {
6
- _tag: "collision",
7
- id: opts.supplied
8
- };
9
- return {
10
- _tag: "adopted",
11
- id: opts.supplied
12
- };
13
- }
14
- let max = 0;
15
- for (const id of existing) if (id > max) max = id;
16
- let next = max + 1;
17
- while (existing.has(next)) next++;
18
- if (next > INT32_MAX) throw new RangeError(`allocateCatalogSiteId: exhausted the INT32 id space (next=${next})`);
19
- return {
20
- _tag: "allocated",
21
- id: next
22
- };
23
- }
1
+ import { allocateCatalogSiteId } from "./allocator.mjs";
24
2
  const CF_API_BASE = "https://api.cloudflare.com/client/v4";
25
3
  const COMPACTION_TARGET_SIZE_MB = "128";
26
4
  const SNAPSHOT_MIN_SNAPSHOTS_TO_KEEP = 10;