@bjornpagen/bumbledb 0.3.0 → 0.4.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 (66) hide show
  1. package/COOKBOOK.md +66 -46
  2. package/README.md +28 -15
  3. package/dist/closed.d.ts +50 -73
  4. package/dist/closed.d.ts.map +1 -1
  5. package/dist/closed.js +38 -109
  6. package/dist/closed.js.map +1 -1
  7. package/dist/db.d.ts +4 -1
  8. package/dist/db.d.ts.map +1 -1
  9. package/dist/db.js +26 -3
  10. package/dist/db.js.map +1 -1
  11. package/dist/face.d.ts +39 -39
  12. package/dist/face.d.ts.map +1 -1
  13. package/dist/face.js +7 -16
  14. package/dist/face.js.map +1 -1
  15. package/dist/fields.d.ts +28 -14
  16. package/dist/fields.d.ts.map +1 -1
  17. package/dist/fields.js +15 -14
  18. package/dist/fields.js.map +1 -1
  19. package/dist/index.d.ts +2 -2
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/marshal.d.ts +33 -6
  24. package/dist/marshal.d.ts.map +1 -1
  25. package/dist/marshal.js +67 -6
  26. package/dist/marshal.js.map +1 -1
  27. package/dist/query/atom.d.ts +59 -14
  28. package/dist/query/atom.d.ts.map +1 -1
  29. package/dist/query/atom.js +3 -0
  30. package/dist/query/atom.js.map +1 -1
  31. package/dist/query/lower.d.ts.map +1 -1
  32. package/dist/query/lower.js +251 -26
  33. package/dist/query/lower.js.map +1 -1
  34. package/dist/query/run.d.ts +15 -5
  35. package/dist/query/run.d.ts.map +1 -1
  36. package/dist/query/run.js +26 -6
  37. package/dist/query/run.js.map +1 -1
  38. package/dist/query/scope.d.ts +35 -13
  39. package/dist/query/scope.d.ts.map +1 -1
  40. package/dist/query/scope.js +16 -4
  41. package/dist/query/scope.js.map +1 -1
  42. package/dist/relation.d.ts +8 -7
  43. package/dist/relation.d.ts.map +1 -1
  44. package/dist/relation.js +32 -10
  45. package/dist/relation.js.map +1 -1
  46. package/dist/spec.d.ts +3 -2
  47. package/dist/spec.d.ts.map +1 -1
  48. package/dist/spec.js.map +1 -1
  49. package/dist/statements.d.ts +10 -4
  50. package/dist/statements.d.ts.map +1 -1
  51. package/dist/statements.js +79 -7
  52. package/dist/statements.js.map +1 -1
  53. package/package.json +2 -2
  54. package/src/closed.ts +72 -179
  55. package/src/db.ts +42 -5
  56. package/src/face.ts +34 -45
  57. package/src/fields.ts +46 -34
  58. package/src/index.ts +1 -2
  59. package/src/marshal.ts +74 -7
  60. package/src/query/atom.ts +58 -15
  61. package/src/query/lower.ts +301 -28
  62. package/src/query/run.ts +26 -6
  63. package/src/query/scope.ts +49 -15
  64. package/src/relation.ts +45 -17
  65. package/src/spec.ts +3 -2
  66. package/src/statements.ts +86 -7
@@ -79,6 +79,45 @@ function matchFieldsOf(owner) {
79
79
  }
80
80
  return owner.data.fields;
81
81
  }
