@hypequery/serve 0.21.0 → 0.23.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/builder.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/openapi.d.ts.map +1 -1
- package/dist/openapi.js +11 -0
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/query-coercion.d.ts +2 -2
- package/dist/query-coercion.d.ts.map +1 -1
- package/dist/query-coercion.js +33 -1
- package/dist/semantic/datasets/dataset-endpoint.d.ts +7 -88
- package/dist/semantic/datasets/dataset-endpoint.d.ts.map +1 -1
- package/dist/semantic/datasets/dataset-endpoint.js +8 -3
- package/dist/semantic/datasets/metric-endpoint.d.ts +7 -88
- package/dist/semantic/datasets/metric-endpoint.d.ts.map +1 -1
- package/dist/semantic/datasets/metric-endpoint.js +8 -3
- package/dist/semantic/datasets/utils/related-dataset-policy.d.ts +33 -0
- package/dist/semantic/datasets/utils/related-dataset-policy.d.ts.map +1 -0
- package/dist/semantic/datasets/utils/related-dataset-policy.js +71 -0
- package/dist/semantic/datasets/utils/semantic-input-schema.d.ts +2 -2
- package/dist/semantic/datasets/utils/semantic-input-schema.d.ts.map +1 -1
- package/dist/semantic/datasets/utils/semantic-input-schema.js +2 -2
- package/dist/serve.d.ts +3 -4
- package/dist/serve.d.ts.map +1 -1
- package/dist/server/create-api.d.ts.map +1 -1
- package/dist/server/create-api.js +7 -2
- package/dist/type-tests/builder.test-d.d.ts +1 -5
- package/dist/type-tests/builder.test-d.d.ts.map +1 -1
- package/dist/type-tests/resolver-input.test-d.d.ts +5 -19
- package/dist/type-tests/resolver-input.test-d.d.ts.map +1 -1
- package/dist/type-tests/semantic.test-d.js +19 -1
- package/dist/types.d.ts +42 -15
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -6
package/dist/builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EAEX,qBAAqB,EAUtB,MAAM,YAAY,CAAC;AA0BpB,eAAO,MAAM,sBAAsB,GACjC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,KAAK,SAAS,WAAW,OACtB,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAiEzC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export type { CacheObservability, CacheLayerStats, BuilderCacheLike } from "./ca
|
|
|
23
23
|
* builders it converts. Kept here because it is a shipped export of this
|
|
24
24
|
* package and removing it would break importers for no benefit.
|
|
25
25
|
*/
|
|
26
|
-
export { ProtocolSchemaAdapterError, zodToProtocolSchema } from '@hypequery/datasets';
|
|
26
|
+
export { ProtocolSchemaAdapterError, zodToProtocolSchema } from '@hypequery/datasets/schemas';
|
|
27
27
|
/** @deprecated Import from `@hypequery/serve/dev` instead. */
|
|
28
28
|
export { serveDev } from "./dev.js";
|
|
29
29
|
export * from "./serve.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACtF,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACxF,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACtG;;;;GAIG;AACH,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACtF,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACxF,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACtG;;;;GAIG;AACH,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAC9F,8DAA8D;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -21,7 +21,7 @@ export { createCacheObservability, detectBuilderCache } from "./cache-observabil
|
|
|
21
21
|
* builders it converts. Kept here because it is a shipped export of this
|
|
22
22
|
* package and removing it would break importers for no benefit.
|
|
23
23
|
*/
|
|
24
|
-
export { ProtocolSchemaAdapterError, zodToProtocolSchema } from '@hypequery/datasets';
|
|
24
|
+
export { ProtocolSchemaAdapterError, zodToProtocolSchema } from '@hypequery/datasets/schemas';
|
|
25
25
|
/** @deprecated Import from `@hypequery/serve/dev` instead. */
|
|
26
26
|
export { serveDev } from "./dev.js";
|
|
27
27
|
export * from "./serve.js";
|
package/dist/openapi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAiN9F,eAAO,MAAM,oBAAoB,GAC/B,WAAW,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAC9C,UAAU,cAAc,KACvB,eAyCF,CAAC"}
|
package/dist/openapi.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { isZod4Schema } from "@hypequery/datasets/internal";
|
|
2
|
+
import { z } from "zod";
|
|
1
3
|
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
2
4
|
const ERROR_SCHEMA = {
|
|
3
5
|
type: "object",
|
|
@@ -65,6 +67,15 @@ const toJsonSchema = (schema, name) => {
|
|
|
65
67
|
if (!schema) {
|
|
66
68
|
return { type: "object" };
|
|
67
69
|
}
|
|
70
|
+
// `zod-to-json-schema` only reads Zod 3; Zod 4 ships its own generator.
|
|
71
|
+
if (isZod4Schema(schema)) {
|
|
72
|
+
const { $schema: _schema, ...jsonSchema } = z.toJSONSchema(schema, {
|
|
73
|
+
target: "openapi-3.0",
|
|
74
|
+
io: "input",
|
|
75
|
+
unrepresentable: "any",
|
|
76
|
+
});
|
|
77
|
+
return removeDefinitions(jsonSchema);
|
|
78
|
+
}
|
|
68
79
|
const jsonSchema = zodToJsonSchema(schema, {
|
|
69
80
|
target: "openApi3",
|
|
70
81
|
name,
|
package/dist/pipeline.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
|
package/dist/query-coercion.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ServeSchema } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Returns a copy of `raw` with values coerced toward `schema`. Returns `raw`
|
|
4
4
|
* untouched when the schema is absent, is not an object schema, or when the
|
|
5
5
|
* payload is not a plain object.
|
|
6
6
|
*/
|
|
7
|
-
export declare function coerceQueryInput(schema:
|
|
7
|
+
export declare function coerceQueryInput(schema: ServeSchema | undefined, raw: unknown): unknown;
|
|
8
8
|
//# sourceMappingURL=query-coercion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-coercion.d.ts","sourceRoot":"","sources":["../src/query-coercion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query-coercion.d.ts","sourceRoot":"","sources":["../src/query-coercion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAuI9C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAkCvF"}
|
package/dist/query-coercion.js
CHANGED
|
@@ -1,4 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
import { isZod4Schema } from "@hypequery/datasets/internal";
|
|
2
|
+
/** Zod 4 definition types, named as the Zod 3 types this module switches on. */
|
|
3
|
+
const ZOD4_TYPE_NAMES = {
|
|
4
|
+
optional: "ZodOptional",
|
|
5
|
+
nonoptional: "ZodOptional",
|
|
6
|
+
nullable: "ZodNullable",
|
|
7
|
+
default: "ZodDefault",
|
|
8
|
+
prefault: "ZodDefault",
|
|
9
|
+
catch: "ZodCatch",
|
|
10
|
+
readonly: "ZodReadonly",
|
|
11
|
+
pipe: "ZodPipeline",
|
|
12
|
+
number: "ZodNumber",
|
|
13
|
+
bigint: "ZodBigInt",
|
|
14
|
+
boolean: "ZodBoolean",
|
|
15
|
+
date: "ZodDate",
|
|
16
|
+
array: "ZodArray",
|
|
17
|
+
object: "ZodObject",
|
|
18
|
+
never: "ZodNever",
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* A schema's definition in Zod 3 form. Zod 4 keeps refinements on the schema
|
|
22
|
+
* itself and expresses preprocess as a pipe out of a transform, so that pipe
|
|
23
|
+
* is reported as a preprocess effect and stays wrapped.
|
|
24
|
+
*/
|
|
25
|
+
const defOf = (schema) => {
|
|
26
|
+
if (!isZod4Schema(schema))
|
|
27
|
+
return schema?._def;
|
|
28
|
+
const def = schema._zod.def;
|
|
29
|
+
if (def.type === "pipe" && isZod4Schema(def.in) && def.in._zod.def.type === "transform") {
|
|
30
|
+
return { typeName: "ZodEffects", effect: { type: "preprocess" } };
|
|
31
|
+
}
|
|
32
|
+
return { ...def, typeName: ZOD4_TYPE_NAMES[def.type] ?? def.type, type: def.element };
|
|
33
|
+
};
|
|
2
34
|
const typeNameOf = (schema) => defOf(schema)?.typeName;
|
|
3
35
|
/**
|
|
4
36
|
* Strips wrappers that do not change what a query value should be coerced to.
|
|
@@ -12,9 +12,10 @@ import { z } from 'zod';
|
|
|
12
12
|
import type { AuthContext, ServeEndpoint } from '../../types.js';
|
|
13
13
|
import type { DatasetClient, QueryBuilderFactoryLike } from '@hypequery/datasets';
|
|
14
14
|
import { type DatasetEntry } from './utils/dataset-entry.js';
|
|
15
|
+
import { type RelatedDatasetPolicies } from './utils/related-dataset-policy.js';
|
|
15
16
|
export type { DatasetEntry } from './utils/dataset-entry.js';
|
|
16
17
|
declare const datasetResultSchema: z.ZodObject<{
|
|
17
|
-
data: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown
|
|
18
|
+
data: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
18
19
|
meta: z.ZodOptional<z.ZodObject<{
|
|
19
20
|
timingMs: z.ZodOptional<z.ZodNumber>;
|
|
20
21
|
sql: z.ZodOptional<z.ZodString>;
|
|
@@ -24,95 +25,13 @@ declare const datasetResultSchema: z.ZodObject<{
|
|
|
24
25
|
limit: z.ZodNumber;
|
|
25
26
|
offset: z.ZodNumber;
|
|
26
27
|
hasMore: z.ZodBoolean;
|
|
27
|
-
},
|
|
28
|
-
limit: number;
|
|
29
|
-
offset: number;
|
|
30
|
-
hasMore: boolean;
|
|
31
|
-
}, {
|
|
32
|
-
limit: number;
|
|
33
|
-
offset: number;
|
|
34
|
-
hasMore: boolean;
|
|
35
|
-
}>>;
|
|
28
|
+
}, z.core.$strip>>;
|
|
36
29
|
cache: z.ZodOptional<z.ZodObject<{
|
|
37
30
|
hit: z.ZodBoolean;
|
|
38
31
|
ageMs: z.ZodOptional<z.ZodNumber>;
|
|
39
32
|
stale: z.ZodOptional<z.ZodBoolean>;
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}, {
|
|
45
|
-
hit: boolean;
|
|
46
|
-
ageMs?: number | undefined;
|
|
47
|
-
stale?: boolean | undefined;
|
|
48
|
-
}>>;
|
|
49
|
-
}, "strip", z.ZodTypeAny, {
|
|
50
|
-
timingMs?: number | undefined;
|
|
51
|
-
rowCount?: number | undefined;
|
|
52
|
-
pagination?: {
|
|
53
|
-
limit: number;
|
|
54
|
-
offset: number;
|
|
55
|
-
hasMore: boolean;
|
|
56
|
-
} | undefined;
|
|
57
|
-
cache?: {
|
|
58
|
-
hit: boolean;
|
|
59
|
-
ageMs?: number | undefined;
|
|
60
|
-
stale?: boolean | undefined;
|
|
61
|
-
} | undefined;
|
|
62
|
-
sql?: string | undefined;
|
|
63
|
-
tenant?: string | undefined;
|
|
64
|
-
}, {
|
|
65
|
-
timingMs?: number | undefined;
|
|
66
|
-
rowCount?: number | undefined;
|
|
67
|
-
pagination?: {
|
|
68
|
-
limit: number;
|
|
69
|
-
offset: number;
|
|
70
|
-
hasMore: boolean;
|
|
71
|
-
} | undefined;
|
|
72
|
-
cache?: {
|
|
73
|
-
hit: boolean;
|
|
74
|
-
ageMs?: number | undefined;
|
|
75
|
-
stale?: boolean | undefined;
|
|
76
|
-
} | undefined;
|
|
77
|
-
sql?: string | undefined;
|
|
78
|
-
tenant?: string | undefined;
|
|
79
|
-
}>>;
|
|
80
|
-
}, "strip", z.ZodTypeAny, {
|
|
81
|
-
data: Record<string, unknown>[];
|
|
82
|
-
meta?: {
|
|
83
|
-
timingMs?: number | undefined;
|
|
84
|
-
rowCount?: number | undefined;
|
|
85
|
-
pagination?: {
|
|
86
|
-
limit: number;
|
|
87
|
-
offset: number;
|
|
88
|
-
hasMore: boolean;
|
|
89
|
-
} | undefined;
|
|
90
|
-
cache?: {
|
|
91
|
-
hit: boolean;
|
|
92
|
-
ageMs?: number | undefined;
|
|
93
|
-
stale?: boolean | undefined;
|
|
94
|
-
} | undefined;
|
|
95
|
-
sql?: string | undefined;
|
|
96
|
-
tenant?: string | undefined;
|
|
97
|
-
} | undefined;
|
|
98
|
-
}, {
|
|
99
|
-
data: Record<string, unknown>[];
|
|
100
|
-
meta?: {
|
|
101
|
-
timingMs?: number | undefined;
|
|
102
|
-
rowCount?: number | undefined;
|
|
103
|
-
pagination?: {
|
|
104
|
-
limit: number;
|
|
105
|
-
offset: number;
|
|
106
|
-
hasMore: boolean;
|
|
107
|
-
} | undefined;
|
|
108
|
-
cache?: {
|
|
109
|
-
hit: boolean;
|
|
110
|
-
ageMs?: number | undefined;
|
|
111
|
-
stale?: boolean | undefined;
|
|
112
|
-
} | undefined;
|
|
113
|
-
sql?: string | undefined;
|
|
114
|
-
tenant?: string | undefined;
|
|
115
|
-
} | undefined;
|
|
116
|
-
}>;
|
|
117
|
-
export declare function createDatasetEndpoint<TAuth extends AuthContext>(name: string, entry: DatasetEntry<TAuth>, analytics: DatasetClient, builderFactory: QueryBuilderFactoryLike): ServeEndpoint<z.ZodTypeAny, typeof datasetResultSchema, any, TAuth, any>;
|
|
33
|
+
}, z.core.$strip>>;
|
|
34
|
+
}, z.core.$strip>>;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
export declare function createDatasetEndpoint<TAuth extends AuthContext>(name: string, entry: DatasetEntry<TAuth>, analytics: DatasetClient, builderFactory: QueryBuilderFactoryLike, relatedPolicies?: RelatedDatasetPolicies): ServeEndpoint<z.ZodTypeAny, typeof datasetResultSchema, any, TAuth, any>;
|
|
118
37
|
//# sourceMappingURL=dataset-endpoint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset-endpoint.d.ts","sourceRoot":"","sources":["../../../src/semantic/datasets/dataset-endpoint.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,WAAW,EAGX,aAAa,EAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"dataset-endpoint.d.ts","sourceRoot":"","sources":["../../../src/semantic/datasets/dataset-endpoint.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,WAAW,EAGX,aAAa,EAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElF,OAAO,EAA8B,KAAK,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE5G,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAuB7D,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;iBAGvB,CAAC;AAMH,wBAAgB,qBAAqB,CAAC,KAAK,SAAS,WAAW,EAC7D,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAC1B,SAAS,EAAE,aAAa,EACxB,cAAc,EAAE,uBAAuB,EACvC,eAAe,CAAC,EAAE,sBAAsB,GACvC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,mBAAmB,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CA2H1E"}
|
|
@@ -10,12 +10,13 @@ import { semanticResponseMeta } from './utils/semantic-response-meta.js';
|
|
|
10
10
|
* - Returns { data } or { data, meta } based on headers
|
|
11
11
|
*/
|
|
12
12
|
import { z } from 'zod';
|
|
13
|
-
import { buildDatasetInputSchema } from '@hypequery/datasets';
|
|
13
|
+
import { buildDatasetInputSchema } from '@hypequery/datasets/schemas';
|
|
14
14
|
import { ServeHttpError } from '../../errors.js';
|
|
15
15
|
import { resolveSemanticExecutionRuntime, resolveSemanticQueryBuilder, } from '../query-builder-context.js';
|
|
16
16
|
import { buildDatasetQueryDescription } from './utils/dataset-query-metadata.js';
|
|
17
17
|
import { resolveDatasetEntry } from './utils/dataset-entry.js';
|
|
18
18
|
import { resolveLocalAuthRequirement } from '../../auth-requirement.js';
|
|
19
|
+
import { assertRelatedDatasetAccess } from './utils/related-dataset-policy.js';
|
|
19
20
|
// ---------------------------------------------------------------------------
|
|
20
21
|
// Zod schemas for dataset query input / output
|
|
21
22
|
// ---------------------------------------------------------------------------
|
|
@@ -36,13 +37,13 @@ const datasetResultMetaSchema = z.object({
|
|
|
36
37
|
}).optional(),
|
|
37
38
|
}).optional();
|
|
38
39
|
const datasetResultSchema = z.object({
|
|
39
|
-
data: z.array(z.record(z.unknown())),
|
|
40
|
+
data: z.array(z.record(z.string(), z.unknown())),
|
|
40
41
|
meta: datasetResultMetaSchema,
|
|
41
42
|
});
|
|
42
43
|
// ---------------------------------------------------------------------------
|
|
43
44
|
// Factory
|
|
44
45
|
// ---------------------------------------------------------------------------
|
|
45
|
-
export function createDatasetEndpoint(name, entry, analytics, builderFactory) {
|
|
46
|
+
export function createDatasetEndpoint(name, entry, analytics, builderFactory, relatedPolicies) {
|
|
46
47
|
const resolved = resolveDatasetEntry(entry);
|
|
47
48
|
const ds = resolved.dataset;
|
|
48
49
|
const effectiveMaxLimit = resolved.maxLimit ?? ds.limits?.maxResultSize ?? 1000;
|
|
@@ -52,6 +53,8 @@ export function createDatasetEndpoint(name, entry, analytics, builderFactory) {
|
|
|
52
53
|
includeMeta: true,
|
|
53
54
|
// Serve executes through the dataset client, which applies conditions.
|
|
54
55
|
having: true,
|
|
56
|
+
// ...and passes the selected time axis through to it.
|
|
57
|
+
timeKey: true,
|
|
55
58
|
requireSelection: false,
|
|
56
59
|
enforceResultLimit: false,
|
|
57
60
|
maxOffset: undefined,
|
|
@@ -92,8 +95,10 @@ export function createDatasetEndpoint(name, entry, analytics, builderFactory) {
|
|
|
92
95
|
limit: Math.min(input.limit ?? effectiveMaxLimit, effectiveMaxLimit),
|
|
93
96
|
offset: input.offset,
|
|
94
97
|
by: input.by,
|
|
98
|
+
timeKey: input.timeKey,
|
|
95
99
|
timezone: input.timezone,
|
|
96
100
|
};
|
|
101
|
+
assertRelatedDatasetAccess(ds, query, ctx.auth ?? null, relatedPolicies);
|
|
97
102
|
const validationContext = runtime ? { runtime } : undefined;
|
|
98
103
|
const validation = analytics.validate(ds, query, validationContext);
|
|
99
104
|
if (!validation.valid) {
|
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
import { z } from 'zod';
|
|
10
10
|
import type { AuthContext, AuthStrategy, MetricEntry, ServeEndpoint, ServeMiddleware, TenantConfigOverride } from '../../types.js';
|
|
11
11
|
import { type DatasetClient, type MetricHandle, type QueryBuilderFactoryLike } from '@hypequery/datasets';
|
|
12
|
+
import { type RelatedDatasetPolicies } from './utils/related-dataset-policy.js';
|
|
12
13
|
declare const metricResultSchema: z.ZodObject<{
|
|
13
|
-
data: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown
|
|
14
|
+
data: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
14
15
|
meta: z.ZodOptional<z.ZodObject<{
|
|
15
16
|
timingMs: z.ZodOptional<z.ZodNumber>;
|
|
16
17
|
sql: z.ZodOptional<z.ZodString>;
|
|
@@ -20,96 +21,14 @@ declare const metricResultSchema: z.ZodObject<{
|
|
|
20
21
|
limit: z.ZodNumber;
|
|
21
22
|
offset: z.ZodNumber;
|
|
22
23
|
hasMore: z.ZodBoolean;
|
|
23
|
-
},
|
|
24
|
-
limit: number;
|
|
25
|
-
offset: number;
|
|
26
|
-
hasMore: boolean;
|
|
27
|
-
}, {
|
|
28
|
-
limit: number;
|
|
29
|
-
offset: number;
|
|
30
|
-
hasMore: boolean;
|
|
31
|
-
}>>;
|
|
24
|
+
}, z.core.$strip>>;
|
|
32
25
|
cache: z.ZodOptional<z.ZodObject<{
|
|
33
26
|
hit: z.ZodBoolean;
|
|
34
27
|
ageMs: z.ZodOptional<z.ZodNumber>;
|
|
35
28
|
stale: z.ZodOptional<z.ZodBoolean>;
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
stale?: boolean | undefined;
|
|
40
|
-
}, {
|
|
41
|
-
hit: boolean;
|
|
42
|
-
ageMs?: number | undefined;
|
|
43
|
-
stale?: boolean | undefined;
|
|
44
|
-
}>>;
|
|
45
|
-
}, "strip", z.ZodTypeAny, {
|
|
46
|
-
timingMs?: number | undefined;
|
|
47
|
-
rowCount?: number | undefined;
|
|
48
|
-
pagination?: {
|
|
49
|
-
limit: number;
|
|
50
|
-
offset: number;
|
|
51
|
-
hasMore: boolean;
|
|
52
|
-
} | undefined;
|
|
53
|
-
cache?: {
|
|
54
|
-
hit: boolean;
|
|
55
|
-
ageMs?: number | undefined;
|
|
56
|
-
stale?: boolean | undefined;
|
|
57
|
-
} | undefined;
|
|
58
|
-
sql?: string | undefined;
|
|
59
|
-
tenant?: string | undefined;
|
|
60
|
-
}, {
|
|
61
|
-
timingMs?: number | undefined;
|
|
62
|
-
rowCount?: number | undefined;
|
|
63
|
-
pagination?: {
|
|
64
|
-
limit: number;
|
|
65
|
-
offset: number;
|
|
66
|
-
hasMore: boolean;
|
|
67
|
-
} | undefined;
|
|
68
|
-
cache?: {
|
|
69
|
-
hit: boolean;
|
|
70
|
-
ageMs?: number | undefined;
|
|
71
|
-
stale?: boolean | undefined;
|
|
72
|
-
} | undefined;
|
|
73
|
-
sql?: string | undefined;
|
|
74
|
-
tenant?: string | undefined;
|
|
75
|
-
}>>;
|
|
76
|
-
}, "strip", z.ZodTypeAny, {
|
|
77
|
-
data: Record<string, unknown>[];
|
|
78
|
-
meta?: {
|
|
79
|
-
timingMs?: number | undefined;
|
|
80
|
-
rowCount?: number | undefined;
|
|
81
|
-
pagination?: {
|
|
82
|
-
limit: number;
|
|
83
|
-
offset: number;
|
|
84
|
-
hasMore: boolean;
|
|
85
|
-
} | undefined;
|
|
86
|
-
cache?: {
|
|
87
|
-
hit: boolean;
|
|
88
|
-
ageMs?: number | undefined;
|
|
89
|
-
stale?: boolean | undefined;
|
|
90
|
-
} | undefined;
|
|
91
|
-
sql?: string | undefined;
|
|
92
|
-
tenant?: string | undefined;
|
|
93
|
-
} | undefined;
|
|
94
|
-
}, {
|
|
95
|
-
data: Record<string, unknown>[];
|
|
96
|
-
meta?: {
|
|
97
|
-
timingMs?: number | undefined;
|
|
98
|
-
rowCount?: number | undefined;
|
|
99
|
-
pagination?: {
|
|
100
|
-
limit: number;
|
|
101
|
-
offset: number;
|
|
102
|
-
hasMore: boolean;
|
|
103
|
-
} | undefined;
|
|
104
|
-
cache?: {
|
|
105
|
-
hit: boolean;
|
|
106
|
-
ageMs?: number | undefined;
|
|
107
|
-
stale?: boolean | undefined;
|
|
108
|
-
} | undefined;
|
|
109
|
-
sql?: string | undefined;
|
|
110
|
-
tenant?: string | undefined;
|
|
111
|
-
} | undefined;
|
|
112
|
-
}>;
|
|
29
|
+
}, z.core.$strip>>;
|
|
30
|
+
}, z.core.$strip>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
113
32
|
export declare function resolveMetricEntry<TAuth extends AuthContext>(entry: MetricEntry<TAuth>): {
|
|
114
33
|
metric: MetricHandle<any, any>;
|
|
115
34
|
auth?: AuthStrategy<TAuth> | null;
|
|
@@ -123,6 +42,6 @@ export declare function resolveMetricEntry<TAuth extends AuthContext>(entry: Met
|
|
|
123
42
|
/** Enable SQL and internal tenant IDs in opt-in metadata only on trusted endpoints. */
|
|
124
43
|
trustedDiagnostics?: boolean;
|
|
125
44
|
};
|
|
126
|
-
export declare function createMetricEndpoint<TAuth extends AuthContext>(name: string, entry: MetricEntry<TAuth>, analytics: DatasetClient, defaultBuilderFactory: QueryBuilderFactoryLike): ServeEndpoint<z.ZodTypeAny, typeof metricResultSchema, any, TAuth, any>;
|
|
45
|
+
export declare function createMetricEndpoint<TAuth extends AuthContext>(name: string, entry: MetricEntry<TAuth>, analytics: DatasetClient, defaultBuilderFactory: QueryBuilderFactoryLike, relatedPolicies?: RelatedDatasetPolicies): ServeEndpoint<z.ZodTypeAny, typeof metricResultSchema, any, TAuth, any>;
|
|
127
46
|
export {};
|
|
128
47
|
//# sourceMappingURL=metric-endpoint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric-endpoint.d.ts","sourceRoot":"","sources":["../../../src/semantic/datasets/metric-endpoint.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EAGZ,WAAW,EACX,aAAa,EACb,eAAe,EACf,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"metric-endpoint.d.ts","sourceRoot":"","sources":["../../../src/semantic/datasets/metric-endpoint.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EAGZ,WAAW,EACX,aAAa,EACb,eAAe,EACf,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAA8B,KAAK,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAuB5G,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;iBAGtB,CAAC;AAyBH,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,WAAW,EAC1D,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GACxB;IACD,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAUA;AAMD,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,WAAW,EAC5D,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EACzB,SAAS,EAAE,aAAa,EACxB,qBAAqB,EAAE,uBAAuB,EAC9C,eAAe,CAAC,EAAE,sBAAsB,GACvC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,kBAAkB,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CA8HzE"}
|
|
@@ -8,10 +8,11 @@ import { semanticResponseMeta } from './utils/semantic-response-meta.js';
|
|
|
8
8
|
* - Returns { data } or { data, meta } based on headers
|
|
9
9
|
*/
|
|
10
10
|
import { z } from 'zod';
|
|
11
|
-
import { buildMetricInputSchema
|
|
11
|
+
import { buildMetricInputSchema } from '@hypequery/datasets/schemas';
|
|
12
12
|
import { ServeHttpError } from '../../errors.js';
|
|
13
13
|
import { resolveSemanticExecutionRuntime, resolveSemanticQueryBuilder, } from '../query-builder-context.js';
|
|
14
14
|
import { resolveLocalAuthRequirement } from '../../auth-requirement.js';
|
|
15
|
+
import { assertRelatedDatasetAccess } from './utils/related-dataset-policy.js';
|
|
15
16
|
// ---------------------------------------------------------------------------
|
|
16
17
|
// Zod schemas for metric query input / output
|
|
17
18
|
// ---------------------------------------------------------------------------
|
|
@@ -32,7 +33,7 @@ const metricResultMetaSchema = z.object({
|
|
|
32
33
|
}).optional(),
|
|
33
34
|
}).optional();
|
|
34
35
|
const metricResultSchema = z.object({
|
|
35
|
-
data: z.array(z.record(z.unknown())),
|
|
36
|
+
data: z.array(z.record(z.string(), z.unknown())),
|
|
36
37
|
meta: metricResultMetaSchema,
|
|
37
38
|
});
|
|
38
39
|
function isMetricHandleEntry(entry) {
|
|
@@ -56,7 +57,7 @@ export function resolveMetricEntry(entry) {
|
|
|
56
57
|
// ---------------------------------------------------------------------------
|
|
57
58
|
// Factory
|
|
58
59
|
// ---------------------------------------------------------------------------
|
|
59
|
-
export function createMetricEndpoint(name, entry, analytics, defaultBuilderFactory) {
|
|
60
|
+
export function createMetricEndpoint(name, entry, analytics, defaultBuilderFactory, relatedPolicies) {
|
|
60
61
|
const resolved = resolveMetricEntry(entry);
|
|
61
62
|
const metricRef = resolved.metric;
|
|
62
63
|
const contract = metricRef.contract();
|
|
@@ -68,6 +69,7 @@ export function createMetricEndpoint(name, entry, analytics, defaultBuilderFacto
|
|
|
68
69
|
const effectiveMaxLimit = resolved.maxLimit ?? ds.limits?.maxResultSize ?? 1000;
|
|
69
70
|
const metricQueryInputSchema = buildMetricInputSchema(ds, contract.name, {
|
|
70
71
|
includeMeta: true,
|
|
72
|
+
timeKey: true,
|
|
71
73
|
enforceResultLimit: false,
|
|
72
74
|
maxOffset: undefined,
|
|
73
75
|
maxDimensions: undefined,
|
|
@@ -105,8 +107,11 @@ export function createMetricEndpoint(name, entry, analytics, defaultBuilderFacto
|
|
|
105
107
|
limit: Math.min(input.limit ?? effectiveMaxLimit, effectiveMaxLimit),
|
|
106
108
|
offset: input.offset,
|
|
107
109
|
by: input.by,
|
|
110
|
+
timeKey: input.timeKey,
|
|
108
111
|
timezone: input.timezone,
|
|
109
112
|
};
|
|
113
|
+
// The metric's own filters are local; only the request can reach a relationship.
|
|
114
|
+
assertRelatedDatasetAccess(ds, { ...query, measures: [] }, ctx.auth ?? null, relatedPolicies);
|
|
110
115
|
if (ctx.tenantId && !runtime?.tenant) {
|
|
111
116
|
throw new ServeHttpError(500, 'INTERNAL_SERVER_ERROR', `Metric endpoint "${name}" requires serve tenant runtime when tenant isolation is enabled.`);
|
|
112
117
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { AnyDatasetInstance, DatasetQuery } from '@hypequery/datasets';
|
|
2
|
+
import type { AuthContext } from '../../../types.js';
|
|
3
|
+
import { type DatasetEntry } from './dataset-entry.js';
|
|
4
|
+
/** The access rules of one dataset entry, as its own endpoint enforces them. */
|
|
5
|
+
interface DatasetAccessPolicy {
|
|
6
|
+
requiresAuth: boolean;
|
|
7
|
+
requiredRoles: readonly string[];
|
|
8
|
+
requiredScopes: readonly string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Policies of the served dataset entries, by dataset object: a relationship
|
|
12
|
+
* reads one specific definition, and two definitions may share a name. A
|
|
13
|
+
* dataset served by several entries is readable through a relationship when
|
|
14
|
+
* any one admits the caller.
|
|
15
|
+
*/
|
|
16
|
+
export interface RelatedDatasetPolicies {
|
|
17
|
+
readonly byDataset: ReadonlyMap<AnyDatasetInstance, readonly DatasetAccessPolicy[]>;
|
|
18
|
+
readonly byName: ReadonlyMap<string, readonly DatasetAccessPolicy[]>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* *globalAuth* says whether the API has global auth strategies; an entry with
|
|
22
|
+
* no local requirement inherits them, as its own endpoint does.
|
|
23
|
+
*/
|
|
24
|
+
export declare function collectRelatedDatasetPolicies(entries: Readonly<Record<string, DatasetEntry<any>>>, globalAuth?: boolean): RelatedDatasetPolicies;
|
|
25
|
+
/**
|
|
26
|
+
* An endpoint's roles and scopes gate that endpoint, not the datasets its
|
|
27
|
+
* relationships reach. When a query reads a related dataset that is itself
|
|
28
|
+
* served, the caller must also satisfy that dataset's own endpoint policy;
|
|
29
|
+
* related datasets that are not served stay readable through the relationship.
|
|
30
|
+
*/
|
|
31
|
+
export declare function assertRelatedDatasetAccess(dataset: AnyDatasetInstance, query: DatasetQuery, auth: AuthContext | null, policies: RelatedDatasetPolicies | undefined): void;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=related-dataset-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"related-dataset-policy.d.ts","sourceRoot":"","sources":["../../../../src/semantic/datasets/utils/related-dataset-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAK5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE5E,gFAAgF;AAChF,UAAU,mBAAmB;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,kBAAkB,EAAE,SAAS,mBAAmB,EAAE,CAAC,CAAC;IACpF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC,CAAC;CACtE;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EACpD,UAAU,UAAQ,GACjB,sBAAsB,CAcxB;AA8BD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,WAAW,GAAG,IAAI,EACxB,QAAQ,EAAE,sBAAsB,GAAG,SAAS,GAC3C,IAAI,CAYN"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { queryFieldReferences } from '@hypequery/datasets/internal';
|
|
2
|
+
import { checkRoleAuthorization, checkScopeAuthorization } from '../../../auth.js';
|
|
3
|
+
import { resolveLocalAuthRequirement } from '../../../auth-requirement.js';
|
|
4
|
+
import { ServeHttpError } from '../../../errors.js';
|
|
5
|
+
import { resolveDatasetEntry } from './dataset-entry.js';
|
|
6
|
+
/**
|
|
7
|
+
* *globalAuth* says whether the API has global auth strategies; an entry with
|
|
8
|
+
* no local requirement inherits them, as its own endpoint does.
|
|
9
|
+
*/
|
|
10
|
+
export function collectRelatedDatasetPolicies(entries, globalAuth = false) {
|
|
11
|
+
const byDataset = new Map();
|
|
12
|
+
const byName = new Map();
|
|
13
|
+
for (const entry of Object.values(entries)) {
|
|
14
|
+
const resolved = resolveDatasetEntry(entry);
|
|
15
|
+
const policy = {
|
|
16
|
+
requiresAuth: resolveLocalAuthRequirement(resolved) ?? globalAuth,
|
|
17
|
+
requiredRoles: resolved.requiredRoles ?? [],
|
|
18
|
+
requiredScopes: resolved.requiredScopes ?? [],
|
|
19
|
+
};
|
|
20
|
+
byDataset.set(resolved.dataset, [...(byDataset.get(resolved.dataset) ?? []), policy]);
|
|
21
|
+
byName.set(resolved.dataset.name, [...(byName.get(resolved.dataset.name) ?? []), policy]);
|
|
22
|
+
}
|
|
23
|
+
return { byDataset, byName };
|
|
24
|
+
}
|
|
25
|
+
function admits(policy, auth) {
|
|
26
|
+
if (policy.requiresAuth && !auth)
|
|
27
|
+
return false;
|
|
28
|
+
if (policy.requiredRoles.length > 0 && !checkRoleAuthorization(auth, [...policy.requiredRoles]).ok)
|
|
29
|
+
return false;
|
|
30
|
+
if (policy.requiredScopes.length > 0 && !checkScopeAuthorization(auth, [...policy.requiredScopes]).ok)
|
|
31
|
+
return false;
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
/** Relationship names a query reads through, including through measure filters and defaults. */
|
|
35
|
+
function referencedRelationships(dataset, query) {
|
|
36
|
+
const relationships = new Set();
|
|
37
|
+
for (const name of queryFieldReferences(dataset, query)) {
|
|
38
|
+
if (typeof name !== 'string' || !name.includes('.'))
|
|
39
|
+
continue;
|
|
40
|
+
const relation = name.slice(0, name.indexOf('.'));
|
|
41
|
+
if (Object.prototype.hasOwnProperty.call(dataset.relationships ?? {}, relation))
|
|
42
|
+
relationships.add(relation);
|
|
43
|
+
}
|
|
44
|
+
return relationships;
|
|
45
|
+
}
|
|
46
|
+
/** Whether *auth* may read *target* through a relationship. */
|
|
47
|
+
function admitsRelated(target, auth, policies) {
|
|
48
|
+
const served = policies.byDataset.get(target);
|
|
49
|
+
if (served)
|
|
50
|
+
return served.some(policy => admits(policy, auth));
|
|
51
|
+
// Not served itself, but another definition with its name is: hold the
|
|
52
|
+
// caller to every such entry rather than guess which one it stands for.
|
|
53
|
+
const namesake = policies.byName.get(target.name);
|
|
54
|
+
return !namesake || namesake.every(policy => admits(policy, auth));
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* An endpoint's roles and scopes gate that endpoint, not the datasets its
|
|
58
|
+
* relationships reach. When a query reads a related dataset that is itself
|
|
59
|
+
* served, the caller must also satisfy that dataset's own endpoint policy;
|
|
60
|
+
* related datasets that are not served stay readable through the relationship.
|
|
61
|
+
*/
|
|
62
|
+
export function assertRelatedDatasetAccess(dataset, query, auth, policies) {
|
|
63
|
+
if (!policies || policies.byName.size === 0)
|
|
64
|
+
return;
|
|
65
|
+
for (const relation of referencedRelationships(dataset, query)) {
|
|
66
|
+
const target = dataset.relationships[relation].target();
|
|
67
|
+
if (!admitsRelated(target, auth, policies)) {
|
|
68
|
+
throw new ServeHttpError(403, 'FORBIDDEN', `Access denied to fields of related dataset "${relation}".`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @deprecated Import these canonical schema builders from
|
|
3
|
-
* `@hypequery/datasets`. This compatibility module contains no schema logic.
|
|
3
|
+
* `@hypequery/datasets/schemas`. This compatibility module contains no schema logic.
|
|
4
4
|
*/
|
|
5
|
-
export { buildDatasetInputSchema, buildMetricInputSchema, } from '@hypequery/datasets';
|
|
5
|
+
export { buildDatasetInputSchema, buildMetricInputSchema, } from '@hypequery/datasets/schemas';
|
|
6
6
|
//# sourceMappingURL=semantic-input-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-input-schema.d.ts","sourceRoot":"","sources":["../../../../src/semantic/datasets/utils/semantic-input-schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"semantic-input-schema.d.ts","sourceRoot":"","sources":["../../../../src/semantic/datasets/utils/semantic-input-schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @deprecated Import these canonical schema builders from
|
|
3
|
-
* `@hypequery/datasets`. This compatibility module contains no schema logic.
|
|
3
|
+
* `@hypequery/datasets/schemas`. This compatibility module contains no schema logic.
|
|
4
4
|
*/
|
|
5
|
-
export { buildDatasetInputSchema, buildMetricInputSchema, } from '@hypequery/datasets';
|
|
5
|
+
export { buildDatasetInputSchema, buildMetricInputSchema, } from '@hypequery/datasets/schemas';
|
package/dist/serve.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import type { AuthContext, QueryObjectConfig, SchemaOutput, ServeBuilder, ServeConfig, ServeContextFactory, ServeEndpointMap, ServeSemanticEndpointMap, ServeQueriesMap, StandaloneQueryDefinition, MetricsConfig, DatasetsConfig } from "./types.js";
|
|
2
|
-
|
|
3
|
-
export declare const createQueryFactory: <TContext extends Record<string, unknown> = Record<string, unknown>, TAuth extends AuthContext = AuthContext>(contextFactory?: ServeContextFactory<TContext, TAuth>) => <TInputSchema extends ZodTypeAny | undefined = undefined, TOutputSchema extends ZodTypeAny | undefined = undefined, TResult = TOutputSchema extends ZodTypeAny ? SchemaOutput<TOutputSchema> : unknown>(config: QueryObjectConfig<TInputSchema, TOutputSchema, TContext, TAuth, TResult>) => StandaloneQueryDefinition<TInputSchema, TOutputSchema extends ZodTypeAny ? TOutputSchema : ZodTypeAny, TContext, TAuth, TResult>;
|
|
1
|
+
import type { AuthContext, QueryObjectConfig, SchemaOutput, ServeBuilder, ServeConfig, ServeContextFactory, ServeEndpointMap, ServeSemanticEndpointMap, ServeQueriesMap, StandaloneQueryDefinition, MetricsConfig, DatasetsConfig, ServeSchema } from "./types.js";
|
|
2
|
+
export declare const createQueryFactory: <TContext extends Record<string, unknown> = Record<string, unknown>, TAuth extends AuthContext = AuthContext>(contextFactory?: ServeContextFactory<TContext, TAuth>) => <TInputSchema extends ServeSchema | undefined = undefined, TOutputSchema extends ServeSchema | undefined = undefined, TResult = TOutputSchema extends ServeSchema ? SchemaOutput<TOutputSchema> : unknown>(config: QueryObjectConfig<TInputSchema, TOutputSchema, TContext, TAuth, TResult>) => StandaloneQueryDefinition<TInputSchema, TOutputSchema extends ServeSchema ? TOutputSchema : ServeSchema, TContext, TAuth, TResult>;
|
|
4
3
|
/**
|
|
5
4
|
* Create a reusable query definition that can execute in-process or be served via HTTP.
|
|
6
5
|
*
|
|
7
6
|
* Use `initServe()` when you want shared context passed once for both local execution and HTTP wiring.
|
|
8
7
|
*/
|
|
9
|
-
export declare const query: <TInputSchema extends
|
|
8
|
+
export declare const query: <TInputSchema extends ServeSchema | undefined = undefined, TOutputSchema extends ServeSchema | undefined = undefined, TResult = TOutputSchema extends ServeSchema<any, any> ? SchemaOutput<TOutputSchema> : unknown>(config: QueryObjectConfig<TInputSchema, TOutputSchema, Record<string, unknown>, AuthContext, TResult>) => StandaloneQueryDefinition<TInputSchema, TOutputSchema extends ServeSchema<any, any> ? TOutputSchema : ServeSchema<any, any>, Record<string, unknown>, AuthContext, TResult>;
|
|
10
9
|
/**
|
|
11
10
|
* Create a Serve API from a queries map.
|
|
12
11
|
*
|
package/dist/serve.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,iBAAiB,EAGjB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EAEf,yBAAyB,EACzB,aAAa,EACb,cAAc,
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,iBAAiB,EAGjB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EAEf,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AAgGpB,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,KAAK,SAAS,WAAW,GAAG,WAAW,EAEvC,iBAAiB,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAGnD,YAAY,SAAS,WAAW,GAAG,SAAS,GAAG,SAAS,EACxD,aAAa,SAAS,WAAW,GAAG,SAAS,GAAG,SAAS,EACzD,OAAO,GAAG,aAAa,SAAS,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,OAAO,EAEnF,QAAQ,iBAAiB,CAAC,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAC/E,yBAAyB,CAC1B,YAAY,EACZ,aAAa,SAAS,WAAW,GAAG,aAAa,GAAG,WAAW,EAC/D,QAAQ,EACR,KAAK,EACL,OAAO,CAIV,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,KAAK,GArBd,YAAY,SAAS,WAAW,GAAG,SAAS,cAC5C,aAAa,SAAS,WAAW,GAAG,SAAS,cAC7C,OAAO,6WAmB8B,CAAC;AAE1C;;;;GAIG;AACH,wBAAgB,KAAK,CACnB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,KAAK,SAAS,WAAW,GAAG,WAAW,EACvC,QAAQ,SAAS,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACxE,QAAQ,SAAS,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC5D,SAAS,SAAS,cAAc,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAE9D,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,GAClE,YAAY,CACb,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,GACvC,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,EAClE,QAAQ,EACR,KAAK,CACN,CAEA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-api.d.ts","sourceRoot":"","sources":["../../src/server/create-api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-api.d.ts","sourceRoot":"","sources":["../../src/server/create-api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EAEX,YAAY,EAEZ,gBAAgB,EAIhB,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAkCrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,SAAS,GACpB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,KAAK,SAAS,WAAW,GAAG,WAAW,EACvC,QAAQ,SAAS,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACxE,QAAQ,SAAS,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC5D,SAAS,SAAS,cAAc,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAE9D,QAAQ,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,KAClE,YAAY,CACb,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,GACvC,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,EAClE,QAAQ,EACR,KAAK,CAmTN,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createDiscoveryEndpoint } from "../semantic/datasets/discovery-endpoint.js";
|
|
2
2
|
import { buildDiscoveryCatalogSource } from "../semantic/datasets/utils/discovery-catalog-source.js";
|
|
3
|
+
import { collectRelatedDatasetPolicies } from "../semantic/datasets/utils/related-dataset-policy.js";
|
|
3
4
|
import { createEndpoint } from "../endpoint.js";
|
|
4
5
|
import { ServeRouter, applyBasePath, normalizeRoutePath } from "../router.js";
|
|
5
6
|
import { ensureArray } from "../utils.js";
|
|
@@ -156,6 +157,10 @@ export const createAPI = (config) => {
|
|
|
156
157
|
return sharedAnalytics;
|
|
157
158
|
};
|
|
158
159
|
// Process metrics — auto-generate POST endpoints
|
|
160
|
+
// Related fields must satisfy the policy of the related dataset's own entry.
|
|
161
|
+
const relatedPolicies = config.datasets
|
|
162
|
+
? collectRelatedDatasetPolicies(config.datasets, authStrategies.length > 0)
|
|
163
|
+
: undefined;
|
|
159
164
|
if (config.metrics) {
|
|
160
165
|
const metricsEntries = config.metrics;
|
|
161
166
|
const builderFactory = resolvedQueryBuilder;
|
|
@@ -167,7 +172,7 @@ export const createAPI = (config) => {
|
|
|
167
172
|
const analytics = getAnalytics(builderFactory);
|
|
168
173
|
for (const [name, entry] of Object.entries(metricsEntries)) {
|
|
169
174
|
assertSemanticKeyAvailable(queryEntries, name, "metric");
|
|
170
|
-
const metricEndpoint = createMetricEndpoint(name, entry, analytics, builderFactory);
|
|
175
|
+
const metricEndpoint = createMetricEndpoint(name, entry, analytics, builderFactory, relatedPolicies);
|
|
171
176
|
const metricsPath = config.semanticPaths?.metrics ?? '/metrics';
|
|
172
177
|
const routePath = normalizeRoutePath(`${metricsPath}/${name}`);
|
|
173
178
|
const registeredEndpoint = {
|
|
@@ -189,7 +194,7 @@ export const createAPI = (config) => {
|
|
|
189
194
|
}
|
|
190
195
|
for (const [name, entry] of Object.entries(datasetEntries)) {
|
|
191
196
|
assertSemanticKeyAvailable(queryEntries, `dataset:${name}`, "dataset");
|
|
192
|
-
const datasetEndpoint = createDatasetEndpoint(name, entry, getAnalytics(builderFactory), builderFactory);
|
|
197
|
+
const datasetEndpoint = createDatasetEndpoint(name, entry, getAnalytics(builderFactory), builderFactory, relatedPolicies);
|
|
193
198
|
const datasetsPath = config.semanticPaths?.datasets ?? '/datasets';
|
|
194
199
|
const routePath = normalizeRoutePath(`${datasetsPath}/${name}/query`);
|
|
195
200
|
const registeredEndpoint = {
|
|
@@ -2,11 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
export declare const api: import("../types.js").ServeBuilder<import("../types.js").ServeEndpointMap<{
|
|
3
3
|
typedQuery: import("../types.js").ServeQueryConfig<z.ZodObject<{
|
|
4
4
|
plan: z.ZodOptional<z.ZodString>;
|
|
5
|
-
},
|
|
6
|
-
plan?: string | undefined;
|
|
7
|
-
}, {
|
|
8
|
-
plan?: string | undefined;
|
|
9
|
-
}>, z.ZodTypeAny, {
|
|
5
|
+
}, z.core.$strip>, import("../types.js").ServeSchema<any, any>, {
|
|
10
6
|
db: {};
|
|
11
7
|
}, import("../types.js").AuthContext, {
|
|
12
8
|
plan: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.test-d.d.ts","sourceRoot":"","sources":["../../src/type-tests/builder.test-d.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,GAAG
|
|
1
|
+
{"version":3,"file":"builder.test-d.d.ts","sourceRoot":"","sources":["../../src/type-tests/builder.test-d.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;qCAUd,CAAC"}
|
|
@@ -3,35 +3,21 @@ export declare const api: import("../types.js").ServeBuilder<import("../types.js
|
|
|
3
3
|
withDefault: import("../types.js").StandaloneQueryDefinition<z.ZodObject<{
|
|
4
4
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
5
5
|
name: z.ZodString;
|
|
6
|
-
},
|
|
7
|
-
limit: number;
|
|
8
|
-
name: string;
|
|
9
|
-
}, {
|
|
10
|
-
name: string;
|
|
11
|
-
limit?: number | undefined;
|
|
12
|
-
}>, z.ZodTypeAny, {
|
|
6
|
+
}, z.core.$strip>, import("../types.js").ServeSchema<any, any>, {
|
|
13
7
|
db: {};
|
|
14
8
|
}, import("../types.js").AuthContext, {
|
|
15
9
|
doubled: number;
|
|
16
10
|
}[]>;
|
|
17
11
|
withTransform: import("../types.js").StandaloneQueryDefinition<z.ZodObject<{
|
|
18
|
-
csv: z.
|
|
19
|
-
},
|
|
20
|
-
csv: string[];
|
|
21
|
-
}, {
|
|
22
|
-
csv: string;
|
|
23
|
-
}>, z.ZodTypeAny, {
|
|
12
|
+
csv: z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>;
|
|
13
|
+
}, z.core.$strip>, import("../types.js").ServeSchema<any, any>, {
|
|
24
14
|
db: {};
|
|
25
15
|
}, import("../types.js").AuthContext, {
|
|
26
16
|
count: number;
|
|
27
17
|
}[]>;
|
|
28
18
|
withCoerce: import("../types.js").StandaloneQueryDefinition<z.ZodObject<{
|
|
29
|
-
since: z.
|
|
30
|
-
},
|
|
31
|
-
since: Date;
|
|
32
|
-
}, {
|
|
33
|
-
since: Date;
|
|
34
|
-
}>, z.ZodTypeAny, {
|
|
19
|
+
since: z.ZodCoercedDate<unknown>;
|
|
20
|
+
}, z.core.$strip>, import("../types.js").ServeSchema<any, any>, {
|
|
35
21
|
db: {};
|
|
36
22
|
}, import("../types.js").AuthContext, {
|
|
37
23
|
iso: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver-input.test-d.d.ts","sourceRoot":"","sources":["../../src/type-tests/resolver-input.test-d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmExB,eAAO,MAAM,GAAG
|
|
1
|
+
{"version":3,"file":"resolver-input.test-d.d.ts","sourceRoot":"","sources":["../../src/type-tests/resolver-input.test-d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmExB,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAEd,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { dataset, dimension, measure, divide, nullIfZero, belongsTo } from '../semantic/index.js';
|
|
2
|
-
import { createAPI } from '../index.js';
|
|
2
|
+
import { createAPI, initServe } from '../index.js';
|
|
3
3
|
const Customers = dataset('customers', {
|
|
4
4
|
source: 'customers',
|
|
5
5
|
dimensions: {
|
|
@@ -57,3 +57,21 @@ void semanticApi.execute('dataset:orders', {
|
|
|
57
57
|
});
|
|
58
58
|
// @ts-expect-error only configured semantic keys are executable
|
|
59
59
|
void semanticApi.execute('dataset:customers', { input: {} });
|
|
60
|
+
// initServe(...).serve/define without `queries` must keep the configured
|
|
61
|
+
// semantic keys instead of widening to a string index signature.
|
|
62
|
+
const semanticInit = initServe({ context: () => ({}) });
|
|
63
|
+
const datasetsOnlyApi = semanticInit.serve({
|
|
64
|
+
datasets: { orders: Orders },
|
|
65
|
+
queryBuilder,
|
|
66
|
+
});
|
|
67
|
+
void datasetsOnlyApi.execute('dataset:orders', {
|
|
68
|
+
input: { dimensions: ['status'], measures: ['revenue'] },
|
|
69
|
+
});
|
|
70
|
+
// @ts-expect-error only configured semantic keys are executable
|
|
71
|
+
void datasetsOnlyApi.execute('dataset:customers', { input: {} });
|
|
72
|
+
const metricsOnlyApi = semanticInit.define({
|
|
73
|
+
metrics: { totalRevenue },
|
|
74
|
+
queryBuilder,
|
|
75
|
+
});
|
|
76
|
+
// @ts-expect-error only configured semantic keys are executable
|
|
77
|
+
void metricsOnlyApi.execute('dataset:orders', { input: {} });
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { ZodType, ZodTypeAny } from "zod";
|
|
2
1
|
import type { ServeQueryLogger, ServeQueryEventCallback } from "./query-logger.js";
|
|
3
2
|
import type { CacheObservability } from "./cache-observability.js";
|
|
4
3
|
import type { DatasetInstance, DatasetQueryableDimensions, DatasetQueryableMeasures, DatasetQueryFor, DatasetQueryResultFor, KnownStringKeys, MetricHandle, MetricQueryFor, MetricResultFor, QueryBuilderFactoryInput } from "@hypequery/datasets";
|
|
@@ -162,11 +161,39 @@ export type EndpointContext<TInput = unknown, TContext extends Record<string, un
|
|
|
162
161
|
};
|
|
163
162
|
export type EndpointHandler<TInput = unknown, TResult = unknown, TContext extends Record<string, unknown> = Record<string, unknown>, TAuth extends AuthContext = AuthContext> = (ctx: EndpointContext<TInput, TContext, TAuth>) => Promise<TResult>;
|
|
164
163
|
export type ServeMiddleware<TInput = unknown, TResult = unknown, TContext extends Record<string, unknown> = Record<string, unknown>, TAuth extends AuthContext = AuthContext> = (ctx: EndpointContext<TInput, TContext, TAuth>, next: () => Promise<TResult>) => Promise<TResult>;
|
|
164
|
+
/**
|
|
165
|
+
* A Zod 3 or Zod 4 schema, as serve uses it: parse input and infer types.
|
|
166
|
+
*
|
|
167
|
+
* Structural rather than imported from Zod, so a schema built with either
|
|
168
|
+
* major, or with another installed copy of Zod, is accepted. Bring the Zod you
|
|
169
|
+
* already use.
|
|
170
|
+
*/
|
|
171
|
+
export interface ServeSchema<Output = any, Input = Output> {
|
|
172
|
+
readonly _output: Output;
|
|
173
|
+
readonly _input: Input;
|
|
174
|
+
parse(data: unknown): Output;
|
|
175
|
+
safeParse(data: unknown): ServeSchemaParseResult<Output>;
|
|
176
|
+
}
|
|
177
|
+
/** The parts of a Zod `safeParse` result serve reads. */
|
|
178
|
+
export type ServeSchemaParseResult<Output> = {
|
|
179
|
+
readonly success: true;
|
|
180
|
+
readonly data: Output;
|
|
181
|
+
} | {
|
|
182
|
+
readonly success: false;
|
|
183
|
+
readonly error: ServeSchemaError;
|
|
184
|
+
};
|
|
185
|
+
/** The parts of a Zod error serve reads and returns in a `VALIDATION_ERROR`. */
|
|
186
|
+
export interface ServeSchemaError {
|
|
187
|
+
readonly issues: ReadonlyArray<{
|
|
188
|
+
readonly path: ReadonlyArray<PropertyKey>;
|
|
189
|
+
readonly message: string;
|
|
190
|
+
}>;
|
|
191
|
+
}
|
|
165
192
|
/**
|
|
166
193
|
* What a *caller* sends. Use for anything crossing the wire or handed to
|
|
167
194
|
* `api.execute()` — a field with `.default()` is genuinely optional there.
|
|
168
195
|
*/
|
|
169
|
-
export type SchemaInput<T extends
|
|
196
|
+
export type SchemaInput<T extends ServeSchema | undefined> = T extends ServeSchema ? T["_input"] : unknown;
|
|
170
197
|
/**
|
|
171
198
|
* What zod produced after parsing. Use for anything running *after* validation —
|
|
172
199
|
* resolvers, handlers, and middlewares. `pipeline.ts` assigns
|
|
@@ -176,7 +203,7 @@ export type SchemaInput<T extends ZodTypeAny | undefined> = T extends ZodTypeAny
|
|
|
176
203
|
* fields look `| undefined` and forces callers to re-supply a default the
|
|
177
204
|
* schema already guarantees.
|
|
178
205
|
*/
|
|
179
|
-
export type SchemaOutput<T extends
|
|
206
|
+
export type SchemaOutput<T extends ServeSchema | undefined> = T extends ServeSchema ? T["_output"] : unknown;
|
|
180
207
|
type InferApiEntry<TEndpoint> = TEndpoint extends ServeEndpoint<infer TInputSchema, any, any, any, infer TResult> ? {
|
|
181
208
|
input: SchemaInput<TInputSchema>;
|
|
182
209
|
output: TResult;
|
|
@@ -267,7 +294,7 @@ export interface ApiExecuteOptions<TInput = unknown, TContext extends Record<str
|
|
|
267
294
|
*/
|
|
268
295
|
trustedAuth?: TAuth | null;
|
|
269
296
|
}
|
|
270
|
-
export interface ServeEndpoint<TInputSchema extends
|
|
297
|
+
export interface ServeEndpoint<TInputSchema extends ServeSchema | undefined = undefined, TOutputSchema extends ServeSchema = ServeSchema, TContext extends Record<string, unknown> = Record<string, unknown>, TAuth extends AuthContext = AuthContext, TResult = SchemaOutput<TOutputSchema>> {
|
|
271
298
|
key: string;
|
|
272
299
|
method: HttpMethod;
|
|
273
300
|
inputSchema?: TInputSchema;
|
|
@@ -288,7 +315,7 @@ export interface ServeEndpoint<TInputSchema extends ZodTypeAny | undefined = und
|
|
|
288
315
|
/** Caller input inferred from the schema type, independent of its optional storage property. */
|
|
289
316
|
export type ServeEndpointInput<TEndpoint extends ServeEndpoint<any, any, any, any>> = TEndpoint extends ServeEndpoint<infer TInputSchema, any, any, any, any> ? SchemaInput<TInputSchema> : never;
|
|
290
317
|
export type ServeEndpointResult<TEndpoint extends ServeEndpoint<any, any, any, any>> = TEndpoint extends ServeEndpoint<any, any, any, any, infer TResult> ? TResult : never;
|
|
291
|
-
export interface ServeQueryConfig<TInputSchema extends
|
|
318
|
+
export interface ServeQueryConfig<TInputSchema extends ServeSchema | undefined = undefined, TOutputSchema extends ServeSchema = ServeSchema, TContext extends Record<string, unknown> = Record<string, unknown>, TAuth extends AuthContext = AuthContext, TResult = SchemaOutput<TOutputSchema>> {
|
|
292
319
|
key?: string;
|
|
293
320
|
query: ExecutableQuery<SchemaOutput<TInputSchema>, TResult, TContext, TAuth>;
|
|
294
321
|
method?: HttpMethod;
|
|
@@ -311,11 +338,11 @@ export interface ServeQueryConfig<TInputSchema extends ZodTypeAny | undefined =
|
|
|
311
338
|
/** Custom metadata for application-specific use cases */
|
|
312
339
|
custom?: Record<string, unknown>;
|
|
313
340
|
}
|
|
314
|
-
export interface StandaloneQueryDefinition<TInputSchema extends
|
|
341
|
+
export interface StandaloneQueryDefinition<TInputSchema extends ServeSchema | undefined = undefined, TOutputSchema extends ServeSchema = ServeSchema, TContext extends Record<string, unknown> = Record<string, unknown>, TAuth extends AuthContext = AuthContext, TResult = SchemaOutput<TOutputSchema>> extends ServeQueryConfig<TInputSchema, TOutputSchema, TContext, TAuth, TResult> {
|
|
315
342
|
run: QueryResolver<SchemaOutput<TInputSchema>, TResult, TContext, TAuth>;
|
|
316
343
|
execute(options?: DirectQueryExecuteOptions<SchemaInput<TInputSchema>, TContext>): Promise<TResult>;
|
|
317
344
|
}
|
|
318
|
-
export interface QueryObjectConfig<TInputSchema extends
|
|
345
|
+
export interface QueryObjectConfig<TInputSchema extends ServeSchema | undefined = undefined, TOutputSchema extends ServeSchema | undefined = undefined, TContext extends Record<string, unknown> = Record<string, unknown>, TAuth extends AuthContext = AuthContext, TResult = TOutputSchema extends ServeSchema ? SchemaOutput<TOutputSchema> : unknown> {
|
|
319
346
|
input?: TInputSchema;
|
|
320
347
|
output?: TOutputSchema;
|
|
321
348
|
method?: HttpMethod;
|
|
@@ -447,10 +474,10 @@ type MetricNameOfEntry<TEntry> = BaseMetricRefOf<MetricHandleOfEntry<TEntry>> ex
|
|
|
447
474
|
} ? (TName extends string ? TName : string) : string;
|
|
448
475
|
type InferKnownStringKeys<T> = [KnownStringKeys<T>] extends [never] ? Extract<keyof T, string> : KnownStringKeys<T>;
|
|
449
476
|
export type SemanticMetricEndpointMap<TMetrics extends MetricsConfig<TAuth>, TContext extends Record<string, unknown>, TAuth extends AuthContext> = {
|
|
450
|
-
[TKey in keyof TMetrics & string]: ServeEndpoint<
|
|
477
|
+
[TKey in keyof TMetrics & string]: ServeEndpoint<ServeSchema<MetricQueryFor<MetricDatasetOfEntry<TMetrics[TKey]>, MetricNameOfEntry<TMetrics[TKey]>>>, ServeSchema<MetricResultFor<MetricDatasetOfEntry<TMetrics[TKey]>, MetricNameOfEntry<TMetrics[TKey]>>>, TContext, TAuth, MetricResultFor<MetricDatasetOfEntry<TMetrics[TKey]>, MetricNameOfEntry<TMetrics[TKey]>>> & MetricEndpointSemantic<MetricDatasetOfEntry<TMetrics[TKey]>, MetricNameOfEntry<TMetrics[TKey]>>;
|
|
451
478
|
};
|
|
452
479
|
export type SemanticDatasetEndpointMap<TDatasets extends DatasetsConfig<TAuth>, TContext extends Record<string, unknown>, TAuth extends AuthContext> = {
|
|
453
|
-
[TKey in keyof TDatasets & string as `dataset:${TKey}`]: ServeEndpoint<
|
|
480
|
+
[TKey in keyof TDatasets & string as `dataset:${TKey}`]: ServeEndpoint<ServeSchema<DatasetQueryFor<DatasetInstanceOfEntry<TDatasets[TKey]>>>, ServeSchema<DatasetQueryResultFor<DatasetInstanceOfEntry<TDatasets[TKey]>>>, TContext, TAuth, DatasetQueryResultFor<DatasetInstanceOfEntry<TDatasets[TKey]>>> & DatasetEndpointSemantic<DatasetInstanceOfEntry<TDatasets[TKey]>>;
|
|
454
481
|
};
|
|
455
482
|
export type ServeSemanticEndpointMap<TMetrics extends MetricsConfig<TAuth>, TDatasets extends DatasetsConfig<TAuth>, TContext extends Record<string, unknown>, TAuth extends AuthContext> = SemanticMetricEndpointMap<TMetrics, TContext, TAuth> & SemanticDatasetEndpointMap<TDatasets, TContext, TAuth>;
|
|
456
483
|
export interface ServeConfig<TContext extends Record<string, unknown> = Record<string, unknown>, TAuth extends AuthContext = AuthContext, TQueries extends ServeQueriesMap<TContext, TAuth> = Record<never, never>, TMetrics extends MetricsConfig<TAuth> = Record<never, never>, TDatasets extends DatasetsConfig<TAuth> = Record<never, never>> {
|
|
@@ -804,15 +831,15 @@ export interface ServeInitializer<TContext extends Record<string, unknown> = Rec
|
|
|
804
831
|
readonly procedure: QueryProcedureBuilder<TContext, TAuth>;
|
|
805
832
|
readonly query: QueryFactory<TContext, TAuth>;
|
|
806
833
|
queries<TQueries extends ServeQueriesMap<TContext, TAuth>>(queries: TQueries): TQueries;
|
|
807
|
-
serve<TQueries extends ServeQueriesMap<TContext, TAuth>, TMetrics extends MetricsConfig<TAuth> = Record<never, never>, TDatasets extends DatasetsConfig<TAuth> = Record<never, never>>(config: Omit<ServeConfig<TContext, TAuth, TQueries, TMetrics, TDatasets>, "context">): ServeBuilder<ServeEndpointMap<TQueries, TContext, TAuth> & ServeSemanticEndpointMap<TMetrics, TDatasets, TContext, TAuth>, TContext, TAuth>;
|
|
808
|
-
define<TQueries extends ServeQueriesMap<TContext, TAuth>, TMetrics extends MetricsConfig<TAuth> = Record<never, never>, TDatasets extends DatasetsConfig<TAuth> = Record<never, never>>(config: Omit<ServeConfig<TContext, TAuth, TQueries, TMetrics, TDatasets>, "context">): ServeBuilder<ServeEndpointMap<TQueries, TContext, TAuth> & ServeSemanticEndpointMap<TMetrics, TDatasets, TContext, TAuth>, TContext, TAuth>;
|
|
834
|
+
serve<TQueries extends ServeQueriesMap<TContext, TAuth> = Record<never, never>, TMetrics extends MetricsConfig<TAuth> = Record<never, never>, TDatasets extends DatasetsConfig<TAuth> = Record<never, never>>(config: Omit<ServeConfig<TContext, TAuth, TQueries, TMetrics, TDatasets>, "context">): ServeBuilder<ServeEndpointMap<TQueries, TContext, TAuth> & ServeSemanticEndpointMap<TMetrics, TDatasets, TContext, TAuth>, TContext, TAuth>;
|
|
835
|
+
define<TQueries extends ServeQueriesMap<TContext, TAuth> = Record<never, never>, TMetrics extends MetricsConfig<TAuth> = Record<never, never>, TDatasets extends DatasetsConfig<TAuth> = Record<never, never>>(config: Omit<ServeConfig<TContext, TAuth, TQueries, TMetrics, TDatasets>, "context">): ServeBuilder<ServeEndpointMap<TQueries, TContext, TAuth> & ServeSemanticEndpointMap<TMetrics, TDatasets, TContext, TAuth>, TContext, TAuth>;
|
|
809
836
|
}
|
|
810
837
|
export type QueryFactory<TContext extends Record<string, unknown>, TAuth extends AuthContext> = QueryProcedureBuilder<TContext, TAuth> & {
|
|
811
|
-
<TInputSchema extends
|
|
838
|
+
<TInputSchema extends ServeSchema | undefined = undefined, TOutputSchema extends ServeSchema | undefined = undefined, TResult = TOutputSchema extends ServeSchema ? SchemaOutput<TOutputSchema> : unknown>(config: QueryObjectConfig<TInputSchema, TOutputSchema, TContext, TAuth, TResult>): StandaloneQueryDefinition<TInputSchema, TOutputSchema extends ServeSchema ? TOutputSchema : ServeSchema, TContext, TAuth, TResult>;
|
|
812
839
|
};
|
|
813
|
-
export interface QueryProcedureBuilder<TContext extends Record<string, unknown>, TAuth extends AuthContext, TInputSchema extends
|
|
814
|
-
input<TNewInputSchema extends
|
|
815
|
-
output<TNewOutputSchema extends
|
|
840
|
+
export interface QueryProcedureBuilder<TContext extends Record<string, unknown>, TAuth extends AuthContext, TInputSchema extends ServeSchema | undefined = undefined, TOutputSchema extends ServeSchema = ServeSchema> {
|
|
841
|
+
input<TNewInputSchema extends ServeSchema>(schema: TNewInputSchema): QueryProcedureBuilder<TContext, TAuth, TNewInputSchema, TOutputSchema>;
|
|
842
|
+
output<TNewOutputSchema extends ServeSchema>(schema: TNewOutputSchema): QueryProcedureBuilder<TContext, TAuth, TInputSchema, TNewOutputSchema>;
|
|
816
843
|
describe(description: string): QueryProcedureBuilder<TContext, TAuth, TInputSchema, TOutputSchema>;
|
|
817
844
|
name(name: string): QueryProcedureBuilder<TContext, TAuth, TInputSchema, TOutputSchema>;
|
|
818
845
|
summary(summary: string): QueryProcedureBuilder<TContext, TAuth, TInputSchema, TOutputSchema>;
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hypequery/serve",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "Code-first TypeScript runtime for validated ClickHouse analytics APIs, OpenAPI, auth, and tenancy",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"clickhouse",
|
|
@@ -36,13 +36,13 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"jose": "^5.9.6",
|
|
38
38
|
"openapi-typescript": "^7.13.0",
|
|
39
|
-
"zod": "^
|
|
39
|
+
"zod": "^4.6.6",
|
|
40
40
|
"zod-to-json-schema": "^3.25.2",
|
|
41
|
-
"@hypequery/datasets": "^0.
|
|
41
|
+
"@hypequery/datasets": "^0.25.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"tsx": "^4.0.0",
|
|
45
|
-
"zod": "^3.23.8"
|
|
45
|
+
"zod": "^3.23.8 || ^4.0.0"
|
|
46
46
|
},
|
|
47
47
|
"peerDependenciesMeta": {
|
|
48
48
|
"tsx": {
|
|
@@ -54,10 +54,10 @@
|
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@types/node": "^20.11.30",
|
|
57
|
-
"@vitest/coverage-v8": "^5.0.
|
|
57
|
+
"@vitest/coverage-v8": "^5.0.5",
|
|
58
58
|
"tsx": "^4.23.15",
|
|
59
59
|
"typescript": "^6.0.3",
|
|
60
|
-
"vitest": "^5.0.
|
|
60
|
+
"vitest": "^5.0.5"
|
|
61
61
|
},
|
|
62
62
|
"repository": {
|
|
63
63
|
"type": "git",
|