@uptimizr/db 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/AGENTS.md +109 -0
  2. package/LICENSE +201 -0
  3. package/README.md +89 -0
  4. package/dist/cli/createProject.d.ts +3 -0
  5. package/dist/cli/createProject.d.ts.map +1 -0
  6. package/dist/cli/createProject.js +41 -0
  7. package/dist/cli/createProject.js.map +1 -0
  8. package/dist/cli/migrate.d.ts +3 -0
  9. package/dist/cli/migrate.d.ts.map +1 -0
  10. package/dist/cli/migrate.js +21 -0
  11. package/dist/cli/migrate.js.map +1 -0
  12. package/dist/cli/seed.d.ts +2 -0
  13. package/dist/cli/seed.d.ts.map +1 -0
  14. package/dist/cli/seed.js +175 -0
  15. package/dist/cli/seed.js.map +1 -0
  16. package/dist/duckdb/client.d.ts +42 -0
  17. package/dist/duckdb/client.d.ts.map +1 -0
  18. package/dist/duckdb/client.js +93 -0
  19. package/dist/duckdb/client.js.map +1 -0
  20. package/dist/duckdb/events.d.ts +44 -0
  21. package/dist/duckdb/events.d.ts.map +1 -0
  22. package/dist/duckdb/events.js +225 -0
  23. package/dist/duckdb/events.js.map +1 -0
  24. package/dist/duckdb/migrations.d.ts +20 -0
  25. package/dist/duckdb/migrations.d.ts.map +1 -0
  26. package/dist/duckdb/migrations.js +323 -0
  27. package/dist/duckdb/migrations.js.map +1 -0
  28. package/dist/duckdb/projects.d.ts +23 -0
  29. package/dist/duckdb/projects.d.ts.map +1 -0
  30. package/dist/duckdb/projects.js +55 -0
  31. package/dist/duckdb/projects.js.map +1 -0
  32. package/dist/duckdb/queries.d.ts +10 -0
  33. package/dist/duckdb/queries.d.ts.map +1 -0
  34. package/dist/duckdb/queries.js +10 -0
  35. package/dist/duckdb/queries.js.map +1 -0
  36. package/dist/duckdb/sceneRegistry.d.ts +15 -0
  37. package/dist/duckdb/sceneRegistry.d.ts.map +1 -0
  38. package/dist/duckdb/sceneRegistry.js +98 -0
  39. package/dist/duckdb/sceneRegistry.js.map +1 -0
  40. package/dist/env.d.ts +25 -0
  41. package/dist/env.d.ts.map +1 -0
  42. package/dist/env.js +55 -0
  43. package/dist/env.js.map +1 -0
  44. package/dist/events.d.ts +107 -0
  45. package/dist/events.d.ts.map +1 -0
  46. package/dist/events.js +153 -0
  47. package/dist/events.js.map +1 -0
  48. package/dist/index.d.ts +36 -0
  49. package/dist/index.d.ts.map +1 -0
  50. package/dist/index.js +34 -0
  51. package/dist/index.js.map +1 -0
  52. package/dist/metadata.d.ts +84 -0
  53. package/dist/metadata.d.ts.map +1 -0
  54. package/dist/metadata.js +23 -0
  55. package/dist/metadata.js.map +1 -0
  56. package/dist/parity/cases.d.ts +31 -0
  57. package/dist/parity/cases.d.ts.map +1 -0
  58. package/dist/parity/cases.js +524 -0
  59. package/dist/parity/cases.js.map +1 -0
  60. package/dist/parity/compare.d.ts +47 -0
  61. package/dist/parity/compare.d.ts.map +1 -0
  62. package/dist/parity/compare.js +90 -0
  63. package/dist/parity/compare.js.map +1 -0
  64. package/dist/parity/fixtures.d.ts +45 -0
  65. package/dist/parity/fixtures.d.ts.map +1 -0
  66. package/dist/parity/fixtures.js +157 -0
  67. package/dist/parity/fixtures.js.map +1 -0
  68. package/dist/parity/index.d.ts +12 -0
  69. package/dist/parity/index.d.ts.map +1 -0
  70. package/dist/parity/index.js +12 -0
  71. package/dist/parity/index.js.map +1 -0
  72. package/dist/query/aggregations.d.ts +393 -0
  73. package/dist/query/aggregations.d.ts.map +1 -0
  74. package/dist/query/aggregations.js +1412 -0
  75. package/dist/query/aggregations.js.map +1 -0
  76. package/dist/query/dialect.d.ts +100 -0
  77. package/dist/query/dialect.d.ts.map +1 -0
  78. package/dist/query/dialect.js +88 -0
  79. package/dist/query/dialect.js.map +1 -0
  80. package/dist/query/duckdbDialect.d.ts +27 -0
  81. package/dist/query/duckdbDialect.d.ts.map +1 -0
  82. package/dist/query/duckdbDialect.js +83 -0
  83. package/dist/query/duckdbDialect.js.map +1 -0
  84. package/dist/query/index.d.ts +22 -0
  85. package/dist/query/index.d.ts.map +1 -0
  86. package/dist/query/index.js +30 -0
  87. package/dist/query/index.js.map +1 -0
  88. package/dist/query/types.d.ts +388 -0
  89. package/dist/query/types.d.ts.map +1 -0
  90. package/dist/query/types.js +11 -0
  91. package/dist/query/types.js.map +1 -0
  92. package/llms.txt +21 -0
  93. package/package.json +71 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregations.js","sourceRoot":"","sources":["../../src/query/aggregations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Dialect-agnostic query layer (ADR 0020).
