@bjornpagen/bumbledb 1.3.0 → 2.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/COOKBOOK.md +224 -95
  2. package/README.md +114 -45
  3. package/dist/alternatives.d.ts +5 -6
  4. package/dist/alternatives.d.ts.map +1 -1
  5. package/dist/alternatives.js +5 -6
  6. package/dist/alternatives.js.map +1 -1
  7. package/dist/bin.d.ts +3 -0
  8. package/dist/bin.d.ts.map +1 -0
  9. package/dist/bin.js +85 -0
  10. package/dist/bin.js.map +1 -0
  11. package/dist/capacity.d.ts +14 -17
  12. package/dist/capacity.d.ts.map +1 -1
  13. package/dist/capacity.js +7 -7
  14. package/dist/capacity.js.map +1 -1
  15. package/dist/changes.d.ts +32 -41
  16. package/dist/changes.d.ts.map +1 -1
  17. package/dist/changes.js +86 -110
  18. package/dist/changes.js.map +1 -1
  19. package/dist/closed.d.ts +2 -2
  20. package/dist/closed.d.ts.map +1 -1
  21. package/dist/closed.js +5 -5
  22. package/dist/closed.js.map +1 -1
  23. package/dist/codec.d.ts +20 -27
  24. package/dist/codec.d.ts.map +1 -1
  25. package/dist/codec.js +48 -22
  26. package/dist/codec.js.map +1 -1
  27. package/dist/compile.d.ts +26 -50
  28. package/dist/compile.d.ts.map +1 -1
  29. package/dist/compile.js +75 -64
  30. package/dist/compile.js.map +1 -1
  31. package/dist/database/database.d.ts +98 -0
  32. package/dist/database/database.d.ts.map +1 -0
  33. package/dist/database/database.js +249 -0
  34. package/dist/database/database.js.map +1 -0
  35. package/dist/database/driver.d.ts +40 -0
  36. package/dist/database/driver.d.ts.map +1 -0
  37. package/dist/database/driver.js +68 -0
  38. package/dist/database/driver.js.map +1 -0
  39. package/dist/database/fs.d.ts +12 -0
  40. package/dist/database/fs.d.ts.map +1 -0
  41. package/dist/database/fs.js +120 -0
  42. package/dist/database/fs.js.map +1 -0
  43. package/dist/database/generate.d.ts +26 -0
  44. package/dist/database/generate.d.ts.map +1 -0
  45. package/dist/database/generate.js +102 -0
  46. package/dist/database/generate.js.map +1 -0
  47. package/dist/database/hosted.d.ts +32 -0
  48. package/dist/database/hosted.d.ts.map +1 -0
  49. package/dist/database/hosted.js +44 -0
  50. package/dist/database/hosted.js.map +1 -0
  51. package/dist/database/io.d.ts +94 -0
  52. package/dist/database/io.d.ts.map +1 -0
  53. package/dist/database/io.js +35 -0
  54. package/dist/database/io.js.map +1 -0
  55. package/dist/database/mem.d.ts +26 -0
  56. package/dist/database/mem.d.ts.map +1 -0
  57. package/dist/database/mem.js +67 -0
  58. package/dist/database/mem.js.map +1 -0
  59. package/dist/database/migration.d.ts +55 -0
  60. package/dist/database/migration.d.ts.map +1 -0
  61. package/dist/database/migration.js +46 -0
  62. package/dist/database/migration.js.map +1 -0
  63. package/dist/database/s3.d.ts +36 -0
  64. package/dist/database/s3.d.ts.map +1 -0
  65. package/dist/database/s3.js +141 -0
  66. package/dist/database/s3.js.map +1 -0
  67. package/dist/db.d.ts +44 -128
  68. package/dist/db.d.ts.map +1 -1
  69. package/dist/db.js +163 -287
  70. package/dist/db.js.map +1 -1
  71. package/dist/engine.d.ts +7 -0
  72. package/dist/engine.d.ts.map +1 -0
  73. package/dist/engine.js +2 -0
  74. package/dist/engine.js.map +1 -0
  75. package/dist/errors.d.ts +152 -46
  76. package/dist/errors.d.ts.map +1 -1
  77. package/dist/errors.js +107 -19
  78. package/dist/errors.js.map +1 -1
  79. package/dist/face.d.ts +5 -5
  80. package/dist/face.d.ts.map +1 -1
  81. package/dist/face.js +6 -6
  82. package/dist/face.js.map +1 -1
  83. package/dist/fields.d.ts +4 -5
  84. package/dist/fields.d.ts.map +1 -1
  85. package/dist/fields.js +3 -3
  86. package/dist/fields.js.map +1 -1
  87. package/dist/index.d.ts +60 -58
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +27 -29
  90. package/dist/index.js.map +1 -1
  91. package/dist/judgment.d.ts +1 -1
  92. package/dist/judgment.js +1 -1
  93. package/dist/law.d.ts +16 -68
  94. package/dist/law.d.ts.map +1 -1
  95. package/dist/law.js +3 -3
  96. package/dist/law.js.map +1 -1
  97. package/dist/lower.d.ts +3 -3
  98. package/dist/lower.d.ts.map +1 -1
  99. package/dist/lower.js +35 -39
  100. package/dist/lower.js.map +1 -1
  101. package/dist/native/addon.d.ts +23 -0
  102. package/dist/native/addon.d.ts.map +1 -0
  103. package/dist/native/addon.js +15 -0
  104. package/dist/native/addon.js.map +1 -0
  105. package/dist/native/binding.d.ts +996 -0
  106. package/dist/native/json.d.ts +14 -0
  107. package/dist/native/json.d.ts.map +1 -0
  108. package/dist/native/json.js +73 -0
  109. package/dist/native/json.js.map +1 -0
  110. package/dist/native/load.d.ts +9 -0
  111. package/dist/native/load.d.ts.map +1 -0
  112. package/dist/native/load.js +30 -0
  113. package/dist/native/load.js.map +1 -0
  114. package/dist/native/op.d.ts +29 -0
  115. package/dist/native/op.d.ts.map +1 -0
  116. package/dist/native/op.js +50 -0
  117. package/dist/native/op.js.map +1 -0
  118. package/dist/query/atom.d.ts +13 -14
  119. package/dist/query/atom.d.ts.map +1 -1
  120. package/dist/query/atom.js +2 -2
  121. package/dist/query/atom.js.map +1 -1
  122. package/dist/query/compute.d.ts +7 -7
  123. package/dist/query/compute.d.ts.map +1 -1
  124. package/dist/query/compute.js +7 -16
  125. package/dist/query/compute.js.map +1 -1
  126. package/dist/query/find.d.ts +8 -8
  127. package/dist/query/find.d.ts.map +1 -1
  128. package/dist/query/find.js +1 -1
  129. package/dist/query/lower.d.ts +31 -17
  130. package/dist/query/lower.d.ts.map +1 -1
  131. package/dist/query/lower.js +260 -368
  132. package/dist/query/lower.js.map +1 -1
  133. package/dist/query/run.d.ts +5 -5
  134. package/dist/query/run.d.ts.map +1 -1
  135. package/dist/query/run.js +32 -15
  136. package/dist/query/run.js.map +1 -1
  137. package/dist/query/scope.d.ts +20 -28
  138. package/dist/query/scope.d.ts.map +1 -1
  139. package/dist/query/scope.js +13 -8
  140. package/dist/query/scope.js.map +1 -1
  141. package/dist/query/segments.d.ts +2 -2
  142. package/dist/query/segments.d.ts.map +1 -1
  143. package/dist/query/segments.js +3 -3
  144. package/dist/query/segments.js.map +1 -1
  145. package/dist/relation.d.ts +1 -1
  146. package/dist/relation.d.ts.map +1 -1
  147. package/dist/relation.js +4 -4
  148. package/dist/relation.js.map +1 -1
  149. package/dist/result.d.ts +15 -22
  150. package/dist/result.d.ts.map +1 -1
  151. package/dist/result.js +30 -39
  152. package/dist/result.js.map +1 -1
  153. package/dist/rows.d.ts +9 -33
  154. package/dist/rows.d.ts.map +1 -1
  155. package/dist/rows.js +8 -12
  156. package/dist/rows.js.map +1 -1
  157. package/dist/runtime.d.ts +17 -43
  158. package/dist/runtime.d.ts.map +1 -1
  159. package/dist/runtime.js +41 -241
  160. package/dist/runtime.js.map +1 -1
  161. package/dist/scalar.d.ts +36 -106
  162. package/dist/scalar.d.ts.map +1 -1
  163. package/dist/scalar.js +36 -185
  164. package/dist/scalar.js.map +1 -1
  165. package/dist/schema.d.ts +7 -18
  166. package/dist/schema.d.ts.map +1 -1
  167. package/dist/schema.js +18 -228
  168. package/dist/schema.js.map +1 -1
  169. package/dist/selection.d.ts +4 -4
  170. package/dist/selection.d.ts.map +1 -1
  171. package/dist/selection.js +5 -5
  172. package/dist/selection.js.map +1 -1
  173. package/dist/shape.d.ts +5 -5
  174. package/dist/shape.d.ts.map +1 -1
  175. package/dist/spec.d.ts +7 -79
  176. package/dist/spec.d.ts.map +1 -1
  177. package/dist/spec.js.map +1 -1
  178. package/dist/statements.d.ts +3 -3
  179. package/dist/statements.d.ts.map +1 -1
  180. package/dist/statements.js +10 -10
  181. package/dist/statements.js.map +1 -1
  182. package/dist/uuid.d.ts +1 -1
  183. package/dist/uuid.d.ts.map +1 -1
  184. package/dist/uuid.js +1 -1
  185. package/dist/uuid.js.map +1 -1
  186. package/dist/values.d.ts +2 -2
  187. package/dist/values.d.ts.map +1 -1
  188. package/dist/values.js +2 -2
  189. package/dist/values.js.map +1 -1
  190. package/package.json +18 -18
  191. package/src/alternatives.ts +7 -8
  192. package/src/bin.ts +82 -0
  193. package/src/capacity.ts +20 -23
  194. package/src/changes.ts +134 -197
  195. package/src/closed.ts +5 -5
  196. package/src/codec.ts +77 -51
  197. package/src/compile.ts +91 -113
  198. package/src/database/database.ts +413 -0
  199. package/src/database/driver.ts +134 -0
  200. package/src/database/fs.ts +119 -0
  201. package/src/database/generate.ts +116 -0
  202. package/src/database/hosted.ts +102 -0
  203. package/src/database/io.ts +134 -0
  204. package/src/database/mem.ts +113 -0
  205. package/src/database/migration.ts +107 -0
  206. package/src/database/s3.ts +231 -0
  207. package/src/db.ts +290 -547
  208. package/src/engine.ts +14 -0
  209. package/src/errors.ts +118 -39
  210. package/src/face.ts +9 -9
  211. package/src/fields.ts +6 -7
  212. package/src/index.ts +102 -109
  213. package/src/judgment.ts +1 -1
  214. package/src/law.ts +18 -70
  215. package/src/lower.ts +61 -72
  216. package/src/native/addon.ts +54 -0
  217. package/src/native/binding.d.ts +996 -0
  218. package/src/native/json.ts +100 -0
  219. package/src/native/load.ts +31 -0
  220. package/src/native/op.ts +73 -0
  221. package/src/query/atom.ts +15 -16
  222. package/src/query/compute.ts +13 -22
  223. package/src/query/find.ts +8 -8
  224. package/src/query/lower.ts +323 -414
  225. package/src/query/run.ts +42 -21
  226. package/src/query/scope.ts +37 -38
  227. package/src/query/segments.ts +4 -4
  228. package/src/relation.ts +4 -4
  229. package/src/result.ts +53 -80
  230. package/src/rows.ts +18 -46
  231. package/src/runtime.ts +50 -346
  232. package/src/scalar.ts +76 -336
  233. package/src/schema.ts +23 -284
  234. package/src/selection.ts +6 -6
  235. package/src/shape.ts +5 -5
  236. package/src/spec.ts +7 -85
  237. package/src/statements.ts +11 -11
  238. package/src/uuid.ts +1 -1
  239. package/src/values.ts +4 -4
  240. package/dist/close.d.ts +0 -24
  241. package/dist/close.d.ts.map +0 -1
  242. package/dist/close.js +0 -34
  243. package/dist/close.js.map +0 -1
  244. package/dist/db-native.d.ts +0 -196
  245. package/dist/db-native.d.ts.map +0 -1
  246. package/dist/db-native.js +0 -13
  247. package/dist/db-native.js.map +0 -1
  248. package/dist/internal/log.d.ts +0 -26
  249. package/dist/internal/log.d.ts.map +0 -1
  250. package/dist/internal/log.js +0 -12
  251. package/dist/internal/log.js.map +0 -1
  252. package/dist/migration.d.ts +0 -31
  253. package/dist/migration.d.ts.map +0 -1
  254. package/dist/migration.js +0 -47
  255. package/dist/migration.js.map +0 -1
  256. package/dist/native.d.ts +0 -562
  257. package/dist/native.d.ts.map +0 -1
  258. package/dist/native.js +0 -123
  259. package/dist/native.js.map +0 -1
  260. package/dist/query/description.d.ts +0 -41
  261. package/dist/query/description.d.ts.map +0 -1
  262. package/dist/query/description.js +0 -311
  263. package/dist/query/description.js.map +0 -1
  264. package/dist/query/parse-ir.d.ts +0 -10
  265. package/dist/query/parse-ir.d.ts.map +0 -1
  266. package/dist/query/parse-ir.js +0 -280
  267. package/dist/query/parse-ir.js.map +0 -1
  268. package/dist/runtime-codes.d.ts +0 -2
  269. package/dist/runtime-codes.d.ts.map +0 -1
  270. package/dist/runtime-codes.js +0 -18
  271. package/dist/runtime-codes.js.map +0 -1
  272. package/dist/runtime-errors.d.ts +0 -118
  273. package/dist/runtime-errors.d.ts.map +0 -1
  274. package/dist/runtime-errors.js +0 -98
  275. package/dist/runtime-errors.js.map +0 -1
  276. package/dist/runtime-native.d.ts +0 -141
  277. package/dist/runtime-native.d.ts.map +0 -1
  278. package/dist/runtime-native.js +0 -5
  279. package/dist/runtime-native.js.map +0 -1
  280. package/pack-provenance.json +0 -7
  281. package/src/close.ts +0 -53
  282. package/src/db-native.ts +0 -243
  283. package/src/internal/log.ts +0 -48
  284. package/src/migration.ts +0 -61
  285. package/src/native.ts +0 -736
  286. package/src/query/description.ts +0 -424
  287. package/src/query/parse-ir.ts +0 -291
  288. package/src/runtime-codes.ts +0 -17
  289. package/src/runtime-errors.ts +0 -109
  290. package/src/runtime-native.ts +0 -189
