@uptimizr/collector-server 2.1.0 → 2.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.
Files changed (135) hide show
  1. package/AGENTS.md +179 -6
  2. package/README.md +69 -0
  3. package/dist/__tests__/support/registryRequests.d.ts +2 -1
  4. package/dist/__tests__/support/registryRequests.d.ts.map +1 -1
  5. package/dist/__tests__/support/registryRequests.js +17 -1
  6. package/dist/__tests__/support/registryRequests.js.map +1 -1
  7. package/dist/__tests__/support/subscriptionFixtures.d.ts +63 -0
  8. package/dist/__tests__/support/subscriptionFixtures.d.ts.map +1 -0
  9. package/dist/__tests__/support/subscriptionFixtures.js +17 -0
  10. package/dist/__tests__/support/subscriptionFixtures.js.map +1 -0
  11. package/dist/agentReport.d.ts +256 -0
  12. package/dist/agentReport.d.ts.map +1 -0
  13. package/dist/agentReport.js +861 -0
  14. package/dist/agentReport.js.map +1 -0
  15. package/dist/app.d.ts +13 -0
  16. package/dist/app.d.ts.map +1 -1
  17. package/dist/app.js +112 -5
  18. package/dist/app.js.map +1 -1
  19. package/dist/audit.d.ts +5 -1
  20. package/dist/audit.d.ts.map +1 -1
  21. package/dist/audit.js +24 -4
  22. package/dist/audit.js.map +1 -1
  23. package/dist/auth.d.ts +41 -1
  24. package/dist/auth.d.ts.map +1 -1
  25. package/dist/auth.js +47 -0
  26. package/dist/auth.js.map +1 -1
  27. package/dist/cli.js +99 -2
  28. package/dist/cli.js.map +1 -1
  29. package/dist/clickhouseStore.d.ts.map +1 -1
  30. package/dist/clickhouseStore.js +44 -2
  31. package/dist/clickhouseStore.js.map +1 -1
  32. package/dist/config.d.ts +49 -0
  33. package/dist/config.d.ts.map +1 -1
  34. package/dist/config.js +21 -0
  35. package/dist/config.js.map +1 -1
  36. package/dist/connectionLimiter.d.ts +23 -0
  37. package/dist/connectionLimiter.d.ts.map +1 -0
  38. package/dist/connectionLimiter.js +24 -0
  39. package/dist/connectionLimiter.js.map +1 -0
  40. package/dist/duckdbStore.d.ts.map +1 -1
  41. package/dist/duckdbStore.js +44 -1
  42. package/dist/duckdbStore.js.map +1 -1
  43. package/dist/internalDispatch.d.ts +36 -0
  44. package/dist/internalDispatch.d.ts.map +1 -0
  45. package/dist/internalDispatch.js +50 -0
  46. package/dist/internalDispatch.js.map +1 -0
  47. package/dist/memoryStore.d.ts.map +1 -1
  48. package/dist/memoryStore.js +314 -1
  49. package/dist/memoryStore.js.map +1 -1
  50. package/dist/mssqlStore.d.ts.map +1 -1
  51. package/dist/mssqlStore.js +44 -2
  52. package/dist/mssqlStore.js.map +1 -1
  53. package/dist/postgresStore.d.ts.map +1 -1
  54. package/dist/postgresStore.js +44 -2
  55. package/dist/postgresStore.js.map +1 -1
  56. package/dist/projectMetadata.d.ts +82 -0
  57. package/dist/projectMetadata.d.ts.map +1 -0
  58. package/dist/projectMetadata.js +50 -0
  59. package/dist/projectMetadata.js.map +1 -0
  60. package/dist/routes/context.d.ts +135 -0
  61. package/dist/routes/context.d.ts.map +1 -0
  62. package/dist/routes/context.js +306 -0
  63. package/dist/routes/context.js.map +1 -0
  64. package/dist/routes/insights.d.ts +36 -0
  65. package/dist/routes/insights.d.ts.map +1 -0
  66. package/dist/routes/insights.js +810 -0
  67. package/dist/routes/insights.js.map +1 -0
  68. package/dist/routes/live.d.ts +8 -0
  69. package/dist/routes/live.d.ts.map +1 -1
  70. package/dist/routes/live.js +8 -7
  71. package/dist/routes/live.js.map +1 -1
  72. package/dist/routes/mcp.d.ts +36 -0
  73. package/dist/routes/mcp.d.ts.map +1 -0
  74. package/dist/routes/mcp.js +262 -0
  75. package/dist/routes/mcp.js.map +1 -0
  76. package/dist/routes/meta.d.ts +16 -2
  77. package/dist/routes/meta.d.ts.map +1 -1
  78. package/dist/routes/meta.js +699 -10
  79. package/dist/routes/meta.js.map +1 -1
  80. package/dist/routes/metadata.d.ts +31 -0
  81. package/dist/routes/metadata.d.ts.map +1 -0
  82. package/dist/routes/metadata.js +163 -0
  83. package/dist/routes/metadata.js.map +1 -0
  84. package/dist/routes/narrative.d.ts +36 -0
  85. package/dist/routes/narrative.d.ts.map +1 -0
  86. package/dist/routes/narrative.js +95 -0
  87. package/dist/routes/narrative.js.map +1 -0
  88. package/dist/routes/panels.d.ts +44 -0
  89. package/dist/routes/panels.d.ts.map +1 -0
  90. package/dist/routes/panels.js +108 -0
  91. package/dist/routes/panels.js.map +1 -0
  92. package/dist/routes/query-dsl.d.ts +50 -0
  93. package/dist/routes/query-dsl.d.ts.map +1 -0
  94. package/dist/routes/query-dsl.js +359 -0
  95. package/dist/routes/query-dsl.js.map +1 -0
  96. package/dist/routes/query.d.ts +36 -0
  97. package/dist/routes/query.d.ts.map +1 -1
  98. package/dist/routes/query.js +101 -13
  99. package/dist/routes/query.js.map +1 -1
  100. package/dist/routes/subscriptions.d.ts +52 -0
  101. package/dist/routes/subscriptions.d.ts.map +1 -0
  102. package/dist/routes/subscriptions.js +290 -0
  103. package/dist/routes/subscriptions.js.map +1 -0
  104. package/dist/store.d.ts +113 -2
  105. package/dist/store.d.ts.map +1 -1
  106. package/dist/subscriptions/cli.d.ts +36 -0
  107. package/dist/subscriptions/cli.d.ts.map +1 -0
  108. package/dist/subscriptions/cli.js +143 -0
  109. package/dist/subscriptions/cli.js.map +1 -0
  110. package/dist/subscriptions/delivery.d.ts +101 -0
  111. package/dist/subscriptions/delivery.d.ts.map +1 -0
  112. package/dist/subscriptions/delivery.js +165 -0
  113. package/dist/subscriptions/delivery.js.map +1 -0
  114. package/dist/subscriptions/evaluate.d.ts +119 -0
  115. package/dist/subscriptions/evaluate.d.ts.map +1 -0
  116. package/dist/subscriptions/evaluate.js +326 -0
  117. package/dist/subscriptions/evaluate.js.map +1 -0
  118. package/dist/subscriptions/scheduler.d.ts +97 -0
  119. package/dist/subscriptions/scheduler.d.ts.map +1 -0
  120. package/dist/subscriptions/scheduler.js +332 -0
  121. package/dist/subscriptions/scheduler.js.map +1 -0
  122. package/dist/subscriptions/stream.d.ts +40 -0
  123. package/dist/subscriptions/stream.d.ts.map +1 -0
  124. package/dist/subscriptions/stream.js +38 -0
  125. package/dist/subscriptions/stream.js.map +1 -0
  126. package/dist/version.d.ts +3 -0
  127. package/dist/version.d.ts.map +1 -0
  128. package/dist/version.js +25 -0
  129. package/dist/version.js.map +1 -0
  130. package/dist/webhookSignature.d.ts +64 -0
  131. package/dist/webhookSignature.d.ts.map +1 -0
  132. package/dist/webhookSignature.js +91 -0
  133. package/dist/webhookSignature.js.map +1 -0
  134. package/llms.txt +38 -1
  135. package/package.json +17 -14
