@quereus/quereus 2.8.0 → 2.9.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 (214) hide show
  1. package/dist/src/emit/ast-stringify.d.ts.map +1 -1
  2. package/dist/src/emit/ast-stringify.js +0 -3
  3. package/dist/src/emit/ast-stringify.js.map +1 -1
  4. package/dist/src/parser/ast.d.ts +3 -2
  5. package/dist/src/parser/ast.d.ts.map +1 -1
  6. package/dist/src/parser/parser.d.ts.map +1 -1
  7. package/dist/src/parser/parser.js +13 -4
  8. package/dist/src/parser/parser.js.map +1 -1
  9. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  10. package/dist/src/planner/building/foreign-key-builder.js +3 -2
  11. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  12. package/dist/src/planner/building/select.js +14 -2
  13. package/dist/src/planner/building/select.js.map +1 -1
  14. package/dist/src/planner/building/update.d.ts.map +1 -1
  15. package/dist/src/planner/building/update.js +10 -6
  16. package/dist/src/planner/building/update.js.map +1 -1
  17. package/dist/src/planner/framework/characteristics.d.ts +3 -1
  18. package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
  19. package/dist/src/planner/framework/characteristics.js +7 -0
  20. package/dist/src/planner/framework/characteristics.js.map +1 -1
  21. package/dist/src/planner/framework/physical-utils.d.ts +22 -1
  22. package/dist/src/planner/framework/physical-utils.d.ts.map +1 -1
  23. package/dist/src/planner/framework/physical-utils.js +47 -0
  24. package/dist/src/planner/framework/physical-utils.js.map +1 -1
  25. package/dist/src/planner/nodes/alias-node.d.ts.map +1 -1
  26. package/dist/src/planner/nodes/alias-node.js +2 -0
  27. package/dist/src/planner/nodes/alias-node.js.map +1 -1
  28. package/dist/src/planner/nodes/asof-scan-node.d.ts +137 -0
  29. package/dist/src/planner/nodes/asof-scan-node.d.ts.map +1 -0
  30. package/dist/src/planner/nodes/asof-scan-node.js +223 -0
  31. package/dist/src/planner/nodes/asof-scan-node.js.map +1 -0
  32. package/dist/src/planner/nodes/constraint-check-node.d.ts +3 -0
  33. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  34. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  35. package/dist/src/planner/nodes/distinct-node.d.ts.map +1 -1
  36. package/dist/src/planner/nodes/distinct-node.js +7 -0
  37. package/dist/src/planner/nodes/distinct-node.js.map +1 -1
  38. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  39. package/dist/src/planner/nodes/filter.js +2 -0
  40. package/dist/src/planner/nodes/filter.js.map +1 -1
  41. package/dist/src/planner/nodes/function.d.ts +11 -1
  42. package/dist/src/planner/nodes/function.d.ts.map +1 -1
  43. package/dist/src/planner/nodes/function.js +94 -1
  44. package/dist/src/planner/nodes/function.js.map +1 -1
  45. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  46. package/dist/src/planner/nodes/hash-aggregate.js +2 -0
  47. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  48. package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
  49. package/dist/src/planner/nodes/join-node.js +10 -2
  50. package/dist/src/planner/nodes/join-node.js.map +1 -1
  51. package/dist/src/planner/nodes/join-utils.d.ts +19 -1
  52. package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
  53. package/dist/src/planner/nodes/join-utils.js +46 -0
  54. package/dist/src/planner/nodes/join-utils.js.map +1 -1
  55. package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
  56. package/dist/src/planner/nodes/limit-offset.js +2 -0
  57. package/dist/src/planner/nodes/limit-offset.js.map +1 -1
  58. package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
  59. package/dist/src/planner/nodes/merge-join-node.js +4 -1
  60. package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
  61. package/dist/src/planner/nodes/ordinal-slice-node.d.ts +50 -0
  62. package/dist/src/planner/nodes/ordinal-slice-node.d.ts.map +1 -0
  63. package/dist/src/planner/nodes/ordinal-slice-node.js +127 -0
  64. package/dist/src/planner/nodes/ordinal-slice-node.js.map +1 -0
  65. package/dist/src/planner/nodes/plan-node-type.d.ts +2 -0
  66. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  67. package/dist/src/planner/nodes/plan-node-type.js +2 -0
  68. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  69. package/dist/src/planner/nodes/plan-node.d.ts +130 -1
  70. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  71. package/dist/src/planner/nodes/plan-node.js +49 -0
  72. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  73. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  74. package/dist/src/planner/nodes/project-node.js +6 -1
  75. package/dist/src/planner/nodes/project-node.js.map +1 -1
  76. package/dist/src/planner/nodes/reference.d.ts +4 -1
  77. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  78. package/dist/src/planner/nodes/reference.js +16 -0
  79. package/dist/src/planner/nodes/reference.js.map +1 -1
  80. package/dist/src/planner/nodes/scalar.d.ts +7 -1
  81. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  82. package/dist/src/planner/nodes/scalar.js +100 -1
  83. package/dist/src/planner/nodes/scalar.js.map +1 -1
  84. package/dist/src/planner/nodes/set-operation-node.d.ts +2 -1
  85. package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
  86. package/dist/src/planner/nodes/set-operation-node.js +9 -0
  87. package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
  88. package/dist/src/planner/nodes/sort.d.ts.map +1 -1
  89. package/dist/src/planner/nodes/sort.js +20 -0
  90. package/dist/src/planner/nodes/sort.js.map +1 -1
  91. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  92. package/dist/src/planner/nodes/stream-aggregate.js +2 -0
  93. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  94. package/dist/src/planner/nodes/table-access-nodes.d.ts +37 -2
  95. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  96. package/dist/src/planner/nodes/table-access-nodes.js +87 -10
  97. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  98. package/dist/src/planner/nodes/update-node.d.ts +1 -3
  99. package/dist/src/planner/nodes/update-node.d.ts.map +1 -1
  100. package/dist/src/planner/nodes/update-node.js +3 -9
  101. package/dist/src/planner/nodes/update-node.js.map +1 -1
  102. package/dist/src/planner/nodes/window-node.d.ts +61 -2
  103. package/dist/src/planner/nodes/window-node.d.ts.map +1 -1
  104. package/dist/src/planner/nodes/window-node.js +64 -3
  105. package/dist/src/planner/nodes/window-node.js.map +1 -1
  106. package/dist/src/planner/optimizer-tuning.d.ts +9 -0
  107. package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
  108. package/dist/src/planner/optimizer-tuning.js +3 -0
  109. package/dist/src/planner/optimizer-tuning.js.map +1 -1
  110. package/dist/src/planner/optimizer.d.ts.map +1 -1
  111. package/dist/src/planner/optimizer.js +91 -0
  112. package/dist/src/planner/optimizer.js.map +1 -1
  113. package/dist/src/planner/rules/access/rule-asof-strategy-select.d.ts +30 -0
  114. package/dist/src/planner/rules/access/rule-asof-strategy-select.d.ts.map +1 -0
  115. package/dist/src/planner/rules/access/rule-asof-strategy-select.js +112 -0
  116. package/dist/src/planner/rules/access/rule-asof-strategy-select.js.map +1 -0
  117. package/dist/src/planner/rules/access/rule-monotonic-limit-pushdown.d.ts +33 -0
  118. package/dist/src/planner/rules/access/rule-monotonic-limit-pushdown.d.ts.map +1 -0
  119. package/dist/src/planner/rules/access/rule-monotonic-limit-pushdown.js +162 -0
  120. package/dist/src/planner/rules/access/rule-monotonic-limit-pushdown.js.map +1 -0
  121. package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts +29 -0
  122. package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -0
  123. package/dist/src/planner/rules/access/rule-monotonic-range-access.js +175 -0
  124. package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -0
  125. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  126. package/dist/src/planner/rules/access/rule-select-access-path.js +31 -10
  127. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  128. package/dist/src/planner/rules/join/equi-pair-extractor.d.ts +61 -0
  129. package/dist/src/planner/rules/join/equi-pair-extractor.d.ts.map +1 -0
  130. package/dist/src/planner/rules/join/equi-pair-extractor.js +155 -0
  131. package/dist/src/planner/rules/join/equi-pair-extractor.js.map +1 -0
  132. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  133. package/dist/src/planner/rules/join/rule-join-physical-selection.js +2 -122
  134. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  135. package/dist/src/planner/rules/join/rule-lateral-top1-asof.d.ts +21 -0
  136. package/dist/src/planner/rules/join/rule-lateral-top1-asof.d.ts.map +1 -0
  137. package/dist/src/planner/rules/join/rule-lateral-top1-asof.js +405 -0
  138. package/dist/src/planner/rules/join/rule-lateral-top1-asof.js.map +1 -0
  139. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts +31 -0
  140. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -0
  141. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +113 -0
  142. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -0
  143. package/dist/src/planner/rules/window/rule-monotonic-window.d.ts +47 -0
  144. package/dist/src/planner/rules/window/rule-monotonic-window.d.ts.map +1 -0
  145. package/dist/src/planner/rules/window/rule-monotonic-window.js +341 -0
  146. package/dist/src/planner/rules/window/rule-monotonic-window.js.map +1 -0
  147. package/dist/src/runtime/context-helpers.d.ts +9 -0
  148. package/dist/src/runtime/context-helpers.d.ts.map +1 -1
  149. package/dist/src/runtime/context-helpers.js +5 -0
  150. package/dist/src/runtime/context-helpers.js.map +1 -1
  151. package/dist/src/runtime/emit/asof-scan.d.ts +10 -0
  152. package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -0
  153. package/dist/src/runtime/emit/asof-scan.js +467 -0
  154. package/dist/src/runtime/emit/asof-scan.js.map +1 -0
  155. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  156. package/dist/src/runtime/emit/constraint-check.js +20 -0
  157. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  158. package/dist/src/runtime/emit/ordinal-slice.d.ts +13 -0
  159. package/dist/src/runtime/emit/ordinal-slice.d.ts.map +1 -0
  160. package/dist/src/runtime/emit/ordinal-slice.js +89 -0
  161. package/dist/src/runtime/emit/ordinal-slice.js.map +1 -0
  162. package/dist/src/runtime/emit/returning.d.ts.map +1 -1
  163. package/dist/src/runtime/emit/returning.js +9 -4
  164. package/dist/src/runtime/emit/returning.js.map +1 -1
  165. package/dist/src/runtime/emit/scan.d.ts +19 -3
  166. package/dist/src/runtime/emit/scan.d.ts.map +1 -1
  167. package/dist/src/runtime/emit/scan.js +12 -8
  168. package/dist/src/runtime/emit/scan.js.map +1 -1
  169. package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
  170. package/dist/src/runtime/emit/schema-declarative.js +91 -14
  171. package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
  172. package/dist/src/runtime/emit/window.d.ts.map +1 -1
  173. package/dist/src/runtime/emit/window.js +732 -37
  174. package/dist/src/runtime/emit/window.js.map +1 -1
  175. package/dist/src/runtime/foreign-key-actions.js +5 -4
  176. package/dist/src/runtime/foreign-key-actions.js.map +1 -1
  177. package/dist/src/runtime/register.d.ts.map +1 -1
  178. package/dist/src/runtime/register.js +4 -0
  179. package/dist/src/runtime/register.js.map +1 -1
  180. package/dist/src/schema/catalog.d.ts +10 -0
  181. package/dist/src/schema/catalog.d.ts.map +1 -1
  182. package/dist/src/schema/catalog.js +29 -6
  183. package/dist/src/schema/catalog.js.map +1 -1
  184. package/dist/src/schema/function.d.ts +24 -0
  185. package/dist/src/schema/function.d.ts.map +1 -1
  186. package/dist/src/schema/function.js.map +1 -1
  187. package/dist/src/schema/manager.d.ts +10 -0
  188. package/dist/src/schema/manager.d.ts.map +1 -1
  189. package/dist/src/schema/manager.js +10 -0
  190. package/dist/src/schema/manager.js.map +1 -1
  191. package/dist/src/schema/schema-differ.d.ts +18 -1
  192. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  193. package/dist/src/schema/schema-differ.js +307 -42
  194. package/dist/src/schema/schema-differ.js.map +1 -1
  195. package/dist/src/types/logical-type.d.ts +11 -0
  196. package/dist/src/types/logical-type.d.ts.map +1 -1
  197. package/dist/src/types/logical-type.js.map +1 -1
  198. package/dist/src/util/ast-literal.d.ts +11 -0
  199. package/dist/src/util/ast-literal.d.ts.map +1 -0
  200. package/dist/src/util/ast-literal.js +26 -0
  201. package/dist/src/util/ast-literal.js.map +1 -0
  202. package/dist/src/vtab/best-access-plan.d.ts +41 -0
  203. package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
  204. package/dist/src/vtab/best-access-plan.js +29 -0
  205. package/dist/src/vtab/best-access-plan.js.map +1 -1
  206. package/dist/src/vtab/filter-info.d.ts +14 -0
  207. package/dist/src/vtab/filter-info.d.ts.map +1 -1
  208. package/dist/src/vtab/memory/module.d.ts +39 -1
  209. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  210. package/dist/src/vtab/memory/module.js +206 -44
  211. package/dist/src/vtab/memory/module.js.map +1 -1
  212. package/dist/src/vtab/module.d.ts +24 -0
  213. package/dist/src/vtab/module.d.ts.map +1 -1
  214. package/package.json +3 -3
