@uptimizr/collector-server 2.0.1 → 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 (139) hide show
  1. package/AGENTS.md +187 -11
  2. package/README.md +91 -7
  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 +133 -13
  28. package/dist/cli.js.map +1 -1
  29. package/dist/cliStore.d.ts +31 -2
  30. package/dist/cliStore.d.ts.map +1 -1
  31. package/dist/cliStore.js +34 -0
  32. package/dist/cliStore.js.map +1 -1
  33. package/dist/clickhouseStore.d.ts.map +1 -1
  34. package/dist/clickhouseStore.js +44 -2
  35. package/dist/clickhouseStore.js.map +1 -1
  36. package/dist/config.d.ts +49 -0
  37. package/dist/config.d.ts.map +1 -1
  38. package/dist/config.js +21 -0
  39. package/dist/config.js.map +1 -1
  40. package/dist/connectionLimiter.d.ts +23 -0
  41. package/dist/connectionLimiter.d.ts.map +1 -0
  42. package/dist/connectionLimiter.js +24 -0
  43. package/dist/connectionLimiter.js.map +1 -0
  44. package/dist/duckdbStore.d.ts.map +1 -1
  45. package/dist/duckdbStore.js +44 -1
  46. package/dist/duckdbStore.js.map +1 -1
  47. package/dist/internalDispatch.d.ts +36 -0
  48. package/dist/internalDispatch.d.ts.map +1 -0
  49. package/dist/internalDispatch.js +50 -0
  50. package/dist/internalDispatch.js.map +1 -0
  51. package/dist/memoryStore.d.ts.map +1 -1
  52. package/dist/memoryStore.js +314 -1
  53. package/dist/memoryStore.js.map +1 -1
  54. package/dist/mssqlStore.d.ts.map +1 -1
  55. package/dist/mssqlStore.js +44 -2
  56. package/dist/mssqlStore.js.map +1 -1
  57. package/dist/postgresStore.d.ts.map +1 -1
  58. package/dist/postgresStore.js +44 -2
  59. package/dist/postgresStore.js.map +1 -1
  60. package/dist/projectMetadata.d.ts +82 -0
  61. package/dist/projectMetadata.d.ts.map +1 -0
  62. package/dist/projectMetadata.js +50 -0
  63. package/dist/projectMetadata.js.map +1 -0
  64. package/dist/routes/context.d.ts +135 -0
  65. package/dist/routes/context.d.ts.map +1 -0
  66. package/dist/routes/context.js +306 -0
  67. package/dist/routes/context.js.map +1 -0
  68. package/dist/routes/insights.d.ts +36 -0
  69. package/dist/routes/insights.d.ts.map +1 -0
  70. package/dist/routes/insights.js +810 -0
  71. package/dist/routes/insights.js.map +1 -0
  72. package/dist/routes/live.d.ts +8 -0
  73. package/dist/routes/live.d.ts.map +1 -1
  74. package/dist/routes/live.js +8 -7
  75. package/dist/routes/live.js.map +1 -1
  76. package/dist/routes/mcp.d.ts +36 -0
  77. package/dist/routes/mcp.d.ts.map +1 -0
  78. package/dist/routes/mcp.js +262 -0
  79. package/dist/routes/mcp.js.map +1 -0
  80. package/dist/routes/meta.d.ts +16 -2
  81. package/dist/routes/meta.d.ts.map +1 -1
  82. package/dist/routes/meta.js +699 -10
  83. package/dist/routes/meta.js.map +1 -1
  84. package/dist/routes/metadata.d.ts +31 -0
  85. package/dist/routes/metadata.d.ts.map +1 -0
  86. package/dist/routes/metadata.js +163 -0
  87. package/dist/routes/metadata.js.map +1 -0
  88. package/dist/routes/narrative.d.ts +36 -0
  89. package/dist/routes/narrative.d.ts.map +1 -0
  90. package/dist/routes/narrative.js +95 -0
  91. package/dist/routes/narrative.js.map +1 -0
  92. package/dist/routes/panels.d.ts +44 -0
  93. package/dist/routes/panels.d.ts.map +1 -0
  94. package/dist/routes/panels.js +108 -0
  95. package/dist/routes/panels.js.map +1 -0
  96. package/dist/routes/query-dsl.d.ts +50 -0
  97. package/dist/routes/query-dsl.d.ts.map +1 -0
  98. package/dist/routes/query-dsl.js +359 -0
  99. package/dist/routes/query-dsl.js.map +1 -0
  100. package/dist/routes/query.d.ts +36 -0
  101. package/dist/routes/query.d.ts.map +1 -1
  102. package/dist/routes/query.js +101 -13
  103. package/dist/routes/query.js.map +1 -1
  104. package/dist/routes/subscriptions.d.ts +52 -0
  105. package/dist/routes/subscriptions.d.ts.map +1 -0
  106. package/dist/routes/subscriptions.js +290 -0
  107. package/dist/routes/subscriptions.js.map +1 -0
  108. package/dist/store.d.ts +113 -2
  109. package/dist/store.d.ts.map +1 -1
  110. package/dist/subscriptions/cli.d.ts +36 -0
  111. package/dist/subscriptions/cli.d.ts.map +1 -0
  112. package/dist/subscriptions/cli.js +143 -0
  113. package/dist/subscriptions/cli.js.map +1 -0
  114. package/dist/subscriptions/delivery.d.ts +101 -0
  115. package/dist/subscriptions/delivery.d.ts.map +1 -0
  116. package/dist/subscriptions/delivery.js +165 -0
  117. package/dist/subscriptions/delivery.js.map +1 -0
  118. package/dist/subscriptions/evaluate.d.ts +119 -0
  119. package/dist/subscriptions/evaluate.d.ts.map +1 -0
  120. package/dist/subscriptions/evaluate.js +326 -0
  121. package/dist/subscriptions/evaluate.js.map +1 -0
  122. package/dist/subscriptions/scheduler.d.ts +97 -0
  123. package/dist/subscriptions/scheduler.d.ts.map +1 -0
  124. package/dist/subscriptions/scheduler.js +332 -0
  125. package/dist/subscriptions/scheduler.js.map +1 -0
  126. package/dist/subscriptions/stream.d.ts +40 -0
  127. package/dist/subscriptions/stream.d.ts.map +1 -0
  128. package/dist/subscriptions/stream.js +38 -0
  129. package/dist/subscriptions/stream.js.map +1 -0
  130. package/dist/version.d.ts +3 -0
  131. package/dist/version.d.ts.map +1 -0
  132. package/dist/version.js +25 -0
  133. package/dist/version.js.map +1 -0
  134. package/dist/webhookSignature.d.ts +64 -0
  135. package/dist/webhookSignature.d.ts.map +1 -0
  136. package/dist/webhookSignature.js +91 -0
  137. package/dist/webhookSignature.js.map +1 -0
  138. package/llms.txt +39 -2
  139. package/package.json +17 -14
