@quereus/quereus 3.1.2 → 3.3.0

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 (263) hide show
  1. package/dist/src/core/database-assertions.d.ts.map +1 -1
  2. package/dist/src/core/database-assertions.js +7 -3
  3. package/dist/src/core/database-assertions.js.map +1 -1
  4. package/dist/src/core/database.js +3 -3
  5. package/dist/src/core/database.js.map +1 -1
  6. package/dist/src/core/statement.js +3 -3
  7. package/dist/src/core/statement.js.map +1 -1
  8. package/dist/src/emit/ast-stringify.js +2 -2
  9. package/dist/src/emit/ast-stringify.js.map +1 -1
  10. package/dist/src/index.d.ts +2 -1
  11. package/dist/src/index.d.ts.map +1 -1
  12. package/dist/src/index.js +1 -0
  13. package/dist/src/index.js.map +1 -1
  14. package/dist/src/parser/parser.d.ts +1 -1
  15. package/dist/src/parser/parser.d.ts.map +1 -1
  16. package/dist/src/parser/parser.js +6 -2
  17. package/dist/src/parser/parser.js.map +1 -1
  18. package/dist/src/parser/visitor.js +1 -1
  19. package/dist/src/parser/visitor.js.map +1 -1
  20. package/dist/src/planner/analysis/attribute-provenance.d.ts +45 -0
  21. package/dist/src/planner/analysis/attribute-provenance.d.ts.map +1 -0
  22. package/dist/src/planner/analysis/attribute-provenance.js +81 -0
  23. package/dist/src/planner/analysis/attribute-provenance.js.map +1 -0
  24. package/dist/src/planner/analysis/binding-extractor.d.ts.map +1 -1
  25. package/dist/src/planner/analysis/binding-extractor.js +9 -6
  26. package/dist/src/planner/analysis/binding-extractor.js.map +1 -1
  27. package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
  28. package/dist/src/planner/analysis/change-scope.js +7 -0
  29. package/dist/src/planner/analysis/change-scope.js.map +1 -1
  30. package/dist/src/planner/analysis/const-evaluator.js +5 -5
  31. package/dist/src/planner/analysis/const-evaluator.js.map +1 -1
  32. package/dist/src/planner/analysis/constraint-extractor.d.ts +10 -0
  33. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  34. package/dist/src/planner/analysis/constraint-extractor.js +28 -12
  35. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  36. package/dist/src/planner/building/delete.d.ts.map +1 -1
  37. package/dist/src/planner/building/delete.js +7 -4
  38. package/dist/src/planner/building/delete.js.map +1 -1
  39. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  40. package/dist/src/planner/building/select-aggregates.js +4 -13
  41. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  42. package/dist/src/planner/building/select-window.d.ts.map +1 -1
  43. package/dist/src/planner/building/select-window.js +54 -21
  44. package/dist/src/planner/building/select-window.js.map +1 -1
  45. package/dist/src/planner/cache/correlation-detector.d.ts +7 -0
  46. package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -1
  47. package/dist/src/planner/cache/correlation-detector.js +34 -2
  48. package/dist/src/planner/cache/correlation-detector.js.map +1 -1
  49. package/dist/src/planner/framework/physical-utils.d.ts.map +1 -1
  50. package/dist/src/planner/framework/physical-utils.js +7 -1
  51. package/dist/src/planner/framework/physical-utils.js.map +1 -1
  52. package/dist/src/planner/nodes/aggregate-node.d.ts +6 -4
  53. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  54. package/dist/src/planner/nodes/aggregate-node.js +8 -6
  55. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  56. package/dist/src/planner/nodes/analyze-node.d.ts.map +1 -1
  57. package/dist/src/planner/nodes/analyze-node.js +3 -0
  58. package/dist/src/planner/nodes/analyze-node.js.map +1 -1
  59. package/dist/src/planner/nodes/async-gather-node.d.ts +169 -0
  60. package/dist/src/planner/nodes/async-gather-node.d.ts.map +1 -0
  61. package/dist/src/planner/nodes/async-gather-node.js +488 -0
  62. package/dist/src/planner/nodes/async-gather-node.js.map +1 -0
  63. package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
  64. package/dist/src/planner/nodes/bloom-join-node.js +8 -7
  65. package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
  66. package/dist/src/planner/nodes/eager-prefetch-node.d.ts +47 -0
  67. package/dist/src/planner/nodes/eager-prefetch-node.d.ts.map +1 -0
  68. package/dist/src/planner/nodes/eager-prefetch-node.js +96 -0
  69. package/dist/src/planner/nodes/eager-prefetch-node.js.map +1 -0
  70. package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts +150 -0
  71. package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts.map +1 -0
  72. package/dist/src/planner/nodes/fanout-lookup-join-node.js +265 -0
  73. package/dist/src/planner/nodes/fanout-lookup-join-node.js.map +1 -0
  74. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  75. package/dist/src/planner/nodes/hash-aggregate.js +6 -16
  76. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  77. package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
  78. package/dist/src/planner/nodes/join-utils.js +7 -1
  79. package/dist/src/planner/nodes/join-utils.js.map +1 -1
  80. package/dist/src/planner/nodes/limit-offset.d.ts +12 -0
  81. package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
  82. package/dist/src/planner/nodes/limit-offset.js +53 -3
  83. package/dist/src/planner/nodes/limit-offset.js.map +1 -1
  84. package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
  85. package/dist/src/planner/nodes/merge-join-node.js +8 -7
  86. package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
  87. package/dist/src/planner/nodes/plan-node-type.d.ts +3 -0
  88. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  89. package/dist/src/planner/nodes/plan-node-type.js +3 -0
  90. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  91. package/dist/src/planner/nodes/plan-node.d.ts +36 -0
  92. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  93. package/dist/src/planner/nodes/plan-node.js +26 -0
  94. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  95. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  96. package/dist/src/planner/nodes/project-node.js +18 -5
  97. package/dist/src/planner/nodes/project-node.js.map +1 -1
  98. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  99. package/dist/src/planner/nodes/reference.js +14 -3
  100. package/dist/src/planner/nodes/reference.js.map +1 -1
  101. package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
  102. package/dist/src/planner/nodes/set-operation-node.js +12 -1
  103. package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
  104. package/dist/src/planner/nodes/sort.js +1 -1
  105. package/dist/src/planner/nodes/sort.js.map +1 -1
  106. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  107. package/dist/src/planner/nodes/stream-aggregate.js +8 -23
  108. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  109. package/dist/src/planner/nodes/values-node.d.ts +2 -1
  110. package/dist/src/planner/nodes/values-node.d.ts.map +1 -1
  111. package/dist/src/planner/nodes/values-node.js +16 -0
  112. package/dist/src/planner/nodes/values-node.js.map +1 -1
  113. package/dist/src/planner/nodes/window-node.js +1 -1
  114. package/dist/src/planner/nodes/window-node.js.map +1 -1
  115. package/dist/src/planner/optimizer-tuning.d.ts +107 -0
  116. package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
  117. package/dist/src/planner/optimizer-tuning.js +43 -0
  118. package/dist/src/planner/optimizer-tuning.js.map +1 -1
  119. package/dist/src/planner/optimizer.d.ts.map +1 -1
  120. package/dist/src/planner/optimizer.js +91 -0
  121. package/dist/src/planner/optimizer.js.map +1 -1
  122. package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -1
  123. package/dist/src/planner/rules/access/rule-monotonic-range-access.js +1 -6
  124. package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -1
  125. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.d.ts.map +1 -1
  126. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js +8 -27
  127. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js.map +1 -1
  128. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts +9 -3
  129. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts.map +1 -1
  130. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js +47 -5
  131. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js.map +1 -1
  132. package/dist/src/planner/rules/distinct/rule-distinct-elimination.d.ts +8 -7
  133. package/dist/src/planner/rules/distinct/rule-distinct-elimination.d.ts.map +1 -1
  134. package/dist/src/planner/rules/distinct/rule-distinct-elimination.js +14 -21
  135. package/dist/src/planner/rules/distinct/rule-distinct-elimination.js.map +1 -1
  136. package/dist/src/planner/rules/join/equi-pair-extractor.js +4 -4
  137. package/dist/src/planner/rules/join/equi-pair-extractor.js.map +1 -1
  138. package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts +74 -0
  139. package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts.map +1 -0
  140. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +139 -0
  141. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js.map +1 -0
  142. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts +58 -0
  143. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -0
  144. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +590 -0
  145. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -0
  146. package/dist/src/planner/rules/join/rule-join-greedy-commute.d.ts.map +1 -1
  147. package/dist/src/planner/rules/join/rule-join-greedy-commute.js +10 -0
  148. package/dist/src/planner/rules/join/rule-join-greedy-commute.js.map +1 -1
  149. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  150. package/dist/src/planner/rules/join/rule-join-physical-selection.js +2 -1
  151. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  152. package/dist/src/planner/rules/join/rule-lateral-top1-asof.d.ts.map +1 -1
  153. package/dist/src/planner/rules/join/rule-lateral-top1-asof.js +1 -2
  154. package/dist/src/planner/rules/join/rule-lateral-top1-asof.js.map +1 -1
  155. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts +43 -0
  156. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts.map +1 -0
  157. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js +115 -0
  158. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js.map +1 -0
  159. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts +102 -0
  160. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts.map +1 -0
  161. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js +545 -0
  162. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js.map +1 -0
  163. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts +45 -0
  164. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts.map +1 -0
  165. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js +78 -0
  166. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js.map +1 -0
  167. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js +1 -1
  168. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js.map +1 -1
  169. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +2 -2
  170. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
  171. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.d.ts +16 -0
  172. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.d.ts.map +1 -1
  173. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.js +47 -4
  174. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.js.map +1 -1
  175. package/dist/src/planner/rules/window/rule-monotonic-window.js +1 -1
  176. package/dist/src/planner/rules/window/rule-monotonic-window.js.map +1 -1
  177. package/dist/src/planner/scopes/param.d.ts.map +1 -1
  178. package/dist/src/planner/scopes/param.js +13 -11
  179. package/dist/src/planner/scopes/param.js.map +1 -1
  180. package/dist/src/planner/type-utils.js +1 -1
  181. package/dist/src/planner/type-utils.js.map +1 -1
  182. package/dist/src/planner/util/fd-utils.d.ts +59 -1
  183. package/dist/src/planner/util/fd-utils.d.ts.map +1 -1
  184. package/dist/src/planner/util/fd-utils.js +122 -0
  185. package/dist/src/planner/util/fd-utils.js.map +1 -1
  186. package/dist/src/planner/util/key-utils.d.ts +26 -3
  187. package/dist/src/planner/util/key-utils.d.ts.map +1 -1
  188. package/dist/src/planner/util/key-utils.js +113 -33
  189. package/dist/src/planner/util/key-utils.js.map +1 -1
  190. package/dist/src/planner/validation/plan-validator.d.ts.map +1 -1
  191. package/dist/src/planner/validation/plan-validator.js +17 -19
  192. package/dist/src/planner/validation/plan-validator.js.map +1 -1
  193. package/dist/src/runtime/async-semaphore.d.ts +36 -0
  194. package/dist/src/runtime/async-semaphore.d.ts.map +1 -0
  195. package/dist/src/runtime/async-semaphore.js +72 -0
  196. package/dist/src/runtime/async-semaphore.js.map +1 -0
  197. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  198. package/dist/src/runtime/deferred-constraint-queue.js +4 -3
  199. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  200. package/dist/src/runtime/delta-executor.d.ts.map +1 -1
  201. package/dist/src/runtime/delta-executor.js +9 -0
  202. package/dist/src/runtime/delta-executor.js.map +1 -1
  203. package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -1
  204. package/dist/src/runtime/emit/asof-scan.js +6 -4
  205. package/dist/src/runtime/emit/asof-scan.js.map +1 -1
  206. package/dist/src/runtime/emit/async-gather.d.ts +77 -0
  207. package/dist/src/runtime/emit/async-gather.d.ts.map +1 -0
  208. package/dist/src/runtime/emit/async-gather.js +234 -0
  209. package/dist/src/runtime/emit/async-gather.js.map +1 -0
  210. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  211. package/dist/src/runtime/emit/binary.js +19 -27
  212. package/dist/src/runtime/emit/binary.js.map +1 -1
  213. package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
  214. package/dist/src/runtime/emit/bloom-join.js +42 -19
  215. package/dist/src/runtime/emit/bloom-join.js.map +1 -1
  216. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  217. package/dist/src/runtime/emit/constraint-check.js +35 -1
  218. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  219. package/dist/src/runtime/emit/delete.d.ts.map +1 -1
  220. package/dist/src/runtime/emit/delete.js +15 -5
  221. package/dist/src/runtime/emit/delete.js.map +1 -1
  222. package/dist/src/runtime/emit/eager-prefetch.d.ts +77 -0
  223. package/dist/src/runtime/emit/eager-prefetch.d.ts.map +1 -0
  224. package/dist/src/runtime/emit/eager-prefetch.js +223 -0
  225. package/dist/src/runtime/emit/eager-prefetch.js.map +1 -0
  226. package/dist/src/runtime/emit/fanout-lookup-join.d.ts +130 -0
  227. package/dist/src/runtime/emit/fanout-lookup-join.d.ts.map +1 -0
  228. package/dist/src/runtime/emit/fanout-lookup-join.js +521 -0
  229. package/dist/src/runtime/emit/fanout-lookup-join.js.map +1 -0
  230. package/dist/src/runtime/emit/merge-join.d.ts.map +1 -1
  231. package/dist/src/runtime/emit/merge-join.js +4 -2
  232. package/dist/src/runtime/emit/merge-join.js.map +1 -1
  233. package/dist/src/runtime/parallel-driver.d.ts +68 -0
  234. package/dist/src/runtime/parallel-driver.d.ts.map +1 -0
  235. package/dist/src/runtime/parallel-driver.js +233 -0
  236. package/dist/src/runtime/parallel-driver.js.map +1 -0
  237. package/dist/src/runtime/register.d.ts.map +1 -1
  238. package/dist/src/runtime/register.js +9 -0
  239. package/dist/src/runtime/register.js.map +1 -1
  240. package/dist/src/runtime/strict-fork.d.ts +36 -0
  241. package/dist/src/runtime/strict-fork.d.ts.map +1 -0
  242. package/dist/src/runtime/strict-fork.js +125 -0
  243. package/dist/src/runtime/strict-fork.js.map +1 -0
  244. package/dist/src/types/temporal-types.d.ts.map +1 -1
  245. package/dist/src/types/temporal-types.js +71 -36
  246. package/dist/src/types/temporal-types.js.map +1 -1
  247. package/dist/src/util/comparison.d.ts.map +1 -1
  248. package/dist/src/util/comparison.js +11 -1
  249. package/dist/src/util/comparison.js.map +1 -1
  250. package/dist/src/vtab/concurrency.d.ts +29 -0
  251. package/dist/src/vtab/concurrency.d.ts.map +1 -0
  252. package/dist/src/vtab/concurrency.js +47 -0
  253. package/dist/src/vtab/concurrency.js.map +1 -0
  254. package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
  255. package/dist/src/vtab/memory/layer/scan-layer.js +67 -29
  256. package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
  257. package/dist/src/vtab/memory/module.d.ts +21 -0
  258. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  259. package/dist/src/vtab/memory/module.js +21 -0
  260. package/dist/src/vtab/memory/module.js.map +1 -1
  261. package/dist/src/vtab/module.d.ts +47 -0
  262. package/dist/src/vtab/module.d.ts.map +1 -1
  263. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"temporal-types.d.ts","sourceRoot":"","sources":["../../../src/types/temporal-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAIjF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,WAiDvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,WA6CvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,WAmE3B,CAAC;AAsDF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,WAgE3B,CAAC"}
