@gscdump/engine 3.8.0 → 4.0.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 (282) hide show
  1. package/dist/THIRD-PARTY-LICENSES.md +2 -2
  2. package/dist/adapters/filesystem.mjs +52 -19
  3. package/dist/adapters/hyparquet.d.mts +2 -2
  4. package/dist/adapters/hyparquet.mjs +6 -6
  5. package/dist/adapters/node.d.mts +2 -2
  6. package/dist/adapters/parquet-attach.d.mts +11 -4
  7. package/dist/adapters/parquet-attach.mjs +18 -5
  8. package/dist/adapters/r2-manifest.mjs +47 -27
  9. package/dist/analysis-range.d.mts +58 -1
  10. package/dist/analysis-range.mjs +102 -1
  11. package/dist/analysis-types.d.mts +42 -1
  12. package/dist/analysis-types.mjs +8 -1
  13. package/dist/analyzer/dispatch.mjs +21 -4
  14. package/dist/engine.mjs +5 -4
  15. package/dist/entities/inspection.d.mts +11 -0
  16. package/dist/entities/inspection.mjs +17 -0
  17. package/dist/entities/sitemap-list.d.mts +37 -0
  18. package/dist/entities/sitemap-list.mjs +23 -0
  19. package/dist/entities.d.mts +3 -2
  20. package/dist/entities.mjs +3 -2
  21. package/dist/entity-keys.d.mts +2 -0
  22. package/dist/entity-keys.mjs +4 -1
  23. package/dist/iceberg/catalog.d.mts +2 -2
  24. package/dist/iceberg/catalog.mjs +2 -2
  25. package/dist/ingest.d.mts +11 -2
  26. package/dist/ingest.mjs +19 -12
  27. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.2/node_modules/hyparquet-compressors/src/brotli.bitreader.mjs +93 -0
  28. package/dist/node_modules/.pnpm/{hyparquet-compressors@1.1.1 → hyparquet-compressors@1.1.2}/node_modules/hyparquet-compressors/src/brotli.huffman.mjs +19 -15
  29. package/dist/node_modules/.pnpm/{hyparquet-compressors@1.1.1 → hyparquet-compressors@1.1.2}/node_modules/hyparquet-compressors/src/brotli.mjs +5 -13
  30. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.2/node_modules/hyparquet-compressors/src/brotli.streams.mjs +25 -0
  31. package/dist/node_modules/.pnpm/{hyparquet-compressors@1.1.1 → hyparquet-compressors@1.1.2}/node_modules/hyparquet-compressors/src/brotli.transform.mjs +9 -7
  32. package/dist/node_modules/.pnpm/{hyparquet-compressors@1.1.1 → hyparquet-compressors@1.1.2}/node_modules/hyparquet-compressors/src/gzip.mjs +1 -4
  33. package/dist/node_modules/.pnpm/{hyparquet-compressors@1.1.1 → hyparquet-compressors@1.1.2}/node_modules/hyparquet-compressors/src/lz4.mjs +2 -1
  34. package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/bloom.mjs +1 -1
  35. package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/column.mjs +5 -4
  36. package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/datapage.mjs +1 -1
  37. package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/delta.mjs +21 -6
  38. package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/dremel.mjs +1 -1
  39. package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/indexes.mjs +1 -1
  40. package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/metadata.mjs +2 -2
  41. package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/parquet-writer.mjs +1 -1
  42. package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/types.d.mts +1 -1
  43. package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/unconvert.mjs +2 -2
  44. package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/types/index.d.mts +1 -1
  45. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f/node_modules/hyparquet-writer/types/parquet-writer.d.mts +2 -0
  46. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f/node_modules/hyparquet-writer/types/schema.d.mts +2 -0
  47. package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/filter.mjs +1 -1
  48. package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/index.mjs +2 -2
  49. package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/indexes.mjs +3 -3
  50. package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/metadata.mjs +2 -2
  51. package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/node.mjs +2 -2
  52. package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/rowgroup.mjs +7 -7
  53. package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/types.d.mts +9 -1
  54. package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/utils.mjs +18 -1
  55. package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/types/index.d.mts +2 -1
  56. package/dist/node_modules/.pnpm/hyparquet@1.31.1/node_modules/hyparquet/types/node.d.mts +3 -0
  57. package/dist/node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/avro/avro.metadata.mjs +2 -0
  58. package/dist/node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/avro/avro.read.mjs +5 -0
  59. package/dist/node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/avro/avro.write.mjs +2 -0
  60. package/dist/node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/fetch.mjs +9 -0
  61. package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/index.mjs +1 -1
  62. package/dist/node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/read.mjs +12 -0
  63. package/dist/node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/s3.mjs +3 -0
  64. package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/sql/icebergDataSource.mjs +1 -1
  65. package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/sql/icebergQuery.mjs +1 -1
  66. package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/types.d.mts +4 -4
  67. package/dist/node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/write/parquet.mjs +5 -0
  68. package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/rewrite.mjs +1 -1
  69. package/dist/node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/types/fetch.d.mts +2 -0
  70. package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/types/index.d.mts +1 -1
  71. package/dist/node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/types/read.d.mts +3 -0
  72. package/dist/node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/types/sql/icebergDataSource.d.mts +2 -0
  73. package/dist/node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/types/sql/icebergQuery.d.mts +2 -0
  74. package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/plan/plan.mjs +1 -0
  75. package/dist/report/types.d.mts +8 -1
  76. package/dist/resolver/fragments.mjs +6 -4
  77. package/dist/schema.d.mts +4 -2
  78. package/dist/storage.d.mts +15 -5
  79. package/dist/vendor/hysnappy-purejs.mjs +1 -1
  80. package/package.json +12 -12
  81. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.bitreader.mjs +0 -88
  82. package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.streams.mjs +0 -21
  83. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f/node_modules/hyparquet-writer/types/parquet-writer.d.mts +0 -2
  84. package/dist/node_modules/.pnpm/hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f/node_modules/hyparquet-writer/types/schema.d.mts +0 -2
  85. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/assemble.mjs +0 -3
  86. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/bloom.mjs +0 -69
  87. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/column.mjs +0 -8
  88. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/convert.mjs +0 -3
  89. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/datapage.mjs +0 -6
  90. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/delta.mjs +0 -2
  91. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/encoding.mjs +0 -2
  92. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/filter.mjs +0 -4
  93. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/geoparquet.mjs +0 -1
  94. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/index.mjs +0 -8
  95. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/indexes.mjs +0 -5
  96. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/metadata.mjs +0 -7
  97. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/node.mjs +0 -3
  98. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/plain.mjs +0 -1
  99. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/plan.mjs +0 -6
  100. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/read.mjs +0 -7
  101. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/rowgroup.mjs +0 -7
  102. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/scan.mjs +0 -6
  103. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/schema.mjs +0 -54
  104. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/snappy.mjs +0 -1
  105. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/thrift.mjs +0 -1
  106. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/types.d.mts +0 -8
  107. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/utils.mjs +0 -19
  108. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/variant.mjs +0 -3
  109. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/src/wkb.mjs +0 -1
  110. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/types/index.d.mts +0 -9
  111. package/dist/node_modules/.pnpm/hyparquet@1.29.2/node_modules/hyparquet/types/node.d.mts +0 -3
  112. package/dist/node_modules/.pnpm/hyparquet@1.30.0/node_modules/hyparquet/src/constants.mjs +0 -80
  113. package/dist/node_modules/.pnpm/hyparquet@1.30.0/node_modules/hyparquet/src/query.mjs +0 -3
  114. package/dist/node_modules/.pnpm/hyparquet@1.30.0/node_modules/hyparquet/src/xxhash.mjs +0 -68
  115. package/dist/node_modules/.pnpm/hyparquet@1.30.0/node_modules/hyparquet/types/indexes.d.mts +0 -1
  116. package/dist/node_modules/.pnpm/hyparquet@1.30.0/node_modules/hyparquet/types/node.d.mts +0 -3
  117. package/dist/node_modules/.pnpm/hyparquet@1.30.0/node_modules/hyparquet/types/query.d.mts +0 -1
  118. package/dist/node_modules/.pnpm/hyparquet@1.30.0/node_modules/hyparquet/types/read.d.mts +0 -1
  119. package/dist/node_modules/.pnpm/hyparquet@1.30.0/node_modules/hyparquet/types/scan.d.mts +0 -1
  120. package/dist/node_modules/.pnpm/hyparquet@1.30.0/node_modules/hyparquet/types/snappy.d.mts +0 -1
  121. package/dist/node_modules/.pnpm/hyparquet@1.30.0/node_modules/hyparquet/types/utils.d.mts +0 -1
  122. package/dist/node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/avro/avro.metadata.mjs +0 -1
  123. package/dist/node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/avro/avro.read.mjs +0 -4
  124. package/dist/node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/avro/avro.write.mjs +0 -2
  125. package/dist/node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/fetch.mjs +0 -9
  126. package/dist/node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/read.mjs +0 -12
  127. package/dist/node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/s3.mjs +0 -3
  128. package/dist/node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/write/parquet.mjs +0 -5
  129. package/dist/node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/types/fetch.d.mts +0 -2
  130. package/dist/node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/types/metadata.d.mts +0 -1
  131. package/dist/node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/types/read.d.mts +0 -3
  132. package/dist/node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/types/sql/icebergDataSource.d.mts +0 -2
  133. package/dist/node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/types/sql/icebergQuery.d.mts +0 -2
  134. /package/dist/node_modules/.pnpm/{hyparquet-compressors@1.1.1 → hyparquet-compressors@1.1.2}/node_modules/hyparquet-compressors/src/brotli.blocks.mjs +0 -0
  135. /package/dist/node_modules/.pnpm/{hyparquet-compressors@1.1.1 → hyparquet-compressors@1.1.2}/node_modules/hyparquet-compressors/src/brotli.context.mjs +0 -0
  136. /package/dist/node_modules/.pnpm/{hyparquet-compressors@1.1.1 → hyparquet-compressors@1.1.2}/node_modules/hyparquet-compressors/src/brotli.contextmap.mjs +0 -0
  137. /package/dist/node_modules/.pnpm/{hyparquet-compressors@1.1.1 → hyparquet-compressors@1.1.2}/node_modules/hyparquet-compressors/src/brotli.dictionary.mjs +0 -0
  138. /package/dist/node_modules/.pnpm/{hyparquet-compressors@1.1.1 → hyparquet-compressors@1.1.2}/node_modules/hyparquet-compressors/src/brotli.prefix.mjs +0 -0
  139. /package/dist/node_modules/.pnpm/{hyparquet-compressors@1.1.1 → hyparquet-compressors@1.1.2}/node_modules/hyparquet-compressors/src/compressors.mjs +0 -0
  140. /package/dist/node_modules/.pnpm/{hyparquet-compressors@1.1.1 → hyparquet-compressors@1.1.2}/node_modules/hyparquet-compressors/src/gzip.huffman.mjs +0 -0
  141. /package/dist/node_modules/.pnpm/{hyparquet-compressors@1.1.1 → hyparquet-compressors@1.1.2}/node_modules/hyparquet-compressors/src/index.mjs +0 -0
  142. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/bytewriter.mjs +0 -0
  143. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/dictionary.mjs +0 -0
  144. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/encoding.mjs +0 -0
  145. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/geospatial.mjs +0 -0
  146. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/index.mjs +0 -0
  147. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/node.mjs +0 -0
  148. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/plain.mjs +0 -0
  149. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/schema.mjs +0 -0
  150. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/snappy.mjs +0 -0
  151. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/splitstream.mjs +0 -0
  152. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/thrift.mjs +0 -0
  153. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/variant.mjs +0 -0
  154. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/wkb.mjs +0 -0
  155. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/write-rows.mjs +0 -0
  156. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/src/write.mjs +0 -0
  157. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/types/bytewriter.d.mts +0 -0
  158. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/types/node.d.mts +0 -0
  159. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/types/wkb.d.mts +0 -0
  160. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/types/write-rows.d.mts +0 -0
  161. /package/dist/node_modules/.pnpm/{hyparquet-writer@0.16.9_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f → hyparquet-writer@0.16.10_patch_hash_d26d002aede61ad95dd633d6557b56897cdcbc45dfc3a5d93fa0e9075ad5425f}/node_modules/hyparquet-writer/types/write.d.mts +0 -0
  162. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/assemble.mjs +0 -0
  163. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/bloom.mjs +0 -0
  164. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/column.mjs +0 -0
  165. /package/dist/node_modules/.pnpm/{hyparquet@1.29.2 → hyparquet@1.31.1}/node_modules/hyparquet/src/constants.mjs +0 -0
  166. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/convert.mjs +0 -0
  167. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/datapage.mjs +0 -0
  168. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/delta.mjs +0 -0
  169. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/encoding.mjs +0 -0
  170. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/geoparquet.mjs +0 -0
  171. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/plain.mjs +0 -0
  172. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/plan.mjs +0 -0
  173. /package/dist/node_modules/.pnpm/{hyparquet@1.29.2 → hyparquet@1.31.1}/node_modules/hyparquet/src/query.mjs +0 -0
  174. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/read.mjs +0 -0
  175. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/scan.mjs +0 -0
  176. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/schema.mjs +0 -0
  177. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/snappy.mjs +0 -0
  178. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/thrift.mjs +0 -0
  179. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/variant.mjs +0 -0
  180. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0 → hyparquet@1.31.1}/node_modules/hyparquet/src/wkb.mjs +0 -0
  181. /package/dist/node_modules/.pnpm/{hyparquet@1.29.2 → hyparquet@1.31.1}/node_modules/hyparquet/src/xxhash.mjs +0 -0
  182. /package/dist/node_modules/.pnpm/{hyparquet@1.29.2 → hyparquet@1.31.1}/node_modules/hyparquet/types/indexes.d.mts +0 -0
  183. /package/dist/node_modules/.pnpm/{hyparquet@1.29.2 → hyparquet@1.31.1}/node_modules/hyparquet/types/metadata.d.mts +0 -0
  184. /package/dist/node_modules/.pnpm/{hyparquet@1.29.2 → hyparquet@1.31.1}/node_modules/hyparquet/types/query.d.mts +0 -0
  185. /package/dist/node_modules/.pnpm/{hyparquet@1.29.2 → hyparquet@1.31.1}/node_modules/hyparquet/types/read.d.mts +0 -0
  186. /package/dist/node_modules/.pnpm/{hyparquet@1.29.2 → hyparquet@1.31.1}/node_modules/hyparquet/types/scan.d.mts +0 -0
  187. /package/dist/node_modules/.pnpm/{hyparquet@1.29.2 → hyparquet@1.31.1}/node_modules/hyparquet/types/snappy.d.mts +0 -0
  188. /package/dist/node_modules/.pnpm/{hyparquet@1.29.2 → hyparquet@1.31.1}/node_modules/hyparquet/types/utils.d.mts +0 -0
  189. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/catalog/file.mjs +0 -0
  190. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/catalog/loadTable.mjs +0 -0
  191. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/catalog/rest.mjs +0 -0
  192. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/create.mjs +0 -0
  193. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/delete.mjs +0 -0
  194. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/json.mjs +0 -0
  195. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/manifest.mjs +0 -0
  196. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/metadata.mjs +0 -0
  197. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/prune.mjs +0 -0
  198. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/puffin/deletion-vector.mjs +0 -0
  199. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/puffin/puffin.mjs +0 -0
  200. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/puffin/roaring.mjs +0 -0
  201. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/schema.mjs +0 -0
  202. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/sigv4.mjs +0 -0
  203. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/sql/whereFilter.mjs +0 -0
  204. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/utils.mjs +0 -0
  205. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/commit.mjs +0 -0
  206. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/conversions.mjs +0 -0
  207. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/delete-file.mjs +0 -0
  208. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/geospatial.mjs +0 -0
  209. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/manifest-list.mjs +0 -0
  210. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/manifest.mjs +0 -0
  211. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/partition.mjs +0 -0
  212. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/serde.mjs +0 -0
  213. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/snapshot.mjs +0 -0
  214. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/sort.mjs +0 -0
  215. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/stage-deletion-vector.mjs +0 -0
  216. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/stage-position-delete.mjs +0 -0
  217. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/stage.mjs +0 -0
  218. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/stats.mjs +0 -0
  219. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/transform.mjs +0 -0
  220. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/src/write/write.mjs +0 -0
  221. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/types/catalog/file.d.mts +0 -0
  222. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/types/catalog/rest.d.mts +0 -0
  223. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/types/create.d.mts +0 -0
  224. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/types/manifest.d.mts +0 -0
  225. /package/dist/node_modules/.pnpm/{hyparquet@1.30.0/node_modules/hyparquet → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird}/types/metadata.d.mts +0 -0
  226. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/types/s3.d.mts +0 -0
  227. /package/dist/node_modules/.pnpm/{icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae → icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae}/node_modules/icebird/types/write/write.d.mts +0 -0
  228. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/ast.d.mts +0 -0
  229. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/backend/batch.mjs +0 -0
  230. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/backend/batchAdapters.mjs +0 -0
  231. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/backend/dataSource.mjs +0 -0
  232. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/accumulator.mjs +0 -0
  233. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/aggregates.mjs +0 -0
  234. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/batchResults.mjs +0 -0
  235. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/batches.mjs +0 -0
  236. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/execute.mjs +0 -0
  237. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/fold.mjs +0 -0
  238. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/join.mjs +0 -0
  239. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/rowScope.mjs +0 -0
  240. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/scanColumn.mjs +0 -0
  241. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/sort.mjs +0 -0
  242. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/streamingAggregate.mjs +0 -0
  243. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/utils.mjs +0 -0
  244. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/window.mjs +0 -0
  245. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/execute/yield.mjs +0 -0
  246. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/expression/alias.mjs +0 -0
  247. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/expression/batch.mjs +0 -0
  248. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/expression/binary.mjs +0 -0
  249. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/expression/date.mjs +0 -0
  250. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/expression/evaluate.mjs +0 -0
  251. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/expression/math.mjs +0 -0
  252. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/expression/regexp.mjs +0 -0
  253. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/expression/scalar.mjs +0 -0
  254. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/expression/strings.mjs +0 -0
  255. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/index.d.mts +0 -0
  256. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/index.mjs +0 -0
  257. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/parse/expression.mjs +0 -0
  258. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/parse/extractTables.mjs +0 -0
  259. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/parse/functions.mjs +0 -0
  260. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/parse/joins.mjs +0 -0
  261. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/parse/parse.mjs +0 -0
  262. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/parse/primary.mjs +0 -0
  263. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/parse/state.mjs +0 -0
  264. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/parse/tokenize.mjs +0 -0
  265. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/parse/types.d.mts +0 -0
  266. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/plan/columns.mjs +0 -0
  267. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/plan/types.d.mts +0 -0
  268. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/spatial/bbox.mjs +0 -0
  269. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/spatial/equality.mjs +0 -0
  270. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/spatial/operations.mjs +0 -0
  271. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/spatial/pointRelations.mjs +0 -0
  272. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/spatial/primitives.mjs +0 -0
  273. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/spatial/segments.mjs +0 -0
  274. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/spatial/spatial.mjs +0 -0
  275. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/spatial/wkt.mjs +0 -0
  276. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/types.d.mts +0 -0
  277. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/validation/aggregates.mjs +0 -0
  278. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/validation/executionErrors.mjs +0 -0
  279. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/validation/functions.mjs +0 -0
  280. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/validation/keywords.mjs +0 -0
  281. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/validation/parseErrors.mjs +0 -0
  282. /package/dist/node_modules/.pnpm/{squirreling@0.16.4 → squirreling@0.16.6}/node_modules/squirreling/src/validation/tables.mjs +0 -0
