@uptimizr/collector-server 0.1.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/LICENSE +201 -0
- package/README.md +169 -0
- package/dist/app.d.ts +22 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +96 -0
- package/dist/app.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +148 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +59 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +55 -0
- package/dist/config.js.map +1 -0
- package/dist/csp.d.ts +18 -0
- package/dist/csp.d.ts.map +1 -0
- package/dist/csp.js +91 -0
- package/dist/csp.js.map +1 -0
- package/dist/duckdbStore.d.ts +14 -0
- package/dist/duckdbStore.d.ts.map +1 -0
- package/dist/duckdbStore.js +69 -0
- package/dist/duckdbStore.js.map +1 -0
- package/dist/enrich.d.ts +8 -0
- package/dist/enrich.d.ts.map +1 -0
- package/dist/enrich.js +9 -0
- package/dist/enrich.js.map +1 -0
- package/dist/liveBus.d.ts +86 -0
- package/dist/liveBus.d.ts.map +1 -0
- package/dist/liveBus.js +195 -0
- package/dist/liveBus.js.map +1 -0
- package/dist/liveToken.d.ts +11 -0
- package/dist/liveToken.d.ts.map +1 -0
- package/dist/liveToken.js +44 -0
- package/dist/liveToken.js.map +1 -0
- package/dist/memoryStore.d.ts +22 -0
- package/dist/memoryStore.d.ts.map +1 -0
- package/dist/memoryStore.js +207 -0
- package/dist/memoryStore.js.map +1 -0
- package/dist/routes/collect.d.ts +25 -0
- package/dist/routes/collect.d.ts.map +1 -0
- package/dist/routes/collect.js +55 -0
- package/dist/routes/collect.js.map +1 -0
- package/dist/routes/live.d.ts +18 -0
- package/dist/routes/live.d.ts.map +1 -0
- package/dist/routes/live.js +179 -0
- package/dist/routes/live.js.map +1 -0
- package/dist/routes/query.d.ts +14 -0
- package/dist/routes/query.d.ts.map +1 -0
- package/dist/routes/query.js +610 -0
- package/dist/routes/query.js.map +1 -0
- package/dist/serve.d.ts +18 -0
- package/dist/serve.d.ts.map +1 -0
- package/dist/serve.js +48 -0
- package/dist/serve.js.map +1 -0
- package/dist/server.d.ts +3 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +12 -0
- package/dist/server.js.map +1 -0
- package/dist/store.d.ts +263 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +2 -0
- package/dist/store.js.map +1 -0
- package/dist/visitor.d.ts +12 -0
- package/dist/visitor.d.ts.map +1 -0
- package/dist/visitor.js +18 -0
- package/dist/visitor.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/routes/query.ts"],"names":[],"mappings":"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"}
|
package/dist/serve.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CollectorStore } from "./store.js";
|
|
2
|
+
/**
|
|
3
|
+
* Select the storage backend (`COLLECTOR_STORE`):
|
|
4
|
+
* - `duckdb` (default) — the OSS single-file DuckDB store (events + metadata in
|
|
5
|
+
* one file, full analytics, zero external services; ADR 0020). Path from
|
|
6
|
+
* `DUCKDB_PATH`.
|
|
7
|
+
* - `memory` — a dependency-free in-memory store for local dev / E2E tests
|
|
8
|
+
* (seed its project/key via `COLLECTOR_MEMORY_PROJECT_ID` /
|
|
9
|
+
* `COLLECTOR_MEMORY_API_KEY`).
|
|
10
|
+
*/
|
|
11
|
+
export declare function createStore(env?: NodeJS.ProcessEnv): Promise<CollectorStore>;
|
|
12
|
+
/**
|
|
13
|
+
* Wire the production store, build the app, and listen. Fails fast if required
|
|
14
|
+
* configuration is missing (see {@link loadConfig}). Shared by the
|
|
15
|
+
* `uptimizr-collector` bin and the `uptimizr serve` CLI command.
|
|
16
|
+
*/
|
|
17
|
+
export declare function serve(): Promise<void>;
|
|
18
|
+
//# sourceMappingURL=serve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,cAAc,CAAC,CAazF;AAED;;;;GAIG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB3C"}
|
package/dist/serve.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { buildApp } from "./app.js";
|
|
2
|
+
import { loadConfig } from "./config.js";
|
|
3
|
+
import { createDuckdbStore } from "./duckdbStore.js";
|
|
4
|
+
import { createMemoryStore } from "./memoryStore.js";
|
|
5
|
+
/**
|
|
6
|
+
* Select the storage backend (`COLLECTOR_STORE`):
|
|
7
|
+
* - `duckdb` (default) — the OSS single-file DuckDB store (events + metadata in
|
|
8
|
+
* one file, full analytics, zero external services; ADR 0020). Path from
|
|
9
|
+
* `DUCKDB_PATH`.
|
|
10
|
+
* - `memory` — a dependency-free in-memory store for local dev / E2E tests
|
|
11
|
+
* (seed its project/key via `COLLECTOR_MEMORY_PROJECT_ID` /
|
|
12
|
+
* `COLLECTOR_MEMORY_API_KEY`).
|
|
13
|
+
*/
|
|
14
|
+
export function createStore(env = process.env) {
|
|
15
|
+
switch (env.COLLECTOR_STORE) {
|
|
16
|
+
case "memory":
|
|
17
|
+
return Promise.resolve(createMemoryStore({
|
|
18
|
+
projectId: env.COLLECTOR_MEMORY_PROJECT_ID ?? "demo",
|
|
19
|
+
apiKey: env.COLLECTOR_MEMORY_API_KEY ?? "utk_memory_dev",
|
|
20
|
+
}));
|
|
21
|
+
case "duckdb":
|
|
22
|
+
default:
|
|
23
|
+
return createDuckdbStore();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Wire the production store, build the app, and listen. Fails fast if required
|
|
28
|
+
* configuration is missing (see {@link loadConfig}). Shared by the
|
|
29
|
+
* `uptimizr-collector` bin and the `uptimizr serve` CLI command.
|
|
30
|
+
*/
|
|
31
|
+
export async function serve() {
|
|
32
|
+
const config = loadConfig();
|
|
33
|
+
const store = await createStore();
|
|
34
|
+
const app = await buildApp({ store, config, logger: true });
|
|
35
|
+
if (!config.liveTokenSecretIsDedicated) {
|
|
36
|
+
app.log.warn("LIVE_TOKEN_SECRET is not set; live-session tokens are signed with VISITOR_HASH_SECRET. " +
|
|
37
|
+
"Set a dedicated LIVE_TOKEN_SECRET in production so the two secrets are independent.");
|
|
38
|
+
}
|
|
39
|
+
const close = async () => {
|
|
40
|
+
await app.close();
|
|
41
|
+
await store.close();
|
|
42
|
+
process.exit(0);
|
|
43
|
+
};
|
|
44
|
+
process.on("SIGINT", close);
|
|
45
|
+
process.on("SIGTERM", close);
|
|
46
|
+
await app.listen({ host: config.host, port: config.port });
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=serve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC9D,QAAQ,GAAG,CAAC,eAAe,EAAE,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC,OAAO,CACpB,iBAAiB,CAAC;gBAChB,SAAS,EAAE,GAAG,CAAC,2BAA2B,IAAI,MAAM;gBACpD,MAAM,EAAE,GAAG,CAAC,wBAAwB,IAAI,gBAAgB;aACzD,CAAC,CACH,CAAC;QACJ,KAAK,QAAQ,CAAC;QACd;YACE,OAAO,iBAAiB,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK;IACzB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC;QACvC,GAAG,CAAC,GAAG,CAAC,IAAI,CACV,yFAAyF;YACvF,qFAAqF,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE7B,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":""}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { serve } from "./serve.js";
|
|
3
|
+
/**
|
|
4
|
+
* Process entrypoint for the `uptimizr-collector` bin (kept for compatibility;
|
|
5
|
+
* `uptimizr serve` is the preferred surface — ADR 0029). Runs the ingestion +
|
|
6
|
+
* query API and fails fast if required configuration is missing.
|
|
7
|
+
*/
|
|
8
|
+
serve().catch((err) => {
|
|
9
|
+
console.error(err);
|
|
10
|
+
process.exit(1);
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;GAIG;AACH,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACpB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/store.d.ts
ADDED
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import type { AnyEvent, SceneProxy } from "@uptimizr/schema";
|
|
2
|
+
import type { CameraDistanceBucketRow, CameraModeOptions, ClickGazeRayRow, CoverageVoxelRow, DeadClickRow, DirectionBinRow, EventTypeCountRow, FlowLinkRow, HeatmapBinRow, HoverDwellRow, CompileStallRow, ResourceSummaryRow, CapabilityChangeRow, CameraGestureRow, MeshCountRow, MeshDwellRow, PositionBinRow, RageClickRow, NavigationStatsRow, XrRotationRateRow, XrSourceUsageRow, XrAbandonmentRow, InteractionSourceRow, PerfSummaryRow, PerfDistributionRow, FpsHistogramRow, FrameTimePercentileRow, JankRateRow, PerfByDeviceRow, PerfBySceneRow, ResourcePercentileRow, ResolvedApiKey, StabilityCountRow, RangeOptions, SceneOptions, SceneRepresentation, SceneRepresentationSummary, SceneRow, SourceOptions, SessionOptions, SessionMeta, SessionSummaryRow, TimeseriesBucketRow, TimeseriesOptions, TrajectoryPointRow, WorldHeatmapBinRow } from "@uptimizr/db";
|
|
3
|
+
/**
|
|
4
|
+
* The data-access surface the routes depend on. Abstracting it behind an
|
|
5
|
+
* interface keeps handlers thin and lets tests inject a fake store without a
|
|
6
|
+
* live ClickHouse/Postgres (the framework and the DB stay swappable — ADR 0005).
|
|
7
|
+
*/
|
|
8
|
+
export interface CollectorStore {
|
|
9
|
+
/**
|
|
10
|
+
* Resolve a plaintext API key to its project id and capability, or `null` if
|
|
11
|
+
* invalid/revoked. The capability scopes what the key may do at the read
|
|
12
|
+
* boundaries (query + live token exchange).
|
|
13
|
+
*/
|
|
14
|
+
resolveApiKey(key: string): Promise<ResolvedApiKey | null>;
|
|
15
|
+
/**
|
|
16
|
+
* Whether a project with this id exists. The ingest route uses it to reject
|
|
17
|
+
* events for unknown projects — the public `projectId` is the ingest credential,
|
|
18
|
+
* so a non-existent project must never have data written under it.
|
|
19
|
+
*/
|
|
20
|
+
projectExists(projectId: string): Promise<boolean>;
|
|
21
|
+
/** Batched insert of enriched, validated events. */
|
|
22
|
+
insertEvents(events: readonly AnyEvent[]): Promise<void>;
|
|
23
|
+
listSessions(projectId: string, opts?: RangeOptions & CameraModeOptions & {
|
|
24
|
+
limit?: number;
|
|
25
|
+
}): Promise<SessionSummaryRow[]>;
|
|
26
|
+
pointerHeatmap(projectId: string, opts?: RangeOptions & SceneOptions & SourceOptions & SessionOptions & CameraModeOptions & {
|
|
27
|
+
bins?: number;
|
|
28
|
+
}): Promise<HeatmapBinRow[]>;
|
|
29
|
+
/** World-space (3D) pointer heatmap: voxel-binned raycast hit points. */
|
|
30
|
+
worldHeatmap(projectId: string, opts?: RangeOptions & SceneOptions & SourceOptions & CameraModeOptions & {
|
|
31
|
+
cellSize?: number;
|
|
32
|
+
limit?: number;
|
|
33
|
+
}): Promise<WorldHeatmapBinRow[]>;
|
|
34
|
+
/**
|
|
35
|
+
* World-space (3D) gaze heatmap (ADR 0030): voxel-binned camera-pose gaze
|
|
36
|
+
* surface hits (`camera_sample.hitPoint`). The "what did people actually look
|
|
37
|
+
* at" map — distinct from the click-driven world heatmap. Optional `session`
|
|
38
|
+
* scopes it to one visit (ADR 0010 §1a).
|
|
39
|
+
*/
|
|
40
|
+
gazeHeatmap(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & CameraModeOptions & {
|
|
41
|
+
cellSize?: number;
|
|
42
|
+
limit?: number;
|
|
43
|
+
}): Promise<WorldHeatmapBinRow[]>;
|
|
44
|
+
cameraHeatmap(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & CameraModeOptions & {
|
|
45
|
+
bins?: number;
|
|
46
|
+
}): Promise<DirectionBinRow[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Top-down "floor plan" camera-position heatmap (ADR 0026): `camera_sample`
|
|
49
|
+
* world positions binned on the X/Z ground plane. The first-person analog of
|
|
50
|
+
* the 2D pointer heatmap.
|
|
51
|
+
*/
|
|
52
|
+
cameraPositionHeatmap(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & CameraModeOptions & {
|
|
53
|
+
cellSize?: number;
|
|
54
|
+
limit?: number;
|
|
55
|
+
}): Promise<PositionBinRow[]>;
|
|
56
|
+
/** One session's ordered walked path (ADR 0026): camera positions, oldest first. */
|
|
57
|
+
sessionTrajectory(projectId: string, sessionId: string, opts?: RangeOptions & SceneOptions & {
|
|
58
|
+
limit?: number;
|
|
59
|
+
}): Promise<TrajectoryPointRow[]>;
|
|
60
|
+
/**
|
|
61
|
+
* View-gated click rays (design §7.2/§7.3): each `pointer_click` correlated to
|
|
62
|
+
* the nearest preceding `camera_sample`, aggregated into camera-origin → hit
|
|
63
|
+
* rays grouped by voxel and clicked mesh.
|
|
64
|
+
*/
|
|
65
|
+
clickGazeRays(projectId: string, opts?: RangeOptions & SceneOptions & SourceOptions & SessionOptions & {
|
|
66
|
+
cellSize?: number;
|
|
67
|
+
limit?: number;
|
|
68
|
+
}): Promise<ClickGazeRayRow[]>;
|
|
69
|
+
/**
|
|
70
|
+
* Aggregate gaze→mesh flow links (design §7.5): click-time camera direction
|
|
71
|
+
* bins joined to clicked meshes. In position-aware mode (§7.8) the click-time
|
|
72
|
+
* camera position is restored as a standpoint voxel dimension.
|
|
73
|
+
*/
|
|
74
|
+
flowHeatmap(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & CameraModeOptions & {
|
|
75
|
+
bins?: number;
|
|
76
|
+
limit?: number;
|
|
77
|
+
cellSize?: number;
|
|
78
|
+
groupByOrigin?: boolean;
|
|
79
|
+
originVoxel?: readonly [number, number, number];
|
|
80
|
+
}): Promise<FlowLinkRow[]>;
|
|
81
|
+
topMeshes(projectId: string, opts?: RangeOptions & SessionOptions & {
|
|
82
|
+
limit?: number;
|
|
83
|
+
}): Promise<MeshCountRow[]>;
|
|
84
|
+
/**
|
|
85
|
+
* Object dwell ranking (#37): per-mesh attention from `mesh_visibility`
|
|
86
|
+
* summaries — total visible/centered time and peak screen fraction.
|
|
87
|
+
*/
|
|
88
|
+
meshDwell(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & {
|
|
89
|
+
limit?: number;
|
|
90
|
+
}): Promise<MeshDwellRow[]>;
|
|
91
|
+
/**
|
|
92
|
+
* Dead-click rate (#46): total clicks vs. clicks that hit empty space, from
|
|
93
|
+
* `pointer_click` events. The consumer derives the rate.
|
|
94
|
+
*/
|
|
95
|
+
deadClicks(projectId: string, opts?: RangeOptions & SceneOptions & SourceOptions & SessionOptions): Promise<DeadClickRow[]>;
|
|
96
|
+
/**
|
|
97
|
+
* Rage clicks (#47): rapid repeated clicks on the same mesh, bucketed into
|
|
98
|
+
* fixed time windows; a frustration signal derived from the click stream.
|
|
99
|
+
*/
|
|
100
|
+
rageClicks(projectId: string, opts?: RangeOptions & SceneOptions & SourceOptions & SessionOptions & {
|
|
101
|
+
interval?: number;
|
|
102
|
+
minRepeats?: number;
|
|
103
|
+
limit?: number;
|
|
104
|
+
}): Promise<RageClickRow[]>;
|
|
105
|
+
/**
|
|
106
|
+
* Hover hesitation (#48): per-mesh dwell time spent hovering an object without
|
|
107
|
+
* clicking it, from `hover_dwell` summaries. Surfaces objects that look
|
|
108
|
+
* interactive but aren't (or aren't obviously clickable).
|
|
109
|
+
*/
|
|
110
|
+
hoverDwell(projectId: string, opts?: RangeOptions & SceneOptions & SourceOptions & SessionOptions & {
|
|
111
|
+
limit?: number;
|
|
112
|
+
}): Promise<HoverDwellRow[]>;
|
|
113
|
+
/**
|
|
114
|
+
* Compile stalls (#42): per-phase shader/pipeline compilation hitches from
|
|
115
|
+
* `compile_stall` events — the felt first-interaction jank `frame_perf`
|
|
116
|
+
* averages away.
|
|
117
|
+
*/
|
|
118
|
+
compileStalls(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & {
|
|
119
|
+
limit?: number;
|
|
120
|
+
}): Promise<CompileStallRow[]>;
|
|
121
|
+
/**
|
|
122
|
+
* Resource footprint (#44): GPU / memory cost summary from `resource_sample`
|
|
123
|
+
* events — average and peak texture/geometry bytes, triangles/vertices, and JS
|
|
124
|
+
* heap the scene asked of the device (vs. the device caps in `session_start`).
|
|
125
|
+
*/
|
|
126
|
+
resourceSummary(projectId: string, opts?: RangeOptions & SessionOptions): Promise<ResourceSummaryRow[]>;
|
|
127
|
+
/**
|
|
128
|
+
* Capability changes (#49): per-transition fallback/recovery counts from
|
|
129
|
+
* `capability_change` events (e.g. how many sessions fell back WebGPU→WebGL2)
|
|
130
|
+
* — explains perf / visual-fidelity variance across the user base.
|
|
131
|
+
*/
|
|
132
|
+
capabilityChanges(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & {
|
|
133
|
+
limit?: number;
|
|
134
|
+
}): Promise<CapabilityChangeRow[]>;
|
|
135
|
+
/**
|
|
136
|
+
* Camera gestures (ADR 0025): per-kind navigation breakdown from
|
|
137
|
+
* `camera_gesture` events (orbit / pan / dolly / zoom / roll / fly) — how an
|
|
138
|
+
* audience moves the viewpoint, separated from object selection.
|
|
139
|
+
*/
|
|
140
|
+
cameraGestures(projectId: string, opts?: RangeOptions & SceneOptions & SourceOptions & SessionOptions & {
|
|
141
|
+
limit?: number;
|
|
142
|
+
}): Promise<CameraGestureRow[]>;
|
|
143
|
+
perfSummary(projectId: string, opts?: RangeOptions & SessionOptions): Promise<PerfSummaryRow[]>;
|
|
144
|
+
/**
|
|
145
|
+
* FPS distribution (ADR 0028 §1): per-session p05/p50/p95 FPS summarized across
|
|
146
|
+
* sessions (median-of-medians), so neither long sessions nor fast devices skew
|
|
147
|
+
* the headline. The distribution-honest replacement for the volume-chart mean.
|
|
148
|
+
*/
|
|
149
|
+
perfDistribution(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions): Promise<PerfDistributionRow[]>;
|
|
150
|
+
/** Histogram of per-session median FPS in `bucket`-wide bins (ADR 0028 §1). */
|
|
151
|
+
fpsHistogram(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & {
|
|
152
|
+
bucket?: number;
|
|
153
|
+
}): Promise<FpsHistogramRow[]>;
|
|
154
|
+
/**
|
|
155
|
+
* Frame-time percentiles in ms (ADR 0028 §1): per-session median frame time and
|
|
156
|
+
* worst-window p95, summarized across sessions.
|
|
157
|
+
*/
|
|
158
|
+
frameTimePercentiles(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions): Promise<FrameTimePercentileRow[]>;
|
|
159
|
+
/**
|
|
160
|
+
* Jank rate (ADR 0028 §1): per-session long-frames-per-window rate, reported as
|
|
161
|
+
* the median and worst-decile session.
|
|
162
|
+
*/
|
|
163
|
+
jankRate(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions): Promise<JankRateRow[]>;
|
|
164
|
+
/**
|
|
165
|
+
* FPS by device class (ADR 0028 §2): per-session median FPS attributed to the
|
|
166
|
+
* `session_start.device` block (graphics backend, mobile flag, GPU renderer) —
|
|
167
|
+
* data already on the wire, no SDK change.
|
|
168
|
+
*/
|
|
169
|
+
perfByDevice(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions): Promise<PerfByDeviceRow[]>;
|
|
170
|
+
/** FPS by scene (ADR 0028 §1): per-session median FPS grouped by scene. */
|
|
171
|
+
perfByScene(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions): Promise<PerfBySceneRow[]>;
|
|
172
|
+
/**
|
|
173
|
+
* Resource-footprint percentiles (ADR 0028 §1): per-session p50/p95 of JS heap,
|
|
174
|
+
* texture bytes, and triangle count summarized across sessions.
|
|
175
|
+
*/
|
|
176
|
+
resourcePercentiles(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions): Promise<ResourcePercentileRow[]>;
|
|
177
|
+
/** Stability incidents: context-loss and compile-stall counts over the range. */
|
|
178
|
+
stabilityCounts(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions): Promise<StabilityCountRow[]>;
|
|
179
|
+
/**
|
|
180
|
+
* Scene coverage / dead zones (derived, scene-metrics §B): occupied
|
|
181
|
+
* camera-position voxels. Coverage % is computed by the consumer against the
|
|
182
|
+
* scene AABB.
|
|
183
|
+
*/
|
|
184
|
+
sceneCoverage(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & {
|
|
185
|
+
cellSize?: number;
|
|
186
|
+
limit?: number;
|
|
187
|
+
}): Promise<CoverageVoxelRow[]>;
|
|
188
|
+
/**
|
|
189
|
+
* Camera distance / zoom distribution (derived, scene-metrics §B): histogram of
|
|
190
|
+
* camera-to-`center` distance, bucketed by `bucketSize` world units.
|
|
191
|
+
*/
|
|
192
|
+
cameraDistance(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & {
|
|
193
|
+
center?: readonly [number, number, number];
|
|
194
|
+
bucketSize?: number;
|
|
195
|
+
limit?: number;
|
|
196
|
+
}): Promise<CameraDistanceBucketRow[]>;
|
|
197
|
+
/**
|
|
198
|
+
* Navigation effort / friction (derived, scene-metrics §B): per-session travel
|
|
199
|
+
* distance with active-vs-idle segmentation.
|
|
200
|
+
*/
|
|
201
|
+
navigationStats(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & {
|
|
202
|
+
moveThreshold?: number;
|
|
203
|
+
limit?: number;
|
|
204
|
+
}): Promise<NavigationStatsRow[]>;
|
|
205
|
+
/**
|
|
206
|
+
* XR motion-sickness proxy (#50, scene-metrics §F): per-session head/view
|
|
207
|
+
* rotation rate over the `camera_sample` pose stream — rapid view rotation is
|
|
208
|
+
* the comfort/discomfort signal.
|
|
209
|
+
*/
|
|
210
|
+
xrRotationRate(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & {
|
|
211
|
+
rapidTurn?: number;
|
|
212
|
+
limit?: number;
|
|
213
|
+
}): Promise<XrRotationRateRow[]>;
|
|
214
|
+
/**
|
|
215
|
+
* XR input-source usage (#50, scene-metrics §F): hand vs. controller (vs. gaze)
|
|
216
|
+
* split read from `source` on the interaction events.
|
|
217
|
+
*/
|
|
218
|
+
xrSourceUsage(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & {
|
|
219
|
+
limit?: number;
|
|
220
|
+
}): Promise<XrSourceUsageRow[]>;
|
|
221
|
+
/**
|
|
222
|
+
* XR session abandonment (#50, scene-metrics §F): per XR session, its time
|
|
223
|
+
* bounds and event/interaction counts — a short span signals headset drop-off.
|
|
224
|
+
*/
|
|
225
|
+
xrAbandonment(projectId: string, opts?: RangeOptions & SceneOptions & SessionOptions & {
|
|
226
|
+
limit?: number;
|
|
227
|
+
}): Promise<XrAbandonmentRow[]>;
|
|
228
|
+
/**
|
|
229
|
+
* Input-source breakdown (ADR 0011): per `(event_type, source)`, how many
|
|
230
|
+
* interactions came from each input source (mouse / touch / xr-controller /
|
|
231
|
+
* hand / …) and across how many sessions — turns `source` into an insight.
|
|
232
|
+
*/
|
|
233
|
+
interactionsBySource(projectId: string, opts?: RangeOptions & SceneOptions & SourceOptions & SessionOptions & {
|
|
234
|
+
limit?: number;
|
|
235
|
+
}): Promise<InteractionSourceRow[]>;
|
|
236
|
+
/** Distinct scenes (+counts, last-seen) for the project; time-range aware (ADR 0010). */
|
|
237
|
+
scenes(projectId: string, opts?: RangeOptions & {
|
|
238
|
+
limit?: number;
|
|
239
|
+
}): Promise<SceneRow[]>;
|
|
240
|
+
/** Event-volume time-series bucketed by interval (the 4th dimension). */
|
|
241
|
+
timeseries(projectId: string, opts?: RangeOptions & SceneOptions & TimeseriesOptions): Promise<TimeseriesBucketRow[]>;
|
|
242
|
+
/** Per-event-type counts over the range (powers the scene health panel). */
|
|
243
|
+
eventTypeCounts(projectId: string, opts?: RangeOptions & SceneOptions): Promise<EventTypeCountRow[]>;
|
|
244
|
+
/** Ordered session timeline for replay (gated by raw-session retention). */
|
|
245
|
+
getSessionEvents(projectId: string, sessionId: string): Promise<AnyEvent[]>;
|
|
246
|
+
/**
|
|
247
|
+
* Streaming counterpart to {@link getSessionEvents}: yields events in `ts`
|
|
248
|
+
* order without materializing the whole session, powering the NDJSON replay
|
|
249
|
+
* response (ADR 0015). Gated by raw-session retention like the array form.
|
|
250
|
+
*/
|
|
251
|
+
streamSessionEvents(projectId: string, sessionId: string): AsyncIterable<AnyEvent>;
|
|
252
|
+
/** Coarse per-session descriptor (device/scene/user) from `session_start`. */
|
|
253
|
+
getSessionMeta(projectId: string, sessionId: string): Promise<SessionMeta | null>;
|
|
254
|
+
/** Register/replace a scene's proxy geometry in the spatial registry (ADR 0010/0014). */
|
|
255
|
+
putSceneProxy(projectId: string, proxy: SceneProxy, label?: string): Promise<SceneRepresentation>;
|
|
256
|
+
/** Fetch one scene representation (including the proxy blob), or `null`. */
|
|
257
|
+
getSceneRepresentation(projectId: string, sceneId: string): Promise<SceneRepresentation | null>;
|
|
258
|
+
/** List a project's scene representations (summaries, no proxy blobs). */
|
|
259
|
+
listSceneRepresentations(projectId: string): Promise<SceneRepresentationSummary[]>;
|
|
260
|
+
/** Release underlying connections. */
|
|
261
|
+
close(): Promise<void>;
|
|
262
|
+
}
|
|
263
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/store.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derive the per-day salt from the server secret. Rotating the salt daily means a
|
|
3
|
+
* visitor hash cannot be correlated across days — the cornerstone of the
|
|
4
|
+
* cookieless, no-persistent-ID privacy model (ADR 0003).
|
|
5
|
+
*/
|
|
6
|
+
export declare function dailySalt(secret: string, date?: Date): string;
|
|
7
|
+
/**
|
|
8
|
+
* Compute the cookieless visitor id as `hash(ip + ua + dailySalt)`. The raw IP is
|
|
9
|
+
* never stored — only this derived, daily-rotating hash leaves the server.
|
|
10
|
+
*/
|
|
11
|
+
export declare function visitorHash(ip: string, ua: string, salt: string): string;
|
|
12
|
+
//# sourceMappingURL=visitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../src/visitor.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,IAAiB,GAAG,MAAM,CAGzE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAExE"}
|
package/dist/visitor.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
/**
|
|
3
|
+
* Derive the per-day salt from the server secret. Rotating the salt daily means a
|
|
4
|
+
* visitor hash cannot be correlated across days — the cornerstone of the
|
|
5
|
+
* cookieless, no-persistent-ID privacy model (ADR 0003).
|
|
6
|
+
*/
|
|
7
|
+
export function dailySalt(secret, date = new Date()) {
|
|
8
|
+
const day = date.toISOString().slice(0, 10); // YYYY-MM-DD (UTC)
|
|
9
|
+
return createHash("sha256").update(`${secret}:${day}`).digest("hex");
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Compute the cookieless visitor id as `hash(ip + ua + dailySalt)`. The raw IP is
|
|
13
|
+
* never stored — only this derived, daily-rotating hash leaves the server.
|
|
14
|
+
*/
|
|
15
|
+
export function visitorHash(ip, ua, salt) {
|
|
16
|
+
return createHash("sha256").update(`${ip}|${ua}|${salt}`).digest("hex").slice(0, 32);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=visitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../src/visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,OAAa,IAAI,IAAI,EAAE;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB;IAChE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU,EAAE,EAAU,EAAE,IAAY;IAC9D,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvF,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@uptimizr/collector-server",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Uptimizr ingestion + query API (Fastify). Self-hostable collector for the OSS data-collector.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"uptimizr",
|
|
7
|
+
"analytics",
|
|
8
|
+
"collector",
|
|
9
|
+
"ingestion",
|
|
10
|
+
"fastify",
|
|
11
|
+
"server",
|
|
12
|
+
"3d",
|
|
13
|
+
"privacy"
|
|
14
|
+
],
|
|
15
|
+
"license": "Apache-2.0",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/RaananW/Uptimizr.git",
|
|
19
|
+
"directory": "oss/apps/collector-server"
|
|
20
|
+
},
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/RaananW/Uptimizr/issues"
|
|
23
|
+
},
|
|
24
|
+
"homepage": "https://github.com/RaananW/Uptimizr/tree/main/oss/apps/collector-server#readme",
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"access": "public"
|
|
27
|
+
},
|
|
28
|
+
"type": "module",
|
|
29
|
+
"main": "dist/server.js",
|
|
30
|
+
"bin": {
|
|
31
|
+
"uptimizr": "./dist/cli.js",
|
|
32
|
+
"uptimizr-collector": "./dist/server.js"
|
|
33
|
+
},
|
|
34
|
+
"files": [
|
|
35
|
+
"dist",
|
|
36
|
+
"README.md",
|
|
37
|
+
"LICENSE"
|
|
38
|
+
],
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@fastify/cors": "^11.2.0",
|
|
41
|
+
"@fastify/helmet": "^13.0.2",
|
|
42
|
+
"@fastify/rate-limit": "^11.0.0",
|
|
43
|
+
"@fastify/static": "^9.1.1",
|
|
44
|
+
"fastify": "^5.8.5",
|
|
45
|
+
"fastify-type-provider-zod": "^6.1.0",
|
|
46
|
+
"zod": "^4.1.5",
|
|
47
|
+
"@uptimizr/db": "0.1.0",
|
|
48
|
+
"@uptimizr/schema": "0.1.0"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@types/node": "^22.19.21",
|
|
52
|
+
"tsx": "^4.22.4",
|
|
53
|
+
"vitest": "^4.1.9"
|
|
54
|
+
},
|
|
55
|
+
"scripts": {
|
|
56
|
+
"build": "tsc -p tsconfig.json",
|
|
57
|
+
"dev": "dotenv -e ../../../.env -- tsx watch src/server.ts",
|
|
58
|
+
"start": "node dist/server.js",
|
|
59
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
60
|
+
"test": "vitest run",
|
|
61
|
+
"lint": "eslint .",
|
|
62
|
+
"clean": "rm -rf dist"
|
|
63
|
+
}
|
|
64
|
+
}
|