@uptimizr/collector-server 2.0.0 → 2.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/AGENTS.md ADDED
@@ -0,0 +1,196 @@
1
+ # AGENTS.md — @uptimizr/collector-server
2
+
3
+ > Packaged agent guide. For the human reference see [README.md](./README.md); for design
4
+ > rationale see the project ADRs at https://github.com/RaananW/Uptimizr/tree/main/docs/adr.
5
+
6
+ ## What this package is
7
+
8
+ The public-facing **ingestion + query API** (Fastify) for the OSS data collector, plus the
9
+ `uptimizr` CLI that self-hosts it. All client input is untrusted and validated against
10
+ `@uptimizr/schema` at the boundary. Route handlers stay thin; storage lives behind a swappable
11
+ `CollectorStore` (ADR 0005).
12
+
13
+ It is the **single gateway** to the data: the dashboard, `@uptimizr/mcp`, the in-browser assistant
14
+ and your own agents all read through this HTTP API, never the database.
15
+
16
+ ## Run it
17
+
18
+ ```bash
19
+ # 1. One-time setup: generate a visitor-hash secret, create + migrate the store,
20
+ # mint a first project + owner API key, write a local .env.
21
+ npx -p @uptimizr/collector-server uptimizr init "My Project"
22
+
23
+ # 2. Start the ingestion + query API (reads the generated .env; 0.0.0.0:4318).
24
+ npx -p @uptimizr/collector-server uptimizr serve
25
+ ```
26
+
27
+ `init` prints a **`projectId`** (public — give it to your client SDK along with this server's URL)
28
+ and a one-time **API key** (secret — `x-api-key` for the query routes). That key is the operator's
29
+ **owner** key: `query`, `query:raw` and `annotate`, labelled `owner`. Do not hand it to an agent —
30
+ mint one with `uptimizr new-key <projectId> --capabilities query` instead.
31
+
32
+ ### CLI (ADR 0029)
33
+
34
+ | Command | What it does |
35
+ | ------------------------------ | -------------------------------------------------------------------- |
36
+ | `uptimizr init [name]` | Secret + store + migrations + first project/owner key + `.env`. |
37
+ | `uptimizr serve` | Run the ingestion + query API. The default when no command is given. |
38
+ | `uptimizr new-project <name>` | Mint an additional project + owner API key. |
39
+ | `uptimizr new-key <projectId>` | Mint an additional key on an existing project (see the flags below). |
40
+ | `uptimizr migrate` | Apply store migrations. |
41
+ | `uptimizr regions set <scene>` | Replace a scene's named regions from `--file <regions.json>`. |
42
+ | `uptimizr regions get <scene>` | Print a scene's named regions as JSON. |
43
+ | `uptimizr help` | Usage. |
44
+
45
+ `new-key` flags: `--capabilities <list>` (comma-separated; default `query`), `--label <name>`,
46
+ and the paired `--rate-limit-max <n>` / `--rate-limit-window-ms <ms>`:
47
+
48
+ ```bash
49
+ uptimizr new-key <projectId> --capabilities query,annotate \
50
+ --label "weekly-report-agent" --rate-limit-max 120 --rate-limit-window-ms 60000
51
+ ```
52
+
53
+ `regions` commands take `--project <projectId>` (or `UPTIMIZR_PROJECT_ID`). They talk to the store
54
+ **directly**, so they need no API key — an operator command, unlike the HTTP equivalent.
55
+
56
+ **Every command targets the store selected by `COLLECTOR_STORE`**, read through the same
57
+ connection variables `serve` uses — so export the store + its settings before `init` and the
58
+ project you mint is the one the running collector resolves.
59
+
60
+ Installed as a dependency, the package exposes the `uptimizr` CLI plus the legacy
61
+ `uptimizr-collector` bin (equivalent to `uptimizr serve`).
62
+
63
+ ## API keys and capabilities (ADR 0051 §7)
64
+
65
+ A key carries a **set of capabilities**, not a single role. `new-key` defaults to `query`;
66
+ `init` / `new-project` mint their single key with `query`, `query:raw` and `annotate`.
67
+
68
+ | Capability | Unlocks |
69
+ | ----------- | --------------------------------------------------------------------------------------------------------- |
70
+ | `query` | The aggregate analytics API, the scene registry, the live token exchange, and `GET /api/v1/audit`. |
71
+ | `query:raw` | Raw per-session streams: `GET /api/v1/sessions/:id/events` and `GET /api/v1/live/sessions/:id`. |
72
+ | `annotate` | The project **metadata** write path (annotations, glossary, saved analyses, panel specs). Never events. |
73
+ | `ingest` | Reserved for server-side write paths. Public ingestion is keyless, so issued keys are normally read keys. |
74
+
75
+ The raw endpoints are gated **twice**: the collector must run with `ENABLE_RAW_SESSION_RETENTION`
76
+ **and** the key must hold `query:raw` — otherwise `403`. Retention alone is not enough.
77
+
78
+ `--rate-limit-max` / `--rate-limit-window-ms` give a key its own request budget, bucketed on the
79
+ **key id** rather than the client IP; keys without one fall back to `COLLECTOR_RATE_LIMIT_*`.
80
+ Ingestion keeps its separate `COLLECTOR_INGEST_RATE_LIMIT_*` budget.
81
+
82
+ ## Endpoints an agent should know
83
+
84
+ - **`GET /api/v1/openapi.json`** — **unauthenticated** OpenAPI 3.1 for the whole read API,
85
+ generated from the `@uptimizr/metrics` registry (ADR 0051) and this server's route table. One
86
+ path per endpoint, the real validating schema per parameter, a response schema per metric, and
87
+ the semantics OpenAPI cannot express as `x-uptimizr-*` extensions (result `grain`, per-column
88
+ `units`, `caveats`, `interpretation`, source capture channels, row `limits`). **Start here**
89
+ rather than guessing routes; generate a typed client with
90
+ `npx openapi-typescript <collector>/api/v1/openapi.json -o collector.d.ts`.
91
+ - **`GET /api/v1/whoami`** — the calling key's `projectId`, `keyId`, `capabilities`, `label` and
92
+ effective `rateLimit` (plus `rateLimitSource`: `"key"` or `"default"`). It reports the key's
93
+ **id**, never the key. Call it first and register only the tools your capabilities permit,
94
+ instead of probing for `403`s.
95
+ - **`GET /api/v1/audit`** (`since` / `until` / `limit`, any `query` key) — the agent audit log.
96
+ - `POST /api/v1/collect` — batched ingestion. **Keyless by design** (it runs in untrusted
97
+ browsers, where a key is not a secret); protected by schema validation, payload bounds and rate
98
+ limits instead. The server sets the cookieless `visitorId = hash(ip + ua + dailySalt)`; the raw
99
+ IP is never stored (ADR 0003).
100
+ - The read API: sessions, heatmaps (`pointer`, `camera`, `position`, `world`, `gaze`, `mesh-uv`,
101
+ `click-rays`, `flow`, `perf`, `errors`), mesh/interaction insights, performance and diagnostics,
102
+ scene/path/funnel analytics, scene representations and regions, and the live SSE endpoints.
103
+ - `GET /health` — liveness probe, unauthenticated.
104
+
105
+ ### Result envelopes: `format=full | table | summary` (ADR 0051 §2)
106
+
107
+ Every aggregate endpoint accepts `format`. It **filters nothing** — it picks the result envelope:
108
+
109
+ - `full` (default) — the bare rows, unchanged. What the dashboard uses.
110
+ - `table` — adds a `meta` envelope: metric, range, applied filters, sample size, row count,
111
+ `truncated`, limits.
112
+ - `summary` — a bounded digest: ranked top rows, a first/last/min/max/trend series, or merged
113
+ spatial clusters, with shares, the metric's caveats and a templated `reading` sentence, capped at
114
+ the registry's `maxSummaryRows`. **This is what makes a 500-bin heatmap affordable for an LLM** —
115
+ prefer it over `full` when feeding a model.
116
+
117
+ ### Filters
118
+
119
+ Common query params: `since`, `until` (epoch ms), `bins`, `limit`, `scene`, `session`,
120
+ `cameraMode`, `source`, and spatial `cellSize` / **`region`** where supported. `region=<id>` drills
121
+ a spatial query into one named place from the scene registry — declare regions with
122
+ `uptimizr regions set`, `PUT /api/v1/scenes/:sceneId/regions` (an `annotate` key), or
123
+ `registerRegions` in `@uptimizr/sdk-core`.
124
+
125
+ ### Live endpoints
126
+
127
+ `POST /api/v1/live/token` exchanges a query key for a short-lived SSE token; the key's capability
128
+ set is carried **inside the signed token**, so `GET /api/v1/live/sessions/:id` can enforce
129
+ `query:raw` even though `EventSource` cannot send headers. `GET /api/v1/live/presence` and
130
+ `/live/stream` use the same `?token=...`.
131
+
132
+ ## Storage (`COLLECTOR_STORE`)
133
+
134
+ | Value | Store |
135
+ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
136
+ | `duckdb` **(default)** | Single-file OSS store: events **and** metadata in one file at `DUCKDB_PATH` (default `./data/uptimizr.duckdb`). No external service. **Single-writer** — one collector process per file; back up by copying the file. |
137
+ | `memory` | Dependency-free in-memory store for local dev / E2E only (`COLLECTOR_MEMORY_PROJECT_ID` / `COLLECTOR_MEMORY_API_KEY`). |
138
+ | `postgres` | `@uptimizr/db-postgres` — `POSTGRES_URL` / `DATABASE_URL`, `POSTGRES_SCHEMA`, `POSTGRES_POOL_MAX`. Multi-writer. |
139
+ | `mssql` | `@uptimizr/db-mssql` — `MSSQL_URL` (or `MSSQL_SERVER` / `MSSQL_PORT` / `MSSQL_DATABASE` / `MSSQL_USER` / `MSSQL_PASSWORD`). SQL Server 2022+ / Azure SQL. Multi-writer. |
140
+ | `clickhouse` | `@uptimizr/db-clickhouse` — `CLICKHOUSE_URL` / `CLICKHOUSE_DATABASE` / `CLICKHOUSE_USER` / `CLICKHOUSE_PASSWORD`. Concurrent writers, high-volume ingestion. |
141
+
142
+ All four return **identical analytics** (the cross-engine parity suite). Aggregations are computed
143
+ at **query time** in v1 — no materialized views.
144
+
145
+ ## Other configuration
146
+
147
+ - Server / browser access: `COLLECTOR_HOST` (`0.0.0.0`), `COLLECTOR_PORT` (`4318`),
148
+ `COLLECTOR_CORS_ORIGINS`, `COLLECTOR_TRUST_PROXY`, `COLLECTOR_BODY_LIMIT`.
149
+ - Privacy / replay / live: **`VISITOR_HASH_SECRET` (required — the server fails fast without it)**,
150
+ `ENABLE_RAW_SESSION_RETENTION`, `LIVE_TOKEN_SECRET`, `LIVE_TOKEN_TTL_MS`, `LIVE_WINDOW_MS`,
151
+ `LIVE_MAX_CONNECTIONS`, `LIVE_PRESENCE_INTERVAL_MS`.
152
+ - Rate limits: `COLLECTOR_RATE_LIMIT_MAX`, `COLLECTOR_RATE_LIMIT_WINDOW_MS`,
153
+ `COLLECTOR_INGEST_RATE_LIMIT_MAX`, `COLLECTOR_INGEST_RATE_LIMIT_WINDOW_MS`.
154
+ - Agent audit: **`AUDIT_RETENTION_DAYS`** (default `30`; `0` = keep forever),
155
+ `AUDIT_DASHBOARD_REQUESTS` (default off — requests carrying `x-uptimizr-client: dashboard` are
156
+ skipped as a volume filter, **not** a security boundary).
157
+ - All-in-one dashboard: `COLLECTOR_DASHBOARD_DIR` (point it at a static dashboard export and one
158
+ process serves ingestion, queries and the UI), `COLLECTOR_CSP` (`strict` or `off`).
159
+
160
+ ## Rules for agents
161
+
162
+ - **Validate at the boundary.** Every request body and querystring is parsed against
163
+ `@uptimizr/schema` / the metric registry. Never trust client input, never skip validation.
164
+ - **Keep handlers thin** (ADR 0005). Aggregation logic belongs in `@uptimizr/db`; the semantics of
165
+ a metric belong in `@uptimizr/metrics`. A new read endpoint is a **registry entry**, not a
166
+ hand-written route — `registryRoutes.test.ts` asserts the endpoint exists and that its
167
+ querystring keys equal the metric's `filters`, and `queryResponseSchemas.test.ts` asserts every
168
+ endpoint's rows parse against the metric's `row` schema on a seeded store, an empty one, and the
169
+ in-memory store.
170
+ - **Never weaken the raw-data gate.** `ENABLE_RAW_SESSION_RETENTION` **and** `query:raw`, both,
171
+ for `/sessions/:id/events` and `/live/sessions/:id` (ADR 0003).
172
+ - **Never log secrets or raw IPs.** The audit log's subject is the key **id**; `params` drops
173
+ credential-shaped fields and is capped at 512 bytes. Audit writes happen after the response is
174
+ flushed, so they can never block or fail a request. Refusals are recorded too.
175
+ - **Ingestion stays keyless.** Do not "fix" it by requiring a key — a key shipped to an untrusted
176
+ browser is not a secret. Harden with validation, payload bounds, rate limits and CORS instead.
177
+ - Events live once in `@uptimizr/schema`. Do not redefine an event shape here.
178
+ - Aggregations are query-time in v1; do not add materialized views without an ADR.
179
+
180
+ ## Develop
181
+
182
+ ```bash
183
+ pnpm --filter @uptimizr/collector-server dev # tsx watch
184
+ pnpm --filter @uptimizr/collector-server test # vitest (app.inject() + a fake store)
185
+ pnpm --filter @uptimizr/collector-server build
186
+ ```
187
+
188
+ Tests run against a fake `CollectorStore` with `app.inject()` — no live database required.
189
+
190
+ ## More
191
+
192
+ - Package reference: [README.md](./README.md)
193
+ - HTTP API reference:
194
+ https://github.com/RaananW/Uptimizr/blob/main/docs/integration.md#4-http-api
195
+ - Query API guide: https://uptimizr.com/docs/api/query/
196
+ - Deploy guide: https://uptimizr.com/docs/deploy/collector/
package/README.md CHANGED
@@ -13,8 +13,8 @@ created and migrated automatically.
13
13
 
14
14
  ```bash
15
15
  # 1. One-time setup: generates a visitor-hash secret, creates + migrates the
16
- # store (DuckDB by default), mints a first project + API key, and writes a
17
- # local .env.
16
+ # store (DuckDB by default), mints a first project + owner API key, and
17
+ # writes a local .env.
18
18
  npx -p @uptimizr/collector-server uptimizr init "My Project"
19
19
 
20
20
  # 2. Start the ingestion + query API (reads the generated .env; 0.0.0.0:4318).
@@ -24,7 +24,10 @@ npx -p @uptimizr/collector-server uptimizr serve
24
24
  `init` prints a **`projectId`** and a one-time **API key**. Give the `projectId`
25
25
  and this server's URL (the **`endpoint`**) to your client SDK (e.g.
26
26
  `@uptimizr/babylon`); use the **API key** (`x-api-key`) for the query routes /
27
- dashboard. Mint more projects later with
27
+ dashboard. That first key is the operator's **owner** key — `query`, `query:raw`
28
+ and `annotate` — so the dashboard, session replay, the live per-session follow
29
+ and scene regions all work off it; hand agents and MCP clients a narrower key of
30
+ their own with `uptimizr new-key`. Mint more projects later with
28
31
  `npx -p @uptimizr/collector-server uptimizr new-project "<name>"`, or add a key
29
32
  to an existing project with
30
33
  `npx -p @uptimizr/collector-server uptimizr new-key <projectId> [--capabilities …] [--label …]`
@@ -232,17 +235,29 @@ A key carries a **set of capabilities** (ADR 0051 §7), not a single role:
232
235
  | `annotate` | The project **metadata** write path (annotations, glossary, saved analyses, panel specs). Never events. |
233
236
  | `ingest` | Reserved for server-side write paths. Public ingestion is keyless, so issued keys are normally read keys. |
234
237
 
235
- Keys default to `query`, including those from `uptimizr init` / `uptimizr new-project`:
238
+ `uptimizr init` / `uptimizr new-project` mint the operator's **owner** key —
239
+ `query`, `query:raw` and `annotate`, labelled `owner` — because that key drives the dashboard,
240
+ session replay, the live follow and scene regions. `query:raw` is inert on its own: the raw routes
241
+ also need `ENABLE_RAW_SESSION_RETENTION`, so granting it up front turns nothing on and only saves
242
+ re-minting the key when retention is switched on later.
243
+
244
+ `uptimizr new-key` is how every **other** key is issued, and it still defaults to `query` alone —
245
+ what an agent or MCP client should hold:
236
246
 
237
247
  ```bash
238
- uptimizr new-key <projectId> --capabilities query,annotate \
239
- --label "weekly-report-agent" --rate-limit-max 120 --rate-limit-window-ms 60000
248
+ # An agent's own key: read-only aggregates (the default), labelled and budgeted
249
+ uptimizr new-key <projectId> --capabilities query --label "mcp-agent" \
250
+ --rate-limit-max 120 --rate-limit-window-ms 60000
251
+
252
+ # An agent that may also write metadata
253
+ uptimizr new-key <projectId> --capabilities query,annotate --label "weekly-report-agent"
240
254
  ```
241
255
 
242
256
  > **Breaking change.** `query:raw` is new, and the raw per-session endpoints now require **both**
243
257
  > `ENABLE_RAW_SESSION_RETENTION` **and** `query:raw` — previously retention alone was enough for
244
258
  > any `query` key. Existing keys keep working for every aggregate endpoint; a key that drives
245
- > session replay or live-follow must be re-minted with `--capabilities query,query:raw`.
259
+ > session replay or live-follow must be re-minted with `--capabilities query,query:raw`. Keys minted
260
+ > by `init` / `new-project` already carry it.
246
261
 
247
262
  `--rate-limit-max` / `--rate-limit-window-ms` give a key its own request budget, bucketed on the
248
263
  key id rather than the client IP; keys without one fall back to `COLLECTOR_RATE_LIMIT_*`.
package/dist/cli.js CHANGED
@@ -4,7 +4,7 @@ import { appendFileSync, existsSync, readFileSync, writeFileSync } from "node:fs
4
4
  import { resolve } from "node:path";
5
5
  import { parseCapabilityList } from "@uptimizr/db";
6
6
  import { sceneIdSchema, sceneRegionsSchema } from "@uptimizr/schema";
7
- import { openCliStore, renderEnv, resolveCliStoreKind } from "./cliStore.js";
7
+ import { createOwnerApiKey, openCliStore, renderEnv, resolveCliStoreKind, } from "./cliStore.js";
8
8
  /**
9
9
  * Unified `uptimizr` CLI (ADR 0029) — collapses the multi-step npm self-host
10
10
  * (`export VISITOR_HASH_SECRET` → `uptimizr-db-new-project` → `uptimizr-collector`)
@@ -12,9 +12,10 @@ import { openCliStore, renderEnv, resolveCliStoreKind } from "./cliStore.js";
12
12
  *
13
13
  * Subcommands:
14
14
  * - `init` — generate a visitor-hash secret, create + migrate the
15
- * store, mint a first project + API key, and write `.env`.
15
+ * store, mint a first project + owner API key, and
16
+ * write `.env`.
16
17
  * - `serve` (default) — run the ingestion + query API (see {@link serve}).
17
- * - `new-project <name>` — mint an additional project + API key.
18
+ * - `new-project <name>` — mint an additional project + owner API key.
18
19
  * - `new-key <id>` — mint an additional API key on an existing project,
19
20
  * with an explicit capability set, label and per-key
20
21
  * rate limit (#309, ADR 0051 §7).
@@ -28,6 +29,12 @@ import { openCliStore, renderEnv, resolveCliStoreKind } from "./cliStore.js";
28
29
  * collector resolves.
29
30
  */
30
31
  const ENV_FILE = resolve(process.cwd(), ".env");
32
+ /**
33
+ * Printed next to every owner key so the narrower key an agent should get is one
34
+ * copy-paste away, rather than the operator's own key being pasted into an MCP
35
+ * client (ADR 0051 §7).
36
+ */
37
+ const AGENT_KEY_HINT = "Give agents/MCP clients a narrower key: uptimizr new-key <projectId> --capabilities query";
31
38
  /** Load a local `.env` (Node 22 built-in) so `serve`/`migrate` see config without a wrapper. */
32
39
  function loadLocalEnv() {
33
40
  if (existsSync(ENV_FILE)) {
@@ -115,7 +122,7 @@ async function cmdInit(name) {
115
122
  const store = resolveCliStoreKind();
116
123
  const db = await openCliStore();
117
124
  const project = await db.createProject(name);
118
- const { key } = await db.createApiKey(project.id);
125
+ const { key, record } = await createOwnerApiKey(db, project.id);
119
126
  await db.close();
120
127
  ensureSecretPersisted(secret, generated, store);
121
128
  const port = Number(process.env.COLLECTOR_PORT ?? 4318);
@@ -123,18 +130,28 @@ async function cmdInit(name) {
123
130
  console.error(` Store: ${store}`);
124
131
  console.error(` Project: ${project.id} (${project.name})`);
125
132
  console.error(` API key: ${key} (shown once — put it in your app config)`);
133
+ console.error(` Grants: ${record.capabilities.join(", ")} (label: ${record.label})`);
126
134
  console.error(` Endpoint: http://localhost:${port}/api/v1`);
135
+ console.error(`\n${AGENT_KEY_HINT}`);
127
136
  console.error("\nNext: uptimizr serve");
128
137
  }
