@ketvietlab/ketjs 0.1.2 → 0.1.3

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 (299) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +8 -2
  3. package/dist/agent/capabilities.d.ts +1 -3
  4. package/dist/agent/capabilities.d.ts.map +1 -1
  5. package/dist/agent/capabilities.js +10 -1
  6. package/dist/agent/capabilities.js.map +1 -1
  7. package/dist/agent/permissions.d.ts +43 -1
  8. package/dist/agent/permissions.d.ts.map +1 -1
  9. package/dist/agent/permissions.js +50 -2
  10. package/dist/agent/permissions.js.map +1 -1
  11. package/dist/cli.js +246 -97
  12. package/dist/cli.js.map +1 -1
  13. package/dist/codegen/dts.d.ts.map +1 -1
  14. package/dist/codegen/dts.js +1 -0
  15. package/dist/codegen/dts.js.map +1 -1
  16. package/dist/data/changeset.d.ts +12 -0
  17. package/dist/data/changeset.d.ts.map +1 -1
  18. package/dist/data/changeset.js +73 -17
  19. package/dist/data/changeset.js.map +1 -1
  20. package/dist/data/expr.d.ts +16 -0
  21. package/dist/data/expr.d.ts.map +1 -1
  22. package/dist/data/expr.js +33 -5
  23. package/dist/data/expr.js.map +1 -1
  24. package/dist/data/fleet.d.ts +41 -1
  25. package/dist/data/fleet.d.ts.map +1 -1
  26. package/dist/data/fleet.js +100 -11
  27. package/dist/data/fleet.js.map +1 -1
  28. package/dist/data/migrate.d.ts +20 -0
  29. package/dist/data/migrate.d.ts.map +1 -1
  30. package/dist/data/migrate.js +86 -3
  31. package/dist/data/migrate.js.map +1 -1
  32. package/dist/data/physical.d.ts +5 -0
  33. package/dist/data/physical.d.ts.map +1 -0
  34. package/dist/data/physical.js +196 -0
  35. package/dist/data/physical.js.map +1 -0
  36. package/dist/data/pool.d.ts +2 -1
  37. package/dist/data/pool.d.ts.map +1 -1
  38. package/dist/data/pool.js +159 -31
  39. package/dist/data/pool.js.map +1 -1
  40. package/dist/data/query.d.ts +10 -1
  41. package/dist/data/query.d.ts.map +1 -1
  42. package/dist/data/query.js +136 -27
  43. package/dist/data/query.js.map +1 -1
  44. package/dist/data/sqlite.d.ts.map +1 -1
  45. package/dist/data/sqlite.js +350 -52
  46. package/dist/data/sqlite.js.map +1 -1
  47. package/dist/data/time.d.ts +13 -0
  48. package/dist/data/time.d.ts.map +1 -1
  49. package/dist/data/time.js +61 -17
  50. package/dist/data/time.js.map +1 -1
  51. package/dist/index.d.ts +43 -22
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +32 -16
  54. package/dist/index.js.map +1 -1
  55. package/dist/kernel/audit.d.ts +27 -0
  56. package/dist/kernel/audit.d.ts.map +1 -0
  57. package/dist/kernel/audit.js +67 -0
  58. package/dist/kernel/audit.js.map +1 -0
  59. package/dist/kernel/classification.d.ts +26 -0
  60. package/dist/kernel/classification.d.ts.map +1 -0
  61. package/dist/kernel/classification.js +73 -0
  62. package/dist/kernel/classification.js.map +1 -0
  63. package/dist/kernel/compose.d.ts +6 -2
  64. package/dist/kernel/compose.d.ts.map +1 -1
  65. package/dist/kernel/compose.js +269 -15
  66. package/dist/kernel/compose.js.map +1 -1
  67. package/dist/kernel/define.d.ts +2 -3
  68. package/dist/kernel/define.d.ts.map +1 -1
  69. package/dist/kernel/define.js +22 -12
  70. package/dist/kernel/define.js.map +1 -1
  71. package/dist/kernel/diff.d.ts.map +1 -1
  72. package/dist/kernel/diff.js +28 -4
  73. package/dist/kernel/diff.js.map +1 -1
  74. package/dist/kernel/graph.js +1 -1
  75. package/dist/kernel/graph.js.map +1 -1
  76. package/dist/kernel/i18n.d.ts +10 -1
  77. package/dist/kernel/i18n.d.ts.map +1 -1
  78. package/dist/kernel/i18n.js +34 -1
  79. package/dist/kernel/i18n.js.map +1 -1
  80. package/dist/kernel/layout.d.ts +97 -0
  81. package/dist/kernel/layout.d.ts.map +1 -1
  82. package/dist/kernel/layout.js +294 -12
  83. package/dist/kernel/layout.js.map +1 -1
  84. package/dist/kernel/menu.d.ts +33 -2
  85. package/dist/kernel/menu.d.ts.map +1 -1
  86. package/dist/kernel/menu.js +99 -7
  87. package/dist/kernel/menu.js.map +1 -1
  88. package/dist/kernel/modules.d.ts +3 -3
  89. package/dist/kernel/modules.d.ts.map +1 -1
  90. package/dist/kernel/modules.js +21 -21
  91. package/dist/kernel/modules.js.map +1 -1
  92. package/dist/kernel/permissions.d.ts +10 -0
  93. package/dist/kernel/permissions.d.ts.map +1 -0
  94. package/dist/kernel/permissions.js +365 -0
  95. package/dist/kernel/permissions.js.map +1 -0
  96. package/dist/kernel/schedule.d.ts +23 -0
  97. package/dist/kernel/schedule.d.ts.map +1 -0
  98. package/dist/kernel/schedule.js +83 -0
  99. package/dist/kernel/schedule.js.map +1 -0
  100. package/dist/kernel/types.d.ts.map +1 -1
  101. package/dist/kernel/types.js +5 -4
  102. package/dist/kernel/types.js.map +1 -1
  103. package/dist/kernel/workspace.d.ts +92 -14
  104. package/dist/kernel/workspace.d.ts.map +1 -1
  105. package/dist/kernel/workspace.js +128 -49
  106. package/dist/kernel/workspace.js.map +1 -1
  107. package/dist/pdf/assets/Inter-Bold.ttf +0 -0
  108. package/dist/pdf/assets/Inter-Regular.ttf +0 -0
  109. package/dist/pdf/assets/Inter-SemiBold.ttf +0 -0
  110. package/dist/pdf/assets/LICENSE.txt +92 -0
  111. package/dist/pdf/font.d.ts +10 -0
  112. package/dist/pdf/font.d.ts.map +1 -0
  113. package/dist/pdf/font.js +83 -0
  114. package/dist/pdf/font.js.map +1 -0
  115. package/dist/pdf/image.d.ts +8 -0
  116. package/dist/pdf/image.d.ts.map +1 -0
  117. package/dist/pdf/image.js +94 -0
  118. package/dist/pdf/image.js.map +1 -0
  119. package/dist/pdf/index.d.ts +15 -0
  120. package/dist/pdf/index.d.ts.map +1 -0
  121. package/dist/pdf/index.js +17 -0
  122. package/dist/pdf/index.js.map +1 -0
  123. package/dist/pdf/markup.d.ts +19 -0
  124. package/dist/pdf/markup.d.ts.map +1 -0
  125. package/dist/pdf/markup.js +146 -0
  126. package/dist/pdf/markup.js.map +1 -0
  127. package/dist/pdf/render.d.ts +14 -0
  128. package/dist/pdf/render.d.ts.map +1 -0
  129. package/dist/pdf/render.js +387 -0
  130. package/dist/pdf/render.js.map +1 -0
  131. package/dist/scaffold/index.js +6 -6
  132. package/dist/scaffold/index.js.map +1 -1
  133. package/dist/scaffold/templates/{app.test.ts.tmpl → deployment.test.ts.tmpl} +3 -3
  134. package/dist/scaffold/templates/ket.workspace.ts.tmpl +4 -6
  135. package/dist/scaffold/templates/module.ts.tmpl +1 -4
  136. package/dist/server/assets.d.ts +23 -0
  137. package/dist/server/assets.d.ts.map +1 -0
  138. package/dist/server/assets.js +97 -0
  139. package/dist/server/assets.js.map +1 -0
  140. package/dist/server/boot.d.ts +157 -38
  141. package/dist/server/boot.d.ts.map +1 -1
  142. package/dist/server/boot.js +360 -138
  143. package/dist/server/boot.js.map +1 -1
  144. package/dist/server/config.d.ts +30 -10
  145. package/dist/server/config.d.ts.map +1 -1
  146. package/dist/server/config.js +73 -17
  147. package/dist/server/config.js.map +1 -1
  148. package/dist/server/ctx.d.ts +10 -0
  149. package/dist/server/ctx.d.ts.map +1 -1
  150. package/dist/server/ctx.js +266 -48
  151. package/dist/server/ctx.js.map +1 -1
  152. package/dist/server/development.d.ts +10 -0
  153. package/dist/server/development.d.ts.map +1 -0
  154. package/dist/server/development.js +15 -0
  155. package/dist/server/development.js.map +1 -0
  156. package/dist/server/fn.d.ts +22 -3
  157. package/dist/server/fn.d.ts.map +1 -1
  158. package/dist/server/fn.js +116 -32
  159. package/dist/server/fn.js.map +1 -1
  160. package/dist/server/form.d.ts +33 -0
  161. package/dist/server/form.d.ts.map +1 -0
  162. package/dist/server/form.js +47 -0
  163. package/dist/server/form.js.map +1 -0
  164. package/dist/server/http.d.ts +55 -3
  165. package/dist/server/http.d.ts.map +1 -1
  166. package/dist/server/http.js +306 -22
  167. package/dist/server/http.js.map +1 -1
  168. package/dist/server/idem.d.ts +3 -2
  169. package/dist/server/idem.d.ts.map +1 -1
  170. package/dist/server/idem.js +12 -4
  171. package/dist/server/idem.js.map +1 -1
  172. package/dist/server/jobs.js +1 -1
  173. package/dist/server/jobs.js.map +1 -1
  174. package/dist/server/log/combinators.d.ts +42 -0
  175. package/dist/server/log/combinators.d.ts.map +1 -0
  176. package/dist/server/log/combinators.js +270 -0
  177. package/dist/server/log/combinators.js.map +1 -0
  178. package/dist/server/log/console.d.ts +12 -0
  179. package/dist/server/log/console.d.ts.map +1 -0
  180. package/dist/server/log/console.js +96 -0
  181. package/dist/server/log/console.js.map +1 -0
  182. package/dist/server/log/file.d.ts +11 -0
  183. package/dist/server/log/file.d.ts.map +1 -0
  184. package/dist/server/log/file.js +61 -0
  185. package/dist/server/log/file.js.map +1 -0
  186. package/dist/server/log/index.d.ts +23 -0
  187. package/dist/server/log/index.d.ts.map +1 -0
  188. package/dist/server/log/index.js +45 -0
  189. package/dist/server/log/index.js.map +1 -0
  190. package/dist/server/log/logger.d.ts +53 -0
  191. package/dist/server/log/logger.d.ts.map +1 -0
  192. package/dist/server/log/logger.js +94 -0
  193. package/dist/server/log/logger.js.map +1 -0
  194. package/dist/server/log/memory.d.ts +11 -0
  195. package/dist/server/log/memory.d.ts.map +1 -0
  196. package/dist/server/log/memory.js +25 -0
  197. package/dist/server/log/memory.js.map +1 -0
  198. package/dist/server/log/types.d.ts +112 -0
  199. package/dist/server/log/types.d.ts.map +1 -0
  200. package/dist/server/log/types.js +58 -0
  201. package/dist/server/log/types.js.map +1 -0
  202. package/dist/server/policy.d.ts +29 -0
  203. package/dist/server/policy.d.ts.map +1 -0
  204. package/dist/server/policy.js +29 -0
  205. package/dist/server/policy.js.map +1 -0
  206. package/dist/server/queue.d.ts +1 -1
  207. package/dist/server/queue.d.ts.map +1 -1
  208. package/dist/server/queue.js.map +1 -1
  209. package/dist/server/ratelimit.d.ts +48 -0
  210. package/dist/server/ratelimit.d.ts.map +1 -0
  211. package/dist/server/ratelimit.js +102 -0
  212. package/dist/server/ratelimit.js.map +1 -0
  213. package/dist/server/respond.d.ts.map +1 -1
  214. package/dist/server/respond.js +16 -1
  215. package/dist/server/respond.js.map +1 -1
  216. package/dist/server/runtime.d.ts +18 -3
  217. package/dist/server/runtime.d.ts.map +1 -1
  218. package/dist/server/runtime.js +32 -2
  219. package/dist/server/runtime.js.map +1 -1
  220. package/dist/server/schedule.d.ts +18 -0
  221. package/dist/server/schedule.d.ts.map +1 -0
  222. package/dist/server/schedule.js +70 -0
  223. package/dist/server/schedule.js.map +1 -0
  224. package/dist/server/sequence.d.ts +42 -0
  225. package/dist/server/sequence.d.ts.map +1 -0
  226. package/dist/server/sequence.js +97 -0
  227. package/dist/server/sequence.js.map +1 -0
  228. package/dist/server/session.d.ts +21 -0
  229. package/dist/server/session.d.ts.map +1 -1
  230. package/dist/server/session.js +84 -10
  231. package/dist/server/session.js.map +1 -1
  232. package/dist/server/sessionstore.d.ts +3 -1
  233. package/dist/server/sessionstore.d.ts.map +1 -1
  234. package/dist/server/sessionstore.js +7 -3
  235. package/dist/server/sessionstore.js.map +1 -1
  236. package/dist/server/storage/index.d.ts +1 -1
  237. package/dist/server/storage/index.d.ts.map +1 -1
  238. package/dist/server/storage/index.js +61 -1
  239. package/dist/server/storage/index.js.map +1 -1
  240. package/dist/server/storage/types.d.ts +8 -0
  241. package/dist/server/storage/types.d.ts.map +1 -1
  242. package/dist/server/storage/types.js +58 -0
  243. package/dist/server/storage/types.js.map +1 -1
  244. package/dist/server/tenants.d.ts +20 -18
  245. package/dist/server/tenants.d.ts.map +1 -1
  246. package/dist/server/tenants.js +133 -84
  247. package/dist/server/tenants.js.map +1 -1
  248. package/dist/server/transport/types.js +2 -2
  249. package/dist/server/transport/types.js.map +1 -1
  250. package/dist/server/worker.d.ts +19 -3
  251. package/dist/server/worker.d.ts.map +1 -1
  252. package/dist/server/worker.js +168 -21
  253. package/dist/server/worker.js.map +1 -1
  254. package/dist/testing.d.ts +26 -10
  255. package/dist/testing.d.ts.map +1 -1
  256. package/dist/testing.js +41 -14
  257. package/dist/testing.js.map +1 -1
  258. package/dist/theme/contracts.d.ts +14 -1
  259. package/dist/theme/contracts.d.ts.map +1 -1
  260. package/dist/theme/contracts.js +35 -6
  261. package/dist/theme/contracts.js.map +1 -1
  262. package/dist/theme/index.d.ts +1 -1
  263. package/dist/theme/index.d.ts.map +1 -1
  264. package/dist/theme/index.js +1 -1
  265. package/dist/theme/index.js.map +1 -1
  266. package/dist/theme/joint-runtime.d.ts +33 -0
  267. package/dist/theme/joint-runtime.d.ts.map +1 -0
  268. package/dist/theme/joint-runtime.js +121 -0
  269. package/dist/theme/joint-runtime.js.map +1 -0
  270. package/dist/theme/joints.d.ts.map +1 -1
  271. package/dist/theme/joints.js +15 -97
  272. package/dist/theme/joints.js.map +1 -1
  273. package/dist/theme/ktl/compile.d.ts +4 -0
  274. package/dist/theme/ktl/compile.d.ts.map +1 -1
  275. package/dist/theme/ktl/compile.js +54 -1
  276. package/dist/theme/ktl/compile.js.map +1 -1
  277. package/dist/theme/ktl/parser.d.ts +4 -0
  278. package/dist/theme/ktl/parser.d.ts.map +1 -1
  279. package/dist/theme/ktl/parser.js +8 -0
  280. package/dist/theme/ktl/parser.js.map +1 -1
  281. package/dist/theme/render.d.ts +8 -0
  282. package/dist/theme/render.d.ts.map +1 -1
  283. package/dist/theme/render.js +88 -118
  284. package/dist/theme/render.js.map +1 -1
  285. package/dist/theme/tokens.d.ts +6 -0
  286. package/dist/theme/tokens.d.ts.map +1 -1
  287. package/dist/theme/tokens.js +6 -0
  288. package/dist/theme/tokens.js.map +1 -1
  289. package/dist/theme/viewmodel.d.ts +24 -0
  290. package/dist/theme/viewmodel.d.ts.map +1 -1
  291. package/dist/theme/viewmodel.js +75 -6
  292. package/dist/theme/viewmodel.js.map +1 -1
  293. package/dist/types.d.ts +304 -56
  294. package/dist/types.d.ts.map +1 -1
  295. package/package.json +6 -2
  296. package/dist/kernel/apps.d.ts +0 -43
  297. package/dist/kernel/apps.d.ts.map +0 -1
  298. package/dist/kernel/apps.js +0 -234
  299. package/dist/kernel/apps.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../../packages/ketjs/src/data/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../../packages/ketjs/src/data/query.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/data/sqlite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,aAAa,CAAA;AA0B1D,wBAAgB,aAAa,CAAC,IAAI,SAAa,GAAG,OAAO,CA4ExD"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/data/sqlite.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,aAAa,CAAA;AA+J1D,wBAAgB,aAAa,CAAC,IAAI,SAAa,GAAG,OAAO,CAgPxD"}