@@ -0,0 +1,290 @@
1
+ import { z } from "zod";
2
+ import { MAX_SUBSCRIPTION_EVENTS, SubscriptionLimitError, isBucketableMetric, BUCKETABLE_METRIC_IDS, } from "@uptimizr/db";
3
+ import { LIMITS, subscriptionPatchSchema, subscriptionSchema } from "@uptimizr/schema";
4
+ import { getMetric } from "@uptimizr/metrics";
5
+ import { requireCapability } from "../auth.js";
6
+ import { verifyLiveToken } from "../liveToken.js";
7
+ import { createConnectionLimiter } from "../connectionLimiter.js";
8
+ import { thresholdColumnFor } from "../subscriptions/evaluate.js";
9
+ import { checkWebhookUrl, webhookTargetOf } from "../subscriptions/delivery.js";
10
+ const HEARTBEAT_MS = 15_000;
11
+ const idParam = z.object({ id: z.string().min(1).max(64) });
12
+ const streamQuery = z.object({
13
+ token: z.string().min(1).optional(),
14
+ /** Deliver only this subscription's firings. */
15
+ id: z.string().min(1).max(64).optional(),
16
+ });
17
+ const eventsQuery = z.object({
18
+ limit: z.coerce.number().int().positive().max(MAX_SUBSCRIPTION_EVENTS).optional(),
19
+ });
20
+ const testQuery = z.object({
21
+ /** Also record and deliver the firing, if it fires. Off by default. */
22
+ deliver: z.coerce.boolean().optional(),
23
+ });
24
+ /**
25
+ * Shape a stored record for the wire.
26
+ *
27
+ * Only the timestamps change: `Date` objects would serialise to ISO strings
28
+ * anyway, but doing it explicitly is what `GET /api/v1/audit` does, and it keeps
29
+ * the JSON identical whether Fastify's serializer or a test's `JSON.stringify`
30
+ * produces it. Nothing is stripped here — the masking that matters is done by
31
+ * the store's row mapper, so a record can never carry a secret this far.
32
+ */
33
+ function toApi(sub) {
34
+ return {
35
+ ...sub,
36
+ createdAt: sub.createdAt.toISOString(),
37
+ updatedAt: sub.updatedAt.toISOString(),
38
+ lastFiredAt: sub.lastFiredAt?.toISOString() ?? null,
39
+ };
40
+ }
41
+ /**
42
+ * Validate a declaration against the registry, beyond what Zod can check.
43
+ *
44
+ * Three refusals, each naming its own remedy, for the same reason the insight
45
+ * routes separate theirs: an agent that is told "bad metric" retries the same
46
+ * call, and an agent that is told "use `p50_fps`" does not.
47
+ */
48
+ function checkAgainstRegistry(sub) {
49
+ // `presence` is answered from the live bus and reads no series at all, so it
50
+ // is the one predicate that does not constrain the metric.
51
+ const busOnly = sub.predicate.kind === "presence";
52
+ const metric = getMetric(sub.metric);
53
+ if (metric == null) {
54
+ return {
55
+ error: `unknown metric '${sub.metric}'`,
56
+ metric: sub.metric,
57
+ available: [...BUCKETABLE_METRIC_IDS],
58
+ };
59
+ }
60
+ if (!busOnly && !isBucketableMetric(sub.metric)) {
61
+ return {
62
+ error: `metric '${sub.metric}' has no portable bucket series, so it cannot be evaluated on a ` +
63
+ `window without changing what it means`,
64
+ metric: sub.metric,
65
+ available: [...BUCKETABLE_METRIC_IDS],
66
+ };
67
+ }
68
+ if (sub.predicate.kind === "threshold") {
69
+ const column = thresholdColumnFor(metric);
70
+ if (column == null) {
71
+ return {
72
+ error: `metric '${sub.metric}' declares no comparable column to threshold on`,
73
+ metric: sub.metric,
74
+ };
75
+ }
76
+ if (sub.predicate.column !== column) {
77
+ return {
78
+ error: `a threshold on '${sub.metric}' can only compare its headline column ` +
79
+ `'${column}' (got '${sub.predicate.column}')`,
80
+ metric: sub.metric,
81
+ column,
82
+ };
83
+ }
84
+ }
85
+ return null;
86
+ }
87
+ /** Whether the subscription's webhook target is reachable under this config. */
88
+ function checkDelivery(sub, config) {
89
+ const target = sub.delivery.find((d) => d.kind === "webhook");
90
+ if (target == null || target.kind !== "webhook")
91
+ return null;
92
+ const checked = checkWebhookUrl(target.url, config.webhookAllowedHosts);
93
+ return "refused" in checked ? checked.refused : null;
94
+ }
95
+ /** Open an SSE response on the raw socket (mirrors `routes/live.ts`). */
96
+ function openSse(request, reply, config) {
97
+ const origin = request.headers.origin;
98
+ const cors = typeof origin === "string" && config.corsOrigins.includes(origin)
99
+ ? { "access-control-allow-origin": origin, vary: "Origin" }
100
+ : {};
101
+ reply.raw.writeHead(200, {
102
+ "content-type": "text/event-stream; charset=utf-8",
103
+ "cache-control": "no-cache, no-transform",
104
+ connection: "keep-alive",
105
+ "x-accel-buffering": "no",
106
+ ...cors,
107
+ });
108
+ reply.raw.write(": connected\n\n");
109
+ reply.hijack();
110
+ return {
111
+ send: (data, event) => {
112
+ if (reply.raw.writableEnded)
113
+ return;
114
+ if (event)
115
+ reply.raw.write(`event: ${event}\n`);
116
+ reply.raw.write(`data: ${data}\n\n`);
117
+ },
118
+ comment: (text) => {
119
+ if (!reply.raw.writableEnded)
120
+ reply.raw.write(`: ${text}\n\n`);
121
+ },
122
+ };
123
+ }
124
+ export const subscriptionRoutes = async (app, options) => {
125
+ const { store, config, scheduler, stream } = options;
126
+ const r = app.withTypeProvider();
127
+ const connections = options.connections ?? createConnectionLimiter(config.liveMaxConnections);
128
+ /** Resolve a subscription of the authenticated project, or send a 404. */
129
+ async function resolve(projectId, id, reply) {
130
+ const sub = await store.getSubscription(projectId, id);
131
+ if (sub == null) {
132
+ await reply.code(404).send({ error: `no subscription '${id}' in this project` });
133
+ return null;
134
+ }
135
+ return sub;
136
+ }
137
+ // --- SSE stream ----------------------------------------------------------
138
+ // Registered before `/:id` so `stream` is never read as a subscription id.
139
+ r.get("/api/v1/subscriptions/stream", { schema: { querystring: streamQuery } }, (req, reply) => {
140
+ const token = req.query.token;
141
+ if (!token) {
142
+ void reply.code(401).send({ error: "missing live token" });
143
+ return;
144
+ }
145
+ const claims = verifyLiveToken(token, config.liveTokenSecret);
146
+ if (!claims) {
147
+ void reply.code(401).send({ error: "invalid or expired live token" });
148
+ return;
149
+ }
150
+ // Shares the live budget: an open subscription stream is the same held-open
151
+ // socket, and one pool is the only way the cap means anything.
152
+ if (!connections.acquire()) {
153
+ void reply.code(503).send({ error: "live connection limit reached" });
154
+ return;
155
+ }
156
+ const { send, comment } = openSse(req, reply, config);
157
+ const unsubscribe = stream.subscribe({ projectId: claims.projectId, subscriptionId: req.query.id }, (message) => send(JSON.stringify(message), "subscription"));
158
+ const heartbeat = setInterval(() => comment("ping"), HEARTBEAT_MS);
159
+ heartbeat.unref?.();
160
+ req.raw.on("close", () => {
161
+ clearInterval(heartbeat);
162
+ unsubscribe();
163
+ connections.release();
164
+ });
165
+ });
166
+ // --- CRUD ----------------------------------------------------------------
167
+ r.get("/api/v1/subscriptions", {}, async (req, reply) => {
168
+ const resolved = await requireCapability(req, reply, store, "query");
169
+ if (!resolved)
170
+ return reply;
171
+ const rows = await store.listSubscriptions(resolved.projectId);
172
+ return rows.map(toApi);
173
+ });
174
+ r.get("/api/v1/subscriptions/:id", { schema: { params: idParam } }, async (req, reply) => {
175
+ const resolved = await requireCapability(req, reply, store, "query");
176
+ if (!resolved)
177
+ return reply;
178
+ const sub = await resolve(resolved.projectId, req.params.id, reply);
179
+ return sub == null ? reply : toApi(sub);
180
+ });
181
+ r.post("/api/v1/subscriptions", {
182
+ // No `response` schema: the handler answers with a 201 record, a 400
183
+ // rejection or a 409, and pinning one of those in the serializer would
184
+ // narrow the others away. Error bodies are documented in `meta.ts`.
185
+ schema: { body: subscriptionSchema },
186
+ }, async (req, reply) => {
187
+ const resolved = await requireCapability(req, reply, store, "annotate");
188
+ if (!resolved)
189
+ return reply;
190
+ const rejection = checkAgainstRegistry(req.body);
191
+ if (rejection != null)
192
+ return reply.code(400).send(rejection);
193
+ // A webhook the collector may not reach is refused at creation rather than
194
+ // silently recorded and then failed on every firing.
195
+ const refusal = checkDelivery(req.body, config);
196
+ if (refusal != null)
197
+ return reply.code(400).send({ error: refusal });
198
+ try {
199
+ const created = await store.createSubscription(resolved.projectId, req.body);
200
+ await scheduler.reload();
201
+ return reply.code(201).send(toApi(created));
202
+ }
203
+ catch (err) {
204
+ if (err instanceof SubscriptionLimitError) {
205
+ return reply.code(409).send({
206
+ error: `a project may hold at most ${LIMITS.maxSubscriptionsPerProject} subscriptions`,
207
+ });
208
+ }
209
+ throw err;
210
+ }
211
+ });
212
+ r.patch("/api/v1/subscriptions/:id", {
213
+ schema: { params: idParam, body: subscriptionPatchSchema },
214
+ }, async (req, reply) => {
215
+ const resolved = await requireCapability(req, reply, store, "annotate");
216
+ if (!resolved)
217
+ return reply;
218
+ const updated = await store.setSubscriptionEnabled(resolved.projectId, req.params.id, req.body.enabled);
219
+ if (updated == null) {
220
+ return reply
221
+ .code(404)
222
+ .send({ error: `no subscription '${req.params.id}' in this project` });
223
+ }
224
+ await scheduler.reload();
225
+ return toApi(updated);
226
+ });
227
+ r.delete("/api/v1/subscriptions/:id", { schema: { params: idParam } }, async (req, reply) => {
228
+ const resolved = await requireCapability(req, reply, store, "annotate");
229
+ if (!resolved)
230
+ return reply;
231
+ const deleted = await store.deleteSubscription(resolved.projectId, req.params.id);
232
+ if (!deleted) {
233
+ return reply.code(404).send({ error: `no subscription '${req.params.id}' in this project` });
234
+ }
235
+ await scheduler.reload();
236
+ return reply.code(204).send();
237
+ });
238
+ // --- Firings -------------------------------------------------------------
239
+ r.get("/api/v1/subscriptions/:id/events", {
240
+ schema: { params: idParam, querystring: eventsQuery },
241
+ }, async (req, reply) => {
242
+ const resolved = await requireCapability(req, reply, store, "query");
243
+ if (!resolved)
244
+ return reply;
245
+ const sub = await resolve(resolved.projectId, req.params.id, reply);
246
+ if (sub == null)
247
+ return reply;
248
+ const rows = await store.listSubscriptionEvents(resolved.projectId, sub.id, {
249
+ limit: req.query.limit,
250
+ });
251
+ return rows.map((row) => ({ ...row, at: row.at.toISOString() }));
252
+ });
253
+ /**
254
+ * Evaluate once, now.
255
+ *
256
+ * A dry run by default: it answers with the evaluation — including *why* it
257
+ * did not fire — and delivers nothing. `?deliver=true` makes it a real firing,
258
+ * cooldown and all, which is how an operator proves a webhook receiver works
259
+ * without waiting for the condition to occur on its own.
260
+ */
261
+ r.post("/api/v1/subscriptions/:id/test", {
262
+ schema: { params: idParam, querystring: testQuery },
263
+ }, async (req, reply) => {
264
+ const resolved = await requireCapability(req, reply, store, "annotate");
265
+ if (!resolved)
266
+ return reply;
267
+ const sub = await resolve(resolved.projectId, req.params.id, reply);
268
+ if (sub == null)
269
+ return reply;
270
+ const result = await scheduler.runOnce(sub, { deliver: req.query.deliver === true });
271
+ if (result == null) {
272
+ return reply
273
+ .code(409)
274
+ .send({ error: "an evaluation is already in flight; try again in a moment" });
275
+ }
276
+ return {
277
+ fired: result.fired,
278
+ reason: result.reason,
279
+ window: result.window,
280
+ value: result.value,
281
+ expected: result.expected,
282
+ sampleSize: result.sampleSize,
283
+ dimensionValue: result.dimensionValue,
284
+ bucket: result.bucket,
285
+ delivered: result.fired && req.query.deliver === true,
286
+ webhookConfigured: webhookTargetOf(sub) != null,
287
+ };
288
+ });
289
+ };
290
+ //# sourceMappingURL=subscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../src/routes/subscriptions.ts"],"names":[],"mappings":"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"}
package/dist/store.d.ts CHANGED
@@ -1,11 +1,21 @@
1
1
  import type { AnyEvent, SceneProxy, SceneRegion } from "@uptimizr/schema";
