@contractspec/example.analytics-dashboard 1.56.1 → 1.58.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 (171) hide show
  1. package/dist/browser/dashboard/dashboard.enum.js +34 -0
  2. package/dist/browser/dashboard/dashboard.operation.js +289 -0
  3. package/dist/browser/dashboard/dashboard.presentation.js +197 -0
  4. package/dist/browser/dashboard/dashboard.schema.js +126 -0
  5. package/dist/browser/dashboard/dashboard.test-spec.js +213 -0
  6. package/dist/browser/dashboard/index.js +299 -0
  7. package/dist/browser/dashboard.feature.js +84 -0
  8. package/dist/browser/datasource/posthog-datasource.js +289 -0
  9. package/dist/browser/docs/analytics-dashboard.docblock.js +103 -0
  10. package/dist/browser/docs/index.js +103 -0
  11. package/dist/browser/events.js +81 -0
  12. package/dist/browser/example.js +42 -0
  13. package/dist/browser/handlers/analytics.handlers.js +278 -0
  14. package/dist/browser/handlers/index.js +571 -0
  15. package/dist/browser/handlers/query.handlers.js +294 -0
  16. package/dist/browser/index.js +1677 -0
  17. package/dist/browser/query/index.js +159 -0
  18. package/dist/browser/query/query.enum.js +11 -0
  19. package/dist/browser/query/query.operation.js +154 -0
  20. package/dist/browser/query/query.presentation.js +119 -0
  21. package/dist/browser/query/query.schema.js +70 -0
  22. package/dist/browser/query/query.test-spec.js +113 -0
  23. package/dist/browser/query-engine/index.js +491 -0
  24. package/dist/browser/seeders/index.js +20 -0
  25. package/dist/browser/ui/AnalyticsDashboard.js +394 -0
  26. package/dist/browser/ui/hooks/index.js +69 -0
  27. package/dist/browser/ui/hooks/useAnalyticsData.js +66 -0
  28. package/dist/browser/ui/index.js +671 -0
  29. package/dist/browser/ui/renderers/analytics.markdown.js +275 -0
  30. package/dist/browser/ui/renderers/index.js +275 -0
  31. package/dist/dashboard/dashboard.enum.d.ts +3 -8
  32. package/dist/dashboard/dashboard.enum.d.ts.map +1 -1
  33. package/dist/dashboard/dashboard.enum.js +31 -39
  34. package/dist/dashboard/dashboard.operation.d.ts +444 -450
  35. package/dist/dashboard/dashboard.operation.d.ts.map +1 -1
  36. package/dist/dashboard/dashboard.operation.js +284 -207
  37. package/dist/dashboard/dashboard.presentation.d.ts +3 -8
  38. package/dist/dashboard/dashboard.presentation.d.ts.map +1 -1
  39. package/dist/dashboard/dashboard.presentation.js +193 -85
  40. package/dist/dashboard/dashboard.schema.d.ts +289 -294
  41. package/dist/dashboard/dashboard.schema.d.ts.map +1 -1
  42. package/dist/dashboard/dashboard.schema.js +119 -228
  43. package/dist/dashboard/dashboard.test-spec.d.ts +4 -9
  44. package/dist/dashboard/dashboard.test-spec.d.ts.map +1 -1
  45. package/dist/dashboard/dashboard.test-spec.js +209 -228
  46. package/dist/dashboard/index.d.ts +7 -4
  47. package/dist/dashboard/index.d.ts.map +1 -0
  48. package/dist/dashboard/index.js +299 -4
  49. package/dist/dashboard.feature.d.ts +1 -7
  50. package/dist/dashboard.feature.d.ts.map +1 -1
  51. package/dist/dashboard.feature.js +83 -175
  52. package/dist/datasource/posthog-datasource.d.ts +18 -0
  53. package/dist/datasource/posthog-datasource.d.ts.map +1 -0
  54. package/dist/datasource/posthog-datasource.js +290 -0
  55. package/dist/docs/analytics-dashboard.docblock.d.ts +2 -1
  56. package/dist/docs/analytics-dashboard.docblock.d.ts.map +1 -0
  57. package/dist/docs/analytics-dashboard.docblock.js +46 -56
  58. package/dist/docs/index.d.ts +2 -1
  59. package/dist/docs/index.d.ts.map +1 -0
  60. package/dist/docs/index.js +104 -1
  61. package/dist/events.d.ts +109 -115
  62. package/dist/events.d.ts.map +1 -1
  63. package/dist/events.js +74 -120
  64. package/dist/example.d.ts +2 -6
  65. package/dist/example.d.ts.map +1 -1
  66. package/dist/example.js +40 -55
  67. package/dist/handlers/analytics.handlers.d.ts +110 -110
  68. package/dist/handlers/analytics.handlers.d.ts.map +1 -1
  69. package/dist/handlers/analytics.handlers.js +267 -298
  70. package/dist/handlers/index.d.ts +3 -2
  71. package/dist/handlers/index.d.ts.map +1 -0
  72. package/dist/handlers/index.js +571 -2
  73. package/dist/handlers/query.handlers.d.ts +9 -0
  74. package/dist/handlers/query.handlers.d.ts.map +1 -0
  75. package/dist/handlers/query.handlers.js +295 -0
  76. package/dist/index.d.ts +12 -12
  77. package/dist/index.d.ts.map +1 -0
  78. package/dist/index.js +1678 -13
  79. package/dist/node/dashboard/dashboard.enum.js +34 -0
  80. package/dist/node/dashboard/dashboard.operation.js +289 -0
  81. package/dist/node/dashboard/dashboard.presentation.js +197 -0
  82. package/dist/node/dashboard/dashboard.schema.js +126 -0
  83. package/dist/node/dashboard/dashboard.test-spec.js +213 -0
  84. package/dist/node/dashboard/index.js +299 -0
  85. package/dist/node/dashboard.feature.js +84 -0
  86. package/dist/node/datasource/posthog-datasource.js +289 -0
  87. package/dist/node/docs/analytics-dashboard.docblock.js +103 -0
  88. package/dist/node/docs/index.js +103 -0
  89. package/dist/node/events.js +81 -0
  90. package/dist/node/example.js +42 -0
  91. package/dist/node/handlers/analytics.handlers.js +278 -0
  92. package/dist/node/handlers/index.js +571 -0
  93. package/dist/node/handlers/query.handlers.js +294 -0
  94. package/dist/node/index.js +1677 -0
  95. package/dist/node/query/index.js +159 -0
  96. package/dist/node/query/query.enum.js +11 -0
  97. package/dist/node/query/query.operation.js +154 -0
  98. package/dist/node/query/query.presentation.js +119 -0
  99. package/dist/node/query/query.schema.js +70 -0
  100. package/dist/node/query/query.test-spec.js +113 -0
  101. package/dist/node/query-engine/index.js +491 -0
  102. package/dist/node/seeders/index.js +20 -0
  103. package/dist/node/ui/AnalyticsDashboard.js +394 -0
  104. package/dist/node/ui/hooks/index.js +69 -0
  105. package/dist/node/ui/hooks/useAnalyticsData.js +66 -0
  106. package/dist/node/ui/index.js +671 -0
  107. package/dist/node/ui/renderers/analytics.markdown.js +275 -0
  108. package/dist/node/ui/renderers/index.js +275 -0
  109. package/dist/query/index.d.ts +7 -4
  110. package/dist/query/index.d.ts.map +1 -0
  111. package/dist/query/index.js +159 -4
  112. package/dist/query/query.enum.d.ts +1 -6
  113. package/dist/query/query.enum.d.ts.map +1 -1
  114. package/dist/query/query.enum.js +10 -14
  115. package/dist/query/query.operation.d.ts +148 -154
  116. package/dist/query/query.operation.d.ts.map +1 -1
  117. package/dist/query/query.operation.js +151 -109
  118. package/dist/query/query.presentation.d.ts +2 -7
  119. package/dist/query/query.presentation.d.ts.map +1 -1
  120. package/dist/query/query.presentation.js +116 -56
  121. package/dist/query/query.schema.d.ts +121 -126
  122. package/dist/query/query.schema.d.ts.map +1 -1
  123. package/dist/query/query.schema.js +66 -152
  124. package/dist/query/query.test-spec.d.ts +2 -7
  125. package/dist/query/query.test-spec.d.ts.map +1 -1
  126. package/dist/query/query.test-spec.js +111 -121
  127. package/dist/query-engine/index.d.ts +84 -86
  128. package/dist/query-engine/index.d.ts.map +1 -1
  129. package/dist/query-engine/index.js +490 -187
  130. package/dist/seeders/index.d.ts +4 -8
  131. package/dist/seeders/index.d.ts.map +1 -1
  132. package/dist/seeders/index.js +18 -16
  133. package/dist/ui/AnalyticsDashboard.d.ts +1 -6
  134. package/dist/ui/AnalyticsDashboard.d.ts.map +1 -1
  135. package/dist/ui/AnalyticsDashboard.js +389 -259
  136. package/dist/ui/hooks/index.d.ts +2 -2
  137. package/dist/ui/hooks/index.d.ts.map +1 -0
  138. package/dist/ui/hooks/index.js +69 -4
  139. package/dist/ui/hooks/useAnalyticsData.d.ts +16 -20
  140. package/dist/ui/hooks/useAnalyticsData.d.ts.map +1 -1
  141. package/dist/ui/hooks/useAnalyticsData.js +63 -69
  142. package/dist/ui/index.d.ts +7 -6
  143. package/dist/ui/index.d.ts.map +1 -0
  144. package/dist/ui/index.js +671 -5
  145. package/dist/ui/renderers/analytics.markdown.d.ts +13 -15
  146. package/dist/ui/renderers/analytics.markdown.d.ts.map +1 -1
  147. package/dist/ui/renderers/analytics.markdown.js +266 -254
  148. package/dist/ui/renderers/index.d.ts +2 -2
  149. package/dist/ui/renderers/index.d.ts.map +1 -0
  150. package/dist/ui/renderers/index.js +275 -2
  151. package/package.json +329 -62
  152. package/dist/dashboard/dashboard.enum.js.map +0 -1
  153. package/dist/dashboard/dashboard.operation.js.map +0 -1
  154. package/dist/dashboard/dashboard.presentation.js.map +0 -1
  155. package/dist/dashboard/dashboard.schema.js.map +0 -1
  156. package/dist/dashboard/dashboard.test-spec.js.map +0 -1
  157. package/dist/dashboard.feature.js.map +0 -1
  158. package/dist/docs/analytics-dashboard.docblock.js.map +0 -1
  159. package/dist/events.js.map +0 -1
  160. package/dist/example.js.map +0 -1
  161. package/dist/handlers/analytics.handlers.js.map +0 -1
  162. package/dist/query/query.enum.js.map +0 -1
  163. package/dist/query/query.operation.js.map +0 -1
  164. package/dist/query/query.presentation.js.map +0 -1
  165. package/dist/query/query.schema.js.map +0 -1
  166. package/dist/query/query.test-spec.js.map +0 -1
  167. package/dist/query-engine/index.js.map +0 -1
  168. package/dist/seeders/index.js.map +0 -1
  169. package/dist/ui/AnalyticsDashboard.js.map +0 -1
  170. package/dist/ui/hooks/useAnalyticsData.js.map +0 -1
  171. package/dist/ui/renderers/analytics.markdown.js.map +0 -1
