@spotto/semantic-query 1.0.70-alpha.22 → 1.0.70-alpha.24

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
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.evaluateSemanticQuery = void 0;
4
+ // Workspace Dependencies
5
+ const contract_1 = require("@spotto/contract");
4
6
  // Project Dependencies
5
7
  const dates_1 = require("./dates");
8
+ const resolve_name_1 = require("./resolve-name");
6
9
  const validate_1 = require("./validate");
7
10
  const SLOT = {
8
11
  STRING: 'valueString',
@@ -57,9 +60,220 @@ function match(doc, cond, ctx) {
57
60
  return cond.conditions.every((c) => match(doc, c, ctx));
58
61
  if (cond.type === 'or')
59
62
  return cond.conditions.some((c) => match(doc, c, ctx));
60
- return ctx.entityType === 'location'
61
- ? matchLocation(doc, cond, ctx)
62
- : matchAsset(doc, cond, ctx);
63
+ if (ctx.entityType === 'location') {
64
+ return matchLocation(doc, cond, ctx);
65
+ }
66
+ if (ctx.entityType === 'event') {
67
+ return matchEvent(doc, cond, ctx);
68
+ }
69
+ if (ctx.entityType === 'snapshot') {
70
+ return matchSnapshot(doc, cond, ctx);
71
+ }
72
+ if (ctx.entityType === 'reader') {
73
+ return matchReader(doc, cond);
74
+ }
75
+ return matchAsset(doc, cond, ctx);
76
+ }
77
+ /**
78
+ * Reads the SERVER event document. Events are never evaluated in the browser —
79
+ * the client caches query RESULTS, not events, so there is no corpus to run
80
+ * over. This matcher exists as the ORACLE: the acceptance property
81
+ * `evaluate(q, docs) === find(compile(q))` is what catches an encoding mistake
82
+ * in the Mongo compiler, and an entity with no second implementation has
83
+ * nothing checking it but the person who wrote it.
84
+ *
85
+ * The three name-resolved words compare against the ids VALIDATION already
86
+ * resolved, from the same catalogue the compiler uses — so the two engines
87
+ * cannot disagree about who "Sarah" is.
88
+ */
89
+ function matchEvent(doc, cond, ctx) {
90
+ var _a, _b, _c, _d;
91
+ switch (cond.type) {
92
+ case 'occurred':
93
+ return cmpTimestamp(get(doc, 'timestamp'), cond.operator, cond.value, ctx);
94
+ case 'eventType':
95
+ return ((_a = cond.values) !== null && _a !== void 0 ? _a : []).includes(get(doc, 'type'));
96
+ case 'location': {
97
+ // The stored pipe path, exactly as a location document keeps it — events
98
+ // embed it under `location.name`.
99
+ const actual = String((_b = get(doc, 'location.name')) !== null && _b !== void 0 ? _b : '');
100
+ return cond.includeSublocations !== false
101
+ ? actual.startsWith(cond.path)
102
+ : actual === cond.path;
103
+ }
104
+ case 'reader':
105
+ return idIn(get(doc, 'reader._id'), resolvedIds(ctx.schema.readers, cond.name));
106
+ case 'user':
107
+ // A resolved user id inherently excludes system-generated events — Slate
108
+ // movements carry no user at all, and must never answer "what did X do".
109
+ return idIn(get(doc, 'user._id'), resolvedIds(ctx.schema.users, cond.name));
110
+ case 'action': {
111
+ // An action implies a submission, so both halves are checked — matching
112
+ // the compiler, which constrains the type for the same reason.
113
+ // Both submission types — see the compiler's note.
114
+ if (!SUBMISSION_EVENT_TYPES.includes(String(get(doc, 'type'))))
115
+ return false;
116
+ // Resolve ONCE — resolving inside the predicate re-ran it per action.
117
+ const ids = resolvedIds(ctx.schema.actions, cond.name);
118
+ const names = ((_c = ctx.schema.actions) !== null && _c !== void 0 ? _c : [])
119
+ .filter((a) => ids.includes(a.id))
120
+ .map((a) => a.name);
121
+ return names.includes(String((_d = get(doc, 'submission.actionName')) !== null && _d !== void 0 ? _d : ''));
122
+ }
123
+ default:
124
+ // LOUD, not false. This function is the ORACLE the Mongo compiler is
125
+ // checked against, and an oracle that silently matches nothing AGREES
126
+ // with a compiler that returns nothing — so a word added to the
127
+ // vocabulary and the compiler but forgotten here would let the
128
+ // differential check pass by both engines being wrong together.
129
+ throw new Error(`semantic-query evaluator has no arm for event condition ` +
130
+ `'${cond.type}'`);
131
+ }
132
+ }
133
+ /**
134
+ * Reads the SERVER snapshot document.
135
+ *
136
+ * Unlike the event matcher, this one is NOT only an oracle — it is the
137
+ * production path. Snapshots are cached whole and the list filters them in the
138
+ * browser (`useSnapshotList` → `db.snapshots.toArray()`), so a mistake here is
139
+ * a wrong answer a user sees, not a test that fails. The Mongo compiler still
140
+ * has to agree with it for saved queries and widgets.
141
+ *
142
+ * Two arms below are not the obvious reading of the field, and both are
143
+ * copied from the flat filter (`snapshots/filters.ts`) rather than invented,
144
+ * because chip and query must return the same rows.
145
+ */
146
+ function matchSnapshot(doc, cond, ctx) {
147
+ var _a, _b, _c;
148
+ switch (cond.type) {
149
+ case 'occurred':
150
+ // `submitted`, not `created` — the flat time filter's field. It is
151
+ // optional, so an unsubmitted snapshot matches no bound; `cmpTimestamp`
152
+ // returns false for an absent value, which is the same answer the flat
153
+ // filter's range gives.
154
+ return cmpTimestamp(get(doc, 'submitted'), cond.operator, cond.value, ctx);
155
+ case 'snapshotType': {
156
+ const type = get(doc, 'type');
157
+ const hasManifest = get(doc, 'manifest') != null;
158
+ return ((_a = cond.values) !== null && _a !== void 0 ? _a : []).some((wanted) => {
159
+ const rule = contract_1.SNAPSHOT_TYPE_RULES[wanted];
160
+ if (!rule)
161
+ return false;
162
+ if (type === rule.explicit)
163
+ return true;
164
+ // Legacy: no `type` at all, classified by the manifest's presence.
165
+ // Without this arm every pre-`type` snapshot silently disappears from
166
+ // a kind filter that the chip beside it still returns.
167
+ return (type == null &&
168
+ rule.legacyHasManifest !== undefined &&
169
+ hasManifest === rule.legacyHasManifest);
170
+ });
171
+ }
172
+ case 'asset':
173
+ // The snapshot's SUBJECT asset, not its contents — see the contract.
174
+ return idIn(get(doc, 'asset._id'), [cond.assetId]);
175
+ case 'assetType': {
176
+ const actual = String((_b = get(doc, 'asset.typePath')) !== null && _b !== void 0 ? _b : '');
177
+ return cond.includeSubtypes !== false
178
+ ? actual.startsWith(cond.path)
179
+ : actual === cond.path;
180
+ }
181
+ case 'location': {
182
+ // `location.path` here, NOT `location.name` as events use. Absent on
183
+ // legacy snapshots, which therefore match no path condition — the same
184
+ // acceptance record scope already makes (usergroups S7).
185
+ const actual = String((_c = get(doc, 'location.path')) !== null && _c !== void 0 ? _c : '');
186
+ if (!actual)
187
+ return false;
188
+ return cond.includeSublocations !== false
189
+ ? actual.startsWith(cond.path)
190
+ : actual === cond.path;
191
+ }
192
+ case 'manifest':
193
+ return idIn(get(doc, 'manifest._id'), [cond.manifestId]);
194
+ case 'user':
195
+ return idIn(get(doc, 'user._id'), resolvedIds(ctx.schema.users, cond.name));
196
+ case 'reader':
197
+ return idIn(get(doc, 'reader._id'), resolvedIds(ctx.schema.readers, cond.name));
198
+ default:
199
+ // LOUD, for the reason the event matcher gives — and more so here, since
200
+ // this arm running in the browser is what the user actually sees.
201
+ throw new Error(`semantic-query evaluator has no arm for snapshot condition ` +
202
+ `'${cond.type}'`);
203
+ }
204
+ }
205
+ /**
206
+ * Reads the SERVER reader document — and, like the snapshot matcher, this is
207
+ * PRODUCTION code: `useReaderList` holds the whole set and the list filters it
208
+ * in memory.
209
+ *
210
+ * No `ctx`: every reader condition is a plain field comparison. Nothing here
211
+ * resolves a name or a date, which is the whole reason this vocabulary is the
212
+ * least treacherous of the four.
213
+ */
214
+ function matchReader(doc, cond) {
215
+ var _a, _b, _c;
216
+ switch (cond.type) {
217
+ case 'deviceType':
218
+ return ((_a = cond.values) !== null && _a !== void 0 ? _a : []).includes(get(doc, 'deviceType'));
219
+ case 'readerType':
220
+ return ((_b = cond.values) !== null && _b !== void 0 ? _b : []).includes(get(doc, 'type'));
221
+ case 'location': {
222
+ // `locationName` holds the FULL pipe path (`readers/helpers.ts` copies
223
+ // `location.name`, which is a location document's path). A reader with
224
+ // no location matches nothing rather than everything.
225
+ const actual = String((_c = get(doc, 'locationName')) !== null && _c !== void 0 ? _c : '');
226
+ if (!actual)
227
+ return false;
228
+ return cond.includeSublocations !== false
229
+ ? actual.startsWith(cond.path)
230
+ : actual === cond.path;
231
+ }
232
+ case 'attachedAsset':
233
+ return idIn(get(doc, 'asset'), [cond.assetId]);
234
+ case 'online':
235
+ // Strict equality against the stored boolean. A reader that has never
236
+ // reported has no `state` at all, so it is neither online nor offline —
237
+ // `hasReported` is the word for that, and conflating the two is exactly
238
+ // what the prototype did.
239
+ return get(doc, 'state.online') === cond.value;
240
+ case 'hasReported':
241
+ // `state.onlineTransTime` is the marker the flat filter uses, not
242
+ // `state` itself.
243
+ return (get(doc, 'state.onlineTransTime') !== undefined) === cond.value;
244
+ case 'hasGeolocation':
245
+ return (get(doc, 'state.geolocation') != null) === cond.value;
246
+ default:
247
+ throw new Error(`semantic-query evaluator has no arm for reader condition ` +
248
+ `'${cond.type}'`);
249
+ }
250
+ }
251
+ /**
252
+ * An event's ONE timestamp against a boundary. No `includeNeverSet` branch:
253
+ * every event has a timestamp by construction, so there is no absent case to
254
+ * decide a polarity for.
255
+ */
256
+ function cmpTimestamp(actual, operator, value, ctx) {
257
+ if (actual === undefined || actual === null)
258
+ return false;
259
+ const ms = (0, dates_1.semanticDateBoundaryMs)(value, operator, ctx.now, ctx.tz);
260
+ return cmp(actual, operator, ms);
261
+ }
262
+ /** The event types that carry `submission.actionName`. */
263
+ const SUBMISSION_EVENT_TYPES = ['FormSubmitted', 'FormSubmissionVoided'];
264
+ /** Ids a name resolves to; empty when it does not resolve (validation refused it first). */
265
+ function resolvedIds(catalogue, name) {
266
+ return (0, resolve_name_1.resolveName)(catalogue, name, { path: '', noun: '' }).ids;
267
+ }
268
+ function idIn(actual, ids) {
269
+ // Case-insensitive: `String(ObjectId)` is lowercase hex, but a caller-built
270
+ // catalogue may carry uppercase (the wire's own id check accepts either).
271
+ // Comparing raw would make the ORACLE miss rows the compiler matches — and
272
+ // an oracle that under-matches agrees with a broken compiler.
273
+ if (actual == null)
274
+ return false;
275
+ const a = String(actual).toLowerCase();
276
+ return ids.some((id) => id.toLowerCase() === a);
63
277
  }
64
278
  /**
65
279
  * 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":";;;AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAO5B,8EAA8E;AAC9E,SAAS,OAAO,CAAC,SAA6B,EAAE,IAAY;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACxC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7B,MAAM,IAAI,GAAG,SAAS;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QAC9B,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,IAAI,CAAA,EAAA,CAAC,CAAA;IAChC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;AACtE,CAAC;AAED,SAAgB,WAAW,CACzB,SAAyC,EACzC,OAAgB,EAChB,IAAoC;IAEpC,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,IAAI,CAAC,IAAI,EAAE;QACT,OAAO;YACL,GAAG,EAAE,EAAE;YACP,KAAK,EAAE;gBACL,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,eAAe;aACrC;SACF,CAAA;KACF;IAED,MAAM,GAAG,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAA;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAA;IAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAEvE,6EAA6E;IAC7E,iCAAiC;IACjC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;IAE1C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;QACf,OAAO;YACL,GAAG,EAAE,EAAE;YACP,KAAK,kBACH,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,YAAY,IAAI,wBAAwB,IAC7D,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAClE;SACF,CAAA;KACF;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACvC,uEAAuE;QACvE,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,IAAI,CAAA,EAAA,CAAC,CAAA;QAChF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC1C,OAAO;YACL,GAAG,EAAE,EAAE;YACP,KAAK,EAAE;gBACL,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EACL,IAAI,IAAI,aAAa,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI;oBACpD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,sBAAsB;aACpF;SACF,CAAA;KACF;IAED,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AACpD,CAAC;AA5DD,kCA4DC"}
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,36 @@ 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'],
90
+ // Snapshot vocabulary. `occurred`, `location`, `assetType`, `manifest`,
91
+ // `user` and `reader` are all shared with the entries above — same word,
92
+ // same properties, one entry. Only these two are the snapshot's own.
93
+ //
94
+ // `asset` takes an id and nothing else. It does NOT get `withAsset`'s
95
+ // `hasAny`: every snapshot has a subject, so "any asset at all" is not a
96
+ // question, and accepting a property that can never discriminate is how a
97
+ // query comes to say something the compiler ignores.
98
+ snapshotType: ['type', 'values'],
99
+ asset: ['type', 'assetId'],
100
+ // Reader vocabulary. `location` is shared with the entries above.
101
+ deviceType: ['type', 'values'],
102
+ readerType: ['type', 'values'],
103
+ attachedAsset: ['type', 'assetId'],
104
+ online: ['type', 'value'],
105
+ hasReported: ['type', 'value'],
106
+ hasGeolocation: ['type', 'value'],
76
107
  };
77
108
  const HEX24 = /^[0-9a-fA-F]{24}$/;
78
109
  function checkProperties(cond, path) {
@@ -91,6 +122,21 @@ function checkProperties(cond, path) {
91
122
  : undefined);
92
123
  }
93
124
  }
125
+ /**
126
+ * A non-empty values array drawn from a closed platform set. The three
127
+ * enum-valued conditions (`eventType`, `snapshotType`, `deviceType`,
128
+ * `readerType`) all want exactly this, and an unknown value must be a loud
129
+ * failure with a suggestion rather than an arm that matches nothing.
130
+ */
131
+ function requireEnumValues(values, universe, label, path) {
132
+ if (!Array.isArray(values) || values.length === 0) {
133
+ (0, types_1.failSemanticValidation)(path, 'BAD_SHAPE', `${label} needs a non-empty values array`);
134
+ }
135
+ const unknown = values.filter((v) => !universe.includes(v));
136
+ if (unknown.length) {
137
+ (0, types_1.failSemanticValidation)(path, 'BAD_VALUE', `Unknown ${label} ${unknown.map((v) => `'${v}'`).join(', ')}`, (0, suggest_1.nearest)(universe, String(unknown[0])));
138
+ }
139
+ }
94
140
  function requireString(v, path, field) {
95
141
  if (typeof v !== 'string' || v === '') {
96
142
  (0, types_1.failSemanticValidation)(path, 'BAD_SHAPE', `'${field}' must be a non-empty string`);
@@ -296,10 +342,111 @@ function checkLeaf(cond, ctx, path) {
296
342
  (0, types_1.failSemanticValidation)(path, 'BAD_MANIFEST_ID', 'manifest.manifestId must be a 24-hex manifest id');
297
343
  }
298
344
  return;
345
+ // --- Event vocabulary -------------------------------------------------
346
+ case 'occurred':
347
+ // Deliberately NOT `checkTimestamp`: that helper also permits
348
+ // `includeNeverSet`, which is meaningless when every event has a
349
+ // timestamp by construction.
350
+ if (!contract_1.semanticTimestampOperators.includes(cond.operator)) {
351
+ (0, types_1.failSemanticValidation)(path, 'BAD_OPERATOR', `occurred operator must be one of ${contract_1.semanticTimestampOperators.join(', ')}` +
352
+ ` — got '${cond.operator}'`, (0, suggest_1.nearest)(contract_1.semanticTimestampOperators, String(cond.operator)));
353
+ }
354
+ // Read through a widened local: `value` is non-optional in the
355
+ // contract, so comparing it to `undefined` narrows `cond` to `never` and
356
+ // every later reference stops compiling. The wire can still omit it.
357
+ {
358
+ const raw = cond.value;
359
+ if (raw === undefined) {
360
+ (0, types_1.failSemanticValidation)(path, 'BAD_SHAPE', `occurred ${cond.operator} needs a value`);
361
+ }
362
+ try {
363
+ (0, dates_1.semanticDateBoundaryMs)(raw, cond.operator, ctx.now, ctx.tz);
364
+ }
365
+ catch (e) {
366
+ return (0, types_1.failSemanticValidation)(path, 'BAD_DATE', e.message);
367
+ }
368
+ }
369
+ return;
370
+ case 'eventType': {
371
+ if (!Array.isArray(cond.values) || cond.values.length === 0) {
372
+ (0, types_1.failSemanticValidation)(path, 'BAD_SHAPE', 'eventType needs a non-empty values array');
373
+ }
374
+ const unknown = cond.values.filter((v) => !contract_1.EVENT_TYPES.includes(v));
375
+ if (unknown.length) {
376
+ (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])));
377
+ }
378
+ return;
379
+ }
380
+ // The three name-resolved words. Resolution happens HERE rather than in
381
+ // the compiler so both engines see the same ids, and so an unknown or
382
+ // ambiguous name is a validation issue with a suggestion — the shape the
383
+ // AI repair loop and the wire both already understand.
384
+ case 'reader':
385
+ resolveOrFail(ctx.catalogue.readers, cond.name, path, 'reader');
386
+ return;
387
+ case 'user':
388
+ resolveOrFail(ctx.catalogue.users, cond.name, path, 'user');
389
+ return;
390
+ case 'action':
391
+ resolveOrFail(ctx.catalogue.actions, cond.name, path, 'action');
392
+ return;
393
+ // --- Snapshot vocabulary ----------------------------------------------
394
+ case 'snapshotType': {
395
+ if (!Array.isArray(cond.values) || cond.values.length === 0) {
396
+ (0, types_1.failSemanticValidation)(path, 'BAD_SHAPE', 'snapshotType needs a non-empty values array');
397
+ }
398
+ const unknown = cond.values.filter((v) => !contract_1.SNAPSHOT_TYPES.includes(v));
399
+ if (unknown.length) {
400
+ (0, types_1.failSemanticValidation)(path, 'BAD_VALUE', `Unknown snapshot type ${unknown.map((v) => `'${v}'`).join(', ')}` +
401
+ ` (${contract_1.SNAPSHOT_TYPES.join(', ')})`, (0, suggest_1.nearest)(contract_1.SNAPSHOT_TYPES, String(unknown[0])));
402
+ }
403
+ return;
404
+ }
405
+ case 'asset':
406
+ // An id, never a name — the refusal the event vocabulary is built on.
407
+ // A name here would be a substring regex, and "BC-A1" would quietly
408
+ // bring back "BC-A10".
409
+ if (!HEX24.test(String(cond.assetId))) {
410
+ (0, types_1.failSemanticValidation)(path, 'BAD_ASSET_ID', 'asset.assetId must be a 24-hex asset id');
411
+ }
412
+ return;
413
+ // --- Reader vocabulary ------------------------------------------------
414
+ case 'deviceType':
415
+ requireEnumValues(cond.values, contract_1.DEVICE_TYPES, 'deviceType', path);
416
+ return;
417
+ case 'readerType':
418
+ requireEnumValues(cond.values, contract_1.READER_TYPES, 'readerType', path);
419
+ return;
420
+ case 'attachedAsset':
421
+ if (!HEX24.test(String(cond.assetId))) {
422
+ (0, types_1.failSemanticValidation)(path, 'BAD_ASSET_ID', 'attachedAsset.assetId must be a 24-hex asset id');
423
+ }
424
+ return;
425
+ case 'online':
426
+ case 'hasReported':
427
+ case 'hasGeolocation':
428
+ // Required, not optional. A boolean condition with no value has no
429
+ // meaning to fall back to — defaulting it either way would answer a
430
+ // question the caller did not ask.
431
+ if (typeof cond.value !== 'boolean') {
432
+ (0, types_1.failSemanticValidation)(path, 'BAD_SHAPE', `${cond.type} needs 'value' (true or false)`);
433
+ }
434
+ return;
299
435
  default:
300
436
  (0, types_1.failSemanticValidation)(path, 'UNKNOWN_TYPE', `Unknown condition type '${cond.type}'`);
301
437
  }
302
438
  }
439
+ /**
440
+ * Resolve a name or fail with the resolver's own issue. The compiler resolves
441
+ * again from the same catalogue to get the ids it emits; this pass exists so
442
+ * the FAILURE happens at validation time, where it becomes a repairable issue
443
+ * rather than a query that ran against nothing.
444
+ */
445
+ function resolveOrFail(catalogue, name, path, noun) {
446
+ const { issue } = (0, resolve_name_1.resolveName)(catalogue, name, { path, noun });
447
+ if (issue)
448
+ (0, types_1.failSemanticValidation)(path, issue.code, issue.message, issue.suggestion);
449
+ }
303
450
  function checkReadiness(cond, path) {
304
451
  var _a;
305
452
  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.22",
3
+ "version": "1.0.70-alpha.24",
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.22",
19
+ "@spotto/contract": "^1.0.70-alpha.24",
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": "408ff86c771a08a0212019f79fb80bea2902587b"
28
+ "gitHead": "d90ad98fb1929f252919e408015f7ab8b71c6fbc"
29
29
  }