@@ -0,0 +1,89 @@
1
+ import { SeqScanNode, IndexScanNode, IndexSeekNode } from '../../planner/nodes/table-access-nodes.js';
2
+ import { emitCallFromPlan } from '../emitters.js';
3
+ import { emitSeqScan } from './scan.js';
4
+ import { QuereusError } from '../../common/errors.js';
5
+ import { StatusCode } from '../../common/types.js';
6
+ /** Coerce a SqlValue to a non-negative finite integer, clamping invalid input. */
7
+ function coerceCount(value, fallback) {
8
+ if (value === null || value === undefined)
9
+ return fallback;
10
+ const n = Number(value);
11
+ if (!Number.isFinite(n) || n < 0)
12
+ return 0;
13
+ return Math.trunc(n);
14
+ }
15
+ /**
16
+ * Emit an OrdinalSlice node. The slice's source must be a physical access
17
+ * leaf whose scan supports `FilterInfo.offset`/`FilterInfo.limit` (i.e.,
18
+ * the access plan advertised `supportsOrdinalSeek`). The emitter forwards
19
+ * the resolved offset/limit into the leaf's FilterInfo and then enforces
20
+ * the row cap as a streaming guard so any module that ignores the
21
+ * directive still produces correct results.
22
+ */
23
+ export function emitOrdinalSlice(plan, ctx) {
24
+ const leaf = plan.source;
25
+ if (!(leaf instanceof SeqScanNode || leaf instanceof IndexScanNode || leaf instanceof IndexSeekNode)) {
26
+ throw new QuereusError(`OrdinalSlice expects a physical access leaf (SeqScan/IndexScan/IndexSeek) as its source, got ${leaf.nodeType}`, StatusCode.INTERNAL);
27
+ }
28
+ // Per-execution bounds, keyed by RuntimeContext so concurrent statements
29
+ // don't collide. The slice's run() resolves offset/limit before iterating
30
+ // the leaf; the leaf's FilterInfo override reads back the same entry.
31
+ const boundsByCtx = new WeakMap();
32
+ const offsetInstruction = plan.offsetExpr ? emitCallFromPlan(plan.offsetExpr, ctx) : undefined;
33
+ const limitInstruction = plan.limitExpr ? emitCallFromPlan(plan.limitExpr, ctx) : undefined;
34
+ const leafInstruction = emitSeqScan(leaf, ctx, (baseFilterInfo, runtimeCtx, _dynamicArgs) => {
35
+ const bounds = boundsByCtx.get(runtimeCtx);
36
+ if (!bounds) {
37
+ // Slice's run() didn't fire before the leaf's iteration started — the
38
+ // scheduler should always run the leaf as a child of the slice, so
39
+ // this is an emit-time bug.
40
+ throw new QuereusError('OrdinalSlice leaf executed without slice bounds initialization', StatusCode.INTERNAL);
41
+ }
42
+ const augmented = { ...baseFilterInfo };
43
+ if (bounds.offset > 0)
44
+ augmented.offset = bounds.offset;
45
+ if (Number.isFinite(bounds.limit))
46
+ augmented.limit = bounds.limit;
47
+ return augmented;
48
+ });
49
+ async function* run(runtimeCtx, sourceRows, ...args) {
50
+ // Args order matches getChildren(): [offset?, limit?]
51
+ let argIdx = 0;
52
+ const offsetFn = plan.offsetExpr ? args[argIdx++] : undefined;
53
+ const limitFn = plan.limitExpr ? args[argIdx++] : undefined;
54
+ const offsetValue = offsetFn ? await offsetFn(runtimeCtx) : 0;
55
+ const limitValue = limitFn ? await limitFn(runtimeCtx) : null;
56
+ const bounds = {
57
+ offset: coerceCount(offsetValue, 0),
58
+ limit: limitValue === null ? Infinity : coerceCount(limitValue, Infinity),
59
+ };
60
+ boundsByCtx.set(runtimeCtx, bounds);
61
+ try {
62
+ if (bounds.limit <= 0)
63
+ return;
64
+ // Streaming guard: enforce the row cap above the leaf so modules that
65
+ // ignore the FilterInfo offset/limit directive remain correct. When
66
+ // the leaf does honor them, this short-circuit costs nothing extra.
67
+ let emitted = 0;
68
+ for await (const row of sourceRows) {
69
+ yield row;
70
+ if (++emitted >= bounds.limit)
71
+ break;
72
+ }
73
+ }
74
+ finally {
75
+ boundsByCtx.delete(runtimeCtx);
76
+ }
77
+ }
78
+ const params = [leafInstruction];
79
+ if (offsetInstruction)
80
+ params.push(offsetInstruction);
81
+ if (limitInstruction)
82
+ params.push(limitInstruction);
83
+ return {
84
+ params,
85
+ run: run,
86
+ note: `ordinal_slice(${plan.offsetExpr ? 'OFFSET' : ''}${plan.offsetExpr && plan.limitExpr ? ',' : ''}${plan.limitExpr ? 'LIMIT' : ''})`,
87
+ };
88
+ }
89
+ //# sourceMappingURL=ordinal-slice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ordinal-slice.js","sourceRoot":"","sources":["../../../../src/runtime/emit/ordinal-slice.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"returning.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/returning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAqCpF"}
1
+ {"version":3,"file":"returning.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/returning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CA0CpF"}
@@ -12,10 +12,15 @@ export function emitReturning(plan, ctx) {
12
12
  try {
13
13
  for await (const sourceRow of executorRows) {
14
14
  slot.set(sourceRow);
15
- // Evaluate projection expressions in the context of this row
16
- const outputs = projectionCallbacks.map(func => func(rctx));
17
- const resolved = await Promise.all(outputs);
18
- yield resolved;
15
+ // Sequential evaluation: parallel callbacks that share a plan
16
+ // subtree (e.g. two scalar subqueries against the same CTE)
17
+ // would race on the shared inner-scan RowSlot. See ticket
18
+ // serialize-project-subquery-evaluation for the canonical fix.
19
+ const outputs = [];
20
+ for (const func of projectionCallbacks) {
21
+ outputs.push(await func(rctx));
22
+ }
23
+ yield outputs;
19
24
  }
20
25
  }
21
26
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"returning.js","sourceRoot":"","sources":["../../../../src/runtime/emit/returning.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,UAAU,aAAa,CAAC,IAAmB,EAAE,GAAoB;IACtE,4DAA4D;IAC5D,6FAA6F;IAC7F,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAE9E,sCAAsC;IACtC,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACxD,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAChC,CAAC;IAEF,KAAK,SAAS,CAAC,CAAC,GAAG,CAClB,IAAoB,EACpB,YAAgC,EAChC,GAAG,mBAAgE;QAEnE,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACtD,IAAI,CAAC;YACJ,IAAI,KAAK,EAAE,MAAM,SAAS,IAAI,YAAY,EAAE,CAAC;gBAC5C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpB,6DAA6D;gBAC7D,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,QAAe,CAAC;YACvB,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;IACF,CAAC;IAED,+CAA+C;IAC/C,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAE7D,OAAO;QACN,MAAM,EAAE,CAAC,mBAAmB,EAAE,GAAG,oBAAoB,CAAC;QACtD,GAAG,EAAE,GAAqB;QAC1B,IAAI,EAAE,aAAa,IAAI,CAAC,WAAW,CAAC,MAAM,QAAQ;KAClD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"returning.js","sourceRoot":"","sources":["../../../../src/runtime/emit/returning.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,UAAU,aAAa,CAAC,IAAmB,EAAE,GAAoB;IACtE,4DAA4D;IAC5D,6FAA6F;IAC7F,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAE9E,sCAAsC;IACtC,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACxD,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAChC,CAAC;IAEF,KAAK,SAAS,CAAC,CAAC,GAAG,CAClB,IAAoB,EACpB,YAAgC,EAChC,GAAG,mBAAgE;QAEnE,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACtD,IAAI,CAAC;YACJ,IAAI,KAAK,EAAE,MAAM,SAAS,IAAI,YAAY,EAAE,CAAC;gBAC5C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpB,8DAA8D;gBAC9D,4DAA4D;gBAC5D,0DAA0D;gBAC1D,+DAA+D;gBAC/D,MAAM,OAAO,GAAkB,EAAE,CAAC;gBAClC,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChC,CAAC;gBACD,MAAM,OAAc,CAAC;YACtB,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;IACF,CAAC;IAED,+CAA+C;IAC/C,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAE7D,OAAO;QACN,MAAM,EAAE,CAAC,mBAAmB,EAAE,GAAG,oBAAoB,CAAC;QACtD,GAAG,EAAE,GAAqB;QAC1B,IAAI,EAAE,aAAa,IAAI,CAAC,WAAW,CAAC,MAAM,QAAQ;KAClD,CAAC;AACH,CAAC"}
@@ -1,8 +1,24 @@
1
+ import { type SqlValue } from "../../common/types.js";
1
2
  import { SeqScanNode, IndexScanNode, IndexSeekNode } from "../../planner/nodes/table-access-nodes.js";
2
- import type { Instruction } from "../types.js";
3
+ import type { FilterInfo } from "../../vtab/filter-info.js";
4
+ import type { Instruction, RuntimeContext } from "../types.js";
3
5
  import type { EmissionContext } from "../emission-context.js";
4
6
  /**
5
- * Emits instructions for physical table access nodes (SeqScan, IndexScan, IndexSeek)
7
+ * Optional override hook supplied by callers that need to mutate the
8
+ * `FilterInfo` handed to the vtab at runtime — e.g., `OrdinalSlice`
9
+ * stamping `limit` / `offset` after resolving its scalar expressions.
10
+ *
11
+ * The override receives the plan's `FilterInfo` (already augmented with
12
+ * any IndexSeek dynamic args) and returns a possibly-cloned, possibly-
13
+ * augmented copy. Returning the input unchanged is legal.
6
14
  */
7
- export declare function emitSeqScan(plan: SeqScanNode | IndexScanNode | IndexSeekNode, ctx: EmissionContext): Instruction;
15
+ export type FilterInfoOverride = (baseFilterInfo: FilterInfo, runtimeCtx: RuntimeContext, dynamicArgs: SqlValue[]) => FilterInfo | Promise<FilterInfo>;
16
+ /**
17
+ * Emits instructions for physical table access nodes (SeqScan, IndexScan, IndexSeek).
18
+ *
19
+ * Optionally accepts a `filterInfoOverride` so wrapping operators (e.g.,
20
+ * `OrdinalSlice`) can push `limit`/`offset` directives into the vtab call
21
+ * without re-emitting the leaf or duplicating connect/disconnect lifecycle.
22
+ */
23
+ export declare function emitSeqScan(plan: SeqScanNode | IndexScanNode | IndexSeekNode, ctx: EmissionContext, filterInfoOverride?: FilterInfoOverride): Instruction;
8
24
  //# sourceMappingURL=scan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/scan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAItG,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CA6FhH"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAItG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAkB,cAAc,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAChC,cAAc,EAAE,UAAU,EAC1B,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,QAAQ,EAAE,KACnB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;;;;GAMG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,EACjD,GAAG,EAAE,eAAe,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,GACrC,WAAW,CA8Fb"}
@@ -6,9 +6,13 @@ import { disconnectVTable } from "../utils.js";
6
6
  import { buildRowDescriptor } from "../../util/row-descriptor.js";
7
7
  import { createRowSlot } from "../context-helpers.js";
8
8
  /**
9
- * Emits instructions for physical table access nodes (SeqScan, IndexScan, IndexSeek)
9
+ * Emits instructions for physical table access nodes (SeqScan, IndexScan, IndexSeek).
10
+ *
11
+ * Optionally accepts a `filterInfoOverride` so wrapping operators (e.g.,
12
+ * `OrdinalSlice`) can push `limit`/`offset` directives into the vtab call
13
+ * without re-emitting the leaf or duplicating connect/disconnect lifecycle.
10
14
  */
11
- export function emitSeqScan(plan, ctx) {
15
+ export function emitSeqScan(plan, ctx, filterInfoOverride) {
12
16
  // Handle physical access nodes
13
17
  const source = plan.source;
14
18
  const schema = source.tableSchema;
@@ -51,12 +55,12 @@ export function emitSeqScan(plan, ctx) {
51
55
  const rowSlot = createRowSlot(runtimeCtx, rowDescriptor);
52
56
  try {
53
57
  // If this is an IndexSeek with dynamic seek keys, populate args from params
54
- const effectiveFilterInfo = (() => {
55
- if (plan instanceof IndexSeekNode && dynamicArgs && dynamicArgs.length > 0) {
56
- return { ...plan.filterInfo, args: dynamicArgs };
57
- }
58
- return plan.filterInfo;
59
- })();
58
+ let effectiveFilterInfo = (plan instanceof IndexSeekNode && dynamicArgs && dynamicArgs.length > 0)
59
+ ? { ...plan.filterInfo, args: dynamicArgs }
60
+ : plan.filterInfo;
61
+ if (filterInfoOverride) {
62
+ effectiveFilterInfo = await filterInfoOverride(effectiveFilterInfo, runtimeCtx, dynamicArgs);
63
+ }
60
64
  const asyncRowIterable = vtabInstance.query(effectiveFilterInfo);
61
65
  for await (const row of asyncRowIterable) {
62
66
  rowSlot.set(row);
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../src/runtime/emit/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../src/runtime/emit/scan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-declarative.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/schema-declarative.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAQ/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAajE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAgCpF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAkCjF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAqGlF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA6BpF"}
1
+ {"version":3,"file":"schema-declarative.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/schema-declarative.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAQ/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAejE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAgCpF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAkCjF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA0FlF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA6BpF"}
@@ -88,22 +88,14 @@ export function emitApplySchema(plan, _ctx) {
88
88
  }
89
89
  // Collect actual catalog
90
90
  const actualCatalog = collectSchemaCatalog(rctx.db, schemaName);
91
- // Compute diff
92
- const diff = computeSchemaDiff(declaredSchema, actualCatalog);
91
+ // Compute diff (default rename_policy = 'allow' when unspecified)
92
+ const diff = computeSchemaDiff(declaredSchema, actualCatalog, applyStmt.options?.renamePolicy ?? 'allow');
93
93
  // Generate migration DDL
94
94
  const migrationStatements = generateMigrationDDL(diff, schemaName);
95
- // Execute each migration statement using _execWithinTransaction to avoid mutex deadlock
96
- // (we're already inside an exec() call that holds the mutex)
97
- for (const ddl of migrationStatements) {
98
- log('Executing migration DDL: %s', ddl);
99
- try {
100
- await rctx.db._execWithinTransaction(ddl);
101
- }
102
- catch (e) {
103
- log('Migration failed for DDL: %s', ddl);
104
- const errorMessage = e instanceof Error ? e.message : String(e);
105
- throw new QuereusError(`Failed to execute DDL: ${ddl}\nError: ${errorMessage}`, StatusCode.ERROR, e instanceof Error ? e : undefined);
106
- }
95
+ // Run the migration loop. When there are no statements we keep the
96
+ // idempotency fast-path: no module batch hooks fire.
97
+ if (migrationStatements.length > 0) {
98
+ await runBatchedMigrationLoop(rctx.db, schemaName, migrationStatements);
107
99
  }
108
100
  // Apply seed data if requested
109
101
  if (applyStmt.withSeed) {
@@ -173,4 +165,89 @@ export function emitExplainSchema(plan, _ctx) {
173
165
  note: `explain schema ${explainStmt.schemaName || 'main'}`
174
166
  };
175
167
  }
168
+ /**
169
+ * Drives the per-DDL migration loop wrapped in module-level batch hooks.
170
+ * Modules that opt in via `beginSchemaBatch` may fold the entire
171
+ * APPLY SCHEMA into a single substrate commit. Modules without the hook
172
+ * pay nothing — they're filtered out before the loop.
173
+ */
174
+ async function runBatchedMigrationLoop(db, schemaName, migrationStatements) {
175
+ const startedModules = await beginSchemaBatchAll(db, schemaName);
176
+ let loopError;
177
+ try {
178
+ for (const ddl of migrationStatements) {
179
+ log('Executing migration DDL: %s', ddl);
180
+ try {
181
+ await db._execWithinTransaction(ddl);
182
+ }
183
+ catch (e) {
184
+ log('Migration failed for DDL: %s', ddl);
185
+ const errorMessage = e instanceof Error ? e.message : String(e);
186
+ throw new QuereusError(`Failed to execute DDL: ${ddl}\nError: ${errorMessage}`, StatusCode.ERROR, e instanceof Error ? e : undefined);
187
+ }
188
+ }
189
+ }
190
+ catch (e) {
191
+ loopError = e;
192
+ throw e;
193
+ }
194
+ finally {
195
+ await endSchemaBatchAll(startedModules, db, schemaName, loopError);
196
+ }
197
+ }
198
+ /**
199
+ * Calls `beginSchemaBatch` on every module that defines it, in registration
200
+ * order. Returns the modules that successfully began. If any module's
201
+ * begin throws, already-started modules are torn down (in reverse order)
202
+ * with the begin-time error and the original failure is rethrown.
203
+ */
204
+ async function beginSchemaBatchAll(db, schemaName) {
205
+ const started = [];
206
+ for (const { name, module } of db.schemaManager.allModules()) {
207
+ if (typeof module.beginSchemaBatch !== 'function')
208
+ continue;
209
+ try {
210
+ await module.beginSchemaBatch(db, schemaName);
211
+ started.push({ name, module });
212
+ }
213
+ catch (e) {
214
+ log('beginSchemaBatch failed for module %s: %O', name, e);
215
+ await endSchemaBatchAll(started, db, schemaName, e);
216
+ throw e;
217
+ }
218
+ }
219
+ return started;
220
+ }
221
+ /**
222
+ * Calls `endSchemaBatch` on previously-started modules in reverse order.
223
+ * On success path (`loopError === undefined`), the first end-error is
224
+ * captured and rethrown after every remaining end fires. On failure path,
225
+ * end-errors are logged but never shadow the original loop error.
226
+ */
227
+ async function endSchemaBatchAll(startedModules, db, schemaName, loopError) {
228
+ let firstEndError;
229
+ for (let i = startedModules.length - 1; i >= 0; i--) {
230
+ const { name, module } = startedModules[i];
231
+ if (typeof module.endSchemaBatch !== 'function')
232
+ continue;
233
+ try {
234
+ await module.endSchemaBatch(db, schemaName, loopError);
235
+ }
236
+ catch (e) {
237
+ if (loopError !== undefined) {
238
+ log('endSchemaBatch failed for module %s after loop error; swallowing: %O', name, e);
239
+ }
240
+ else if (firstEndError === undefined) {
241
+ log('endSchemaBatch failed for module %s: %O', name, e);
242
+ firstEndError = e;
243
+ }
244
+ else {
245
+ log('endSchemaBatch failed for module %s (subsequent): %O', name, e);
246
+ }
247
+ }
248
+ }
249
+ if (loopError === undefined && firstEndError !== undefined) {
250
+ throw firstEndError;
251
+ }
252
+ }
176
253
  //# sourceMappingURL=schema-declarative.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-declarative.js","sourceRoot":"","sources":["../../../../src/runtime/emit/schema-declarative.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-declarative.js","sourceRoot":"","sources":["../../../../src/runtime/emit/schema-declarative.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAA2B,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAMvE,MAAM,GAAG,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC;AAEjD,2EAA2E;AAC3E,SAAS,eAAe,CAAC,KAAiB;IACzC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAc,EAAE,IAAqB;IACtE,MAAM,WAAW,GAAI,IAA2D,CAAC,YAAY,CAAC;IAE9F,MAAM,GAAG,GAAG,CAAC,IAAoB,EAAO,EAAE;QACzC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,IAAI,MAAM,CAAC;QACpD,GAAG,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QAErC,2DAA2D;QAC3D,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAExD,4BAA4B;QAC5B,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEzE,+BAA+B;QAC/B,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAsB,CAAC;gBAC5D,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBACvE,GAAG,CAAC,sCAAsC,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjF,CAAC;QACF,CAAC;QAED,wDAAwD;QACxD,OAAO,EAAE,CAAC;IACX,CAAC,CAAC;IAEF,OAAO;QACN,MAAM,EAAE,EAAE;QACV,GAAG,EAAE,GAAqB;QAC1B,IAAI,EAAE,kBAAkB,WAAW,CAAC,UAAU,IAAI,MAAM,EAAE;KAC1D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAc,EAAE,IAAqB;IACnE,MAAM,QAAQ,GAAI,IAAwD,CAAC,YAAY,CAAC;IAExF,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,EAAE,IAAoB;QAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC;QACjD,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAElC,sBAAsB;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACnF,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,iCAAiC,UAAU,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1F,CAAC;QAED,yBAAyB;QACzB,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAEhE,eAAe;QACf,MAAM,IAAI,GAAG,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAE9D,oCAAoC;QACpC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEnE,qCAAqC;QACrC,iFAAiF;QACjF,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;IACF,CAAC,CAAC;IAEF,OAAO;QACN,MAAM,EAAE,EAAE;QACV,GAAG,EAAE,GAAqB;QAC1B,IAAI,EAAE,eAAe,QAAQ,CAAC,UAAU,IAAI,MAAM,EAAE;KACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAc,EAAE,IAAqB;IACpE,MAAM,SAAS,GAAI,IAAyD,CAAC,YAAY,CAAC;IAE1F,MAAM,GAAG,GAAG,KAAK,EAAE,IAAoB,EAAgB,EAAE;QACxD,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,MAAM,CAAC;QAClD,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAEnC,sBAAsB;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACnF,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,iCAAiC,UAAU,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1F,CAAC;QAED,+EAA+E;QAC/E,MAAM,eAAe,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,eAAe,KAAK,MAAM,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC5C,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;YACvC,CAAC;QACF,CAAC;QAED,yBAAyB;QACzB,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAEhE,kEAAkE;QAClE,MAAM,IAAI,GAAG,iBAAiB,CAAC,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC,OAAO,EAAE,YAAY,IAAI,OAAO,CAAC,CAAC;QAE1G,yBAAyB;QACzB,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEnE,mEAAmE;QACnE,qDAAqD;QACrD,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;QACzE,CAAC;QAED,+BAA+B;QAC/B,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAC7E,GAAG,CAAC,mCAAmC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3D,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC7C,GAAG,CAAC,uCAAuC,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEjF,6CAA6C;gBAC7C,MAAM,kBAAkB,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;oBAC7E,CAAC,CAAC,GAAG,UAAU,IAAI,SAAS,EAAE;oBAC9B,CAAC,CAAC,SAAS,CAAC;gBAEb,2DAA2D;gBAC3D,MAAM,kBAAkB,GAAG;oBAC1B,eAAe,kBAAkB,EAAE;oBACnC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;wBACjB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC1B,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;4BACrB,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gCACtD,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oCAC5D,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wCAC1C,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;4CACtD,MAAM,CACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACb,OAAO,eAAe,kBAAkB,YAAY,MAAM,GAAG,CAAC;oBAC/D,CAAC,CAAC;iBACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEb,GAAG,CAAC,oCAAoC,EAAE,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;gBACzF,IAAI,CAAC;oBACJ,MAAM,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;oBACzD,GAAG,CAAC,yCAAyC,EAAE,SAAS,CAAC,CAAC;gBAC3D,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,GAAG,CAAC,0CAA0C,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC9D,MAAM,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAChE,MAAM,IAAI,YAAY,CACrB,uCAAuC,SAAS,UAAU,kBAAkB,YAAY,YAAY,EAAE,EACtG,UAAU,CAAC,KAAK,EAChB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAClC,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;QAED,wDAAwD;QACxD,OAAO,EAAE,CAAC;IACX,CAAC,CAAC;IAEF,OAAO;QACN,MAAM,EAAE,EAAE;QACV,GAAG,EAAE,GAAqB;QAC1B,IAAI,EAAE,gBAAgB,SAAS,CAAC,UAAU,IAAI,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE;KAC/F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAc,EAAE,IAAqB;IACtE,MAAM,WAAW,GAAI,IAA2D,CAAC,YAAY,CAAC;IAE9F,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,EAAE,IAAoB;QAChD,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,IAAI,MAAM,CAAC;QACpD,GAAG,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QAErC,sBAAsB;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACnF,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,iCAAiC,UAAU,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1F,CAAC;QAED,eAAe;QACf,MAAM,IAAI,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAEpD,wCAAwC;QACxC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO;YACjC,CAAC,CAAC,WAAW,WAAW,CAAC,OAAO,SAAS,IAAI,EAAE;YAC/C,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAElB,MAAM,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO;QACN,MAAM,EAAE,EAAE;QACV,GAAG,EAAE,GAAqB;QAC1B,IAAI,EAAE,kBAAkB,WAAW,CAAC,UAAU,IAAI,MAAM,EAAE;KAC1D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,uBAAuB,CACrC,EAAY,EACZ,UAAkB,EAClB,mBAAsC;IAEtC,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACjE,IAAI,SAAkB,CAAC;IACvB,IAAI,CAAC;QACJ,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;YACvC,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC;gBACJ,MAAM,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,GAAG,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;gBACzC,MAAM,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChE,MAAM,IAAI,YAAY,CACrB,0BAA0B,GAAG,YAAY,YAAY,EAAE,EACvD,UAAU,CAAC,KAAK,EAChB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAClC,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,SAAS,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,CAAC;IACT,CAAC;YAAS,CAAC;QACV,MAAM,iBAAiB,CAAC,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;AACF,CAAC;AAOD;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CACjC,EAAY,EACZ,UAAkB;IAElB,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC;QAC9D,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU;YAAE,SAAS;QAC5D,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,GAAG,CAAC,2CAA2C,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1D,MAAM,iBAAiB,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,CAAC;QACT,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAC/B,cAAwC,EACxC,EAAY,EACZ,UAAkB,EAClB,SAAkB;IAElB,IAAI,aAAsB,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,UAAU;YAAE,SAAS;QAC1D,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC7B,GAAG,CAAC,sEAAsE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACtF,CAAC;iBAAM,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBACxC,GAAG,CAAC,yCAAyC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxD,aAAa,GAAG,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACP,GAAG,CAAC,sDAAsD,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC;QACF,CAAC;IACF,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC5D,MAAM,aAAa,CAAC;IACrB,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/window.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgB9D,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CA2H9E"}
1
+ {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/window.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAiB9D,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAuI9E"}