82
+ /**
83
+ * Judges one membership ARRAY at a binding position — legal exactly at a
84
+ * CLOSED-reference field (the owner ruling: ordinary u64/str membership is
85
+ * spelled through `r.inSet` params; literal arrays are the closed
86
+ * vocabulary's spelling), holding ≥ 2 DISTINCT handle names (the
87
+ * degenerate sets are refusals: empty selects nothing, one element is the
88
+ * bare literal respelled, and a duplicate member is the same respelling in
89
+ * disguise — write each member once). The returned name is
90
+ * CONTENT-ADDRESSED (vocabulary + the member SET — the key sorts a copy,
91
+ * so two spellings of one set, reordered or not, share one dense
92
+ * `ParamId`); the members are shape-checked strings here and
93
+ * roster-verified at the one verification point (`taggedHandleId`) when
94
+ * the SDK supplies the set at execute — the same moment a bound `r.inSet`
95
+ * param's members are judged.
96
+ */
97
+ function membershipSet(context, field, value) {
98
+ if (!("closed" in field)) {
99
+ throw errors.new(`${context}: a membership array is the closed-reference spelling — ordinary field membership is a bound ∈-set param (r.inSet)`);
100
+ }
101
+ if (value.length === 0) {
102
+ throw errors.new(`${context}: an empty membership array selects nothing — write the query you mean`);
103
+ }
104
+ if (value.length === 1) {
105
+ throw errors.new(`${context}: a one-element membership array is the bare literal respelled — write the literal (the canonical-utterance law: one meaning, one spelling)`);
106
+ }
107
+ const seen = new Set();
108
+ const members = value.map(function memberName(member) {
109
+ if (typeof member !== "string") {
110
+ throw literalShapeError(context, `a ${field.closed.name} handle name (string)`, member);
111
+ }
112
+ if (seen.has(member)) {
113
+ throw errors.new(`${context}: the membership array spells ${member} twice — write it once (the canonical-utterance law: one meaning, one spelling)`);
114
+ }
115
+ seen.add(member);
116
+ return member;
117
+ });
118
+ const key = [...members].sort();
119
+ return { name: `∈ ${field.closed.name} ${JSON.stringify(key)}`, members: Object.freeze(members) };
120
+ }
82
121
  /**
83
122
  * Resolves a bindings record against an atom owner's matchable fields (a
84
123
  * relation's declared fields; a closed relation's sealed id + columns), in
@@ -115,12 +154,24 @@ function resolveBindings(context, relation, bindings, classes) {
115
154
  }
116
155
  case "param": {
117
156
  bound = Object.freeze({ kind: "param", name: value.name });
118
- uses.push(Object.freeze({ name: value.name, shape: "value", anchor: declared.field, op: "binding" }));
157
+ uses.push(Object.freeze({
158
+ name: value.name,
159
+ shape: "value",
160
+ anchor: declared.field,
161
+ op: "binding",
162
+ members: undefined
163
+ }));
119
164
  break;
120
165
  }
121
166
  case "setParam": {
122
167
  bound = Object.freeze({ kind: "setParam", name: value.name });
123
- uses.push(Object.freeze({ name: value.name, shape: "set", anchor: declared.field, op: "binding" }));
168
+ uses.push(Object.freeze({
169
+ name: value.name,
170
+ shape: "set",
171
+ anchor: declared.field,
172
+ op: "binding",
173
+ members: undefined
174
+ }));
124
175
  break;
125
176
  }
126
177
  case "maskParam":
@@ -129,6 +180,17 @@ function resolveBindings(context, relation, bindings, classes) {
129
180
  throw errors.new(`${context}.${fieldName}: the measure is not a field-typed value — it lives in comparisons and select entries`);
130
181
  }
131
182
  }
183
+ else if (Array.isArray(value)) {
184
+ const set = membershipSet(`${context}.${fieldName}`, declared.field, value);
185
+ bound = Object.freeze({ kind: "literalSet", name: set.name, members: set.members });
186
+ uses.push(Object.freeze({
187
+ name: set.name,
188
+ shape: "set",
189
+ anchor: declared.field,
190
+ op: "binding",
191
+ members: set.members
192
+ }));
193
+ }
132
194
  else {
133
195
  bound = Object.freeze({ kind: "literal", value });
134
196
  }
@@ -207,7 +269,8 @@ function sideUses(op, side, sibling, varFields, uses) {
207
269
  name: side.name,
208
270
  shape: side.kind === "param" ? "value" : "set",
209
271
  anchor,
210
- op
272
+ op,
273
+ members: undefined
211
274
  }));
212
275
  }
213
276
  /** Lowers one condition VALUE to its runtime data, recording param uses. */
@@ -225,7 +288,13 @@ function condDataOf(cond, varFields, uses) {
225
288
  }
226
289
  else if (isTerm(maskValue) && maskValue[term] === "maskParam") {
227
290
  mask = Object.freeze({ kind: "param", name: maskValue.name });
228
- uses.push(Object.freeze({ name: maskValue.name, shape: "mask", anchor: undefined, op: "allen" }));
291
+ uses.push(Object.freeze({
292
+ name: maskValue.name,
293
+ shape: "mask",
294
+ anchor: undefined,
295
+ op: "allen",
296
+ members: undefined
297
+ }));
229
298
  }
