@spotto/semantic-query 1.0.70-alpha.21 → 1.0.70-alpha.23

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.
package/dist/evaluate.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.evaluateSemanticQuery = void 0;
4
4
  // Project Dependencies
5
5
  const dates_1 = require("./dates");
6
+ const resolve_name_1 = require("./resolve-name");
6
7
  const validate_1 = require("./validate");
7
8
  const SLOT = {
8
9
  STRING: 'valueString',
@@ -57,9 +58,96 @@ function match(doc, cond, ctx) {
57
58
  return cond.conditions.every((c) => match(doc, c, ctx));
58
59
  if (cond.type === 'or')
59
60
  return cond.conditions.some((c) => match(doc, c, ctx));
60
- return ctx.entityType === 'location'
61
- ? matchLocation(doc, cond, ctx)
62
- : matchAsset(doc, cond, ctx);
61
+ if (ctx.entityType === 'location') {
62
+ return matchLocation(doc, cond, ctx);
63
+ }
64
+ if (ctx.entityType === 'event') {
65
+ return matchEvent(doc, cond, ctx);
66
+ }
67
+ return matchAsset(doc, cond, ctx);
68
+ }
69
+ /**
70
+ * Reads the SERVER event document. Events are never evaluated in the browser —
71
+ * the client caches query RESULTS, not events, so there is no corpus to run
72
+ * over. This matcher exists as the ORACLE: the acceptance property
73
+ * `evaluate(q, docs) === find(compile(q))` is what catches an encoding mistake
74
+ * in the Mongo compiler, and an entity with no second implementation has
75
+ * nothing checking it but the person who wrote it.
76
+ *
77
+ * The three name-resolved words compare against the ids VALIDATION already
78
+ * resolved, from the same catalogue the compiler uses — so the two engines
79
+ * cannot disagree about who "Sarah" is.
80
+ */
81
+ function matchEvent(doc, cond, ctx) {
82
+ var _a, _b, _c, _d;
83
+ switch (cond.type) {
84
+ case 'occurred':
85
+ return cmpTimestamp(get(doc, 'timestamp'), cond.operator, cond.value, ctx);
86
+ case 'eventType':
87
+ return ((_a = cond.values) !== null && _a !== void 0 ? _a : []).includes(get(doc, 'type'));
88
+ case 'location': {
89
+ // The stored pipe path, exactly as a location document keeps it — events
90
+ // embed it under `location.name`.
91
+ const actual = String((_b = get(doc, 'location.name')) !== null && _b !== void 0 ? _b : '');
92
+ return cond.includeSublocations !== false
93
+ ? actual.startsWith(cond.path)
94
+ : actual === cond.path;
95
+ }
96
+ case 'reader':
97
+ return idIn(get(doc, 'reader._id'), resolvedIds(ctx.schema.readers, cond.name));
98
+ case 'user':
99
+ // A resolved user id inherently excludes system-generated events — Slate
100
+ // movements carry no user at all, and must never answer "what did X do".
101
+ return idIn(get(doc, 'user._id'), resolvedIds(ctx.schema.users, cond.name));
102
+ case 'action': {
103
+ // An action implies a submission, so both halves are checked — matching
104
+ // the compiler, which constrains the type for the same reason.
105
+ // Both submission types — see the compiler's note.
106
+ if (!SUBMISSION_EVENT_TYPES.includes(String(get(doc, 'type'))))
107
+ return false;
108
+ // Resolve ONCE — resolving inside the predicate re-ran it per action.
109
+ const ids = resolvedIds(ctx.schema.actions, cond.name);
110
+ const names = ((_c = ctx.schema.actions) !== null && _c !== void 0 ? _c : [])
111
+ .filter((a) => ids.includes(a.id))
112
+ .map((a) => a.name);
113
+ return names.includes(String((_d = get(doc, 'submission.actionName')) !== null && _d !== void 0 ? _d : ''));
114
+ }
115
+ default:
116
+ // LOUD, not false. This function is the ORACLE the Mongo compiler is
117
+ // checked against, and an oracle that silently matches nothing AGREES
118
+ // with a compiler that returns nothing — so a word added to the
119
+ // vocabulary and the compiler but forgotten here would let the
120
+ // differential check pass by both engines being wrong together.
121
+ throw new Error(`semantic-query evaluator has no arm for event condition ` +
122
+ `'${cond.type}'`);
123
+ }
124
+ }
125
+ /**
126
+ * An event's ONE timestamp against a boundary. No `includeNeverSet` branch:
127
+ * every event has a timestamp by construction, so there is no absent case to
128
+ * decide a polarity for.
129
+ */
130
+ function cmpTimestamp(actual, operator, value, ctx) {
131
+ if (actual === undefined || actual === null)
132
+ return false;
133
+ const ms = (0, dates_1.semanticDateBoundaryMs)(value, operator, ctx.now, ctx.tz);
134
+ return cmp(actual, operator, ms);
135
+ }
136
+ /** The event types that carry `submission.actionName`. */
137
+ const SUBMISSION_EVENT_TYPES = ['FormSubmitted', 'FormSubmissionVoided'];
138
+ /** Ids a name resolves to; empty when it does not resolve (validation refused it first). */
139
+ function resolvedIds(catalogue, name) {
140
+ return (0, resolve_name_1.resolveName)(catalogue, name, { path: '', noun: '' }).ids;
141
+ }
142
+ function idIn(actual, ids) {
143
+ // Case-insensitive: `String(ObjectId)` is lowercase hex, but a caller-built
144
+ // catalogue may carry uppercase (the wire's own id check accepts either).
145
+ // Comparing raw would make the ORACLE miss rows the compiler matches — and
146
+ // an oracle that under-matches agrees with a broken compiler.
147
+ if (actual == null)
148
+ return false;
149
+ const a = String(actual).toLowerCase();
150
+ return ids.some((id) => id.toLowerCase() === a);
63
151
  }
64
152
  /**
65
153
  * Reads the SERVER document shape, as the asset matcher does — a client
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -27,5 +27,6 @@
27
27
  export * from './types';
28
28
  export * from './dates';
29
29
  export * from './suggest';
30
+ export * from './resolve-name';
30
31
  export * from './validate';
31
32
  export * from './evaluate';
package/dist/index.js CHANGED
@@ -43,6 +43,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
43
43
  __exportStar(require("./types"), exports);
44
44
  __exportStar(require("./dates"), exports);
45
45
  __exportStar(require("./suggest"), exports);
46
+ __exportStar(require("./resolve-name"), exports);
46
47
  __exportStar(require("./validate"), exports);
47
48
  __exportStar(require("./evaluate"), exports);
48
49
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,0CAAuB;AACvB,0CAAuB;AACvB,4CAAyB;AACzB,6CAA0B;AAC1B,6CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,0CAAuB;AACvB,0CAAuB;AACvB,4CAAyB;AACzB,iDAA8B;AAC9B,6CAA0B;AAC1B,6CAA0B"}
@@ -0,0 +1,9 @@
1
+ import { SemanticNamedRef, SemanticValidationIssue } from './types';
2
+ export interface NameResolution {
3
+ ids: string[];
4
+ issue?: SemanticValidationIssue;
5
+ }
6
+ export declare function resolveName(catalogue: SemanticNamedRef[] | undefined, rawName: unknown, opts: {
7
+ path: string;
8
+ noun: string;
9
+ }): NameResolution;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveName = void 0;
4
+ /**
5
+ * Resolve a NAME to the ids it means — the one place a human word becomes a
6
+ * record reference.
7
+ *
8
+ * The ladder is exact → case-insensitive → unique partial, and it is
9
+ * deliberately conservative at every rung:
10
+ *
11
+ * - An EXACT match wins outright, even if partials also exist. "Bob" must not
12
+ * become ambiguous just because "Bobby" is also on staff.
13
+ * - Several records sharing one exact name resolve to ALL of them. Two people
14
+ * genuinely called "Sam Lee" is a data fact, not a question to ask; both are
15
+ * matched and the answer covers the name as asked.
16
+ * - A partial match is accepted ONLY when it is unique. "Bri" matching both
17
+ * "Brian" and "Brisbane Bob" is refused, with both named, because picking
18
+ * one would answer a different question and look exactly like an answer.
19
+ * - No match is refused with the nearest candidates offered.
20
+ *
21
+ * The failure modes are what make this safe to expose to a model. A regex
22
+ * fallback — which is what the prototype did for assets — would match whatever
23
+ * it happened to match, silently.
24
+ */
25
+ /**
26
+ * How many candidates an ambiguity message names. Enough to disambiguate a
27
+ * genuine near-miss, few enough that the error is not a directory listing.
28
+ */
29
+ const AMBIGUITY_EXAMPLES = 3;
30
+ /** Up to three nearest candidates by simple containment, for a suggestion. */
31
+ function nearest(catalogue, want) {
32
+ const needle = want.trim().toLowerCase();
33
+ if (!needle)
34
+ return undefined;
35
+ const hits = catalogue
36
+ .filter((r) => {
37
+ const n = r.name.toLowerCase();
38
+ return n.includes(needle.slice(0, 3)) || needle.includes(n.slice(0, 3));
39
+ })
40
+ .slice(0, 3)
41
+ .map((r) => { var _a; return (_a = r.label) !== null && _a !== void 0 ? _a : r.name; });
42
+ return hits.length ? `Did you mean: ${hits.join(', ')}?` : undefined;
43
+ }
44
+ function resolveName(catalogue, rawName, opts) {
45
+ const want = typeof rawName === 'string' ? rawName.trim() : '';
46
+ if (!want) {
47
+ return {
48
+ ids: [],
49
+ issue: {
50
+ code: 'BAD_SHAPE',
51
+ path: opts.path,
52
+ message: `${opts.noun} needs a name`,
53
+ },
54
+ };
55
+ }
56
+ const all = catalogue !== null && catalogue !== void 0 ? catalogue : [];
57
+ const lower = want.toLowerCase();
58
+ const exact = all.filter((r) => r.name.toLowerCase() === lower);
59
+ const partial = all.filter((r) => r.name.toLowerCase().includes(lower));
60
+ // Exact wins outright — a longer name that merely CONTAINS this one must not
61
+ // make an exact match ambiguous.
62
+ const hit = exact.length ? exact : partial;
63
+ if (!hit.length) {
64
+ return {
65
+ ids: [],
66
+ issue: Object.assign({ code: 'UNKNOWN_NAME', path: opts.path, message: `No ${opts.noun} called '${want}' in this organisation` }, (nearest(all, want) ? { suggestion: nearest(all, want) } : {})),
67
+ };
68
+ }
69
+ if (!exact.length && partial.length > 1) {
70
+ // NAMED, NOT ENUMERATED. Listing every match turns this message into a
71
+ // directory: the catalogue is org-scoped but not user-group scoped, and
72
+ // these endpoints are gated on `assets:view` rather than `users:view` — so
73
+ // an unbounded list let a confined field worker recover the whole staff
74
+ // roster one letter at a time. A handful of examples is what makes the
75
+ // error actionable; the rest is only useful to someone fishing.
76
+ const shown = partial.slice(0, AMBIGUITY_EXAMPLES).map((r) => { var _a; return (_a = r.label) !== null && _a !== void 0 ? _a : r.name; });
77
+ const rest = partial.length - shown.length;
78
+ return {
79
+ ids: [],
80
+ issue: {
81
+ code: 'AMBIGUOUS_NAME',
82
+ path: opts.path,
83
+ message: `'${want}' matches ${partial.length} ${opts.noun}s ` +
84
+ `(${shown.join(', ')}${rest > 0 ? `, and ${rest} more` : ''}) — be more specific`,
85
+ },
86
+ };
87
+ }
88
+ return { ids: [...new Set(hit.map((r) => r.id))] };
89
+ }
90
+ exports.resolveName = resolveName;
91
+ //# sourceMappingURL=resolve-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-name.js","sourceRoot":"","sources":["../src/resolve-name.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -33,11 +33,41 @@ export interface SemanticTypeDef {
33
33
  typeFieldValuesAll: SemanticTypeFieldValue[];
34
34
  }