@@ -1,7 +1,9 @@
1
1
  // SQLite adapter on node:sqlite. Zero dependencies - this ships inside Node.
2
2
  import { DatabaseSync } from 'node:sqlite';
3
+ import { AsyncLocalStorage } from 'node:async_hooks';
3
4
  import { assertAdapter } from './adapter.js';
4
5
  import { dateBucket } from './time.js';
6
+ import { canonicalDecimal, DECIMAL_MAX_CHARS, decimalText } from './changeset.js';
5
7
  // Binding rules belong to the adapter, not to the layers above it: SQLite has no
6
8
  // boolean and no JSON, Postgres has both. Normalising here means every call path —
7
9
  // query builder, changeset, raw run — is covered once.
@@ -26,80 +28,376 @@ const SQL = {
26
28
  datetime: 'TEXT',
27
29
  ref: 'TEXT',
28
30
  };
31
+ const PLAIN_DECIMAL = /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/;
32
+ /**
33
+ * Exact scientific parts without ever passing through a binary float.
34
+ *
35
+ * `exponent` is the number of integer digits in the normalized value and
36
+ * `digits` has neither leading nor trailing zeroes. Together they let SQLite
37
+ * compare arbitrarily large or finely scaled decimal text exactly while the
38
+ * selected column itself remains TEXT and therefore decodes byte for byte.
39
+ */
40
+ const decimalParts = (value) => {
41
+ if (value == null)
42
+ return null;
43
+ if (typeof value !== 'string' && typeof value !== 'number')
44
+ return null;
45
+ let held = typeof value === 'number' ? decimalText(value) : String(value).trim();
46
+ if (held.length > DECIMAL_MAX_CHARS)
47
+ return null;
48
+ if (!PLAIN_DECIMAL.test(held))
49
+ return null;
50
+ const negative = held.startsWith('-');
51
+ held = held.replace(/^[+-]/, '');
52
+ const [rawWhole = '', fraction = ''] = held.split('.');
53
+ const whole = rawWhole || '0';
54
+ const combined = whole + fraction;
55
+ const first = combined.search(/[1-9]/);
56
+ if (first < 0)
57
+ return { sign: 0, exponent: 0, digits: '' };
58
+ let last = combined.length - 1;
59
+ while (combined[last] === '0')
60
+ last--;
61
+ return {
62
+ sign: negative ? -1 : 1,
63
+ exponent: whole.length - first,
64
+ digits: combined.slice(first, last + 1),
65
+ };
66
+ };
67
+ const compareDecimals = (left, right) => {
68
+ const a = decimalParts(left);
69
+ const b = decimalParts(right);
70
+ if (!a || !b)
71
+ return null;
72
+ if (a.sign !== b.sign)
73
+ return a.sign < b.sign ? -1 : 1;
74
+ if (a.sign === 0)
75
+ return 0;
76
+ let magnitude = 0;
77
+ if (a.exponent !== b.exponent)
78
+ magnitude = a.exponent < b.exponent ? -1 : 1;
79
+ else if (a.digits !== b.digits)
80
+ magnitude = a.digits < b.digits ? -1 : 1;
81
+ return a.sign === -1 ? -magnitude : magnitude;
82
+ };
83
+ /** One canonical spelling for SQL equality/grouping without losing precision. */
84
+ const decimalKey = canonicalDecimal;
85
+ const scaledDecimal = (value) => {
86
+ const parts = decimalParts(value);
87
+ if (!parts)
88
+ return null;
89
+ if (parts.sign === 0)
90
+ return { coefficient: 0n, scale: 0 };
91
+ const coefficient = BigInt(parts.digits) * BigInt(parts.sign);
92
+ return { coefficient, scale: parts.digits.length - parts.exponent };
93
+ };
94
+ const renderScaledDecimal = ({ coefficient, scale }) => {
95
+ if (coefficient === 0n)
96
+ return '0';
97
+ while (coefficient % 10n === 0n) {
98
+ coefficient /= 10n;
99
+ scale--;
100
+ }
101
+ const sign = coefficient < 0n ? '-' : '';
102
+ const digits = (coefficient < 0n ? -coefficient : coefficient).toString();
103
+ const exponent = digits.length - scale;
104
+ if (exponent <= 0)
105
+ return `${sign}0.${'0'.repeat(-exponent)}${digits}`;
106
+ if (exponent >= digits.length)
107
+ return `${sign}${digits}${'0'.repeat(exponent - digits.length)}`;
108
+ return `${sign}${digits.slice(0, exponent)}.${digits.slice(exponent)}`;
109
+ };
110
+ const addDecimals = (left, right) => {
111
+ const a = scaledDecimal(left);
112
+ const b = scaledDecimal(right);
113
+ if (!a || !b)
114
+ return null;
115
+ const scale = Math.max(a.scale, b.scale);
116
+ const coefficient = a.coefficient * 10n ** BigInt(scale - a.scale) + b.coefficient * 10n ** BigInt(scale - b.scale);
117
+ return renderScaledDecimal({ coefficient, scale });
118
+ };
119
+ /** Exact division with PostgreSQL NUMERIC's tie-breaking rule. */
120
+ const averageDecimal = (held, count, requestedScale) => {
121
+ const divisor = count;
122
+ const scale = Number(requestedScale);
123
+ if (!Number.isSafeInteger(scale) || scale < 0 || scale > DECIMAL_MAX_CHARS)
124
+ throw new Error(`decimal average scale must be an integer from 0 to ${DECIMAL_MAX_CHARS}`);
125
+ if (divisor === 0n)
126
+ return null;
127
+ if (divisor < 0n)
128
+ throw new Error('decimal average count must not be negative');
129
+ let numerator = held.coefficient;
130
+ let denominator = divisor;
131
+ const shift = scale - held.scale;
132
+ if (shift >= 0)
133
+ numerator *= 10n ** BigInt(shift);
134
+ else
135
+ denominator *= 10n ** BigInt(-shift);
136
+ let rounded = numerator / denominator;
137
+ const remainder = numerator % denominator;
138
+ const magnitude = remainder < 0n ? -remainder : remainder;
139
+ if (magnitude * 2n >= denominator)
140
+ rounded += numerator < 0n ? -1n : 1n;
141
+ const result = renderScaledDecimal({ coefficient: rounded, scale });
142
+ if (result.length > DECIMAL_MAX_CHARS)
143
+ throw new Error('decimal average exceeds the decimal character limit');
144
+ return result;
145
+ };
146
+ const decodeDecimalAverageState = (value) => {
147
+ const held = String(value ?? '');
148
+ if (!held)
149
+ return { coefficient: 0n, sumScale: 0, count: 0n, requestedScale: null };
150
+ const first = held.indexOf('|');
151
+ const second = held.indexOf('|', first + 1);
152
+ const third = held.indexOf('|', second + 1);
153
+ if (first < 0 || second < 0 || third < 0)
154
+ throw new Error('invalid decimal average state');
155
+ return {
156
+ requestedScale: Number(held.slice(0, first)),
157
+ count: BigInt(held.slice(first + 1, second)),
158
+ sumScale: Number(held.slice(second + 1, third)),
159
+ coefficient: BigInt(held.slice(third + 1)),
160
+ };
161
+ };
162
+ const encodeDecimalAverageState = (state) => `${String(state.requestedScale)}|${state.count}|${state.sumScale}|${state.coefficient}`;
29
163
  export function sqliteAdapter(path = ':memory:') {
30
164
  let db = null;
31
- let inTransaction = false;
165
+ // node:sqlite has one synchronous connection. Promise-shaped adapter methods can
166
+ // still interleave while a transaction body awaits, so every root operation joins
167
+ // this queue. The adapter handed to tx() bypasses it on purpose: those calls are
168
+ // already inside the queue slot owned by that transaction.
169
+ let operationTail = Promise.resolve();
170
+ const transactionContext = new AsyncLocalStorage();
32
171
  const need = () => {
33
172
  if (!db)
34
173
  throw new Error('adapter is not open()');
35
174
  return db;
36
175
  };
176
+ const serialize = (work) => {
177
+ // Calling the root adapter from its own transaction callback would otherwise
178
+ // enqueue work behind the callback that is currently awaiting it. Refuse the
179
+ // misuse immediately and point callers at the scoped adapter/ctx passed to the
180
+ // callback; outside work still queues normally behind the transaction.
181
+ if (transactionContext.getStore()?.active)
182
+ return Promise.reject(new Error('root SQLite adapter used inside its transaction; use the transaction-scoped adapter'));
183
+ const result = operationTail.then(work);
184
+ operationTail = result.then(() => undefined, () => undefined);
185
+ return result;
186
+ };
187
+ const quoteIdent = (name) => `"${String(name).replace(/"/g, '""')}"`;
188
+ const columnSql = (column) => SQL[column.base] ?? 'TEXT';
189
+ const execDirect = (sql) => need().exec(sql);
190
+ const allDirect = (sql, params = []) => need()
191
+ .prepare(sql)
192
+ .all(...params.map(bind));
193
+ const runDirect = (sql, params = []) => {
194
+ const result = need()
195
+ .prepare(sql)
196
+ .run(...params.map(bind));
197
+ return { changes: Number(result.changes) };
198
+ };
199
+ const introspectDirect = () => {
200
+ const tables = {};
201
+ const names = need()
202
+ .prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'`)
203
+ .all();
204
+ for (const table of names) {
205
+ tables[table.name] = {};
206
+ const columns = need()
207
+ .prepare(`PRAGMA table_info(${quoteIdent(table.name)})`)
208
+ .all();
209
+ for (const column of columns)
210
+ tables[table.name][column.name] = column.type;
211
+ }
212
+ return tables;
213
+ };
214
+ const scopedTransactionAdapter = () => {
215
+ let active = true;
216
+ const within = (work) => {
217
+ if (!active)
218
+ throw new Error('transaction-scoped adapter used after its transaction ended');
219
+ return work();
220
+ };
221
+ return {
222
+ adapter: {
223
+ name: 'sqlite',
224
+ transaction: true,
225
+ async open() {
226
+ throw new Error('a transaction-scoped adapter is already open');
227
+ },
228
+ async close() {
229
+ throw new Error('a transaction-scoped adapter cannot close its root connection');
230
+ },
231
+ async exec(sql) {
232
+ within(() => execDirect(sql));
233
+ },
234
+ async all(sql, params = []) {
235
+ return within(() => allDirect(sql, params));
236
+ },
237
+ async run(sql, params = []) {
238
+ return within(() => runDirect(sql, params));
239
+ },
240
+ async tx() {
241
+ throw new Error('nested transactions are not supported');
242
+ },
243
+ quoteIdent,
244
+ columnSql,
245
+ async introspect() {
246
+ return within(introspectDirect);
247
+ },
248
+ },
249
+ deactivate: () => {
250
+ active = false;
251
+ },
252
+ };
253
+ };
37
254
  const a = {
38
255
  name: 'sqlite',
39
- get transaction() {
40
- return inTransaction;
41
- },
42
256
  async open() {
43
- db = new DatabaseSync(path);
44
- db.function('ket_date_bucket', (value, interval, timezone) => dateBucket(value, String(interval), String(timezone)));
45
- db.exec('PRAGMA journal_mode = WAL');
46
- db.exec('PRAGMA foreign_keys = ON');
257
+ await serialize(() => {
258
+ db = new DatabaseSync(path);
259
+ db.function('ket_date_bucket', (value, interval, timezone) => dateBucket(value, String(interval), String(timezone)));
260
+ db.function('ket_decimal_cmp', compareDecimals);
261
+ db.function('ket_decimal_key', decimalKey);
262
+ db.function('ket_decimal_sign', (value) => decimalParts(value)?.sign ?? null);
263
+ db.function('ket_decimal_exponent', (value) => decimalParts(value)?.exponent ?? null);
264
+ db.function('ket_decimal_digits', (value) => decimalParts(value)?.digits ?? null);
265
+ db.aggregate('ket_decimal_avg', {
266
+ start: '',
267
+ step: (encoded, value, scale) => {
268
+ const state = decodeDecimalAverageState(encoded);
269
+ const requestedScale = Number(scale);
270
+ if (state.requestedScale !== null && state.requestedScale !== requestedScale)
271
+ throw new Error('decimal average scale changed within one aggregate');
272
+ if (value == null)
273
+ return encodeDecimalAverageState({ ...state, requestedScale });
274
+ const next = scaledDecimal(value);
275
+ if (!next)
276
+ throw new Error('invalid or over-budget decimal value');
277
+ if (state.count === 0n)
278
+ return encodeDecimalAverageState({
279
+ coefficient: next.coefficient,
280
+ sumScale: next.scale,
281
+ count: 1n,
282
+ requestedScale,
283
+ });
284
+ const sumScale = Math.max(state.sumScale, next.scale);
285
+ const coefficient = state.coefficient * 10n ** BigInt(sumScale - state.sumScale) +
286
+ next.coefficient * 10n ** BigInt(sumScale - next.scale);
287
+ return encodeDecimalAverageState({
288
+ coefficient,
289
+ sumScale,
290
+ count: state.count + 1n,
291
+ requestedScale,
292
+ });
293
+ },
294
+ result: (encoded) => {
295
+ const state = decodeDecimalAverageState(encoded);
296
+ return state.count === 0n || state.requestedScale === null
297
+ ? null
298
+ : averageDecimal({ coefficient: state.coefficient, scale: state.sumScale }, state.count, state.requestedScale);
299
+ },
300
+ });
301
+ db.aggregate('ket_decimal_sum', {
302
+ start: '',
303
+ step: (sum, value) => {
304
+ if (value == null)
305
+ return String(sum);
306
+ const next = decimalKey(value);
307
+ if (next == null)
308
+ throw new Error('invalid or over-budget decimal value');
309
+ if (sum === '')
310
+ return next;
311
+ const added = addDecimals(sum, next);
312
+ if (added == null)
313
+ throw new Error('invalid decimal aggregate state');
314
+ return added;
315
+ },
316
+ result: (sum) => (sum === '' ? null : String(sum)),
317
+ });
318
+ db.aggregate('ket_decimal_min', {
319
+ start: '',
320
+ step: (minimum, value) => {
321
+ if (value == null)
322
+ return String(minimum);
323
+ const next = decimalKey(value);
324
+ if (next == null)
325
+ throw new Error('invalid or over-budget decimal value');
326
+ if (minimum === '')
327
+ return next;
328
+ return (compareDecimals(next, minimum) ?? 0) < 0 ? next : String(minimum);
329
+ },
330
+ result: (minimum) => (minimum === '' ? null : String(minimum)),
331
+ });
332
+ db.aggregate('ket_decimal_max', {
333
+ start: '',
334
+ step: (maximum, value) => {
335
+ if (value == null)
336
+ return String(maximum);
337
+ const next = decimalKey(value);
338
+ if (next == null)
339
+ throw new Error('invalid or over-budget decimal value');
340
+ if (maximum === '')
341
+ return next;
342
+ return (compareDecimals(next, maximum) ?? 0) > 0 ? next : String(maximum);
343
+ },
344
+ result: (maximum) => (maximum === '' ? null : String(maximum)),
345
+ });
346
+ db.exec('PRAGMA journal_mode = WAL');
347
+ db.exec('PRAGMA foreign_keys = ON');
348
+ });
47
349
  },
48
350
  async close() {
49
- db?.close();
50
- db = null;
351
+ await serialize(() => {
352
+ db?.close();
353
+ db = null;
354
+ });
51
355
  },
52
356
  async exec(sql) {
53
- need().exec(sql);
357
+ await serialize(() => execDirect(sql));
54
358
  },
55
359
  async all(sql, params = []) {
56
- return need()
57
- .prepare(sql)
58
- .all(...params.map(bind));
360
+ return serialize(() => allDirect(sql, params));
59
361
  },
60
362
  async run(sql, params = []) {
61
- const r = need()
62
- .prepare(sql)
63
- .run(...params.map(bind));
64
- return { changes: Number(r.changes) };
363
+ return serialize(() => runDirect(sql, params));
65
364
  },
66
365
  async tx(fn) {
67
- const d = need();
68
- d.exec('BEGIN');
69
- inTransaction = true;
70
- try {
71
- const r = await fn(a);
72
- d.exec('COMMIT');
73
- return r;
74
- }
75
- catch (e) {
76
- d.exec('ROLLBACK');
77
- throw e;
78
- }
79
- finally {
80
- inTransaction = false;
81
- }
82
- },
83
- quoteIdent(n) {
84
- return `"${String(n).replace(/"/g, '""')}"`;
85
- },
86
- columnSql(c) {
87
- return SQL[c.base] ?? 'TEXT';
366
+ return serialize(async () => {
367
+ const connection = need();
368
+ let began = false;
369
+ let deactivate = () => { };
370
+ const marker = { active: true };
371
+ try {
372
+ connection.exec('BEGIN');
373
+ began = true;
374
+ const scoped = scopedTransactionAdapter();
375
+ deactivate = scoped.deactivate;
376
+ const result = await transactionContext.run(marker, () => fn(scoped.adapter));
377
+ connection.exec('COMMIT');
378
+ return result;
379
+ }
380
+ catch (error) {
381
+ if (began) {
382
+ try {
383
+ connection.exec('ROLLBACK');
384
+ }
385
+ catch {
386
+ // Preserve the failure from the body or COMMIT; it is the actionable one.
387
+ }
388
+ }
389
+ throw error;
390
+ }
391
+ finally {
392
+ marker.active = false;
393
+ deactivate();
394
+ }
395
+ });
88
396
  },
397
+ quoteIdent,
398
+ columnSql,
89
399
  async introspect() {
90
- const tables = {};
91
- const names = need()
92
- .prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'`)
93
- .all();
94
- for (const t of names) {
95
- tables[t.name] = {};
96
- const cols = need()
97
- .prepare(`PRAGMA table_info(${a.quoteIdent(t.name)})`)
98
- .all();
99
- for (const c of cols)
100
- tables[t.name][c.name] = c.type;
101
- }
102
- return tables;
400
+ return serialize(introspectDirect);
103
401
  },
104
402
  };
105
403
  return assertAdapter(a);
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../../../../packages/ketjs/src/data/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../../../../packages/ketjs/src/data/sqlite.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjF,iFAAiF;AACjF,mFAAmF;AACnF,uDAAuD;AACvD,MAAM,IAAI,GAAG,CAAC,CAAU,EAAW,EAAE;IACnC,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAChC,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IACjE,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,GAAG,GAA8B;IACrC,EAAE,EAAE,kBAAkB;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE,MAAM;CACZ,CAAA;AAGD,MAAM,aAAa,GAAG,gCAAgC,CAAA;AAEtD;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,CAAC,KAAc,EAAuB,EAAE;IAC3D,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACvE,IAAI,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;IAChF,IAAI,IAAI,CAAC,MAAM,GAAG,iBAAiB;QAAE,OAAO,IAAI,CAAA;IAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAChC,MAAM,CAAC,QAAQ,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,QAAQ,IAAI,GAAG,CAAA;IAC7B,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAA;IACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACtC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAC1D,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9B,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG;QAAE,IAAI,EAAE,CAAA;IACrC,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK;QAC9B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC;KACxC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,IAAa,EAAE,KAAc,EAAiB,EAAE;IACvE,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACzB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAC1B,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;QAAE,SAAS,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACtE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,SAAS,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;AAC/C,CAAC,CAAA;AAED,iFAAiF;AACjF,MAAM,UAAU,GAAG,gBAAgB,CAAA;AAInC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAwB,EAAE;IAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;IAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7D,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,EAAE,WAAW,EAAE,KAAK,EAAiB,EAAU,EAAE;IAC5E,IAAI,WAAW,KAAK,EAAE;QAAE,OAAO,GAAG,CAAA;IAClC,OAAO,WAAW,GAAG,GAAG,KAAK,EAAE,EAAE,CAAC;QAChC,WAAW,IAAI,GAAG,CAAA;QAClB,KAAK,EAAE,CAAA;IACT,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IACxC,MAAM,MAAM,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAA;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;IACtC,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,GAAG,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,CAAA;IACtE,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;IAC/F,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAA;AACxE,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,IAAa,EAAE,KAAc,EAAiB,EAAE;IACnE,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,WAAW,GACf,CAAC,CAAC,WAAW,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;IACjG,OAAO,mBAAmB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;AACpD,CAAC,CAAA;AAED,kEAAkE;AAClE,MAAM,cAAc,GAAG,CAAC,IAAmB,EAAE,KAAa,EAAE,cAAuB,EAAiB,EAAE;IACpG,MAAM,OAAO,GAAG,KAAK,CAAA;IACrB,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;IACpC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,iBAAiB;QACxE,MAAM,IAAI,KAAK,CAAC,sDAAsD,iBAAiB,EAAE,CAAC,CAAA;IAC5F,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IAC/B,IAAI,OAAO,GAAG,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAE/E,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAA;IAChC,IAAI,WAAW,GAAG,OAAO,CAAA;IACzB,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IAChC,IAAI,KAAK,IAAI,CAAC;QAAE,SAAS,IAAI,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;;QAC5C,WAAW,IAAI,GAAG,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,CAAA;IAEzC,IAAI,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;IACrC,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,CAAA;IACzC,MAAM,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IACzD,IAAI,SAAS,GAAG,EAAE,IAAI,WAAW;QAAE,OAAO,IAAI,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACvE,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IACnE,IAAI,MAAM,CAAC,MAAM,GAAG,iBAAiB;QACnC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AASD,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAAuB,EAAE;IACxE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAA;IACnF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;IAC3C,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAC1F,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5C,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/C,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;KAC3C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,CAAC,KAA0B,EAAU,EAAE,CACvE,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAA;AAEzF,MAAM,UAAU,aAAa,CAAC,IAAI,GAAG,UAAU;IAC7C,IAAI,EAAE,GAAwB,IAAI,CAAA;IAClC,iFAAiF;IACjF,kFAAkF;IAClF,iFAAiF;IACjF,2DAA2D;IAC3D,IAAI,aAAa,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;IACpD,MAAM,kBAAkB,GAAG,IAAI,iBAAiB,EAAuB,CAAA;IACvE,MAAM,IAAI,GAAG,GAAiB,EAAE;QAC9B,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QACjD,OAAO,EAAE,CAAA;IACX,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAI,IAA0B,EAAc,EAAE;QAC9D,6EAA6E;QAC7E,6EAA6E;QAC7E,+EAA+E;QAC/E,uEAAuE;QACvE,IAAI,kBAAkB,CAAC,QAAQ,EAAE,EAAE,MAAM;YACvC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,qFAAqF,CAAC,CACjG,CAAA;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvC,aAAa,GAAG,MAAM,CAAC,IAAI,CACzB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAA;IACpF,MAAM,SAAS,GAAG,CAAC,MAA2B,EAAU,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAA;IACrF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC1D,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,MAAM,GAAc,EAAE,EAAS,EAAE,CAC/D,IAAI,EAAE;SACH,OAAO,CAAC,GAAG,CAAC;SACZ,GAAG,CAAC,GAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAa,CAAU,CAAA;IACnD,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,MAAM,GAAc,EAAE,EAAuB,EAAE;QAC7E,MAAM,MAAM,GAAG,IAAI,EAAE;aAClB,OAAO,CAAC,GAAG,CAAC;aACZ,GAAG,CAAC,GAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAa,CAAC,CAAA;QACxC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;IAC5C,CAAC,CAAA;IACD,MAAM,gBAAgB,GAAG,GAA2C,EAAE;QACpE,MAAM,MAAM,GAA2C,EAAE,CAAA;QACzD,MAAM,KAAK,GAAG,IAAI,EAAE;aACjB,OAAO,CAAC,gFAAgF,CAAC;aACzF,GAAG,EAA6B,CAAA;QACnC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YACvB,MAAM,OAAO,GAAG,IAAI,EAAE;iBACnB,OAAO,CAAC,qBAAqB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;iBACvD,GAAG,EAA2C,CAAA;YACjD,KAAK,MAAM,MAAM,IAAI,OAAO;gBAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAA;QAC9E,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,MAAM,wBAAwB,GAAG,GAAiD,EAAE;QAClF,IAAI,MAAM,GAAG,IAAI,CAAA;QACjB,MAAM,MAAM,GAAG,CAAI,IAAa,EAAK,EAAE;YACrC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;YAC3F,OAAO,IAAI,EAAE,CAAA;QACf,CAAC,CAAA;QACD,OAAO;YACL,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,IAAI;gBACjB,KAAK,CAAC,IAAI;oBACR,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;gBACjE,CAAC;gBACD,KAAK,CAAC,KAAK;oBACT,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;gBAClF,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,GAAG;oBACZ,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE;oBACxB,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;gBAC7C,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE;oBACxB,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;gBAC7C,CAAC;gBACD,KAAK,CAAC,EAAE;oBACN,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;gBAC1D,CAAC;gBACD,UAAU;gBACV,SAAS;gBACT,KAAK,CAAC,UAAU;oBACd,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAA;gBACjC,CAAC;aACF;YACD,UAAU,EAAE,GAAG,EAAE;gBACf,MAAM,GAAG,KAAK,CAAA;YAChB,CAAC;SACF,CAAA;IACH,CAAC,CAAA;IAED,MAAM,CAAC,GAAY;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,CAAC,IAAI;YACR,MAAM,SAAS,CAAC,GAAG,EAAE;gBACnB,EAAE,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;gBAC3B,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAC3D,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAqC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAC1F,CAAA;gBACD,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAA;gBAC/C,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAA;gBAC1C,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,CAAA;gBAC7E,EAAE,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAA;gBACrF,EAAE,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,CAAA;gBACjF,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE;oBAC9B,KAAK,EAAE,EAAE;oBACT,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;wBAC9B,MAAM,KAAK,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAA;wBAChD,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;wBACpC,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,KAAK,CAAC,cAAc,KAAK,cAAc;4BAC1E,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;wBACvE,IAAI,KAAK,IAAI,IAAI;4BAAE,OAAO,yBAAyB,CAAC,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;wBACjF,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;wBACjC,IAAI,CAAC,IAAI;4BAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;wBAClE,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE;4BACpB,OAAO,yBAAyB,CAAC;gCAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;gCAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK;gCACpB,KAAK,EAAE,EAAE;gCACT,cAAc;6BACf,CAAC,CAAA;wBACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;wBACrD,MAAM,WAAW,GACf,KAAK,CAAC,WAAW,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;4BAC5D,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;wBACzD,OAAO,yBAAyB,CAAC;4BAC/B,WAAW;4BACX,QAAQ;4BACR,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,EAAE;4BACvB,cAAc;yBACf,CAAC,CAAA;oBACJ,CAAC;oBACD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;wBAClB,MAAM,KAAK,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAA;wBAChD,OAAO,KAAK,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI;4BACxD,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,cAAc,CACZ,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EACzD,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,cAAc,CACrB,CAAA;oBACP,CAAC;iBACF,CAAC,CAAA;gBACF,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE;oBAC9B,KAAK,EAAE,EAAE;oBACT,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;wBACnB,IAAI,KAAK,IAAI,IAAI;4BAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;wBACrC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;wBAC9B,IAAI,IAAI,IAAI,IAAI;4BAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;wBACzE,IAAI,GAAG,KAAK,EAAE;4BAAE,OAAO,IAAI,CAAA;wBAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;wBACpC,IAAI,KAAK,IAAI,IAAI;4BAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;wBACrE,OAAO,KAAK,CAAA;oBACd,CAAC;oBACD,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;iBACnD,CAAC,CAAA;gBACF,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE;oBAC9B,KAAK,EAAE,EAAE;oBACT,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;wBACvB,IAAI,KAAK,IAAI,IAAI;4BAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;wBACzC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;wBAC9B,IAAI,IAAI,IAAI,IAAI;4BAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;wBACzE,IAAI,OAAO,KAAK,EAAE;4BAAE,OAAO,IAAI,CAAA;wBAC/B,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBAC3E,CAAC;oBACD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBAC/D,CAAC,CAAA;gBACF,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE;oBAC9B,KAAK,EAAE,EAAE;oBACT,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;wBACvB,IAAI,KAAK,IAAI,IAAI;4BAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;wBACzC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;wBAC9B,IAAI,IAAI,IAAI,IAAI;4BAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;wBACzE,IAAI,OAAO,KAAK,EAAE;4BAAE,OAAO,IAAI,CAAA;wBAC/B,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBAC3E,CAAC;oBACD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBAC/D,CAAC,CAAA;gBACF,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;gBACpC,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;YACrC,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,CAAC,KAAK;YACT,MAAM,SAAS,CAAC,GAAG,EAAE;gBACnB,EAAE,EAAE,KAAK,EAAE,CAAA;gBACX,EAAE,GAAG,IAAI,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG;YACZ,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;QACxC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE;YACxB,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;QAChD,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE;YACxB,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;QAChD,CAAC;QACD,KAAK,CAAC,EAAE,CAAC,EAAE;YACT,OAAO,SAAS,CAAC,KAAK,IAAI,EAAE;gBAC1B,MAAM,UAAU,GAAG,IAAI,EAAE,CAAA;gBACzB,IAAI,KAAK,GAAG,KAAK,CAAA;gBACjB,IAAI,UAAU,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;gBACzB,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC/B,IAAI,CAAC;oBACH,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACxB,KAAK,GAAG,IAAI,CAAA;oBACZ,MAAM,MAAM,GAAG,wBAAwB,EAAE,CAAA;oBACzC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;oBAC9B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;oBAC7E,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBACzB,OAAO,MAAM,CAAA;gBACf,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,EAAE,CAAC;wBACV,IAAI,CAAC;4BACH,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;wBAC7B,CAAC;wBAAC,MAAM,CAAC;4BACP,0EAA0E;wBAC5E,CAAC;oBACH,CAAC;oBACD,MAAM,KAAK,CAAA;gBACb,CAAC;wBAAS,CAAC;oBACT,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;oBACrB,UAAU,EAAE,CAAA;gBACd,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,UAAU;QACV,SAAS;QACT,KAAK,CAAC,UAAU;YACd,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAA;QACpC,CAAC;KACF,CAAA;IACD,OAAO,aAAa,CAAC,CAAC,CAAC,CAAA;AACzB,CAAC"}
@@ -1,4 +1,17 @@
1
1
  export type GroupInterval = 'day' | 'week' | 'month' | 'quarter' | 'year';
2
+ /**
3
+ * The closed set of bucketing intervals.
4
+ *
5
+ * `GroupInterval` is only a compile-time type: a value that arrives as JSON — a
6
+ * `listState.groupBy[].interval` an agent or a form sends — has never been checked
7
+ * against it by the time it reaches the query builder. The Postgres dialect
8
+ * interpolates the interval into `DATE_TRUNC('<interval>', …)` (SQLite binds it),
9
+ * so an unchecked string there is SQL, not data. This is the guard that keeps the
10
+ * type's promise at runtime, at the one boundary where being wrong is an injection.
11
+ */
12
+ export declare const GROUP_INTERVALS: readonly GroupInterval[];
13
+ export declare const isGroupInterval: (value: unknown) => value is GroupInterval;
14
+ export declare const assertGroupInterval: (value: unknown) => GroupInterval;
2
15
  export declare const isTimezone: (value: string) => boolean;
3
16
  export declare const assertTimezone: (value: string) => string;
4
17
  /** Stable local-calendar bucket key shared by SQLite and application tests. */
@@ -1 +1 @@
1
- {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/data/time.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;AAEzE,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,OAO1C,CAAA;AAED,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,MAI9C,CAAA;AAqBD,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,SAAQ,GAAG,MAAM,GAAG,IAAI,CAWnG;AAwBD,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,MAAM,CA4B1E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAM/E"}
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/data/time.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;AAEzE;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAAgD,CAAA;AAEpG,eAAO,MAAM,eAAe,UAAW,OAAO,KAAG,KAAK,IAAI,aAC2B,CAAA;AAErF,eAAO,MAAM,mBAAmB,UAAW,OAAO,KAAG,aAQpD,CAAA;AAMD,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,OAS1C,CAAA;AAED,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,MAI9C,CAAA;AA8CD,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,SAAQ,GAAG,MAAM,GAAG,IAAI,CAWnG;AAeD,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,MAAM,CA4B1E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAM/E"}