@@ -295,6 +295,15 @@ function createInspectionStore(opts) {
295
295
  })).flat()
296
296
  };
297
297
  },
298
+ async listHistoryMonths(ctx) {
299
+ const prefix = inspectionHistoryPrefix(ctx, "");
300
+ const months = /* @__PURE__ */ new Set();
301
+ for (const key of await ds.list(prefix)) {
302
+ const month = key.slice(prefix.length).split("/")[0];
303
+ if (month) months.add(month);
304
+ }
305
+ return [...months].sort();
306
+ },
298
307
  async materialize(ctx, rowIter) {
299
308
  const rows = Array.from(rowIter);
300
309
  rows.sort((a, b) => a.urlHash < b.urlHash ? -1 : a.urlHash > b.urlHash ? 1 : 0);
@@ -310,6 +319,14 @@ function createInspectionStore(opts) {
310
319
  bytes: bytes.byteLength
311
320
  };
312
321
  },
322
+ async loadMaterialized(ctx) {
323
+ const bytes = await readOptional(ds, inspectionParquetKey(ctx));
324
+ if (!bytes) return void 0;
325
+ return (await decodeParquetToRows(bytes)).map((row) => ({
326
+ ...row,
327
+ scheduleNextAt: row.scheduleNextAt == null ? null : Number(row.scheduleNextAt)
328
+ }));
329
+ },
313
330
  async appendInspectionEvents(ctx, rows, options) {
314
331
  if (rows.length === 0) return {
315
332
  keys: [],
@@ -0,0 +1,37 @@
1
+ import { DataSource } from "../storage.mjs";
2
+ import { TenantCtx } from "@gscdump/contracts";
3
+ export interface SitemapListContent {
4
+ type: string;
5
+ submitted: number;
6
+ /** Google deprecated this count. It is null when the API omits it. */
7
+ indexed: number | null;
8
+ }
9
+ export interface SitemapListEntry {
10
+ path: string;
11
+ type: string | null;
12
+ isPending: boolean;
13
+ isSitemapsIndex: boolean;
14
+ lastSubmitted: string | null;
15
+ lastDownloaded: string | null;
16
+ warnings: number;
17
+ errors: number;
18
+ contents: SitemapListContent[];
19
+ }
20
+ export interface SitemapListDoc {
21
+ version: 1;
22
+ /** ISO-8601 time of the Search Console fetch. */
23
+ fetchedAt: string;
24
+ sitemaps: SitemapListEntry[];
25
+ }
26
+ export interface SitemapListStore {
27
+ /** The last saved list, or `undefined` when none was saved. A real read failure propagates. */
28
+ load: (ctx: TenantCtx) => Promise<SitemapListDoc | undefined>;
29
+ save: (ctx: TenantCtx, doc: SitemapListDoc) => Promise<{
30
+ key: string;
31
+ bytes: number;
32
+ }>;
33
+ }
34
+ export interface CreateSitemapListStoreOptions {
35
+ dataSource: DataSource;
36
+ }
37
+ export declare function createSitemapListStore(opts: CreateSitemapListStoreOptions): SitemapListStore;
@@ -0,0 +1,23 @@
1
+ import { sitemapListKey } from "../entity-keys.mjs";
2
+ import { readOptional } from "../adapters/read-optional.mjs";
3
+ import { encodeJsonBigintSafe } from "@gscdump/lakehouse/bigint";
4
+ function createSitemapListStore(opts) {
5
+ const ds = opts.dataSource;
6
+ return {
7
+ async load(ctx) {
8
+ const bytes = await readOptional(ds, sitemapListKey(ctx));
9
+ if (bytes === void 0) return void 0;
10
+ return JSON.parse(new TextDecoder().decode(bytes));
11
+ },
12
+ async save(ctx, doc) {
13
+ const key = sitemapListKey(ctx);
14
+ const bytes = encodeJsonBigintSafe(doc);
15
+ await ds.write(key, bytes);
16
+ return {
17
+ key,
18
+ bytes: bytes.byteLength
19
+ };
20
+ }
21
+ };
22
+ }
23
+ export { createSitemapListStore };
@@ -1,9 +1,10 @@
1
1
  import { CreateEmptyTypesStoreOptions, EmptyTypesDoc, EmptyTypesStore, createEmptyTypesStore } from "./entities/empty-types.mjs";
2
2
  import { CreateIndexingMetadataStoreOptions, IndexingMetadataIndex, IndexingMetadataRecord, IndexingMetadataStore, createIndexingMetadataStore } from "./entities/indexing-metadata.mjs";
3
3
  import { CreateInspectionStoreOptions, INSPECTION_HISTORY_MAX_BYTES, InspectionEventRow, InspectionHistoryShard, InspectionIndex, InspectionParquetRow, InspectionRecord, InspectionStore, createInspectionStore } from "./entities/inspection.mjs";
4
- import { SitemapFeedIdentityResult, SitemapGenerationKey, emptyTypesKey, hashUrl, indexingMetadataIndexKey, inspectionBaseKey, inspectionEventKey, inspectionEventsPrefix, inspectionHistoryPrefix, inspectionHistoryShardKey, inspectionIndexKey, inspectionParquetKey, inspectionTransitionsMonthKey, inspectionTransitionsPrefix, parseSitemapFeedIdentity, queryDimMetaKey, queryDimParquetKey, sitemapImmutableBaseKey, sitemapLegacyImportKey, sitemapPayloadHashV1, sitemapSiteGenerationManifestKey, sitemapSiteManifestKey, sitemapSiteManifestsPrefix, sitemapStagedFeedKey, sitemapStagedGenerationPrefix, sitemapUrlsEventKey, sitemapUrlsEventsPrefix, sitemapUrlsPrefix } from "./entity-keys.mjs";
4
+ import { SitemapFeedIdentityResult, SitemapGenerationKey, emptyTypesKey, hashUrl, indexingMetadataIndexKey, inspectionBaseKey, inspectionEventKey, inspectionEventsPrefix, inspectionHistoryPrefix, inspectionHistoryShardKey, inspectionIndexKey, inspectionParquetKey, inspectionTransitionsMonthKey, inspectionTransitionsPrefix, parseSitemapFeedIdentity, queryDimMetaKey, queryDimParquetKey, sitemapImmutableBaseKey, sitemapLegacyImportKey, sitemapListKey, sitemapPayloadHashV1, sitemapSiteGenerationManifestKey, sitemapSiteManifestKey, sitemapSiteManifestsPrefix, sitemapStagedFeedKey, sitemapStagedGenerationPrefix, sitemapUrlsEventKey, sitemapUrlsEventsPrefix, sitemapUrlsPrefix } from "./entity-keys.mjs";
5
5
  import { QueryDimDeps, QueryDimMeta, QueryDimRecord, QueryDimStore, buildQueryDimRecords, createQueryDimStore } from "./entities/query-dim.mjs";
6
6
  import { CompleteSitemapGeneration, CompleteSitemapTraversal, CreateSitemapReadStoreOptions, CreateSitemapStoreOptions, DateRange, FinalizeSitemapGenerationResult, IterateSitemapGenerationUrlsOptions, IterateSitemapGenerationUrlsResult, ListSitemapGenerationUrlsOptions, ListSitemapGenerationUrlsResult, ParsedUrl, QuerySitemapGenerationMembershipResult, RecordSitemapLegacyImportResult, SitemapGenerationFeedManifest, SitemapGenerationReadResult, SitemapLegacyImportEvidence, SitemapMembershipEvent, SitemapMutation, SitemapReadStore, SitemapSiteGenerationManifest, SitemapStagedFeed, SitemapStore, SitemapUrlRecord, StageSitemapGenerationFeedResult } from "./entities/sitemap-shared.mjs";
7
7
  import { createSitemapReadStore } from "./entities/sitemap.mjs";
8
+ import { CreateSitemapListStoreOptions, SitemapListContent, SitemapListDoc, SitemapListEntry, SitemapListStore, createSitemapListStore } from "./entities/sitemap-list.mjs";
8
9
  import { createSitemapStore } from "./entities/sitemap-write.mjs";
9
- export { type CompleteSitemapGeneration, type CompleteSitemapTraversal, type CreateEmptyTypesStoreOptions, type CreateIndexingMetadataStoreOptions, CreateInspectionStoreOptions, type CreateSitemapReadStoreOptions, type CreateSitemapStoreOptions, type DateRange, type EmptyTypesDoc, type EmptyTypesStore, type FinalizeSitemapGenerationResult, INSPECTION_HISTORY_MAX_BYTES, type IndexingMetadataIndex, type IndexingMetadataRecord, type IndexingMetadataStore, InspectionEventRow, InspectionHistoryShard, InspectionIndex, InspectionParquetRow, InspectionRecord, InspectionStore, type IterateSitemapGenerationUrlsOptions, type IterateSitemapGenerationUrlsResult, type ListSitemapGenerationUrlsOptions, type ListSitemapGenerationUrlsResult, type ParsedUrl, QueryDimDeps, QueryDimMeta, QueryDimRecord, QueryDimStore, type QuerySitemapGenerationMembershipResult, type RecordSitemapLegacyImportResult, SitemapFeedIdentityResult, type SitemapGenerationFeedManifest, SitemapGenerationKey, type SitemapGenerationReadResult, type SitemapLegacyImportEvidence, type SitemapMembershipEvent, type SitemapMutation, type SitemapReadStore, type SitemapSiteGenerationManifest, type SitemapStagedFeed, type SitemapStore, type SitemapUrlRecord, type StageSitemapGenerationFeedResult, buildQueryDimRecords, createEmptyTypesStore, createIndexingMetadataStore, createInspectionStore, createQueryDimStore, createSitemapReadStore, createSitemapStore, emptyTypesKey, hashUrl, indexingMetadataIndexKey, inspectionBaseKey, inspectionEventKey, inspectionEventsPrefix, inspectionHistoryPrefix, inspectionHistoryShardKey, inspectionIndexKey, inspectionParquetKey, inspectionTransitionsMonthKey, inspectionTransitionsPrefix, parseSitemapFeedIdentity, queryDimMetaKey, queryDimParquetKey, sitemapImmutableBaseKey, sitemapLegacyImportKey, sitemapPayloadHashV1, sitemapSiteGenerationManifestKey, sitemapSiteManifestKey, sitemapSiteManifestsPrefix, sitemapStagedFeedKey, sitemapStagedGenerationPrefix, sitemapUrlsEventKey, sitemapUrlsEventsPrefix, sitemapUrlsPrefix };
10
+ export { type CompleteSitemapGeneration, type CompleteSitemapTraversal, type CreateEmptyTypesStoreOptions, type CreateIndexingMetadataStoreOptions, CreateInspectionStoreOptions, type CreateSitemapListStoreOptions, type CreateSitemapReadStoreOptions, type CreateSitemapStoreOptions, type DateRange, type EmptyTypesDoc, type EmptyTypesStore, type FinalizeSitemapGenerationResult, INSPECTION_HISTORY_MAX_BYTES, type IndexingMetadataIndex, type IndexingMetadataRecord, type IndexingMetadataStore, InspectionEventRow, InspectionHistoryShard, InspectionIndex, InspectionParquetRow, InspectionRecord, InspectionStore, type IterateSitemapGenerationUrlsOptions, type IterateSitemapGenerationUrlsResult, type ListSitemapGenerationUrlsOptions, type ListSitemapGenerationUrlsResult, type ParsedUrl, QueryDimDeps, QueryDimMeta, QueryDimRecord, QueryDimStore, type QuerySitemapGenerationMembershipResult, type RecordSitemapLegacyImportResult, SitemapFeedIdentityResult, type SitemapGenerationFeedManifest, SitemapGenerationKey, type SitemapGenerationReadResult, type SitemapLegacyImportEvidence, type SitemapListContent, type SitemapListDoc, type SitemapListEntry, type SitemapListStore, type SitemapMembershipEvent, type SitemapMutation, type SitemapReadStore, type SitemapSiteGenerationManifest, type SitemapStagedFeed, type SitemapStore, type SitemapUrlRecord, type StageSitemapGenerationFeedResult, buildQueryDimRecords, createEmptyTypesStore, createIndexingMetadataStore, createInspectionStore, createQueryDimStore, createSitemapListStore, createSitemapReadStore, createSitemapStore, emptyTypesKey, hashUrl, indexingMetadataIndexKey, inspectionBaseKey, inspectionEventKey, inspectionEventsPrefix, inspectionHistoryPrefix, inspectionHistoryShardKey, inspectionIndexKey, inspectionParquetKey, inspectionTransitionsMonthKey, inspectionTransitionsPrefix, parseSitemapFeedIdentity, queryDimMetaKey, queryDimParquetKey, sitemapImmutableBaseKey, sitemapLegacyImportKey, sitemapListKey, sitemapPayloadHashV1, sitemapSiteGenerationManifestKey, sitemapSiteManifestKey, sitemapSiteManifestsPrefix, sitemapStagedFeedKey, sitemapStagedGenerationPrefix, sitemapUrlsEventKey, sitemapUrlsEventsPrefix, sitemapUrlsPrefix };
package/dist/entities.mjs CHANGED
@@ -1,8 +1,9 @@
1
- import { emptyTypesKey, hashUrl, indexingMetadataIndexKey, inspectionBaseKey, inspectionEventKey, inspectionEventsPrefix, inspectionHistoryPrefix, inspectionHistoryShardKey, inspectionIndexKey, inspectionParquetKey, inspectionTransitionsMonthKey, inspectionTransitionsPrefix, parseSitemapFeedIdentity, queryDimMetaKey, queryDimParquetKey, sitemapImmutableBaseKey, sitemapLegacyImportKey, sitemapPayloadHashV1, sitemapSiteGenerationManifestKey, sitemapSiteManifestKey, sitemapSiteManifestsPrefix, sitemapStagedFeedKey, sitemapStagedGenerationPrefix, sitemapUrlsEventKey, sitemapUrlsEventsPrefix, sitemapUrlsPrefix } from "./entity-keys.mjs";
1
+ import { emptyTypesKey, hashUrl, indexingMetadataIndexKey, inspectionBaseKey, inspectionEventKey, inspectionEventsPrefix, inspectionHistoryPrefix, inspectionHistoryShardKey, inspectionIndexKey, inspectionParquetKey, inspectionTransitionsMonthKey, inspectionTransitionsPrefix, parseSitemapFeedIdentity, queryDimMetaKey, queryDimParquetKey, sitemapImmutableBaseKey, sitemapLegacyImportKey, sitemapListKey, sitemapPayloadHashV1, sitemapSiteGenerationManifestKey, sitemapSiteManifestKey, sitemapSiteManifestsPrefix, sitemapStagedFeedKey, sitemapStagedGenerationPrefix, sitemapUrlsEventKey, sitemapUrlsEventsPrefix, sitemapUrlsPrefix } from "./entity-keys.mjs";
2
2
  import { createEmptyTypesStore } from "./entities/empty-types.mjs";
3
3
  import { createIndexingMetadataStore } from "./entities/indexing-metadata.mjs";
4
4
  import { INSPECTION_HISTORY_MAX_BYTES, createInspectionStore } from "./entities/inspection.mjs";
5
5
  import { buildQueryDimRecords, createQueryDimStore } from "./entities/query-dim.mjs";
6
6
  import { createSitemapReadStore } from "./entities/sitemap.mjs";
7
+ import { createSitemapListStore } from "./entities/sitemap-list.mjs";
7
8
  import { createSitemapStore } from "./entities/sitemap-write.mjs";
8
- export { INSPECTION_HISTORY_MAX_BYTES, buildQueryDimRecords, createEmptyTypesStore, createIndexingMetadataStore, createInspectionStore, createQueryDimStore, createSitemapReadStore, createSitemapStore, emptyTypesKey, hashUrl, indexingMetadataIndexKey, inspectionBaseKey, inspectionEventKey, inspectionEventsPrefix, inspectionHistoryPrefix, inspectionHistoryShardKey, inspectionIndexKey, inspectionParquetKey, inspectionTransitionsMonthKey, inspectionTransitionsPrefix, parseSitemapFeedIdentity, queryDimMetaKey, queryDimParquetKey, sitemapImmutableBaseKey, sitemapLegacyImportKey, sitemapPayloadHashV1, sitemapSiteGenerationManifestKey, sitemapSiteManifestKey, sitemapSiteManifestsPrefix, sitemapStagedFeedKey, sitemapStagedGenerationPrefix, sitemapUrlsEventKey, sitemapUrlsEventsPrefix, sitemapUrlsPrefix };
9
+ export { INSPECTION_HISTORY_MAX_BYTES, buildQueryDimRecords, createEmptyTypesStore, createIndexingMetadataStore, createInspectionStore, createQueryDimStore, createSitemapListStore, createSitemapReadStore, createSitemapStore, emptyTypesKey, hashUrl, indexingMetadataIndexKey, inspectionBaseKey, inspectionEventKey, inspectionEventsPrefix, inspectionHistoryPrefix, inspectionHistoryShardKey, inspectionIndexKey, inspectionParquetKey, inspectionTransitionsMonthKey, inspectionTransitionsPrefix, parseSitemapFeedIdentity, queryDimMetaKey, queryDimParquetKey, sitemapImmutableBaseKey, sitemapLegacyImportKey, sitemapListKey, sitemapPayloadHashV1, sitemapSiteGenerationManifestKey, sitemapSiteManifestKey, sitemapSiteManifestsPrefix, sitemapStagedFeedKey, sitemapStagedGenerationPrefix, sitemapUrlsEventKey, sitemapUrlsEventsPrefix, sitemapUrlsPrefix };
@@ -20,6 +20,8 @@ export declare function inspectionHistoryPrefix(ctx: TenantCtx, yearMonth: strin
20
20
  export declare function inspectionHistoryShardKey(ctx: TenantCtx, yearMonth: string, batchId: string): string;
21
21
  /** Stable, URL-safe FNV-1a hash used for entity keys. */
22
22
  export declare function hashUrl(url: string): string;
23
+ /** Search Console's own sitemap list for the site (path, status, counts). */
24
+ export declare function sitemapListKey(ctx: TenantCtx): string;
23
25
  export declare function sitemapUrlsPrefix(ctx: TenantCtx): string;
24
26
  export interface SitemapGenerationKey {
25
27
  id: string;
@@ -45,6 +45,9 @@ function hashUrl(url) {
45
45
  }
46
46
  return (hi >>> 0).toString(16).padStart(8, "0") + (lo >>> 0).toString(16).padStart(8, "0");
47
47
  }
48
+ function sitemapListKey(ctx) {
49
+ return `${tenantEntityPrefix(ctx)}/sitemaps/gsc-list.json`;
50
+ }
48
51
  function sitemapUrlsPrefix(ctx) {
49
52
  return `${tenantEntityPrefix(ctx)}/sitemaps/urls`;
50
53
  }
@@ -141,4 +144,4 @@ function queryDimParquetKey(ctx) {
141
144
  function queryDimMetaKey(ctx) {
142
145
  return `${queryDimPrefix(ctx)}/index.json`;
143
146
  }
144
- export { emptyTypesKey, hashUrl, indexingMetadataIndexKey, inspectionBaseKey, inspectionEventKey, inspectionEventsPrefix, inspectionHistoryPrefix, inspectionHistoryShardKey, inspectionIndexKey, inspectionParquetKey, inspectionTransitionsMonthKey, inspectionTransitionsPrefix, parseSitemapFeedIdentity, queryDimMetaKey, queryDimParquetKey, sitemapImmutableBaseKey, sitemapLegacyImportKey, sitemapPayloadHashV1, sitemapSiteGenerationManifestKey, sitemapSiteManifestKey, sitemapSiteManifestsPrefix, sitemapStagedFeedKey, sitemapStagedGenerationPrefix, sitemapUrlsEventKey, sitemapUrlsEventsPrefix, sitemapUrlsPrefix };
147
+ export { emptyTypesKey, hashUrl, indexingMetadataIndexKey, inspectionBaseKey, inspectionEventKey, inspectionEventsPrefix, inspectionHistoryPrefix, inspectionHistoryShardKey, inspectionIndexKey, inspectionParquetKey, inspectionTransitionsMonthKey, inspectionTransitionsPrefix, parseSitemapFeedIdentity, queryDimMetaKey, queryDimParquetKey, sitemapImmutableBaseKey, sitemapLegacyImportKey, sitemapListKey, sitemapPayloadHashV1, sitemapSiteGenerationManifestKey, sitemapSiteManifestKey, sitemapSiteManifestsPrefix, sitemapStagedFeedKey, sitemapStagedGenerationPrefix, sitemapUrlsEventKey, sitemapUrlsEventsPrefix, sitemapUrlsPrefix };
@@ -1,7 +1,7 @@
1
1
  import { EngineError } from "../errors.mjs";
2
2
  import { IcebergTableName, PartitionKeyEncoding } from "./schema.mjs";
3
- import { icebergCreateTable } from "../node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/types/write/write.mjs";
4
- import "../node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/types/index.mjs";
3
+ import { icebergCreateTable } from "../node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/types/write/write.mjs";
4
+ import "../node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/types/index.mjs";
5
5
  import { Result } from "gscdump/result";
6
6
  import { CommitRetryOptions, ConnectIcebergOptions, IcebergCatalogConfig, IcebergConnection, IcebergListedDataFile, QueryProfiler } from "@gscdump/lakehouse";
7
7
  type IcebirdCreateTableOptions = Parameters<typeof icebergCreateTable>[0];
@@ -2,8 +2,8 @@ import { engineErrors } from "../errors.mjs";
2
2
  import { TABLE_METADATA } from "../drizzle-schema.mjs";
3
3
  import "../schema.mjs";
4
4
  import { DEFAULT_PARTITION_KEY_ENCODING, ICEBERG_PARTITION_SPEC, ICEBERG_TABLES, icebergSchemasFor } from "./schema.mjs";
5
- import { icebergCreateTable } from "../node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/write/write.mjs";
6
- import "../node_modules/.pnpm/icebird@0.8.28_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/index.mjs";
5
+ import { icebergCreateTable } from "../node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/write/write.mjs";
6
+ import "../node_modules/.pnpm/icebird@0.8.30_patch_hash_fddf140b38d2e0cf41ed74c5b5eb5cac324d0a6ac428572f1df7a967dcb19cae/node_modules/icebird/src/index.mjs";
7
7
  import { err, ok } from "gscdump/result";
8
8
  import { ICEBERG_TYPE_MAP, connectIcebergCatalog, dropIcebergTables, resolveIcebergDataFiles } from "@gscdump/lakehouse";
9
9
  import { icebergAppendRetrying } from "@gscdump/lakehouse/unsafe-raw";
package/dist/ingest.d.mts CHANGED
@@ -36,8 +36,6 @@ export declare function toSumPosition(apiPosition: number, impressions: number):
36
36
  /**
37
37
  * Map one GSC API row into `{ date, row }` for the given table, or null if
38
38
  * the row has no keys (GSC occasionally emits empty-keys placeholders).
39
- * Use `createRowAccumulator` for a complete slice so URL variants combine
40
- * before the storage engine deduplicates stored keys.
41
39
  */
42
40
  export declare function transformGscRow(table: TableName, apiRow: GscApiRow, options?: IngestOptions): {
43
41
  date: string;
@@ -113,4 +111,15 @@ export interface RowAccumulatorOptions extends IngestOptions {
113
111
  */
114
112
  trackDateBoundary?: boolean;
115
113
  }
114
+ /**
115
+ * Combine rows that share a stored key into one row. Additive metrics
116
+ * (`clicks`, `impressions`, `sum_position` and their per-device variants)
117
+ * sum. Every other column keeps the first row's value.
118
+ *
119
+ * Distinct Google URLs can share a stored key: `https://x.com/a` and
120
+ * `https://www.x.com/a` both store as `/a`. Each is a separate fact, so they
121
+ * add. Remove repeated API rows before this step; `createRowAccumulator`
122
+ * does that by keying on Google's own dimension tuple.
123
+ */
124
+ export declare function sumByStoredKey(table: TableName, rows: Iterable<Row>): Row[];
116
125
  export declare function createRowAccumulator(options?: RowAccumulatorOptions): RowAccumulator;
package/dist/ingest.mjs CHANGED
@@ -233,17 +233,24 @@ function assembleDatesRow(date, totalsRow, deviceRows, queryGrainedImpressions)
233
233
  };
234
234
  }
235
235
  const DEFAULT_MAX_ROWS = 5e5;
236
- function storedRows(table, sourceRows) {
237
- if (!TABLE_DIMS[table].includes("page")) return [...sourceRows.values()];
236
+ const ADDITIVE_COLUMN_RE = /^(?:clicks|impressions|sum_position)(?:_|$)/;
237
+ const STORED_KEY_COLUMNS = Object.fromEntries(Object.keys(TABLE_DIMS).map((table) => [table, [.../* @__PURE__ */ new Set([
238
+ "date",
239
+ "searchAppearance",
240
+ ...TABLE_DIMS[table].map((dimension) => dimension === "page" ? "url" : dimension)
241
+ ])]]));
242
+ function sumByStoredKey(table, rows) {
243
+ const keyColumns = STORED_KEY_COLUMNS[table];
238
244
  const grouped = /* @__PURE__ */ new Map();
239
- for (const row of sourceRows.values()) {
240
- const key = JSON.stringify([row.searchAppearance, ...TABLE_DIMS[table].map((dimension) => row[dimension === "page" ? "url" : dimension])]);
245
+ for (const row of rows) {
246
+ const r = row;
247
+ const key = JSON.stringify(keyColumns.map((col) => r[col] ?? null));
241
248
  const prior = grouped.get(key);
242
- if (prior) {
243
- prior.clicks = Number(prior.clicks) + Number(row.clicks);
244
- prior.impressions = Number(prior.impressions) + Number(row.impressions);
245
- prior.sum_position = Number(prior.sum_position) + Number(row.sum_position);
246
- } else grouped.set(key, { ...row });
249
+ if (!prior) {
250
+ grouped.set(key, { ...r });
251
+ continue;
252
+ }
253
+ for (const col of Object.keys(r)) if (ADDITIVE_COLUMN_RE.test(col)) prior[col] = Number(prior[col] ?? 0) + Number(r[col] ?? 0);
247
254
  }
248
255
  return [...grouped.values()];
249
256
  }
@@ -292,7 +299,7 @@ function createRowAccumulator(options = {}) {
292
299
  },
293
300
  drain() {
294
301
  const out = /* @__PURE__ */ new Map();
295
- for (const [table, byDate] of buckets) out.set(table, new Map([...byDate].map(([date, sourceRows]) => [date, storedRows(table, sourceRows)])));
302
+ for (const [table, byDate] of buckets) out.set(table, new Map([...byDate].map(([date, sourceRows]) => [date, sumByStoredKey(table, sourceRows.values())])));
296
303
  buckets = /* @__PURE__ */ new Map();
297
304
  latestDate.clear();
298
305
  total = 0;
@@ -311,7 +318,7 @@ function createRowAccumulator(options = {}) {
311
318
  outBy = /* @__PURE__ */ new Map();
312
319
  out.set(table, outBy);
313
320
  }
314
- outBy.set(date, storedRows(table, dateRows));
321
+ outBy.set(date, sumByStoredKey(table, dateRows.values()));
315
322
  total -= dateRows.size;
316
323
  }
317
324
  if (outBy) for (const date of outBy.keys()) byDate.delete(date);
@@ -320,4 +327,4 @@ function createRowAccumulator(options = {}) {
320
327
  }
321
328
  };
322
329
  }
323
- export { TABLE_DIMS, assembleDatesRow, createRowAccumulator, toPath, toSumPosition, transformGscRow };
330
+ export { TABLE_DIMS, assembleDatesRow, createRowAccumulator, sumByStoredKey, toPath, toSumPosition, transformGscRow };
@@ -0,0 +1,93 @@
1
+ const BROTLI_READ_SIZE = 4096;
2
+ const BROTLI_IBUF_SIZE = 8224;
3
+ const BROTLI_IBUF_MASK = 2 * BROTLI_READ_SIZE - 1;
4
+ const kBitMask = new Uint32Array([
5
+ 0,
6
+ 1,
7
+ 3,
8
+ 7,
9
+ 15,
10
+ 31,
11
+ 63,
12
+ 127,
13
+ 255,
14
+ 511,
15
+ 1023,
16
+ 2047,
17
+ 4095,
18
+ 8191,
19
+ 16383,
20
+ 32767,
21
+ 65535,
22
+ 131071,
23
+ 262143,
24
+ 524287,
25
+ 1048575,
26
+ 2097151,
27
+ 4194303,
28
+ 8388607,
29
+ 16777215
30
+ ]);
31
+ var BrotliBitReader = class {
32
+ constructor(input) {
33
+ this.buf_ = new Uint8Array(BROTLI_IBUF_SIZE);
34
+ this.input_ = input;
35
+ this.buf_ptr_ = 0;
36
+ this.val_ = 0;
37
+ this.pos_ = 0;
38
+ this.bit_pos_ = 0;
39
+ this.bit_end_pos_ = 0;
40
+ this.eos_ = 0;
41
+ this.reset();
42
+ }
43
+ static READ_SIZE = BROTLI_READ_SIZE;
44
+ static IBUF_MASK = BROTLI_IBUF_MASK;
45
+ reset() {
46
+ this.buf_ptr_ = 0;
47
+ this.val_ = 0;
48
+ this.pos_ = 0;
49
+ this.bit_pos_ = 0;
50
+ this.bit_end_pos_ = 0;
51
+ this.eos_ = 0;
52
+ this.readMoreInput();
53
+ for (let i = 0; i < 4; i++) {
54
+ this.val_ |= this.buf_[this.pos_] << 8 * i;
55
+ this.pos_++;
56
+ }
57
+ return this.bit_end_pos_ > 0;
58
+ }
59
+ readMoreInput() {
60
+ if (this.bit_end_pos_ > 256) {} else if (this.eos_) {
61
+ if (this.bit_pos_ > this.bit_end_pos_) throw new Error("Unexpected end of input " + this.bit_pos_ + " " + this.bit_end_pos_);
62
+ } else {
63
+ const dst = this.buf_ptr_;
64
+ const bytes_read = this.input_.read(this.buf_, dst, BROTLI_READ_SIZE);
65
+ if (bytes_read < 0) throw new Error("Unexpected end of input");
66
+ if (bytes_read < BROTLI_READ_SIZE) {
67
+ this.eos_ = 1;
68
+ for (let p = 0; p < 32; p++) this.buf_[dst + bytes_read + p] = 0;
69
+ }
70
+ if (dst === 0) {
71
+ for (let p = 0; p < 32; p++) this.buf_[8192 + p] = this.buf_[p];
72
+ this.buf_ptr_ = BROTLI_READ_SIZE;
73
+ } else this.buf_ptr_ = 0;
74
+ this.bit_end_pos_ += bytes_read << 3;
75
+ }
76
+ }
77
+ fillBitWindow() {
78
+ while (this.bit_pos_ >= 8) {
79
+ this.val_ >>>= 8;
80
+ this.val_ |= this.buf_[this.pos_ & BROTLI_IBUF_MASK] << 24;
81
+ this.pos_++;
82
+ this.bit_pos_ = this.bit_pos_ - 8 >>> 0;
83
+ this.bit_end_pos_ = this.bit_end_pos_ - 8 >>> 0;
84
+ }
85
+ }
86
+ readBits(n_bits) {
87
+ if (32 - this.bit_pos_ < n_bits) this.fillBitWindow();
88
+ const val = this.val_ >>> this.bit_pos_ & kBitMask[n_bits];
89
+ this.bit_pos_ += n_bits;
90
+ return val;
91
+ }
92
+ };
93
+ export { BrotliBitReader };
@@ -47,10 +47,12 @@ const kMaxHuffmanTableSize = new Uint16Array([
47
47
  1048,
48
48
  1080
49
49
  ]);
50
- function HuffmanCode(bits, value) {
51
- this.bits = bits;
52
- this.value = value;
53
- }
50
+ var HuffmanCode = class {
51
+ constructor(bits, value) {
52
+ this.bits = bits;
53
+ this.value = value;
54
+ }
55
+ };
54
56
  const kCodeLengthRepeatCode = 16;
55
57
  const MAX_LENGTH = 15;
56
58
  function getNextKey(key, len) {
@@ -249,17 +251,19 @@ function readHuffmanCodeLengths(code_length_code_lengths, num_symbols, code_leng
249
251
  if (space !== 0) throw new Error("[ReadHuffmanCodeLengths] space = " + space);
250
252
  for (; symbol < num_symbols; symbol++) code_lengths[symbol] = 0;
251
253
  }
252
- function HuffmanTreeGroup(alphabet_size, num_htrees) {
253
- this.alphabet_size = alphabet_size;
254
- this.num_htrees = num_htrees;
255
- this.codes = new Array(num_htrees + num_htrees * kMaxHuffmanTableSize[alphabet_size + 31 >>> 5]);
256
- this.htrees = new Uint32Array(num_htrees);
257
- }
258
- HuffmanTreeGroup.prototype.decode = function(br) {
259
- let next = 0;
260
- for (let i = 0; i < this.num_htrees; i++) {
261
- this.htrees[i] = next;
262
- next += readHuffmanCode(this.alphabet_size, this.codes, next, br);
254
+ var HuffmanTreeGroup = class {
255
+ constructor(alphabet_size, num_htrees) {
256
+ this.alphabet_size = alphabet_size;
257
+ this.num_htrees = num_htrees;
258
+ this.codes = new Array(num_htrees + num_htrees * kMaxHuffmanTableSize[alphabet_size + 31 >>> 5]);
259
+ this.htrees = new Uint32Array(num_htrees);
260
+ }
261
+ decode(br) {
262
+ let next = 0;
263
+ for (let i = 0; i < this.num_htrees; i++) {
264
+ this.htrees[i] = next;
265
+ next += readHuffmanCode(this.alphabet_size, this.codes, next, br);
266
+ }
263
267
  }
264
268
  };
265
269
  export { HuffmanCode, HuffmanTreeGroup, readHuffmanCode, readSymbol };
@@ -113,7 +113,6 @@ function decompressBrotli(input, outputLength) {
113
113
  function brotli(input, output) {
114
114
  let pos = 0;
115
115
  let input_end = 0;
116
- let window_bits = 0;
117
116
  let max_distance = 0;
118
117
  const dist_rb = [
119
118
  16,
@@ -122,8 +121,6 @@ function brotli(input, output) {
122
121
  4
123
122
  ];
124
123
  let dist_rb_idx = 0;
125
- let prev_byte1 = 0;
126
- let prev_byte2 = 0;
127
124
  const hgroup = [
128
125
  new HuffmanTreeGroup(0, 0),
129
126
  new HuffmanTreeGroup(0, 0),
@@ -131,7 +128,7 @@ function brotli(input, output) {
131
128
  ];
132
129
  const kRingBufferWriteAheadSlack = 128 + BrotliBitReader.READ_SIZE;
133
130
  const br = new BrotliBitReader(input);
134
- window_bits = decodeWindowBits(br);
131
+ const window_bits = decodeWindowBits(br);
135
132
  const max_backward_distance = (1 << window_bits) - 16;
136
133
  const ringbuffer_size = 1 << window_bits;
137
134
  const ringbuffer_mask = ringbuffer_size - 1;
@@ -144,7 +141,6 @@ function brotli(input, output) {
144
141
  block_len_trees[x] = new HuffmanCode(0, 0);
145
142
  }
146
143
  while (!input_end) {
147
- let meta_block_remaining_len = 0;
148
144
  const block_length = [
149
145
  1 << 28,
150
146
  1 << 28,
@@ -165,14 +161,13 @@ function brotli(input, output) {
165
161
  1
166
162
  ];
167
163
  const block_type_rb_index = [0];
168
- let context_offset = 0;
169
164
  for (let i = 0; i < 3; i++) {
170
165
  hgroup[i].codes = [];
171
166
  hgroup[i].htrees = /* @__PURE__ */ new Uint32Array();
172
167
  }
173
168
  br.readMoreInput();
174
169
  const _out = decodeMetaBlockLength(br);
175
- meta_block_remaining_len = _out.meta_block_length;
170
+ let meta_block_remaining_len = _out.meta_block_length;
176
171
  if (pos + meta_block_remaining_len > output.buffer.length) {
177
172
  const tmp = new Uint8Array(pos + meta_block_remaining_len);
178
173
  tmp.set(output.buffer);
@@ -246,15 +241,14 @@ function brotli(input, output) {
246
241
  const copyIndex = kCopyRangeLut[range_idx] + (cmd_code & 7);
247
242
  const copyCode = kCopyLengthPrefixCode[copyIndex];
248
243
  const copyLength = copyCode.offset + br.readBits(copyCode.nbits);
249
- prev_byte1 = ringbuffer[pos - 1 & ringbuffer_mask];
250
- prev_byte2 = ringbuffer[pos - 2 & ringbuffer_mask];
244
+ let prev_byte1 = ringbuffer[pos - 1 & ringbuffer_mask];
245
+ let prev_byte2 = ringbuffer[pos - 2 & ringbuffer_mask];
251
246
  for (let j = 0; j < insertLength; j++) {
252
247
  br.readMoreInput();
253
248
  if (block_length[0] === 0) {
254
249
  decodeBlockType(num_block_types[0], block_type_trees, 0, block_type, block_type_rb, block_type_rb_index, br);
255
250
  block_length[0] = readBlockLength(block_len_trees, 0, br);
256
- context_offset = block_type[0] << kLiteralContextBits;
257
- context_map_slice = context_offset;
251
+ context_map_slice = block_type[0] << kLiteralContextBits;
258
252
  context_mode = context_modes[block_type[0]];
259
253
  context_lookup_offset1 = lookupOffsets[context_mode];
260
254
  context_lookup_offset2 = lookupOffsets[context_mode + 1];
@@ -326,8 +320,6 @@ function brotli(input, output) {
326
320
  meta_block_remaining_len--;
327
321
  }
328
322
  }
329
- prev_byte1 = ringbuffer[pos - 1 & ringbuffer_mask];
330
- prev_byte2 = ringbuffer[pos - 2 & ringbuffer_mask];
331
323
  }
332
324
  pos &= 1073741823;
333
325
  }
@@ -0,0 +1,25 @@
1
+ var BrotliInput = class {
2
+ constructor(buffer) {
3
+ this.buffer = buffer;
4
+ this.pos = 0;
5
+ }
6
+ read(buf, i, count) {
7
+ if (this.pos + count > this.buffer.length) count = this.buffer.length - this.pos;
8
+ for (let p = 0; p < count; p++) buf[i + p] = this.buffer[this.pos + p];
9
+ this.pos += count;
10
+ return count;
11
+ }
12
+ };
13
+ var BrotliOutput = class {
14
+ constructor(buf) {
15
+ this.buffer = buf;
16
+ this.pos = 0;
17
+ }
18
+ write(buf, count) {
19
+ if (this.pos + count > this.buffer.length) throw new Error("brotli output buffer is not large enough");
20
+ this.buffer.set(buf.subarray(0, count), this.pos);
21
+ this.pos += count;
22
+ return count;
23
+ }
24
+ };
25
+ export { BrotliInput, BrotliOutput };
@@ -19,13 +19,15 @@ const kOmitFirst5 = 16;
19
19
  const kOmitFirst6 = 17;
20
20
  const kOmitFirst7 = 18;
21
21
  const kOmitFirst9 = 20;
22
- function Transform(prefix, transform, suffix) {
23
- this.prefix = new Uint8Array(prefix.length);
24
- this.transform = transform;
25
- this.suffix = new Uint8Array(suffix.length);
26
- for (let i = 0; i < prefix.length; i++) this.prefix[i] = prefix.charCodeAt(i);
27
- for (let i = 0; i < suffix.length; i++) this.suffix[i] = suffix.charCodeAt(i);
28
- }
22
+ var Transform = class {
23
+ constructor(prefix, transform, suffix) {
24
+ this.prefix = new Uint8Array(prefix.length);
25
+ this.transform = transform;
26
+ this.suffix = new Uint8Array(suffix.length);
27
+ for (let i = 0; i < prefix.length; i++) this.prefix[i] = prefix.charCodeAt(i);
28
+ for (let i = 0; i < suffix.length; i++) this.suffix[i] = suffix.charCodeAt(i);
29
+ }
30
+ };
29
31
  const kTransforms = [
30
32
  new Transform("", kIdentity, ""),
31
33
  new Transform("", kIdentity, " "),
@@ -125,8 +125,7 @@ function gunzip(input, output, inputIndex = 0, outputIndex = 0) {
125
125
  ensureSize(outputIndex + 131072);
126
126
  const lms = (1 << lengthBits) - 1;
127
127
  const dms = (1 << distBits) - 1;
128
- let lpos = pos;
129
- for (;; lpos = pos) {
128
+ for (;;) {
130
129
  const code = lengthMap[bits16(input, pos) & lms];
131
130
  const sym = code >> 4;
132
131
  pos += code & 15;
@@ -134,7 +133,6 @@ function gunzip(input, output, inputIndex = 0, outputIndex = 0) {
134
133
  if (!code) throw new Error("invalid length/literal");
135
134
  if (sym < 256) out[outputIndex++] = sym;
136
135
  else if (sym === 256) {
137
- lpos = pos;
138
136
  lengthMap = void 0;
139
137
  break;
140
138
  } else {
@@ -163,7 +161,6 @@ function gunzip(input, output, inputIndex = 0, outputIndex = 0) {
163
161
  for (; outputIndex < end; outputIndex++) out[outputIndex] = out[outputIndex - dt];
164
162
  }
165
163
  }
166
- pos = lpos;
167
164
  if (lengthMap) final = 1;
168
165
  } while (!final);
169
166
  if (outputIndex < out.length) {
@@ -40,9 +40,10 @@ function lz4basic(input, output, outputIndex) {
40
40
  }
41
41
  const offset = input[i++] | input[i++] << 8;
42
42
  if (!offset || offset > len) throw new Error(`lz4 offset out of range ${offset}`);
43
- let matchLength = (token & 15) + 4;
43
+ let matchLength = token & 15;
44
44
  let byte = matchLength + 240;
45
45
  while (byte === 255) matchLength += byte = input[i++];
46
+ matchLength += 4;
46
47
  let pos = len - offset;
47
48
  const end = len + matchLength;
48
49
  while (len < end) output[len++] = output[pos++];
@@ -1,4 +1,4 @@
1
- import { hashParquetValue } from "../../../../hyparquet@1.29.2/node_modules/hyparquet/src/bloom.mjs";
1
+ import { hashParquetValue } from "../../../../hyparquet@1.31.1/node_modules/hyparquet/src/bloom.mjs";
2
2
  import { serializeTCompactProtocol } from "./thrift.mjs";
3
3
  const SALT = new Uint32Array([
4
4
  1203114875,
@@ -39,7 +39,7 @@ function writeColumn({ writer, column, pageData }) {
39
39
  encoding = userEncoding && userEncoding !== "RLE_DICTIONARY" ? userEncoding : type === "BOOLEAN" && values.length > 16 ? "RLE" : "PLAIN";
40
40
  }
41
41
  encodings.push(encoding);
42
- const pageBoundaries = getPageBoundaries(writeValues, writeType, type_length, pageSize);
42
+ const pageBoundaries = getPageBoundaries(writeValues, writeType, type_length, pageSize, repetitionLevels);
43
43
  const columnIndex = column.columnIndex && pageBoundaries.length > 1 ? {
44
44
  null_pages: [],
45
45
  min_values: [],
@@ -141,7 +141,7 @@ function writeColumn({ writer, column, pageData }) {
141
141
  bloomFilter
142
142
  };
143
143
  }
144
- function getPageBoundaries(values, type, type_length, pageSize) {
144
+ function getPageBoundaries(values, type, type_length, pageSize, repetitionLevels = []) {
145
145
  if (!pageSize) return [{
146
146
  start: 0,
147
147
  end: values.length
@@ -152,7 +152,8 @@ function getPageBoundaries(values, type, type_length, pageSize) {
152
152
  for (let i = 0; i < values.length; i++) {
153
153
  const valueSize = estimateValueSize(values[i], type, type_length);
154
154
  accumulatedBytes += valueSize;
155
- if (accumulatedBytes >= pageSize && i > start) {
155
+ const rowStart = !repetitionLevels.length || repetitionLevels[i] === 0;
156
+ if (accumulatedBytes >= pageSize && i > start && rowStart) {
156
157
  boundaries.push({
157
158
  start,
158
159
  end: i
@@ -200,4 +201,4 @@ function compareValues(left, right) {
200
201
  if (left > right) return 1;
201
202
  return 0;
202
203
  }
203
- export { writeColumn };
204
+ export { getPageBoundaries, writeColumn };
@@ -1,6 +1,6 @@
1
+ import { Encodings, PageTypes } from "../../../../hyparquet@1.31.1/node_modules/hyparquet/src/constants.mjs";
1
2
  import { ByteWriter } from "./bytewriter.mjs";
2
3
  import { serializeTCompactProtocol } from "./thrift.mjs";
3
- import { Encodings, PageTypes } from "../../../../hyparquet@1.29.2/node_modules/hyparquet/src/constants.mjs";
4
4
  import { deltaBinaryPack, deltaByteArray, deltaLengthByteArray } from "./delta.mjs";
5
5
  import { writeRleBitPackedHybrid } from "./encoding.mjs";
6
6
  import { writePlain } from "./plain.mjs";