35
35
  /**
36
- * What VALIDATION needs: field definitions only. The Mongo compiler needs no
37
- * more than this either — type-level values reach it through a `$lookup`.
36
+ * A NAMED record a condition can point at by name instead of by id.
37
+ *
38
+ * This is how the event vocabulary escapes the producer gap without repeating
39
+ * its mistake. An id cannot be asked of a model — it would be invented, and an
40
+ * invented id runs and matches nothing. A NAME can be asked for, but only if
41
+ * it is resolved against real records and an unresolvable or ambiguous one
42
+ * FAILS: the moment resolution silently picks a candidate, or falls back to a
43
+ * regex, it becomes the same silent-wrong-rows problem wearing a friendlier
44
+ * face.
45
+ *
46
+ * Safe here and not for assets purely because of cardinality. Users, readers
47
+ * and actions are small named catalogues that fit in a prompt and resolve
48
+ * unambiguously; assets number in the thousands and share name stems
49
+ * ("BC-A1" is a prefix of "BC-A10").
50
+ */
51
+ export interface SemanticNamedRef {
52
+ id: string;
53
+ name: string;
54
+ /** Shown to a user in a suggestion when the name does not resolve. */
55
+ label?: string;
56
+ }
57
+ /**
58
+ * What VALIDATION needs: field definitions, plus the named catalogues the
59
+ * event vocabulary resolves against. Empty catalogues are legitimate — a
60
+ * caller that never validates event conditions supplies none, and one that
61
+ * does gets an honest "no one called that" rather than a match on nothing.
38
62
  */
