@hypequery/datasets 0.16.0 → 0.17.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/dist/agent-catalog.d.ts.map +1 -1
- package/dist/api.type-test.js +45 -1
- package/dist/catalog.d.ts +6 -0
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +12 -0
- package/dist/dataset-query.d.ts +2 -0
- package/dist/dataset-query.d.ts.map +1 -1
- package/dist/dataset-query.js +18 -21
- package/dist/dataset.d.ts +2 -2
- package/dist/dataset.d.ts.map +1 -1
- package/dist/dataset.js +4 -2
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +9 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/measure.d.ts +4 -1
- package/dist/measure.d.ts.map +1 -1
- package/dist/measure.js +12 -0
- package/dist/portable-executor.d.ts +4 -5
- package/dist/portable-executor.d.ts.map +1 -1
- package/dist/portable-executor.js +2 -20
- package/dist/protocol-adapter.d.ts +2 -2
- package/dist/protocol-adapter.js +2 -2
- package/dist/protocol-deployment-adapter.d.ts +8 -0
- package/dist/protocol-deployment-adapter.d.ts.map +1 -0
- package/dist/protocol-deployment-adapter.js +31 -0
- package/dist/protocol-rehydrate.d.ts +4 -2
- package/dist/protocol-rehydrate.d.ts.map +1 -1
- package/dist/protocol-rehydrate.js +44 -12
- package/dist/semantic-planner.d.ts.map +1 -1
- package/dist/semantic-planner.js +3 -0
- package/dist/semantic-query-schema.d.ts.map +1 -1
- package/dist/semantic-query-schema.js +2 -1
- package/dist/types.d.ts +46 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/agent-catalog-projection.d.ts +6 -2
- package/dist/utils/agent-catalog-projection.d.ts.map +1 -1
- package/dist/utils/agent-catalog-projection.js +2 -2
- package/dist/utils/dataset-definition-validation.d.ts +2 -2
- package/dist/utils/dataset-definition-validation.d.ts.map +1 -1
- package/dist/utils/dataset-definition-validation.js +13 -1
- package/dist/utils/dataset-derived-query.d.ts +12 -0
- package/dist/utils/dataset-derived-query.d.ts.map +1 -0
- package/dist/utils/dataset-derived-query.js +112 -0
- package/dist/utils/dataset-measures.d.ts +10 -0
- package/dist/utils/dataset-measures.d.ts.map +1 -0
- package/dist/utils/dataset-measures.js +24 -0
- package/dist/utils/dataset-normalization.d.ts +3 -3
- package/dist/utils/dataset-normalization.d.ts.map +1 -1
- package/dist/utils/dataset-query-result.d.ts +10 -0
- package/dist/utils/dataset-query-result.d.ts.map +1 -0
- package/dist/utils/dataset-query-result.js +20 -0
- package/dist/utils/dataset-query-validation.js +2 -2
- package/dist/utils/derived-measure-validation.d.ts +3 -0
- package/dist/utils/derived-measure-validation.d.ts.map +1 -0
- package/dist/utils/derived-measure-validation.js +138 -0
- package/dist/utils/protocol-metric-expressions.d.ts +2 -1
- package/dist/utils/protocol-metric-expressions.d.ts.map +1 -1
- package/dist/utils/protocol-metric-expressions.js +4 -0
- package/dist/utils/semantic-metadata-validation.d.ts +2 -2
- package/dist/utils/semantic-metadata-validation.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* exactly the same code path as an authored one. That is what makes the
|
|
12
12
|
* byte-identical SQL claim mitigated by construction rather than by review.
|
|
13
13
|
*/
|
|
14
|
-
import type { ProtocolDatasetContract } from '@hypequery/protocol';
|
|
14
|
+
import type { ProtocolDatasetContract, ProtocolDeploymentDataset } from '@hypequery/protocol';
|
|
15
15
|
import type { AnyDatasetInstance, DatasetCachePolicy, MetricHandle } from './types.js';
|
|
16
16
|
/** A rebuilt dataset in the registry shape Serve, MCP, and the planner accept. */
|
|
17
17
|
export type RehydratedDataset = AnyDatasetInstance & {
|
|
@@ -52,5 +52,7 @@ export declare class UnsupportedContractFeatureError extends Error {
|
|
|
52
52
|
* attached, which is the registry shape `getDatasetCatalog`,
|
|
53
53
|
* `projectAgentSafeCatalog`, and `DatasetClient` already accept.
|
|
54
54
|
*/
|
|
55
|
-
export declare function rehydrateProtocolDatasets(contracts: readonly ProtocolDatasetContract[], options?: RehydrateProtocolDatasetsOptions): Readonly<Record<string, RehydratedDataset>>;
|
|
55
|
+
export declare function rehydrateProtocolDatasets(contracts: readonly (ProtocolDatasetContract | ProtocolDeploymentDataset)[], options?: RehydrateProtocolDatasetsOptions): Readonly<Record<string, RehydratedDataset>>;
|
|
56
|
+
/** Strict v2 reader that returns executable datasets without metric handles. */
|
|
57
|
+
export declare function rehydrateProtocolDeploymentContract(input: unknown, options?: RehydrateProtocolDatasetsOptions): Readonly<Record<string, RehydratedDataset>>;
|
|
56
58
|
//# sourceMappingURL=protocol-rehydrate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-rehydrate.d.ts","sourceRoot":"","sources":["../src/protocol-rehydrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,uBAAuB,
|
|
1
|
+
{"version":3,"file":"protocol-rehydrate.d.ts","sourceRoot":"","sources":["../src/protocol-rehydrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,uBAAuB,EAEvB,yBAAyB,EAM1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAMlB,YAAY,EAIb,MAAM,YAAY,CAAC;AAMpB,kFAAkF;AAClF,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG;IACnD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IACpC;;;;;;;;OAQG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACjD;AAED;;;;;GAKG;AACH,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAMjE;AAyPD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,CAAC,uBAAuB,GAAG,yBAAyB,CAAC,EAAE,EAC3E,OAAO,GAAE,gCAAqC,GAC7C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAmF7C;AAED,gFAAgF;AAChF,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,gCAAqC,GAC7C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAG7C"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* exactly the same code path as an authored one. That is what makes the
|
|
12
12
|
* byte-identical SQL claim mitigated by construction rather than by review.
|
|
13
13
|
*/
|
|
14
|
+
import { validateProtocolDeploymentContract } from '@hypequery/protocol';
|
|
14
15
|
import { dataset } from './dataset.js';
|
|
15
16
|
import { snapshotSemanticMetadata } from './utils/semantic-metadata.js';
|
|
16
17
|
import { withContractCapabilities } from './utils/protocol-metric-capabilities.js';
|
|
@@ -72,6 +73,16 @@ function rehydrateMeasure(datasetName, measure) {
|
|
|
72
73
|
...(filters.length > 0 ? { filters: filters } : {}),
|
|
73
74
|
};
|
|
74
75
|
}
|
|
76
|
+
function rehydrateDerivedMeasure(datasetName, measure) {
|
|
77
|
+
return {
|
|
78
|
+
__type: 'derived_measure_definition',
|
|
79
|
+
...snapshotSemanticMetadata(measure),
|
|
80
|
+
uses: Object.fromEntries(measure.uses.map(input => [String(input.alias), String(input.measure)])),
|
|
81
|
+
formula: rehydrateDerivedFormula({ inputs: [], expression: measure.expression }, reason => new UnsupportedContractFeatureError(datasetName, `measure "${measure.name}"`, reason)),
|
|
82
|
+
...(measure.label !== undefined ? { label: measure.label } : {}),
|
|
83
|
+
...(measure.description !== undefined ? { description: measure.description } : {}),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
75
86
|
function rehydrateFilters(contract) {
|
|
76
87
|
const filters = {};
|
|
77
88
|
for (const filter of contract.filters) {
|
|
@@ -137,7 +148,7 @@ function measureForAggregate(instance, contract, subject, expression) {
|
|
|
137
148
|
}
|
|
138
149
|
// A metric expression carries no raw SQL, so two measures that share an
|
|
139
150
|
// aggregation identity but override SQL differently are indistinguishable in
|
|
140
|
-
//
|
|
151
|
+
// this dataset snapshot. Binding to either would guess which SQL to emit.
|
|
141
152
|
const distinctSql = new Set(candidates.map(measure => measure.sql?.sql ?? null));
|
|
142
153
|
if (distinctSql.size > 1) {
|
|
143
154
|
throw new UnsupportedContractFeatureError(instance.name, subject, `${candidates.map(measure => `"${String(measure.name)}"`).join(' and ')} share `
|
|
@@ -202,14 +213,24 @@ function rehydrateMetric(instance, contract, metric) {
|
|
|
202
213
|
* `projectAgentSafeCatalog`, and `DatasetClient` already accept.
|
|
203
214
|
*/
|
|
204
215
|
export function rehydrateProtocolDatasets(contracts, options = {}) {
|
|
216
|
+
const normalized = contracts.map(contract => {
|
|
217
|
+
const measures = contract.measures;
|
|
218
|
+
const derived = measures.filter((measure) => 'kind' in measure);
|
|
219
|
+
const base = {
|
|
220
|
+
...contract,
|
|
221
|
+
measures: measures.filter((measure) => !('kind' in measure)),
|
|
222
|
+
metrics: contract.metrics ?? [],
|
|
223
|
+
};
|
|
224
|
+
return { base, derived };
|
|
225
|
+
});
|
|
205
226
|
const instances = new Map();
|
|
206
|
-
const registry =
|
|
227
|
+
const registry = new Map();
|
|
207
228
|
// Relationship targets resolve to the published entry, not the bare instance
|
|
208
229
|
// built below, so a caller that follows a relationship lands on the same
|
|
209
230
|
// object the registry exposes. Safe because `target()` is only called after
|
|
210
231
|
// the registry is complete.
|
|
211
232
|
const resolve = (target) => {
|
|
212
|
-
const instance = registry
|
|
233
|
+
const instance = registry.get(target) ?? instances.get(target);
|
|
213
234
|
if (!instance) {
|
|
214
235
|
// The deployment validator already rejects a dangling relationship, so
|
|
215
236
|
// reaching this means the caller passed a partial contract.
|
|
@@ -217,7 +238,7 @@ export function rehydrateProtocolDatasets(contracts, options = {}) {
|
|
|
217
238
|
}
|
|
218
239
|
return instance;
|
|
219
240
|
};
|
|
220
|
-
for (const contract of
|
|
241
|
+
for (const { base: contract, derived } of normalized) {
|
|
221
242
|
const name = String(contract.name);
|
|
222
243
|
const instance = dataset(name, {
|
|
223
244
|
source: contract.source,
|
|
@@ -232,10 +253,14 @@ export function rehydrateProtocolDatasets(contracts, options = {}) {
|
|
|
232
253
|
...(contract.tenant.kind === 'required' ? { tenantKey: contract.tenant.field } : {}),
|
|
233
254
|
...(contract.timeField !== undefined ? { timeKey: String(contract.timeField) } : {}),
|
|
234
255
|
dimensions: rehydrateDimensions(contract),
|
|
235
|
-
measures: Object.fromEntries(
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
256
|
+
measures: Object.fromEntries([
|
|
257
|
+
...contract.measures.map(measure => [
|
|
258
|
+
String(measure.name), rehydrateMeasure(name, measure),
|
|
259
|
+
]),
|
|
260
|
+
...derived.map(measure => [
|
|
261
|
+
String(measure.name), rehydrateDerivedMeasure(name, measure),
|
|
262
|
+
]),
|
|
263
|
+
]),
|
|
239
264
|
filters: rehydrateFilters(contract),
|
|
240
265
|
relationships: rehydrateRelationships(contract, resolve),
|
|
241
266
|
...(contract.limits !== undefined ? { limits: { ...contract.limits } } : {}),
|
|
@@ -243,11 +268,11 @@ export function rehydrateProtocolDatasets(contracts, options = {}) {
|
|
|
243
268
|
});
|
|
244
269
|
instances.set(name, instance);
|
|
245
270
|
}
|
|
246
|
-
for (const contract of
|
|
271
|
+
for (const { base: contract } of normalized) {
|
|
247
272
|
const name = String(contract.name);
|
|
248
273
|
const instance = instances.get(name);
|
|
249
274
|
const metrics = {};
|
|
250
|
-
for (const metric of contract.metrics) {
|
|
275
|
+
for (const metric of contract.metrics ?? []) {
|
|
251
276
|
try {
|
|
252
277
|
metrics[String(metric.name)] = rehydrateMetric(instance, contract, metric);
|
|
253
278
|
}
|
|
@@ -258,7 +283,14 @@ export function rehydrateProtocolDatasets(contracts, options = {}) {
|
|
|
258
283
|
}
|
|
259
284
|
}
|
|
260
285
|
}
|
|
261
|
-
|
|
286
|
+
const published = { ...instance, metrics };
|
|
287
|
+
registry.set(name, published);
|
|
262
288
|
}
|
|
263
|
-
|
|
289
|
+
// Object.fromEntries defines "__proto__" as an own property, unlike assignment to {}.
|
|
290
|
+
return Object.fromEntries(registry);
|
|
291
|
+
}
|
|
292
|
+
/** Strict v2 reader that returns executable datasets without metric handles. */
|
|
293
|
+
export function rehydrateProtocolDeploymentContract(input, options = {}) {
|
|
294
|
+
const contract = validateProtocolDeploymentContract(input);
|
|
295
|
+
return rehydrateProtocolDatasets(contract.datasets, options);
|
|
264
296
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-planner.d.ts","sourceRoot":"","sources":["../src/semantic-planner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAGhB,WAAW,EACX,SAAS,EACT,gBAAgB,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,QAAQ,EAIT,MAAM,oBAAoB,CAAC;AAyL5B,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,kBAAkB,EACtB,KAAK,GAAE,YAAiB,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,QAAQ,
|
|
1
|
+
{"version":3,"file":"semantic-planner.d.ts","sourceRoot":"","sources":["../src/semantic-planner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAGhB,WAAW,EACX,SAAS,EACT,gBAAgB,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,QAAQ,EAIT,MAAM,oBAAoB,CAAC;AAyL5B,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,kBAAkB,EACtB,KAAK,GAAE,YAAiB,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,QAAQ,CAgBV;AA2FD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,GAAG,gBAAgB,EACpC,KAAK,GAAE,WAAgB,EACvB,OAAO,CAAC,EAAE,gBAAgB,GACzB,QAAQ,CAYV"}
|
package/dist/semantic-planner.js
CHANGED
|
@@ -145,6 +145,9 @@ function aggregatePlan(ds, query, aggregations, context) {
|
|
|
145
145
|
};
|
|
146
146
|
}
|
|
147
147
|
export function buildDatasetPlan(ds, query = {}, context) {
|
|
148
|
+
if ((query.measures ?? []).some(name => Object.hasOwn(ds.derivedMeasures, name))) {
|
|
149
|
+
throw new Error('Derived dataset measures require the queryBuilder execution path.');
|
|
150
|
+
}
|
|
148
151
|
const validation = validateDatasetQuery(ds, query, context);
|
|
149
152
|
if (!validation.valid) {
|
|
150
153
|
throw new Error(`Invalid dataset query: ${validation.errors.join('; ')}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-query-schema.d.ts","sourceRoot":"","sources":["../src/semantic-query-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAK,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AAEzC,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAC3E,iFAAiF;IACjF,UAAU,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IAC5B,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,gGAAgG;AAChG,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,kBAAkB,EAClB,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAC9C,CAAC;AAEF,eAAO,MAAM,oCAAoC;;;;;;;EAO/C,CAAC;AAEH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,sBAAsB,EAAE,UAAU,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,EAAE,UAAU,CAAC;IAC3C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,oFAAoF;AACpF,MAAM,MAAM,yBAAyB,GAAG,oBAAoB,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"semantic-query-schema.d.ts","sourceRoot":"","sources":["../src/semantic-query-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAK,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AAEzC,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAC3E,iFAAiF;IACjF,UAAU,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IAC5B,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,gGAAgG;AAChG,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,kBAAkB,EAClB,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAC9C,CAAC;AAEF,eAAO,MAAM,oCAAoC;;;;;;;EAO/C,CAAC;AAEH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,sBAAsB,EAAE,UAAU,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,EAAE,UAAU,CAAC;IAC3C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,oFAAoF;AACpF,MAAM,MAAM,yBAAyB,GAAG,oBAAoB,GAAG,cAAc,CAAC;AA8I9E,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,yBAAyB,EAClC,OAAO,GAAE,0BAA+B,GACvC,UAAU,CAOZ;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,yBAAyB,EAClC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,0BAA+B,EACxC,cAAc,CAAC,EAAE,2BAA2B,GAC3C,UAAU,CAaZ;AAsBD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3C,UAAU,CAMZ;AAyBD,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,EACnD,OAAO,GAAE,0BAA+B,GACvC,6BAA6B,CAgD/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,yBAAyB,EAClC,OAAO,GAAE,0BAA+B,EACxC,IAAI,SAAkB,GACrB,cAAc,CAEhB;AAED,kEAAkE;AAClE,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,yBAAyB,EAClC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,0BAA+B,EACxC,cAAc,CAAC,EAAE,2BAA2B,EAC5C,IAAI,SAAiB,GACpB,cAAc,CAKhB"}
|
|
@@ -96,6 +96,7 @@ function queryShape(catalog, metricName, options, metric, localRelationshipField
|
|
|
96
96
|
: uniqueSorted([
|
|
97
97
|
...dimensions,
|
|
98
98
|
...Object.keys(catalog.measures),
|
|
99
|
+
...Object.keys(catalog.derivedMeasures ?? {}),
|
|
99
100
|
...(catalog.supportedGrains.length > 0 ? ['period'] : []),
|
|
100
101
|
]);
|
|
101
102
|
const maxResultSize = options.enforceResultLimit === false
|
|
@@ -111,7 +112,7 @@ function queryShape(catalog, metricName, options, metric, localRelationshipField
|
|
|
111
112
|
return {
|
|
112
113
|
dimensions: boundedArray(fieldEnum(dimensions), lowerLimit(catalog.limits?.maxDimensions, limits.maxDimensions)),
|
|
113
114
|
...(metricName ? {} : {
|
|
114
|
-
measures: boundedArray(fieldEnum(Object.keys(catalog.measures)), lowerLimit(catalog.limits?.maxMeasures, limits.maxMeasures)),
|
|
115
|
+
measures: boundedArray(fieldEnum([...Object.keys(catalog.measures), ...Object.keys(catalog.derivedMeasures ?? {})]), lowerLimit(catalog.limits?.maxMeasures, limits.maxMeasures)),
|
|
115
116
|
}),
|
|
116
117
|
filters: boundedArray(filterSchema(catalog, filterFields), lowerLimit(catalog.limits?.maxFilters, limits.maxFilters)),
|
|
117
118
|
orderBy: boundedArray(z.object({
|
package/dist/types.d.ts
CHANGED
|
@@ -95,6 +95,44 @@ export interface MeasureDefinition extends SemanticMetadata {
|
|
|
95
95
|
description?: string;
|
|
96
96
|
filters?: MetricFilter[];
|
|
97
97
|
}
|
|
98
|
+
export type DerivedMeasureUses<TMeasureName extends string = string> = Readonly<Record<string, TMeasureName>>;
|
|
99
|
+
export interface DerivedMeasureOptions<TUses extends DerivedMeasureUses = DerivedMeasureUses> extends SemanticMetadata {
|
|
100
|
+
uses: TUses;
|
|
101
|
+
formula: (inputs: {
|
|
102
|
+
readonly [Alias in keyof TUses]: string;
|
|
103
|
+
}) => FormulaExpr;
|
|
104
|
+
label?: string;
|
|
105
|
+
description?: string;
|
|
106
|
+
}
|
|
107
|
+
export interface DerivedMeasureDefinition<TUses extends DerivedMeasureUses = DerivedMeasureUses> extends SemanticMetadata {
|
|
108
|
+
__type: 'derived_measure_definition';
|
|
109
|
+
uses: TUses;
|
|
110
|
+
formula: {
|
|
111
|
+
invoke(inputs: {
|
|
112
|
+
readonly [Alias in keyof TUses]: string;
|
|
113
|
+
}): FormulaExpr;
|
|
114
|
+
}['invoke'];
|
|
115
|
+
label?: string;
|
|
116
|
+
description?: string;
|
|
117
|
+
}
|
|
118
|
+
export type DatasetMeasureDefinition = MeasureDefinition | DerivedMeasureDefinition;
|
|
119
|
+
/** Only aggregate measures may be inputs to derived measures and standalone metrics. */
|
|
120
|
+
export type BaseMeasureNames<TMeasures> = {
|
|
121
|
+
[Name in keyof TMeasures]: Extract<TMeasures[Name], MeasureDefinition> extends never ? never : Name;
|
|
122
|
+
}[keyof TMeasures] & string;
|
|
123
|
+
export type BaseMeasures<TMeasures> = {
|
|
124
|
+
[Name in keyof TMeasures as TMeasures[Name] extends MeasureDefinition ? Name : never]: Extract<TMeasures[Name], MeasureDefinition>;
|
|
125
|
+
};
|
|
126
|
+
export type DerivedMeasures<TMeasures> = {
|
|
127
|
+
[Name in keyof TMeasures as TMeasures[Name] extends DerivedMeasureDefinition ? Name : never]: Extract<TMeasures[Name], DerivedMeasureDefinition>;
|
|
128
|
+
};
|
|
129
|
+
type CheckedDatasetMeasures<TMeasures> = {
|
|
130
|
+
[Name in keyof TMeasures]: TMeasures[Name] extends DerivedMeasureDefinition<infer TUses> ? TMeasures[Name] & {
|
|
131
|
+
readonly uses: {
|
|
132
|
+
readonly [Alias in keyof TUses]: BaseMeasureNames<TMeasures>;
|
|
133
|
+
};
|
|
134
|
+
} : TMeasures[Name];
|
|
135
|
+
};
|
|
98
136
|
export type FormulaExpr = {
|
|
99
137
|
__type: 'formula_expr';
|
|
100
138
|
expression: SemanticExpression;
|
|
@@ -298,7 +336,7 @@ export interface DerivedMetricConfig<TDatasetName extends string = string> exten
|
|
|
298
336
|
label?: string;
|
|
299
337
|
description?: string;
|
|
300
338
|
}
|
|
301
|
-
export interface DatasetConfig<TDimensions extends Record<string, DimensionDefinition> = Record<string, DimensionDefinition>, TMeasures extends Record<string,
|
|
339
|
+
export interface DatasetConfig<TDimensions extends Record<string, DimensionDefinition> = Record<string, DimensionDefinition>, TMeasures extends Record<string, DatasetMeasureDefinition> = Record<string, MeasureDefinition>, TRelationships extends Record<string, RelationshipDefinition> = Record<string, never>> extends SemanticMetadata {
|
|
302
340
|
source: string;
|
|
303
341
|
description?: string;
|
|
304
342
|
freshness?: DatasetFreshness;
|
|
@@ -307,13 +345,13 @@ export interface DatasetConfig<TDimensions extends Record<string, DimensionDefin
|
|
|
307
345
|
tenantKey?: string;
|
|
308
346
|
timeKey?: string;
|
|
309
347
|
dimensions: TDimensions;
|
|
310
|
-
measures?: TMeasures
|
|
348
|
+
measures?: TMeasures & CheckedDatasetMeasures<TMeasures>;
|
|
311
349
|
filters?: SemanticFiltersDefinition;
|
|
312
350
|
relationships?: TRelationships;
|
|
313
351
|
limits?: DatasetLimits;
|
|
314
352
|
cache?: DatasetCachePolicy;
|
|
315
353
|
}
|
|
316
|
-
export interface DatasetInstance<TDimensions extends Record<string, DimensionDefinition> = Record<string, DimensionDefinition>, TMeasures extends Record<string, MeasureDefinition> = Record<string, MeasureDefinition>, TRelationships extends Record<string, RelationshipDefinition> = Record<string, never>, TDatasetName extends string = string> {
|
|
354
|
+
export interface DatasetInstance<TDimensions extends Record<string, DimensionDefinition> = Record<string, DimensionDefinition>, TMeasures extends Record<string, MeasureDefinition> = Record<string, MeasureDefinition>, TRelationships extends Record<string, RelationshipDefinition> = Record<string, never>, TDatasetName extends string = string, TDerivedMeasures extends Record<string, DerivedMeasureDefinition> = Record<string, DerivedMeasureDefinition>> {
|
|
317
355
|
__type: 'dataset';
|
|
318
356
|
name: TDatasetName;
|
|
319
357
|
source: string;
|
|
@@ -332,12 +370,13 @@ export interface DatasetInstance<TDimensions extends Record<string, DimensionDef
|
|
|
332
370
|
timeKey?: string;
|
|
333
371
|
dimensions: TDimensions;
|
|
334
372
|
measures: TMeasures;
|
|
373
|
+
derivedMeasures: TDerivedMeasures;
|
|
335
374
|
filters: SemanticFiltersDefinition;
|
|
336
375
|
relationships: TRelationships;
|
|
337
376
|
limits?: DatasetLimits;
|
|
338
377
|
cache?: DatasetCachePolicy;
|
|
339
|
-
metric<TName extends string>(metricName: TName, metricConfig: BaseMetricConfig<TMeasures>): BaseMetricRef<TDatasetName, TName, DatasetInstance<TDimensions, TMeasures, TRelationships, TDatasetName>>;
|
|
340
|
-
metric<TName extends string>(metricName: TName, metricConfig: DerivedMetricConfig<TDatasetName>): DerivedMetricRef<TDatasetName, TName, DatasetInstance<TDimensions, TMeasures, TRelationships, TDatasetName>>;
|
|
378
|
+
metric<TName extends string>(metricName: TName, metricConfig: BaseMetricConfig<TMeasures>): BaseMetricRef<TDatasetName, TName, DatasetInstance<TDimensions, TMeasures, TRelationships, TDatasetName, TDerivedMeasures>>;
|
|
379
|
+
metric<TName extends string>(metricName: TName, metricConfig: DerivedMetricConfig<TDatasetName>): DerivedMetricRef<TDatasetName, TName, DatasetInstance<TDimensions, TMeasures, TRelationships, TDatasetName, TDerivedMeasures>>;
|
|
341
380
|
}
|
|
342
381
|
export interface DatasetRegistryInstance {
|
|
343
382
|
register(ds: DatasetInstance): void;
|
|
@@ -373,7 +412,7 @@ export type DatasetQueryableDimensions<TDataset extends DatasetInstance<any, any
|
|
|
373
412
|
/** Backwards-compatible alias for all queryable dataset dimension names. */
|
|
374
413
|
export type DatasetFieldNames<TDataset extends DatasetInstance<any, any, any, any>> = DatasetDimensionNames<TDataset>;
|
|
375
414
|
/** Measure names declared by a dataset. */
|
|
376
|
-
export type DatasetMeasureNames<TDataset extends DatasetInstance<any, any, any, any>> = KnownStringKeysOrFallback<TDataset['measures']>;
|
|
415
|
+
export type DatasetMeasureNames<TDataset extends DatasetInstance<any, any, any, any>> = KnownStringKeysOrFallback<TDataset['measures']> | KnownStringKeys<TDataset['derivedMeasures']>;
|
|
377
416
|
/**
|
|
378
417
|
* Fields a result can be ordered by. This is the selection-independent superset
|
|
379
418
|
* (every dimension + measure, plus the synthetic `period` column for grained
|
|
@@ -396,7 +435,7 @@ type SelectedDimensions<TDataset extends DatasetInstance<any, any, any, any>, TQ
|
|
|
396
435
|
} ? Extract<TName, DatasetDimensionNames<TDataset>> : never;
|
|
397
436
|
type SelectedDatasetMeasures<TDataset extends DatasetInstance<any, any, any, any>, TQuery> = TQuery extends {
|
|
398
437
|
measures: readonly (infer TName)[];
|
|
399
|
-
} ? Extract<TName, DatasetMeasureNames<TDataset>> :
|
|
438
|
+
} ? Extract<TName, DatasetMeasureNames<TDataset>> : KnownStringKeysOrFallback<TDataset['measures']>;
|
|
400
439
|
type PeriodSelection<TQuery> = TQuery extends {
|
|
401
440
|
by: TimeGrain;
|
|
402
441
|
} ? {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* sort every collection by name — so the projection is deterministic regardless
|
|
9
9
|
* of which source produced it.
|
|
10
10
|
*/
|
|
11
|
-
import type { ProtocolDatasetContract } from '@hypequery/protocol';
|
|
11
|
+
import type { ProtocolDatasetContract, ProtocolDeploymentDataset } from '@hypequery/protocol';
|
|
12
12
|
import type { AgentCatalogDataset } from '../agent-catalog.js';
|
|
13
13
|
import type { DatasetDefaults, DatasetFreshness, DatasetLimits, FieldType, SemanticMetadata } from '../types.js';
|
|
14
14
|
/**
|
|
@@ -36,6 +36,10 @@ export interface RecordShapedDataset extends SemanticMetadata {
|
|
|
36
36
|
readonly label?: string;
|
|
37
37
|
readonly description?: string;
|
|
38
38
|
}>>;
|
|
39
|
+
readonly derivedMeasures?: Readonly<Record<string, SemanticMetadata & {
|
|
40
|
+
readonly label?: string;
|
|
41
|
+
readonly description?: string;
|
|
42
|
+
}>>;
|
|
39
43
|
readonly metrics: Readonly<Record<string, SemanticMetadata & {
|
|
40
44
|
readonly label?: string;
|
|
41
45
|
readonly description?: string;
|
|
@@ -74,5 +78,5 @@ export declare function recordDatasetToAgentDataset(dataset: RecordShapedDataset
|
|
|
74
78
|
* collections as arrays of named entries, and relationship fields are not
|
|
75
79
|
* stored — they are derived from the target dataset's publishable dimensions.
|
|
76
80
|
*/
|
|
77
|
-
export declare function protocolDatasetToAgentDataset(dataset: ProtocolDatasetContract, datasets: ReadonlyMap<string, ProtocolDatasetContract>): AgentCatalogDataset;
|
|
81
|
+
export declare function protocolDatasetToAgentDataset(dataset: ProtocolDatasetContract | ProtocolDeploymentDataset, datasets: ReadonlyMap<string, ProtocolDatasetContract | ProtocolDeploymentDataset>): AgentCatalogDataset;
|
|
78
82
|
//# sourceMappingURL=agent-catalog-projection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-catalog-projection.d.ts","sourceRoot":"","sources":["../../src/utils/agent-catalog-projection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-catalog-projection.d.ts","sourceRoot":"","sources":["../../src/utils/agent-catalog-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,7 +74,7 @@ export function recordDatasetToAgentDataset(dataset) {
|
|
|
74
74
|
? dataset.timeKey
|
|
75
75
|
: null,
|
|
76
76
|
dimensions,
|
|
77
|
-
measures: sortedByName(Object.entries(dataset.measures).map(([name, measure]) => ({
|
|
77
|
+
measures: sortedByName([...Object.entries(dataset.measures), ...Object.entries(dataset.derivedMeasures ?? {})].map(([name, measure]) => ({
|
|
78
78
|
name,
|
|
79
79
|
...optionalText(measure),
|
|
80
80
|
...snapshotSemanticMetadata(measure),
|
|
@@ -143,7 +143,7 @@ export function protocolDatasetToAgentDataset(dataset, datasets) {
|
|
|
143
143
|
...optionalText(measure),
|
|
144
144
|
...snapshotSemanticMetadata(measure),
|
|
145
145
|
}))),
|
|
146
|
-
metrics: sortedByName(dataset.metrics.map(metric => ({
|
|
146
|
+
metrics: sortedByName((dataset.metrics ?? []).map(metric => ({
|
|
147
147
|
name: metric.name,
|
|
148
148
|
...optionalText(metric),
|
|
149
149
|
...snapshotSemanticMetadata(metric),
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
* comment is rejected structurally, so it cannot become a second statement or
|
|
21
21
|
* comment out the rest of a clause.
|
|
22
22
|
*/
|
|
23
|
-
import type { DatasetConfig,
|
|
23
|
+
import type { DatasetConfig, DatasetMeasureDefinition, DimensionDefinition, RelationshipDefinition } from '../types.js';
|
|
24
24
|
type AnyDimensions = Record<string, DimensionDefinition>;
|
|
25
|
-
type AnyMeasures = Record<string,
|
|
25
|
+
type AnyMeasures = Record<string, DatasetMeasureDefinition>;
|
|
26
26
|
type AnyRelationships = Record<string, RelationshipDefinition>;
|
|
27
27
|
/**
|
|
28
28
|
* Validates a dataset definition. Throws on the first problem found.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset-definition-validation.d.ts","sourceRoot":"","sources":["../../src/utils/dataset-definition-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"dataset-definition-validation.d.ts","sourceRoot":"","sources":["../../src/utils/dataset-definition-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAMrB,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AACzD,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;AAC5D,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AA+M/D;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,CAAC,aAAa,EAAE,WAAW,EAAE,gBAAgB,CAAC,GAClE,IAAI,CAwDN"}
|
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
* comment out the rest of a clause.
|
|
22
22
|
*/
|
|
23
23
|
import { escapeRegExp, isSafeSQLIdentifier, stripSqlLiterals } from '../sql-utils.js';
|
|
24
|
+
import { validateDerivedMeasures } from './derived-measure-validation.js';
|
|
25
|
+
import { isDerivedMeasure } from './dataset-measures.js';
|
|
24
26
|
import { validateDatasetAgentMetadata } from './semantic-metadata-validation.js';
|
|
25
27
|
/**
|
|
26
28
|
* Statement terminators and comment openers.
|
|
@@ -134,6 +136,14 @@ function validateDimensions(datasetName, dimensions) {
|
|
|
134
136
|
function validateMeasures(datasetName, measures, dimensions) {
|
|
135
137
|
for (const [name, definition] of Object.entries(measures)) {
|
|
136
138
|
assertSafeName(datasetName, 'measure', name);
|
|
139
|
+
if (typeof definition !== 'object' || definition === null) {
|
|
140
|
+
fail(datasetName, `measure "${name}" must be created with measure.*().`);
|
|
141
|
+
}
|
|
142
|
+
if (isDerivedMeasure(definition))
|
|
143
|
+
continue;
|
|
144
|
+
if (definition.__type !== 'measure_definition') {
|
|
145
|
+
fail(datasetName, `measure "${name}" must be created with measure.*().`);
|
|
146
|
+
}
|
|
137
147
|
if (definition.sql !== undefined) {
|
|
138
148
|
validateRawSql(datasetName, 'measure', name, definition.sql, definition.dependencies);
|
|
139
149
|
}
|
|
@@ -209,7 +219,9 @@ export function validateDatasetDefinition(name, config) {
|
|
|
209
219
|
// measure-only model is a legitimate thing to define.
|
|
210
220
|
const dimensions = config.dimensions ?? {};
|
|
211
221
|
validateDimensions(name, dimensions);
|
|
212
|
-
|
|
222
|
+
const measures = config.measures ?? {};
|
|
223
|
+
validateDerivedMeasures(name, measures);
|
|
224
|
+
validateMeasures(name, measures, dimensions);
|
|
213
225
|
validateLimits(name, config.limits);
|
|
214
226
|
validateDatasetAgentMetadata(name, config);
|
|
215
227
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AnyDatasetInstance, DatasetQuery, DatasetQueryResult } from '../types.js';
|
|
2
|
+
import type { QueryBuilderLike } from '../query-builder-protocol.js';
|
|
3
|
+
import type { DatasetQueryExecutionOptions } from '../dataset-query.js';
|
|
4
|
+
type BuildBaseQuery = (dataset: AnyDatasetInstance, query: DatasetQuery, options: DatasetQueryExecutionOptions) => QueryBuilderLike;
|
|
5
|
+
export declare function hasSelectedDerivedMeasure(ds: AnyDatasetInstance, query: DatasetQuery): boolean;
|
|
6
|
+
export declare function buildDerivedDatasetSql(ds: AnyDatasetInstance, query: DatasetQuery, options: DatasetQueryExecutionOptions, buildBaseQuery: BuildBaseQuery): {
|
|
7
|
+
sql: string;
|
|
8
|
+
parameters: unknown[];
|
|
9
|
+
};
|
|
10
|
+
export declare function runDerivedDatasetQuery(ds: AnyDatasetInstance, query: DatasetQuery, options: DatasetQueryExecutionOptions, buildBaseQuery: BuildBaseQuery): Promise<DatasetQueryResult>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=dataset-derived-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataset-derived-query.d.ts","sourceRoot":"","sources":["../../src/utils/dataset-derived-query.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,kBAAkB,EAA4B,MAAM,aAAa,CAAC;AAClH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKrE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAExE,KAAK,cAAc,GAAG,CACpB,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,4BAA4B,KAClC,gBAAgB,CAAC;AAEtB,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAE9F;AA6CD,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,kBAAkB,EACtB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,4BAA4B,EACrC,cAAc,EAAE,cAAc,GAC7B;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,EAAE,CAAA;CAAE,CA2CxC;AAED,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,kBAAkB,EACtB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,4BAA4B,EACrC,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAgB7B"}
|