3
+ *
4
+ * Each analytics aggregation is authored *once* in `aggregations.ts` against the
5
+ * {@link Dialect} interface, and rendered to a {@link QuerySpec} per SQL engine.
6
+ * Everything that genuinely differs between engines — bound-parameter syntax,
7
+ * `quantile`, vector norm, time bucketing, ASOF joins, and the rollup `-Merge`
8
+ * combinators — is funnelled through this interface so the bulk of each query
9
+ * stays shared. The OSS default engine is DuckDB; a single-tenant ClickHouse
10
+ * dialect serves the optional scale tier (and may be re-homed to OSS later).
11
+ *
12
+ * Invariant: this layer carries **no multi-tenant concepts** (no `org_id`, no
13
+ * tenant isolation). Those live only in the proprietary scale layer, which keeps
14
+ * the single-tenant dialects relocatable across the open-core boundary.
15
+ */
16
+ import type { QuerySpec, CameraModeOptions, RangeOptions, SceneOptions, SourceOptions, SessionOptions } from "./types.js";
17
+ export type { QuerySpec };
18
+ /** Logical bound-parameter type, mapped to an engine-specific type by the dialect. */
19
+ export type ParamType = "string" | "u32" | "f64" | "timestamp" | "date";
20
+ /**
21
+ * Renders the engine-specific fragments of a query. Implementations must be pure
22
+ * string builders — no I/O, no client coupling — so they stay unit-testable
23
+ * without a live database.
24
+ */
25
+ export interface Dialect {
26
+ /** Stable identifier for the engine (e.g. `"clickhouse"`, `"duckdb"`). */
27
+ readonly name: string;
28
+ /** Render a bound-parameter placeholder for the given logical type. */
29
+ placeholder(name: string, type: ParamType): string;
30
+ /** Convert an epoch-ms timestamp into the value bound for a `timestamp` param. */
31
+ timestampValue(epochMs: number): unknown;
32
+ /** Aggregate: the `q`-quantile (0..1) of `expr`. */
33
+ quantile(expr: string, q: number): string;
34
+ /** L2 (Euclidean) norm of an array-valued `expr`. */
35
+ vectorNorm(expr: string): string;
36
+ /** Conditional average: mean of `value` over rows where `cond` holds. */
37
+ avgIf(value: string, cond: string): string;
38
+ /** Aggregate: an arbitrary (any) value of `expr` within the group. */
39
+ anyValue(expr: string): string;
40
+ /**
41
+ * Bucket timestamp column `tsExpr` into fixed windows of `intervalPlaceholder`
42
+ * seconds and return the bucket start as epoch **milliseconds**.
43
+ */
44
+ timeBucketMs(tsExpr: string, intervalPlaceholder: string): string;
45
+ /** Convert a timestamp expression into an integer epoch **milliseconds** value. */
46
+ epochMs(tsExpr: string): string;
47
+ /** Truncate a timestamp expression to a date. */
48
+ toDate(expr: string): string;
49
+ /** Cast an expression to text. */
50
+ toText(expr: string): string;
51
+ /**
52
+ * Extract a nested string value from a JSON text column by key path, e.g.
53
+ * `jsonText("payload", "scene", "cameraType")`. Used to filter on fields that
54
+ * are not promoted to dedicated columns (they live only in the `payload` JSON).
55
+ * Path components are trusted compile-time constants, never user input.
56
+ */
57
+ jsonText(column: string, ...path: string[]): string;
58
+ countMerge(stateExpr: string): string;
59
+ avgMerge(stateExpr: string): string;
60
+ quantileMerge(stateExpr: string, q: number): string;
61
+ /** ASOF inner-join keyword/clause introducer. */
62
+ readonly asofInnerJoin: string;
63
+ /**
64
+ * ASOF left-join keyword/clause introducer. Like {@link asofInnerJoin} but
65
+ * keeps left rows that have no matching right row (their right-side columns
66
+ * are NULL on DuckDB and engine defaults on ClickHouse), so callers must guard
67
+ * unmatched rows explicitly.
68
+ */
69
+ readonly asofLeftJoin: string;
70
+ }
71
+ /**
72
+ * Accumulates bound parameters while a query is rendered, delegating placeholder
73
+ * syntax and value coercion to the {@link Dialect}. One bag per built query.
74
+ */
75
+ export declare class ParamBag {
76
+ private readonly dialect;
77
+ readonly values: Record<string, unknown>;
78
+ constructor(dialect: Dialect);
79
+ /** Bind `value` to `name` (typed) and return its placeholder for the SQL text. */
80
+ add(name: string, type: ParamType, value: unknown): string;
81
+ }
82
+ /** Build a `ts` range predicate (epoch-ms bounds), or `""` when unbounded. */
83
+ export declare function rangeClause(bag: ParamBag, opts: RangeOptions): string;
84
+ /** Build a `day` range predicate (for rollup tables), or `""` when unbounded. */
85
+ export declare function dayRangeClause(bag: ParamBag, dialect: Dialect, opts: RangeOptions): string;
86
+ /** Build a `scene_id` equality predicate, or `""` when no scene is given. */
87
+ export declare function sceneClause(bag: ParamBag, opts: SceneOptions): string;
88
+ /** Build a `source` equality predicate, or `""` when no source is given. */
89
+ export declare function sourceClause(bag: ParamBag, opts: SourceOptions): string;
90
+ /** Build a `session_id` equality predicate, or `""` when no session is given. */
91
+ export declare function sessionClause(bag: ParamBag, opts: SessionOptions): string;
92
+ /**
93
+ * Build a camera-mode predicate (ADR 0026): restrict to sessions whose
94
+ * `session_start` declares the given `scene.cameraType`. Rendered as a
95
+ * `session_id IN (sub-select)` so it composes with the other clauses; returns
96
+ * `""` when no camera type is requested. `projectId` is bound again here so the
97
+ * sub-select is scoped to the same project as the outer query.
98
+ */
99
+ export declare function cameraModeClause(bag: ParamBag, d: Dialect, projectId: string, opts: CameraModeOptions): string;
100
+ //# sourceMappingURL=dialect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../src/query/dialect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Dialect-agnostic query layer (ADR 0020).
3
+ *
4
+ * Each analytics aggregation is authored *once* in `aggregations.ts` against the
5
+ * {@link Dialect} interface, and rendered to a {@link QuerySpec} per SQL engine.
6
+ * Everything that genuinely differs between engines — bound-parameter syntax,
7
+ * `quantile`, vector norm, time bucketing, ASOF joins, and the rollup `-Merge`
8
+ * combinators — is funnelled through this interface so the bulk of each query
9
+ * stays shared. The OSS default engine is DuckDB; a single-tenant ClickHouse
10
+ * dialect serves the optional scale tier (and may be re-homed to OSS later).
11
+ *
12
+ * Invariant: this layer carries **no multi-tenant concepts** (no `org_id`, no
13
+ * tenant isolation). Those live only in the proprietary scale layer, which keeps
14
+ * the single-tenant dialects relocatable across the open-core boundary.
15
+ */
16
+ /**
17
+ * Accumulates bound parameters while a query is rendered, delegating placeholder
18
+ * syntax and value coercion to the {@link Dialect}. One bag per built query.
19
+ */
20
+ export class ParamBag {
21
+ dialect;
22
+ values = {};
23
+ constructor(dialect) {
24
+ this.dialect = dialect;
25
+ }
26
+ /** Bind `value` to `name` (typed) and return its placeholder for the SQL text. */
27
+ add(name, type, value) {
28
+ this.values[name] = type === "timestamp" ? this.dialect.timestampValue(value) : value;
29
+ return this.dialect.placeholder(name, type);
30
+ }
31
+ }
32
+ /** Build a `ts` range predicate (epoch-ms bounds), or `""` when unbounded. */
33
+ export function rangeClause(bag, opts) {
34
+ const parts = [];
35
+ if (opts.since != null)
36
+ parts.push(`ts >= ${bag.add("since", "timestamp", opts.since)}`);
37
+ if (opts.until != null)
38
+ parts.push(`ts < ${bag.add("until", "timestamp", opts.until)}`);
39
+ return parts.length ? ` AND ${parts.join(" AND ")}` : "";
40
+ }
41
+ /** Build a `day` range predicate (for rollup tables), or `""` when unbounded. */
42
+ export function dayRangeClause(bag, dialect, opts) {
43
+ const parts = [];
44
+ if (opts.since != null) {
45
+ parts.push(`day >= ${dialect.toDate(bag.add("since", "timestamp", opts.since))}`);
46
+ }
47
+ if (opts.until != null) {
48
+ parts.push(`day < ${dialect.toDate(bag.add("until", "timestamp", opts.until))}`);
49
+ }
50
+ return parts.length ? ` AND ${parts.join(" AND ")}` : "";
51
+ }
52
+ /** Build a `scene_id` equality predicate, or `""` when no scene is given. */
53
+ export function sceneClause(bag, opts) {
54
+ if (opts.scene == null || opts.scene.length === 0)
55
+ return "";
56
+ return ` AND scene_id = ${bag.add("scene", "string", opts.scene)}`;
57
+ }
58
+ /** Build a `source` equality predicate, or `""` when no source is given. */
59
+ export function sourceClause(bag, opts) {
60
+ if (opts.source == null || opts.source.length === 0)
61
+ return "";
62
+ return ` AND source = ${bag.add("source", "string", opts.source)}`;
63
+ }
64
+ /** Build a `session_id` equality predicate, or `""` when no session is given. */
65
+ export function sessionClause(bag, opts) {
66
+ if (opts.session == null || opts.session.length === 0)
67
+ return "";
68
+ return ` AND session_id = ${bag.add("session", "string", opts.session)}`;
69
+ }
70
+ /**
71
+ * Build a camera-mode predicate (ADR 0026): restrict to sessions whose
72
+ * `session_start` declares the given `scene.cameraType`. Rendered as a
73
+ * `session_id IN (sub-select)` so it composes with the other clauses; returns
74
+ * `""` when no camera type is requested. `projectId` is bound again here so the
75
+ * sub-select is scoped to the same project as the outer query.
76
+ */
77
+ export function cameraModeClause(bag, d, projectId, opts) {
78
+ if (opts.cameraType == null || opts.cameraType.length === 0)
79
+ return "";
80
+ const pid = bag.add("cmProjectId", "string", projectId);
81
+ const ct = bag.add("cameraType", "string", opts.cameraType);
82
+ const extract = d.jsonText("payload", "scene", "cameraType");
83
+ return ` AND session_id IN (
84
+ SELECT session_id FROM events
85
+ WHERE project_id = ${pid} AND event_type = 'session_start' AND ${extract} = ${ct}
86
+ )`;
87
+ }
88
+ //# sourceMappingURL=dialect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialect.js","sourceRoot":"","sources":["../../src/query/dialect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * DuckDB dialect for the query layer (ADR 0020).
3
+ *
4
+ * DuckDB is the OSS default engine: a single, persisted file with ACID + WAL,
5
+ * in-process and zero-service. This dialect renders the engine-specific
6
+ * fragments of each shared aggregation (`aggregations.ts`) to DuckDB SQL.
7
+ *
8
+ * Like the ClickHouse dialect, it is *single-tenant* — it carries no
9
+ * `org_id`/tenant-isolation concerns — which keeps it relocatable across the
10
+ * open-core boundary.
11
+ *
12
+ * Binding model: parameters are emitted as DuckDB named placeholders (`$name`)
13
+ * and supplied as a `query_params` record. Timestamp params are bound as
14
+ * naive-UTC strings (see {@link toDuckdbTimestamp}) and cast in-place with
15
+ * `::TIMESTAMP`; DuckDB treats naive `TIMESTAMP` as UTC, matching the
16
+ * ClickHouse store's epoch handling.
17
+ */
18
+ import type { Dialect } from "./dialect.js";
19
+ /**
20
+ * Format an epoch-millisecond timestamp as a naive-UTC `YYYY-MM-DD HH:MM:SS.mmm`
21
+ * string for binding to a DuckDB `TIMESTAMP` column/param. Mirrors the
22
+ * ClickHouse `DateTime64(3)` literal format so both stores order and bucket time
23
+ * identically.
24
+ */
25
+ export declare function toDuckdbTimestamp(epochMs: number): string;
26
+ export declare const duckdbDialect: Dialect;
27
+ //# sourceMappingURL=duckdbDialect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duckdbDialect.d.ts","sourceRoot":"","sources":["../../src/query/duckdbDialect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAa,MAAM,cAAc,CAAC;AAEvD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOzD;AAED,eAAO,MAAM,aAAa,EAAE,OAoD3B,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * DuckDB dialect for the query layer (ADR 0020).
3
+ *
4
+ * DuckDB is the OSS default engine: a single, persisted file with ACID + WAL,
5
+ * in-process and zero-service. This dialect renders the engine-specific
6
+ * fragments of each shared aggregation (`aggregations.ts`) to DuckDB SQL.
7
+ *
8
+ * Like the ClickHouse dialect, it is *single-tenant* — it carries no
9
+ * `org_id`/tenant-isolation concerns — which keeps it relocatable across the
10
+ * open-core boundary.
11
+ *
12
+ * Binding model: parameters are emitted as DuckDB named placeholders (`$name`)
13
+ * and supplied as a `query_params` record. Timestamp params are bound as
14
+ * naive-UTC strings (see {@link toDuckdbTimestamp}) and cast in-place with
15
+ * `::TIMESTAMP`; DuckDB treats naive `TIMESTAMP` as UTC, matching the
16
+ * ClickHouse store's epoch handling.
17
+ */
18
+ /**
19
+ * Format an epoch-millisecond timestamp as a naive-UTC `YYYY-MM-DD HH:MM:SS.mmm`
20
+ * string for binding to a DuckDB `TIMESTAMP` column/param. Mirrors the
21
+ * ClickHouse `DateTime64(3)` literal format so both stores order and bucket time
22
+ * identically.
23
+ */
24
+ export function toDuckdbTimestamp(epochMs) {
25
+ const d = new Date(epochMs);
26
+ const p = (n, w = 2) => String(n).padStart(w, "0");
27
+ return (`${d.getUTCFullYear()}-${p(d.getUTCMonth() + 1)}-${p(d.getUTCDate())} ` +
28
+ `${p(d.getUTCHours())}:${p(d.getUTCMinutes())}:${p(d.getUTCSeconds())}.${p(d.getUTCMilliseconds(), 3)}`);
29
+ }
30
+ export const duckdbDialect = {
31
+ name: "duckdb",
32
+ placeholder(name, type) {
33
+ // Timestamp params are bound as naive-UTC strings and cast in-place. Other
34
+ // logical types bind directly; DuckDB infers the concrete type from the value.
35
+ return type === "timestamp" ? `$${name}::TIMESTAMP` : `$${name}`;
36
+ },
37
+ timestampValue(epochMs) {
38
+ return toDuckdbTimestamp(epochMs);
39
+ },
40
+ quantile(expr, q) {
41
+ return `quantile_cont(${expr}, ${q})`;
42
+ },
43
+ vectorNorm(expr) {
44
+ return `sqrt(list_dot_product(${expr}, ${expr}))`;
45
+ },
46
+ avgIf(value, cond) {
47
+ return `avg(${value}) FILTER (WHERE ${cond})`;
48
+ },
49
+ anyValue(expr) {
50
+ return `any_value(${expr})`;
51
+ },
52
+ timeBucketMs(tsExpr, intervalPlaceholder) {
53
+ // epoch_ms(ts) yields integer milliseconds (UTC); floor to the interval grid.
54
+ return `floor(epoch_ms(${tsExpr}) / (${intervalPlaceholder} * 1000)) * (${intervalPlaceholder} * 1000)`;
55
+ },
56
+ epochMs(tsExpr) {
57
+ return `epoch_ms(${tsExpr})`;
58
+ },
59
+ toDate(expr) {
60
+ return `CAST(${expr} AS DATE)`;
61
+ },
62
+ toText(expr) {
63
+ return `CAST(${expr} AS VARCHAR)`;
64
+ },
65
+ jsonText(column, ...path) {
66
+ return `json_extract_string(${column}, '$.${path.join(".")}')`;
67
+ },
68
+ // Rollup tables are exposed as DuckDB views (see migrations) that pre-group by
69
+ // `(project_id, …, day)`, so each read GROUP BY yields exactly one source row
70
+ // per group. The "merge" of a single precomputed value is the value itself.
71
+ countMerge(stateExpr) {
72
+ return `sum(${stateExpr})`;
73
+ },
74
+ avgMerge(stateExpr) {
75
+ return `avg(${stateExpr})`;
76
+ },
77
+ quantileMerge(stateExpr, q) {
78
+ return `quantile_cont(${stateExpr}, ${q})`;
79
+ },
80
+ asofInnerJoin: "ASOF INNER JOIN",
81
+ asofLeftJoin: "ASOF LEFT JOIN",
82
+ };
83
+ //# sourceMappingURL=duckdbDialect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duckdbDialect.js","sourceRoot":"","sources":["../../src/query/duckdbDialect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3D,OAAO,CACL,GAAG,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG;QACvE,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,EAAE,CACxG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,IAAI,EAAE,QAAQ;IACd,WAAW,CAAC,IAAI,EAAE,IAAe;QAC/B,2EAA2E;QAC3E,+EAA+E;QAC/E,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IACnE,CAAC;IACD,cAAc,CAAC,OAAO;QACpB,OAAO,iBAAiB,CAAC,OAAiB,CAAC,CAAC;IAC9C,CAAC;IACD,QAAQ,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,iBAAiB,IAAI,KAAK,CAAC,GAAG,CAAC;IACxC,CAAC;IACD,UAAU,CAAC,IAAI;QACb,OAAO,yBAAyB,IAAI,KAAK,IAAI,IAAI,CAAC;IACpD,CAAC;IACD,KAAK,CAAC,KAAK,EAAE,IAAI;QACf,OAAO,OAAO,KAAK,mBAAmB,IAAI,GAAG,CAAC;IAChD,CAAC;IACD,QAAQ,CAAC,IAAI;QACX,OAAO,aAAa,IAAI,GAAG,CAAC;IAC9B,CAAC;IACD,YAAY,CAAC,MAAM,EAAE,mBAAmB;QACtC,8EAA8E;QAC9E,OAAO,kBAAkB,MAAM,QAAQ,mBAAmB,gBAAgB,mBAAmB,UAAU,CAAC;IAC1G,CAAC;IACD,OAAO,CAAC,MAAM;QACZ,OAAO,YAAY,MAAM,GAAG,CAAC;IAC/B,CAAC;IACD,MAAM,CAAC,IAAI;QACT,OAAO,QAAQ,IAAI,WAAW,CAAC;IACjC,CAAC;IACD,MAAM,CAAC,IAAI;QACT,OAAO,QAAQ,IAAI,cAAc,CAAC;IACpC,CAAC;IACD,QAAQ,CAAC,MAAM,EAAE,GAAG,IAAI;QACtB,OAAO,uBAAuB,MAAM,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACjE,CAAC;IACD,+EAA+E;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,UAAU,CAAC,SAAS;QAClB,OAAO,OAAO,SAAS,GAAG,CAAC;IAC7B,CAAC;IACD,QAAQ,CAAC,SAAS;QAChB,OAAO,OAAO,SAAS,GAAG,CAAC;IAC7B,CAAC;IACD,aAAa,CAAC,SAAS,EAAE,CAAC;QACxB,OAAO,iBAAiB,SAAS,KAAK,CAAC,GAAG,CAAC;IAC7C,CAAC;IACD,aAAa,EAAE,iBAAiB;IAChC,YAAY,EAAE,gBAAgB;CAC/B,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Browser-safe entry point for `@uptimizr/db` (ADR 0020).
3
+ *
4
+ * The package's root `index.js` re-exports Node-only helpers (`metadata.ts` pulls
5
+ * in `node:crypto`), so importing the root would drag Node code into a browser
6
+ * bundle. This subpath (`@uptimizr/db/query`) exposes ONLY the pure, isomorphic
7
+ * pieces — the dialect-agnostic query builders, the DuckDB dialect, the option /
8
+ * row types, and the engine-neutral event-row mapping — all of which depend only
9
+ * on `@uptimizr/schema`. It carries no `node:`/DOM imports and is safe to bundle
10
+ * into a Service Worker or the browser (e.g. the in-browser DuckDB-Wasm demo
11
+ * store, see `docs/phases/demo-in-browser-design.md`).
12
+ *
13
+ * Do NOT add re-exports here that transitively import Node built-ins.
14
+ */
15
+ export * from "./types.js";
16
+ export * from "./dialect.js";
17
+ export * from "./duckdbDialect.js";
18
+ export * from "./aggregations.js";
19
+ export { toEventRow, formatUtcTimestamp, toNodeSampleRow, nodeSampleRowToEvent, } from "../events.js";
20
+ export type { EventRow, NodeSampleRow, SessionMeta } from "../events.js";
21
+ export { DUCKDB_MIGRATIONS } from "../duckdb/migrations.js";
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/query/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Browser-safe entry point for `@uptimizr/db` (ADR 0020).
3
+ *
4
+ * The package's root `index.js` re-exports Node-only helpers (`metadata.ts` pulls
5
+ * in `node:crypto`), so importing the root would drag Node code into a browser
6
+ * bundle. This subpath (`@uptimizr/db/query`) exposes ONLY the pure, isomorphic
7
+ * pieces — the dialect-agnostic query builders, the DuckDB dialect, the option /
8
+ * row types, and the engine-neutral event-row mapping — all of which depend only
9
+ * on `@uptimizr/schema`. It carries no `node:`/DOM imports and is safe to bundle
10
+ * into a Service Worker or the browser (e.g. the in-browser DuckDB-Wasm demo
11
+ * store, see `docs/phases/demo-in-browser-design.md`).
12
+ *
13
+ * Do NOT add re-exports here that transitively import Node built-ins.
14
+ */
15
+ // Dialect-agnostic option/row types + the QuerySpec contract.
16
+ export * from "./types.js";
17
+ // Dialect interface + shared WHERE-clause helpers.
18
+ export * from "./dialect.js";
19
+ // The DuckDB dialect (the OSS default engine).
20
+ export * from "./duckdbDialect.js";
21
+ // Every `build*` aggregation (renders a QuerySpec for a given Dialect).
22
+ export * from "./aggregations.js";
23
+ // Engine-neutral event → row mapping (isomorphic; imports only @uptimizr/schema).
24
+ export { toEventRow, formatUtcTimestamp, toNodeSampleRow, nodeSampleRowToEvent, } from "../events.js";
25
+ // The DuckDB schema DDL. `migrations.ts` only imports the `DuckdbClient` *type*
26
+ // (erased at runtime), so the statement array is browser-safe to replay into a
27
+ // DuckDB-Wasm database. Re-exported here so the in-browser store stays a single
28
+ // source of truth with the Node store (no duplicated/drifting schema).
29
+ export { DUCKDB_MIGRATIONS } from "../duckdb/migrations.js";
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/query/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,8DAA8D;AAC9D,cAAc,YAAY,CAAC;AAE3B,mDAAmD;AACnD,cAAc,cAAc,CAAC;AAE7B,+CAA+C;AAC/C,cAAc,oBAAoB,CAAC;AAEnC,wEAAwE;AACxE,cAAc,mBAAmB,CAAC;AAElC,kFAAkF;AAClF,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAGtB,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAChF,uEAAuE;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}