39
63
  export interface SemanticFieldCatalogue {
40
64
  fields: SemanticFieldDef[];
65
+ /** Organisation users — resolves `{type:'user', name}`. */
66
+ users?: SemanticNamedRef[];
67
+ /** Readers — resolves `{type:'reader', name}`. */
68
+ readers?: SemanticNamedRef[];
69
+ /** Form actions — resolves `{type:'action', name}`. */
70
+ actions?: SemanticNamedRef[];
41
71
  }
42
72
  /**
43
73
  * What EVALUATION needs: the catalogue plus types, because matching a
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAmEA,MAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAmB,MAAiC;QAClD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAD7B,WAAM,GAAN,MAAM,CAA2B;QAElD,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAA;IAC5C,CAAC;CACF;AALD,oEAKC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CACpC,IAAY,EACZ,IAAY,EACZ,OAAe,EACf,UAAmB;IAEnB,MAAM,IAAI,4BAA4B,CAAC;QACrC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;KAC3E,CAAC,CAAA;AACJ,CAAC;AATD,wDASC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAkGA,MAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAmB,MAAiC;QAClD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAD7B,WAAM,GAAN,MAAM,CAA2B;QAElD,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAA;IAC5C,CAAC;CACF;AALD,oEAKC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CACpC,IAAY,EACZ,IAAY,EACZ,OAAe,EACf,UAAmB;IAEnB,MAAM,IAAI,4BAA4B,CAAC;QACrC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;KAC3E,CAAC,CAAA;AACJ,CAAC;AATD,wDASC"}
package/dist/validate.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.queryUsesCustomFields = exports.validateSemanticQuery = exports.assertSemanticQuery = exports.coerceSemanticValue = exports.findSemanticField = exports.SEMANTIC_TIMESTAMP_FIELD = exports.SEMANTIC_VALUE_SLOT = void 0;
4
4
  const contract_1 = require("@spotto/contract");
5
5
  const suggest_1 = require("./suggest");
6
+ const resolve_name_1 = require("./resolve-name");
6
7
  const dates_1 = require("./dates");
7
8
  const types_1 = require("./types");
8
9
  /**
@@ -73,6 +74,19 @@ const ALLOWED_KEYS = {
73
74
  hasReaders: ['type', 'value'],
74
75
  geofence: ['type', 'exists'],
75
76
  manifest: ['type', 'manifestId'],
77
+ // Event vocabulary. `location` reuses the ASSET entry above (the location
78
+ // entity's own word is `path`) — the two happen to declare the same
79
+ // PROPERTIES, which is all this table checks, but they are NOT the same
80
+ // fact: an asset's `location` is where it is now, an event's is where it
81
+ // happened. `occurred` does NOT reuse TIMESTAMP_KEYS:
82
+ // `includeNeverSet` is meaningless when every event has a timestamp, and
83
+ // accepting a property that can never apply is how a query comes to say
84
+ // something the compiler ignores.
85
+ occurred: ['type', 'operator', 'value'],
86
+ eventType: ['type', 'values'],
87
+ reader: ['type', 'name'],
88
+ user: ['type', 'name'],
89
+ action: ['type', 'name'],
76
90
  };
77
91
  const HEX24 = /^[0-9a-fA-F]{24}$/;
78
92
  function checkProperties(cond, path) {
@@ -296,10 +310,69 @@ function checkLeaf(cond, ctx, path) {
296
310
  (0, types_1.failSemanticValidation)(path, 'BAD_MANIFEST_ID', 'manifest.manifestId must be a 24-hex manifest id');
297
311
  }
298
312
  return;
313
+ // --- Event vocabulary -------------------------------------------------
314
+ case 'occurred':
315
+ // Deliberately NOT `checkTimestamp`: that helper also permits
316
+ // `includeNeverSet`, which is meaningless when every event has a
317
+ // timestamp by construction.
318
+ if (!contract_1.semanticTimestampOperators.includes(cond.operator)) {
319
+ (0, types_1.failSemanticValidation)(path, 'BAD_OPERATOR', `occurred operator must be one of ${contract_1.semanticTimestampOperators.join(', ')}` +
320
+ ` — got '${cond.operator}'`, (0, suggest_1.nearest)(contract_1.semanticTimestampOperators, String(cond.operator)));
321
+ }
322
+ // Read through a widened local: `value` is non-optional in the
323
+ // contract, so comparing it to `undefined` narrows `cond` to `never` and
324
+ // every later reference stops compiling. The wire can still omit it.
325
+ {
326
+ const raw = cond.value;
327
+ if (raw === undefined) {
328
+ (0, types_1.failSemanticValidation)(path, 'BAD_SHAPE', `occurred ${cond.operator} needs a value`);
329
+ }
330
+ try {
331
+ (0, dates_1.semanticDateBoundaryMs)(raw, cond.operator, ctx.now, ctx.tz);
332
+ }
333
+ catch (e) {
334
+ return (0, types_1.failSemanticValidation)(path, 'BAD_DATE', e.message);
335
+ }
336
+ }
337
+ return;
338
+ case 'eventType': {
339
+ if (!Array.isArray(cond.values) || cond.values.length === 0) {
340
+ (0, types_1.failSemanticValidation)(path, 'BAD_SHAPE', 'eventType needs a non-empty values array');
341
+ }
342
+ const unknown = cond.values.filter((v) => !contract_1.EVENT_TYPES.includes(v));
343
+ if (unknown.length) {
344
+ (0, types_1.failSemanticValidation)(path, 'BAD_VALUE', `Unknown event type ${unknown.map((v) => `'${v}'`).join(', ')}`, (0, suggest_1.nearest)(contract_1.EVENT_TYPES, String(unknown[0])));
345
+ }
346
+ return;
347
+ }
348
+ // The three name-resolved words. Resolution happens HERE rather than in
349
+ // the compiler so both engines see the same ids, and so an unknown or
350
+ // ambiguous name is a validation issue with a suggestion — the shape the
351
+ // AI repair loop and the wire both already understand.
352
+ case 'reader':
353
+ resolveOrFail(ctx.catalogue.readers, cond.name, path, 'reader');
354
+ return;
355
+ case 'user':
356
+ resolveOrFail(ctx.catalogue.users, cond.name, path, 'user');
357
+ return;
358
+ case 'action':
359
+ resolveOrFail(ctx.catalogue.actions, cond.name, path, 'action');
360
+ return;
299
361
  default:
300
362
  (0, types_1.failSemanticValidation)(path, 'UNKNOWN_TYPE', `Unknown condition type '${cond.type}'`);
301
363
  }
302
364
  }
365
+ /**
366
+ * Resolve a name or fail with the resolver's own issue. The compiler resolves
367
+ * again from the same catalogue to get the ids it emits; this pass exists so
368
+ * the FAILURE happens at validation time, where it becomes a repairable issue
369
+ * rather than a query that ran against nothing.
370
+ */
371
+ function resolveOrFail(catalogue, name, path, noun) {
372
+ const { issue } = (0, resolve_name_1.resolveName)(catalogue, name, { path, noun });
373
+ if (issue)
374
+ (0, types_1.failSemanticValidation)(path, issue.code, issue.message, issue.suggestion);
375
+ }
303
376
  function checkReadiness(cond, path) {
304
377
  var _a;
305
378
  if (cond.level !== undefined && cond.levels !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spotto/semantic-query",
3
- "version": "1.0.70-alpha.21",
3
+ "version": "1.0.70-alpha.23",
4
4
  "description": "The Spotto semantic query language — one shared statement of what a query MEANS (validation, resolution, evaluation, dates), consumed by both the API and the client. Mongo emission deliberately stays server-side.",
5
5
  "main": "./dist/index.js",
6
6
  "license": "MIT",
@@ -16,7 +16,7 @@
16
16
  "access": "public"
17
17
  },
18
18
  "dependencies": {
19
- "@spotto/contract": "^1.0.70-alpha.21",
19
+ "@spotto/contract": "^1.0.70-alpha.23",
20
20
  "dayjs": "^1.11.1"
21
21
  },
22
22
  "devDependencies": {
@@ -25,5 +25,5 @@
25
25
  "shx": "^0.3.4",
26
26
  "ts-jest": "^28.0.1"
27
27
  },
28
- "gitHead": "f4b9aa917dee5e07a6b8c1442dd98a4e15cd2b89"
28
+ "gitHead": "98f55f8c8aed87a8a889a8f4809a51edc9afc5b4"
29
29
  }