129
138
  async function cmdNewProject(name) {
130
139
  loadLocalEnv();
131
140
  const db = await openCliStore();
132
141
  const project = await db.createProject(name);
133
- const { key } = await db.createApiKey(project.id);
142
+ const { key, record } = await createOwnerApiKey(db, project.id);
134
143
  await db.close();
135
144
  console.error(`✓ project created: ${project.id} (${project.name})`);
136
145
  console.error(` API key (shown once): ${key}`);
137
- process.stdout.write(`${JSON.stringify({ projectId: project.id, name: project.name, apiKey: key })}\n`);
146
+ console.error(` Grants: ${record.capabilities.join(", ")} (label: ${record.label})`);
147
+ console.error(AGENT_KEY_HINT);
148
+ process.stdout.write(`${JSON.stringify({
149
+ projectId: project.id,
150
+ name: project.name,
151
+ apiKey: key,
152
+ capabilities: record.capabilities,
153
+ label: record.label,
154
+ })}\n`);
138
155
  }
139
156
  /**
140
157
  * Mint an additional API key on an existing project with an explicit capability
@@ -144,9 +161,11 @@ async function cmdNewProject(name) {
144
161
  * uptimizr new-key <projectId> --capabilities query,annotate --label "weekly-report-agent"
145
162
  * ```
146
163
  *
147
- * Capabilities default to `query` (read-only), matching `init` / `new-project`.
148
- * `query:raw` additionally needs `ENABLE_RAW_SESSION_RETENTION` on the collector
149
- * before it grants anything (ADR 0003).
164
+ * Capabilities default to `query` (read-only) — the narrow key an agent or MCP
165
+ * client should hold, and deliberately narrower than the owner key `init` /
166
+ * `new-project` mint. `query:raw` additionally needs
167
+ * `ENABLE_RAW_SESSION_RETENTION` on the collector before it grants anything
168
+ * (ADR 0003).
150
169
  */