230
299
  else {
231
300
  throw errors.new("allen: the mask position takes a 13-bit mask number or a maskParam");
@@ -286,14 +355,27 @@ function advanceIdb(state, rec, vars) {
286
355
  function isAggregateEntry(value) {
287
356
  return typeof value === "object" && value !== null && "agg" in value;
288
357
  }
289
- /** Classifies one select entry into its named answer column. */
358
+ /**
359
+ * Classifies one select entry into its named answer column. The `closed`
360
+ * slice is resolved LATER, at rule completion (`completeRule`), where the
361
+ * rule's `varFields` are in hand — until then every column is provisionally
362
+ * bare.
363
+ */
290
364
  function selectColumnOf(entry) {
291
365
  if (typeof entry === "string") {
292
- return Object.freeze({ name: entry, entry: Object.freeze({ kind: "var", over: entry }) });
366
+ return Object.freeze({
367
+ name: entry,
368
+ entry: Object.freeze({ kind: "var", over: entry }),
369
+ closed: undefined
370
+ });
293
371
  }
294
372
  if (isTerm(entry)) {
295
373
  if (entry[term] === "duration") {
296
- return Object.freeze({ name: entry.name, entry: Object.freeze({ kind: "measure", over: entry.name }) });
374
+ return Object.freeze({
375
+ name: entry.name,
376
+ entry: Object.freeze({ kind: "measure", over: entry.name }),
377
+ closed: undefined
378
+ });
297
379
  }
298
380
  throw errors.new(`query select: a ${entry[term]} is not projectable — select takes variable names, duration(v), or aggregates`);
299
381
  }
@@ -305,7 +387,11 @@ function selectColumnOf(entry) {
305
387
  /** Classifies one aggregate select entry. */
306
388
  function aggregateColumnOf(entry) {
307
389
  function column(name, agg) {
308
- return Object.freeze({ name, entry: Object.freeze({ kind: "aggregate", agg: Object.freeze(agg) }) });
390
+ return Object.freeze({
391
+ name,
392
+ entry: Object.freeze({ kind: "aggregate", agg: Object.freeze(agg) }),
393
+ closed: undefined
394
+ });
309
395
  }
310
396
  const over = entry.over;
311
397
  switch (entry.agg) {
@@ -345,6 +431,22 @@ function aggregateColumnOf(entry) {
345
431
  throw errors.new(`unknown aggregate ${entry.agg}`);
346
432
  }
347
433
  }
434
+ /**
435
+ * The orderable ban's pointed refusal (`docs/architecture/10-data-model.md`
436
+ * § orderability): a closed reference is equality-and-membership only —
437
+ * its declaration-id order is an encoding accident, so every
438
+ * order-comparison and fold position refuses it. The construction-time
439
+ * twin of the type tier's `OrderVarOk` exclusion, so the wall holds for
440
+ * untyped callers too (the engine cannot backstop this one: the wire IR
441
+ * carries plain u64s, no rosters).
442
+ */
443
+ function closedOrderError(context, position, vocabulary) {
444
+ return errors.new(`${context}: ${position} is a ${vocabulary} reference — declaration order is an accident, not semantics: vocabularies do not order (docs/architecture/10-data-model.md; equality, membership, and counting remain)`);
445
+ }
446
+ /** The comparison ops the orderable ban covers (order roster + point membership — every order-comparison position). */
447
+ function isOrderOp(op) {
448
+ return op === "lt" || op === "le" || op === "gt" || op === "ge" || op === "pointIn";
449
+ }
348
450
  /** Requires a var name to be bound by a relation atom of the rule. */
349
451
  function assertBound(context, varFields, name) {
350
452
  const slot = varFields[name];
@@ -373,7 +475,10 @@ function validateCond(context, varFields, cond) {
373
475
  if (cond.kind === "cmp") {
374
476
  for (const side of [cond.lhs, cond.rhs]) {
375
477
  if (side.kind === "var") {
376
- assertBound(context, varFields, side.name);
478
+ const slot = assertBound(context, varFields, side.name);
479
+ if (isOrderOp(cond.op) && "closed" in slot.field) {
480
+ throw closedOrderError(context, `the ${cond.op} side ${side.name}`, slot.field.closed.name);
481
+ }
377
482
  }
378
483
  if (side.kind === "measure") {
379
484
  assertIntervalBound(context, varFields, side.name);
@@ -412,21 +517,58 @@ function validateColumn(context, varFields, column) {
412
517
  return;
413
518
  case "fold": {
414
519
  if (typeof agg.over === "string") {
415
- assertBound(`${context} select ${column.name}`, varFields, agg.over);
520
+ const slot = assertBound(`${context} select ${column.name}`, varFields, agg.over);
521
+ if ("closed" in slot.field) {
522
+ throw closedOrderError(`${context} select ${column.name}`, `the ${agg.fold} input ${agg.over}`, slot.field.closed.name);
523
+ }
416
524
  return;
417
525
  }
418
526
  assertIntervalBound(`${context} select ${column.name}`, varFields, agg.over.duration);
419
527
  return;
420
528
  }
421
- case "arg":
529
+ case "arg": {
422
530
  assertBound(`${context} select ${column.name}`, varFields, agg.over);
423
- assertBound(`${context} select ${column.name}`, varFields, agg.key);
531
+ const key = assertBound(`${context} select ${column.name}`, varFields, agg.key);
532
+ if ("closed" in key.field) {
533
+ throw closedOrderError(`${context} select ${column.name}`, `the ${agg.direction} key ${agg.key}`, key.field.closed.name);
534
+ }
424
535
  return;
536
+ }
425
537
  case "pack":
426
538
  assertIntervalBound(`${context} select ${column.name}`, varFields, agg.over);
427
539
  return;
428
540
  }
429
541
  }
542
+ /**
543
+ * Resolves the roster one select column decodes through: a projected var,
544
+ * or an Arg-carried payload, bound at a closed-referencing field carries
545
+ * that field's roster (read off `varFields` — the same slot the domain
546
+ * machinery reads), and `decodeAnswers` lifts the column's row ids back to
547
+ * handle NAMES through it — the runtime twin of the row type's `Infer`
548
+ * claim. Every other entry decodes bare: counts are counts, the measure
549
+ * and `pack` are never closed, and a closed FOLD is banned outright
550
+ * ({@link closedOrderError}) before this resolution runs.
551
+ */
552
+ function selectClosedOf(varFields, entry) {
553
+ let over;
554
+ if (entry.kind === "var") {
555
+ over = entry.over;
556
+ }
557
+ else if (entry.kind === "aggregate" && entry.agg.op === "arg") {
558
+ over = entry.agg.over;
559
+ }
560
+ else {
561
+ over = undefined;
562
+ }
563
+ if (over === undefined) {
564
+ return undefined;
565
+ }
566
+ const field = varFields[over]?.field;
567
+ if (field !== undefined && "closed" in field) {
568
+ return field.closed;
569
+ }
570
+ return undefined;
571
+ }
430
572
  /**
431
573
  * Completes one rule: classifies the select record (written order = answer
432
574
  * column order, names must be declaration-order-safe keys), and validates
@@ -485,7 +627,13 @@ function completeRule(context, state, columns) {
485
627
  }
486
628
  return Object.freeze({
487
629
  items: state.items,
488
- select: Object.freeze([...columns]),
630
+ select: Object.freeze(columns.map(function enrichColumn(column) {
631
+ return Object.freeze({
632
+ name: column.name,
633
+ entry: column.entry,
634
+ closed: selectClosedOf(state.varFields, column.entry)
635
+ });
636
+ })),
489
637
  varFields: state.varFields,
490
638
  paramUses: state.paramUses
491
639
  });
@@ -588,6 +736,10 @@ function makeOutputRuleScope(program) {
588
736
  }
589
737
  return raw;
590
738
  }
739
+ /** Renders one head column's closed slice for the rule-alignment check's diagnostics. */
740
+ function renderClosedSlice(closed) {
741
+ return closed === undefined ? "a bare value" : `a ${closed.name} reference`;
742
+ }
591
743
  /** Renders one head column's signature for the rule-alignment check. */
592
744
  function headSignature(column) {
593
745
  const entry = column.entry;
@@ -603,11 +755,36 @@ function headSignature(column) {
603
755
  }
604
756
  return `${column.name}:${agg.op}`;
605
757
  }
758
+ /** The roster a param anchor carries: present exactly on a closed-reference field anchor. */
759
+ function anchorRosterOf(anchor) {
760
+ if (anchor === undefined || anchor === "measure") {
761
+ return undefined;
762
+ }
763
+ if ("closed" in anchor) {
764
+ return anchor.closed;
765
+ }
766
+ return undefined;
767
+ }
768
+ /** Renders one param anchor's closedness for the registry's coherence diagnostics. */
769
+ function renderParamAnchor(roster) {
770
+ return roster === undefined ? "a non-closed position" : `a ${roster.name} reference`;
771
+ }
606
772
  /**
607
773
  * Folds every rule's param uses (recs in declaration order first, output
608
774
  * rules last — exactly the lowering walk) into the query's registry:
609
775
  * first use mints the dense `ParamId`, the first FIELD-ANCHORED use types
610
- * the wire, and one name must keep one shape.
776
+ * the wire, and one name must keep one shape AND one closedness — every
777
+ * anchored use of one name must agree on the roster (value identity), so a
778
+ * param anchored at a closed reference is GUARANTEED to ride the one
779
+ * roster-verification point (`taggedHandleId`) at execute; a name anchored
780
+ * both at a closed reference and at a non-closed position (or at two
781
+ * vocabularies) is refused here, because the wire would translate only the
782
+ * first anchor's reading (the type tier intersects the uses to `never`;
783
+ * this is its runtime twin for untyped callers). A param whose anchor is a
784
+ * CLOSED reference must never sit in an order-comparison position — the
785
+ * anchor types its value a handle name and the engine would order the
786
+ * translated row ids, so the pairing is refused here too (the registry is
787
+ * the one place a name's every use and its anchoring field meet).
611
788
  */
612
789
  function paramRegistryOf(recs, rules) {
613
790
  const order = [];
@@ -617,16 +794,35 @@ function paramRegistryOf(recs, rules) {
617
794
  const existing = byName.get(use.name);
618
795
  if (existing === undefined) {
619
796
  order.push(use.name);
620
- byName.set(use.name, { shape: use.shape, anchor: use.anchor, op: use.op });
797
+ byName.set(use.name, {
798
+ shape: use.shape,
799
+ anchor: use.anchor,
800
+ op: use.op,
801
+ members: use.members,
802
+ orderOp: isOrderOp(use.op) ? use.op : undefined
803
+ });
621
804
  continue;
622
805
  }
806
+ if ((existing.members === undefined) !== (use.members === undefined)) {
807
+ throw errors.new(`query param ${use.name} collides with a membership array's registry entry — name the param differently`);
808
+ }
623
809
  if (existing.shape !== use.shape) {
624
810
  throw errors.new(`query param ${use.name} is used both as a ${existing.shape} param and a ${use.shape} param — one name, one shape`);
625
811
  }
812
+ if (existing.anchor !== undefined && use.anchor !== undefined) {
813
+ const registered = anchorRosterOf(existing.anchor);
814
+ const anchored = anchorRosterOf(use.anchor);
815
+ if (registered !== anchored) {
816
+ throw errors.new(`query param ${use.name} is anchored at ${renderParamAnchor(registered)} and at ${renderParamAnchor(anchored)} — a closed-anchored param translates handle names through ONE roster (one name, one domain); name the params differently`);
817
+ }
818
+ }
626
819
  if (existing.anchor === undefined && use.anchor !== undefined) {
627
820
  existing.anchor = use.anchor;
628
821
  existing.op = use.op;
629
822
  }
823
+ if (existing.orderOp === undefined && isOrderOp(use.op)) {
824
+ existing.orderOp = use.op;
825
+ }
630
826
  }
631
827
  }
632
828
  for (const rec of recs) {
@@ -642,7 +838,13 @@ function paramRegistryOf(recs, rules) {
642
838
  if (entry === undefined) {
643
839
  throw errors.new(`query param ${name} lost its registry entry`);
644
840
  }
645
- return Object.freeze({ name, shape: entry.shape, anchor: entry.anchor, op: entry.op });
841
+ if (entry.orderOp !== undefined &&
842
+ entry.anchor !== undefined &&
843
+ entry.anchor !== "measure" &&
844
+ "closed" in entry.anchor) {
845
+ throw closedOrderError(`query param ${name}`, `its ${entry.orderOp} use's anchor`, entry.anchor.closed.name);
846
+ }
847
+ return Object.freeze({ name, shape: entry.shape, anchor: entry.anchor, op: entry.op, members: entry.members });
646
848
  }));
647
849
  }
648
850
  /**
@@ -662,6 +864,17 @@ function makeRawQuery(theory, recs, rules) {
662
864
  if (candidate !== signature) {
663
865
  throw errors.new(`every rule of a query derives the same head — rule 0 selects (${signature}), rule ${index} selects (${candidate})`);
664
866
  }
867
+ // The closed slice is part of the head too: one answer column decodes
868
+ // through one roster, so a union whose rules bind a column at
869
+ // different vocabularies (or one closed, one bare — the ids would
870
+ // mistranslate silently) is refused pointed. Vocabulary identity is
871
+ // value identity, the SDK's membership rule everywhere.
872
+ rule.select.forEach(function verifyClosedSlice(column, position) {
873
+ const lead = first.select[position];
874
+ if (lead !== undefined && column.closed !== lead.closed) {
875
+ throw errors.new(`every rule of a query derives the same head — the answer column ${lead.name} is ${renderClosedSlice(lead.closed)} in rule 0 but ${renderClosedSlice(column.closed)} in rule ${index} (one column decodes through one roster)`);
876
+ }
877
+ });
665
878
  });
666
879
  const data = Object.freeze({
667
880
  recs: Object.freeze([...recs]),
@@ -727,19 +940,24 @@ function isIntervalShaped(value) {
727
940
  typeof value.end === "bigint");
728
941
  }
729
942
  /**
730
- * Tags one closed-reference literal: the bare handle id, verified against
731
- * the roster (the belt the type level cannot provide — structural values
732
- * make any bigint spellable here) and tagged u64 — queries cross ids,
733
- * never handle names.
943
+ * Tags one closed-reference literal: the handle NAME, verified against the
944
+ * roster (the belt the wide fallback type cannot provide — structural
945
+ * values make any string spellable here) and translated to its
946
+ * declaration-order row id, tagged u64 — queries cross ids, never handle
947
+ * names; the wire is untouched. THE single roster-verification point of
948
+ * the query surface: atom-binding literals, comparison literals,
949
+ * execute-time params, and membership-array members all reach it (never
950
+ * duplicate the check per call site).
734
951
  */
735
952
  function taggedHandleId(context, closed, value) {
736
- if (typeof value !== "bigint") {
737
- throw literalShapeError(context, `a ${closed.name} handle id (bigint)`, value);
953
+ if (typeof value !== "string") {
954
+ throw literalShapeError(context, `a ${closed.name} handle name (string)`, value);
738
955
  }
739
- if (closed.handles[Number(value)] === undefined) {
740
- throw errors.new(`${context}: closed relation ${closed.name} has no handle with id ${value} (roster holds ${closed.handles.length})`);
956
+ const id = closed.handles.indexOf(value);
957
+ if (id < 0) {
958
+ throw errors.new(`${context}: "${value}" is not a handle of ${closed.name} — the roster is ${closed.handles.join(", ")}`);
741
959
  }
742
- return { kind: "u64", value };
960
+ return { kind: "u64", value: BigInt(id) };
743
961
  }
744
962
  /**
745
963
  * Tags one literal in an interval element domain: a bigint tags as the
@@ -890,7 +1108,12 @@ function lowerAtom(ctx, atom, ids) {
890
1108
  });
891
1109
  return { source: { kind: "edb", relation: relationId }, bindings };
892
1110
  }
893
- /** Lowers one binding term. */
1111
+ /**
1112
+ * Lowers one binding term. A membership ARRAY (`literalSet`) lowers to the
1113
+ * existing param-set term over its content-addressed registry entry — the
1114
+ * program IR is byte-identical to the same set spelled `r.inSet`; the SDK
1115
+ * supplies the translated member set itself at execute (`wireParams`).
1116
+ */
894
1117
  function lowerBindingTerm(ctx, context, binding, ids) {
895
1118
  const bound = binding.term;
896
1119
  switch (bound.kind) {
@@ -900,6 +1123,8 @@ function lowerBindingTerm(ctx, context, binding, ids) {
900
1123
  return { kind: "param", param: paramIdOf(ctx, bound.name) };
901
1124
  case "setParam":
902
1125
  return { kind: "paramSet", param: paramIdOf(ctx, bound.name) };
1126
+ case "literalSet":
1127
+ return { kind: "paramSet", param: paramIdOf(ctx, bound.name) };
903
1128
  case "literal":
904
1129
  return { kind: "literal", value: taggedLiteral(context, binding.data, bound.value) };
905
1130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lower.js","sourceRoot":"","sources":["../../src/query/lower.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lower.js","sourceRoot":"","sources":["../../src/query/lower.ts"],"names":[],"mappings":"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"}