package/dist/config.d.ts CHANGED
@@ -61,6 +61,55 @@ export interface CollectorConfig {
61
61
  * on to audit every authenticated request without exception.
62
62
  */
63
63
  auditDashboardRequests: boolean;
64
+ /**
65
+ * Serve MCP over Streamable HTTP at `/mcp` (ADR 0051 §7). **Off by default**:
66
+ * it is an additional authenticated, long-lived surface, so an operator opts
67
+ * into it rather than discovering it. When off the route is not registered at
68
+ * all — `/mcp` simply 404s.
69
+ */
70
+ mcpHttpEnabled: boolean;
71
+ /**
72
+ * Max concurrent MCP sessions across the collector, the `/mcp` equivalent of
73
+ * {@link liveMaxConnections}. Each session holds an MCP server and may hold an
74
+ * open SSE stream, so the count is bounded; a request that would open the
75
+ * (cap + 1)-th session is refused with `503`.
76
+ */
77
+ mcpMaxSessions: number;
78
+ /**
79
+ * How long an MCP session may go without a request before it is closed and
80
+ * evicted, in ms. Streamable HTTP has no keep-alive a server can rely on —
81
+ * a client that disappears without `DELETE /mcp` would otherwise hold its slot
82
+ * forever.
83
+ */
84
+ mcpSessionTtlMs: number;
85
+ /**
86
+ * Run the conditional-subscription scheduler (#311, ADR 0051 §6). **On by
87
+ * default**, and free until a project actually has an enabled subscription:
88
+ * the scheduler's whole startup cost is one store read, and it schedules
89
+ * nothing when that read comes back empty. Set `COLLECTOR_SUBSCRIPTIONS=0` to
90
+ * keep the API (create, list, test) while running no timers at all — the right
91
+ * setting when several collector instances share one database and only one of
92
+ * them should evaluate.
93
+ */
94
+ subscriptions: boolean;
95
+ /**
96
+ * How many subscription evaluations may run at once (default 4). Each is one
97
+ * grouped store read, so this is the knob that keeps a hundred standing
98
+ * subscriptions from behaving like a hundred concurrent dashboard users.
99
+ */
100
+ subscriptionsMaxConcurrent: number;
101
+ /**
102
+ * Hosts a subscription webhook may POST to (`COLLECTOR_WEBHOOK_ALLOWED_HOSTS`,
103
+ * comma-separated; `*` allows any host).
104
+ *
105
+ * **Empty by default, which disables webhook egress entirely.** A subscription
106
+ * is created over HTTP by an `annotate`-capable key, so its URL is
107
+ * request-controlled input to an outbound request — the scheme check in
108
+ * `parseWebhookUrl` is not on its own an SSRF boundary. Naming the hosts is
109
+ * the operator's explicit consent to reach them; until then a firing is still
110
+ * recorded and fanned out over SSE, and nothing leaves the process.
111
+ */
112
+ webhookAllowedHosts: string[];
64
113
  /**
65
114
  * Absolute path to a pre-built static dashboard (`out/`) to serve as an
66
115
  * all-in-one bundle. Unset (the default) keeps the collector headless.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uFAAuF;IACvF,yBAAyB,EAAE,OAAO,CAAC;IACnC,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,0BAA0B,EAAE,OAAO,CAAC;IACpC,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,sBAAsB,EAAE,MAAM,CAAC;IAC/B,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,uBAAuB,EAAE,MAAM,CAAC;IAChC;;;;;;;OAOG;IACH,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,OAAO,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC1B;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAqC9C,wBAAgB,UAAU,CAAC,GAAG,GAAE,GAAiB,GAAG,eAAe,CAkClE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uFAAuF;IACvF,yBAAyB,EAAE,OAAO,CAAC;IACnC,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,0BAA0B,EAAE,OAAO,CAAC;IACpC,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,sBAAsB,EAAE,MAAM,CAAC;IAC/B,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,uBAAuB,EAAE,MAAM,CAAC;IAChC;;;;;;;OAOG;IACH,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,OAAO,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC1B;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC;;;;;OAKG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;;;;;;;;;OAUG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AA+C9C,wBAAgB,UAAU,CAAC,GAAG,GAAE,GAAiB,GAAG,eAAe,CAiDlE"}
package/dist/config.js CHANGED
@@ -2,6 +2,15 @@ import { resolve } from "node:path";
2
2
  function bool(value) {
3
3
  return value === "1" || value?.toLowerCase() === "true";
4
4
  }
5
+ /**
6
+ * Read a strictly positive numeric setting, falling back to `fallback` when it
7
+ * is unset, unparseable or non-positive. Used for the caps a zero or a typo
8
+ * must not silently turn into "no sessions allowed".
9
+ */
10
+ function positive(value, fallback) {
11
+ const n = Number(value);
12
+ return Number.isFinite(n) && n > 0 ? n : fallback;
13
+ }
5
14
  /**
6
15
  * Parse `COLLECTOR_TRUST_PROXY` into a value Fastify's `trustProxy` accepts:
7
16
  * a boolean, or an IP/subnet/comma-separated list passed through verbatim.
@@ -63,6 +72,18 @@ export function loadConfig(env = process.env) {
63
72
  cspMode: env.COLLECTOR_CSP === "off" ? "off" : "strict",
64
73
  auditRetentionDays: Math.max(0, Number(env.AUDIT_RETENTION_DAYS ?? 30) || 0),
65
74
  auditDashboardRequests: bool(env.AUDIT_DASHBOARD_REQUESTS),
75
+ mcpHttpEnabled: bool(env.COLLECTOR_MCP_HTTP),
76
+ mcpMaxSessions: positive(env.COLLECTOR_MCP_MAX_SESSIONS, 50),
77
+ mcpSessionTtlMs: positive(env.COLLECTOR_MCP_SESSION_TTL_MS, 1_800_000),
78
+ // Default on: an operator who never creates a subscription pays one store
79
+ // read at boot, and `0`/`false` turns the scheduler off without touching the
80
+ // API surface.
81
+ subscriptions: env.COLLECTOR_SUBSCRIPTIONS == null ? true : bool(env.COLLECTOR_SUBSCRIPTIONS),
82
+ subscriptionsMaxConcurrent: Math.max(1, Number(env.COLLECTOR_SUBSCRIPTIONS_MAX_CONCURRENT ?? 4) || 4),
83
+ webhookAllowedHosts: (env.COLLECTOR_WEBHOOK_ALLOWED_HOSTS ?? "")
84
+ .split(",")
85
+ .map((s) => s.trim())
86
+ .filter(Boolean),
66
87
  dashboardDir: env.COLLECTOR_DASHBOARD_DIR ? resolve(env.COLLECTOR_DASHBOARD_DIR) : undefined,
67
88
  };
68
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * A shared budget for held-open SSE connections (ADR 0032 §6).
3
+ *
4
+ * The live endpoints and the conditional-subscription stream (#311) are the
5
+ * same kind of resource: a socket the collector keeps open, a subscriber on an
6
+ * in-process bus, and a heartbeat timer. `LIVE_MAX_CONNECTIONS` is meant to
7
+ * bound *that*, so they draw on one counter rather than one each — otherwise the
8
+ * setting silently means "up to 2 × max", and grows every time another SSE
9
+ * surface is added.
10
+ */
11
+ export interface ConnectionLimiter {
12
+ /** Take a slot, or `false` when the budget is exhausted. */
13
+ acquire(): boolean;
14
+ /** Return a slot. Never drops below zero, so a double release is harmless. */
15
+ release(): void;
16
+ /** Slots currently held (for tests). */
17
+ readonly open: number;
18
+ /** The configured ceiling. */
19
+ readonly max: number;
20
+ }
21
+ /** Create a limiter over `max` concurrent connections. */
22
+ export declare function createConnectionLimiter(max: number): ConnectionLimiter;
23
+ //# sourceMappingURL=connectionLimiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionLimiter.d.ts","sourceRoot":"","sources":["../src/connectionLimiter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,OAAO,IAAI,OAAO,CAAC;IACnB,8EAA8E;IAC9E,OAAO,IAAI,IAAI,CAAC;IAChB,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,0DAA0D;AAC1D,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAmBtE"}
@@ -0,0 +1,24 @@
1
+ /** Create a limiter over `max` concurrent connections. */
2
+ export function createConnectionLimiter(max) {
3
+ const ceiling = Math.max(0, Math.trunc(max));
4
+ let open = 0;
5
+ return {
6
+ acquire() {
7
+ if (open >= ceiling)
8
+ return false;
9
+ open += 1;
10
+ return true;
11
+ },
12
+ release() {
13
+ if (open > 0)
14
+ open -= 1;
15
+ },
16
+ get open() {
17
+ return open;
18
+ },
19
+ get max() {
20
+ return ceiling;
21
+ },
22
+ };
23
+ }
24
+ //# sourceMappingURL=connectionLimiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionLimiter.js","sourceRoot":"","sources":["../src/connectionLimiter.ts"],"names":[],"mappings":"AAqBA,0DAA0D;AAC1D,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO;QACL,OAAO;YACL,IAAI,IAAI,IAAI,OAAO;gBAAE,OAAO,KAAK,CAAC;YAClC,IAAI,IAAI,CAAC,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,IAAI,IAAI,GAAG,CAAC;gBAAE,IAAI,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI;YACN,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG;YACL,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"duckdbStore.d.ts","sourceRoot":"","sources":["../src/duckdbStore.ts"],"names":[],"mappings":"AAuJA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAgP9E"}
1
+ {"version":3,"file":"duckdbStore.d.ts","sourceRoot":"","sources":["../src/duckdbStore.ts"],"names":[],"mappings":"AAoLA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA8S9E"}
@@ -1,4 +1,4 @@
1
- import { buildCameraDirectionHeatmap, buildViewCoverageHistogram, buildCameraDistance, buildCameraPositionHeatmap, buildClickGazeRay, buildDeadClicks, buildRageClicks, buildHoverDwell, buildCompileStalls, buildArPlacementTimeToPlace, buildArPlacementAttempts, buildArPlacementSurfaces, buildResourceSummary, buildCapabilityChanges, buildCameraGestures, buildDistinctScenes, buildEventTypeCounts, buildFlowHeatmap, buildFunnel, buildSceneRetention, buildLoadBounceFunnel, buildVariantLeaderboard, buildListSessions, buildNavigationStats, buildBacktrackRatio, buildXrRotationRate, buildXrSourceUsage, buildXrAbandonment, buildXrLocomotionComfort, buildTrackingQuality, buildInteractionsBySource, buildMeshDwell, buildMeshBlindSpots, buildMeshInteractionKinds, buildReachability, buildPerfSummary, buildPerfDistribution, buildFpsHistogram, buildFrameTimePercentiles, buildJankRate, buildPerfChurn, buildPerfByDevice, buildPerfByScene, buildResourcePercentiles, buildStabilityCounts, buildGraphicsDiagnosticCounts, buildErrorHeatmap, buildBoundaryHeatmap, buildBoundaryHeatmapStats, buildBoundaryContacts, buildRenderingTechnology, buildPointerHeatmap, buildMeshUvHeatmap, buildSceneCoverage, buildPerfHeatmap, buildSessionTrajectory, buildAggregateTrajectories, buildRenderScaleTruth, buildTimeseries, buildTopMeshes, buildTopMeshesBySource, buildTopMeshesTrend, buildTopInputActions, buildWorldHeatmap, buildWorldHeatmapStats, buildGazeHeatmap, buildGazeHeatmapStats, createDuckdbClient, duckdbDialect, duckdbGetSceneRegions, duckdbGetSceneRepresentation, duckdbGetSessionEvents, duckdbGetSessionMeta, duckdbGetProject, duckdbInsertEvents, duckdbListSceneRegions, duckdbListSceneRepresentations, duckdbPutSceneRegions, duckdbResolveApiKey, duckdbRecordAudit, duckdbListAudit, duckdbPruneAudit, duckdbStreamSessionEvents, duckdbUpsertSceneProxy, migrateDuckdb, readDbSettings, runDuckdbQuery, } from "@uptimizr/db";
1
+ import { buildCameraDirectionHeatmap, buildViewCoverageHistogram, buildCameraDistance, buildCameraPositionHeatmap, buildClickGazeRay, buildCustomEventVocabulary, buildDeadClicks, buildRageClicks, buildHoverDwell, buildCompileStalls, buildArPlacementTimeToPlace, buildArPlacementAttempts, buildArPlacementSurfaces, buildResourceSummary, buildCapabilityChanges, buildCameraGestures, buildDistinctScenes, buildEventTypeCounts, buildMetricBuckets, toMetricBucketRows, buildFlowHeatmap, buildFunnel, buildSceneRetention, buildLoadBounceFunnel, buildVariantLeaderboard, buildListSessions, buildNavigationStats, buildBacktrackRatio, buildXrRotationRate, buildXrSourceUsage, buildXrAbandonment, buildXrLocomotionComfort, buildTrackingQuality, buildInteractionsBySource, buildMeshDwell, buildMeshBlindSpots, buildMeshInteractionKinds, buildReachability, buildPerfSummary, buildPerfDistribution, buildFpsHistogram, buildFrameTimePercentiles, buildJankRate, buildPerfChurn, buildPerfByDevice, buildPerfByScene, buildResourcePercentiles, buildStabilityCounts, buildGraphicsDiagnosticCounts, buildErrorHeatmap, buildBoundaryHeatmap, buildBoundaryHeatmapStats, buildBoundaryContacts, buildRenderingTechnology, buildPointerHeatmap, buildMeshUvHeatmap, buildSceneCoverage, buildPerfHeatmap, buildSessionTrajectory, buildAggregateTrajectories, buildRenderScaleTruth, buildTimeseries, buildTopMeshes, buildTopMeshesBySource, buildTopMeshesTrend, buildTopInputActions, foldCustomEventVocabulary, buildWorldHeatmap, buildWorldHeatmapStats, buildGazeHeatmap, buildGazeHeatmapStats, createDuckdbClient, compileMetric, duckdbDialect, duckdbCreateAnnotation, duckdbCreateSavedAnalysis, duckdbDeleteAnnotation, duckdbDeleteGlossaryEntry, duckdbDeleteSavedAnalysis, duckdbCreatePanelSpec, duckdbListPanelSpecs, duckdbUpdatePanelSpec, duckdbDeletePanelSpec, duckdbGetSceneRegions, duckdbGetSceneRepresentation, duckdbGetSessionEvents, duckdbGetSessionMeta, duckdbGetProject, duckdbInsertEvents, duckdbListAnnotations, duckdbListGlossary, duckdbListSavedAnalyses, duckdbListSceneRegions, duckdbListSceneRepresentations, duckdbPutGlossaryEntry, duckdbPutSceneRegions, duckdbListSubscriptions, duckdbListEnabledSubscriptions, duckdbGetSubscription, duckdbCreateSubscription, duckdbSetSubscriptionEnabled, duckdbDeleteSubscription, duckdbRecordSubscriptionOutcome, duckdbGetWebhookSecret, duckdbRecordSubscriptionEvent, duckdbListSubscriptionEvents, duckdbResolveApiKey, duckdbRecordAudit, duckdbListAudit, duckdbPruneAudit, duckdbStreamSessionEvents, duckdbUpsertSceneProxy, migrateDuckdb, readDbSettings, runDuckdbQuery, } from "@uptimizr/db";
2
2
  /**
3
3
  * OSS default store (ADR 0020): a single persisted DuckDB file holding both
4
4
  * events and metadata, with the **full** analytics surface — no stubbed
@@ -15,12 +15,23 @@ export async function createDuckdbStore(path) {
15
15
  const db = await createDuckdbClient(filePath);
16
16
  await migrateDuckdb(db);
17
17
  return {
18
+ engine: "duckdb",
18
19
  resolveApiKey: (key) => duckdbResolveApiKey(db, key),
19
20
  recordAudit: (entry) => duckdbRecordAudit(db, entry),
20
21
  listAudit: (projectId, opts) => duckdbListAudit(db, projectId, opts),
21
22
  pruneAudit: (cutoffMs) => duckdbPruneAudit(db, cutoffMs),
22
23
  projectExists: async (projectId) => (await duckdbGetProject(db, projectId)) !== null,
23
24
  insertEvents: (events) => duckdbInsertEvents(db, [...events]),
25
+ // Query DSL v1 (ADR 0051 §3): any registry metric, compiled onto its own
26
+ // aggregation builder and run through the same DuckDB path — and therefore
27
+ // the same parity coverage and the same numeric coercion — as the canned
28
+ // aggregates below.
29
+ runMetric: (projectId, metric, options) => runDuckdbQuery(db, compileMetric(metric, projectId, options, duckdbDialect)),
30
+ // `explain: true` (#304): the same compilation, not executed.
31
+ describeMetric: (projectId, metric, options) => ({
32
+ dialect: duckdbDialect.name,
33
+ spec: compileMetric(metric, projectId, options, duckdbDialect),
34
+ }),
24
35
  listSessions: (projectId, opts = {}) => runDuckdbQuery(db, buildListSessions(projectId, opts, duckdbDialect)),
25
36
  pointerHeatmap: (projectId, opts = {}) => runDuckdbQuery(db, buildPointerHeatmap(projectId, opts, duckdbDialect)),
26
37
  meshUvHeatmap: (projectId, opts = {}) => runDuckdbQuery(db, buildMeshUvHeatmap(projectId, opts, duckdbDialect)),
@@ -90,9 +101,18 @@ export async function createDuckdbStore(path) {
90
101
  trackingQuality: (projectId, opts = {}) => runDuckdbQuery(db, buildTrackingQuality(projectId, opts, duckdbDialect)),
91
102
  interactionsBySource: (projectId, opts = {}) => runDuckdbQuery(db, buildInteractionsBySource(projectId, opts, duckdbDialect)),
92
103
  topInputActions: (projectId, opts = {}) => runDuckdbQuery(db, buildTopInputActions(projectId, opts, duckdbDialect)),
104
+ // Discovered custom-event vocabulary (ADR 0051 §5): the SQL counts and
105
+ // samples, the pure fold turns the sampled payloads into prop types. The
106
+ // raw payload stops here and never reaches a route.
107
+ customEventVocabulary: async (projectId, opts = {}) => foldCustomEventVocabulary(await runDuckdbQuery(db, buildCustomEventVocabulary(projectId, opts, duckdbDialect))),
93
108
  scenes: (projectId, opts = {}) => runDuckdbQuery(db, buildDistinctScenes(projectId, opts, duckdbDialect)),
94
109
  timeseries: (projectId, opts = {}) => runDuckdbQuery(db, buildTimeseries(projectId, opts, duckdbDialect)),
95
110
  eventTypeCounts: (projectId, opts = {}) => runDuckdbQuery(db, buildEventTypeCounts(projectId, opts, duckdbDialect)),
111
+ // The one bucket series behind `baseline` and `movers` (ADR 0051 §4). The
112
+ // spec carries no registry metric of its own, so the store edge has no row
113
+ // schema to coerce it against — `toMetricBucketRows` parses the numbers,
114
+ // which is what keeps the engines that string-encode 64-bit counts honest.
115
+ metricBuckets: async (projectId, opts) => toMetricBucketRows(await runDuckdbQuery(db, buildMetricBuckets(projectId, opts, duckdbDialect))),
96
116
  funnel: (projectId, opts) => runDuckdbQuery(db, buildFunnel(projectId, opts, duckdbDialect)),
97
117
  sceneRetention: (projectId, opts) => runDuckdbQuery(db, buildSceneRetention(projectId, opts, duckdbDialect)),
98
118
  loadBounceFunnel: (projectId, opts = {}) => runDuckdbQuery(db, buildLoadBounceFunnel(projectId, opts, duckdbDialect)),
@@ -106,6 +126,29 @@ export async function createDuckdbStore(path) {
106
126
  putSceneRegions: (projectId, sceneId, regions) => duckdbPutSceneRegions(db, projectId, sceneId, regions),
107
127
  getSceneRegions: (projectId, sceneId) => duckdbGetSceneRegions(db, projectId, sceneId),
108
128
  listSceneRegions: (projectId) => duckdbListSceneRegions(db, projectId),
129
+ createAnnotation: (projectId, input) => duckdbCreateAnnotation(db, projectId, input),
130
+ listAnnotations: (projectId, opts) => duckdbListAnnotations(db, projectId, opts),
131
+ deleteAnnotation: (projectId, id) => duckdbDeleteAnnotation(db, projectId, id),
132
+ putGlossaryEntry: (projectId, input) => duckdbPutGlossaryEntry(db, projectId, input),
133
+ listGlossary: (projectId, opts) => duckdbListGlossary(db, projectId, opts),
134
+ deleteGlossaryEntry: (projectId, term) => duckdbDeleteGlossaryEntry(db, projectId, term),
135
+ createSavedAnalysis: (projectId, input) => duckdbCreateSavedAnalysis(db, projectId, input),
136
+ listSavedAnalyses: (projectId, opts) => duckdbListSavedAnalyses(db, projectId, opts),
137
+ deleteSavedAnalysis: (projectId, id) => duckdbDeleteSavedAnalysis(db, projectId, id),
138
+ createPanelSpec: (projectId, input) => duckdbCreatePanelSpec(db, projectId, input),
139
+ listPanelSpecs: (projectId, opts) => duckdbListPanelSpecs(db, projectId, opts),
140
+ updatePanelSpec: (projectId, id, input) => duckdbUpdatePanelSpec(db, projectId, id, input),
141
+ deletePanelSpec: (projectId, id) => duckdbDeletePanelSpec(db, projectId, id),
142
+ listSubscriptions: (projectId) => duckdbListSubscriptions(db, projectId),
143
+ listEnabledSubscriptions: (limit) => duckdbListEnabledSubscriptions(db, limit),
144
+ getSubscription: (projectId, id) => duckdbGetSubscription(db, projectId, id),
145
+ createSubscription: (projectId, sub) => duckdbCreateSubscription(db, projectId, sub),
146
+ setSubscriptionEnabled: (projectId, id, enabled) => duckdbSetSubscriptionEnabled(db, projectId, id, enabled),
147
+ deleteSubscription: (projectId, id) => duckdbDeleteSubscription(db, projectId, id),
148
+ recordSubscriptionOutcome: (projectId, id, outcome) => duckdbRecordSubscriptionOutcome(db, projectId, id, outcome),
149
+ getWebhookSecret: (projectId, id) => duckdbGetWebhookSecret(db, projectId, id),
150
+ recordSubscriptionEvent: (entry) => duckdbRecordSubscriptionEvent(db, entry),
151
+ listSubscriptionEvents: (projectId, id, opts) => duckdbListSubscriptionEvents(db, projectId, id, opts),
109
152
  async close() {
110
153
  await db.close();
111
154
  },
@@ -1 +1 @@
1
- {"version":3,"file":"duckdbStore.js","sourceRoot":"","sources":["../src/duckdbStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duckdbStore.js","sourceRoot":"","sources":["../src/duckdbStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { FastifyRequest } from "fastify";
2
+ /**
3
+ * In-process dispatch marker for the collector-hosted MCP transport
4
+ * (ADR 0051 §7, design sketch §G.1).
5
+ *
6
+ * `routes/mcp.ts` answers a `tools/call` by **re-entering the collector's own
7
+ * Fastify app** with `app.inject()` rather than opening a loopback socket back
8
+ * to itself. That keeps a tool call on exactly the same code path as the HTTP
9
+ * read it wraps — the capability check, the project scoping, the Zod
10
+ * querystring validation, the result-envelope hook and the audit hook all run
11
+ * once, in one place, so the MCP surface cannot drift from the HTTP one. It
12
+ * also means the collector never has to know its own externally reachable URL,
13
+ * and no request-controlled value is ever turned into a network destination.
14
+ *
15
+ * Two things must still differ for an inner, MCP-originated request:
16
+ *
17
+ * 1. its audit row is the record of a **tool call**, so it is tagged
18
+ * `surface: "mcp-http"` instead of `"http"`; and
19
+ * 2. the outer `POST /mcp` has already spent the caller's rate-limit budget, so
20
+ * charging the inner read again would halve every key's effective allowance.
21
+ *
22
+ * Both hang off this header. Its value is a 256-bit random token minted once
23
+ * per collector process, held only in memory and never sent anywhere: a remote
24
+ * client cannot guess it, so it can neither forge an `mcp-http` audit row nor
25
+ * exempt itself from the rate limiter by sending the header.
26
+ */
27
+ export declare const INTERNAL_DISPATCH_HEADER = "x-uptimizr-internal-dispatch";
28
+ /** Mint the per-process dispatch token. Never logged, never leaves the process. */
29
+ export declare function newInternalDispatchToken(): string;
30
+ /**
31
+ * Whether this request is the collector dispatching to itself on behalf of an
32
+ * MCP session. `false` whenever no token was minted (the hosted transport is
33
+ * off), so the check costs nothing on a default deployment.
34
+ */
35
+ export declare function isInternalDispatch(request: FastifyRequest, token: string | undefined): boolean;
36
+ //# sourceMappingURL=internalDispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalDispatch.d.ts","sourceRoot":"","sources":["../src/internalDispatch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,wBAAwB,iCAAiC,CAAC;AAEvE,mFAAmF;AACnF,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAS9F"}
@@ -0,0 +1,50 @@
1
+ import { Buffer } from "node:buffer";
2
+ import { randomBytes, timingSafeEqual } from "node:crypto";
3
+ /**
4
+ * In-process dispatch marker for the collector-hosted MCP transport
5
+ * (ADR 0051 §7, design sketch §G.1).
6
+ *
7
+ * `routes/mcp.ts` answers a `tools/call` by **re-entering the collector's own
8
+ * Fastify app** with `app.inject()` rather than opening a loopback socket back
9
+ * to itself. That keeps a tool call on exactly the same code path as the HTTP
10
+ * read it wraps — the capability check, the project scoping, the Zod
11
+ * querystring validation, the result-envelope hook and the audit hook all run
12
+ * once, in one place, so the MCP surface cannot drift from the HTTP one. It
13
+ * also means the collector never has to know its own externally reachable URL,
14
+ * and no request-controlled value is ever turned into a network destination.
15
+ *
16
+ * Two things must still differ for an inner, MCP-originated request:
17
+ *
18
+ * 1. its audit row is the record of a **tool call**, so it is tagged
19
+ * `surface: "mcp-http"` instead of `"http"`; and
20
+ * 2. the outer `POST /mcp` has already spent the caller's rate-limit budget, so
21
+ * charging the inner read again would halve every key's effective allowance.
22
+ *
23
+ * Both hang off this header. Its value is a 256-bit random token minted once
24
+ * per collector process, held only in memory and never sent anywhere: a remote
25
+ * client cannot guess it, so it can neither forge an `mcp-http` audit row nor
26
+ * exempt itself from the rate limiter by sending the header.
27
+ */
28
+ export const INTERNAL_DISPATCH_HEADER = "x-uptimizr-internal-dispatch";
29
+ /** Mint the per-process dispatch token. Never logged, never leaves the process. */
30
+ export function newInternalDispatchToken() {
31
+ return randomBytes(32).toString("base64url");
32
+ }
33
+ /**
34
+ * Whether this request is the collector dispatching to itself on behalf of an
35
+ * MCP session. `false` whenever no token was minted (the hosted transport is
36
+ * off), so the check costs nothing on a default deployment.
37
+ */
38
+ export function isInternalDispatch(request, token) {
39
+ if (token == null)
40
+ return false;
41
+ const header = request.headers[INTERNAL_DISPATCH_HEADER];
42
+ if (typeof header !== "string")
43
+ return false;
44
+ const supplied = Buffer.from(header, "utf8");
45
+ const expected = Buffer.from(token, "utf8");
46
+ // `timingSafeEqual` throws on a length mismatch, so compare lengths first —
47
+ // the token's length is fixed and public, so leaking it reveals nothing.
48
+ return supplied.length === expected.length && timingSafeEqual(supplied, expected);
49
+ }
50
+ //# sourceMappingURL=internalDispatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalDispatch.js","sourceRoot":"","sources":["../src/internalDispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG3D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,8BAA8B,CAAC;AAEvE,mFAAmF;AACnF,MAAM,UAAU,wBAAwB;IACtC,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAuB,EAAE,KAAyB;IACnF,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACzD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,4EAA4E;IAC5E,yEAAyE;IACzE,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACpF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"memoryStore.d.ts","sourceRoot":"","sources":["../src/memoryStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,gBAAgB,EAIjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAgBjD,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC3C,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,MAAM,EACN,YAAwB,EACxB,KAAoB,GACrB,EAAE,kBAAkB,GAAG,cAAc,CAidrC"}
1
+ {"version":3,"file":"memoryStore.d.ts","sourceRoot":"","sources":["../src/memoryStore.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAIV,gBAAgB,EAUjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAgBjD,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC3C,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,MAAM,EACN,YAAwB,EACxB,KAAoB,GACrB,EAAE,kBAAkB,GAAG,cAAc,CAgxBrC"}