151
170
  async function cmdNewKey(args) {
152
171
  loadLocalEnv();
@@ -356,9 +375,9 @@ function printUsage() {
356
375
  "uptimizr — self-host the OSS 3D-analytics collector (DuckDB by default, no Docker).",
357
376
  "",
358
377
  "Usage:",
359
- " uptimizr init [name] generate a secret, create the store, mint a project + key, write .env",
378
+ " uptimizr init [name] generate a secret, create the store, mint a project + owner key, write .env",
360
379
  " uptimizr serve run the ingestion + query API (default)",
361
- " uptimizr new-project <name> mint an additional project + API key",
380
+ " uptimizr new-project <name> mint an additional project + owner API key",
362
381
  " uptimizr new-key <projectId> mint an additional API key on an existing project",
363
382
  " uptimizr migrate apply store migrations",
364
383
  " uptimizr regions set <sceneId> --file <regions.json>",
@@ -367,6 +386,10 @@ function printUsage() {
367
386
  " print a scene's named regions as JSON",
368
387
  " uptimizr help show this help",
369
388
  "",
389
+ "`init` / `new-project` mint the operator's own key with query, query:raw and annotate —",
390
+ "the dashboard, session replay, live follow and scene regions. Agents and MCP clients get a",
391
+ "narrower key of their own from `new-key` (default: query).",
392
+ "",
370
393
  "new-key options:",
371
394
  " --capabilities <list> comma-separated: ingest, query, annotate, query:raw",
372
395
  " (default: query). `query:raw` is only honoured when the",
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAoB,MAAM,kBAAkB,CAAC;AACvF,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,mBAAmB,GAEpB,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;AAEhD;;;;GAIG;AACH,MAAM,cAAc,GAClB,2FAA2F,CAAC;AAE9F,gGAAgG;AAChG,SAAS,YAAY;IACnB,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,SAAS,OAAO,CAAC,IAAc;IAC7B,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;SACzB,IAAI,CAAC,GAAG,CAAC;SACT,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAc;IAChC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI,GAAG,KAAK,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjC,SAAS;QACX,CAAC;QACD,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC3B,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,0EAA0E;AAC1E,SAAS,OAAO,CAAC,KAA6B,EAAE,IAAY;IAC1D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,qCAAqC,GAAG,IAAI,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,mEAAmE;AACnE,SAAS,qBAAqB,CAAC,MAAc,EAAE,SAAkB,EAAE,KAAmB;IACpF,IAAI,CAAC;QACH,wEAAwE;QACxE,qEAAqE;QACrE,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,cAAc,CAAC,QAAQ,EAAE,GAAG,GAAG,uBAAuB,MAAM,IAAI,CAAC,CAAC;IAClE,OAAO,CAAC,KAAK,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAY;IACjC,YAAY,EAAE,CAAC;IAEf,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC7C,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC;IAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,MAAM,CAAC;IAC3C,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAC;IACpC,MAAM,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAChE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IAEjB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAEhD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,KAAK,CAAC,eAAe,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7D,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,4CAA4C,CAAC,CAAC;IAC9E,OAAO,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IACzF,OAAO,CAAC,KAAK,CAAC,gCAAgC,IAAI,SAAS,CAAC,CAAC;IAC7D,OAAO,CAAC,KAAK,CAAC,KAAK,cAAc,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,YAAY,EAAE,CAAC;IACf,MAAM,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAChE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IAEjB,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IACpE,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IACtF,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,GAAG;QACX,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,IAAI,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,SAAS,CAAC,IAAc;IACrC,YAAY,EAAE,CAAC;IACf,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,qFAAqF;YACnF,+CAA+C,CAClD,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACtD,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IACjE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE;YACvD,YAAY;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;YAC1B,SAAS,EACP,YAAY,IAAI,IAAI,IAAI,iBAAiB,IAAI,IAAI;gBAC/C,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE;gBACpD,CAAC,CAAC,IAAI;SACX,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CACX,mBAAmB,MAAM,CAAC,SAAS,CAAC,GAAG,eAAe,MAAM,CAAC,SAAS,CAAC,QAAQ,KAAK,CACrF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,SAAS;YACT,KAAK,EAAE,MAAM,CAAC,EAAE;YAChB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,GAAG;SACZ,CAAC,IAAI,CACP,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,YAAY,EAAE,CAAC;IACf,6EAA6E;IAC7E,MAAM,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACjB,OAAO,CAAC,KAAK,CAAC,yBAAyB,mBAAmB,EAAE,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,oFAAoF;AACpF,SAAS,OAAO,CAAC,IAAc,EAAE,IAAY;IAC3C,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,qFAAqF;AACrF,SAAS,cAAc,CAAC,IAAc,EAAE,KAAwB;IAC9D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,CAAC,CAAC,wBAAwB;YAC7B,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAE,SAAS;QAC3D,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,IAAc;IACtC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC9E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,gFAAgF;YAC9E,0CAA0C,CAC7C,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,KAAM,GAAa,CAAC,OAAO,EAAE,EAAE;YACpF,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GACb,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,IAAI;QACrC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,CAAE,MAAgC,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;aAC3E,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,MAAM,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,wEAAwE;AACxE,SAAS,YAAY,CAAC,KAAyB;IAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,oBAAoB,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,2CAA2C,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,aAAa,CAAC,IAAc;IACzC,YAAY,EAAE,CAAC;IACf,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM,4BAA4B,OAAO,cAAc,SAAS,GAAG,CAAC,CAAC;QAC/F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,aAAa,CAAC,IAAc;IACzC,YAAY,EAAE,CAAC;IACf,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,6EAA6E;QAC7E,6DAA6D;QAC7D,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,wBAAwB,OAAO,cAAc,SAAS,GAAG,CAAC,CAAC;QAC1F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,KAAK,UAAU,UAAU,CAAC,IAAc;IACtC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,KAAK;YACR,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO;QACT,KAAK,KAAK;YACR,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO;QACT;YACE,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI;gBACtD,mEAAmE;gBACnE,gCAAgC,CACnC,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC,KAAK,CACX;QACE,qFAAqF;QACrF,EAAE;QACF,QAAQ;QACR,6GAA6G;QAC7G,yEAAyE;QACzE,4EAA4E;QAC5E,mFAAmF;QACnF,wDAAwD;QACxD,wDAAwD;QACxD,oFAAoF;QACpF,kCAAkC;QAClC,uEAAuE;QACvE,gDAAgD;QAChD,EAAE;QACF,yFAAyF;QACzF,4FAA4F;QAC5F,4DAA4D;QAC5D,EAAE;QACF,kBAAkB;QAClB,qFAAqF;QACrF,yFAAyF;QACzF,mFAAmF;QACnF,oFAAoF;QACpF,uFAAuF;QACvF,oFAAoF;QACpF,EAAE;QACF,0EAA0E;QAC1E,yDAAyD;QACzD,2EAA2E;QAC3E,gCAAgC;QAChC,EAAE;QACF,0FAA0F;QAC1F,yFAAyF;QACzF,2CAA2C;QAC3C,EAAE;QACF,iDAAiD;KAClD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAC7C,MAAM,KAAK,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,KAAK,MAAM;YACT,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC;YAClD,OAAO;QACT,KAAK,aAAa;YAChB,MAAM,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;YAChD,OAAO;QACT,KAAK,SAAS;YACZ,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO;QACT,KAAK,SAAS;YACZ,MAAM,UAAU,EAAE,CAAC;YACnB,OAAO;QACT,KAAK,SAAS;YACZ,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO;QACT,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,UAAU,EAAE,CAAC;YACb,OAAO;QACT;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;YAC3C,UAAU,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { SceneRegion } from "@uptimizr/schema";
2
- import { type ApiKeyRecord, type CreateApiKeyOptions, type SceneRegionRecord } from "@uptimizr/db";
2
+ import { type ApiKeyCapability, type ApiKeyRecord, type CreateApiKeyOptions, type SceneRegionRecord } from "@uptimizr/db";
3
3
  /**
4
4
  * The persistent stores the `uptimizr` CLI can bootstrap (`init` / `new-project`
5
5
  * / `migrate`). Mirrors the `COLLECTOR_STORE` values `serve` accepts, minus
@@ -21,7 +21,8 @@ export interface CliStore {
21
21
  }>;
22
22
  /**
23
23
  * Issue an API key; the plaintext is returned exactly once. Defaults to the
24
- * `query` (read-only) capability when no options are given.
24
+ * `query` (read-only) capability when no options are given; `init` and
25
+ * `new-project` pass {@link OWNER_KEY_CAPABILITIES} instead.
25
26
  */
26
27
  createApiKey(projectId: string, options?: CreateApiKeyOptions): Promise<{
27
28
  key: string;
@@ -41,6 +42,34 @@ export interface CliStore {
41
42
  getSceneRegions(projectId: string, sceneId: string): Promise<SceneRegionRecord[]>;
42
43
  close(): Promise<void>;
43
44
  }
45
+ /**
46
+ * The capability set `init` and `new-project` mint their **first** key with.
47
+ *
48
+ * That key is the operator's own — it goes into the dashboard, not into an
49
+ * agent — so it carries everything the operator's own surfaces need:
50
+ *
51
+ * - `query` — the aggregate analytics API.
52
+ * - `query:raw` — session replay and the live per-session follow. Inert on its
53
+ * own: those routes are gated twice and also need `ENABLE_RAW_SESSION_RETENTION`
54
+ * on the collector (ADR 0003), so granting it here turns nothing on. Without
55
+ * it, switching retention on later made replay answer `403` until a second key
56
+ * was minted and swapped into the dashboard.
57
+ * - `annotate` — the project metadata write path (scene regions today).
58
+ *
59
+ * Narrower keys stay deliberate: `uptimizr new-key` still defaults to `query`
60
+ * alone, which is what an agent or MCP client should be handed (ADR 0051 §7).
61
+ */
62
+ export declare const OWNER_KEY_CAPABILITIES: readonly ApiKeyCapability[];
63
+ /** Label written on the first key, so `whoami` and the audit log can name it. */
64
+ export declare const OWNER_KEY_LABEL = "owner";
65
+ /**
66
+ * Mint the operator's first key on a freshly created project — the single key
67
+ * `init` and `new-project` issue.
68
+ */
69
+ export declare function createOwnerApiKey(store: CliStore, projectId: string): Promise<{
70
+ key: string;
71
+ record: ApiKeyRecord;
72
+ }>;
44
73
  /**
45
74
  * Normalise `COLLECTOR_STORE` for the CLI: unset (or blank) selects the OSS
46
75
  * DuckDB default; `memory` and unknown values throw with an actionable message
@@ -1 +1 @@
1
- {"version":3,"file":"cliStore.d.ts","sourceRoot":"","sources":["../src/cliStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AA+BtB;;;;;GAKG;AACH,eAAO,MAAM,UAAU,wDAAyD,CAAC;AAEjF,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE;;;OAGG;IACH,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IAClD,2EAA2E;IAC3E,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC5E;;;OAGG;IACH,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,WAAW,EAAE,GAC9B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAChC,wDAAwD;IACxD,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,CAUtF;AAuBD;;;GAGG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,EACnB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAmBR;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4D1F"}
1
+ {"version":3,"file":"cliStore.d.ts","sourceRoot":"","sources":["../src/cliStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EASL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AA+BtB;;;;;GAKG;AACH,eAAO,MAAM,UAAU,wDAAyD,CAAC;AAEjF,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE;;;;OAIG;IACH,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IAClD,2EAA2E;IAC3E,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC5E;;;OAGG;IACH,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,WAAW,EAAE,GAC9B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAChC,wDAAwD;IACxD,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,gBAAgB,EAIpD,CAAC;AAEX,iFAAiF;AACjF,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC,CAKhD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,CAUtF;AAuBD;;;GAGG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,EACnB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAmBR;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4D1F"}
package/dist/cliStore.js CHANGED
@@ -9,6 +9,40 @@ import { createApiKey as pgCreateApiKey, createPostgresClient, createProject as
9
9
  * initialise.
10
10
  */
11
11
  export const CLI_STORES = ["duckdb", "postgres", "mssql", "clickhouse"];
12
+ /**
13
+ * The capability set `init` and `new-project` mint their **first** key with.
14
+ *
15
+ * That key is the operator's own — it goes into the dashboard, not into an
16
+ * agent — so it carries everything the operator's own surfaces need:
17
+ *
18
+ * - `query` — the aggregate analytics API.
19
+ * - `query:raw` — session replay and the live per-session follow. Inert on its
20
+ * own: those routes are gated twice and also need `ENABLE_RAW_SESSION_RETENTION`
21
+ * on the collector (ADR 0003), so granting it here turns nothing on. Without
22
+ * it, switching retention on later made replay answer `403` until a second key
23
+ * was minted and swapped into the dashboard.
24
+ * - `annotate` — the project metadata write path (scene regions today).
25
+ *
26
+ * Narrower keys stay deliberate: `uptimizr new-key` still defaults to `query`
27
+ * alone, which is what an agent or MCP client should be handed (ADR 0051 §7).
28
+ */
29
+ export const OWNER_KEY_CAPABILITIES = [
30
+ "query",
31
+ "query:raw",
32
+ "annotate",
33
+ ];
34
+ /** Label written on the first key, so `whoami` and the audit log can name it. */
35
+ export const OWNER_KEY_LABEL = "owner";
36
+ /**
37
+ * Mint the operator's first key on a freshly created project — the single key
38
+ * `init` and `new-project` issue.
39
+ */
40
+ export function createOwnerApiKey(store, projectId) {
41
+ return store.createApiKey(projectId, {
42
+ capabilities: OWNER_KEY_CAPABILITIES,
43
+ label: OWNER_KEY_LABEL,
44
+ });
45
+ }
12
46
  /**
13
47
  * Normalise `COLLECTOR_STORE` for the CLI: unset (or blank) selects the OSS
14
48
  * DuckDB default; `memory` and unknown values throw with an actionable message
@@ -1 +1 @@
1
- {"version":3,"file":"cliStore.js","sourceRoot":"","sources":["../src/cliStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliStore.js","sourceRoot":"","sources":["../src/cliStore.ts"],"names":[],"mappings":"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"}
package/llms.txt ADDED
@@ -0,0 +1,38 @@
1
+ # @uptimizr/collector-server
2
+
3
+ > The OSS ingestion + query API (Fastify) for Uptimizr, plus the `uptimizr` CLI that self-hosts
4
+ > it. Keyless, schema-validated ingestion; `x-api-key` read routes scoped to the key's project and
5
+ > capability set. The single gateway to the data — the dashboard, `@uptimizr/mcp` and your own
6
+ > agents all read through this HTTP API, never the database. Storage is swappable
7
+ > (`COLLECTOR_STORE`: DuckDB by default, plus Postgres / SQL Server / ClickHouse).
8
+
9
+ ## Docs
10
+
11
+ - [Package reference](./README.md): self-host, all endpoints, security, the full configuration list.
12
+ - [Agent guide](./AGENTS.md): the CLI, capabilities, result envelopes, filters, stores, and the rules an agent must follow.
13
+ - [HTTP API reference](https://github.com/RaananW/Uptimizr/blob/main/docs/integration.md#4-http-api): keys, capabilities, rate limits, the audit log, storage backends.
14
+ - [Query API guide](https://uptimizr.com/docs/api/query/): every read endpoint and the result formats.
15
+ - [Deploy guide](https://uptimizr.com/docs/deploy/collector/): running it in production.
16
+ - [Architecture Decision Records](https://github.com/RaananW/Uptimizr/tree/main/docs/adr): privacy model (0003), thin backends (0005), migrations (0007), consumer-facing agents (0017), open-core storage boundary (0020), distribution & self-host DX (0029), live sessions (0032), AI-first analytics layer (0051).
17
+
18
+ ## Self-describe before you call
19
+
20
+ - `GET /api/v1/openapi.json` — unauthenticated OpenAPI 3.1 for the whole read API, generated from
21
+ the `@uptimizr/metrics` registry: one path per endpoint, real parameter schemas, a response
22
+ schema per metric, plus `x-uptimizr-*` extensions carrying grain, column units, caveats,
23
+ interpretation, source capture channels and row limits.
24
+ - `GET /api/v1/whoami` — the calling key's project, key id, capabilities, label and effective rate
25
+ limit.
26
+ - `GET /api/v1/audit?since=&until=&limit=` — the agent audit log (key ids, never keys).
27
+
28
+ ## Key facts
29
+
30
+ - **CLI:** `uptimizr init | serve | new-project <name> | new-key <projectId> | migrate | regions set|get <sceneId> | help`. `new-key` takes `--capabilities`, `--label`, `--rate-limit-max`, `--rate-limit-window-ms`. Every command targets `COLLECTOR_STORE`.
31
+ - **Capabilities:** `ingest` (server-side writes), `query` (aggregates, scene registry, live token, audit), `annotate` (project metadata writes), `query:raw` (raw per-session + live-follow streams). `new-key` defaults to `query`; `init` / `new-project` mint one **owner** key (label `owner`) holding `query,query:raw,annotate`.
32
+ - **Raw data is gated twice:** `ENABLE_RAW_SESSION_RETENTION` **and** a `query:raw` key, or `403`.
33
+ - **Result envelopes:** `format=full | table | summary` on every aggregate endpoint (ADR 0051 §2) — `summary` is the bounded, LLM-affordable digest.
34
+ - **Filters:** `since`, `until`, `bins`, `limit`, `scene`, `session`, `cameraMode`, `source`, `cellSize`, and `region=<id>` to drill a spatial query into a named place.
35
+ - **Audit retention:** `AUDIT_RETENTION_DAYS` (default `30`, `0` = forever); `AUDIT_DASHBOARD_REQUESTS` to also record dashboard traffic.
36
+ - **Stores:** `COLLECTOR_STORE=duckdb` (default, single-file, single-writer, `DUCKDB_PATH`) | `memory` | `postgres` | `mssql` | `clickhouse` — identical analytics on all four (parity suite).
37
+ - **Required:** `VISITOR_HASH_SECRET`. The server fails fast without it; the raw IP is never stored.
38
+ - **Bins:** `uptimizr` (`dist/cli.js`) and the legacy `uptimizr-collector` (`dist/server.js`).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uptimizr/collector-server",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "Uptimizr ingestion + query API (Fastify). Self-hostable collector for the OSS data-collector.",
5
5
  "keywords": [
6
6
  "uptimizr",
@@ -35,7 +35,9 @@
35
35
  "files": [
36
36
  "dist",
37
37
  "README.md",
38
- "LICENSE"
38
+ "LICENSE",
39
+ "AGENTS.md",
40
+ "llms.txt"
39
41
  ],
40
42
  "dependencies": {
41
43
  "@fastify/cors": "^11.3.0",
@@ -45,12 +47,12 @@
45
47
  "fastify": "^5.12.3",
46
48
  "fastify-type-provider-zod": "^7.0.0",
47
49
  "zod": "^4.5.4",
48
- "@uptimizr/db-clickhouse": "2.0.0",
49
- "@uptimizr/db": "2.0.0",
50
- "@uptimizr/db-postgres": "2.0.0",
51
- "@uptimizr/db-mssql": "2.0.0",
50
+ "@uptimizr/db-clickhouse": "2.0.2",
51
+ "@uptimizr/db": "2.0.1",
52
+ "@uptimizr/db-postgres": "2.0.2",
52
53
  "@uptimizr/metrics": "0.1.0",
53
- "@uptimizr/schema": "1.1.0"
54
+ "@uptimizr/schema": "1.1.0",
55
+ "@uptimizr/db-mssql": "2.0.2"
54
56
  },
55
57
  "devDependencies": {
56
58
  "@seriousme/openapi-schema-validator": "^2.9.1",