@x12i/memorix-service 3.10.0 → 3.11.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 (47) hide show
  1. package/dist/analytics/content-allow.d.ts +17 -0
  2. package/dist/analytics/content-allow.d.ts.map +1 -0
  3. package/dist/analytics/content-allow.js +39 -0
  4. package/dist/analytics/content-allow.js.map +1 -0
  5. package/dist/analytics/definition.d.ts +27 -6
  6. package/dist/analytics/definition.d.ts.map +1 -1
  7. package/dist/analytics/definition.js +110 -25
  8. package/dist/analytics/definition.js.map +1 -1
  9. package/dist/analytics/host.d.ts.map +1 -1
  10. package/dist/analytics/host.js +14 -0
  11. package/dist/analytics/host.js.map +1 -1
  12. package/dist/analytics/index-store.d.ts +98 -0
  13. package/dist/analytics/index-store.d.ts.map +1 -0
  14. package/dist/analytics/index-store.js +295 -0
  15. package/dist/analytics/index-store.js.map +1 -0
  16. package/dist/analytics/materializer.d.ts +1 -1
  17. package/dist/analytics/materializer.d.ts.map +1 -1
  18. package/dist/analytics/materializer.js +18 -12
  19. package/dist/analytics/materializer.js.map +1 -1
  20. package/dist/analytics/projector.d.ts +1 -1
  21. package/dist/analytics/projector.d.ts.map +1 -1
  22. package/dist/analytics/projector.js +19 -11
  23. package/dist/analytics/projector.js.map +1 -1
  24. package/dist/analytics/property-index.d.ts +87 -0
  25. package/dist/analytics/property-index.d.ts.map +1 -0
  26. package/dist/analytics/property-index.js +537 -0
  27. package/dist/analytics/property-index.js.map +1 -0
  28. package/dist/analytics/tracker.d.ts +34 -1
  29. package/dist/analytics/tracker.d.ts.map +1 -1
  30. package/dist/analytics/tracker.js +222 -9
  31. package/dist/analytics/tracker.js.map +1 -1
  32. package/dist/app.d.ts.map +1 -1
  33. package/dist/app.js +2 -0
  34. package/dist/app.js.map +1 -1
  35. package/dist/openapi/openapi.json +474 -2
  36. package/dist/platform.d.ts.map +1 -1
  37. package/dist/platform.js +15 -2
  38. package/dist/platform.js.map +1 -1
  39. package/dist/routes/analytics-indexes.d.ts +8 -0
  40. package/dist/routes/analytics-indexes.d.ts.map +1 -0
  41. package/dist/routes/analytics-indexes.js +80 -0
  42. package/dist/routes/analytics-indexes.js.map +1 -0
  43. package/dist/routes/data.d.ts.map +1 -1
  44. package/dist/routes/data.js +22 -0
  45. package/dist/routes/data.js.map +1 -1
  46. package/openapi/openapi.json +474 -2
  47. package/package.json +1 -1
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Agent-declared property indexes. The registry and the rows live in the org operational
3
+ * database, beside the counter registry. Rows are not a Mongo index on the content collection:
4
+ * that collection is shared by every agent.
5
+ */
6
+ import type { Db } from "mongodb";
7
+ import type { BackfillProgress } from "./state.js";
8
+ export type PropertyIndexDefinition = {
9
+ id: string;
10
+ objectType: string;
11
+ contentType: string;
12
+ properties: string[];
13
+ };
14
+ export type PropertyIndexStatus = "backfilling" | "live" | "error";
15
+ export type PropertyIndexRecord = {
16
+ id: string;
17
+ orgId: string;
18
+ agentIds: string[];
19
+ definition: PropertyIndexDefinition;
20
+ hash: string;
21
+ generation: number;
22
+ status: PropertyIndexStatus;
23
+ backfill: BackfillProgress;
24
+ registeredAt: string;
25
+ updatedAt: string;
26
+ registeredBy?: string | null;
27
+ liveAt?: string | null;
28
+ error?: string | null;
29
+ };
30
+ export type IndexPredicate = {
31
+ op: "eq" | "in" | "exists";
32
+ value?: unknown;
33
+ };
34
+ export type IndexExplain = {
35
+ stages: string[];
36
+ docsExamined: number;
37
+ nReturned: number;
38
+ totalRows: number;
39
+ };
40
+ export interface PropertyIndexStore {
41
+ listIndexes(): Promise<PropertyIndexRecord[]>;
42
+ getIndex(id: string): Promise<PropertyIndexRecord | null>;
43
+ saveIndex(record: PropertyIndexRecord): Promise<void>;
44
+ patchIndex(id: string, patch: Partial<PropertyIndexRecord>, generation?: number): Promise<boolean>;
45
+ deleteIndex(id: string): Promise<void>;
46
+ writeRecord(indexId: string, generation: number, recordId: string, values: Record<string, unknown>): Promise<void>;
47
+ deleteRecord(indexId: string, generation: number, recordId: string): Promise<void>;
48
+ /** Drops rows with `generation < belowGeneration`, or every row of the index when omitted. */
49
+ dropRows(indexId: string, belowGeneration?: number): Promise<void>;
50
+ /** Every stored record for one property, in `recordId` order, including null values. */
51
+ pageRecords(args: {
52
+ indexId: string;
53
+ generation: number;
54
+ property: string;
55
+ afterRecordId: string | null;
56
+ limit: number;
57
+ }): Promise<{
58
+ recordIds: string[];
59
+ hasMore: boolean;
60
+ }>;
61
+ /** Property values for the given records. Missing properties are null. */
62
+ valuesFor(indexId: string, generation: number, recordIds: string[]): Promise<Map<string, Record<string, unknown>>>;
63
+ matchRecords(args: {
64
+ indexId: string;
65
+ generation: number;
66
+ property: string;
67
+ predicate: IndexPredicate;
68
+ afterRecordId: string | null;
69
+ limit: number;
70
+ }): Promise<{
71
+ recordIds: string[];
72
+ hasMore: boolean;
73
+ }>;
74
+ countRecords(args: {
75
+ indexId: string;
76
+ generation: number;
77
+ property: string;
78
+ predicate: IndexPredicate;
79
+ }): Promise<number>;
80
+ /** All record ids matching a predicate. Used to intersect several paths. */
81
+ recordIdsFor(args: {
82
+ indexId: string;
83
+ generation: number;
84
+ property: string;
85
+ predicate: IndexPredicate;
86
+ }): Promise<string[]>;
87
+ /** Null on the in-memory store. Mongo explains the row query, hinted onto the lookup index. */
88
+ explainMatch(args: {
89
+ indexId: string;
90
+ generation: number;
91
+ property: string;
92
+ predicate: IndexPredicate;
93
+ }): Promise<IndexExplain | null>;
94
+ }
95
+ export declare function createMemoryPropertyIndexStore(): PropertyIndexStore;
96
+ export declare function createMongoPropertyIndexStore(db: Db): PropertyIndexStore;
97
+ export declare function mongoPropertyIndexFactory(dbFor: (orgId: string) => Db): (orgId: string) => PropertyIndexStore;
98
+ //# sourceMappingURL=index-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-store.d.ts","sourceRoot":"","sources":["../../src/analytics/index-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,295 @@
1
+ const RECORD_INDEX = "analytics_index_rows_record";
2
+ const LOOKUP_INDEX = "analytics_index_rows_lookup";
3
+ function sameValue(a, b) {
4
+ return JSON.stringify(a ?? null) === JSON.stringify(b ?? null);
5
+ }
6
+ function matches(value, predicate) {
7
+ if (predicate.op === "exists") {
8
+ const present = value !== null && value !== undefined;
9
+ return predicate.value === true ? present : !present;
10
+ }
11
+ if (predicate.op === "in") {
12
+ return Array.isArray(predicate.value) && predicate.value.some((v) => sameValue(v, value));
13
+ }
14
+ return sameValue(value, predicate.value);
15
+ }
16
+ function rowId(indexId, generation, property, recordId) {
17
+ return `${indexId}#${generation}|${encodeURIComponent(property)}|${encodeURIComponent(recordId)}`;
18
+ }
19
+ export function createMemoryPropertyIndexStore() {
20
+ const indexes = new Map();
21
+ const rows = new Map();
22
+ const clone = (v) => structuredClone(v);
23
+ const select = (indexId, generation, property) => [...rows.values()]
24
+ .filter((r) => r.indexId === indexId && r.generation === generation && r.property === property)
25
+ .sort((a, b) => a.recordId.localeCompare(b.recordId));
26
+ return {
27
+ async listIndexes() {
28
+ return [...indexes.values()].map(clone);
29
+ },
30
+ async getIndex(id) {
31
+ const row = indexes.get(id);
32
+ return row ? clone(row) : null;
33
+ },
34
+ async saveIndex(record) {
35
+ indexes.set(record.id, clone(record));
36
+ },
37
+ async patchIndex(id, patch, generation) {
38
+ const row = indexes.get(id);
39
+ if (!row || (generation !== undefined && row.generation !== generation))
40
+ return false;
41
+ Object.assign(row, clone(patch));
42
+ return true;
43
+ },
44
+ async deleteIndex(id) {
45
+ indexes.delete(id);
46
+ for (const [key, row] of rows) {
47
+ if (row.indexId === id)
48
+ rows.delete(key);
49
+ }
50
+ },
51
+ async writeRecord(indexId, generation, recordId, values) {
52
+ const keep = new Set(Object.keys(values));
53
+ for (const [key, row] of rows) {
54
+ if (row.indexId === indexId && row.generation === generation && row.recordId === recordId && !keep.has(row.property)) {
55
+ rows.delete(key);
56
+ }
57
+ }
58
+ for (const [property, value] of Object.entries(values)) {
59
+ rows.set(rowId(indexId, generation, property, recordId), {
60
+ indexId,
61
+ generation,
62
+ property,
63
+ recordId,
64
+ value: value === undefined ? null : clone(value),
65
+ });
66
+ }
67
+ },
68
+ async deleteRecord(indexId, generation, recordId) {
69
+ for (const [key, row] of rows) {
70
+ if (row.indexId === indexId && row.generation === generation && row.recordId === recordId)
71
+ rows.delete(key);
72
+ }
73
+ },
74
+ async dropRows(indexId, belowGeneration) {
75
+ for (const [key, row] of rows) {
76
+ if (row.indexId !== indexId)
77
+ continue;
78
+ if (belowGeneration === undefined || row.generation < belowGeneration)
79
+ rows.delete(key);
80
+ }
81
+ },
82
+ async pageRecords({ indexId, generation, property, afterRecordId, limit }) {
83
+ const ids = select(indexId, generation, property)
84
+ .map((r) => r.recordId)
85
+ .filter((id) => !afterRecordId || id > afterRecordId);
86
+ return { recordIds: ids.slice(0, limit), hasMore: ids.length > limit };
87
+ },
88
+ async valuesFor(indexId, generation, recordIds) {
89
+ const wanted = new Set(recordIds);
90
+ const out = new Map();
91
+ for (const id of recordIds)
92
+ out.set(id, {});
93
+ for (const row of rows.values()) {
94
+ if (row.indexId !== indexId || row.generation !== generation || !wanted.has(row.recordId))
95
+ continue;
96
+ out.get(row.recordId)[row.property] = clone(row.value);
97
+ }
98
+ return out;
99
+ },
100
+ async matchRecords({ indexId, generation, property, predicate, afterRecordId, limit }) {
101
+ const ids = select(indexId, generation, property)
102
+ .filter((r) => matches(r.value, predicate) && (!afterRecordId || r.recordId > afterRecordId))
103
+ .map((r) => r.recordId);
104
+ return { recordIds: ids.slice(0, limit), hasMore: ids.length > limit };
105
+ },
106
+ async countRecords({ indexId, generation, property, predicate }) {
107
+ return select(indexId, generation, property).filter((r) => matches(r.value, predicate)).length;
108
+ },
109
+ async recordIdsFor({ indexId, generation, property, predicate }) {
110
+ return select(indexId, generation, property)
111
+ .filter((r) => matches(r.value, predicate))
112
+ .map((r) => r.recordId);
113
+ },
114
+ async explainMatch() {
115
+ return null;
116
+ },
117
+ };
118
+ }
119
+ function mongoPredicate(predicate) {
120
+ if (predicate.op === "exists") {
121
+ return predicate.value === true ? { value: { $ne: null } } : { value: null };
122
+ }
123
+ if (predicate.op === "in")
124
+ return { value: { $in: predicate.value } };
125
+ return { value: predicate.value ?? null };
126
+ }
127
+ function walkStages(node, out) {
128
+ if (!node || typeof node !== "object")
129
+ return;
130
+ const stage = node.stage;
131
+ if (typeof stage === "string")
132
+ out.push(stage);
133
+ const rec = node;
134
+ if (rec.inputStage)
135
+ walkStages(rec.inputStage, out);
136
+ for (const child of rec.inputStages ?? [])
137
+ walkStages(child, out);
138
+ if (rec.thenStage)
139
+ walkStages(rec.thenStage, out);
140
+ }
141
+ export function createMongoPropertyIndexStore(db) {
142
+ const indexesCol = db.collection("analytics_indexes");
143
+ const rowsCol = db.collection("analytics_index_rows");
144
+ let indexed = null;
145
+ const ensureIndexes = () => (indexed ??= Promise.all([
146
+ rowsCol.createIndex({ indexId: 1, generation: 1, property: 1, recordId: 1 }, { name: RECORD_INDEX, unique: true }),
147
+ rowsCol.createIndex({ indexId: 1, generation: 1, property: 1, value: 1, recordId: 1 }, { name: LOOKUP_INDEX }),
148
+ ]).then(() => undefined));
149
+ const strip = (doc) => {
150
+ const { _id, ...rest } = doc;
151
+ void _id;
152
+ return rest;
153
+ };
154
+ return {
155
+ async listIndexes() {
156
+ return (await indexesCol.find({}).toArray()).map((d) => strip(d));
157
+ },
158
+ async getIndex(id) {
159
+ const doc = await indexesCol.findOne({ _id: id });
160
+ return doc ? strip(doc) : null;
161
+ },
162
+ async saveIndex(record) {
163
+ await indexesCol.replaceOne({ _id: record.id }, record, { upsert: true });
164
+ },
165
+ async patchIndex(id, patch, generation) {
166
+ const { id: ignored, ...fields } = patch;
167
+ void ignored;
168
+ const res = await indexesCol.updateOne(generation === undefined ? { _id: id } : { _id: id, generation }, { $set: fields });
169
+ return res.matchedCount > 0;
170
+ },
171
+ async deleteIndex(id) {
172
+ await indexesCol.deleteOne({ _id: id });
173
+ await rowsCol.deleteMany({ indexId: id });
174
+ },
175
+ async writeRecord(indexId, generation, recordId, values) {
176
+ await ensureIndexes();
177
+ const properties = Object.keys(values);
178
+ await rowsCol.deleteMany({
179
+ indexId,
180
+ generation,
181
+ recordId,
182
+ ...(properties.length ? { property: { $nin: properties } } : {}),
183
+ });
184
+ if (properties.length === 0)
185
+ return;
186
+ await rowsCol.bulkWrite(properties.map((property) => ({
187
+ updateOne: {
188
+ filter: { _id: rowId(indexId, generation, property, recordId) },
189
+ update: {
190
+ $set: {
191
+ indexId,
192
+ generation,
193
+ property,
194
+ recordId,
195
+ value: values[property] === undefined ? null : values[property],
196
+ },
197
+ },
198
+ upsert: true,
199
+ },
200
+ })), { ordered: false });
201
+ },
202
+ async deleteRecord(indexId, generation, recordId) {
203
+ await rowsCol.deleteMany({ indexId, generation, recordId });
204
+ },
205
+ async dropRows(indexId, belowGeneration) {
206
+ await rowsCol.deleteMany(belowGeneration === undefined ? { indexId } : { indexId, generation: { $lt: belowGeneration } });
207
+ },
208
+ async pageRecords({ indexId, generation, property, afterRecordId, limit }) {
209
+ await ensureIndexes();
210
+ const filter = { indexId, generation, property };
211
+ if (afterRecordId)
212
+ filter.recordId = { $gt: afterRecordId };
213
+ const docs = await rowsCol
214
+ .find(filter)
215
+ .hint(RECORD_INDEX)
216
+ .sort({ recordId: 1 })
217
+ .limit(limit + 1)
218
+ .project({ recordId: 1 })
219
+ .toArray();
220
+ return { recordIds: docs.slice(0, limit).map((d) => d.recordId), hasMore: docs.length > limit };
221
+ },
222
+ async valuesFor(indexId, generation, recordIds) {
223
+ const out = new Map();
224
+ for (const id of recordIds)
225
+ out.set(id, {});
226
+ if (recordIds.length === 0)
227
+ return out;
228
+ const docs = await rowsCol.find({ indexId, generation, recordId: { $in: recordIds } }).toArray();
229
+ for (const doc of docs) {
230
+ const bag = out.get(doc.recordId);
231
+ if (bag)
232
+ bag[doc.property] = doc.value;
233
+ }
234
+ return out;
235
+ },
236
+ async matchRecords({ indexId, generation, property, predicate, afterRecordId, limit }) {
237
+ await ensureIndexes();
238
+ const filter = { indexId, generation, property, ...mongoPredicate(predicate) };
239
+ if (afterRecordId)
240
+ filter.recordId = { $gt: afterRecordId };
241
+ const docs = await rowsCol
242
+ .find(filter)
243
+ .hint(LOOKUP_INDEX)
244
+ .sort({ recordId: 1 })
245
+ .limit(limit + 1)
246
+ .project({ recordId: 1 })
247
+ .toArray();
248
+ return { recordIds: docs.slice(0, limit).map((d) => d.recordId), hasMore: docs.length > limit };
249
+ },
250
+ async countRecords({ indexId, generation, property, predicate }) {
251
+ await ensureIndexes();
252
+ return rowsCol.countDocuments({ indexId, generation, property, ...mongoPredicate(predicate) }, { hint: LOOKUP_INDEX });
253
+ },
254
+ async recordIdsFor({ indexId, generation, property, predicate }) {
255
+ await ensureIndexes();
256
+ const docs = await rowsCol
257
+ .find({ indexId, generation, property, ...mongoPredicate(predicate) })
258
+ .hint(LOOKUP_INDEX)
259
+ .sort({ recordId: 1 })
260
+ .project({ recordId: 1 })
261
+ .toArray();
262
+ return docs.map((d) => d.recordId);
263
+ },
264
+ async explainMatch({ indexId, generation, property, predicate }) {
265
+ await ensureIndexes();
266
+ const filter = { indexId, generation, property, ...mongoPredicate(predicate) };
267
+ const explained = (await rowsCol
268
+ .find(filter)
269
+ .hint(LOOKUP_INDEX)
270
+ .sort({ recordId: 1 })
271
+ .explain("executionStats"));
272
+ const stages = [];
273
+ walkStages(explained.executionStats?.executionStages, stages);
274
+ const totalRows = await rowsCol.countDocuments({ indexId, generation, property });
275
+ return {
276
+ stages,
277
+ docsExamined: explained.executionStats?.totalDocsExamined ?? 0,
278
+ nReturned: explained.executionStats?.nReturned ?? 0,
279
+ totalRows,
280
+ };
281
+ },
282
+ };
283
+ }
284
+ export function mongoPropertyIndexFactory(dbFor) {
285
+ const cache = new Map();
286
+ return (orgId) => {
287
+ let store = cache.get(orgId);
288
+ if (!store) {
289
+ store = createMongoPropertyIndexStore(dbFor(orgId));
290
+ cache.set(orgId, store);
291
+ }
292
+ return store;
293
+ };
294
+ }
295
+ //# sourceMappingURL=index-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-store.js","sourceRoot":"","sources":["../../src/analytics/index-store.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Pure shaping: Countex cells of one covering pair → the materialized analytics body.
3
3
  * No storage access; the tracker supplies cells, windows, daily series, and leader rows.