@@ -1,124 +1,114 @@
1
+ // @bun
2
+ // src/query/query.test-spec.ts
1
3
  import { defineTestSpec } from "@contractspec/lib.contracts";
2
-
3
- //#region src/query/query.test-spec.ts
4
- const CreateQueryTest = defineTestSpec({
5
- meta: {
6
- key: "analytics.query.create.test",
7
- version: "1.0.0",
8
- title: "Create Query Test",
9
- description: "Verifies query creation flow",
10
- owners: ["@example.analytics-dashboard"],
11
- tags: [
12
- "analytics",
13
- "query",
14
- "test"
15
- ],
16
- stability: "stable"
17
- },
18
- target: {
19
- type: "operation",
20
- operation: {
21
- key: "analytics.query.create",
22
- version: "1.0.0"
23
- }
24
- },
25
- scenarios: [{
26
- key: "success",
27
- description: "Successfully create a query",
28
- when: {
29
- operation: {
30
- key: "analytics.query.create",
31
- version: "1.0.0"
32
- },
33
- input: {
34
- name: "Revenue Query",
35
- sql: "SELECT * FROM revenue"
36
- }
37
- },
38
- then: [{
39
- type: "expectOutput",
40
- match: {
41
- name: "Revenue Query",
42
- type: "sql"
43
- }
44
- }]
45
- }, {
46
- key: "error-invalid-sql",
47
- description: "Fail with invalid SQL",
48
- when: {
49
- operation: {
50
- key: "analytics.query.create",
51
- version: "1.0.0"
52
- },
53
- input: {
54
- name: "Bad Query",
55
- sql: ""
56
- }
57
- },
58
- then: [{
59
- type: "expectError",
60
- messageIncludes: "VALIDATION_ERROR"
61
- }]
62
- }]
4
+ var CreateQueryTest = defineTestSpec({
5
+ meta: {
6
+ key: "analytics.query.create.test",
7
+ version: "1.0.0",
8
+ title: "Create Query Test",
9
+ description: "Verifies query creation flow",
10
+ owners: ["@example.analytics-dashboard"],
11
+ tags: ["analytics", "query", "test"],
12
+ stability: "stable"
13
+ },
14
+ target: {
15
+ type: "operation",
16
+ operation: { key: "analytics.query.create", version: "1.0.0" }
17
+ },
18
+ scenarios: [
19
+ {
20
+ key: "success",
21
+ description: "Successfully create a query",
22
+ when: {
23
+ operation: { key: "analytics.query.create", version: "1.0.0" },
24
+ input: {
25
+ name: "Revenue Query",
26
+ sql: "SELECT * FROM revenue"
27
+ }
28
+ },
29
+ then: [
30
+ {
31
+ type: "expectOutput",
32
+ match: {
33
+ name: "Revenue Query",
34
+ type: "sql"
35
+ }
36
+ }
37
+ ]
38
+ },
39
+ {
40
+ key: "error-invalid-sql",
41
+ description: "Fail with invalid SQL",
42
+ when: {
43
+ operation: { key: "analytics.query.create", version: "1.0.0" },
44
+ input: {
45
+ name: "Bad Query",
46
+ sql: ""
47
+ }
48
+ },
49
+ then: [
50
+ {
51
+ type: "expectError",
52
+ messageIncludes: "VALIDATION_ERROR"
53
+ }
54
+ ]
55
+ }
56
+ ]
63
57
  });
64
- const ExecuteQueryTest = defineTestSpec({
65
- meta: {
66
- key: "analytics.query.execute.test",
67
- version: "1.0.0",
68
- title: "Execute Query Test",
69
- description: "Verifies query execution",
70
- owners: ["@example.analytics-dashboard"],
71
- tags: [
72
- "analytics",
73
- "query",
74
- "test"
75
- ],
76
- stability: "stable"
77
- },
78
- target: {
79
- type: "operation",
80
- operation: {
81
- key: "analytics.query.execute",
82
- version: "1.0.0"
83
- }
84
- },
85
- scenarios: [{
86
- key: "success",
87
- description: "Successfully execute query",
88
- when: {
89
- operation: {
90
- key: "analytics.query.execute",
91
- version: "1.0.0"
92
- },
93
- input: {
94
- queryId: "q-123",
95
- params: { limit: 10 }
96
- }
97
- },
98
- then: [{
99
- type: "expectOutput",
100
- match: { rowCount: 1 }
101
- }]
102
- }, {
103
- key: "error-query-not-found",
104
- description: "Fail when query not found",
105
- when: {
106
- operation: {
107
- key: "analytics.query.execute",
108
- version: "1.0.0"
109
- },
110
- input: {
111
- queryId: "q-999",
112
- params: {}
113
- }
114
- },
115
- then: [{
116
- type: "expectError",
117
- messageIncludes: "NOT_FOUND"
118
- }]
119
- }]
58
+ var ExecuteQueryTest = defineTestSpec({
59
+ meta: {
60
+ key: "analytics.query.execute.test",
61
+ version: "1.0.0",
62
+ title: "Execute Query Test",
63
+ description: "Verifies query execution",
64
+ owners: ["@example.analytics-dashboard"],
65
+ tags: ["analytics", "query", "test"],
66
+ stability: "stable"
67
+ },
68
+ target: {
69
+ type: "operation",
70
+ operation: { key: "analytics.query.execute", version: "1.0.0" }
71
+ },
72
+ scenarios: [
73
+ {
74
+ key: "success",
75
+ description: "Successfully execute query",
76
+ when: {
77
+ operation: { key: "analytics.query.execute", version: "1.0.0" },
78
+ input: {
79
+ queryId: "q-123",
80
+ params: { limit: 10 }
81
+ }
82
+ },
83
+ then: [
84
+ {
85
+ type: "expectOutput",
86
+ match: {
87
+ rowCount: 1
88
+ }
89
+ }
90
+ ]
91
+ },
92
+ {
93
+ key: "error-query-not-found",
94
+ description: "Fail when query not found",
95
+ when: {
96
+ operation: { key: "analytics.query.execute", version: "1.0.0" },
97
+ input: {
98
+ queryId: "q-999",
99
+ params: {}
100
+ }
101
+ },
102
+ then: [
103
+ {
104
+ type: "expectError",
105
+ messageIncludes: "NOT_FOUND"
106
+ }
107
+ ]
108
+ }
109
+ ]
120
110
  });
121
-
122
- //#endregion
123
- export { CreateQueryTest, ExecuteQueryTest };
124
- //# sourceMappingURL=query.test-spec.js.map
111
+ export {
112
+ ExecuteQueryTest,
113
+ CreateQueryTest
114
+ };
@@ -1,106 +1,104 @@
1
- //#region src/query-engine/index.d.ts
2
1
  /**
3
2
  * Analytics Query Engine
4
3
  *
5
4
  * Provides query execution and caching for analytics dashboards.
6
5
  */
7
- interface QueryDefinition {
8
- type: 'SQL' | 'METRIC' | 'AGGREGATION' | 'CUSTOM';
9
- sql?: string;
10
- metricIds?: string[];
11
- aggregation?: AggregationDefinition;
12
- custom?: CustomQueryDefinition;
6
+ export interface QueryDefinition {
7
+ type: 'SQL' | 'METRIC' | 'AGGREGATION' | 'CUSTOM';
8
+ sql?: string;
9
+ metricIds?: string[];
10
+ aggregation?: AggregationDefinition;
11
+ custom?: CustomQueryDefinition;
13
12
  }
14
- interface AggregationDefinition {
15
- source: string;
16
- measures: MeasureDefinition[];
17
- dimensions: DimensionDefinition[];
18
- filters?: FilterDefinition[];
19
- orderBy?: OrderByDefinition[];
20
- limit?: number;
13
+ export interface AggregationDefinition {
14
+ source: string;
15
+ measures: MeasureDefinition[];
16
+ dimensions: DimensionDefinition[];
17
+ filters?: FilterDefinition[];
18
+ orderBy?: OrderByDefinition[];
19
+ limit?: number;
21
20
  }
22
- interface MeasureDefinition {
23
- name: string;
24
- field: string;
25
- aggregation: 'COUNT' | 'SUM' | 'AVG' | 'MIN' | 'MAX' | 'COUNT_DISTINCT';
26
- format?: string;
21
+ export interface MeasureDefinition {
22
+ name: string;
23
+ field: string;
24
+ aggregation: 'COUNT' | 'SUM' | 'AVG' | 'MIN' | 'MAX' | 'COUNT_DISTINCT';
25
+ format?: string;
27
26
  }
28
- interface DimensionDefinition {
29
- name: string;
30
- field: string;
31
- type?: 'TIME' | 'STRING' | 'NUMBER';
32
- granularity?: 'HOUR' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR';
27
+ export interface DimensionDefinition {
28
+ name: string;
29
+ field: string;
30
+ type?: 'TIME' | 'STRING' | 'NUMBER';
31
+ granularity?: 'HOUR' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR';
33
32
  }
34
- interface FilterDefinition {
35
- field: string;
36
- operator: 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'nin' | 'contains' | 'between';
37
- value: unknown;
33
+ export interface FilterDefinition {
34
+ field: string;
35
+ operator: 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'nin' | 'contains' | 'between';
36
+ value: unknown;
38
37
  }
39
- interface OrderByDefinition {
40
- field: string;
41
- direction: 'ASC' | 'DESC';
38
+ export interface OrderByDefinition {
39
+ field: string;
40
+ direction: 'ASC' | 'DESC';
42
41
  }
43
- interface CustomQueryDefinition {
44
- handler: string;
45
- parameters: Record<string, unknown>;
42
+ export interface CustomQueryDefinition {
43
+ handler: string;
44
+ parameters: Record<string, unknown>;
46
45
  }
47
- interface QueryParameters {
48
- dateRange?: {
49
- start: Date;
50
- end: Date;
51
- granularity?: string;
52
- };
53
- filters?: FilterDefinition[];
54
- parameters?: Record<string, unknown>;
46
+ export interface QueryParameters {
47
+ dateRange?: {
48
+ start: Date;
49
+ end: Date;
50
+ granularity?: string;
51
+ };
52
+ filters?: FilterDefinition[];
53
+ parameters?: Record<string, unknown>;
55
54
  }
56
- interface QueryResult {
57
- data: Record<string, unknown>[];
58
- columns: ColumnDefinition[];
59
- rowCount: number;
60
- executionTimeMs: number;
61
- cached: boolean;
62
- cachedAt?: Date;
63
- error?: string;
55
+ export interface QueryResult {
56
+ data: Record<string, unknown>[];
57
+ columns: ColumnDefinition[];
58
+ rowCount: number;
59
+ executionTimeMs: number;
60
+ cached: boolean;
61
+ cachedAt?: Date;
62
+ error?: string;
64
63
  }
65
- interface ColumnDefinition {
66
- name: string;
67
- type: 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN';
68
- label?: string;
69
- format?: string;
64
+ export interface ColumnDefinition {
65
+ name: string;
66
+ type: 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN';
67
+ label?: string;
68
+ format?: string;
70
69
  }
71
- interface IQueryEngine {
72
- execute(definition: QueryDefinition, params: QueryParameters): Promise<QueryResult>;
73
- validateQuery(definition: QueryDefinition): {
74
- valid: boolean;
75
- errors: string[];
76
- };
70
+ export interface IQueryEngine {
71
+ execute(definition: QueryDefinition, params: QueryParameters): Promise<QueryResult>;
72
+ validateQuery(definition: QueryDefinition): {
73
+ valid: boolean;
74
+ errors: string[];
75
+ };
77
76
  }
78
- interface IQueryCache {
79
- get(key: string): Promise<QueryResult | null>;
80
- set(key: string, result: QueryResult, ttlSeconds: number): Promise<void>;
81
- invalidate(pattern: string): Promise<void>;
77
+ export interface IQueryCache {
78
+ get(key: string): Promise<QueryResult | null>;
79
+ set(key: string, result: QueryResult, ttlSeconds: number): Promise<void>;
80
+ invalidate(pattern: string): Promise<void>;
82
81
  }
83
- declare class InMemoryQueryCache implements IQueryCache {
84
- private cache;
85
- get(key: string): Promise<QueryResult | null>;
86
- set(key: string, result: QueryResult, ttlSeconds: number): Promise<void>;
87
- invalidate(pattern: string): Promise<void>;
82
+ export declare class InMemoryQueryCache implements IQueryCache {
83
+ private cache;
84
+ get(key: string): Promise<QueryResult | null>;
85
+ set(key: string, result: QueryResult, ttlSeconds: number): Promise<void>;
86
+ invalidate(pattern: string): Promise<void>;
88
87
  }
89
- declare class BasicQueryEngine implements IQueryEngine {
90
- private cache;
91
- constructor(cache?: IQueryCache);
92
- execute(definition: QueryDefinition, params: QueryParameters): Promise<QueryResult>;
93
- validateQuery(definition: QueryDefinition): {
94
- valid: boolean;
95
- errors: string[];
96
- };
97
- private buildCacheKey;
98
- private executeAggregation;
99
- private executeMetric;
100
- private executeSql;
101
- private generateMockData;
88
+ export declare class BasicQueryEngine implements IQueryEngine {
89
+ private cache;
90
+ constructor(cache?: IQueryCache);
91
+ execute(definition: QueryDefinition, params: QueryParameters): Promise<QueryResult>;
92
+ validateQuery(definition: QueryDefinition): {
93
+ valid: boolean;
94
+ errors: string[];
95
+ };
96
+ private buildCacheKey;
97
+ private executeAggregation;
98
+ private executeMetric;
99
+ private executeSql;
100
+ private generateMockData;
102
101
  }
103
- declare function createQueryEngine(cache?: IQueryCache): IQueryEngine;
104
- //#endregion
105
- export { AggregationDefinition, BasicQueryEngine, ColumnDefinition, CustomQueryDefinition, DimensionDefinition, FilterDefinition, IQueryCache, IQueryEngine, InMemoryQueryCache, MeasureDefinition, OrderByDefinition, QueryDefinition, QueryParameters, QueryResult, createQueryEngine };
102
+ export declare function createQueryEngine(cache?: IQueryCache): IQueryEngine;
103
+ export { PosthogQueryEngine, createPosthogQueryEngine, } from '../datasource/posthog-datasource';
106
104
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/query-engine/index.ts"],"sourcesContent":[],"mappings":";;AAQA;AAQA;;;AAIY,UAZK,eAAA,CAYL;EACA,IAAA,EAAA,KAAA,GAAA,QAAA,GAAA,aAAA,GAAA,QAAA;EAAiB,GAAA,CAAA,EAAA,MAAA;EAIZ,SAAA,CAAA,EAAA,MAAA,EAAiB;EAOjB,WAAA,CAAA,EApBD,qBAoBoB;EAOnB,MAAA,CAAA,EA1BN,qBA0BsB;AAgBjC;AAKiB,UA5CA,qBAAA,CA4CqB;EAKrB,MAAA,EAAA,MAAA;EAEN,QAAA,EAjDC,iBAiDD,EAAA;EACF,UAAA,EAjDK,mBAiDL,EAAA;EAGG,OAAA,CAAA,EAnDA,gBAmDA,EAAA;EACG,OAAA,CAAA,EAnDH,iBAmDG,EAAA;EAAM,KAAA,CAAA,EAAA,MAAA;AAGrB;AACQ,UAnDS,iBAAA,CAmDT;EACG,IAAA,EAAA,MAAA;EAIE,KAAA,EAAA,MAAA;EAAI,WAAA,EAAA,OAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,gBAAA;EAIA,MAAA,CAAA,EAAA,MAAA;AASjB;AAEgB,UAhEC,mBAAA,CAgED;EACJ,IAAA,EAAA,MAAA;EACC,KAAA,EAAA,MAAA;EAAR,IAAA,CAAA,EAAA,MAAA,GAAA,QAAA,GAAA,QAAA;EACuB,WAAA,CAAA,EAAA,MAAA,GAAA,KAAA,GAAA,MAAA,GAAA,OAAA,GAAA,MAAA;;AAQX,UApEA,gBAAA,CAoEW;EACA,KAAA,EAAA,MAAA;EAAR,QAAA,EAAA,IAAA,GAAA,KAAA,GAAA,IAAA,GAAA,KAAA,GAAA,IAAA,GAAA,KAAA,GAAA,IAAA,GAAA,KAAA,GAAA,UAAA,GAAA,SAAA;EACO,KAAA,EAAA,OAAA;;AACI,UAvDd,iBAAA,CAuDc;EAAO,KAAA,EAAA,MAAA;EAGzB,SAAA,EAAA,KAAA,GAAA,MAAmB;;AAGN,UAxDT,qBAAA,CAwDS;EAYd,OAAA,EAAA,MAAA;EAEP,UAAA,EApES,MAoET,CAAA,MAAA,EAAA,OAAA,CAAA;;AAjBsC,UAhD1B,eAAA,CAgD0B;EAAW,SAAA,CAAA,EAAA;IAkCzC,KAAA,EAhFF,IAgFE;IAGS,GAAA,EAlFb,IAkFa;IAKN,WAAA,CAAA,EAAA,MAAA;EACJ,CAAA;EACC,OAAA,CAAA,EAtFD,gBAsFC,EAAA;EAAR,UAAA,CAAA,EArFU,MAqFV,CAAA,MAAA,EAAA,OAAA,CAAA;;AAVoC,UAxExB,WAAA,CAwEwB;EAAY,IAAA,EAvE7C,MAuE6C,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA;EA6OrC,OAAA,EAnTL,gBAmTsB,EAAA;;;;aA/SpB;;;UAII,gBAAA;;;;;;UASA,YAAA;sBAED,yBACJ,kBACP,QAAQ;4BACe;;;;;UAQX,WAAA;oBACG,QAAQ;2BACD,kCAAkC;+BAC9B;;cAGlB,kBAAA,YAA8B;;oBAGjB,QAAQ;2BAYtB,kCAEP;+BAKgC;;cAYxB,gBAAA,YAA4B;;sBAGnB;sBAKN,yBACJ,kBACP,QAAQ;4BAgEe;;;;;;;;;;iBAmKZ,iBAAA,SAA0B,cAAc"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/query-engine/index.ts"],"names":[],"mappings":"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"}