@@ -1,280 +0,0 @@
1
- import { AuthoringError } from "#errors.ts";
2
- import { roundingMode } from "#scalar.ts";
3
- import { arrayValue as array, recordValue, valueDescriptor } from "#values.ts";
4
- function fail(context, expected) {
5
- throw new AuthoringError({
6
- message: `${context}: ${expected}`,
7
- diagnostic: { code: "InvalidQuery", context, expected }
8
- });
9
- }
10
- function tagged(context, input) {
11
- if (typeof input !== "object" || input === null)
12
- return fail(context, "expected a descriptor record");
13
- return recordValue(context, input, Object.keys(input));
14
- }
15
- function ordinal(context, input, maximum = 0xffff) {
16
- if (typeof input !== "number" || !Number.isInteger(input) || input < 0 || input > maximum)
17
- return fail(context, `expected an ordinal from 0 through ${maximum}`);
18
- return input;
19
- }
20
- function term(context, input) {
21
- const raw = tagged(context, input);
22
- switch (raw.kind) {
23
- case "var":
24
- recordValue(context, raw, ["kind", "var"]);
25
- return Object.freeze({ kind: raw.kind, var: ordinal(context, raw.var) });
26
- case "param":
27
- case "paramSet":
28
- recordValue(context, raw, ["kind", "param"]);
29
- return Object.freeze({ kind: raw.kind, param: ordinal(context, raw.param) });
30
- case "literal":
31
- recordValue(context, raw, ["kind", "value"]);
32
- return Object.freeze({ kind: raw.kind, value: valueDescriptor(`${context}.value`, raw.value) });
33
- default:
34
- return fail(context, "unknown term kind");
35
- }
36
- }
37
- function scalar(context, input, depth = 1) {
38
- if (depth > 128)
39
- return fail(context, "scalar expression deeper than 128");
40
- const raw = tagged(context, input);
41
- switch (raw.kind) {
42
- case "var":
43
- recordValue(context, raw, ["kind", "var"]);
44
- return Object.freeze({ kind: raw.kind, var: ordinal(context, raw.var) });
45
- case "literal":
46
- recordValue(context, raw, ["kind", "value"]);
47
- return Object.freeze({ kind: raw.kind, value: valueDescriptor(`${context}.value`, raw.value) });
48
- case "measure":
49
- case "negate":
50
- case "isNaN":
51
- case "isFinite":
52
- recordValue(context, raw, ["kind", "expr"]);
53
- return Object.freeze({ kind: raw.kind, expr: scalar(`${context}.expr`, raw.expr, depth + 1) });
54
- case "add":
55
- case "subtract":
56
- case "multiply":
57
- case "divide":
58
- recordValue(context, raw, ["kind", "left", "right"]);
59
- return Object.freeze({
60
- kind: raw.kind,
61
- left: scalar(`${context}.left`, raw.left, depth + 1),
62
- right: scalar(`${context}.right`, raw.right, depth + 1)
63
- });
64
- case "mulDiv":
65
- recordValue(context, raw, ["kind", "a", "b", "divisor", "rounding"]);
66
- return Object.freeze({
67
- kind: raw.kind,
68
- a: scalar(`${context}.a`, raw.a, depth + 1),
69
- b: scalar(`${context}.b`, raw.b, depth + 1),
70
- divisor: scalar(`${context}.divisor`, raw.divisor, depth + 1),
71
- rounding: roundingMode(raw.rounding)
72
- });
73
- case "cast": {
74
- recordValue(context, raw, ["kind", "cast", "expr"]);
75
- const cast = raw.cast;
76
- if (cast !== "toF64" && cast !== "toF64Exact" && cast !== "toI64Exact" && cast !== "toU64Exact")
77
- return fail(context, "unknown numeric cast");
78
- return Object.freeze({ kind: raw.kind, cast, expr: scalar(`${context}.expr`, raw.expr, depth + 1) });
79
- }
80
- default:
81
- return fail(context, "unknown scalar expression kind");
82
- }
83
- }
84
- function headTerm(context, input) {
85
- const raw = tagged(context, input);
86
- if (raw.kind === "var" || raw.kind === "compute") {
87
- recordValue(context, raw, ["kind"]);
88
- return Object.freeze({ kind: raw.kind });
89
- }
90
- recordValue(context, raw, ["kind", "op"]);
91
- if (raw.kind !== "aggregate")
92
- return fail(context, "unknown head kind");
93
- const op = raw.op;
94
- if (op !== "sum" && op !== "mean" && op !== "min" && op !== "max" && op !== "count" && op !== "pack")
95
- return fail(context, "unknown head aggregate");
96
- return Object.freeze({ kind: raw.kind, op });
97
- }
98
- function find(context, input) {
99
- const raw = tagged(context, input);
100
- if (raw.kind === "segments") {
101
- recordValue(context, raw, ["kind", "op", "left", "right"]);
102
- if (raw.op !== "intersection" && raw.op !== "difference")
103
- return fail(context, "unknown segment operator");
104
- return Object.freeze({
105
- kind: raw.kind,
106
- op: raw.op,
107
- left: ordinal(context, raw.left),
108
- right: ordinal(context, raw.right)
109
- });
110
- }
111
- switch (raw.kind) {
112
- case "var":
113
- recordValue(context, raw, ["kind", "var"]);
114
- return Object.freeze({ kind: raw.kind, var: ordinal(context, raw.var) });
115
- case "count":
116
- if (Object.hasOwn(raw, "over"))
117
- return fail(context, "Count carries no over");
118
- recordValue(context, raw, ["kind"]);
119
- return Object.freeze({ kind: raw.kind });
120
- case "compute":
121
- if (!Object.hasOwn(raw, "expr"))
122
- return fail(context, "compute requires expr");
123
- recordValue(context, raw, ["kind", "expr"]);
124
- return Object.freeze({ kind: raw.kind, expr: scalar(`${context}.expr`, raw.expr) });
125
- case "pack":
126
- recordValue(context, raw, ["kind", "over"]);
127
- return Object.freeze({ kind: raw.kind, over: ordinal(context, raw.over) });
128
- case "aggregate": {
129
- recordValue(context, raw, ["kind", "op", "over"]);
130
- const op = recordValue(`${context}.op`, raw.op, ["kind"]).kind;
131
- if (op !== "sum" && op !== "mean" && op !== "min" && op !== "max")
132
- return fail(context, "unknown fold operator");
133
- return Object.freeze({ kind: raw.kind, op: Object.freeze({ kind: op }), over: ordinal(context, raw.over) });
134
- }
135
- default:
136
- return fail(context, "unknown find kind");
137
- }
138
- }
139
- function atom(context, input) {
140
- const raw = recordValue(context, input, ["source", "bindings"]);
141
- const source = tagged(`${context}.source`, raw.source);
142
- let owned;
143
- if (source.kind === "edb") {
144
- recordValue(context, source, ["kind", "relation"]);
145
- owned = { kind: source.kind, relation: ordinal(`${context}.source.relation`, source.relation, 0xffffffff) };
146
- }
147
- else if (source.kind === "interior") {
148
- recordValue(context, source, ["kind", "interior"]);
149
- owned = { kind: source.kind, interior: ordinal(`${context}.source.interior`, source.interior, 0xffffffff) };
150
- }
151
- else
152
- return fail(context, "unknown atom source");
153
- const seen = new Set();
154
- const bindings = array(`${context}.bindings`, raw.bindings, (path, pair) => {
155
- const cells = array(path, pair, (_, value) => value);
156
- if (cells.length !== 2)
157
- return fail(path, "a binding has exactly two elements");
158
- const field = ordinal(`${path}[0]`, cells[0]);
159
- if (seen.has(field))
160
- return fail(path, "duplicate field binding");
161
- seen.add(field);
162
- return Object.freeze([field, term(`${path}[1]`, cells[1])]);
163
- });
164
- return Object.freeze({ source: Object.freeze(owned), bindings });
165
- }
166
- function comparisonOp(context, input) {
167
- const raw = tagged(context, input);
168
- if (raw.kind === "allen") {
169
- recordValue(context, raw, ["kind", "mask"]);
170
- return Object.freeze({ kind: raw.kind, mask: ordinal(`${context}.mask`, raw.mask, 0x1fff) });
171
- }
172
- recordValue(context, raw, ["kind"]);
173
- const kind = raw.kind;
174
- if (kind !== "eq" &&
175
- kind !== "ne" &&
176
- kind !== "lt" &&
177
- kind !== "le" &&
178
- kind !== "gt" &&
179
- kind !== "ge" &&
180
- kind !== "pointIn")
181
- return fail(context, "unknown comparison operator");
182
- return Object.freeze({ kind });
183
- }
184
- function condition(context, input, depth = 1) {
185
- if (depth > 64)
186
- return fail(context, "condition tree deeper than 64");
187
- const raw = tagged(context, input);
188
- if (raw.kind === "leaf") {
189
- recordValue(context, raw, ["kind", "cmp"]);
190
- const cmp = recordValue(`${context}.cmp`, raw.cmp, ["op", "lhs", "rhs"]);
191
- return Object.freeze({
192
- kind: raw.kind,
193
- cmp: Object.freeze({
194
- op: comparisonOp(`${context}.cmp.op`, cmp.op),
195
- lhs: term(`${context}.cmp.lhs`, cmp.lhs),
196
- rhs: term(`${context}.cmp.rhs`, cmp.rhs)
197
- })
198
- });
199
- }
200
- if (raw.kind !== "and" && raw.kind !== "or")
201
- return fail(context, "unknown condition kind");
202
- recordValue(context, raw, ["kind", "children"]);
203
- return Object.freeze({
204
- kind: raw.kind,
205
- children: array(`${context}.children`, raw.children, (path, value) => condition(path, value, depth + 1))
206
- });
207
- }
208
- function rule(context, input) {
209
- const raw = recordValue(context, input, ["finds", "atoms", "negated", "conditions"]);
210
- return Object.freeze({
211
- finds: array(`${context}.finds`, raw.finds, find),
212
- atoms: array(`${context}.atoms`, raw.atoms, atom),
213
- negated: array(`${context}.negated`, raw.negated, atom),
214
- conditions: array(`${context}.conditions`, raw.conditions, condition)
215
- });
216
- }
217
- function align(context, head, rules) {
218
- for (const [index, rule] of rules.entries()) {
219
- if (rule.finds.length !== head.length)
220
- fail(`${context}.rules[${index}]`, "finds width does not match head width");
221
- for (const [position, find] of rule.finds.entries()) {
222
- const term = head[position];
223
- const plainFamily = find.kind === "var" || find.kind === "compute" ? find.kind : "aggregate";
224
- const family = find.kind === "segments" ? "compute" : plainFamily;
225
- if (term?.kind !== family)
226
- fail(`${context}.rules[${index}].finds[${position}]`, "find family does not match head");
227
- if (term.kind === "aggregate") {
228
- const op = find.kind === "aggregate" ? find.op.kind : find.kind;
229
- if (op !== term.op)
230
- fail(`${context}.rules[${index}].finds[${position}]`, "aggregate operator does not match head");
231
- }
232
- }
233
- }
234
- }
235
- /**
236
- * Own and validate the complete wire grammar. The native compiler then
237
- * checks schema membership, binding types, safety and recursion semantics;
238
- * parsing alone does not assert that a query is admitted by a schema.
239
- */
240
- function parseQueryIr(input) {
241
- const raw = tagged("query", input);
242
- if (raw.kind !== "cq" && raw.kind !== "reach")
243
- return fail("query", "unknown query kind");
244
- recordValue("query", raw, raw.kind === "cq" ? ["kind", "interiors", "head", "rules"] : ["kind", "interiors", "rec", "head", "rules"]);
245
- const rules = array("query.rules", raw.rules, rule);
246
- if (rules.length === 0)
247
- return fail("parseQueryIr", "main rules are empty");
248
- const head = array("query.head", raw.head, headTerm);
249
- align("query", head, rules);
250
- const interiors = array("query.interiors", raw.interiors, (path, input) => {
251
- const raw = recordValue(path, input, ["head", "rules"]);
252
- const head = array(`${path}.head`, raw.head, headTerm);
253
- const rules = array(`${path}.rules`, raw.rules, rule);
254
- if (rules.length === 0)
255
- return fail(path, "interior rules are empty");
256
- align(path, head, rules);
257
- return Object.freeze({ head, rules });
258
- });
259
- let owned;
260
- if (raw.kind === "cq")
261
- owned = { kind: raw.kind, interiors, head, rules };
262
- else {
263
- const rawRec = recordValue("query.rec", raw.rec, ["head", "base", "rec"]);
264
- const headRec = array("query.rec.head", rawRec.head, headTerm);
265
- const base = array("query.rec.base", rawRec.base, rule);
266
- if (base.length === 0)
267
- return fail("parseQueryIr", "rec base is empty");
268
- const rec = array("query.rec.rec", rawRec.rec, rule);
269
- if (rec.length === 0)
270
- return fail("parseQueryIr", "rec step is empty");
271
- align("rec base", headRec, base);
272
- align("rec step", headRec, rec);
273
- if (headRec.some((term) => term.kind !== "var") || [...base, ...rec].some((rule) => rule.negated.length !== 0))
274
- return fail("query.rec", "recursion requires projection-only heads and no negation");
275
- owned = { kind: raw.kind, interiors, head, rules, rec: Object.freeze({ head: headRec, base, rec }) };
276
- }
277
- return Object.freeze(owned);
278
- }
279
- export { parseQueryIr };
280
- //# sourceMappingURL=parse-ir.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-ir.js","sourceRoot":"","sources":["../../src/query/parse-ir.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const runtimeErrorCodes: readonly ["RuntimeAlreadyLive", "ForeignRuntime", "ClosedHandle", "SpentHandle", "QueueFull", "InvalidArgument", "Internal", "DirectoryBusy", "WriterBusy", "InvalidPath", "Io", "ResourceLimit", "Engine", "Cancelled"];
2
- //# sourceMappingURL=runtime-codes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-codes.d.ts","sourceRoot":"","sources":["../src/runtime-codes.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,YAC7B,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,eAAe,EACf,QAAQ,EACR,WAAW,CACF,CAAA"}
@@ -1,18 +0,0 @@
1
- // Generated from the exact native runtimeErrorCodes export; do not edit.
2
- export const runtimeErrorCodes = [
3
- "RuntimeAlreadyLive",
4
- "ForeignRuntime",
5
- "ClosedHandle",
6
- "SpentHandle",
7
- "QueueFull",
8
- "InvalidArgument",
9
- "Internal",
10
- "DirectoryBusy",
11
- "WriterBusy",
12
- "InvalidPath",
13
- "Io",
14
- "ResourceLimit",
15
- "Engine",
16
- "Cancelled"
17
- ];
18
- //# sourceMappingURL=runtime-codes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-codes.js","sourceRoot":"","sources":["../src/runtime-codes.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,WAAW;IACX,iBAAiB;IACjB,UAAU;IACV,eAAe;IACf,YAAY;IACZ,aAAa;IACb,IAAI;IACJ,eAAe;IACf,QAAQ;IACR,WAAW;CACF,CAAA"}
@@ -1,118 +0,0 @@
1
- import { Schema } from "effect";
2
- export { runtimeErrorCodes } from "./runtime-codes.js";
3
- export declare const DbReason: Schema.Union<readonly [Schema.Struct<{
4
- readonly _tag: Schema.Literal<"ResourceLimit">;
5
- readonly dimension: Schema.String;
6
- readonly used: Schema.BigInt;
7
- readonly requested: Schema.BigInt;
8
- readonly limit: Schema.BigInt;
9
- }>, Schema.Struct<{
10
- readonly _tag: Schema.Literal<"Io">;
11
- readonly kind: Schema.String;
12
- readonly osCode: Schema.optional<Schema.Number>;
13
- }>, Schema.Struct<{
14
- readonly _tag: Schema.Literal<"Engine">;
15
- readonly kind: Schema.String;
16
- readonly message: Schema.String;
17
- }>, Schema.Struct<{
18
- readonly _tag: Schema.Literal<"InvalidArgument">;
19
- readonly detail: Schema.optional<Schema.Struct<{
20
- readonly message: Schema.String;
21
- readonly diagnostic: Schema.optional<Schema.Struct<{
22
- readonly code: Schema.Literals<readonly ["InvalidValue", "InvalidRecord", "UnknownField", "MissingField", "InvalidDeclaration", "InvalidQuery"]>;
23
- readonly context: Schema.String;
24
- readonly expected: Schema.String;
25
- }>>;
26
- }>>;
27
- }>, Schema.Struct<{
28
- readonly _tag: Schema.Literals<("Cancelled" | "ClosedHandle" | "DirectoryBusy" | "ForeignRuntime" | "Internal" | "InvalidPath" | "QueueFull" | "RuntimeAlreadyLive" | "SpentHandle" | "WriterBusy")[]>;
29
- }>]>;
30
- declare const DbError_base: Schema.Class<DbError, Schema.TaggedStruct<"DbError", {
31
- readonly operation: Schema.String;
32
- readonly reason: Schema.Union<readonly [Schema.Struct<{
33
- readonly _tag: Schema.Literal<"ResourceLimit">;
34
- readonly dimension: Schema.String;
35
- readonly used: Schema.BigInt;
36
- readonly requested: Schema.BigInt;
37
- readonly limit: Schema.BigInt;
38
- }>, Schema.Struct<{
39
- readonly _tag: Schema.Literal<"Io">;
40
- readonly kind: Schema.String;
41
- readonly osCode: Schema.optional<Schema.Number>;
42
- }>, Schema.Struct<{
43
- readonly _tag: Schema.Literal<"Engine">;
44
- readonly kind: Schema.String;
45
- readonly message: Schema.String;
46
- }>, Schema.Struct<{
47
- readonly _tag: Schema.Literal<"InvalidArgument">;
48
- readonly detail: Schema.optional<Schema.Struct<{
49
- readonly message: Schema.String;
50
- readonly diagnostic: Schema.optional<Schema.Struct<{
51
- readonly code: Schema.Literals<readonly ["InvalidValue", "InvalidRecord", "UnknownField", "MissingField", "InvalidDeclaration", "InvalidQuery"]>;
52
- readonly context: Schema.String;
53
- readonly expected: Schema.String;
54
- }>>;
55
- }>>;
56
- }>, Schema.Struct<{
57
- readonly _tag: Schema.Literals<("Cancelled" | "ClosedHandle" | "DirectoryBusy" | "ForeignRuntime" | "Internal" | "InvalidPath" | "QueueFull" | "RuntimeAlreadyLive" | "SpentHandle" | "WriterBusy")[]>;
58
- }>]>;
59
- }>, import("effect/Cause").YieldableError>;
60
- export declare class DbError extends DbError_base {
61
- get code(): "Cancelled" | "ClosedHandle" | "DirectoryBusy" | "Engine" | "ForeignRuntime" | "Internal" | "InvalidArgument" | "InvalidPath" | "Io" | "QueueFull" | "ResourceLimit" | "RuntimeAlreadyLive" | "SpentHandle" | "WriterBusy";
62
- /** Safe default display; callers explicitly inspect structured detail. */
63
- get message(): string;
64
- }
65
- export declare function dbError(operation: string, cause: unknown): DbError;
66
- /** Host input failures retain authoring details without displaying values. */
67
- export declare function argumentError(operation: string, cause: unknown): DbError;
68
- declare const Outstanding: Schema.Struct<{
69
- readonly phase: Schema.Literals<readonly ["open", "closing", "closed"]>;
70
- readonly queued: Schema.BigInt;
71
- readonly active: Schema.BigInt;
72
- readonly retained: Schema.BigInt;
73
- readonly owners: Schema.BigInt;
74
- readonly databases: Schema.BigInt;
75
- readonly natives: Schema.BigInt;
76
- }>;
77
- export type OutstandingWork = typeof Outstanding.Type;
78
- declare const Close: Schema.Union<readonly [Schema.Struct<{
79
- readonly kind: Schema.Literal<"closed">;
80
- }>, Schema.Struct<{
81
- readonly kind: Schema.Literal<"incomplete">;
82
- readonly outstanding: Schema.Struct<{
83
- readonly phase: Schema.Literals<readonly ["open", "closing", "closed"]>;
84
- readonly queued: Schema.BigInt;
85
- readonly active: Schema.BigInt;
86
- readonly retained: Schema.BigInt;
87
- readonly owners: Schema.BigInt;
88
- readonly databases: Schema.BigInt;
89
- readonly natives: Schema.BigInt;
90
- }>;
91
- }>, Schema.Struct<{
92
- readonly kind: Schema.Literal<"failed">;
93
- readonly error: typeof DbError;
94
- }>]>;
95
- export type CloseReport = typeof Close.Type;
96
- declare const CloseFailure_base: Schema.Class<CloseFailure, Schema.TaggedStruct<"CloseFailure", {
97
- readonly operation: Schema.String;
98
- readonly report: Schema.Union<readonly [Schema.Struct<{
99
- readonly kind: Schema.Literal<"closed">;
100
- }>, Schema.Struct<{
101
- readonly kind: Schema.Literal<"incomplete">;
102
- readonly outstanding: Schema.Struct<{
103
- readonly phase: Schema.Literals<readonly ["open", "closing", "closed"]>;
104
- readonly queued: Schema.BigInt;
105
- readonly active: Schema.BigInt;
106
- readonly retained: Schema.BigInt;
107
- readonly owners: Schema.BigInt;
108
- readonly databases: Schema.BigInt;
109
- readonly natives: Schema.BigInt;
110
- }>;
111
- }>, Schema.Struct<{
112
- readonly kind: Schema.Literal<"failed">;
113
- readonly error: typeof DbError;
114
- }>]>;
115
- }>, import("effect/Cause").YieldableError>;
116
- export declare class CloseFailure extends CloseFailure_base {
117
- }
118
- //# sourceMappingURL=runtime-errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-errors.d.ts","sourceRoot":"","sources":["../src/runtime-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAoCrD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;IAA0E,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAC/F,qBAAa,OAAQ,SAAQ,YAG3B;IACD,IAAI,IAAI,+NAEP;IACD,0EAA0E;IAC1E,IAAa,OAAO,IAAI,MAAM,CAE7B;CACD;AAGD,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAkBlE;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAUxE;AAED,QAAA,MAAM,WAAW;;;;;;;;EAQf,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AACrD,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;IAIT,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;AAE3C,qBAAa,YAAa,SAAQ,iBAGhC;CAAG"}
@@ -1,98 +0,0 @@
1
- import { Schema } from "effect";
2
- import { AuthoringDiagnostic, AuthoringError } from "#errors.ts";
3
- import { runtimeErrorCodes } from "#runtime-codes.ts";
4
- export { runtimeErrorCodes } from "#runtime-codes.ts";
5
- const ResourceLimit = Schema.Struct({
6
- _tag: Schema.Literal("ResourceLimit"),
7
- dimension: Schema.String,
8
- used: Schema.BigInt,
9
- requested: Schema.BigInt,
10
- limit: Schema.BigInt
11
- });
12
- const PlainReason = Schema.Struct({
13
- _tag: Schema.Literals(runtimeErrorCodes.filter((code) => code !== "ResourceLimit" && code !== "Io" && code !== "Engine" && code !== "InvalidArgument"))
14
- });
15
- const InvalidArgument = Schema.Struct({
16
- _tag: Schema.Literal("InvalidArgument"),
17
- detail: Schema.optional(Schema.Struct({
18
- message: Schema.String,
19
- diagnostic: Schema.optional(AuthoringDiagnostic)
20
- }))
21
- });
22
- const Io = Schema.Struct({
23
- _tag: Schema.Literal("Io"),
24
- kind: Schema.String,
25
- osCode: Schema.optional(Schema.Number)
26
- });
27
- /** A typed engine refusal crossing the executor: core family tag + message. */
28
- const Engine = Schema.Struct({
29
- _tag: Schema.Literal("Engine"),
30
- kind: Schema.String,
31
- message: Schema.String
32
- });
33
- export const DbReason = Schema.Union([ResourceLimit, Io, Engine, InvalidArgument, PlainReason]);
34
- export class DbError extends Schema.TaggedError()("DbError", {
35
- operation: Schema.String,
36
- reason: DbReason
37
- }) {
38
- get code() {
39
- return this.reason._tag;
40
- }
41
- /** Safe default display; callers explicitly inspect structured detail. */
42
- get message() {
43
- return `${this.operation}: ${this.code}`;
44
- }
45
- }
46
- const decodeReason = Schema.decodeUnknownOption(DbReason);
47
- export function dbError(operation, cause) {
48
- if (cause instanceof DbError)
49
- return cause;
50
- if (cause instanceof AuthoringError)
51
- return argumentError(operation, cause);
52
- const decoded = decodeReason(cause);
53
- if (decoded._tag === "Some")
54
- return new DbError({ operation, reason: decoded.value });
55
- // Synchronous native schema/marshalling refusals precede the executor's
56
- // tagged error wire. Preserve their engine family instead of losing it.
57
- if (typeof cause === "object" &&
58
- cause !== null &&
59
- "kind" in cause &&
60
- typeof cause.kind === "string" &&
61
- "message" in cause &&
62
- typeof cause.message === "string") {
63
- return new DbError({ operation, reason: { _tag: "Engine", kind: cause.kind, message: cause.message } });
64
- }
65
- return new DbError({ operation, reason: { _tag: "Internal" } });
66
- }
67
- /** Host input failures retain authoring details without displaying values. */
68
- export function argumentError(operation, cause) {
69
- if (cause instanceof DbError)
70
- return cause;
71
- if (cause instanceof AuthoringError) {
72
- const detail = cause.diagnostic === undefined
73
- ? { message: cause.message }
74
- : { message: cause.message, diagnostic: cause.diagnostic };
75
- return new DbError({ operation, reason: { _tag: "InvalidArgument", detail } });
76
- }
77
- return new DbError({ operation, reason: { _tag: "InvalidArgument" } });
78
- }
79
- const Outstanding = Schema.Struct({
80
- phase: Schema.Literals(["open", "closing", "closed"]),
81
- queued: Schema.BigInt,
82
- active: Schema.BigInt,
83
- retained: Schema.BigInt,
84
- owners: Schema.BigInt,
85
- databases: Schema.BigInt,
86
- natives: Schema.BigInt
87
- });
88
- const Close = Schema.Union([
89
- Schema.Struct({ kind: Schema.Literal("closed") }),
90
- Schema.Struct({ kind: Schema.Literal("incomplete"), outstanding: Outstanding }),
91
- Schema.Struct({ kind: Schema.Literal("failed"), error: DbError })
92
- ]);
93
- export class CloseFailure extends Schema.TaggedError()("CloseFailure", {
94
- operation: Schema.String,
95
- report: Close
96
- }) {
97
- }
98
- //# sourceMappingURL=runtime-errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-errors.js","sourceRoot":"","sources":["../src/runtime-errors.ts"],"names":[],"mappings":"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"}