4
4
  */
5
- import type { CounterDefinition } from "./definition.js";
5
+ import { type CounterDefinition } from "./definition.js";
6
6
  import type { AnalyticsCell } from "./engine.js";
7
7
  export type Metric = {
8
8
  value: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"materializer.d.ts","sourceRoot":"","sources":["../../src/analytics/materializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materializer.d.ts","sourceRoot":"","sources":["../../src/analytics/materializer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Pure shaping: Countex cells of one covering pair → the materialized analytics body.
3
+ * No storage access; the tracker supplies cells, windows, daily series, and leader rows.
4
+ */
5
+ import { populationKey } from "./definition.js";
1
6
  import { metricKey, SEP } from "./projector.js";
2
7
  function metric(value, produced) {
3
8
  return produced ? { value, produced: true } : { value: 0, produced: false };
@@ -63,7 +68,7 @@ export function summarizePair(def, cells, opts) {
63
68
  };
64
69
  const measures = {};
65
70
  for (const m of def.measures ?? []) {
66
- const produced = producedFor(m.abstractType);
71
+ const produced = producedFor(populationKey(m));
67
72
  if (m.kind === "count") {
68
73
  measures[m.key] = metric(idx.count(metricKey.measure(m.key)), produced);
69
74
  }
@@ -94,7 +99,7 @@ export function summarizePair(def, cells, opts) {
94
99
  const groupCounts = new Map();
95
100
  const groupProduced = new Map();
96
101
  for (const g of def.groups ?? []) {
97
- const produced = producedFor(g.abstractType);
102
+ const produced = producedFor(populationKey(g));
98
103
  groupProduced.set(g.key, produced);
99
104
  const prefix = `g${SEP}${g.key}${SEP}`;
100
105
  const buckets = g.buckets ??
@@ -105,7 +110,11 @@ export function summarizePair(def, cells, opts) {
105
110
  .sort((a, b) => b.n - a.n || a.bucket.localeCompare(b.bucket))
106
111
  .map((b) => b.bucket);
107
112
  const splitKeys = g.split ? [...g.split.buckets, ...(g.split.missing ? [g.split.missing] : [])] : [];
108
- const block = { produced, subject: g.subject ?? g.abstractType, buckets: {} };
113
+ const block = {
114
+ produced,
115
+ subject: g.subject ?? g.abstractType ?? g.contentType ?? "",
116
+ buckets: {},
117
+ };
109
118
  const flat = {};
110
119
  for (const b of buckets) {
111
120
  const bucketCells = idx.cells(metricKey.group(g.key, b));
@@ -178,7 +187,7 @@ export function summarizePair(def, cells, opts) {
178
187
  }
179
188
  const splits = {};
180
189
  for (const s of def.splits ?? []) {
181
- const produced = producedFor(s.abstractType);
190
+ const produced = producedFor(populationKey(s));
182
191
  const byBucket = {};
183
192
  for (const b of s.buckets) {
184
193
  const cellsB = idx.cells(metricKey.split(s.key, b));
@@ -192,7 +201,7 @@ export function summarizePair(def, cells, opts) {
192
201
  }
193
202
  const unwinds = {};
194
203
  for (const u of def.unwinds ?? []) {
195
- if (!producedFor(u.abstractType)) {
204
+ if (!producedFor(populationKey(u))) {
196
205
  unwinds[u.key] = [];
197
206
  continue;
198
207
  }
@@ -245,7 +254,7 @@ export function summarizePair(def, cells, opts) {
245
254
  }
246
255
  const coverage = [];
247
256
  for (const c of def.coverage ?? []) {
248
- const produced = producedFor(c.abstractType);
257
+ const produced = producedFor(populationKey(c));
249
258
  const expected = typeof c.expected === "number" ? c.expected : (measures[c.expected.measure]?.value ?? 0);
250
259
  coverage.push({
251
260
  stepId: c.key,
@@ -256,7 +265,7 @@ export function summarizePair(def, cells, opts) {
256
265
  }
257
266
  const transitions = {};
258
267
  for (const t of def.transitions ?? []) {
259
- if (!producedFor(t.abstractType)) {
268
+ if (!producedFor(populationKey(t))) {
260
269
  transitions[t.key] = [];
261
270
  continue;
262
271
  }
@@ -274,10 +283,7 @@ export function summarizePair(def, cells, opts) {
274
283
  }
275
284
  transitions[t.key] = out.sort((a, b) => b.count - a.count);
276
285
  }
277
- for (const t of new Set([
278
- ...(def.measures ?? []).map((m) => m.abstractType),
279
- ...(def.groups ?? []).map((g) => g.abstractType),
280
- ])) {
286
+ for (const t of new Set([...(def.measures ?? []).map((m) => populationKey(m)), ...(def.groups ?? []).map((g) => populationKey(g))].filter(Boolean))) {
281
287
  presence[t] ??= idx.count(metricKey.presence(t));
282
288
  }
283
289
  return { measures, groups, ratios, derived, splits, unwinds, coverage, transitions, presence };
@@ -311,7 +317,7 @@ export function buildEnvelope(input) {
311
317
  for (const m of def.measures ?? []) {
312
318
  if (!m.windows?.length)
313
319
  continue;
314
- const clocked = def.clock?.abstractType === m.abstractType;
320
+ const clocked = Boolean(def.clock && populationKey(def.clock) === populationKey(m));
315
321
  const produced = Boolean(current.measures[m.key]?.produced) && clocked;
316
322
  windows[m.key] = {};
317
323
  for (const w of m.windows) {
@@ -1 +1 @@
1
- {"version":3,"file":"materializer.js","sourceRoot":"","sources":["../../src/analytics/materializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materializer.js","sourceRoot":"","sources":["../../src/analytics/materializer.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export declare const metricKey: {
48
48
  };
49
49
  export declare function readProperty(subject: SubjectInput, property: string): unknown;
50
50
  export declare function matchesWhere(subject: SubjectInput, where: AnalyticsWhere | undefined): boolean;
51
- export declare function projectSubject(def: CounterDefinition, abstractType: string, subject: SubjectInput): Projection;
51
+ export declare function projectSubject(def: CounterDefinition, population: string, subject: SubjectInput): Projection;
52
52
  export declare function factId(f: Fact): string;
53
53
  /** Multiset difference: what to decrement and what to increment to move `prev` to `next`. */
54
54
  export declare function diffFacts(prev: Fact[], next: Fact[]): {