2
- import type { AgentAuditEntry, AgentAuditInput, AuditQueryOptions, CameraDistanceBucketRow, CameraModeOptions, ClickGazeRayRow, CoverageVoxelRow, DeadClickRow, DirectionBinRow, ViewCoverageHistogramRow, EventTypeCountRow, FlowLinkRow, FunnelStepInput, FunnelStepResultRow, SceneRetentionOptions, SceneRetentionRow, LoadBounceFunnelOptions, LoadBounceBandRow, VariantLeaderboardOptions, VariantLeaderboardRow, HeatmapBinRow, HoverDwellRow, CompileStallRow, ArPlacementTimeToPlaceRow, ArPlacementAttemptsRow, ArPlacementSurfaceRow, ResourceSummaryRow, CapabilityChangeRow, CameraGestureRow, MeshCountRow, MeshDwellRow, MeshBlindSpotRow, MeshInteractionKindRow, ReachabilityBinRow, MeshSourceCountRow, MeshTrendPointRow, InputActionCountRow, PositionBinRow, PerfHeatmapVoxelRow, RageClickRow, NavigationStatsRow, BacktrackRatioRow, XrRotationRateRow, XrSourceUsageRow, XrAbandonmentRow, XrLocomotionRow, BoundaryContactsRow, TrackingQualityRow, InteractionSourceRow, PerfSummaryRow, PerfDistributionRow, FpsHistogramRow, FrameTimePercentileRow, JankRateRow, PerfChurnOptions, PerfChurnRow, PerfByDeviceRow, PerfBySceneRow, ResourcePercentileRow, RenderScaleTruthRow, AggregateTrajectoryPointRow, ResolvedApiKey, StabilityCountRow, GraphicsDiagnosticCountRow, RenderingTechnologyRow, RangeOptions, RegionOptions, ErrorHeatmapOptions, SceneOptions, SceneRegionRecord, SceneRegionSummary, SceneRepresentation, SceneRepresentationSummary, SceneRow, SourceOptions, SessionOptions, MeshOptions, SessionMeta, SessionSummaryRow, SpatialStatsRow, TimeseriesBucketRow, TimeseriesOptions, TrajectoryPointRow, WorldHeatmapBinRow } from "@uptimizr/db";
2
+ import type { AgentAuditEntry, AgentAuditInput, AuditQueryOptions, CameraDistanceBucketRow, CameraModeOptions, ClickGazeRayRow, CoverageVoxelRow, DeadClickRow, DirectionBinRow, ViewCoverageHistogramRow, EventTypeCountRow, FlowLinkRow, FunnelStepInput, FunnelStepResultRow, SceneRetentionOptions, SceneRetentionRow, LoadBounceFunnelOptions, LoadBounceBandRow, VariantLeaderboardOptions, VariantLeaderboardRow, HeatmapBinRow, HoverDwellRow, CompileStallRow, ArPlacementTimeToPlaceRow, ArPlacementAttemptsRow, ArPlacementSurfaceRow, ResourceSummaryRow, CapabilityChangeRow, CameraGestureRow, MeshCountRow, MetricBucketOptions, MetricBucketRow, MeshDwellRow, MeshBlindSpotRow, MeshInteractionKindRow, ReachabilityBinRow, MeshSourceCountRow, MeshTrendPointRow, MetricQueryOptions, InputActionCountRow, CustomEventVocabularyOptions, CustomEventVocabularyRow, PositionBinRow, PerfHeatmapVoxelRow, RageClickRow, NavigationStatsRow, BacktrackRatioRow, XrRotationRateRow, XrSourceUsageRow, XrAbandonmentRow, XrLocomotionRow, BoundaryContactsRow, TrackingQualityRow, InteractionSourceRow, PerfSummaryRow, PerfDistributionRow, FpsHistogramRow, FrameTimePercentileRow, JankRateRow, PerfChurnOptions, PerfChurnRow, PerfByDeviceRow, PerfBySceneRow, ResourcePercentileRow, RenderScaleTruthRow, AggregateTrajectoryPointRow, ResolvedApiKey, StabilityCountRow, GraphicsDiagnosticCountRow, RenderingTechnologyRow, RangeOptions, RegionOptions, ErrorHeatmapOptions, SceneOptions, SceneRegionRecord, SceneRegionSummary, AnnotationRecord, CreateAnnotationInput, CreatePanelSpecInput, CreateSavedAnalysisInput, GlossaryEntryRecord, ListAnnotationsOptions, MetadataListOptions, PanelSpecRecord, PutGlossaryEntryInput, SavedAnalysisRecord, UpdatePanelSpecInput, SceneRepresentation, SceneRepresentationSummary, SceneRow, SourceOptions, SubscriptionStore, SessionOptions, MeshOptions, SessionMeta, SessionSummaryRow, SpatialStatsRow, TimeseriesBucketRow, TimeseriesOptions, TrajectoryPointRow, WorldHeatmapBinRow, QuerySpec } from "@uptimizr/db";
3
+ import type { MetricId } from "@uptimizr/metrics";
4
+ /** The storage engines a collector can be wired to (`COLLECTOR_STORE`). */
5
+ export type StoreEngine = "duckdb" | "postgres" | "mssql" | "clickhouse" | "memory";
3
6
  /**
4
7
  * The data-access surface the routes depend on. Abstracting it behind an
5
8
  * interface keeps handlers thin and lets tests inject a fake store without a
6
9
  * live ClickHouse/Postgres (the framework and the DB stay swappable — ADR 0005).
7
10
  */
