@mongrov/analytics 0.6.0 → 0.7.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.
- package/README.md +23 -10
- package/UPGRADING.md +370 -0
- package/dist/core/device-events.d.ts +14 -0
- package/dist/core/device-events.d.ts.map +1 -0
- package/dist/core/device-events.js +13 -0
- package/dist/core/device-events.js.map +1 -0
- package/dist/core/errors.d.ts +1 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/core/extensions.d.ts +21 -4
- package/dist/core/extensions.d.ts.map +1 -1
- package/dist/core/extensions.js +21 -4
- package/dist/core/extensions.js.map +1 -1
- package/dist/core/factory.d.ts.map +1 -1
- package/dist/core/factory.js +125 -23
- package/dist/core/factory.js.map +1 -1
- package/dist/core/hooks.js +1 -1
- package/dist/core/hooks.js.map +1 -1
- package/dist/core/index.d.ts +11 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +14 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/insight.d.ts +44 -0
- package/dist/core/insight.d.ts.map +1 -0
- package/dist/core/insight.js +62 -0
- package/dist/core/insight.js.map +1 -0
- package/dist/core/metric_metadata.d.ts +55 -0
- package/dist/core/metric_metadata.d.ts.map +1 -1
- package/dist/core/metric_metadata.js +35 -7
- package/dist/core/metric_metadata.js.map +1 -1
- package/dist/core/migrations.d.ts.map +1 -1
- package/dist/core/migrations.js +64 -2
- package/dist/core/migrations.js.map +1 -1
- package/dist/core/retention.d.ts +44 -13
- package/dist/core/retention.d.ts.map +1 -1
- package/dist/core/retention.js +49 -22
- package/dist/core/retention.js.map +1 -1
- package/dist/core/schemas.d.ts +73 -2
- package/dist/core/schemas.d.ts.map +1 -1
- package/dist/core/schemas.js +154 -3
- package/dist/core/schemas.js.map +1 -1
- package/dist/core/table_metadata.d.ts.map +1 -1
- package/dist/core/table_metadata.js +3 -0
- package/dist/core/table_metadata.js.map +1 -1
- package/dist/core/types.d.ts +45 -10
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/warehouse.d.ts +28 -0
- package/dist/core/warehouse.d.ts.map +1 -1
- package/dist/core/warehouse.js +44 -0
- package/dist/core/warehouse.js.map +1 -1
- package/dist/core/watermark-cache.d.ts +75 -0
- package/dist/core/watermark-cache.d.ts.map +1 -0
- package/dist/core/watermark-cache.js +0 -0
- package/dist/core/watermark-cache.js.map +1 -0
- package/dist/rules/__fakes__/fakeEngine.d.ts +2 -0
- package/dist/rules/__fakes__/fakeEngine.d.ts.map +1 -1
- package/dist/rules/__fakes__/fakeEngine.js +4 -0
- package/dist/rules/__fakes__/fakeEngine.js.map +1 -1
- package/dist/rules/baseline-reader.d.ts +55 -0
- package/dist/rules/baseline-reader.d.ts.map +1 -0
- package/dist/rules/baseline-reader.js +111 -0
- package/dist/rules/baseline-reader.js.map +1 -0
- package/dist/rules/compiler.d.ts +36 -1
- package/dist/rules/compiler.d.ts.map +1 -1
- package/dist/rules/compiler.js +185 -39
- package/dist/rules/compiler.js.map +1 -1
- package/dist/rules/defaults/luminx.d.ts.map +1 -1
- package/dist/rules/defaults/luminx.js +8 -0
- package/dist/rules/defaults/luminx.js.map +1 -1
- package/dist/rules/defaults/viva.d.ts.map +1 -1
- package/dist/rules/defaults/viva.js +7 -0
- package/dist/rules/defaults/viva.js.map +1 -1
- package/dist/rules/defaults/yogaring.d.ts.map +1 -1
- package/dist/rules/defaults/yogaring.js +7 -0
- package/dist/rules/defaults/yogaring.js.map +1 -1
- package/dist/rules/defaults/ziva.d.ts.map +1 -1
- package/dist/rules/defaults/ziva.js +100 -24
- package/dist/rules/defaults/ziva.js.map +1 -1
- package/dist/rules/evaluator.d.ts +14 -3
- package/dist/rules/evaluator.d.ts.map +1 -1
- package/dist/rules/evaluator.js +157 -5
- package/dist/rules/evaluator.js.map +1 -1
- package/dist/rules/factory.d.ts.map +1 -1
- package/dist/rules/factory.js +5 -1
- package/dist/rules/factory.js.map +1 -1
- package/dist/rules/index.d.ts +2 -1
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +2 -1
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/schema.d.ts +75 -4
- package/dist/rules/schema.d.ts.map +1 -1
- package/dist/rules/schema.js +44 -0
- package/dist/rules/schema.js.map +1 -1
- package/dist/rules/types.d.ts +16 -1
- package/dist/rules/types.d.ts.map +1 -1
- package/dist/rules/validator.d.ts.map +1 -1
- package/dist/rules/validator.js +56 -0
- package/dist/rules/validator.js.map +1 -1
- package/dist/sync/baseline-compute.d.ts +63 -0
- package/dist/sync/baseline-compute.d.ts.map +1 -0
- package/dist/sync/baseline-compute.js +211 -0
- package/dist/sync/baseline-compute.js.map +1 -0
- package/dist/sync/events.d.ts +19 -5
- package/dist/sync/events.d.ts.map +1 -1
- package/dist/sync/events.js +17 -0
- package/dist/sync/events.js.map +1 -1
- package/dist/sync/factory.d.ts +25 -4
- package/dist/sync/factory.d.ts.map +1 -1
- package/dist/sync/factory.js +108 -15
- package/dist/sync/factory.js.map +1 -1
- package/dist/sync/fetcher.d.ts +15 -2
- package/dist/sync/fetcher.d.ts.map +1 -1
- package/dist/sync/fetcher.js +43 -7
- package/dist/sync/fetcher.js.map +1 -1
- package/dist/sync/flusher.d.ts +52 -2
- package/dist/sync/flusher.d.ts.map +1 -1
- package/dist/sync/flusher.js +78 -9
- package/dist/sync/flusher.js.map +1 -1
- package/dist/sync/index.d.ts +3 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +1 -0
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/mapper/activity.d.ts.map +1 -1
- package/dist/sync/mapper/activity.js +2 -1
- package/dist/sync/mapper/activity.js.map +1 -1
- package/dist/sync/mapper/ring-config.js +1 -1
- package/dist/sync/mapper/ring-config.js.map +1 -1
- package/dist/sync/mapper/schema.d.ts +411 -0
- package/dist/sync/mapper/schema.d.ts.map +1 -0
- package/dist/sync/mapper/schema.js +128 -0
- package/dist/sync/mapper/schema.js.map +1 -0
- package/dist/sync/mapper/sleep.d.ts +58 -13
- package/dist/sync/mapper/sleep.d.ts.map +1 -1
- package/dist/sync/mapper/sleep.js +141 -44
- package/dist/sync/mapper/sleep.js.map +1 -1
- package/dist/sync/mapper/types.d.ts +66 -10
- package/dist/sync/mapper/types.d.ts.map +1 -1
- package/dist/sync/scheduler.d.ts +7 -0
- package/dist/sync/scheduler.d.ts.map +1 -1
- package/dist/sync/scheduler.js +14 -0
- package/dist/sync/scheduler.js.map +1 -1
- package/dist/tools/__fakes__/engine.d.ts +2 -0
- package/dist/tools/__fakes__/engine.d.ts.map +1 -1
- package/dist/tools/__fakes__/engine.js +10 -0
- package/dist/tools/__fakes__/engine.js.map +1 -1
- package/dist/tools/authorize.d.ts +19 -12
- package/dist/tools/authorize.d.ts.map +1 -1
- package/dist/tools/authorize.js +31 -40
- package/dist/tools/authorize.js.map +1 -1
- package/dist/tools/factory.d.ts +2 -0
- package/dist/tools/factory.d.ts.map +1 -1
- package/dist/tools/factory.js +12 -1
- package/dist/tools/factory.js.map +1 -1
- package/dist/tools/formatters/copy-guidelines.d.ts +57 -0
- package/dist/tools/formatters/copy-guidelines.d.ts.map +1 -0
- package/dist/tools/formatters/copy-guidelines.js +110 -0
- package/dist/tools/formatters/copy-guidelines.js.map +1 -0
- package/dist/tools/formatters/index.d.ts +14 -0
- package/dist/tools/formatters/index.d.ts.map +1 -0
- package/dist/tools/formatters/index.js +14 -0
- package/dist/tools/formatters/index.js.map +1 -0
- package/dist/tools/formatters/spo2.d.ts +21 -0
- package/dist/tools/formatters/spo2.d.ts.map +1 -0
- package/dist/tools/formatters/spo2.js +79 -0
- package/dist/tools/formatters/spo2.js.map +1 -0
- package/dist/tools/{formatters.d.ts → formatters/text.d.ts} +1 -1
- package/dist/tools/formatters/text.d.ts.map +1 -0
- package/dist/tools/{formatters.js → formatters/text.js} +1 -1
- package/dist/tools/formatters/text.js.map +1 -0
- package/dist/tools/impls/activity.d.ts +2 -2
- package/dist/tools/impls/activity.js +7 -3
- package/dist/tools/impls/activity.js.map +1 -1
- package/dist/tools/impls/anomaly.d.ts +2 -2
- package/dist/tools/impls/anomaly.js +8 -4
- package/dist/tools/impls/anomaly.js.map +1 -1
- package/dist/tools/impls/compare.d.ts +2 -2
- package/dist/tools/impls/compare.js +8 -4
- package/dist/tools/impls/compare.js.map +1 -1
- package/dist/tools/impls/hrv.d.ts +2 -2
- package/dist/tools/impls/hrv.js +6 -2
- package/dist/tools/impls/hrv.js.map +1 -1
- package/dist/tools/impls/insights.d.ts +4 -4
- package/dist/tools/impls/insights.d.ts.map +1 -1
- package/dist/tools/impls/insights.js +10 -3
- package/dist/tools/impls/insights.js.map +1 -1
- package/dist/tools/impls/sleep.d.ts +2 -2
- package/dist/tools/impls/sleep.js +6 -2
- package/dist/tools/impls/sleep.js.map +1 -1
- package/dist/tools/impls/spo2.d.ts +52 -0
- package/dist/tools/impls/spo2.d.ts.map +1 -0
- package/dist/tools/impls/spo2.js +65 -0
- package/dist/tools/impls/spo2.js.map +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/mcp/guard.d.ts +28 -11
- package/dist/tools/mcp/guard.d.ts.map +1 -1
- package/dist/tools/mcp/guard.js +45 -15
- package/dist/tools/mcp/guard.js.map +1 -1
- package/dist/tools/mcp/index.d.ts +1 -1
- package/dist/tools/mcp/index.d.ts.map +1 -1
- package/dist/tools/mcp/index.js +1 -1
- package/dist/tools/mcp/index.js.map +1 -1
- package/dist/tools/mcp/server.d.ts.map +1 -1
- package/dist/tools/mcp/server.js +4 -0
- package/dist/tools/mcp/server.js.map +1 -1
- package/dist/tools/mcp/transports/http.d.ts.map +1 -1
- package/dist/tools/mcp/transports/http.js +4 -0
- package/dist/tools/mcp/transports/http.js.map +1 -1
- package/package.json +8 -5
- package/dist/tools/formatters.d.ts.map +0 -1
- package/dist/tools/formatters.js.map +0 -1
package/dist/core/factory.js
CHANGED
|
@@ -16,10 +16,11 @@ import { HybridDuckDB } from './engine';
|
|
|
16
16
|
import { bootstrapExtensions } from './extensions';
|
|
17
17
|
import { resolveLogger } from './logger';
|
|
18
18
|
import { analyticsMachine } from './machine';
|
|
19
|
-
import {
|
|
19
|
+
import { dismissInsight as dismissInsightImpl } from './insight';
|
|
20
|
+
import { ensureMigrations } from './migrations';
|
|
20
21
|
import { clearLastAttach, loadLastAttach, loadRetentionOverride, saveLastAttach, saveRetentionOverride, } from './persistence';
|
|
21
22
|
import { resolveEffectiveRetention, runRetentionSweep } from './retention';
|
|
22
|
-
import { attachLocal, attachWarehouse, detachLocal, detachWarehouse, probeLocalCatalog, warehouseSecretName, } from './warehouse';
|
|
23
|
+
import { attachLocal, attachWarehouse, createViews, detachLocal, detachWarehouse, dropViews, probeLocalCatalog, warehouseSecretName, } from './warehouse';
|
|
23
24
|
// -------------------- default DuckDB factory --------------------
|
|
24
25
|
/**
|
|
25
26
|
* Lazy resolver for `react-native-duckdb`. Only fires on `open()` — importing
|
|
@@ -123,13 +124,31 @@ export function createAnalytics(config, internal = {}) {
|
|
|
123
124
|
remoteCatalog = attach.warehouseSecret;
|
|
124
125
|
}
|
|
125
126
|
const localCatalog = await probeLocalCatalog(db);
|
|
127
|
+
localCatalogName = localCatalog;
|
|
126
128
|
await ensureMigrations(db, config.storage, { brand: ctx.brand, tenantId: ctx.tenantId }, { local: localCatalog, remote: remoteCatalog });
|
|
129
|
+
// Union views last — they read the tables migrations just ensured,
|
|
130
|
+
// and DuckDB validates a view's body at CREATE time, so this must
|
|
131
|
+
// not run before the schema exists. View bodies inline brand +
|
|
132
|
+
// family_id (see generateViewDdl), which is why they are recreated
|
|
133
|
+
// on every attach rather than created once: a brand switch that
|
|
134
|
+
// reused the previous views would serve the previous tenant's rows.
|
|
135
|
+
await createViews(db, {
|
|
136
|
+
brand: ctx.brand,
|
|
137
|
+
familyId: ctx.tenantId,
|
|
138
|
+
localCatalog,
|
|
139
|
+
remoteCatalog,
|
|
140
|
+
});
|
|
127
141
|
return {
|
|
128
142
|
warehouseSecret: attach.warehouseSecret,
|
|
129
143
|
tokenExpiresAt: attach.tokenExpiresAt.getTime(),
|
|
130
144
|
};
|
|
131
145
|
},
|
|
132
146
|
async detachEngine({ ctx }) {
|
|
147
|
+
// Views first: they reference the remote catalog, so dropping them
|
|
148
|
+
// after DETACH would leave definitions pointing at a catalog that no
|
|
149
|
+
// longer exists. Best-effort inside dropViews, so a failure here can
|
|
150
|
+
// never strand the machine in `detaching`.
|
|
151
|
+
await dropViews(db);
|
|
133
152
|
if (isLocal) {
|
|
134
153
|
await detachLocal(db, ctx.tenantId);
|
|
135
154
|
}
|
|
@@ -183,23 +202,99 @@ export function createAnalytics(config, internal = {}) {
|
|
|
183
202
|
* by the attach-time persistence + sweep hook.
|
|
184
203
|
*/
|
|
185
204
|
let currentCtx;
|
|
205
|
+
/**
|
|
206
|
+
* Local DuckDB catalog name, probed during attach. The retention sweep
|
|
207
|
+
* targets this catalog in BOTH modes — device-side compaction prunes
|
|
208
|
+
* local data only; the remote R2 zone is never swept by the client
|
|
209
|
+
* (principles 17/53 — server-side retention is R2 snapshot expiration).
|
|
210
|
+
*/
|
|
211
|
+
let localCatalogName;
|
|
212
|
+
/**
|
|
213
|
+
* Family-membership cache backing `engine.getFamilyMembers()`
|
|
214
|
+
* (analytics-core/spec.md §Family membership resolution — "cached
|
|
215
|
+
* in-engine for 60 seconds, invalidated on `family:update`"). Keyed by
|
|
216
|
+
* `${brand}:${familyId}` so a brand switch can never serve the previous
|
|
217
|
+
* tenant's roster.
|
|
218
|
+
*/
|
|
219
|
+
const FAMILY_MEMBERS_TTL_MS = 60000;
|
|
220
|
+
let familyMembersCache;
|
|
221
|
+
config.eventBus?.subscribe('family:update', () => {
|
|
222
|
+
familyMembersCache = undefined;
|
|
223
|
+
});
|
|
224
|
+
async function getFamilyMembers() {
|
|
225
|
+
// Org tenants + local mode have no family fanout; unattached has no
|
|
226
|
+
// tenant at all. Empty means "no fanout", never "denied".
|
|
227
|
+
if (!currentCtx || currentCtx.tenantScope !== 'family')
|
|
228
|
+
return [];
|
|
229
|
+
const r2 = config;
|
|
230
|
+
if (typeof r2.familyMembersProvider !== 'function')
|
|
231
|
+
return [];
|
|
232
|
+
const key = `${currentCtx.brand}:${currentCtx.tenantId}`;
|
|
233
|
+
const now = Date.now();
|
|
234
|
+
if (familyMembersCache?.key === key && familyMembersCache.expiresAt > now) {
|
|
235
|
+
return familyMembersCache.members;
|
|
236
|
+
}
|
|
237
|
+
try {
|
|
238
|
+
const members = await r2.familyMembersProvider({
|
|
239
|
+
brand: currentCtx.brand,
|
|
240
|
+
familyId: currentCtx.tenantId,
|
|
241
|
+
});
|
|
242
|
+
familyMembersCache = {
|
|
243
|
+
key,
|
|
244
|
+
members,
|
|
245
|
+
expiresAt: now + FAMILY_MEMBERS_TTL_MS,
|
|
246
|
+
};
|
|
247
|
+
return members;
|
|
248
|
+
}
|
|
249
|
+
catch (cause) {
|
|
250
|
+
// Membership is an authorization input — a provider failure must not
|
|
251
|
+
// be cached, and must not resolve to a permissive answer.
|
|
252
|
+
log.error('analytics.getFamilyMembers: provider failed', {
|
|
253
|
+
familyId: currentCtx.tenantId,
|
|
254
|
+
err: cause.message,
|
|
255
|
+
});
|
|
256
|
+
familyMembersCache = undefined;
|
|
257
|
+
throw new AnalyticsError('family_members_failed', `familyMembersProvider failed for ${currentCtx.tenantId}`, cause);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Resolve the push watermark the pusher persists for `table`. Key format
|
|
262
|
+
* must match sync/watermark.ts exactly:
|
|
263
|
+
* `analytics:watermark:{brand}:{familyId}:{table}:push` → ISO string.
|
|
264
|
+
* Reads the raw KVStore key (not WatermarkStore) because the sweep needs
|
|
265
|
+
* "missing" to mean "nothing pushed — delete nothing", whereas
|
|
266
|
+
* WatermarkStore.get substitutes a fresh-install horizon.
|
|
267
|
+
*/
|
|
268
|
+
async function readPushWatermark(ctx, table) {
|
|
269
|
+
const iso = await config.storage.get(`analytics:watermark:${ctx.brand}:${ctx.tenantId}:${table}:push`);
|
|
270
|
+
if (typeof iso === 'string') {
|
|
271
|
+
const parsed = new Date(iso);
|
|
272
|
+
if (!Number.isNaN(parsed.getTime()))
|
|
273
|
+
return parsed;
|
|
274
|
+
}
|
|
275
|
+
return null;
|
|
276
|
+
}
|
|
186
277
|
/**
|
|
187
278
|
* Load user override (if any), resolve effective retention against the
|
|
188
|
-
* brand default from `AnalyticsConfig.retention`, run one sweep
|
|
189
|
-
* are re-thrown; callers may choose to swallow
|
|
279
|
+
* brand default from `AnalyticsConfig.retention`, run one sweep over the
|
|
280
|
+
* LOCAL catalog. Errors are re-thrown; callers may choose to swallow
|
|
281
|
+
* (attach-time sweep does).
|
|
190
282
|
*/
|
|
191
|
-
async function sweep(ctx
|
|
283
|
+
async function sweep(ctx) {
|
|
192
284
|
const brandCfg = config.retention[ctx.brand];
|
|
193
285
|
const brandDefault = brandCfg?.days ?? 0;
|
|
194
286
|
const userOverride = (await loadRetentionOverride(config.storage, ctx)) ?? undefined;
|
|
195
287
|
const effectiveDays = resolveEffectiveRetention({ brandDefault, userOverride });
|
|
196
288
|
if (effectiveDays <= 0)
|
|
197
289
|
return;
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
290
|
+
const target = localCatalogName ?? await probeLocalCatalog(db);
|
|
291
|
+
await runRetentionSweep(db, target, {
|
|
292
|
+
effectiveDays,
|
|
293
|
+
mode,
|
|
294
|
+
// Local mode: no push exists (or ever will) — data is local-forever
|
|
295
|
+
// by design, so the plain retention cutoff applies unguarded.
|
|
296
|
+
getPushWatermark: isLocal ? undefined : table => readPushWatermark(ctx, table),
|
|
297
|
+
});
|
|
203
298
|
}
|
|
204
299
|
/**
|
|
205
300
|
* Await a state that permits an ATTACH transition. `createAnalytics` starts
|
|
@@ -236,6 +331,12 @@ export function createAnalytics(config, internal = {}) {
|
|
|
236
331
|
throw actor.getSnapshot().context.lastError ?? new AnalyticsError('attach_failed', 'attach failed');
|
|
237
332
|
}
|
|
238
333
|
currentCtx = ctx;
|
|
334
|
+
// A previous tenant's roster must never survive a re-attach; the
|
|
335
|
+
// cache key guards this too, but clearing here keeps brand-switch
|
|
336
|
+
// isolation obvious. (Attach step 5 also resolves members, for
|
|
337
|
+
// retention math, but the machine does not surface that result —
|
|
338
|
+
// so the first getFamilyMembers() pays one provider call.)
|
|
339
|
+
familyMembersCache = undefined;
|
|
239
340
|
log.info('analytics.attached', {
|
|
240
341
|
brand: ctx.brand,
|
|
241
342
|
tenantId: ctx.tenantId,
|
|
@@ -249,14 +350,11 @@ export function createAnalytics(config, internal = {}) {
|
|
|
249
350
|
catch (cause) {
|
|
250
351
|
log.warn('analytics.persist.last_attach_failed', { cause });
|
|
251
352
|
}
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
}
|
|
257
|
-
catch (cause) {
|
|
258
|
-
log.warn('analytics.retention.sweep_failed', { cause });
|
|
259
|
-
}
|
|
353
|
+
try {
|
|
354
|
+
await sweep(ctx);
|
|
355
|
+
}
|
|
356
|
+
catch (cause) {
|
|
357
|
+
log.warn('analytics.retention.sweep_failed', { cause });
|
|
260
358
|
}
|
|
261
359
|
},
|
|
262
360
|
async detach() {
|
|
@@ -313,16 +411,20 @@ export function createAnalytics(config, internal = {}) {
|
|
|
313
411
|
publicSubscribers.add(listener);
|
|
314
412
|
return () => publicSubscribers.delete(listener);
|
|
315
413
|
},
|
|
414
|
+
getFamilyMembers,
|
|
415
|
+
async dismissInsight(args) {
|
|
416
|
+
assertAttached(currentState(actor), 'dismissInsight');
|
|
417
|
+
await dismissInsightImpl(args, {
|
|
418
|
+
analytics: engine,
|
|
419
|
+
eventBus: config.eventBus,
|
|
420
|
+
});
|
|
421
|
+
},
|
|
316
422
|
async setRetention(days) {
|
|
317
423
|
if (!currentCtx) {
|
|
318
424
|
throw new AnalyticsError('not_attached', 'setRetention requires an attached engine');
|
|
319
425
|
}
|
|
320
|
-
const catalog = actor.getSnapshot().context.warehouseSecret;
|
|
321
|
-
if (!catalog) {
|
|
322
|
-
throw new AnalyticsError('not_attached', 'setRetention: no warehouse catalog');
|
|
323
|
-
}
|
|
324
426
|
await saveRetentionOverride(config.storage, currentCtx, days);
|
|
325
|
-
await sweep(currentCtx
|
|
427
|
+
await sweep(currentCtx);
|
|
326
428
|
},
|
|
327
429
|
async getLastAttach(brand) {
|
|
328
430
|
return loadLastAttach(config.storage, brand);
|
package/dist/core/factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/core/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEpC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,EACL,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,qBAAqB,GACtB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAU1E,OAAO,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAA;AAEpB,mEAAmE;AAEnE;;;;;GAKG;AACH,SAAS,oBAAoB;IAC3B,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,IAAI,mBAAmB,CAC3B,8FAA8F,CAC/F,CAAA;QACD,yEAAyE;QACzE,wEAAwE;QACxE,iEAAiE;QACjE,OAAO,SAAsC,CAAA;IAC/C,CAAC,CAAA;AACH,CAAC;AAeD,iEAAiE;AAEjE;;;GAGG;AACH,SAAS,gBAAgB,CACvB,KAA8D,EAC9D,OAAqB;IAErB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,OAAO,CAAC,CAAA;QAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;YACvC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS,GAAG,IAAI,CAAA;gBAChB,OAAM;YACR,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;YACtE,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,WAAW,EAAE,CAAA;gBACjB,OAAO,CAAC,KAAU,CAAC,CAAA;YACrB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAA8D;IAClF,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAA;IACrC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAsB,CAAC,CAAC,CAAC,MAAM,CAAA;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,KAAqB,EAAE,SAAiB;IAC9D,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,MAAM,IAAI,cAAc,CACtB,cAAc,EACd,GAAG,SAAS,uCAAuC,KAAK,GAAG,CAC5D,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,oBAAoB,GAAG,oCAAoC,CAAA;AACjE,MAAM,eAAe,GAAG,OAAO,CAAA;AAE/B,KAAK,UAAU,iBAAiB,CAC9B,EAAgB,EAChB,GAA8B;IAE9B,IAAI,GAAG,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,cAAc,CACtB,oBAAoB,EACpB,+BAA+B,GAAG,CAAC,WAAW,iCAAiC,CAChF,CAAA;QACH,CAAC;QACD,MAAM,EAAE,CAAC,OAAO,CAAC,uBAAuB,GAAG,CAAC,WAAW,GAAG,CAAC,CAAA;IAC7D,CAAC;IACD,IAAI,GAAG,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,cAAc,CACtB,oBAAoB,EACpB,2BAA2B,GAAG,CAAC,OAAO,qBAAqB,CAC5D,CAAA;QACH,CAAC;QACD,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAClD,CAAC;AACH,CAAC;AAED,oDAAoD;AAEpD,MAAM,UAAU,eAAe,CAC7B,MAAuB,EACvB,WAAoC,EAAE;IAEtC,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,IAAI,oBAAoB,EAAE,CAAA;IACtE,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,CAAA;IAE1C,yEAAyE;IACzE,oEAAoE;IACpE,sEAAsE;IACtE,kEAAkE;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAA;IAChC,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAA;IAChC,MAAM,QAAQ,GAAG,MAA2B,CAAA;IAE5C,MAAM,aAAa,GAAkB;QACnC,KAAK,CAAC,UAAU;YACd,MAAM,EAAE,CAAC,IAAI,EAAE,CAAA;YACf,MAAM,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAC1C,MAAM,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE;YACxB,iEAAiE;YACjE,uEAAuE;YACvE,oEAAoE;YACpE,iEAAiE;YACjE,mEAAmE;YACnE,mEAAmE;YACnE,IAAI,MAAM,CAAA;YACV,IAAI,aAAiC,CAAA;YACrC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YACrC,CAAC;iBACI,CAAC;gBACJ,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE;oBACtC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;oBACjD,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;oBACrD,eAAe,EAAE,QAAQ,CAAC,eAAe;iBAC1C,CAAC,CAAA;gBACF,aAAa,GAAG,MAAM,CAAC,eAAe,CAAA;YACxC,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAA;YAEhD,MAAM,gBAAgB,CACpB,EAAE,EACF,MAAM,CAAC,OAAO,EACd,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAC5C,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,CAC/C,CAAA;YACD,OAAO;gBACL,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE;aAChD,CAAA;QACH,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE;YACxB,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;YACrC,CAAC;iBACI,CAAC;gBACJ,MAAM,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE;YACxB,kEAAkE;YAClE,iEAAiE;YACjE,4DAA4D;YAC5D,0DAA0D;YAC1D,8DAA8D;YAC9D,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;oBACL,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;iBAC7D,CAAA;YACH,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;gBAC7C,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC,CAAA;YACF,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACpD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,OAAO,CACd,4BAA4B,UAAU,oDAAoD,EAC1F,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,CAC3D,CAAA;YACH,CAAC;YACD,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,cAAc,CACtB,qBAAqB,EACrB,qDAAqD,UAAU,EAAE,EACjE,KAAK,CACN,CAAA;YACH,CAAC;YACD,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAA;QACtD,CAAC;KACF,CAAA;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;IAE/E,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA+B,CAAA;IAChE,IAAI,eAA2C,CAAA;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACvC,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;YAC1B,eAAe,GAAG,CAAC,CAAA;YACnB,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAC5C,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,iBAAiB;YAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAE5B;;;;OAIG;IACH,IAAI,UAAqC,CAAA;IAEzC;;;;OAIG;IACH,KAAK,UAAU,KAAK,CAAC,GAAkB,EAAE,OAAe;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC5C,MAAM,YAAY,GAAG,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAA;QACxC,MAAM,YAAY,GAAG,CAAC,MAAM,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,SAAS,CAAA;QACpF,MAAM,aAAa,GAAG,yBAAyB,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAA;QAC/E,IAAI,aAAa,IAAI,CAAC;YAAE,OAAM;QAC9B,iEAAiE;QACjE,mEAAmE;QACnE,8DAA8D;QAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,gBAAgB,EAAE,CAAA;QACnE,MAAM,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,CAAA;IACxD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,UAAU,oBAAoB;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW;YAC1C,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,UAAU;gBAAE,OAAM;YAC7C,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;gBAClB,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS;uBACtC,IAAI,cAAc,CAAC,oBAAoB,EAAE,2CAA2C,CAAC,CAAA;YAC5F,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QACvD,CAAC;QACD,MAAM,IAAI,cAAc,CAAC,oBAAoB,EAAE,iDAAiD,CAAC,CAAA;IACnG,CAAC;IAED,MAAM,MAAM,GAAoB;QAC9B,KAAK,CAAC,MAAM,CAAC,GAAkB;YAC7B,MAAM,oBAAoB,EAAE,CAAA;YAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAU,CAAC,CAAA;YACvE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAA;YACnC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAA;YAC3B,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,cAAc,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;YACrG,CAAC;YACD,UAAU,GAAG,GAAG,CAAA;YAChB,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAA;YACF,iEAAiE;YACjE,6CAA6C;YAC7C,IAAI,CAAC;gBACH,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YAC3C,CAAC;YACD,OAAO,KAAK,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YAC7D,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,eAAe,CAAA;YAC3D,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;gBAC3B,CAAC;gBACD,OAAO,KAAK,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,CAAC,MAAM;YACV,MAAM,WAAW,GAAG,UAAU,CAAA;YAC9B,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAU,CAAC,CAAA;YACpE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC9B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAA;YAC3B,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,cAAc,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;YACrG,CAAC;YACD,UAAU,GAAG,SAAS,CAAA;YACtB,IAAI,WAAW,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE;oBAC7B,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,QAAQ,EAAE,WAAW,CAAC,QAAQ;iBAC/B,CAAC,CAAA;gBACF,IAAI,CAAC;oBACH,MAAM,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAA;gBAC1D,CAAC;gBACD,OAAO,KAAK,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;QACD,iEAAiE;QACjE,uEAAuE;QACvE,mEAAmE;QACnE,uDAAuD;QACvD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;YACvB,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAA;YAC9C,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAChC,CAAC;QACD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACtB,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAA;YAC7C,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC/B,CAAC;QACD,cAAc,EAAE,CAAC,KAAK,EAAqB,EAAE;YAC3C,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC,CAAA;YACjE,OAAO,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QACjC,CAAC;QACD,IAAI,KAAK;YACP,OAAO,YAAY,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;QACD,IAAI,SAAS;YACX,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAA;QACtD,CAAC;QACD,IAAI,OAAO;YACT,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,eAAe,CAAA;QACpD,CAAC;QACD,IAAI,IAAI;YACN,OAAO,IAAI,CAAA;QACb,CAAC;QACD,SAAS,CAAC,QAAQ;YAChB,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC/B,OAAO,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAoB,CAAA;QACpE,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,IAAI;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,0CAA0C,CAAC,CAAA;YACtF,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,eAAe,CAAA;YAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,oCAAoC,CAAC,CAAA;YAChF,CAAC;YACD,MAAM,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,KAAa;YAC/B,OAAO,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC9C,CAAC;QACD,KAAK,CAAC,KAAK;YACT,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;YAC7B,WAAW,CAAC,WAAW,EAAE,CAAA;YACzB,iBAAiB,CAAC,KAAK,EAAE,CAAA;YACzB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;YAChB,KAAK,CAAC,IAAI,EAAE,CAAA;QACd,CAAC;KACF,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/core/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEpC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EACL,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,qBAAqB,GACtB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAU1E,OAAO,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,WAAW,EACX,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAA;AAEpB,mEAAmE;AAEnE;;;;;GAKG;AACH,SAAS,oBAAoB;IAC3B,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,IAAI,mBAAmB,CAC3B,8FAA8F,CAC/F,CAAA;QACD,yEAAyE;QACzE,wEAAwE;QACxE,iEAAiE;QACjE,OAAO,SAAsC,CAAA;IAC/C,CAAC,CAAA;AACH,CAAC;AAeD,iEAAiE;AAEjE;;;GAGG;AACH,SAAS,gBAAgB,CACvB,KAA8D,EAC9D,OAAqB;IAErB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,OAAO,CAAC,CAAA;QAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;YACvC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS,GAAG,IAAI,CAAA;gBAChB,OAAM;YACR,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;YACtE,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,WAAW,EAAE,CAAA;gBACjB,OAAO,CAAC,KAAU,CAAC,CAAA;YACrB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAA8D;IAClF,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAA;IACrC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAsB,CAAC,CAAC,CAAC,MAAM,CAAA;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,KAAqB,EAAE,SAAiB;IAC9D,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,MAAM,IAAI,cAAc,CACtB,cAAc,EACd,GAAG,SAAS,uCAAuC,KAAK,GAAG,CAC5D,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,oBAAoB,GAAG,oCAAoC,CAAA;AACjE,MAAM,eAAe,GAAG,OAAO,CAAA;AAE/B,KAAK,UAAU,iBAAiB,CAC9B,EAAgB,EAChB,GAA8B;IAE9B,IAAI,GAAG,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,cAAc,CACtB,oBAAoB,EACpB,+BAA+B,GAAG,CAAC,WAAW,iCAAiC,CAChF,CAAA;QACH,CAAC;QACD,MAAM,EAAE,CAAC,OAAO,CAAC,uBAAuB,GAAG,CAAC,WAAW,GAAG,CAAC,CAAA;IAC7D,CAAC;IACD,IAAI,GAAG,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,cAAc,CACtB,oBAAoB,EACpB,2BAA2B,GAAG,CAAC,OAAO,qBAAqB,CAC5D,CAAA;QACH,CAAC;QACD,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAClD,CAAC;AACH,CAAC;AAED,oDAAoD;AAEpD,MAAM,UAAU,eAAe,CAC7B,MAAuB,EACvB,WAAoC,EAAE;IAEtC,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,IAAI,oBAAoB,EAAE,CAAA;IACtE,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,CAAA;IAE1C,yEAAyE;IACzE,oEAAoE;IACpE,sEAAsE;IACtE,kEAAkE;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAA;IAChC,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAA;IAChC,MAAM,QAAQ,GAAG,MAA2B,CAAA;IAE5C,MAAM,aAAa,GAAkB;QACnC,KAAK,CAAC,UAAU;YACd,MAAM,EAAE,CAAC,IAAI,EAAE,CAAA;YACf,MAAM,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAC1C,MAAM,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE;YACxB,iEAAiE;YACjE,uEAAuE;YACvE,oEAAoE;YACpE,iEAAiE;YACjE,mEAAmE;YACnE,mEAAmE;YACnE,IAAI,MAAM,CAAA;YACV,IAAI,aAAiC,CAAA;YACrC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YACrC,CAAC;iBACI,CAAC;gBACJ,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE;oBACtC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;oBACjD,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;oBACrD,eAAe,EAAE,QAAQ,CAAC,eAAe;iBAC1C,CAAC,CAAA;gBACF,aAAa,GAAG,MAAM,CAAC,eAAe,CAAA;YACxC,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAA;YAChD,gBAAgB,GAAG,YAAY,CAAA;YAE/B,MAAM,gBAAgB,CACpB,EAAE,EACF,MAAM,CAAC,OAAO,EACd,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAC5C,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,CAC/C,CAAA;YAED,mEAAmE;YACnE,kEAAkE;YAClE,+DAA+D;YAC/D,mEAAmE;YACnE,gEAAgE;YAChE,oEAAoE;YACpE,MAAM,WAAW,CAAC,EAAE,EAAE;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,YAAY;gBACZ,aAAa;aACd,CAAC,CAAA;YACF,OAAO;gBACL,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE;aAChD,CAAA;QACH,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE;YACxB,mEAAmE;YACnE,qEAAqE;YACrE,qEAAqE;YACrE,2CAA2C;YAC3C,MAAM,SAAS,CAAC,EAAE,CAAC,CAAA;YACnB,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;YACrC,CAAC;iBACI,CAAC;gBACJ,MAAM,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE;YACxB,kEAAkE;YAClE,iEAAiE;YACjE,4DAA4D;YAC5D,0DAA0D;YAC1D,8DAA8D;YAC9D,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;oBACL,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;iBAC7D,CAAA;YACH,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;gBAC7C,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC,CAAA;YACF,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACpD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,OAAO,CACd,4BAA4B,UAAU,oDAAoD,EAC1F,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,CAC3D,CAAA;YACH,CAAC;YACD,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,cAAc,CACtB,qBAAqB,EACrB,qDAAqD,UAAU,EAAE,EACjE,KAAK,CACN,CAAA;YACH,CAAC;YACD,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAA;QACtD,CAAC;KACF,CAAA;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;IAE/E,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA+B,CAAA;IAChE,IAAI,eAA2C,CAAA;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACvC,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;YAC1B,eAAe,GAAG,CAAC,CAAA;YACnB,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAC5C,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,iBAAiB;YAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAE5B;;;;OAIG;IACH,IAAI,UAAqC,CAAA;IAEzC;;;;;OAKG;IACH,IAAI,gBAAoC,CAAA;IAExC;;;;;;OAMG;IACH,MAAM,qBAAqB,GAAG,KAAM,CAAA;IACpC,IAAI,kBAES,CAAA;IAEb,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,eAAe,EAAE,GAAG,EAAE;QAC/C,kBAAkB,GAAG,SAAS,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,KAAK,UAAU,gBAAgB;QAC7B,oEAAoE;QACpE,0DAA0D;QAC1D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,WAAW,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAA;QACjE,MAAM,EAAE,GAAG,MAAoC,CAAA;QAC/C,IAAI,OAAO,EAAE,CAAC,qBAAqB,KAAK,UAAU;YAAE,OAAO,EAAE,CAAA;QAE7D,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAA;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,kBAAkB,EAAE,GAAG,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;YAC1E,OAAO,kBAAkB,CAAC,OAAO,CAAA;QACnC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,qBAAqB,CAAC;gBAC7C,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B,CAAC,CAAA;YACF,kBAAkB,GAAG;gBACnB,GAAG;gBACH,OAAO;gBACP,SAAS,EAAE,GAAG,GAAG,qBAAqB;aACvC,CAAA;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,qEAAqE;YACrE,0DAA0D;YAC1D,GAAG,CAAC,KAAK,CAAC,6CAA6C,EAAE;gBACvD,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,GAAG,EAAG,KAAe,CAAC,OAAO;aAC9B,CAAC,CAAA;YACF,kBAAkB,GAAG,SAAS,CAAA;YAC9B,MAAM,IAAI,cAAc,CACtB,uBAAuB,EACvB,oCAAoC,UAAU,CAAC,QAAQ,EAAE,EACzD,KAAK,CACN,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,UAAU,iBAAiB,CAAC,GAAkB,EAAE,KAAa;QAChE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAClC,uBAAuB,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,IAAI,KAAK,OAAO,CACjE,CAAA;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAAE,OAAO,MAAM,CAAA;QACpD,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,KAAK,UAAU,KAAK,CAAC,GAAkB;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC5C,MAAM,YAAY,GAAG,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAA;QACxC,MAAM,YAAY,GAAG,CAAC,MAAM,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,SAAS,CAAA;QACpF,MAAM,aAAa,GAAG,yBAAyB,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAA;QAC/E,IAAI,aAAa,IAAI,CAAC;YAAE,OAAM;QAC9B,MAAM,MAAM,GAAG,gBAAgB,IAAI,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAA;QAC9D,MAAM,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE;YAClC,aAAa;YACb,IAAI;YACJ,oEAAoE;YACpE,8DAA8D;YAC9D,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC;SAC/E,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,UAAU,oBAAoB;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW;YAC1C,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,UAAU;gBAAE,OAAM;YAC7C,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;gBAClB,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS;uBACtC,IAAI,cAAc,CAAC,oBAAoB,EAAE,2CAA2C,CAAC,CAAA;YAC5F,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QACvD,CAAC;QACD,MAAM,IAAI,cAAc,CAAC,oBAAoB,EAAE,iDAAiD,CAAC,CAAA;IACnG,CAAC;IAED,MAAM,MAAM,GAAoB;QAC9B,KAAK,CAAC,MAAM,CAAC,GAAkB;YAC7B,MAAM,oBAAoB,EAAE,CAAA;YAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAU,CAAC,CAAA;YACvE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAA;YACnC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAA;YAC3B,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,cAAc,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;YACrG,CAAC;YACD,UAAU,GAAG,GAAG,CAAA;YAChB,iEAAiE;YACjE,kEAAkE;YAClE,+DAA+D;YAC/D,iEAAiE;YACjE,2DAA2D;YAC3D,kBAAkB,GAAG,SAAS,CAAA;YAC9B,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAA;YACF,iEAAiE;YACjE,6CAA6C;YAC7C,IAAI,CAAC;gBACH,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YAC3C,CAAC;YACD,OAAO,KAAK,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YAC7D,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,CAAC;YACD,OAAO,KAAK,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;QACD,KAAK,CAAC,MAAM;YACV,MAAM,WAAW,GAAG,UAAU,CAAA;YAC9B,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAU,CAAC,CAAA;YACpE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC9B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAA;YAC3B,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,cAAc,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;YACrG,CAAC;YACD,UAAU,GAAG,SAAS,CAAA;YACtB,IAAI,WAAW,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE;oBAC7B,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,QAAQ,EAAE,WAAW,CAAC,QAAQ;iBAC/B,CAAC,CAAA;gBACF,IAAI,CAAC;oBACH,MAAM,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAA;gBAC1D,CAAC;gBACD,OAAO,KAAK,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;QACD,iEAAiE;QACjE,uEAAuE;QACvE,mEAAmE;QACnE,uDAAuD;QACvD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;YACvB,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAA;YAC9C,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAChC,CAAC;QACD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACtB,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAA;YAC7C,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC/B,CAAC;QACD,cAAc,EAAE,CAAC,KAAK,EAAqB,EAAE;YAC3C,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC,CAAA;YACjE,OAAO,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QACjC,CAAC;QACD,IAAI,KAAK;YACP,OAAO,YAAY,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;QACD,IAAI,SAAS;YACX,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAA;QACtD,CAAC;QACD,IAAI,OAAO;YACT,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,eAAe,CAAA;QACpD,CAAC;QACD,IAAI,IAAI;YACN,OAAO,IAAI,CAAA;QACb,CAAC;QACD,SAAS,CAAC,QAAQ;YAChB,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC/B,OAAO,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAoB,CAAA;QACpE,CAAC;QACD,gBAAgB;QAChB,KAAK,CAAC,cAAc,CAAC,IAAI;YACvB,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAA;YACrD,MAAM,kBAAkB,CAAC,IAAI,EAAE;gBAC7B,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,IAAI;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,0CAA0C,CAAC,CAAA;YACtF,CAAC;YACD,MAAM,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,KAAK,CAAC,UAAU,CAAC,CAAA;QACzB,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,KAAa;YAC/B,OAAO,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC9C,CAAC;QACD,KAAK,CAAC,KAAK;YACT,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;YAC7B,WAAW,CAAC,WAAW,EAAE,CAAA;YACzB,iBAAiB,CAAC,KAAK,EAAE,CAAA;YACzB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;YAChB,KAAK,CAAC,IAAI,EAAE,CAAA;QACd,CAAC;KACF,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/dist/core/hooks.js
CHANGED
|
@@ -116,7 +116,7 @@ export function useInsight(id) {
|
|
|
116
116
|
const engine = useAnalyticsEngine();
|
|
117
117
|
const catalog = engine.catalog;
|
|
118
118
|
const sql = catalog
|
|
119
|
-
? `SELECT * FROM ${catalog}.insight WHERE
|
|
119
|
+
? `SELECT * FROM ${catalog}.insight WHERE insight_id = $id LIMIT 1`
|
|
120
120
|
: '';
|
|
121
121
|
const params = useMemo(() => ({ id }), [id]);
|
|
122
122
|
const { data, loading } = useTimeseries(catalog ? id : undefined, sql, params);
|
package/dist/core/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/core/hooks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/core/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -13,5 +13,15 @@ export { AnalyticsError, NotImplementedError } from './errors';
|
|
|
13
13
|
export type { AnalyticsErrorCode } from './errors';
|
|
14
14
|
export { isSyncable, TABLE_METADATA, timeColumnFor } from './table_metadata';
|
|
15
15
|
export type { TableSyncMetadata } from './table_metadata';
|
|
16
|
-
export
|
|
16
|
+
export { decodeDeviceEventPayload, DEVICE_EVENT_PAYLOAD_SCHEMAS, DEVICE_EVENT_TYPES, encodeDeviceEventPayload, isDeviceEventType, SyncTrigger, } from './device-events';
|
|
17
|
+
export type { DeviceEventPayload, DeviceEventType, SyncTriggerValue, } from './device-events';
|
|
18
|
+
export { createWatermarkCache, WATERMARK_CACHE_TTL_MS, } from './watermark-cache';
|
|
19
|
+
export type { WatermarkCache, WatermarkCacheOptions, WatermarkCacheStats, } from './watermark-cache';
|
|
20
|
+
export { dismissInsight } from './insight';
|
|
21
|
+
export type { DismissInsightArgs, DismissInsightDeps } from './insight';
|
|
22
|
+
export { baselineAggregateFor, BASELINE_MIN_DAYS, BASELINE_WINDOW_DAYS, getBaselineMetricIds, } from './metric_metadata';
|
|
23
|
+
export type { BaselineDailyAggregate, BaselineWindowDays, } from './metric_metadata';
|
|
24
|
+
export { dropViewDdl, generateViewDdl, VIEWED_TABLES, watermarkColumnFor, } from './schemas';
|
|
25
|
+
export type { ViewedTable } from './schemas';
|
|
26
|
+
export type { AnalyticsAppender, AnalyticsConfig, AnalyticsEngine, AnalyticsLogger, AnalyticsState, AttachContext, EventBus, FamilyMembersProvider, Insight, InsightKind, InsightSeverity, KVStore, TenantScope, TokenContext, TokenResponse, TokenVendor, Unsubscribe, } from './types';
|
|
17
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG3C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,YAAY,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAGvD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAKlD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAC5E,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG3C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,YAAY,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAGvD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAKlD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAC5E,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAKzD,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,GACZ,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,iBAAiB,CAAA;AAIxB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAGvE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAI1B,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,kBAAkB,GACnB,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAG5C,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,WAAW,EACX,eAAe,EACf,OAAO,EACP,WAAW,EACX,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,SAAS,CAAA"}
|
package/dist/core/index.js
CHANGED
|
@@ -16,4 +16,18 @@ export { AnalyticsError, NotImplementedError } from './errors';
|
|
|
16
16
|
// who need to know a table's sync watermark column or syncability flag,
|
|
17
17
|
// e.g. when composing custom pushAll/fetch loops).
|
|
18
18
|
export { isSyncable, TABLE_METADATA, timeColumnFor } from './table_metadata';
|
|
19
|
+
// Device event enum + payload schemas (Sprint 5 §6). Re-exported from
|
|
20
|
+
// @mongrov/types so @mongrov/device can emit typed events without a
|
|
21
|
+
// runtime dependency on the analytics engine.
|
|
22
|
+
export { decodeDeviceEventPayload, DEVICE_EVENT_PAYLOAD_SCHEMAS, DEVICE_EVENT_TYPES, encodeDeviceEventPayload, isDeviceEventType, SyncTrigger, } from './device-events';
|
|
23
|
+
// Watermark cache (Sprint 5 T-07). Disabled by default — measurement-gated
|
|
24
|
+
// on Ziva pilot p95 latency; the instrument runs regardless.
|
|
25
|
+
export { createWatermarkCache, WATERMARK_CACHE_TTL_MS, } from './watermark-cache';
|
|
26
|
+
// Insight dismissal (Sprint 5 §7b / T-15c).
|
|
27
|
+
export { dismissInsight } from './insight';
|
|
28
|
+
// Baseline metadata (Sprint 5 §7).
|
|
29
|
+
export { baselineAggregateFor, BASELINE_MIN_DAYS, BASELINE_WINDOW_DAYS, getBaselineMetricIds, } from './metric_metadata';
|
|
30
|
+
// Union views (Sprint 5 §3). Registry/rule/tool SQL targets `v_{table}`,
|
|
31
|
+
// never `local.{table}` or `r2.default.{table}` (principle 19).
|
|
32
|
+
export { dropViewDdl, generateViewDdl, VIEWED_TABLES, watermarkColumnFor, } from './schemas';
|
|
19
33
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kCAAkC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,qBAAqB;AACrB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAOjE,qBAAqB;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAG7C,SAAS;AACT,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAG9D,sEAAsE;AACtE,wEAAwE;AACxE,mDAAmD;AACnD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kCAAkC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,qBAAqB;AACrB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAOjE,qBAAqB;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAG7C,SAAS;AACT,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAG9D,sEAAsE;AACtE,wEAAwE;AACxE,mDAAmD;AACnD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAG5E,sEAAsE;AACtE,oEAAoE;AACpE,8CAA8C;AAC9C,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,GACZ,MAAM,iBAAiB,CAAA;AAOxB,2EAA2E;AAC3E,6DAA6D;AAC7D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,mBAAmB,CAAA;AAO1B,4CAA4C;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAG1C,mCAAmC;AACnC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAM1B,yEAAyE;AACzE,gEAAgE;AAChE,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,kBAAkB,GACnB,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Insight dismissal (Sprint 5 §7b / T-15c).
|
|
3
|
+
*
|
|
4
|
+
* Backs the app registry's `insight.dismiss` mutation. Dismissal stamps
|
|
5
|
+
* `dismissed_at` rather than deleting the row (principle 51): registry
|
|
6
|
+
* queries filter `WHERE dismissed_at IS NULL` by default, so the card
|
|
7
|
+
* disappears from the feed, but the row survives for a future "restore"
|
|
8
|
+
* surface and for audit.
|
|
9
|
+
*
|
|
10
|
+
* Note there is no migration here. The Sprint 5 spec lists
|
|
11
|
+
* `insight.dismissed_at` as an `ALTER TABLE` at migration v4, but the
|
|
12
|
+
* column already ships in the baseline DDL and migration v3 backfills it
|
|
13
|
+
* for pre-0.7.0 installs — so T-15b is satisfied and an ALTER would be a
|
|
14
|
+
* no-op against a column that exists.
|
|
15
|
+
*/
|
|
16
|
+
import type { AnalyticsEngine, EventBus } from './types';
|
|
17
|
+
export interface DismissInsightArgs {
|
|
18
|
+
insightId: string;
|
|
19
|
+
userId: string;
|
|
20
|
+
}
|
|
21
|
+
export interface DismissInsightDeps {
|
|
22
|
+
analytics: Pick<AnalyticsEngine, 'execute'>;
|
|
23
|
+
eventBus?: EventBus;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Stamp `dismissed_at` on one insight.
|
|
27
|
+
*
|
|
28
|
+
* Authorization is by ownership: the caller must be the user the insight
|
|
29
|
+
* was raised for. This is deliberately stricter than family scope — a
|
|
30
|
+
* family member can *see* aggregate data, but dismissing someone else's
|
|
31
|
+
* health card is a write on their feed, and there is no product surface
|
|
32
|
+
* that asks for it.
|
|
33
|
+
*
|
|
34
|
+
* Idempotent: dismissing an already-dismissed insight is a no-op that
|
|
35
|
+
* preserves the original timestamp and re-emits no event, so a double-tap
|
|
36
|
+
* on a slow connection cannot rewrite history.
|
|
37
|
+
*
|
|
38
|
+
* @throws `AnalyticsError('query_failed')` when the insight does not exist
|
|
39
|
+
* or belongs to another user. The two cases share a message on purpose —
|
|
40
|
+
* distinguishing them would let a caller probe for the existence of
|
|
41
|
+
* another user's insights.
|
|
42
|
+
*/
|
|
43
|
+
export declare function dismissInsight(args: DismissInsightArgs, deps: DismissInsightDeps): Promise<void>;
|
|
44
|
+
//# sourceMappingURL=insight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insight.d.ts","sourceRoot":"","sources":["../../src/core/insight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAExD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;IAC3C,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AASD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CAyCf"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Insight dismissal (Sprint 5 §7b / T-15c).
|
|
3
|
+
*
|
|
4
|
+
* Backs the app registry's `insight.dismiss` mutation. Dismissal stamps
|
|
5
|
+
* `dismissed_at` rather than deleting the row (principle 51): registry
|
|
6
|
+
* queries filter `WHERE dismissed_at IS NULL` by default, so the card
|
|
7
|
+
* disappears from the feed, but the row survives for a future "restore"
|
|
8
|
+
* surface and for audit.
|
|
9
|
+
*
|
|
10
|
+
* Note there is no migration here. The Sprint 5 spec lists
|
|
11
|
+
* `insight.dismissed_at` as an `ALTER TABLE` at migration v4, but the
|
|
12
|
+
* column already ships in the baseline DDL and migration v3 backfills it
|
|
13
|
+
* for pre-0.7.0 installs — so T-15b is satisfied and an ALTER would be a
|
|
14
|
+
* no-op against a column that exists.
|
|
15
|
+
*/
|
|
16
|
+
import { AnalyticsError } from './errors';
|
|
17
|
+
/**
|
|
18
|
+
* Stamp `dismissed_at` on one insight.
|
|
19
|
+
*
|
|
20
|
+
* Authorization is by ownership: the caller must be the user the insight
|
|
21
|
+
* was raised for. This is deliberately stricter than family scope — a
|
|
22
|
+
* family member can *see* aggregate data, but dismissing someone else's
|
|
23
|
+
* health card is a write on their feed, and there is no product surface
|
|
24
|
+
* that asks for it.
|
|
25
|
+
*
|
|
26
|
+
* Idempotent: dismissing an already-dismissed insight is a no-op that
|
|
27
|
+
* preserves the original timestamp and re-emits no event, so a double-tap
|
|
28
|
+
* on a slow connection cannot rewrite history.
|
|
29
|
+
*
|
|
30
|
+
* @throws `AnalyticsError('query_failed')` when the insight does not exist
|
|
31
|
+
* or belongs to another user. The two cases share a message on purpose —
|
|
32
|
+
* distinguishing them would let a caller probe for the existence of
|
|
33
|
+
* another user's insights.
|
|
34
|
+
*/
|
|
35
|
+
export async function dismissInsight(args, deps) {
|
|
36
|
+
const { insightId, userId } = args;
|
|
37
|
+
if (typeof insightId !== 'string' || insightId.length === 0) {
|
|
38
|
+
throw new AnalyticsError('query_failed', 'dismissInsight: insightId is required');
|
|
39
|
+
}
|
|
40
|
+
if (typeof userId !== 'string' || userId.length === 0) {
|
|
41
|
+
throw new AnalyticsError('query_failed', 'dismissInsight: userId is required');
|
|
42
|
+
}
|
|
43
|
+
const rows = await deps.analytics.execute(`SELECT user_id, metric, dismissed_at::VARCHAR AS dismissed_at
|
|
44
|
+
FROM insight WHERE insight_id = $insightId LIMIT 1`, { insightId });
|
|
45
|
+
const row = rows[0];
|
|
46
|
+
if (!row || row.user_id !== userId) {
|
|
47
|
+
throw new AnalyticsError('query_failed', `dismissInsight: insight ${insightId} not found for this user`);
|
|
48
|
+
}
|
|
49
|
+
if (row.dismissed_at !== null && row.dismissed_at !== undefined) {
|
|
50
|
+
// Already dismissed — keep the original stamp and stay quiet.
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
await deps.analytics.execute(`UPDATE insight SET dismissed_at = now()
|
|
54
|
+
WHERE insight_id = $insightId AND user_id = $userId`, { insightId, userId });
|
|
55
|
+
// Registry queries filtering on `dismissed_at IS NULL` invalidate on this.
|
|
56
|
+
deps.eventBus?.emit('insight:dismissed', {
|
|
57
|
+
insightId,
|
|
58
|
+
userId,
|
|
59
|
+
metric: row.metric,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=insight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insight.js","sourceRoot":"","sources":["../../src/core/insight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAoBzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAwB,EACxB,IAAwB;IAExB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAElC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,uCAAuC,CAAC,CAAA;IACnF,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,oCAAoC,CAAC,CAAA;IAChF,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CACvC;wDACoD,EACpD,EAAE,SAAS,EAAE,CACd,CAAA;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,cAAc,CACtB,cAAc,EACd,2BAA2B,SAAS,0BAA0B,CAC/D,CAAA;IACH,CAAC;IAED,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAChE,8DAA8D;QAC9D,OAAM;IACR,CAAC;IAED,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAC1B;yDACqD,EACrD,EAAE,SAAS,EAAE,MAAM,EAAE,CACtB,CAAA;IAED,2EAA2E;IAC3E,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE;QACvC,SAAS;QACT,MAAM;QACN,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -15,11 +15,35 @@ export type MetricExposure = 'full' | 'collected_only';
|
|
|
15
15
|
* than shoehorning it into a number.
|
|
16
16
|
*/
|
|
17
17
|
export type MetricSamplingMinutes = number | 'per_session';
|
|
18
|
+
/**
|
|
19
|
+
* How a metric collapses to ONE value per local day before quantiles are
|
|
20
|
+
* taken across days (principle 27, "baselines are day-first").
|
|
21
|
+
*
|
|
22
|
+
* - `'avg'` — mean of the day's readings (spo2, hrv_ms, stress, hr_bpm, temp_c)
|
|
23
|
+
* - `'sum'` — total across the day (activity_steps)
|
|
24
|
+
* - `'session'` — already one value per night; no daily GROUP BY (sleep)
|
|
25
|
+
*
|
|
26
|
+
* Getting this wrong silently corrupts the "usual range": quantiling raw
|
|
27
|
+
* readings lets a single intra-day dip set p10 for the whole window, which
|
|
28
|
+
* is exactly the bug day-first compute exists to prevent.
|
|
29
|
+
*/
|
|
30
|
+
export type BaselineDailyAggregate = 'avg' | 'sum' | 'session';
|
|
18
31
|
export interface MetricMetadataEntry {
|
|
19
32
|
table: TableName;
|
|
20
33
|
column: string;
|
|
34
|
+
/**
|
|
35
|
+
* Nominal cadence. **Fallback only** — `device_config.interval_minutes`
|
|
36
|
+
* supersedes this when a row exists for the device (principle 22,
|
|
37
|
+
* hardware-agnostic cadence).
|
|
38
|
+
*/
|
|
21
39
|
sampling_minutes: MetricSamplingMinutes;
|
|
22
40
|
exposure: MetricExposure;
|
|
41
|
+
/**
|
|
42
|
+
* Daily collapse used by baseline compute. Absent for metrics that carry
|
|
43
|
+
* no baseline (BP + vascular aging are `collected_only`; calories,
|
|
44
|
+
* distance and sleep_score have no baseline consumer in v0.2.0).
|
|
45
|
+
*/
|
|
46
|
+
baselineDailyAggregate?: BaselineDailyAggregate;
|
|
23
47
|
}
|
|
24
48
|
/**
|
|
25
49
|
* Frozen metric registry, verbatim from spec §Metric metadata.
|
|
@@ -33,12 +57,14 @@ export declare const METRIC_METADATA: Readonly<{
|
|
|
33
57
|
readonly column: "hrv_ms";
|
|
34
58
|
readonly sampling_minutes: 60;
|
|
35
59
|
readonly exposure: "full";
|
|
60
|
+
readonly baselineDailyAggregate: "avg";
|
|
36
61
|
};
|
|
37
62
|
readonly stress: {
|
|
38
63
|
readonly table: "hrv";
|
|
39
64
|
readonly column: "stress";
|
|
40
65
|
readonly sampling_minutes: 60;
|
|
41
66
|
readonly exposure: "full";
|
|
67
|
+
readonly baselineDailyAggregate: "avg";
|
|
42
68
|
};
|
|
43
69
|
readonly systolic_bp: {
|
|
44
70
|
readonly table: "hrv";
|
|
@@ -63,24 +89,28 @@ export declare const METRIC_METADATA: Readonly<{
|
|
|
63
89
|
readonly column: "bpm";
|
|
64
90
|
readonly sampling_minutes: 10;
|
|
65
91
|
readonly exposure: "full";
|
|
92
|
+
readonly baselineDailyAggregate: "avg";
|
|
66
93
|
};
|
|
67
94
|
readonly spo2: {
|
|
68
95
|
readonly table: "spo2";
|
|
69
96
|
readonly column: "spo2";
|
|
70
97
|
readonly sampling_minutes: 30;
|
|
71
98
|
readonly exposure: "full";
|
|
99
|
+
readonly baselineDailyAggregate: "avg";
|
|
72
100
|
};
|
|
73
101
|
readonly temp_c: {
|
|
74
102
|
readonly table: "temperature";
|
|
75
103
|
readonly column: "temp_c";
|
|
76
104
|
readonly sampling_minutes: 30;
|
|
77
105
|
readonly exposure: "full";
|
|
106
|
+
readonly baselineDailyAggregate: "avg";
|
|
78
107
|
};
|
|
79
108
|
readonly activity_steps: {
|
|
80
109
|
readonly table: "activity";
|
|
81
110
|
readonly column: "steps";
|
|
82
111
|
readonly sampling_minutes: 1;
|
|
83
112
|
readonly exposure: "full";
|
|
113
|
+
readonly baselineDailyAggregate: "sum";
|
|
84
114
|
};
|
|
85
115
|
readonly calories: {
|
|
86
116
|
readonly table: "activity_bucket";
|
|
@@ -99,6 +129,7 @@ export declare const METRIC_METADATA: Readonly<{
|
|
|
99
129
|
readonly column: "total_minutes";
|
|
100
130
|
readonly sampling_minutes: "per_session";
|
|
101
131
|
readonly exposure: "full";
|
|
132
|
+
readonly baselineDailyAggregate: "session";
|
|
102
133
|
};
|
|
103
134
|
readonly sleep_score: {
|
|
104
135
|
readonly table: "sleep_session";
|
|
@@ -125,4 +156,28 @@ export declare function isMetricExposed(id: MetricId): boolean;
|
|
|
125
156
|
* UI code that iterates the visible surface.
|
|
126
157
|
*/
|
|
127
158
|
export declare function getExposedMetricIds(): MetricId[];
|
|
159
|
+
/**
|
|
160
|
+
* Metric ids that carry a `user_baseline` row — those declaring a
|
|
161
|
+
* `baselineDailyAggregate`. Seven in v0.2.0, which at three windows each
|
|
162
|
+
* (7d / 30d / 90d) is the 21-baselines-per-user figure in the Sprint 5
|
|
163
|
+
* design.
|
|
164
|
+
*/
|
|
165
|
+
export declare function getBaselineMetricIds(): MetricId[];
|
|
166
|
+
/**
|
|
167
|
+
* `baselineDailyAggregate` for a metric, or `undefined` when it carries no
|
|
168
|
+
* baseline. Accessor rather than a direct property read because the
|
|
169
|
+
* `as const` registry narrows each entry to its own literal type, and the
|
|
170
|
+
* field is genuinely absent — not `undefined` — on entries without one.
|
|
171
|
+
*/
|
|
172
|
+
export declare function baselineAggregateFor(id: MetricId): BaselineDailyAggregate | undefined;
|
|
173
|
+
/** Baseline windows computed per metric (Sprint 5 §7). */
|
|
174
|
+
export declare const BASELINE_WINDOW_DAYS: readonly [7, 30, 90];
|
|
175
|
+
export type BaselineWindowDays = (typeof BASELINE_WINDOW_DAYS)[number];
|
|
176
|
+
/**
|
|
177
|
+
* Minimum distinct local DAYS before a baseline row is written
|
|
178
|
+
* (principle 27). Counting readings instead of days is the classic
|
|
179
|
+
* mis-implementation: 15 days of 30-minute SpO₂ sampling is 720 readings
|
|
180
|
+
* but still only 15 days, and must NOT populate a baseline.
|
|
181
|
+
*/
|
|
182
|
+
export declare const BASELINE_MIN_DAYS = 20;
|
|
128
183
|
//# sourceMappingURL=metric_metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric_metadata.d.ts","sourceRoot":"","sources":["../../src/core/metric_metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAE1C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,gBAAgB,CAAA;AAEtD;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,aAAa,CAAA;AAE1D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,qBAAqB,CAAA;IACvC,QAAQ,EAAE,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"metric_metadata.d.ts","sourceRoot":"","sources":["../../src/core/metric_metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAE1C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,gBAAgB,CAAA;AAEtD;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,aAAa,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;AAE9D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,gBAAgB,EAAE,qBAAqB,CAAA;IACvC,QAAQ,EAAE,cAAc,CAAA;IACxB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;CAChD;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeuC,CAAA;AAEnE,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,eAAe,CAAA;AAEnD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAErD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,QAAQ,EAAE,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,QAAQ,EAAE,CAIjD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,QAAQ,GACX,sBAAsB,GAAG,SAAS,CAGpC;AAED,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,sBAAuB,CAAA;AACxD,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAA"}
|