1
+ {"version":3,"file":"temporal-types.d.ts","sourceRoot":"","sources":["../../../src/types/temporal-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAmBjF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,WA+DvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,WA2DvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,WAoD3B,CAAC;AAsDF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,WAgE3B,CAAC"}
@@ -1,6 +1,26 @@
1
1
  import { PhysicalType, compareNulls } from './logical-type.js';
2
2
  import { BINARY_COLLATION } from '../util/comparison.js';
3
3
  import { Temporal } from 'temporal-polyfill';
4
+ /**
5
+ * Parse any string ISO datetime form into a UTC PlainDateTime — the canonical
6
+ * stored shape for DATETIME values. Zone-bearing inputs ([zone] annotation,
7
+ * `Z` suffix, or `±HH:MM` offset) are converted to UTC; bare ISO datetimes
8
+ * are treated as already-UTC wall-clock.
9
+ */
10
+ function parseDateTimeStringToUtcPlain(v) {
11
+ // ZonedDateTime first — requires explicit [zone], so the match is unambiguous.
12
+ try {
13
+ return Temporal.ZonedDateTime.from(v).toPlainDateTime();
14
+ }
15
+ catch { /* fall through */ }
16
+ // Instant.from handles `Z` suffix and bare offsets like `+00:00`.
17
+ try {
18
+ return Temporal.Instant.from(v).toZonedDateTimeISO('UTC').toPlainDateTime();
19
+ }
20
+ catch { /* fall through */ }
21
+ // Bare PlainDateTime (no zone/offset) — assume UTC wall-clock.
22
+ return Temporal.PlainDateTime.from(v);
23
+ }
4
24
  /**
5
25
  * DATE type - stores ISO 8601 date strings (YYYY-MM-DD)
6
26
  * Uses Temporal.PlainDate for validation and parsing
@@ -15,11 +35,20 @@ export const DATE_TYPE = {
15
35
  if (typeof v !== 'string')
16
36
  return false;
17
37
  try {
18
- Temporal.PlainDate.from(v);
38
+ // Full datetime parsing first so offset/zoned inputs canonicalize to UTC
39
+ // before the date is extracted. PlainDate.from would otherwise silently
40
+ // accept offset-bearing strings and return the wall-clock date.
41
+ parseDateTimeStringToUtcPlain(v);
19
42
  return true;
20
43
  }
21
44
  catch {
22
- return false;
45
+ try {
46
+ Temporal.PlainDate.from(v);
47
+ return true;
48
+ }
49
+ catch {
50
+ return false;
51
+ }
23
52
  }
24
53
  },
25
54
  parse: (v) => {
@@ -27,11 +56,18 @@ export const DATE_TYPE = {
27
56
  return null;
28
57
  if (typeof v === 'string') {
29
58
  try {
30
- const date = Temporal.PlainDate.from(v);
31
- return date.toString(); // ISO 8601 format: YYYY-MM-DD
59
+ // Datetime-shaped inputs (with or without offset/zone) canonicalize
60
+ // through UTC. PlainDate.from is only consulted for bare date-only
61
+ // strings, which the helper rejects.
62
+ return parseDateTimeStringToUtcPlain(v).toPlainDate().toString();
32
63
  }
33
- catch (e) {
34
- throw new TypeError(`Cannot convert '${v}' to DATE: ${e instanceof Error ? e.message : String(e)}`);
64
+ catch {
65
+ try {
66
+ return Temporal.PlainDate.from(v).toString(); // ISO 8601 format: YYYY-MM-DD
67
+ }
68
+ catch (eDate) {
69
+ throw new TypeError(`Cannot convert '${v}' to DATE: ${eDate instanceof Error ? eDate.message : String(eDate)}`);
70
+ }
35
71
  }
36
72
  }
37
73
  if (typeof v === 'number') {
@@ -72,11 +108,20 @@ export const TIME_TYPE = {
72
108
  if (typeof v !== 'string')
73
109
  return false;
74
110
  try {
75
- Temporal.PlainTime.from(v);
111
+ // Full datetime parsing first so offset/zoned inputs canonicalize to UTC
112
+ // before the time is extracted. PlainTime.from would otherwise silently
113
+ // accept offset-bearing strings and return the wall-clock time.
114
+ parseDateTimeStringToUtcPlain(v);
76
115
  return true;
77
116
  }
78
117
  catch {
79
- return false;
118
+ try {
119
+ Temporal.PlainTime.from(v);
120
+ return true;
121
+ }
122
+ catch {
123
+ return false;
124
+ }
80
125
  }
81
126
  },
82
127
  parse: (v) => {
@@ -84,11 +129,18 @@ export const TIME_TYPE = {
84
129
  return null;
85
130
  if (typeof v === 'string') {
86
131
  try {
87
- const time = Temporal.PlainTime.from(v);
88
- return time.toString(); // ISO 8601 format: HH:MM:SS or HH:MM:SS.sss
132
+ // Datetime-shaped inputs (with or without offset/zone) canonicalize
133
+ // through UTC. PlainTime.from is only consulted for bare time-only
134
+ // strings, which the helper rejects.
135
+ return parseDateTimeStringToUtcPlain(v).toPlainTime().toString();
89
136
  }
90
- catch (e) {
91
- throw new TypeError(`Cannot convert '${v}' to TIME: ${e instanceof Error ? e.message : String(e)}`);
137
+ catch {
138
+ try {
139
+ return Temporal.PlainTime.from(v).toString(); // ISO 8601 format: HH:MM:SS or HH:MM:SS.sss
140
+ }
141
+ catch (eTime) {
142
+ throw new TypeError(`Cannot convert '${v}' to TIME: ${eTime instanceof Error ? eTime.message : String(eTime)}`);
143
+ }
92
144
  }
93
145
  }
94
146
  if (typeof v === 'number') {
@@ -123,19 +175,11 @@ export const DATETIME_TYPE = {
123
175
  if (typeof v !== 'string')
124
176
  return false;
125
177
  try {
126
- // Try PlainDateTime first
127
- Temporal.PlainDateTime.from(v);
178
+ parseDateTimeStringToUtcPlain(v);
128
179
  return true;
129
180
  }
130
181
  catch {
131
- try {
132
- // Also accept ZonedDateTime
133
- Temporal.ZonedDateTime.from(v);
134
- return true;
135
- }
136
- catch {
137
- return false;
138
- }
182
+ return false;
139
183
  }
140
184
  },
141
185
  parse: (v) => {
@@ -143,25 +187,16 @@ export const DATETIME_TYPE = {
143
187
  return null;
144
188
  if (typeof v === 'string') {
145
189
  try {
146
- // Try PlainDateTime first
147
- const dt = Temporal.PlainDateTime.from(v);
148
- return dt.toString(); // ISO 8601 format: YYYY-MM-DDTHH:MM:SS
190
+ return parseDateTimeStringToUtcPlain(v).toString();
149
191
  }
150
- catch {
151
- try {
152
- // Try ZonedDateTime
153
- const zdt = Temporal.ZonedDateTime.from(v);
154
- return zdt.toString(); // ISO 8601 with timezone
155
- }
156
- catch (e) {
157
- throw new TypeError(`Cannot convert '${v}' to DATETIME: ${e instanceof Error ? e.message : String(e)}`);
158
- }
192
+ catch (e) {
193
+ throw new TypeError(`Cannot convert '${v}' to DATETIME: ${e instanceof Error ? e.message : String(e)}`);
159
194
  }
160
195
  }
161
196
  if (typeof v === 'number') {
162
- // Unix timestamp (milliseconds)
197
+ // Unix timestamp (milliseconds) — canonicalize to bare PlainDateTime in UTC.
163
198
  const instant = Temporal.Instant.fromEpochMilliseconds(v);
164
- return instant.toZonedDateTimeISO('UTC').toString();
199
+ return instant.toZonedDateTimeISO('UTC').toPlainDateTime().toString();
165
200
  }
166
201
  throw new TypeError(`Cannot convert ${typeof v} to DATETIME`);
167
202
  },
@@ -1 +1 @@
1
- {"version":3,"file":"temporal-types.js","sourceRoot":"","sources":["../../../src/types/temporal-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAgB;IACrC,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,YAAY,CAAC,IAAI;IAC/B,UAAU,EAAE,IAAI;IAEhB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACf,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,CAAC;YACJ,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;QACZ,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,8BAA8B;YACvD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;QACF,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3B,gCAAgC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;QACnE,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,kBAAkB,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAW,EAAE,CAAW,CAAC;IAEnF,mBAAmB,EAAE,EAAE;IAEvB,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC7B,IAAI,IAAI,KAAK,aAAa;YAAE,OAAO,SAAS,CAAC;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChD,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;CACD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAgB;IACrC,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,YAAY,CAAC,IAAI;IAC/B,UAAU,EAAE,IAAI;IAEhB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACf,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,CAAC;YACJ,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;QACZ,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,4CAA4C;YACrE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;QACF,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,kEAAkE,CAAC,CAAC;YAC7G,CAAC;YACD,iFAAiF;YACjF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,OAAO,GAAG,IAAI,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,kBAAkB,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAW,EAAE,CAAW,CAAC;IAEnF,mBAAmB,EAAE,EAAE;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgB;IACzC,IAAI,EAAE,UAAU;IAChB,YAAY,EAAE,YAAY,CAAC,IAAI;IAC/B,UAAU,EAAE,IAAI;IAEhB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACf,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,CAAC;YACJ,0BAA0B;YAC1B,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,CAAC;gBACJ,4BAA4B;gBAC5B,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;QACZ,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACJ,0BAA0B;gBAC1B,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1C,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,uCAAuC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACR,IAAI,CAAC;oBACJ,oBAAoB;oBACpB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3C,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,yBAAyB;gBACjD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzG,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3B,gCAAgC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrD,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,kBAAkB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAW,EAAE,CAAW,CAAC;IAEnF,mBAAmB,EAAE,EAAE;IAEvB,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC7B,IAAI,IAAI,KAAK,aAAa;YAAE,OAAO,SAAS,CAAC;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChD,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,mFAAmF;YACnF,OAAO;gBACN,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW;gBAC7C,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW;aAC7C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;CACD,CAAC;AAEF;;;GAGG;AACH,SAAS,0BAA0B,CAAC,KAAa;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE9C,4BAA4B;IAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IAE9E,2BAA2B;IAC3B,2FAA2F;IAC3F,MAAM,OAAO,GAAG,uFAAuF,CAAC;IAExG,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,IAAI,KAAK,CAAC;IACV,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtD,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,sCAAsC;QACtC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,UAAU,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QACpD,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,UAAU,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QACtD,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,UAAU,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QACpD,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,UAAU,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QACpD,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,UAAU,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QACxD,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,UAAU,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QACxD,CAAC;IACF,CAAC;IAED,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgB;IACzC,IAAI,EAAE,UAAU;IAChB,YAAY,EAAE,YAAY,CAAC,IAAI;IAC/B,UAAU,EAAE,IAAI;IAEhB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACf,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,CAAC;YACJ,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACR,oCAAoC;YACpC,OAAO,0BAA0B,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAC/C,CAAC;IACF,CAAC;IAED,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;QACZ,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE5B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3B,uBAAuB;YACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YACxD,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACJ,qBAAqB;gBACrB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3C,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACR,4BAA4B;gBAC5B,MAAM,QAAQ,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,QAAQ;oBAAE,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACzC,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;QAED,MAAM,IAAI,SAAS,CAAC,kBAAkB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QAE1C,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAW,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAW,CAAC,CAAC;YAEtD,iDAAiD;YACjD,oEAAoE;YACpE,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;YAC/E,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;YAE/E,OAAO,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACR,0DAA0D;YAC1D,OAAO,gBAAgB,CAAC,CAAW,EAAE,CAAW,CAAC,CAAC;QACnD,CAAC;IACF,CAAC;IAED,mBAAmB,EAAE,EAAE;CACvB,CAAC"}
1
+ {"version":3,"file":"temporal-types.js","sourceRoot":"","sources":["../../../src/types/temporal-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"comparison.d.ts","sourceRoot":"","sources":["../../../src/util/comparison.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comparison.d.ts","sourceRoot":"","sources":["../../../src/util/comparison.ts"],"names":[],"mappings":"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"}
@@ -460,6 +460,7 @@ export function compareTypedValues(a, b, typeA, typeB, collation) {
460
460
  export function createTypedComparator(type, collation) {
461
461
  // Pre-resolve the comparison function
462
462
  const compareFunc = type.compare;
463
+ const collationFunc = collation ?? BINARY_COLLATION;
463
464
  if (compareFunc) {
464
465
  // Type has custom comparison
465
466
  return (a, b) => {
@@ -469,11 +470,20 @@ export function createTypedComparator(type, collation) {
469
470
  return -1;
470
471
  if (b === null)
471
472
  return 1;
473
+ // Per-type compare assumes both args share the declared logical type.
474
+ // When a caller probes with a different storage class (e.g., an IN-list
475
+ // multi-seek with integer literals against a BLOB index), the per-type
476
+ // compare can silently treat unrelated values as equal, causing index
477
+ // seeks to surface false matches. Fall back to SQLite cross-type
478
+ // ordering on storage-class mismatch.
479
+ const classA = getStorageClass(a);
480
+ const classB = getStorageClass(b);
481
+ if (classA !== classB)
482
+ return classA - classB;
472
483
  return compareFunc(a, b, collation);
473
484
  };
474
485
  }
475
486
  // Fallback to default comparison
476
- const collationFunc = collation ?? BINARY_COLLATION;
477
487
  return (a, b) => compareSqlValuesFast(a, b, collationFunc);
478
488
  }
479
489
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"comparison.js","sourceRoot":"","sources":["../../../src/util/comparison.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comparison.js","sourceRoot":"","sources":["../../../src/util/comparison.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { AnyVirtualTableModule, VtabConcurrencyMode } from './module.js';
2
+ import type { VirtualTableConnection } from './connection.js';
3
+ /**
4
+ * Returns the module's declared concurrency mode, defaulting to `'serial'`
5
+ * when the module does not declare one. Consumers in the parallel runtime
6
+ * (e.g. fan-out lookup joins) call this before deciding whether to
7
+ * serialize via `acquireConnectionLock` or to issue calls concurrently.
8
+ */
9
+ export declare function getModuleConcurrencyMode(module: AnyVirtualTableModule): VtabConcurrencyMode;
10
+ /**
11
+ * Cooperative per-connection mutex used by parallel runtime consumers to
12
+ * serialize calls against a `'serial'` module when sibling branches share
13
+ * a single connection.
14
+ *
15
+ * The lock is mode-agnostic — callers consult `getModuleConcurrencyMode`
16
+ * first and only call this when serialization is required. Usage shape:
17
+ *
18
+ * const release = await acquireConnectionLock(connection);
19
+ * try {
20
+ * for await (const row of vtab.query(filterInfo)) yield row;
21
+ * } finally {
22
+ * release();
23
+ * }
24
+ *
25
+ * Independent connections never block each other; the lock is keyed on
26
+ * the connection identity.
27
+ */
28
+ export declare function acquireConnectionLock(connection: VirtualTableConnection): Promise<() => void>;
29
+ //# sourceMappingURL=concurrency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../../../src/vtab/concurrency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,qBAAqB,GAAG,mBAAmB,CAE3F;AAUD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,qBAAqB,CAC1C,UAAU,EAAE,sBAAsB,GAChC,OAAO,CAAC,MAAM,IAAI,CAAC,CAarB"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Returns the module's declared concurrency mode, defaulting to `'serial'`
3
+ * when the module does not declare one. Consumers in the parallel runtime
4
+ * (e.g. fan-out lookup joins) call this before deciding whether to
5
+ * serialize via `acquireConnectionLock` or to issue calls concurrently.
6
+ */
7
+ export function getModuleConcurrencyMode(module) {
8
+ return module.concurrencyMode ?? 'serial';
9
+ }
10
+ /**
11
+ * Promise-chain tail per connection. The tail resolves when the current
12
+ * critical section's release fires; subsequent acquirers await it and
13
+ * chain a fresh promise on. WeakMap keyed by connection so a discarded
14
+ * connection is GC-eligible without an explicit teardown.
15
+ */
16
+ const connectionLockTails = new WeakMap();
17
+ /**
18
+ * Cooperative per-connection mutex used by parallel runtime consumers to
19
+ * serialize calls against a `'serial'` module when sibling branches share
20
+ * a single connection.
21
+ *
22
+ * The lock is mode-agnostic — callers consult `getModuleConcurrencyMode`
23
+ * first and only call this when serialization is required. Usage shape:
24
+ *
25
+ * const release = await acquireConnectionLock(connection);
26
+ * try {
27
+ * for await (const row of vtab.query(filterInfo)) yield row;
28
+ * } finally {
29
+ * release();
30
+ * }
31
+ *
32
+ * Independent connections never block each other; the lock is keyed on
33
+ * the connection identity.
34
+ */
35
+ export async function acquireConnectionLock(connection) {
36
+ const prevTail = connectionLockTails.get(connection);
37
+ let release;
38
+ const nextTail = new Promise((resolve) => {
39
+ release = resolve;
40
+ });
41
+ connectionLockTails.set(connection, nextTail);
42
+ if (prevTail !== undefined) {
43
+ await prevTail;
44
+ }
45
+ return release;
46
+ }
47
+ //# sourceMappingURL=concurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../../../src/vtab/concurrency.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAA6B;IACrE,OAAO,MAAM,CAAC,eAAe,IAAI,QAAQ,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAyC,CAAC;AAEjF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,UAAkC;IAElC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAErD,IAAI,OAAoB,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC9C,OAAO,GAAG,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE9C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,QAAQ,CAAC;IAChB,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scan-layer.d.ts","sourceRoot":"","sources":["../../../../../src/vtab/memory/layer/scan-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAI5C,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAKhE;;;GAGG;AACH,wBAAuB,SAAS,CAC/B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,QAAQ,GACZ,aAAa,CAAC,GAAG,CAAC,CA+JpB"}
1
+ {"version":3,"file":"scan-layer.d.ts","sourceRoot":"","sources":["../../../../../src/vtab/memory/layer/scan-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAI5C,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAKhE;;;GAGG;AACH,wBAAuB,SAAS,CAC/B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,QAAQ,GACZ,aAAa,CAAC,GAAG,CAAC,CAuMpB"}
@@ -43,6 +43,23 @@ export async function* scanLayer(layer, plan) {
43
43
  }
44
44
  return;
45
45
  }
46
+ const isAscending = !plan.descending;
47
+ // When the leading PK column is DESC the BTree is physically ordered with
48
+ // that column descending. The synthesized all-columns fallback definition
49
+ // carries no `desc`, so the `?.` chain yields false there, which is correct.
50
+ const isDescFirstColumn = schema.primaryKeyDefinition?.[0]?.desc === true;
51
+ const isComposite = (schema.primaryKeyDefinition?.length ?? schema.columns.length) > 1;
52
+ // Seek-start selection must depend on the *physical* walk direction, not just
53
+ // the key's declared direction. The four {isAscending}×{isDescFirstColumn}
54
+ // combinations each seek from one bound and terminate at the other:
55
+ // ascending + ASC-leading → seek from lower, terminate at upper
56
+ // ascending + DESC-leading → seek from upper, terminate at lower
57
+ // descending + ASC-leading → seek from upper, terminate at lower
58
+ // descending + DESC-leading → seek from lower, terminate at upper
59
+ // i.e. seek from the upper bound exactly when isAscending === isDescFirstColumn
60
+ // (and terminate at the complement). Absent the chosen bound we fall back to
61
+ // the tree end `safeIterate` picks for the direction.
62
+ const seekFromUpper = isAscending === isDescFirstColumn;
46
63
  // Determine start key for range scans
47
64
  let startKey;
48
65
  if (plan.equalityPrefix) {
@@ -51,10 +68,17 @@ export async function* scanLayer(layer, plan) {
51
68
  compositeStart.push(plan.lowerBound.value);
52
69
  startKey = { value: compositeStart };
53
70
  }
54
- else if (plan.lowerBound) {
55
- startKey = { value: plan.lowerBound.value };
71
+ else {
72
+ // Composite PKs store array-shaped keys; wrap the scalar leading-column
73
+ // bound in a single-element array so the comparator's prefix handling
74
+ // positions the seek before all full keys sharing that prefix.
75
+ const seekBound = seekFromUpper ? plan.upperBound : plan.lowerBound;
76
+ if (seekBound) {
77
+ const seekValue = isComposite ? [seekBound.value] : seekBound.value;
78
+ startKey = { value: seekValue };
79
+ }
56
80
  }
57
- for await (const value of safeIterate(tree, !plan.descending, startKey)) {
81
+ for await (const value of safeIterate(tree, isAscending, startKey)) {
58
82
  const row = value;
59
83
  const primaryKey = primaryKeyExtractorFromRow(row);
60
84
  if (!planAppliesToKey(plan, primaryKey, primaryKeyComparator)) {
@@ -71,12 +95,22 @@ export async function* scanLayer(layer, plan) {
71
95
  if (prefixMismatch)
72
96
  break;
73
97
  }
74
- // Ascending scan past upper bound — early exit
75
- if (!plan.descending && plan.upperBound && !plan.equalityPrefix) {
98
+ else {
99
+ // Past the bound we terminate at — early exit. We seek from one end
100
+ // and terminate at the other, so this is the complement of
101
+ // seekFromUpper and holds for both physical walk directions.
76
102
  const keyForComparison = Array.isArray(primaryKey) ? primaryKey[0] : primaryKey;
77
- const cmp = compareSqlValues(keyForComparison, plan.upperBound.value);
78
- if (cmp > 0 || (cmp === 0 && plan.upperBound.op === IndexConstraintOp.LT)) {
79
- break;
103
+ if (!seekFromUpper && plan.upperBound) {
104
+ const cmp = compareSqlValues(keyForComparison, plan.upperBound.value);
105
+ if (cmp > 0 || (cmp === 0 && plan.upperBound.op === IndexConstraintOp.LT)) {
106
+ break;
107
+ }
108
+ }
109
+ else if (seekFromUpper && plan.lowerBound) {
110
+ const cmp = compareSqlValues(keyForComparison, plan.lowerBound.value);
111
+ if (cmp < 0 || (cmp === 0 && plan.lowerBound.op === IndexConstraintOp.GT)) {
112
+ break;
113
+ }
80
114
  }
81
115
  }
82
116
  continue;
@@ -105,6 +139,14 @@ export async function* scanLayer(layer, plan) {
105
139
  const isAscending = !plan.descending;
106
140
  const indexDef = schema.indexes?.find(idx => idx.name === plan.indexName);
107
141
  const isDescFirstColumn = indexDef?.columns[0]?.desc === true;
142
+ // Seek-from end depends on the physical walk direction (see the primary
143
+ // branch for the full rationale): seek from the upper bound exactly when
144
+ // isAscending === isDescFirstColumn, terminate at the complement. Composite
145
+ // secondary indexes store array-shaped keys, so wrap the scalar
146
+ // leading-column bound so the comparator's prefix handling positions the
147
+ // seek correctly (mirrors the primary branch).
148
+ const isComposite = (indexDef?.columns.length ?? 1) > 1;
149
+ const seekFromUpper = isAscending === isDescFirstColumn;
108
150
  // Determine start key
109
151
  let startKey;
110
152
  if (plan.equalityPrefix) {
@@ -113,14 +155,11 @@ export async function* scanLayer(layer, plan) {
113
155
  compositeStart.push(plan.lowerBound.value);
114
156
  startKey = { value: compositeStart };
115
157
  }
116
- else if (isDescFirstColumn) {
117
- if (plan.upperBound) {
118
- startKey = { value: plan.upperBound.value };
119
- }
120
- }
121
158
  else {
122
- if (plan.lowerBound) {
123
- startKey = { value: plan.lowerBound.value };
159
+ const seekBound = seekFromUpper ? plan.upperBound : plan.lowerBound;
160
+ if (seekBound) {
161
+ const seekValue = isComposite ? [seekBound.value] : seekBound.value;
162
+ startKey = { value: seekValue };
124
163
  }
125
164
  }
126
165
  for await (const indexEntry of safeIterate(indexTree, isAscending, startKey)) {
@@ -139,21 +178,20 @@ export async function* scanLayer(layer, plan) {
139
178
  break;
140
179
  continue;
141
180
  }
142
- // Early termination: for ASC indexes break when past the relevant bound
143
- if (isAscending) {
144
- if (isDescFirstColumn && plan.lowerBound) {
145
- const keyForComparison = Array.isArray(indexEntry.indexKey) ? indexEntry.indexKey[0] : indexEntry.indexKey;
146
- const cmp = compareSqlValues(keyForComparison, plan.lowerBound.value);
147
- if (cmp < 0 || (cmp === 0 && plan.lowerBound.op === IndexConstraintOp.GT)) {
148
- break;
149
- }
181
+ // Early termination: break once the leading column passes the bound we
182
+ // terminate at (the complement of seekFromUpper; holds for both
183
+ // physical walk directions).
184
+ const keyForComparison = Array.isArray(indexEntry.indexKey) ? indexEntry.indexKey[0] : indexEntry.indexKey;
185
+ if (!seekFromUpper && plan.upperBound) {
186
+ const cmp = compareSqlValues(keyForComparison, plan.upperBound.value);
187
+ if (cmp > 0 || (cmp === 0 && plan.upperBound.op === IndexConstraintOp.LT)) {
188
+ break;
150
189
  }
151
- else if (!isDescFirstColumn && plan.upperBound) {
152
- const keyForComparison = Array.isArray(indexEntry.indexKey) ? indexEntry.indexKey[0] : indexEntry.indexKey;
153
- const cmp = compareSqlValues(keyForComparison, plan.upperBound.value);
154
- if (cmp > 0 || (cmp === 0 && plan.upperBound.op === IndexConstraintOp.LT)) {
155
- break;
156
- }
190
+ }
191
+ else if (seekFromUpper && plan.lowerBound) {
192
+ const cmp = compareSqlValues(keyForComparison, plan.lowerBound.value);
193
+ if (cmp < 0 || (cmp === 0 && plan.lowerBound.op === IndexConstraintOp.GT)) {
194
+ break;
157
195
  }
158
196
  }
159
197
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"scan-layer.js","sourceRoot":"","sources":["../../../../../src/vtab/memory/layer/scan-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan-layer.js","sourceRoot":"","sources":["../../../../../src/vtab/memory/layer/scan-layer.ts"],"names":[],"mappings":"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"}