@uptimizr/metrics 0.0.0 → 0.2.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/AGENTS.md +129 -0
- package/README.md +43 -21
- package/dist/envelopes.d.ts +280 -0
- package/dist/envelopes.d.ts.map +1 -0
- package/dist/envelopes.js +289 -0
- package/dist/envelopes.js.map +1 -0
- package/dist/index.d.ts +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -1
- package/dist/index.js.map +1 -1
- package/dist/narrative.d.ts +164 -0
- package/dist/narrative.d.ts.map +1 -0
- package/dist/narrative.js +150 -0
- package/dist/narrative.js.map +1 -0
- package/dist/panelSpec.d.ts +145 -0
- package/dist/panelSpec.d.ts.map +1 -0
- package/dist/panelSpec.js +286 -0
- package/dist/panelSpec.js.map +1 -0
- package/dist/query.d.ts +192 -0
- package/dist/query.d.ts.map +1 -0
- package/dist/query.js +461 -0
- package/dist/query.js.map +1 -0
- package/dist/registry.d.ts +948 -98
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +954 -13
- package/dist/registry.js.map +1 -1
- package/llms.txt +12 -3
- package/package.json +4 -4
package/dist/registry.d.ts
CHANGED
|
@@ -49,7 +49,7 @@ import type { EventType } from "@uptimizr/schema";
|
|
|
49
49
|
* so adding, renaming or deleting an aggregation without updating this list
|
|
50
50
|
* fails the build and names the offender.
|
|
51
51
|
*/
|
|
52
|
-
export declare const AGGREGATION_BUILDER_NAMES: readonly ["buildAggregateTrajectories", "buildArPlacementAttempts", "buildArPlacementSurfaces", "buildArPlacementTimeToPlace", "buildBacktrackRatio", "buildBoundaryContacts", "buildBoundaryHeatmap", "buildBoundaryHeatmapStats", "buildCameraDirectionHeatmap", "buildCameraDistance", "buildCameraGestures", "buildCameraPositionHeatmap", "buildCapabilityChanges", "buildClickGazeRay", "buildCompileStalls", "buildDeadClicks", "buildDistinctScenes", "buildErrorHeatmap", "buildEventTypeCounts", "buildEventsDaily", "buildFlowHeatmap", "buildFpsHistogram", "buildFrameTimePercentiles", "buildFunnel", "buildGazeHeatmap", "buildGazeHeatmapStats", "buildGraphicsDiagnosticCounts", "buildHoverDwell", "buildInteractionsBySource", "buildJankRate", "buildListSessions", "buildLoadBounceFunnel", "buildMeshBlindSpots", "buildMeshDwell", "buildMeshInteractionKinds", "buildMeshUvHeatmap", "buildNavigationStats", "buildPerfByDevice", "buildPerfByScene", "buildPerfChurn", "buildPerfDaily", "buildPerfDistribution", "buildPerfHeatmap", "buildPerfSummary", "buildPointerHeatmap", "buildRageClicks", "buildReachability", "buildRenderScaleTruth", "buildRenderingTechnology", "buildResourcePercentiles", "buildResourceSummary", "buildSceneCoverage", "buildSceneRetention", "buildSessionTrajectory", "buildStabilityCounts", "buildTimeseries", "buildTopInputActions", "buildTopMeshes", "buildTopMeshesBySource", "buildTopMeshesTrend", "buildTrackingQuality", "buildVariantLeaderboard", "buildViewCoverageHistogram", "buildWorldHeatmap", "buildWorldHeatmapStats", "buildXrAbandonment", "buildXrLocomotionComfort", "buildXrRotationRate", "buildXrSourceUsage"];
|
|
52
|
+
export declare const AGGREGATION_BUILDER_NAMES: readonly ["buildAggregateTrajectories", "buildArPlacementAttempts", "buildArPlacementSurfaces", "buildArPlacementTimeToPlace", "buildBacktrackRatio", "buildBoundaryContacts", "buildBoundaryHeatmap", "buildBoundaryHeatmapStats", "buildCameraDirectionHeatmap", "buildCameraDistance", "buildCameraGestures", "buildCameraPositionHeatmap", "buildCapabilityChanges", "buildClickGazeRay", "buildCompileStalls", "buildCustomEventVocabulary", "buildDeadClicks", "buildDistinctScenes", "buildErrorHeatmap", "buildEventTypeCounts", "buildEventsDaily", "buildFlowHeatmap", "buildFpsHistogram", "buildFrameTimePercentiles", "buildFunnel", "buildGazeHeatmap", "buildGazeHeatmapStats", "buildGraphicsDiagnosticCounts", "buildHoverDwell", "buildInteractionsBySource", "buildJankRate", "buildListSessions", "buildLoadBounceFunnel", "buildMeshBlindSpots", "buildMeshDwell", "buildMeshInteractionKinds", "buildMeshUvHeatmap", "buildNavigationStats", "buildPerfByDevice", "buildPerfByScene", "buildPerfChurn", "buildPerfDaily", "buildPerfDistribution", "buildPerfHeatmap", "buildPerfSummary", "buildPointerHeatmap", "buildRageClicks", "buildReachability", "buildRenderScaleTruth", "buildRenderingTechnology", "buildResourcePercentiles", "buildResourceSummary", "buildSceneCoverage", "buildSceneRetention", "buildSessionTrajectory", "buildStabilityCounts", "buildTimeseries", "buildTopInputActions", "buildTopMeshes", "buildTopMeshesBySource", "buildTopMeshesTrend", "buildTrackingQuality", "buildVariantLeaderboard", "buildViewCoverageHistogram", "buildWorldHeatmap", "buildWorldHeatmapStats", "buildXrAbandonment", "buildXrLocomotionComfort", "buildXrRotationRate", "buildXrSourceUsage"];
|
|
53
53
|
/** Every exported `build*` aggregation name. The registry must cover them all. */
|
|
54
54
|
export type AggregationBuilderName = (typeof AGGREGATION_BUILDER_NAMES)[number];
|
|
55
55
|
/**
|
|
@@ -61,18 +61,66 @@ export type AggregationBuilderName = (typeof AGGREGATION_BUILDER_NAMES)[number];
|
|
|
61
61
|
export type DimensionId = "scene" | "session" | "mesh" | "name" | "source" | "event_type" | "cameraMode" | "device.engine" | "device.renderer" | "device.isMobile" | "device.browser" | "device.os";
|
|
62
62
|
/** Where each {@link DimensionId} reads from in the event model. */
|
|
63
63
|
export declare const DIMENSION_COLUMNS: Readonly<Record<DimensionId, string>>;
|
|
64
|
+
/**
|
|
65
|
+
* The column a {@link DimensionId} appears as in a metric's `row` when that
|
|
66
|
+
* metric is keyed by it.
|
|
67
|
+
*
|
|
68
|
+
* Several dimensions are *filterable* on a metric without being part of its
|
|
69
|
+
* grain (`top_meshes` can be scoped to a `session` but returns one row per
|
|
70
|
+
* mesh), which is what {@link MetricDefinition.grainDimensions} exists to
|
|
71
|
+
* express — this map is how that declaration is **checked**: every grain
|
|
72
|
+
* dimension must project one of the names listed here, and
|
|
73
|
+
* `src/__tests__/registry.test.ts` fails the build when one does not.
|
|
74
|
+
*
|
|
75
|
+
* Alternatives are listed where the projection name has varied: a scene rollup
|
|
76
|
+
* spells `scene` as `scene_id` and a transition as `from_scene`, and the `name`
|
|
77
|
+
* column surfaces as `kind` (an interaction or gesture kind), `action` (an input
|
|
78
|
+
* action) or `phase` (a compile stall). The **first** entry is the canonical
|
|
79
|
+
* spelling the generic group-by tier projects when the metric's own row does not
|
|
80
|
+
* already name one. `cameraMode` has none: no aggregation projects the camera
|
|
81
|
+
* type as a column, so it is a filter on the delegated tier and a generic-only
|
|
82
|
+
* group-by column (`camera_mode`) on the other.
|
|
83
|
+
*/
|
|
84
|
+
export declare const DIMENSION_ROW_COLUMNS: Readonly<Record<DimensionId, readonly string[]>>;
|
|
85
|
+
/**
|
|
86
|
+
* The dimensions the **generic group-by tier** can render (design sketch §C.2).
|
|
87
|
+
*
|
|
88
|
+
* Restricted to what the store promotes to a column (`scene_id`, `session_id`,
|
|
89
|
+
* `mesh`, `name`, `source`, `event_type`) plus the session attributes every
|
|
90
|
+
* engine can read out of one `session_start` sub-select with the same SQL
|
|
91
|
+
* (`cameraMode`, the four `device.*` strings). `device.isMobile` is deliberately
|
|
92
|
+
* absent: it is the one session attribute that is a boolean rather than a label,
|
|
93
|
+
* so grouping by it would produce `"true"` / `"false"` text on some engines and
|
|
94
|
+
* `1` / `0` on others — the exact cross-engine disagreement this tier exists to
|
|
95
|
+
* avoid. Filter by it instead, or group by `device.os`.
|
|
96
|
+
*/
|
|
97
|
+
export declare const GENERIC_DIMENSIONS: readonly DimensionId[];
|
|
64
98
|
/**
|
|
65
99
|
* Every request parameter the query surface accepts. Closed union, declared
|
|
66
100
|
* once: a metric's `filters` are exactly the keys of the Zod querystring that
|
|
67
101
|
* serves its endpoint (asserted by the collector's registry route test), and the
|
|
68
102
|
* DSL will accept the same names.
|
|
69
103
|
*/
|
|
70
|
-
export type FilterId = "since" | "until" | "scene" | "session" | "source" | "mesh" | "region" | "cameraMode" | "bins" | "limit" | "cellSize" | "interval" | "type" | "bucket" | "bucketMs" | "bucketSize" | "minRepeats" | "windowMs" | "fpsThreshold" | "stallMs" | "moveThreshold" | "rapidTurn" | "centerX" | "centerY" | "centerZ" | "severity" | "category" | "errorKind" | "groupByOrigin" | "originVoxel" | "steps" | "bands" | "variant" | "conversion" | "format";
|
|
104
|
+
export type FilterId = "since" | "until" | "scene" | "session" | "source" | "mesh" | "region" | "cameraMode" | "bins" | "limit" | "cellSize" | "interval" | "type" | "bucket" | "bucketMs" | "bucketSize" | "minRepeats" | "windowMs" | "fpsThreshold" | "stallMs" | "moveThreshold" | "rapidTurn" | "centerX" | "centerY" | "centerZ" | "severity" | "category" | "errorKind" | "groupByOrigin" | "originVoxel" | "steps" | "bands" | "variant" | "conversion" | "minDwellMs" | "maxEntries" | "metric" | "metrics" | "window" | "refSince" | "refUntil" | "sensitivity" | "weights" | "format";
|
|
71
105
|
/**
|
|
72
106
|
* The option interface (in `types.ts`) a {@link FilterId} feeds. `BuilderOptions`
|
|
73
107
|
* means the builder's own inline option bag rather than a shared interface.
|
|
74
108
|
*/
|
|
75
109
|
export type FilterOptionInterface = "RangeOptions" | "SceneOptions" | "SourceOptions" | "SessionOptions" | "MeshOptions" | "RegionOptions" | "CameraModeOptions" | "TimeseriesOptions" | "ErrorHeatmapOptions" | "PerfChurnOptions" | "FunnelOptions" | "LoadBounceFunnelOptions" | "VariantLeaderboardOptions" | "BuilderOptions"
|
|
110
|
+
/**
|
|
111
|
+
* Not an aggregation option either: the parameter is consumed by
|
|
112
|
+
* `buildSessionNarrative` — the pure compaction behind
|
|
113
|
+
* `GET /api/v1/sessions/:id/narrative` (ADR 0051 §7) — and never reaches a
|
|
114
|
+
* SQL builder.
|
|
115
|
+
*/
|
|
116
|
+
| "SessionNarrativeOptions"
|
|
117
|
+
/**
|
|
118
|
+
* The option bag of an insight primitive (ADR 0051 §4). Not an aggregation
|
|
119
|
+
* option: it is consumed by `@uptimizr/db`'s pure `src/insights/` layer, which
|
|
120
|
+
* runs *over* another metric's bucket series rather than producing SQL of its
|
|
121
|
+
* own.
|
|
122
|
+
*/
|
|
123
|
+
| "InsightOptions"
|
|
76
124
|
/**
|
|
77
125
|
* Not an aggregation option at all: the parameter is consumed by the
|
|
78
126
|
* collector's response layer and never reaches a builder. Only `format`
|
|
@@ -121,7 +169,23 @@ export interface ColumnSemantics {
|
|
|
121
169
|
/** What one row of a metric represents. */
|
|
122
170
|
export type MetricGrain = "project" | "scene" | "session" | "mesh" | "bin" | "voxel" | "bucket" | "row";
|
|
123
171
|
/** Grouping used by the docs, the capabilities resource and the health score. */
|
|
124
|
-
export type MetricCategory = "attention" | "interaction" | "navigation" | "performance" | "errors" | "xr" | "ar" | "sessions" | "conversion"
|
|
172
|
+
export type MetricCategory = "attention" | "interaction" | "navigation" | "performance" | "errors" | "xr" | "ar" | "sessions" | "conversion"
|
|
173
|
+
/** Derived readings *about* other metrics — baselines, movers (ADR 0051 §4). */
|
|
174
|
+
| "insights";
|
|
175
|
+
/**
|
|
176
|
+
* The API-key capability an endpoint requires (ADR 0051 §7).
|
|
177
|
+
*
|
|
178
|
+
* `query` is the whole aggregate read surface and is the default. `query:raw`
|
|
179
|
+
* is the narrow, opt-in door to per-session data: the collector honours it only
|
|
180
|
+
* when `ENABLE_RAW_SESSION_RETENTION` is on (ADR 0003), and a generated tool for
|
|
181
|
+
* such a metric must be registered **only** for a key that holds it.
|
|
182
|
+
*
|
|
183
|
+
* Declared as a literal union rather than imported from `@uptimizr/db`'s
|
|
184
|
+
* `ApiKeyCapability`: that package depends on *this* one, and the registry may
|
|
185
|
+
* never depend on a database driver. `@uptimizr/db` re-checks the two in its own
|
|
186
|
+
* test suite.
|
|
187
|
+
*/
|
|
188
|
+
export type MetricCapability = "query" | "query:raw";
|
|
125
189
|
/** The collector route a metric is served on. */
|
|
126
190
|
export interface MetricEndpoint {
|
|
127
191
|
method: "GET";
|
|
@@ -132,6 +196,74 @@ export interface MetricEndpoint {
|
|
|
132
196
|
* of a trajectory). One entry per `:param` segment, in order.
|
|
133
197
|
*/
|
|
134
198
|
pathParams?: readonly FilterId[];
|
|
199
|
+
/**
|
|
200
|
+
* The capability a key must hold to call it. Omitted means `query` — the
|
|
201
|
+
* ordinary aggregate read surface. See {@link MetricCapability}.
|
|
202
|
+
*/
|
|
203
|
+
capability?: MetricCapability;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* The capability `metric`'s endpoint requires, with the `query` default applied.
|
|
207
|
+
* Consumers partition the catalog with this rather than reading the optional
|
|
208
|
+
* field directly, so "no capability declared" cannot be mistaken for "no
|
|
209
|
+
* capability required".
|
|
210
|
+
*/
|
|
211
|
+
export declare function metricCapability(metric: MetricDefinition): MetricCapability;
|
|
212
|
+
/**
|
|
213
|
+
* How one column of a generic group-by result is computed. Four aggregate
|
|
214
|
+
* shapes, all of which SQL:2003 spells identically and every supported engine
|
|
215
|
+
* implements the same way — that is the whole test for admission.
|
|
216
|
+
*/
|
|
217
|
+
export type GenericMeasureKind =
|
|
218
|
+
/** `count(*)` — rows in the group. */
|
|
219
|
+
"count"
|
|
220
|
+
/** `count(DISTINCT session_id)` — sessions represented in the group. */
|
|
221
|
+
| "sessions"
|
|
222
|
+
/** `sum(<column>)` over a promoted numeric column. */
|
|
223
|
+
| "sum"
|
|
224
|
+
/** `avg(<column>)` over a promoted numeric column. */
|
|
225
|
+
| "avg"
|
|
226
|
+
/** `max(<column>)` over a promoted numeric column. */
|
|
227
|
+
| "max";
|
|
228
|
+
/** One measure column a generic group-by result carries. */
|
|
229
|
+
export interface GenericMeasure {
|
|
230
|
+
/** The output column name. Must also be a column of the metric's `row`. */
|
|
231
|
+
column: string;
|
|
232
|
+
kind: GenericMeasureKind;
|
|
233
|
+
/**
|
|
234
|
+
* The promoted event column the aggregate reads. Required for `sum` / `avg` /
|
|
235
|
+
* `max`, meaningless for `count` / `sessions`.
|
|
236
|
+
*/
|
|
237
|
+
of?: string;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Extra scope the generic builder applies beyond `event_type`, so a regrouped
|
|
241
|
+
* result counts the same events the metric's own builder counts.
|
|
242
|
+
*
|
|
243
|
+
* `top_meshes` is `count(*) … WHERE mesh != ''`; dropping that predicate when
|
|
244
|
+
* grouping by `source` would silently fold every mesh-less event into an empty
|
|
245
|
+
* mesh bucket. Each value is one non-empty-string predicate on a promoted
|
|
246
|
+
* column — closed, so the generic SQL stays free of anything caller-supplied.
|
|
247
|
+
*/
|
|
248
|
+
export type GenericScope = "hasMesh" | "hasName";
|
|
249
|
+
/**
|
|
250
|
+
* The generic group-by declaration (design sketch §C.2, tier 2).
|
|
251
|
+
*
|
|
252
|
+
* Together these say: "over *these* events, narrowed by *this* scope, *these*
|
|
253
|
+
* measures can be recomputed at any grain the metric declares". The builder that
|
|
254
|
+
* reads it lives in `@uptimizr/db`'s `query/dsl/generic.ts`; nothing here knows
|
|
255
|
+
* what SQL is.
|
|
256
|
+
*/
|
|
257
|
+
export interface GenericGroupBy {
|
|
258
|
+
/**
|
|
259
|
+
* Event types in scope. Empty means **every** event type — only
|
|
260
|
+
* `event_counts`, whose subject really is the whole stream, leaves it empty.
|
|
261
|
+
*/
|
|
262
|
+
eventTypes: readonly EventType[];
|
|
263
|
+
/** Additional closed predicates on promoted columns. */
|
|
264
|
+
scope?: readonly GenericScope[];
|
|
265
|
+
/** The measure columns the result carries, in order. The first is `measure`. */
|
|
266
|
+
measures: readonly GenericMeasure[];
|
|
135
267
|
}
|
|
136
268
|
/** Comparison semantics for `compare`, `movers` and `anomalies` (ADR 0051 §4). */
|
|
137
269
|
export interface MetricComparison {
|
|
@@ -142,6 +274,13 @@ export interface MetricComparison {
|
|
|
142
274
|
/** Minimum denominator before a delta is worth reporting. */
|
|
143
275
|
minSample: number;
|
|
144
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* How a **derived** metric is computed, when it has no `build*` aggregation of
|
|
279
|
+
* its own. One value per module in `@uptimizr/db`'s `src/insights/`
|
|
280
|
+
* (ADR 0051 §4) — statistics over another metric's portable bucket series,
|
|
281
|
+
* evaluated in TypeScript so no two SQL engines can disagree about them.
|
|
282
|
+
*/
|
|
283
|
+
export type MetricDerivation = "insight";
|
|
145
284
|
/**
|
|
146
285
|
* Everything a consumer needs to call a metric, read its result and judge how
|
|
147
286
|
* far to trust it.
|
|
@@ -158,12 +297,57 @@ export interface MetricDefinition {
|
|
|
158
297
|
* aggregations, but are part of the agent surface.
|
|
159
298
|
*/
|
|
160
299
|
builder?: AggregationBuilderName;
|
|
300
|
+
/**
|
|
301
|
+
* Marks a **derived** entry: a metric computed in pure TypeScript *over other
|
|
302
|
+
* metrics' data* rather than by a `build*` aggregation of its own — the insight
|
|
303
|
+
* primitives (ADR 0051 §4). Like a resource it has no builder; unlike a
|
|
304
|
+
* resource it is a real aggregate, served on an endpoint with a querystring,
|
|
305
|
+
* a time range and the `format` envelope. The two are distinguished by this
|
|
306
|
+
* flag rather than by `builder === undefined`, so the registry guards that
|
|
307
|
+
* pin the resource set and the envelope surface stay exact.
|
|
308
|
+
*
|
|
309
|
+
* The value names where the computation lives, for a reader following the
|
|
310
|
+
* trail from a tool description to the code.
|
|
311
|
+
*/
|
|
312
|
+
derived?: MetricDerivation;
|
|
161
313
|
/** The canned collector route, when one exists. */
|
|
162
314
|
endpoint?: MetricEndpoint;
|
|
163
315
|
/** What one row represents. */
|
|
164
316
|
grain: MetricGrain;
|
|
165
|
-
/**
|
|
317
|
+
/**
|
|
318
|
+
* Every dimension this metric can be **keyed or filtered by** — the
|
|
319
|
+
* vocabulary, not the grain. `top_meshes` lists `session` because it can be
|
|
320
|
+
* scoped to one, while its rows are one per mesh. {@link grainDimensions} is
|
|
321
|
+
* the grain; for a {@link genericGroupBy} metric this list is also the set a
|
|
322
|
+
* caller may group by.
|
|
323
|
+
*/
|
|
166
324
|
dimensions: readonly DimensionId[];
|
|
325
|
+
/**
|
|
326
|
+
* The dimensions one row is **actually keyed by** — the metric's native grain,
|
|
327
|
+
* and what a `dimensions`-less DSL query returns.
|
|
328
|
+
*
|
|
329
|
+
* Declared rather than derived (ADR 0051 §3, #304). v1 read the grain back out
|
|
330
|
+
* of `row.shape`, which was correct but left the registry unable to *say* what
|
|
331
|
+
* it knew; the generic group-by tier has to distinguish "this metric cannot be
|
|
332
|
+
* grouped by that" from "it can, through the generic builder", and that is a
|
|
333
|
+
* statement about the metric rather than about the spelling of its columns.
|
|
334
|
+
* The old derivation survives as a gate: `src/__tests__/registry.test.ts`
|
|
335
|
+
* asserts every entry here is a subset of {@link dimensions} and really
|
|
336
|
+
* projects a column of `row`.
|
|
337
|
+
*/
|
|
338
|
+
grainDimensions: readonly DimensionId[];
|
|
339
|
+
/**
|
|
340
|
+
* How the **generic group-by tier** (design sketch §C.2, tier 2) recomputes
|
|
341
|
+
* this metric at an arbitrary grain — omitted when it cannot.
|
|
342
|
+
*
|
|
343
|
+
* Present only where the measure is portable: a `count(*)`, a
|
|
344
|
+
* `count(DISTINCT session_id)`, or a `sum`/`avg`/`max` over a **promoted**
|
|
345
|
+
* column. Those render identically on all four engines whatever the group-by
|
|
346
|
+
* is. A spatial metric's measure *is* a binning of coordinates and a
|
|
347
|
+
* percentile does not decompose across an arbitrary grain, so neither declares
|
|
348
|
+
* one and both stay delegated.
|
|
349
|
+
*/
|
|
350
|
+
genericGroupBy?: GenericGroupBy;
|
|
167
351
|
/** Accepted querystring parameters — exactly the endpoint's Zod keys. */
|
|
168
352
|
filters: readonly FilterId[];
|
|
169
353
|
/** Output row schema: the source for OpenAPI, tool output schemas and coercion. */
|
|
@@ -197,7 +381,7 @@ export interface MetricDefinition {
|
|
|
197
381
|
* calls `top_meshes` today must keep working when the catalog is generated from
|
|
198
382
|
* this registry (design sketch §A.4).
|
|
199
383
|
*/
|
|
200
|
-
export type MetricId = "list_sessions" | "pointer_heatmap" | "world_heatmap" | "camera_heatmap" | "click_rays" | "flow_links" | "top_meshes" | "perf_summary" | "list_scenes" | "timeseries" | "event_counts" | "session_meta" | "scene_representation" | "funnel" | "aggregate_paths" | "rendering_technology" | "xr_rotation" | "xr_sources" | "xr_abandonment" | "xr_locomotion" | "mesh_uv_heatmap" | "world_heatmap_stats" | "gaze_heatmap" | "gaze_heatmap_stats" | "view_coverage_histogram" | "position_heatmap" | "session_trajectory" | "scene_coverage" | "camera_distance" | "mesh_sources" | "mesh_trend" | "mesh_dwell" | "mesh_blind_spots" | "mesh_interaction_kinds" | "mesh_reachability" | "dead_clicks" | "rage_clicks" | "hover_dwell" | "interaction_sources" | "top_input_actions" | "camera_gestures" | "navigation_stats" | "backtrack_ratio" | "render_scale_truth" | "perf_distribution" | "fps_histogram" | "frame_time_percentiles" | "jank_rate" | "perf_churn" | "perf_by_device" | "perf_by_scene" | "perf_heatmap" | "perf_daily" | "events_daily" | "compile_stalls" | "resource_summary" | "resource_percentiles" | "stability_counts" | "graphics_diagnostics" | "error_heatmap" | "capability_changes" | "boundary_heatmap" | "boundary_heatmap_stats" | "xr_boundary_contacts" | "xr_tracking_quality" | "ar_placement_time_to_place" | "ar_placement_attempts" | "ar_placement_surfaces" | "scene_retention" | "load_bounce_funnel" | "variant_leaderboard";
|
|
384
|
+
export type MetricId = "list_sessions" | "pointer_heatmap" | "world_heatmap" | "camera_heatmap" | "click_rays" | "flow_links" | "top_meshes" | "perf_summary" | "list_scenes" | "timeseries" | "event_counts" | "session_meta" | "scene_representation" | "funnel" | "aggregate_paths" | "rendering_technology" | "xr_rotation" | "xr_sources" | "xr_abandonment" | "xr_locomotion" | "mesh_uv_heatmap" | "world_heatmap_stats" | "gaze_heatmap" | "gaze_heatmap_stats" | "view_coverage_histogram" | "position_heatmap" | "session_trajectory" | "scene_coverage" | "camera_distance" | "mesh_sources" | "mesh_trend" | "mesh_dwell" | "mesh_blind_spots" | "mesh_interaction_kinds" | "mesh_reachability" | "dead_clicks" | "rage_clicks" | "hover_dwell" | "interaction_sources" | "top_input_actions" | "camera_gestures" | "custom_event_vocabulary" | "navigation_stats" | "backtrack_ratio" | "render_scale_truth" | "perf_distribution" | "fps_histogram" | "frame_time_percentiles" | "jank_rate" | "perf_churn" | "perf_by_device" | "perf_by_scene" | "perf_heatmap" | "perf_daily" | "events_daily" | "compile_stalls" | "resource_summary" | "resource_percentiles" | "stability_counts" | "graphics_diagnostics" | "error_heatmap" | "capability_changes" | "boundary_heatmap" | "boundary_heatmap_stats" | "xr_boundary_contacts" | "xr_tracking_quality" | "ar_placement_time_to_place" | "ar_placement_attempts" | "ar_placement_surfaces" | "scene_retention" | "load_bounce_funnel" | "variant_leaderboard" | "session_narrative" | "insight_baseline" | "insight_movers" | "insight_anomalies" | "insight_significance" | "insight_scene_health";
|
|
201
385
|
/**
|
|
202
386
|
* The metric registry: one entry per `build*` aggregation, plus the two
|
|
203
387
|
* builder-less resource reads that are part of the agent surface.
|
|
@@ -219,7 +403,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
219
403
|
};
|
|
220
404
|
grain: "session";
|
|
221
405
|
dimensions: "session"[];
|
|
222
|
-
|
|
406
|
+
grainDimensions: "session"[];
|
|
407
|
+
filters: ("format" | "cameraMode" | "since" | "until" | "bins" | "limit")[];
|
|
223
408
|
row: z.ZodObject<{
|
|
224
409
|
session_id: z.ZodString;
|
|
225
410
|
visitor_id: z.ZodString;
|
|
@@ -277,6 +462,7 @@ export declare const METRIC_REGISTRY: {
|
|
|
277
462
|
};
|
|
278
463
|
grain: "session";
|
|
279
464
|
dimensions: "session"[];
|
|
465
|
+
grainDimensions: never[];
|
|
280
466
|
filters: never[];
|
|
281
467
|
row: z.ZodObject<{
|
|
282
468
|
sessionId: z.ZodString;
|
|
@@ -315,6 +501,94 @@ export declare const METRIC_REGISTRY: {
|
|
|
315
501
|
related: ("list_sessions" | "perf_by_device")[];
|
|
316
502
|
category: "sessions";
|
|
317
503
|
};
|
|
504
|
+
session_narrative: {
|
|
505
|
+
id: "session_narrative";
|
|
506
|
+
title: string;
|
|
507
|
+
description: string;
|
|
508
|
+
endpoint: {
|
|
509
|
+
method: "GET";
|
|
510
|
+
path: string;
|
|
511
|
+
pathParams: "session"[];
|
|
512
|
+
capability: "query:raw";
|
|
513
|
+
};
|
|
514
|
+
grain: "row";
|
|
515
|
+
dimensions: "session"[];
|
|
516
|
+
grainDimensions: never[];
|
|
517
|
+
filters: ("format" | "fpsThreshold" | "minDwellMs" | "maxEntries")[];
|
|
518
|
+
row: z.ZodObject<{
|
|
519
|
+
tMs: z.ZodNumber;
|
|
520
|
+
kind: z.ZodEnum<{
|
|
521
|
+
scene: "scene";
|
|
522
|
+
dwell: "dwell";
|
|
523
|
+
interaction: "interaction";
|
|
524
|
+
perf_dip: "perf_dip";
|
|
525
|
+
error: "error";
|
|
526
|
+
diagnostic: "diagnostic";
|
|
527
|
+
capability: "capability";
|
|
528
|
+
xr: "xr";
|
|
529
|
+
end: "end";
|
|
530
|
+
summary: "summary";
|
|
531
|
+
}>;
|
|
532
|
+
summary: z.ZodString;
|
|
533
|
+
refs: z.ZodObject<{
|
|
534
|
+
mesh: z.ZodOptional<z.ZodString>;
|
|
535
|
+
scene: z.ZodOptional<z.ZodString>;
|
|
536
|
+
name: z.ZodOptional<z.ZodString>;
|
|
537
|
+
}, z.core.$strip>;
|
|
538
|
+
durationMs: z.ZodOptional<z.ZodNumber>;
|
|
539
|
+
count: z.ZodOptional<z.ZodNumber>;
|
|
540
|
+
totals: z.ZodOptional<z.ZodObject<{
|
|
541
|
+
events: z.ZodNumber;
|
|
542
|
+
durationMs: z.ZodNumber;
|
|
543
|
+
scenes: z.ZodNumber;
|
|
544
|
+
meshes: z.ZodNumber;
|
|
545
|
+
interactions: z.ZodNumber;
|
|
546
|
+
dips: z.ZodNumber;
|
|
547
|
+
errors: z.ZodNumber;
|
|
548
|
+
}, z.core.$strip>>;
|
|
549
|
+
truncated: z.ZodOptional<z.ZodBoolean>;
|
|
550
|
+
}, z.core.$strip>;
|
|
551
|
+
columns: {
|
|
552
|
+
tMs: {
|
|
553
|
+
description: string;
|
|
554
|
+
unit: "ms";
|
|
555
|
+
};
|
|
556
|
+
kind: {
|
|
557
|
+
description: string;
|
|
558
|
+
unit: "label";
|
|
559
|
+
label: true;
|
|
560
|
+
};
|
|
561
|
+
summary: {
|
|
562
|
+
description: string;
|
|
563
|
+
};
|
|
564
|
+
refs: {
|
|
565
|
+
description: string;
|
|
566
|
+
};
|
|
567
|
+
durationMs: {
|
|
568
|
+
description: string;
|
|
569
|
+
unit: "ms";
|
|
570
|
+
};
|
|
571
|
+
count: {
|
|
572
|
+
description: string;
|
|
573
|
+
unit: "count";
|
|
574
|
+
};
|
|
575
|
+
totals: {
|
|
576
|
+
description: string;
|
|
577
|
+
};
|
|
578
|
+
truncated: {
|
|
579
|
+
description: string;
|
|
580
|
+
};
|
|
581
|
+
};
|
|
582
|
+
limits: {
|
|
583
|
+
maxRows: 1000;
|
|
584
|
+
maxSummaryRows: 200;
|
|
585
|
+
};
|
|
586
|
+
interpretation: string;
|
|
587
|
+
caveats: string[];
|
|
588
|
+
sourceChannels: ("session_start" | "session_end" | "frame_perf" | "pointer_click" | "mesh_interaction" | "mesh_visibility" | "hover_dwell" | "capability_change" | "scene_change" | "graphics_diagnostic" | "runtime_error" | "input_action" | "xr_boundary_proximity" | "custom")[];
|
|
589
|
+
related: ("list_sessions" | "session_meta" | "session_trajectory")[];
|
|
590
|
+
category: "sessions";
|
|
591
|
+
};
|
|
318
592
|
scene_representation: {
|
|
319
593
|
id: "scene_representation";
|
|
320
594
|
title: string;
|
|
@@ -326,6 +600,7 @@ export declare const METRIC_REGISTRY: {
|
|
|
326
600
|
};
|
|
327
601
|
grain: "scene";
|
|
328
602
|
dimensions: "scene"[];
|
|
603
|
+
grainDimensions: never[];
|
|
329
604
|
filters: never[];
|
|
330
605
|
row: z.ZodObject<{
|
|
331
606
|
projectId: z.ZodString;
|
|
@@ -416,7 +691,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
416
691
|
};
|
|
417
692
|
grain: "scene";
|
|
418
693
|
dimensions: "scene"[];
|
|
419
|
-
|
|
694
|
+
grainDimensions: "scene"[];
|
|
695
|
+
filters: ("format" | "since" | "until" | "limit")[];
|
|
420
696
|
row: z.ZodObject<{
|
|
421
697
|
scene_id: z.ZodString;
|
|
422
698
|
events: z.ZodNumber;
|
|
@@ -464,11 +740,12 @@ export declare const METRIC_REGISTRY: {
|
|
|
464
740
|
};
|
|
465
741
|
grain: "bucket";
|
|
466
742
|
dimensions: ("scene" | "event_type")[];
|
|
467
|
-
|
|
743
|
+
grainDimensions: never[];
|
|
744
|
+
filters: ("scene" | "type" | "format" | "since" | "until" | "interval")[];
|
|
468
745
|
row: z.ZodObject<{
|
|
469
746
|
bucket: z.ZodNumber;
|
|
470
747
|
events: z.ZodNumber;
|
|
471
|
-
avg_fps: z.ZodNumber
|
|
748
|
+
avg_fps: z.ZodNullable<z.ZodNumber>;
|
|
472
749
|
}, z.core.$strip>;
|
|
473
750
|
columns: {
|
|
474
751
|
bucket: {
|
|
@@ -512,8 +789,16 @@ export declare const METRIC_REGISTRY: {
|
|
|
512
789
|
path: string;
|
|
513
790
|
};
|
|
514
791
|
grain: "row";
|
|
515
|
-
dimensions: ("scene" | "event_type")[];
|
|
516
|
-
|
|
792
|
+
dimensions: ("scene" | "mesh" | "name" | "session" | "source" | "event_type" | "cameraMode" | "device.engine" | "device.renderer" | "device.browser" | "device.os")[];
|
|
793
|
+
grainDimensions: "event_type"[];
|
|
794
|
+
genericGroupBy: {
|
|
795
|
+
eventTypes: never[];
|
|
796
|
+
measures: {
|
|
797
|
+
column: string;
|
|
798
|
+
kind: "count";
|
|
799
|
+
}[];
|
|
800
|
+
};
|
|
801
|
+
filters: ("scene" | "format" | "since" | "until")[];
|
|
517
802
|
row: z.ZodObject<{
|
|
518
803
|
event_type: z.ZodString;
|
|
519
804
|
count: z.ZodNumber;
|
|
@@ -552,6 +837,7 @@ export declare const METRIC_REGISTRY: {
|
|
|
552
837
|
builder: "buildEventsDaily";
|
|
553
838
|
grain: "bucket";
|
|
554
839
|
dimensions: "event_type"[];
|
|
840
|
+
grainDimensions: "event_type"[];
|
|
555
841
|
filters: never[];
|
|
556
842
|
row: z.ZodObject<{
|
|
557
843
|
day: z.ZodString;
|
|
@@ -601,7 +887,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
601
887
|
};
|
|
602
888
|
grain: "bin";
|
|
603
889
|
dimensions: ("scene" | "session" | "source" | "cameraMode")[];
|
|
604
|
-
|
|
890
|
+
grainDimensions: never[];
|
|
891
|
+
filters: ("scene" | "format" | "session" | "source" | "cameraMode" | "since" | "until" | "bins" | "limit")[];
|
|
605
892
|
row: z.ZodObject<{
|
|
606
893
|
gx: z.ZodNumber;
|
|
607
894
|
gy: z.ZodNumber;
|
|
@@ -648,8 +935,9 @@ export declare const METRIC_REGISTRY: {
|
|
|
648
935
|
path: string;
|
|
649
936
|
};
|
|
650
937
|
grain: "bin";
|
|
651
|
-
dimensions: ("scene" | "
|
|
652
|
-
|
|
938
|
+
dimensions: ("scene" | "mesh" | "session" | "source")[];
|
|
939
|
+
grainDimensions: never[];
|
|
940
|
+
filters: ("scene" | "mesh" | "format" | "session" | "source" | "since" | "until" | "bins" | "limit")[];
|
|
653
941
|
row: z.ZodObject<{
|
|
654
942
|
gx: z.ZodNumber;
|
|
655
943
|
gy: z.ZodNumber;
|
|
@@ -677,7 +965,7 @@ export declare const METRIC_REGISTRY: {
|
|
|
677
965
|
};
|
|
678
966
|
interpretation: string;
|
|
679
967
|
caveats: string[];
|
|
680
|
-
sourceChannels: ("
|
|
968
|
+
sourceChannels: ("pointer_click" | "mesh_interaction" | "hover_dwell")[];
|
|
681
969
|
related: ("pointer_heatmap" | "top_meshes" | "mesh_interaction_kinds")[];
|
|
682
970
|
comparable: {
|
|
683
971
|
primary: string;
|
|
@@ -697,7 +985,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
697
985
|
};
|
|
698
986
|
grain: "voxel";
|
|
699
987
|
dimensions: ("scene" | "source" | "cameraMode")[];
|
|
700
|
-
|
|
988
|
+
grainDimensions: never[];
|
|
989
|
+
filters: ("scene" | "format" | "source" | "cameraMode" | "since" | "until" | "region" | "limit" | "cellSize")[];
|
|
701
990
|
row: z.ZodObject<{
|
|
702
991
|
vx: z.ZodNumber;
|
|
703
992
|
vy: z.ZodNumber;
|
|
@@ -750,7 +1039,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
750
1039
|
};
|
|
751
1040
|
grain: "project";
|
|
752
1041
|
dimensions: ("scene" | "source" | "cameraMode")[];
|
|
753
|
-
|
|
1042
|
+
grainDimensions: never[];
|
|
1043
|
+
filters: ("scene" | "format" | "source" | "cameraMode" | "since" | "until" | "region" | "cellSize")[];
|
|
754
1044
|
row: z.ZodObject<{
|
|
755
1045
|
cells: z.ZodNumber;
|
|
756
1046
|
hits: z.ZodNumber;
|
|
@@ -787,7 +1077,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
787
1077
|
};
|
|
788
1078
|
grain: "voxel";
|
|
789
1079
|
dimensions: ("scene" | "session" | "cameraMode")[];
|
|
790
|
-
|
|
1080
|
+
grainDimensions: never[];
|
|
1081
|
+
filters: ("scene" | "format" | "session" | "cameraMode" | "since" | "until" | "region" | "limit" | "cellSize")[];
|
|
791
1082
|
row: z.ZodObject<{
|
|
792
1083
|
vx: z.ZodNumber;
|
|
793
1084
|
vy: z.ZodNumber;
|
|
@@ -840,7 +1131,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
840
1131
|
};
|
|
841
1132
|
grain: "project";
|
|
842
1133
|
dimensions: ("scene" | "session" | "cameraMode")[];
|
|
843
|
-
|
|
1134
|
+
grainDimensions: never[];
|
|
1135
|
+
filters: ("scene" | "format" | "session" | "cameraMode" | "since" | "until" | "region" | "cellSize")[];
|
|
844
1136
|
row: z.ZodObject<{
|
|
845
1137
|
cells: z.ZodNumber;
|
|
846
1138
|
hits: z.ZodNumber;
|
|
@@ -877,7 +1169,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
877
1169
|
};
|
|
878
1170
|
grain: "bin";
|
|
879
1171
|
dimensions: ("scene" | "session" | "cameraMode")[];
|
|
880
|
-
|
|
1172
|
+
grainDimensions: never[];
|
|
1173
|
+
filters: ("scene" | "format" | "session" | "cameraMode" | "since" | "until" | "bins" | "limit")[];
|
|
881
1174
|
row: z.ZodObject<{
|
|
882
1175
|
azimuth_bin: z.ZodNumber;
|
|
883
1176
|
elevation_bin: z.ZodNumber;
|
|
@@ -925,7 +1218,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
925
1218
|
};
|
|
926
1219
|
grain: "bucket";
|
|
927
1220
|
dimensions: ("scene" | "session" | "cameraMode")[];
|
|
928
|
-
|
|
1221
|
+
grainDimensions: never[];
|
|
1222
|
+
filters: ("scene" | "format" | "session" | "cameraMode" | "since" | "until" | "bins" | "limit")[];
|
|
929
1223
|
row: z.ZodObject<{
|
|
930
1224
|
bucket: z.ZodNumber;
|
|
931
1225
|
sessions: z.ZodNumber;
|
|
@@ -969,7 +1263,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
969
1263
|
};
|
|
970
1264
|
grain: "bin";
|
|
971
1265
|
dimensions: ("scene" | "session" | "cameraMode")[];
|
|
972
|
-
|
|
1266
|
+
grainDimensions: never[];
|
|
1267
|
+
filters: ("scene" | "format" | "session" | "cameraMode" | "since" | "until" | "region" | "limit" | "cellSize")[];
|
|
973
1268
|
row: z.ZodObject<{
|
|
974
1269
|
gx: z.ZodNumber;
|
|
975
1270
|
gz: z.ZodNumber;
|
|
@@ -1023,7 +1318,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
1023
1318
|
};
|
|
1024
1319
|
grain: "row";
|
|
1025
1320
|
dimensions: ("scene" | "session")[];
|
|
1026
|
-
|
|
1321
|
+
grainDimensions: never[];
|
|
1322
|
+
filters: ("scene" | "format" | "since" | "until" | "limit")[];
|
|
1027
1323
|
row: z.ZodObject<{
|
|
1028
1324
|
ts: z.ZodNumber;
|
|
1029
1325
|
x: z.ZodNumber;
|
|
@@ -1070,7 +1366,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
1070
1366
|
};
|
|
1071
1367
|
grain: "row";
|
|
1072
1368
|
dimensions: ("scene" | "session" | "cameraMode")[];
|
|
1073
|
-
|
|
1369
|
+
grainDimensions: "session"[];
|
|
1370
|
+
filters: ("scene" | "format" | "cameraMode" | "since" | "until" | "limit" | "cellSize")[];
|
|
1074
1371
|
row: z.ZodObject<{
|
|
1075
1372
|
session_id: z.ZodString;
|
|
1076
1373
|
ts: z.ZodNumber;
|
|
@@ -1117,7 +1414,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
1117
1414
|
};
|
|
1118
1415
|
grain: "voxel";
|
|
1119
1416
|
dimensions: ("scene" | "session")[];
|
|
1120
|
-
|
|
1417
|
+
grainDimensions: never[];
|
|
1418
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "limit" | "cellSize")[];
|
|
1121
1419
|
row: z.ZodObject<{
|
|
1122
1420
|
vx: z.ZodNumber;
|
|
1123
1421
|
vy: z.ZodNumber;
|
|
@@ -1170,7 +1468,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
1170
1468
|
};
|
|
1171
1469
|
grain: "bucket";
|
|
1172
1470
|
dimensions: ("scene" | "session")[];
|
|
1173
|
-
|
|
1471
|
+
grainDimensions: never[];
|
|
1472
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "limit" | "bucketSize" | "centerX" | "centerY" | "centerZ")[];
|
|
1174
1473
|
row: z.ZodObject<{
|
|
1175
1474
|
bucket: z.ZodNumber;
|
|
1176
1475
|
count: z.ZodNumber;
|
|
@@ -1208,8 +1507,9 @@ export declare const METRIC_REGISTRY: {
|
|
|
1208
1507
|
path: string;
|
|
1209
1508
|
};
|
|
1210
1509
|
grain: "voxel";
|
|
1211
|
-
dimensions: ("scene" | "
|
|
1212
|
-
|
|
1510
|
+
dimensions: ("scene" | "mesh" | "session" | "source")[];
|
|
1511
|
+
grainDimensions: "mesh"[];
|
|
1512
|
+
filters: ("scene" | "format" | "session" | "source" | "since" | "until" | "limit" | "cellSize")[];
|
|
1213
1513
|
row: z.ZodObject<{
|
|
1214
1514
|
cam_vx: z.ZodNumber;
|
|
1215
1515
|
cam_vy: z.ZodNumber;
|
|
@@ -1311,8 +1611,9 @@ export declare const METRIC_REGISTRY: {
|
|
|
1311
1611
|
path: string;
|
|
1312
1612
|
};
|
|
1313
1613
|
grain: "bin";
|
|
1314
|
-
dimensions: ("scene" | "
|
|
1315
|
-
|
|
1614
|
+
dimensions: ("scene" | "mesh" | "session" | "cameraMode")[];
|
|
1615
|
+
grainDimensions: "mesh"[];
|
|
1616
|
+
filters: ("scene" | "format" | "session" | "cameraMode" | "since" | "until" | "bins" | "limit" | "cellSize" | "groupByOrigin" | "originVoxel")[];
|
|
1316
1617
|
row: z.ZodObject<{
|
|
1317
1618
|
azimuth_bin: z.ZodNumber;
|
|
1318
1619
|
elevation_bin: z.ZodNumber;
|
|
@@ -1394,8 +1695,17 @@ export declare const METRIC_REGISTRY: {
|
|
|
1394
1695
|
path: string;
|
|
1395
1696
|
};
|
|
1396
1697
|
grain: "mesh";
|
|
1397
|
-
dimensions: ("
|
|
1398
|
-
|
|
1698
|
+
dimensions: ("scene" | "mesh" | "session" | "source" | "event_type" | "cameraMode" | "device.engine" | "device.renderer" | "device.browser" | "device.os")[];
|
|
1699
|
+
grainDimensions: "mesh"[];
|
|
1700
|
+
genericGroupBy: {
|
|
1701
|
+
eventTypes: never[];
|
|
1702
|
+
scope: "hasMesh"[];
|
|
1703
|
+
measures: {
|
|
1704
|
+
column: string;
|
|
1705
|
+
kind: "count";
|
|
1706
|
+
}[];
|
|
1707
|
+
};
|
|
1708
|
+
filters: ("format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
1399
1709
|
row: z.ZodObject<{
|
|
1400
1710
|
mesh: z.ZodString;
|
|
1401
1711
|
count: z.ZodNumber;
|
|
@@ -1437,8 +1747,17 @@ export declare const METRIC_REGISTRY: {
|
|
|
1437
1747
|
path: string;
|
|
1438
1748
|
};
|
|
1439
1749
|
grain: "mesh";
|
|
1440
|
-
dimensions: ("scene" | "
|
|
1441
|
-
|
|
1750
|
+
dimensions: ("scene" | "mesh" | "name" | "session" | "source" | "event_type" | "cameraMode" | "device.engine" | "device.renderer" | "device.browser" | "device.os")[];
|
|
1751
|
+
grainDimensions: ("mesh" | "source")[];
|
|
1752
|
+
genericGroupBy: {
|
|
1753
|
+
eventTypes: ("pointer_click" | "mesh_interaction")[];
|
|
1754
|
+
scope: "hasMesh"[];
|
|
1755
|
+
measures: {
|
|
1756
|
+
column: string;
|
|
1757
|
+
kind: "count";
|
|
1758
|
+
}[];
|
|
1759
|
+
};
|
|
1760
|
+
filters: ("scene" | "format" | "session" | "source" | "cameraMode" | "since" | "until" | "bins" | "limit")[];
|
|
1442
1761
|
row: z.ZodObject<{
|
|
1443
1762
|
mesh: z.ZodString;
|
|
1444
1763
|
source: z.ZodString;
|
|
@@ -1485,8 +1804,9 @@ export declare const METRIC_REGISTRY: {
|
|
|
1485
1804
|
path: string;
|
|
1486
1805
|
};
|
|
1487
1806
|
grain: "bucket";
|
|
1488
|
-
dimensions: ("scene" | "
|
|
1489
|
-
|
|
1807
|
+
dimensions: ("scene" | "mesh" | "session" | "source" | "cameraMode")[];
|
|
1808
|
+
grainDimensions: "mesh"[];
|
|
1809
|
+
filters: ("scene" | "format" | "session" | "source" | "cameraMode" | "since" | "until" | "bins" | "limit" | "interval")[];
|
|
1490
1810
|
row: z.ZodObject<{
|
|
1491
1811
|
mesh: z.ZodString;
|
|
1492
1812
|
bucket: z.ZodNumber;
|
|
@@ -1534,8 +1854,9 @@ export declare const METRIC_REGISTRY: {
|
|
|
1534
1854
|
path: string;
|
|
1535
1855
|
};
|
|
1536
1856
|
grain: "mesh";
|
|
1537
|
-
dimensions: ("scene" | "
|
|
1538
|
-
|
|
1857
|
+
dimensions: ("scene" | "mesh" | "session")[];
|
|
1858
|
+
grainDimensions: "mesh"[];
|
|
1859
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
1539
1860
|
row: z.ZodObject<{
|
|
1540
1861
|
mesh: z.ZodString;
|
|
1541
1862
|
visible_ms: z.ZodNumber;
|
|
@@ -1574,7 +1895,7 @@ export declare const METRIC_REGISTRY: {
|
|
|
1574
1895
|
interpretation: string;
|
|
1575
1896
|
caveats: string[];
|
|
1576
1897
|
sourceChannels: "mesh_visibility"[];
|
|
1577
|
-
related: ("
|
|
1898
|
+
related: ("hover_dwell" | "top_meshes" | "gaze_heatmap" | "mesh_blind_spots")[];
|
|
1578
1899
|
comparable: {
|
|
1579
1900
|
primary: string;
|
|
1580
1901
|
direction: "neutral";
|
|
@@ -1592,8 +1913,9 @@ export declare const METRIC_REGISTRY: {
|
|
|
1592
1913
|
path: string;
|
|
1593
1914
|
};
|
|
1594
1915
|
grain: "mesh";
|
|
1595
|
-
dimensions: ("scene" | "
|
|
1596
|
-
|
|
1916
|
+
dimensions: ("scene" | "mesh" | "session")[];
|
|
1917
|
+
grainDimensions: "mesh"[];
|
|
1918
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
1597
1919
|
row: z.ZodObject<{
|
|
1598
1920
|
mesh: z.ZodString;
|
|
1599
1921
|
visible_ms: z.ZodNumber;
|
|
@@ -1636,8 +1958,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
1636
1958
|
};
|
|
1637
1959
|
interpretation: string;
|
|
1638
1960
|
caveats: string[];
|
|
1639
|
-
sourceChannels: ("
|
|
1640
|
-
related: ("
|
|
1961
|
+
sourceChannels: ("mesh_interaction" | "mesh_visibility" | "hover_dwell")[];
|
|
1962
|
+
related: ("hover_dwell" | "top_meshes" | "gaze_heatmap" | "mesh_dwell")[];
|
|
1641
1963
|
comparable: {
|
|
1642
1964
|
primary: string;
|
|
1643
1965
|
direction: "up";
|
|
@@ -1655,8 +1977,17 @@ export declare const METRIC_REGISTRY: {
|
|
|
1655
1977
|
path: string;
|
|
1656
1978
|
};
|
|
1657
1979
|
grain: "mesh";
|
|
1658
|
-
dimensions: ("scene" | "
|
|
1659
|
-
|
|
1980
|
+
dimensions: ("scene" | "mesh" | "name" | "session" | "source" | "cameraMode" | "device.engine" | "device.renderer" | "device.browser" | "device.os")[];
|
|
1981
|
+
grainDimensions: ("mesh" | "name")[];
|
|
1982
|
+
genericGroupBy: {
|
|
1983
|
+
eventTypes: "mesh_interaction"[];
|
|
1984
|
+
scope: "hasMesh"[];
|
|
1985
|
+
measures: {
|
|
1986
|
+
column: string;
|
|
1987
|
+
kind: "count";
|
|
1988
|
+
}[];
|
|
1989
|
+
};
|
|
1990
|
+
filters: ("scene" | "format" | "session" | "source" | "cameraMode" | "since" | "until" | "bins" | "limit")[];
|
|
1660
1991
|
row: z.ZodObject<{
|
|
1661
1992
|
mesh: z.ZodString;
|
|
1662
1993
|
kind: z.ZodString;
|
|
@@ -1685,7 +2016,7 @@ export declare const METRIC_REGISTRY: {
|
|
|
1685
2016
|
interpretation: string;
|
|
1686
2017
|
caveats: string[];
|
|
1687
2018
|
sourceChannels: "mesh_interaction"[];
|
|
1688
|
-
related: ("
|
|
2019
|
+
related: ("hover_dwell" | "top_meshes" | "mesh_sources")[];
|
|
1689
2020
|
comparable: {
|
|
1690
2021
|
primary: string;
|
|
1691
2022
|
direction: "neutral";
|
|
@@ -1703,8 +2034,9 @@ export declare const METRIC_REGISTRY: {
|
|
|
1703
2034
|
path: string;
|
|
1704
2035
|
};
|
|
1705
2036
|
grain: "mesh";
|
|
1706
|
-
dimensions: ("scene" | "
|
|
1707
|
-
|
|
2037
|
+
dimensions: ("scene" | "mesh" | "session" | "source" | "cameraMode")[];
|
|
2038
|
+
grainDimensions: "mesh"[];
|
|
2039
|
+
filters: ("scene" | "format" | "session" | "source" | "cameraMode" | "since" | "until" | "bins" | "limit" | "bucketSize")[];
|
|
1708
2040
|
row: z.ZodObject<{
|
|
1709
2041
|
mesh: z.ZodString;
|
|
1710
2042
|
bucket: z.ZodNumber;
|
|
@@ -1757,7 +2089,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
1757
2089
|
};
|
|
1758
2090
|
grain: "project";
|
|
1759
2091
|
dimensions: ("scene" | "session" | "source" | "cameraMode")[];
|
|
1760
|
-
|
|
2092
|
+
grainDimensions: never[];
|
|
2093
|
+
filters: ("scene" | "format" | "session" | "source" | "cameraMode" | "since" | "until" | "bins" | "limit")[];
|
|
1761
2094
|
row: z.ZodObject<{
|
|
1762
2095
|
total_clicks: z.ZodNumber;
|
|
1763
2096
|
dead_clicks: z.ZodNullable<z.ZodNumber>;
|
|
@@ -1781,7 +2114,7 @@ export declare const METRIC_REGISTRY: {
|
|
|
1781
2114
|
interpretation: string;
|
|
1782
2115
|
caveats: string[];
|
|
1783
2116
|
sourceChannels: "pointer_click"[];
|
|
1784
|
-
related: ("
|
|
2117
|
+
related: ("hover_dwell" | "pointer_heatmap" | "top_meshes" | "rage_clicks")[];
|
|
1785
2118
|
comparable: {
|
|
1786
2119
|
primary: string;
|
|
1787
2120
|
direction: "down";
|
|
@@ -1799,8 +2132,9 @@ export declare const METRIC_REGISTRY: {
|
|
|
1799
2132
|
path: string;
|
|
1800
2133
|
};
|
|
1801
2134
|
grain: "row";
|
|
1802
|
-
dimensions: ("scene" | "
|
|
1803
|
-
|
|
2135
|
+
dimensions: ("scene" | "mesh" | "session" | "source" | "cameraMode")[];
|
|
2136
|
+
grainDimensions: ("mesh" | "session")[];
|
|
2137
|
+
filters: ("scene" | "format" | "session" | "source" | "cameraMode" | "since" | "until" | "bins" | "limit" | "interval" | "minRepeats")[];
|
|
1804
2138
|
row: z.ZodObject<{
|
|
1805
2139
|
session_id: z.ZodString;
|
|
1806
2140
|
mesh: z.ZodString;
|
|
@@ -1834,7 +2168,7 @@ export declare const METRIC_REGISTRY: {
|
|
|
1834
2168
|
interpretation: string;
|
|
1835
2169
|
caveats: string[];
|
|
1836
2170
|
sourceChannels: "pointer_click"[];
|
|
1837
|
-
related: ("
|
|
2171
|
+
related: ("hover_dwell" | "mesh_interaction_kinds" | "dead_clicks")[];
|
|
1838
2172
|
comparable: {
|
|
1839
2173
|
primary: string;
|
|
1840
2174
|
direction: "down";
|
|
@@ -1852,8 +2186,9 @@ export declare const METRIC_REGISTRY: {
|
|
|
1852
2186
|
path: string;
|
|
1853
2187
|
};
|
|
1854
2188
|
grain: "mesh";
|
|
1855
|
-
dimensions: ("scene" | "
|
|
1856
|
-
|
|
2189
|
+
dimensions: ("scene" | "mesh" | "session" | "source" | "cameraMode")[];
|
|
2190
|
+
grainDimensions: "mesh"[];
|
|
2191
|
+
filters: ("scene" | "format" | "session" | "source" | "cameraMode" | "since" | "until" | "bins" | "limit")[];
|
|
1857
2192
|
row: z.ZodObject<{
|
|
1858
2193
|
mesh: z.ZodString;
|
|
1859
2194
|
dwell_ms: z.ZodNumber;
|
|
@@ -1905,8 +2240,19 @@ export declare const METRIC_REGISTRY: {
|
|
|
1905
2240
|
path: string;
|
|
1906
2241
|
};
|
|
1907
2242
|
grain: "row";
|
|
1908
|
-
dimensions: ("scene" | "session" | "source" | "event_type" | "cameraMode")[];
|
|
1909
|
-
|
|
2243
|
+
dimensions: ("scene" | "mesh" | "name" | "session" | "source" | "event_type" | "cameraMode" | "device.engine" | "device.renderer" | "device.browser" | "device.os")[];
|
|
2244
|
+
grainDimensions: ("source" | "event_type")[];
|
|
2245
|
+
genericGroupBy: {
|
|
2246
|
+
eventTypes: ("pointer_move" | "pointer_click" | "pointer_down" | "pointer_up" | "camera_gesture" | "mesh_interaction" | "hover_dwell" | "input_action")[];
|
|
2247
|
+
measures: ({
|
|
2248
|
+
column: string;
|
|
2249
|
+
kind: "count";
|
|
2250
|
+
} | {
|
|
2251
|
+
column: string;
|
|
2252
|
+
kind: "sessions";
|
|
2253
|
+
})[];
|
|
2254
|
+
};
|
|
2255
|
+
filters: ("scene" | "format" | "session" | "source" | "cameraMode" | "since" | "until" | "bins" | "limit")[];
|
|
1910
2256
|
row: z.ZodObject<{
|
|
1911
2257
|
event_type: z.ZodString;
|
|
1912
2258
|
source: z.ZodString;
|
|
@@ -1958,8 +2304,17 @@ export declare const METRIC_REGISTRY: {
|
|
|
1958
2304
|
path: string;
|
|
1959
2305
|
};
|
|
1960
2306
|
grain: "row";
|
|
1961
|
-
dimensions: ("scene" | "
|
|
1962
|
-
|
|
2307
|
+
dimensions: ("scene" | "name" | "session" | "source" | "cameraMode" | "device.engine" | "device.renderer" | "device.browser" | "device.os")[];
|
|
2308
|
+
grainDimensions: ("name" | "source")[];
|
|
2309
|
+
genericGroupBy: {
|
|
2310
|
+
eventTypes: "input_action"[];
|
|
2311
|
+
scope: "hasName"[];
|
|
2312
|
+
measures: {
|
|
2313
|
+
column: string;
|
|
2314
|
+
kind: "count";
|
|
2315
|
+
}[];
|
|
2316
|
+
};
|
|
2317
|
+
filters: ("scene" | "format" | "session" | "source" | "cameraMode" | "since" | "until" | "bins" | "limit")[];
|
|
1963
2318
|
row: z.ZodObject<{
|
|
1964
2319
|
action: z.ZodString;
|
|
1965
2320
|
source: z.ZodString;
|
|
@@ -1996,6 +2351,61 @@ export declare const METRIC_REGISTRY: {
|
|
|
1996
2351
|
};
|
|
1997
2352
|
category: "interaction";
|
|
1998
2353
|
};
|
|
2354
|
+
custom_event_vocabulary: {
|
|
2355
|
+
id: "custom_event_vocabulary";
|
|
2356
|
+
title: string;
|
|
2357
|
+
description: string;
|
|
2358
|
+
builder: "buildCustomEventVocabulary";
|
|
2359
|
+
endpoint: {
|
|
2360
|
+
method: "GET";
|
|
2361
|
+
path: string;
|
|
2362
|
+
};
|
|
2363
|
+
grain: "row";
|
|
2364
|
+
dimensions: ("scene" | "name")[];
|
|
2365
|
+
grainDimensions: "name"[];
|
|
2366
|
+
filters: ("scene" | "format" | "since" | "until" | "limit")[];
|
|
2367
|
+
row: z.ZodObject<{
|
|
2368
|
+
name: z.ZodString;
|
|
2369
|
+
count: z.ZodNumber;
|
|
2370
|
+
sessions: z.ZodNumber;
|
|
2371
|
+
props: z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
2372
|
+
string: "string";
|
|
2373
|
+
number: "number";
|
|
2374
|
+
boolean: "boolean";
|
|
2375
|
+
null: "null";
|
|
2376
|
+
mixed: "mixed";
|
|
2377
|
+
}>>;
|
|
2378
|
+
}, z.core.$strip>;
|
|
2379
|
+
columns: {
|
|
2380
|
+
name: {
|
|
2381
|
+
description: string;
|
|
2382
|
+
unit: "label";
|
|
2383
|
+
label: true;
|
|
2384
|
+
};
|
|
2385
|
+
count: {
|
|
2386
|
+
description: string;
|
|
2387
|
+
unit: "count";
|
|
2388
|
+
measure: true;
|
|
2389
|
+
};
|
|
2390
|
+
sessions: {
|
|
2391
|
+
description: string;
|
|
2392
|
+
unit: "sessions";
|
|
2393
|
+
};
|
|
2394
|
+
props: {
|
|
2395
|
+
description: string;
|
|
2396
|
+
unit: "label";
|
|
2397
|
+
};
|
|
2398
|
+
};
|
|
2399
|
+
limits: {
|
|
2400
|
+
maxRows: number;
|
|
2401
|
+
maxSummaryRows: number;
|
|
2402
|
+
};
|
|
2403
|
+
interpretation: string;
|
|
2404
|
+
caveats: string[];
|
|
2405
|
+
sourceChannels: "custom"[];
|
|
2406
|
+
related: ("event_counts" | "funnel" | "variant_leaderboard")[];
|
|
2407
|
+
category: "interaction";
|
|
2408
|
+
};
|
|
1999
2409
|
camera_gestures: {
|
|
2000
2410
|
id: "camera_gestures";
|
|
2001
2411
|
title: string;
|
|
@@ -2006,8 +2416,29 @@ export declare const METRIC_REGISTRY: {
|
|
|
2006
2416
|
path: string;
|
|
2007
2417
|
};
|
|
2008
2418
|
grain: "row";
|
|
2009
|
-
dimensions: ("scene" | "
|
|
2010
|
-
|
|
2419
|
+
dimensions: ("scene" | "name" | "session" | "source" | "cameraMode" | "device.engine" | "device.renderer" | "device.browser" | "device.os")[];
|
|
2420
|
+
grainDimensions: "name"[];
|
|
2421
|
+
genericGroupBy: {
|
|
2422
|
+
eventTypes: "camera_gesture"[];
|
|
2423
|
+
measures: ({
|
|
2424
|
+
column: string;
|
|
2425
|
+
kind: "count";
|
|
2426
|
+
of?: undefined;
|
|
2427
|
+
} | {
|
|
2428
|
+
column: string;
|
|
2429
|
+
kind: "sum";
|
|
2430
|
+
of: string;
|
|
2431
|
+
} | {
|
|
2432
|
+
column: string;
|
|
2433
|
+
kind: "avg";
|
|
2434
|
+
of: string;
|
|
2435
|
+
} | {
|
|
2436
|
+
column: string;
|
|
2437
|
+
kind: "max";
|
|
2438
|
+
of: string;
|
|
2439
|
+
})[];
|
|
2440
|
+
};
|
|
2441
|
+
filters: ("scene" | "format" | "session" | "source" | "cameraMode" | "since" | "until" | "bins" | "limit")[];
|
|
2011
2442
|
row: z.ZodObject<{
|
|
2012
2443
|
kind: z.ZodString;
|
|
2013
2444
|
gestures: z.ZodNumber;
|
|
@@ -2065,7 +2496,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2065
2496
|
};
|
|
2066
2497
|
grain: "session";
|
|
2067
2498
|
dimensions: ("scene" | "session")[];
|
|
2068
|
-
|
|
2499
|
+
grainDimensions: "session"[];
|
|
2500
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "limit" | "moveThreshold")[];
|
|
2069
2501
|
row: z.ZodObject<{
|
|
2070
2502
|
session_id: z.ZodString;
|
|
2071
2503
|
segments: z.ZodNumber;
|
|
@@ -2124,7 +2556,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2124
2556
|
};
|
|
2125
2557
|
grain: "scene";
|
|
2126
2558
|
dimensions: ("scene" | "session")[];
|
|
2127
|
-
|
|
2559
|
+
grainDimensions: "scene"[];
|
|
2560
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "limit" | "cellSize")[];
|
|
2128
2561
|
row: z.ZodObject<{
|
|
2129
2562
|
scene: z.ZodString;
|
|
2130
2563
|
sessions: z.ZodNumber;
|
|
@@ -2183,7 +2616,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2183
2616
|
};
|
|
2184
2617
|
grain: "project";
|
|
2185
2618
|
dimensions: "session"[];
|
|
2186
|
-
|
|
2619
|
+
grainDimensions: never[];
|
|
2620
|
+
filters: ("format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
2187
2621
|
row: z.ZodObject<{
|
|
2188
2622
|
samples: z.ZodNumber;
|
|
2189
2623
|
avg_fps: z.ZodNullable<z.ZodNumber>;
|
|
@@ -2235,7 +2669,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2235
2669
|
};
|
|
2236
2670
|
grain: "project";
|
|
2237
2671
|
dimensions: "session"[];
|
|
2238
|
-
|
|
2672
|
+
grainDimensions: never[];
|
|
2673
|
+
filters: ("format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
2239
2674
|
row: z.ZodObject<{
|
|
2240
2675
|
samples: z.ZodNumber;
|
|
2241
2676
|
avg_fps: z.ZodNullable<z.ZodNumber>;
|
|
@@ -2303,7 +2738,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2303
2738
|
};
|
|
2304
2739
|
grain: "project";
|
|
2305
2740
|
dimensions: ("scene" | "session")[];
|
|
2306
|
-
|
|
2741
|
+
grainDimensions: never[];
|
|
2742
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
2307
2743
|
row: z.ZodObject<{
|
|
2308
2744
|
sessions: z.ZodNumber;
|
|
2309
2745
|
samples: z.ZodNullable<z.ZodNumber>;
|
|
@@ -2360,7 +2796,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2360
2796
|
};
|
|
2361
2797
|
grain: "bucket";
|
|
2362
2798
|
dimensions: ("scene" | "session")[];
|
|
2363
|
-
|
|
2799
|
+
grainDimensions: never[];
|
|
2800
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit" | "bucket")[];
|
|
2364
2801
|
row: z.ZodObject<{
|
|
2365
2802
|
bucket: z.ZodNumber;
|
|
2366
2803
|
sessions: z.ZodNumber;
|
|
@@ -2404,7 +2841,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2404
2841
|
};
|
|
2405
2842
|
grain: "project";
|
|
2406
2843
|
dimensions: ("scene" | "session")[];
|
|
2407
|
-
|
|
2844
|
+
grainDimensions: never[];
|
|
2845
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
2408
2846
|
row: z.ZodObject<{
|
|
2409
2847
|
sessions: z.ZodNumber;
|
|
2410
2848
|
samples: z.ZodNullable<z.ZodNumber>;
|
|
@@ -2456,7 +2894,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2456
2894
|
};
|
|
2457
2895
|
grain: "project";
|
|
2458
2896
|
dimensions: ("scene" | "session")[];
|
|
2459
|
-
|
|
2897
|
+
grainDimensions: never[];
|
|
2898
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
2460
2899
|
row: z.ZodObject<{
|
|
2461
2900
|
sessions: z.ZodNumber;
|
|
2462
2901
|
total_long_frames: z.ZodNullable<z.ZodNumber>;
|
|
@@ -2508,7 +2947,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2508
2947
|
};
|
|
2509
2948
|
grain: "project";
|
|
2510
2949
|
dimensions: ("scene" | "session")[];
|
|
2511
|
-
|
|
2950
|
+
grainDimensions: never[];
|
|
2951
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit" | "windowMs" | "fpsThreshold" | "stallMs")[];
|
|
2512
2952
|
row: z.ZodObject<{
|
|
2513
2953
|
sessions: z.ZodNumber;
|
|
2514
2954
|
churn_sessions: z.ZodNumber;
|
|
@@ -2561,7 +3001,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2561
3001
|
};
|
|
2562
3002
|
grain: "row";
|
|
2563
3003
|
dimensions: ("scene" | "session" | "device.engine" | "device.renderer" | "device.isMobile" | "device.browser" | "device.os")[];
|
|
2564
|
-
|
|
3004
|
+
grainDimensions: ("device.engine" | "device.renderer" | "device.isMobile" | "device.browser" | "device.os")[];
|
|
3005
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
2565
3006
|
row: z.ZodObject<{
|
|
2566
3007
|
engine: z.ZodString;
|
|
2567
3008
|
is_mobile: z.ZodString;
|
|
@@ -2634,7 +3075,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2634
3075
|
};
|
|
2635
3076
|
grain: "scene";
|
|
2636
3077
|
dimensions: ("scene" | "session")[];
|
|
2637
|
-
|
|
3078
|
+
grainDimensions: "scene"[];
|
|
3079
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
2638
3080
|
row: z.ZodObject<{
|
|
2639
3081
|
scene_id: z.ZodString;
|
|
2640
3082
|
sessions: z.ZodNumber;
|
|
@@ -2687,7 +3129,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2687
3129
|
};
|
|
2688
3130
|
grain: "voxel";
|
|
2689
3131
|
dimensions: ("scene" | "session")[];
|
|
2690
|
-
|
|
3132
|
+
grainDimensions: never[];
|
|
3133
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "limit" | "cellSize")[];
|
|
2691
3134
|
row: z.ZodObject<{
|
|
2692
3135
|
vx: z.ZodNumber;
|
|
2693
3136
|
vy: z.ZodNumber;
|
|
@@ -2746,6 +3189,7 @@ export declare const METRIC_REGISTRY: {
|
|
|
2746
3189
|
builder: "buildPerfDaily";
|
|
2747
3190
|
grain: "bucket";
|
|
2748
3191
|
dimensions: never[];
|
|
3192
|
+
grainDimensions: never[];
|
|
2749
3193
|
filters: never[];
|
|
2750
3194
|
row: z.ZodObject<{
|
|
2751
3195
|
day: z.ZodString;
|
|
@@ -2804,8 +3248,9 @@ export declare const METRIC_REGISTRY: {
|
|
|
2804
3248
|
path: string;
|
|
2805
3249
|
};
|
|
2806
3250
|
grain: "row";
|
|
2807
|
-
dimensions: ("scene" | "
|
|
2808
|
-
|
|
3251
|
+
dimensions: ("scene" | "name" | "session")[];
|
|
3252
|
+
grainDimensions: "name"[];
|
|
3253
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
2809
3254
|
row: z.ZodObject<{
|
|
2810
3255
|
phase: z.ZodString;
|
|
2811
3256
|
stalls: z.ZodNumber;
|
|
@@ -2863,7 +3308,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2863
3308
|
};
|
|
2864
3309
|
grain: "project";
|
|
2865
3310
|
dimensions: "session"[];
|
|
2866
|
-
|
|
3311
|
+
grainDimensions: never[];
|
|
3312
|
+
filters: ("format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
2867
3313
|
row: z.ZodObject<{
|
|
2868
3314
|
samples: z.ZodNumber;
|
|
2869
3315
|
avg_js_heap_bytes: z.ZodNullable<z.ZodNumber>;
|
|
@@ -2950,7 +3396,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
2950
3396
|
};
|
|
2951
3397
|
grain: "project";
|
|
2952
3398
|
dimensions: ("scene" | "session")[];
|
|
2953
|
-
|
|
3399
|
+
grainDimensions: never[];
|
|
3400
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
2954
3401
|
row: z.ZodObject<{
|
|
2955
3402
|
sessions: z.ZodNumber;
|
|
2956
3403
|
samples: z.ZodNullable<z.ZodNumber>;
|
|
@@ -3022,7 +3469,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3022
3469
|
};
|
|
3023
3470
|
grain: "project";
|
|
3024
3471
|
dimensions: ("scene" | "session")[];
|
|
3025
|
-
|
|
3472
|
+
grainDimensions: never[];
|
|
3473
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
3026
3474
|
row: z.ZodObject<{
|
|
3027
3475
|
context_losses: z.ZodNumber;
|
|
3028
3476
|
compile_stalls: z.ZodNumber;
|
|
@@ -3069,7 +3517,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3069
3517
|
};
|
|
3070
3518
|
grain: "row";
|
|
3071
3519
|
dimensions: ("scene" | "session")[];
|
|
3072
|
-
|
|
3520
|
+
grainDimensions: never[];
|
|
3521
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
3073
3522
|
row: z.ZodObject<{
|
|
3074
3523
|
severity: z.ZodString;
|
|
3075
3524
|
category: z.ZodString;
|
|
@@ -3122,7 +3571,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3122
3571
|
};
|
|
3123
3572
|
grain: "voxel";
|
|
3124
3573
|
dimensions: ("scene" | "session")[];
|
|
3125
|
-
|
|
3574
|
+
grainDimensions: never[];
|
|
3575
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "region" | "limit" | "cellSize" | "severity" | "category" | "errorKind")[];
|
|
3126
3576
|
row: z.ZodObject<{
|
|
3127
3577
|
vx: z.ZodNumber;
|
|
3128
3578
|
vy: z.ZodNumber;
|
|
@@ -3175,7 +3625,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3175
3625
|
};
|
|
3176
3626
|
grain: "row";
|
|
3177
3627
|
dimensions: ("scene" | "session")[];
|
|
3178
|
-
|
|
3628
|
+
grainDimensions: never[];
|
|
3629
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
3179
3630
|
row: z.ZodObject<{
|
|
3180
3631
|
api: z.ZodString;
|
|
3181
3632
|
backend: z.ZodString;
|
|
@@ -3232,8 +3683,9 @@ export declare const METRIC_REGISTRY: {
|
|
|
3232
3683
|
path: string;
|
|
3233
3684
|
};
|
|
3234
3685
|
grain: "row";
|
|
3235
|
-
dimensions: ("scene" | "
|
|
3236
|
-
|
|
3686
|
+
dimensions: ("scene" | "name" | "session")[];
|
|
3687
|
+
grainDimensions: "name"[];
|
|
3688
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
3237
3689
|
row: z.ZodObject<{
|
|
3238
3690
|
kind: z.ZodString;
|
|
3239
3691
|
from: z.ZodString;
|
|
@@ -3286,7 +3738,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3286
3738
|
};
|
|
3287
3739
|
grain: "session";
|
|
3288
3740
|
dimensions: ("scene" | "session")[];
|
|
3289
|
-
|
|
3741
|
+
grainDimensions: "session"[];
|
|
3742
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "limit" | "rapidTurn")[];
|
|
3290
3743
|
row: z.ZodObject<{
|
|
3291
3744
|
session_id: z.ZodString;
|
|
3292
3745
|
samples: z.ZodNumber;
|
|
@@ -3350,7 +3803,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3350
3803
|
};
|
|
3351
3804
|
grain: "row";
|
|
3352
3805
|
dimensions: ("scene" | "session" | "source")[];
|
|
3353
|
-
|
|
3806
|
+
grainDimensions: "source"[];
|
|
3807
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
3354
3808
|
row: z.ZodObject<{
|
|
3355
3809
|
source: z.ZodString;
|
|
3356
3810
|
interactions: z.ZodNumber;
|
|
@@ -3398,7 +3852,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3398
3852
|
};
|
|
3399
3853
|
grain: "session";
|
|
3400
3854
|
dimensions: ("scene" | "session")[];
|
|
3401
|
-
|
|
3855
|
+
grainDimensions: "session"[];
|
|
3856
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
3402
3857
|
row: z.ZodObject<{
|
|
3403
3858
|
session_id: z.ZodString;
|
|
3404
3859
|
events: z.ZodNumber;
|
|
@@ -3456,7 +3911,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3456
3911
|
};
|
|
3457
3912
|
grain: "session";
|
|
3458
3913
|
dimensions: ("scene" | "session")[];
|
|
3459
|
-
|
|
3914
|
+
grainDimensions: "session"[];
|
|
3915
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
3460
3916
|
row: z.ZodObject<{
|
|
3461
3917
|
session_id: z.ZodString;
|
|
3462
3918
|
fly_gestures: z.ZodNumber;
|
|
@@ -3524,7 +3980,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3524
3980
|
};
|
|
3525
3981
|
grain: "session";
|
|
3526
3982
|
dimensions: ("scene" | "session" | "source")[];
|
|
3527
|
-
|
|
3983
|
+
grainDimensions: "session"[];
|
|
3984
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
3528
3985
|
row: z.ZodObject<{
|
|
3529
3986
|
session_id: z.ZodString;
|
|
3530
3987
|
degraded_ms: z.ZodNumber;
|
|
@@ -3592,7 +4049,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3592
4049
|
};
|
|
3593
4050
|
grain: "voxel";
|
|
3594
4051
|
dimensions: ("scene" | "session")[];
|
|
3595
|
-
|
|
4052
|
+
grainDimensions: never[];
|
|
4053
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "region" | "limit" | "cellSize")[];
|
|
3596
4054
|
row: z.ZodObject<{
|
|
3597
4055
|
vx: z.ZodNumber;
|
|
3598
4056
|
vy: z.ZodNumber;
|
|
@@ -3645,7 +4103,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3645
4103
|
};
|
|
3646
4104
|
grain: "project";
|
|
3647
4105
|
dimensions: ("scene" | "session")[];
|
|
3648
|
-
|
|
4106
|
+
grainDimensions: never[];
|
|
4107
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "region" | "cellSize")[];
|
|
3649
4108
|
row: z.ZodObject<{
|
|
3650
4109
|
cells: z.ZodNumber;
|
|
3651
4110
|
hits: z.ZodNumber;
|
|
@@ -3682,7 +4141,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3682
4141
|
};
|
|
3683
4142
|
grain: "session";
|
|
3684
4143
|
dimensions: ("scene" | "session")[];
|
|
3685
|
-
|
|
4144
|
+
grainDimensions: "session"[];
|
|
4145
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
3686
4146
|
row: z.ZodObject<{
|
|
3687
4147
|
session_id: z.ZodString;
|
|
3688
4148
|
contacts: z.ZodNumber;
|
|
@@ -3730,7 +4190,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3730
4190
|
};
|
|
3731
4191
|
grain: "bucket";
|
|
3732
4192
|
dimensions: ("scene" | "session")[];
|
|
3733
|
-
|
|
4193
|
+
grainDimensions: never[];
|
|
4194
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit" | "bucketMs")[];
|
|
3734
4195
|
row: z.ZodObject<{
|
|
3735
4196
|
bucket: z.ZodNumber;
|
|
3736
4197
|
placements: z.ZodNumber;
|
|
@@ -3774,7 +4235,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3774
4235
|
};
|
|
3775
4236
|
grain: "bucket";
|
|
3776
4237
|
dimensions: ("scene" | "session")[];
|
|
3777
|
-
|
|
4238
|
+
grainDimensions: never[];
|
|
4239
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
3778
4240
|
row: z.ZodObject<{
|
|
3779
4241
|
attempts: z.ZodNumber;
|
|
3780
4242
|
placements: z.ZodNumber;
|
|
@@ -3818,7 +4280,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3818
4280
|
};
|
|
3819
4281
|
grain: "row";
|
|
3820
4282
|
dimensions: ("scene" | "session")[];
|
|
3821
|
-
|
|
4283
|
+
grainDimensions: never[];
|
|
4284
|
+
filters: ("scene" | "format" | "session" | "since" | "until" | "bins" | "limit")[];
|
|
3822
4285
|
row: z.ZodObject<{
|
|
3823
4286
|
surface: z.ZodString;
|
|
3824
4287
|
placements: z.ZodNumber;
|
|
@@ -3866,7 +4329,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3866
4329
|
};
|
|
3867
4330
|
grain: "bucket";
|
|
3868
4331
|
dimensions: ("scene" | "cameraMode")[];
|
|
3869
|
-
|
|
4332
|
+
grainDimensions: never[];
|
|
4333
|
+
filters: ("scene" | "format" | "cameraMode" | "since" | "until" | "steps")[];
|
|
3870
4334
|
row: z.ZodObject<{
|
|
3871
4335
|
step: z.ZodNumber;
|
|
3872
4336
|
sessions: z.ZodNumber;
|
|
@@ -3910,7 +4374,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3910
4374
|
};
|
|
3911
4375
|
grain: "row";
|
|
3912
4376
|
dimensions: "scene"[];
|
|
3913
|
-
|
|
4377
|
+
grainDimensions: never[];
|
|
4378
|
+
filters: ("format" | "since" | "until" | "limit")[];
|
|
3914
4379
|
row: z.ZodObject<{
|
|
3915
4380
|
from_scene: z.ZodString;
|
|
3916
4381
|
to_scene: z.ZodString;
|
|
@@ -3958,7 +4423,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
3958
4423
|
};
|
|
3959
4424
|
grain: "bucket";
|
|
3960
4425
|
dimensions: "scene"[];
|
|
3961
|
-
|
|
4426
|
+
grainDimensions: never[];
|
|
4427
|
+
filters: ("scene" | "format" | "since" | "until" | "bands")[];
|
|
3962
4428
|
row: z.ZodObject<{
|
|
3963
4429
|
band: z.ZodNumber;
|
|
3964
4430
|
sessions: z.ZodNumber;
|
|
@@ -4008,7 +4474,8 @@ export declare const METRIC_REGISTRY: {
|
|
|
4008
4474
|
};
|
|
4009
4475
|
grain: "row";
|
|
4010
4476
|
dimensions: ("scene" | "name" | "cameraMode")[];
|
|
4011
|
-
|
|
4477
|
+
grainDimensions: never[];
|
|
4478
|
+
filters: ("scene" | "format" | "cameraMode" | "since" | "until" | "limit" | "variant" | "conversion")[];
|
|
4012
4479
|
row: z.ZodObject<{
|
|
4013
4480
|
variant: z.ZodString;
|
|
4014
4481
|
views: z.ZodNumber;
|
|
@@ -4056,6 +4523,378 @@ export declare const METRIC_REGISTRY: {
|
|
|
4056
4523
|
};
|
|
4057
4524
|
category: "conversion";
|
|
4058
4525
|
};
|
|
4526
|
+
insight_baseline: {
|
|
4527
|
+
id: "insight_baseline";
|
|
4528
|
+
title: string;
|
|
4529
|
+
description: string;
|
|
4530
|
+
derived: "insight";
|
|
4531
|
+
endpoint: {
|
|
4532
|
+
method: "GET";
|
|
4533
|
+
path: string;
|
|
4534
|
+
};
|
|
4535
|
+
grain: "project";
|
|
4536
|
+
dimensions: "scene"[];
|
|
4537
|
+
grainDimensions: "scene"[];
|
|
4538
|
+
filters: ("scene" | "format" | "since" | "until" | "bucket" | "metric" | "window")[];
|
|
4539
|
+
row: z.ZodObject<{
|
|
4540
|
+
metric: z.ZodString;
|
|
4541
|
+
scene: z.ZodString;
|
|
4542
|
+
sampleSize: z.ZodNumber;
|
|
4543
|
+
buckets: z.ZodNumber;
|
|
4544
|
+
mean: z.ZodNullable<z.ZodNumber>;
|
|
4545
|
+
median: z.ZodNullable<z.ZodNumber>;
|
|
4546
|
+
mad: z.ZodNullable<z.ZodNumber>;
|
|
4547
|
+
p10: z.ZodNullable<z.ZodNumber>;
|
|
4548
|
+
p90: z.ZodNullable<z.ZodNumber>;
|
|
4549
|
+
slope: z.ZodNullable<z.ZodNumber>;
|
|
4550
|
+
}, z.core.$strip>;
|
|
4551
|
+
columns: {
|
|
4552
|
+
metric: {
|
|
4553
|
+
description: string;
|
|
4554
|
+
unit: "id";
|
|
4555
|
+
};
|
|
4556
|
+
scene: {
|
|
4557
|
+
description: string;
|
|
4558
|
+
unit: "id";
|
|
4559
|
+
};
|
|
4560
|
+
sampleSize: {
|
|
4561
|
+
description: string;
|
|
4562
|
+
unit: "count";
|
|
4563
|
+
};
|
|
4564
|
+
buckets: {
|
|
4565
|
+
description: string;
|
|
4566
|
+
unit: "count";
|
|
4567
|
+
};
|
|
4568
|
+
mean: {
|
|
4569
|
+
description: string;
|
|
4570
|
+
};
|
|
4571
|
+
median: {
|
|
4572
|
+
description: string;
|
|
4573
|
+
measure: true;
|
|
4574
|
+
};
|
|
4575
|
+
mad: {
|
|
4576
|
+
description: string;
|
|
4577
|
+
};
|
|
4578
|
+
p10: {
|
|
4579
|
+
description: string;
|
|
4580
|
+
};
|
|
4581
|
+
p90: {
|
|
4582
|
+
description: string;
|
|
4583
|
+
};
|
|
4584
|
+
slope: {
|
|
4585
|
+
description: string;
|
|
4586
|
+
};
|
|
4587
|
+
};
|
|
4588
|
+
limits: {
|
|
4589
|
+
maxRows: number;
|
|
4590
|
+
maxSummaryRows: number;
|
|
4591
|
+
};
|
|
4592
|
+
interpretation: string;
|
|
4593
|
+
caveats: string[];
|
|
4594
|
+
sourceChannels: never[];
|
|
4595
|
+
related: ("perf_summary" | "timeseries" | "events_daily" | "insight_movers")[];
|
|
4596
|
+
category: "insights";
|
|
4597
|
+
};
|
|
4598
|
+
insight_movers: {
|
|
4599
|
+
id: "insight_movers";
|
|
4600
|
+
title: string;
|
|
4601
|
+
description: string;
|
|
4602
|
+
derived: "insight";
|
|
4603
|
+
endpoint: {
|
|
4604
|
+
method: "GET";
|
|
4605
|
+
path: string;
|
|
4606
|
+
};
|
|
4607
|
+
grain: "row";
|
|
4608
|
+
dimensions: "scene"[];
|
|
4609
|
+
grainDimensions: never[];
|
|
4610
|
+
filters: ("scene" | "format" | "since" | "until" | "limit" | "bucket" | "metrics" | "refSince" | "refUntil")[];
|
|
4611
|
+
row: z.ZodObject<{
|
|
4612
|
+
metric: z.ZodString;
|
|
4613
|
+
dimensionValue: z.ZodNullable<z.ZodString>;
|
|
4614
|
+
current: z.ZodNullable<z.ZodNumber>;
|
|
4615
|
+
previous: z.ZodNullable<z.ZodNumber>;
|
|
4616
|
+
delta: z.ZodNullable<z.ZodNumber>;
|
|
4617
|
+
deltaPct: z.ZodNullable<z.ZodNumber>;
|
|
4618
|
+
z: z.ZodNullable<z.ZodNumber>;
|
|
4619
|
+
direction: z.ZodString;
|
|
4620
|
+
aboveMinSample: z.ZodBoolean;
|
|
4621
|
+
sampleSize: z.ZodNumber;
|
|
4622
|
+
}, z.core.$strip>;
|
|
4623
|
+
columns: {
|
|
4624
|
+
metric: {
|
|
4625
|
+
description: string;
|
|
4626
|
+
unit: "id";
|
|
4627
|
+
label: true;
|
|
4628
|
+
};
|
|
4629
|
+
dimensionValue: {
|
|
4630
|
+
description: string;
|
|
4631
|
+
unit: "id";
|
|
4632
|
+
};
|
|
4633
|
+
current: {
|
|
4634
|
+
description: string;
|
|
4635
|
+
};
|
|
4636
|
+
previous: {
|
|
4637
|
+
description: string;
|
|
4638
|
+
};
|
|
4639
|
+
delta: {
|
|
4640
|
+
description: string;
|
|
4641
|
+
};
|
|
4642
|
+
deltaPct: {
|
|
4643
|
+
description: string;
|
|
4644
|
+
unit: "ratio";
|
|
4645
|
+
};
|
|
4646
|
+
z: {
|
|
4647
|
+
description: string;
|
|
4648
|
+
unit: "ratio";
|
|
4649
|
+
measure: true;
|
|
4650
|
+
};
|
|
4651
|
+
direction: {
|
|
4652
|
+
description: string;
|
|
4653
|
+
unit: "label";
|
|
4654
|
+
};
|
|
4655
|
+
aboveMinSample: {
|
|
4656
|
+
description: string;
|
|
4657
|
+
};
|
|
4658
|
+
sampleSize: {
|
|
4659
|
+
description: string;
|
|
4660
|
+
};
|
|
4661
|
+
};
|
|
4662
|
+
limits: {
|
|
4663
|
+
maxRows: number;
|
|
4664
|
+
maxSummaryRows: number;
|
|
4665
|
+
};
|
|
4666
|
+
interpretation: string;
|
|
4667
|
+
caveats: string[];
|
|
4668
|
+
sourceChannels: never[];
|
|
4669
|
+
related: ("event_counts" | "perf_daily" | "events_daily" | "insight_baseline")[];
|
|
4670
|
+
category: "insights";
|
|
4671
|
+
};
|
|
4672
|
+
insight_anomalies: {
|
|
4673
|
+
id: "insight_anomalies";
|
|
4674
|
+
title: string;
|
|
4675
|
+
description: string;
|
|
4676
|
+
derived: "insight";
|
|
4677
|
+
endpoint: {
|
|
4678
|
+
method: "GET";
|
|
4679
|
+
path: string;
|
|
4680
|
+
};
|
|
4681
|
+
grain: "row";
|
|
4682
|
+
dimensions: "scene"[];
|
|
4683
|
+
grainDimensions: "scene"[];
|
|
4684
|
+
filters: ("scene" | "format" | "since" | "until" | "bucket" | "metric" | "window" | "sensitivity")[];
|
|
4685
|
+
row: z.ZodObject<{
|
|
4686
|
+
metric: z.ZodString;
|
|
4687
|
+
scene: z.ZodString;
|
|
4688
|
+
bucketStart: z.ZodNumber;
|
|
4689
|
+
value: z.ZodNullable<z.ZodNumber>;
|
|
4690
|
+
expected: z.ZodNullable<z.ZodNumber>;
|
|
4691
|
+
z: z.ZodNullable<z.ZodNumber>;
|
|
4692
|
+
kind: z.ZodString;
|
|
4693
|
+
contributor: z.ZodNullable<z.ZodObject<{
|
|
4694
|
+
dimension: z.ZodString;
|
|
4695
|
+
value: z.ZodString;
|
|
4696
|
+
share: z.ZodNullable<z.ZodNumber>;
|
|
4697
|
+
}, z.core.$strip>>;
|
|
4698
|
+
sampleSize: z.ZodNumber;
|
|
4699
|
+
}, z.core.$strip>;
|
|
4700
|
+
columns: {
|
|
4701
|
+
metric: {
|
|
4702
|
+
description: string;
|
|
4703
|
+
unit: "id";
|
|
4704
|
+
label: true;
|
|
4705
|
+
};
|
|
4706
|
+
scene: {
|
|
4707
|
+
description: string;
|
|
4708
|
+
unit: "id";
|
|
4709
|
+
};
|
|
4710
|
+
bucketStart: {
|
|
4711
|
+
description: string;
|
|
4712
|
+
unit: "timestamp";
|
|
4713
|
+
};
|
|
4714
|
+
value: {
|
|
4715
|
+
description: string;
|
|
4716
|
+
};
|
|
4717
|
+
expected: {
|
|
4718
|
+
description: string;
|
|
4719
|
+
};
|
|
4720
|
+
z: {
|
|
4721
|
+
description: string;
|
|
4722
|
+
unit: "ratio";
|
|
4723
|
+
measure: true;
|
|
4724
|
+
};
|
|
4725
|
+
kind: {
|
|
4726
|
+
description: string;
|
|
4727
|
+
unit: "label";
|
|
4728
|
+
};
|
|
4729
|
+
contributor: {
|
|
4730
|
+
description: string;
|
|
4731
|
+
};
|
|
4732
|
+
sampleSize: {
|
|
4733
|
+
description: string;
|
|
4734
|
+
unit: "count";
|
|
4735
|
+
};
|
|
4736
|
+
};
|
|
4737
|
+
limits: {
|
|
4738
|
+
maxRows: number;
|
|
4739
|
+
maxSummaryRows: number;
|
|
4740
|
+
};
|
|
4741
|
+
interpretation: string;
|
|
4742
|
+
caveats: string[];
|
|
4743
|
+
sourceChannels: never[];
|
|
4744
|
+
related: ("timeseries" | "error_heatmap" | "insight_baseline" | "insight_movers")[];
|
|
4745
|
+
category: "insights";
|
|
4746
|
+
};
|
|
4747
|
+
insight_significance: {
|
|
4748
|
+
id: "insight_significance";
|
|
4749
|
+
title: string;
|
|
4750
|
+
description: string;
|
|
4751
|
+
derived: "insight";
|
|
4752
|
+
endpoint: {
|
|
4753
|
+
method: "GET";
|
|
4754
|
+
path: string;
|
|
4755
|
+
};
|
|
4756
|
+
grain: "project";
|
|
4757
|
+
dimensions: "scene"[];
|
|
4758
|
+
grainDimensions: "scene"[];
|
|
4759
|
+
filters: ("scene" | "format" | "since" | "until" | "bucket" | "metric" | "refSince" | "refUntil")[];
|
|
4760
|
+
row: z.ZodObject<{
|
|
4761
|
+
metric: z.ZodString;
|
|
4762
|
+
scene: z.ZodString;
|
|
4763
|
+
a: z.ZodObject<{
|
|
4764
|
+
value: z.ZodNullable<z.ZodNumber>;
|
|
4765
|
+
n: z.ZodNumber;
|
|
4766
|
+
}, z.core.$strip>;
|
|
4767
|
+
b: z.ZodObject<{
|
|
4768
|
+
value: z.ZodNullable<z.ZodNumber>;
|
|
4769
|
+
n: z.ZodNumber;
|
|
4770
|
+
}, z.core.$strip>;
|
|
4771
|
+
effect: z.ZodNullable<z.ZodNumber>;
|
|
4772
|
+
ci95: z.ZodTuple<[z.ZodNullable<z.ZodNumber>, z.ZodNullable<z.ZodNumber>], null>;
|
|
4773
|
+
p: z.ZodNullable<z.ZodNumber>;
|
|
4774
|
+
test: z.ZodString;
|
|
4775
|
+
effectUnit: z.ZodString;
|
|
4776
|
+
significant: z.ZodBoolean;
|
|
4777
|
+
powerNote: z.ZodString;
|
|
4778
|
+
}, z.core.$strip>;
|
|
4779
|
+
columns: {
|
|
4780
|
+
metric: {
|
|
4781
|
+
description: string;
|
|
4782
|
+
unit: "id";
|
|
4783
|
+
label: true;
|
|
4784
|
+
};
|
|
4785
|
+
scene: {
|
|
4786
|
+
description: string;
|
|
4787
|
+
unit: "id";
|
|
4788
|
+
};
|
|
4789
|
+
a: {
|
|
4790
|
+
description: string;
|
|
4791
|
+
};
|
|
4792
|
+
b: {
|
|
4793
|
+
description: string;
|
|
4794
|
+
};
|
|
4795
|
+
effect: {
|
|
4796
|
+
description: string;
|
|
4797
|
+
measure: true;
|
|
4798
|
+
};
|
|
4799
|
+
ci95: {
|
|
4800
|
+
description: string;
|
|
4801
|
+
};
|
|
4802
|
+
p: {
|
|
4803
|
+
description: string;
|
|
4804
|
+
unit: "ratio";
|
|
4805
|
+
};
|
|
4806
|
+
test: {
|
|
4807
|
+
description: string;
|
|
4808
|
+
unit: "label";
|
|
4809
|
+
};
|
|
4810
|
+
effectUnit: {
|
|
4811
|
+
description: string;
|
|
4812
|
+
unit: "label";
|
|
4813
|
+
};
|
|
4814
|
+
significant: {
|
|
4815
|
+
description: string;
|
|
4816
|
+
};
|
|
4817
|
+
powerNote: {
|
|
4818
|
+
description: string;
|
|
4819
|
+
unit: "label";
|
|
4820
|
+
};
|
|
4821
|
+
};
|
|
4822
|
+
limits: {
|
|
4823
|
+
maxRows: number;
|
|
4824
|
+
maxSummaryRows: number;
|
|
4825
|
+
};
|
|
4826
|
+
interpretation: string;
|
|
4827
|
+
caveats: string[];
|
|
4828
|
+
sourceChannels: never[];
|
|
4829
|
+
related: ("insight_baseline" | "insight_movers" | "insight_scene_health")[];
|
|
4830
|
+
category: "insights";
|
|
4831
|
+
};
|
|
4832
|
+
insight_scene_health: {
|
|
4833
|
+
id: "insight_scene_health";
|
|
4834
|
+
title: string;
|
|
4835
|
+
description: string;
|
|
4836
|
+
derived: "insight";
|
|
4837
|
+
endpoint: {
|
|
4838
|
+
method: "GET";
|
|
4839
|
+
path: string;
|
|
4840
|
+
};
|
|
4841
|
+
grain: "scene";
|
|
4842
|
+
dimensions: "scene"[];
|
|
4843
|
+
grainDimensions: "scene"[];
|
|
4844
|
+
filters: ("scene" | "format" | "since" | "until" | "limit" | "bucket" | "window" | "weights")[];
|
|
4845
|
+
row: z.ZodObject<{
|
|
4846
|
+
scene: z.ZodString;
|
|
4847
|
+
score: z.ZodNullable<z.ZodNumber>;
|
|
4848
|
+
factors: z.ZodArray<z.ZodObject<{
|
|
4849
|
+
id: z.ZodString;
|
|
4850
|
+
metric: z.ZodString;
|
|
4851
|
+
raw: z.ZodNullable<z.ZodNumber>;
|
|
4852
|
+
baseline: z.ZodNullable<z.ZodNumber>;
|
|
4853
|
+
score: z.ZodNullable<z.ZodNumber>;
|
|
4854
|
+
weight: z.ZodNumber;
|
|
4855
|
+
unit: z.ZodString;
|
|
4856
|
+
note: z.ZodString;
|
|
4857
|
+
}, z.core.$strip>>;
|
|
4858
|
+
sampleSize: z.ZodNumber;
|
|
4859
|
+
since: z.ZodNumber;
|
|
4860
|
+
until: z.ZodNumber;
|
|
4861
|
+
}, z.core.$strip>;
|
|
4862
|
+
columns: {
|
|
4863
|
+
scene: {
|
|
4864
|
+
description: string;
|
|
4865
|
+
unit: "id";
|
|
4866
|
+
label: true;
|
|
4867
|
+
};
|
|
4868
|
+
score: {
|
|
4869
|
+
description: string;
|
|
4870
|
+
measure: true;
|
|
4871
|
+
};
|
|
4872
|
+
factors: {
|
|
4873
|
+
description: string;
|
|
4874
|
+
};
|
|
4875
|
+
sampleSize: {
|
|
4876
|
+
description: string;
|
|
4877
|
+
unit: "sessions";
|
|
4878
|
+
};
|
|
4879
|
+
since: {
|
|
4880
|
+
description: string;
|
|
4881
|
+
unit: "epoch-ms";
|
|
4882
|
+
};
|
|
4883
|
+
until: {
|
|
4884
|
+
description: string;
|
|
4885
|
+
unit: "epoch-ms";
|
|
4886
|
+
};
|
|
4887
|
+
};
|
|
4888
|
+
limits: {
|
|
4889
|
+
maxRows: number;
|
|
4890
|
+
maxSummaryRows: number;
|
|
4891
|
+
};
|
|
4892
|
+
interpretation: string;
|
|
4893
|
+
caveats: string[];
|
|
4894
|
+
sourceChannels: never[];
|
|
4895
|
+
related: ("insight_baseline" | "insight_movers" | "insight_significance")[];
|
|
4896
|
+
category: "insights";
|
|
4897
|
+
};
|
|
4059
4898
|
};
|
|
4060
4899
|
/** The registry's own type, with each entry's literal `builder` preserved. */
|
|
4061
4900
|
export type MetricRegistry = typeof METRIC_REGISTRY;
|
|
@@ -4115,5 +4954,16 @@ export declare function metricForBuilder(builder: AggregationBuilderName): Metri
|
|
|
4115
4954
|
* catalog stays a superset of the hand-written one (design sketch §A.4).
|
|
4116
4955
|
*/
|
|
4117
4956
|
export declare function isResourceMetric(metric: MetricDefinition): boolean;
|
|
4957
|
+
/**
|
|
4958
|
+
* A **derived** entry is computed in TypeScript over another metric's data
|
|
4959
|
+
* rather than by a `build*` aggregation (ADR 0051 §4): the insight primitives.
|
|
4960
|
+
* It has no builder, but — unlike a {@link isResourceMetric resource} — it is a
|
|
4961
|
+
* real aggregate with a querystring, a time range and the `format` envelope, so
|
|
4962
|
+
* every consumer that treats `builder != null` as "is an aggregate" should ask
|
|
4963
|
+
* this instead.
|
|
4964
|
+
*/
|
|
4965
|
+
export declare function isDerivedMetric(metric: MetricDefinition): boolean;
|
|
4966
|
+
/** Whether a metric is served as an aggregate over a querystring (not a resource read). */
|
|
4967
|
+
export declare function isAggregateMetric(metric: MetricDefinition): boolean;
|
|
4118
4968
|
export {};
|
|
4119
4969
|
//# sourceMappingURL=registry.d.ts.map
|