8
- export interface CollectorStore {
11
+ export interface CollectorStore extends SubscriptionStore {
12
+ /**
13
+ * Which storage engine is behind this store. Descriptive only — no handler
14
+ * branches on it — but the project context document reports it (ADR 0051 §5)
15
+ * so an agent knows whether it is reading a single-file DuckDB collector or a
16
+ * scale-tier engine before it reasons about freshness or volume.
17
+ */
18
+ readonly engine: StoreEngine;
9
19
  /**
10
20
  * Resolve a plaintext API key to its project id, key id, capability set and
11
21
  * optional per-key rate limit, or `null` if invalid/revoked. The capability
@@ -30,6 +40,40 @@ export interface CollectorStore {
30
40
  projectExists(projectId: string): Promise<boolean>;
31
41
  /** Batched insert of enriched, validated events. */
32
42
  insertEvents(events: readonly AnyEvent[]): Promise<void>;
43
+ /**
44
+ * Run **any** registry metric by id, with an option bag the query DSL
45
+ * assembled from a validated `queryV1` document (ADR 0051 §3).
46
+ *
47
+ * The one method the DSL needs, and deliberately the only one it adds: every
48
+ * store implements it as `run<Engine>Query(compileMetric(…, <engine>Dialect))`,
49
+ * so a DSL query takes exactly the path a canned aggregate takes — the same
50
+ * builders, the same dialect, the same cross-engine parity harness and the
51
+ * same numeric coercion at the driver edge. Putting the dispatch in the
52
+ * collector instead would have given the DSL a second, unverified query path.
53
+ *
54
+ * Rows are returned untyped because the shape depends on the metric; the
55
+ * registry `row` schema is what describes them, and the response layer
56
+ * (`format=table|summary`) reads that.
57
+ */
58
+ runMetric(projectId: string, metric: MetricId, options: MetricQueryOptions): Promise<Record<string, unknown>[]>;
59
+ /**
60
+ * Render the same query {@link runMetric} would run, **without running it** —
61
+ * the compiled `QuerySpec` and the name of the engine that would execute it
62
+ * (ADR 0051 §3, #304).
63
+ *
64
+ * This is what `explain: true` answers with. It has to be a store method for
65
+ * the one reason the DSL has a store seam at all: the dialect is the store’s,
66
+ * and the collector deliberately does not know which engine it is talking to.
67
+ * Returning the spec rather than a rendered string keeps the redaction
68
+ * decision (`explainSpec`) in one place instead of four.
69
+ *
70
+ * `null` from a store that compiles no SQL (the in-memory one), so `explain`
71
+ * degrades to the warnings rather than failing.
72
+ */
73
+ describeMetric(projectId: string, metric: MetricId, options: MetricQueryOptions): {
74
+ dialect: string;
75
+ spec: QuerySpec;
76
+ } | null;
33
77
  listSessions(projectId: string, opts?: RangeOptions & CameraModeOptions & {
34
78
  limit?: number;
35
79
  }): Promise<SessionSummaryRow[]>;
@@ -458,6 +502,15 @@ export interface CollectorStore {
458
502
  topInputActions(projectId: string, opts?: RangeOptions & SceneOptions & SourceOptions & SessionOptions & {
459
503
  limit?: number;
460
504
  }): Promise<InputActionCountRow[]>;
505
+ /**
506
+ * Discovered custom-event vocabulary (ADR 0051 §5): the developer-defined
507
+ * `custom` event names the project emits, with their counts, distinct sessions
508
+ * and the union of `props` keys observed on a bounded sample of each name's
509
+ * most recent payloads. The store folds the sampled payloads into prop types
510
+ * itself — the raw payload is an implementation detail and never leaves this
511
+ * layer.
512
+ */
513
+ customEventVocabulary(projectId: string, opts?: CustomEventVocabularyOptions): Promise<CustomEventVocabularyRow[]>;
461
514
  /** Distinct scenes (+counts, last-seen) for the project; time-range aware (ADR 0010). */
462
515
  scenes(projectId: string, opts?: RangeOptions & {
463
516
  limit?: number;
@@ -466,6 +519,27 @@ export interface CollectorStore {
466
519
  timeseries(projectId: string, opts?: RangeOptions & SceneOptions & TimeseriesOptions): Promise<TimeseriesBucketRow[]>;
467
520
  /** Per-event-type counts over the range (powers the scene health panel). */
468
521
  eventTypeCounts(projectId: string, opts?: RangeOptions & SceneOptions): Promise<EventTypeCountRow[]>;
522
+ /**
523
+ * The per-bucket series of one metric's comparable headline column — the one
524
+ * store read both insight primitives are built on (ADR 0051 §4).
525
+ *
526
+ * A single generic aggregation rather than one store method per insight: what
527
+ * differs between metrics is the *series*, and that difference is declared as
528
+ * data in `@uptimizr/db`'s `src/insights/measures.ts`. Everything computed
529
+ * from the series — mean, median, MAD, quantiles, slope, robust z — is pure
530
+ * TypeScript, so no two engines can disagree about an insight.
531
+ *
532
+ * `opts.metric` must name a metric that has a portable bucket series; the
533
+ * route validates that at the edge and answers `400` with the list of ids that
534
+ * do, so an implementation may assume it.
535
+ *
536
+ * `opts.series` (#307) selects one of that metric’s **named auxiliary
537
+ * series** instead — a rate denominator, an FPS tail — declared beside the
538
+ * main measure in the same catalog. It is a compile-time union set by the
539
+ * insight layer, never a caller-supplied string, and a metric may declare a
540
+ * variant without being bucketable in its own right.
541
+ */
542
+ metricBuckets(projectId: string, opts: MetricBucketOptions): Promise<MetricBucketRow[]>;
469
543
  /**
470
544
  * Single-project configurator funnel (#78, ADR 0038): ordered, per-session
471
545
  * step-reach with the drop-off between consecutive steps. Each row is
@@ -536,6 +610,43 @@ export interface CollectorStore {
536
610
  * kept separate so the scene listing stays exactly as it is.
537
611
  */
538
612
  listSceneRegions(projectId: string): Promise<SceneRegionSummary[]>;
613
+ /** Create one annotation and return the stored row. */
614
+ createAnnotation(projectId: string, input: CreateAnnotationInput): Promise<AnnotationRecord>;
615
+ /**
616
+ * A project's annotations, newest first. `since`/`until` are an **overlap**
617
+ * filter — an annotation matches when its period intersects the window, and a
618
+ * standing note (no period) always matches.
619
+ */
620
+ listAnnotations(projectId: string, opts?: ListAnnotationsOptions): Promise<AnnotationRecord[]>;
621
+ /** Delete one annotation of this project; `false` when the id is unknown. */
622
+ deleteAnnotation(projectId: string, id: string): Promise<boolean>;
623
+ /** Upsert one glossary entry — the term is the identity, so writes are idempotent. */
624
+ putGlossaryEntry(projectId: string, input: PutGlossaryEntryInput): Promise<GlossaryEntryRecord>;
625
+ /** A project's whole glossary, ordered by term. */
626
+ listGlossary(projectId: string, opts?: MetadataListOptions): Promise<GlossaryEntryRecord[]>;
627
+ /** Delete one term; `false` when it was not defined. */
628
+ deleteGlossaryEntry(projectId: string, term: string): Promise<boolean>;
629
+ /** Create one saved analysis and return the stored row. */
630
+ createSavedAnalysis(projectId: string, input: CreateSavedAnalysisInput): Promise<SavedAnalysisRecord>;
631
+ /** A project's saved analyses, newest first. */
632
+ listSavedAnalyses(projectId: string, opts?: MetadataListOptions): Promise<SavedAnalysisRecord[]>;
633
+ /** Delete one saved analysis; `false` when the id is unknown. */
634
+ deleteSavedAnalysis(projectId: string, id: string): Promise<boolean>;
635
+ /** Pin one panel and return the stored row. */
636
+ createPanelSpec(projectId: string, input: CreatePanelSpecInput): Promise<PanelSpecRecord>;
637
+ /**
638
+ * A project's pinned panels, **oldest first** — the opposite order to the
639
+ * other metadata listings, because these are grid positions rather than a
640
+ * feed and newest-first would reshuffle the dashboard on every pin.
641
+ */
642
+ listPanelSpecs(projectId: string, opts?: MetadataListOptions): Promise<PanelSpecRecord[]>;
643
+ /**
644
+ * Replace one panel's spec, keeping its id, its place and its original
645
+ * authorship; `null` when the id is unknown (or belongs to another project).
646
+ */
647
+ updatePanelSpec(projectId: string, id: string, input: UpdatePanelSpecInput): Promise<PanelSpecRecord | null>;
648
+ /** Unpin one panel; `false` when the id is unknown. */
649
+ deletePanelSpec(projectId: string, id: string): Promise<boolean>;
539
650
  /** Release underlying connections. */
540
651
  close(): Promise<void>;
541
652
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { type Subscription } from "@uptimizr/schema";
2
+ /**
3
+ * `uptimizr subscriptions …` — the operator's offline half of the subscriptions
4
+ * API (#311, ADR 0051 §6).
5
+ *
6
+ * The offline sibling of `/api/v1/subscriptions`, and an **operator** command in
7
+ * the same sense as `new-key` and `regions set`: it takes no API key and opens
8
+ * the store directly, because store access is already strictly more than any
9
+ * capability grants. It is the path a self-hoster uses to put a subscription
10
+ * under version control — `sub.json` in a repo, applied by a deploy step —
11
+ * rather than clicking one together.
12
+ *
13
+ * `test` deliberately **never delivers**. A dry run from a shell should not be
14
+ * able to page anyone; proving a webhook receiver works is
15
+ * `POST /api/v1/subscriptions/:id/test?deliver=true`, which needs an `annotate`
16
+ * key and is auditable.
17
+ *
18
+ * Human progress goes to stderr, machine-readable JSON to stdout — the same
19
+ * split the rest of `cli.ts` uses, so `uptimizr subscriptions list | jq` works.
20
+ */
21
+ /** Read and validate a declaration file (a bare object or a `{ subscription }` envelope). */
22
+ export declare function readSubscriptionFile(file: string): Subscription;
23
+ /** `uptimizr subscriptions list` — every subscription of `projectId`. */
24
+ export declare function cmdSubscriptionsList(projectId: string): Promise<void>;
25
+ /** `uptimizr subscriptions add --file sub.json` — store a new declaration. */
26
+ export declare function cmdSubscriptionsAdd(projectId: string, file: string): Promise<void>;
27
+ /** `uptimizr subscriptions remove <id>` — delete a subscription and its firings. */
28
+ export declare function cmdSubscriptionsRemove(projectId: string, id: string): Promise<void>;
29
+ /**
30
+ * `uptimizr subscriptions test <id>` — evaluate once, now, delivering nothing.
31
+ *
32
+ * Answers with the evaluation, including why it did not fire, which is what
33
+ * makes a subscription tunable rather than mysterious.
34
+ */
35
+ export declare function cmdSubscriptionsTest(projectId: string, id: string): Promise<void>;
36
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/subscriptions/cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOzE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAuB/D;AAmBD,yEAAyE;AACzE,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E;AAED,8EAA8E;AAC9E,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBxF;AAED,oFAAoF;AACpF,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzF;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDvF"}