@hypequery/protocol-conformance 0.13.0 → 0.14.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.
@@ -9,7 +9,7 @@ export declare const REFERENCE_HOSTILE_OBJECT_SUITE: {
9
9
  readonly count: 7;
10
10
  readonly mechanisms: readonly ["getter", "toJSON", "proxy", "custom-prototype", "symbol-key", "sparse-array", "cycle"];
11
11
  };
12
- export declare const REFERENCE_FAMILIES: readonly ["cache-keys-v1", "tagged-values-v1", "identifiers-v1", "expressions-v1", "expressions-v2", "query-schemas-v1", "query-implementations-v1", "query-events-v1", "query-diagnostics-v1", "deployments-v2", "deployments-v3", "deployment-bundles-v1", "deployment-releases-v1", "semantic-invocations-v1", "semantic-invocations-v2"];
12
+ export declare const REFERENCE_FAMILIES: readonly ["cache-keys-v1", "cache-preimages-v1", "tagged-values-v1", "identifiers-v1", "expressions-v1", "expressions-v2", "query-schemas-v1", "query-implementations-v1", "query-events-v1", "query-diagnostics-v1", "deployments-v2", "deployments-v3", "deployment-bundles-v1", "deployment-releases-v1", "semantic-invocations-v1", "semantic-invocations-v2"];
13
13
  export declare function referenceHandle(family: string, role: FixtureRole, c: Case, section?: string): HandlerResult;
14
14
  export {};
15
15
  //# sourceMappingURL=reference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../src/adapters/reference.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAc9D,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA0BpC;;;;GAIG;AACH,eAAO,MAAM,8BAA8B;;;CAWjC,CAAC;AAEX,eAAO,MAAM,kBAAkB,8UAgBrB,CAAC;AAEX,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,EACjB,CAAC,EAAE,IAAI,EACP,OAAO,CAAC,EAAE,MAAM,GACf,aAAa,CA4Cf"}
1
+ {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../src/adapters/reference.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAc9D,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA0BpC;;;;GAIG;AACH,eAAO,MAAM,8BAA8B;;;CAWjC,CAAC;AAEX,eAAO,MAAM,kBAAkB,oWAiBrB,CAAC;AAEX,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,EACjB,CAAC,EAAE,IAAI,EACP,OAAO,CAAC,EAAE,MAAM,GACf,aAAa,CA8Cf"}
@@ -2,7 +2,7 @@
2
2
  // root export of @hypequery/protocol and returns a wire result. Every operation
3
3
  // goes through the package's supported surface — this is exactly what a second
4
4
  // implementation must reproduce.
5
- import { decodeCanonicalValue, deriveProtocolCacheKey, deriveProtocolCacheNamespaceToken, encodeCanonicalValue, hashCanonicalValue, parseProtocolIdentifier, parseProtocolQualifiedIdentifier, prepareProtocolDeploymentBundleManifest, prepareProtocolDeploymentContract, prepareProtocolDeploymentContractV3, prepareProtocolDeploymentReleaseEnvelope, splitProtocolQualifiedIdentifier, validateCanonicalValue, validateProtocolDeploymentBundleManifest, validateProtocolDeploymentContract, validateProtocolDeploymentContractV3, validateProtocolDeploymentReleaseEnvelope, validateProtocolExpression, validateProtocolQueryDiagnostics, validateProtocolQueryEvent, validateProtocolQueryImplementation, validateProtocolSchema, validateProtocolSemanticInvocation, validateProtocolSemanticInvocationFailure, validateProtocolSemanticInvocationResult, validateProtocolSemanticInvocationV2, validateProtocolSemanticQuery, validateProtocolSqlExpression, } from '@hypequery/protocol';
5
+ import { buildProtocolCachePreimage, decodeCanonicalValue, deriveProtocolCacheKey, deriveProtocolCacheNamespaceToken, encodeCanonicalValue, hashCanonicalValue, parseProtocolIdentifier, parseProtocolQualifiedIdentifier, prepareProtocolDeploymentBundleManifest, prepareProtocolDeploymentContract, prepareProtocolDeploymentContractV3, prepareProtocolDeploymentReleaseEnvelope, splitProtocolQualifiedIdentifier, validateCanonicalValue, validateProtocolDeploymentBundleManifest, validateProtocolDeploymentContract, validateProtocolDeploymentContractV3, validateProtocolDeploymentReleaseEnvelope, validateProtocolExpression, validateProtocolQueryDiagnostics, validateProtocolQueryEvent, validateProtocolQueryImplementation, validateProtocolSchema, validateProtocolSemanticInvocation, validateProtocolSemanticInvocationFailure, validateProtocolSemanticInvocationResult, validateProtocolSemanticInvocationV2, validateProtocolSemanticQuery, validateProtocolSqlExpression, } from '@hypequery/protocol';
6
6
  import { materializeBundle, materializeDiagnostics, materializeEvent, materializeSemanticInvocation, materializeExpression, materializeIdentifier, materializeImplementation, materializeRelease, materializeSchema, materializeTaggedValue, } from './generators.js';
7
7
  const STABLE_CODE = /^HQ_[A-Z0-9_]+$/;
8
8
  /** Turns a thrown protocol error into a wire rejection; rethrows anything else. */
@@ -44,6 +44,7 @@ export const REFERENCE_HOSTILE_OBJECT_SUITE = {
44
44
  };
45
45
  export const REFERENCE_FAMILIES = [
46
46
  'cache-keys-v1',
47
+ 'cache-preimages-v1',
47
48
  'tagged-values-v1',
48
49
  'identifiers-v1',
49
50
  'expressions-v1',
@@ -100,6 +101,8 @@ export function referenceHandle(family, role, c, section) {
100
101
  return handleSemanticInvocation(c, 2);
101
102
  case 'cache-keys-v1':
102
103
  return handleCacheKey(role, c);
104
+ case 'cache-preimages-v1':
105
+ return handleCachePreimage(role, c);
103
106
  default:
104
107
  throw new Error(`reference adapter does not support family ${family}`);
105
108
  }
@@ -155,6 +158,18 @@ function handleCacheKey(role, c) {
155
158
  };
156
159
  });
157
160
  }
161
+ function handleCachePreimage(role, c) {
162
+ return attempt(() => {
163
+ const preimage = buildProtocolCachePreimage({
164
+ secret: hexToBytes(c.secretHex),
165
+ definitionIdentity: c.definitionIdentity,
166
+ query: c.query,
167
+ tenant: c.tenant,
168
+ rowLimit: c.rowLimit,
169
+ });
170
+ return role === 'success' ? { ok: true, output: { preimageUtf8: preimage } } : { ok: true };
171
+ });
172
+ }
158
173
  function handleTaggedValue(role, c) {
159
174
  if (role === 'success') {
160
175
  return attempt(() => ({
package/dist/compare.js CHANGED
@@ -121,6 +121,12 @@ function compareSuccessOutput(ec, o) {
121
121
  return outcome(ec, 'fail', { expected: 'segments', actual: 'mismatch' });
122
122
  }
123
123
  }
124
+ if (ec.family === 'cache-preimages-v1') {
125
+ // By name only: a preimage holds filter values, so a report never prints one.
126
+ if (o.preimageUtf8 !== ec.case.preimageUtf8) {
127
+ return outcome(ec, 'fail', { expected: 'preimageUtf8', actual: 'mismatch' });
128
+ }
129
+ }
124
130
  if (ec.family === 'cache-keys-v1') {
125
131
  // Reported as 'mismatch' rather than by value: a run against non-fixture
126
132
  // inputs would otherwise print keys derived from a real secret.
@@ -0,0 +1,74 @@
1
+ # Cache preimage version 1 fixtures
2
+
3
+ These language-neutral fixtures accompany accepted RFC 0009 ("Tenant
4
+ fingerprint" and "Cache preimage") and are normative for cache preimage
5
+ version 1.
6
+
7
+ ## Success manifest
8
+
9
+ Each entry in `success.json` contains:
10
+
11
+ - `id`: stable fixture identifier;
12
+ - `secretHex`: the namespace's RFC 0013 cache-key secret as lowercase hex,
13
+ used for tenant fingerprints;
14
+ - `definitionIdentity`: 64 lowercase hex characters;
15
+ - `query`: an RFC 0003 semantic query, validated under expression extension 2;
16
+ - `tenant`: the trusted tenant capability, as `{"mode": "none"}`,
17
+ `{"mode": "scoped", "ids": [...]}` with raw tenant identifiers, or
18
+ `{"mode": "all"}`. The preimage replaces each identifier with its tenant
19
+ fingerprint;
20
+ - `rowLimit`: the effective row limit, or `null`;
21
+ - `preimageUtf8`: the exact canonical preimage.
22
+
23
+ `secretHex`, `tenant` and `rowLimit` describe trusted execution context. They are fixture
24
+ inputs, not request fields.
25
+
26
+ ## Rejection manifest
27
+
28
+ Entries in `rejections.json` carry the same inputs plus the required stable
29
+ `error` code. The `precedence-*` cases violate several rules at once and pin
30
+ the first failure.
31
+
32
+ ## What the corpus is designed to prove
33
+
34
+ Equivalent requests must build identical bytes:
35
+
36
+ - `minimal-dataset`, `empty-collections-equal-omitted`,
37
+ `offset-zero-equals-omitted` and `include-meta-and-limit-dropped` all build
38
+ the same preimage;
39
+ - `filters-order-a`, `filters-order-b` and `duplicate-filters-collapse` all
40
+ build the same preimage;
41
+ - `tenant-scoped-sorted-deduplicated` shows that tenant fingerprints are
42
+ sorted and deduplicated.
43
+
44
+ Requests that can return different rows must not:
45
+
46
+ - `measures-empty-differs-from-omitted`: `[]` selects no measures, while
47
+ omitting the field selects every measure;
48
+ - `dimension-order-a` and `dimension-order-b`: column order is part of the
49
+ result;
50
+ - `tenant-scoped` and `tenant-all` differ from each other and from
51
+ `minimal-dataset`, which is tenant-free. This is the RFC 0009 cache-confusion
52
+ guarantee;
53
+ - `definition-changes-preimage` and `row-limit-zero` differ from
54
+ `minimal-dataset`;
55
+ - `tenant-fingerprint-follows-secret`: the same tenant under another secret
56
+ builds a different preimage.
57
+
58
+ Raw tenant identifiers never appear in a preimage, and no scoped case's
59
+ preimage contains its raw identifiers. `tenant-id-has-no-length-cap` and
60
+ `tenant-count-has-no-cap` pin that there is no tenant limit beyond RFC 0013's
61
+ 1 MiB bound on the preimage.
62
+
63
+ ## How these expectations were produced
64
+
65
+ The expectations were generated twice, by independent implementations of the
66
+ rules, before any runtime implemented them:
67
+
68
+ - a Python generator built on the Python RFC 0003 validator, the RFC 8785
69
+ serializer, and `hmac`;
70
+ - a Node generator built on the TypeScript validator, a separate serializer,
71
+ and `node:crypto`.
72
+
73
+ Both produced identical output for all 44 cases. The conformance runner now
74
+ holds `@hypequery/protocol` and the Python package to the same bytes.
@@ -0,0 +1,304 @@
1
+ [
2
+ {
3
+ "id": "secret-missing",
4
+ "secretHex": "",
5
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
6
+ "query": {
7
+ "kind": "dataset",
8
+ "dataset": "orders"
9
+ },
10
+ "tenant": {
11
+ "mode": "none"
12
+ },
13
+ "rowLimit": null,
14
+ "error": "HQ_CACHE_PREIMAGE_SECRET_MISSING"
15
+ },
16
+ {
17
+ "id": "secret-31-bytes",
18
+ "secretHex": "11111111111111111111111111111111111111111111111111111111111111",
19
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
20
+ "query": {
21
+ "kind": "dataset",
22
+ "dataset": "orders"
23
+ },
24
+ "tenant": {
25
+ "mode": "none"
26
+ },
27
+ "rowLimit": null,
28
+ "error": "HQ_CACHE_PREIMAGE_SECRET_TOO_SHORT"
29
+ },
30
+ {
31
+ "id": "definition-uppercase",
32
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
33
+ "definitionIdentity": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
34
+ "query": {
35
+ "kind": "dataset",
36
+ "dataset": "orders"
37
+ },
38
+ "tenant": {
39
+ "mode": "none"
40
+ },
41
+ "rowLimit": null,
42
+ "error": "HQ_CACHE_PREIMAGE_INVALID_DEFINITION"
43
+ },
44
+ {
45
+ "id": "definition-short",
46
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
47
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
48
+ "query": {
49
+ "kind": "dataset",
50
+ "dataset": "orders"
51
+ },
52
+ "tenant": {
53
+ "mode": "none"
54
+ },
55
+ "rowLimit": null,
56
+ "error": "HQ_CACHE_PREIMAGE_INVALID_DEFINITION"
57
+ },
58
+ {
59
+ "id": "definition-not-string",
60
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
61
+ "definitionIdentity": null,
62
+ "query": {
63
+ "kind": "dataset",
64
+ "dataset": "orders"
65
+ },
66
+ "tenant": {
67
+ "mode": "none"
68
+ },
69
+ "rowLimit": null,
70
+ "error": "HQ_CACHE_PREIMAGE_INVALID_DEFINITION"
71
+ },
72
+ {
73
+ "id": "query-unknown-field",
74
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
75
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
76
+ "query": {
77
+ "kind": "dataset",
78
+ "dataset": "orders",
79
+ "sql": "SELECT 1"
80
+ },
81
+ "tenant": {
82
+ "mode": "none"
83
+ },
84
+ "rowLimit": null,
85
+ "error": "HQ_CACHE_PREIMAGE_INVALID_QUERY"
86
+ },
87
+ {
88
+ "id": "query-measures-on-metric",
89
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
90
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
91
+ "query": {
92
+ "kind": "metric",
93
+ "dataset": "orders",
94
+ "metric": "aov",
95
+ "measures": [
96
+ "revenue"
97
+ ]
98
+ },
99
+ "tenant": {
100
+ "mode": "none"
101
+ },
102
+ "rowLimit": null,
103
+ "error": "HQ_CACHE_PREIMAGE_INVALID_QUERY"
104
+ },
105
+ {
106
+ "id": "query-duplicate-segments",
107
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
108
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
109
+ "query": {
110
+ "kind": "dataset",
111
+ "dataset": "orders",
112
+ "segments": [
113
+ "vip",
114
+ "vip"
115
+ ]
116
+ },
117
+ "tenant": {
118
+ "mode": "none"
119
+ },
120
+ "rowLimit": null,
121
+ "error": "HQ_CACHE_PREIMAGE_INVALID_QUERY"
122
+ },
123
+ {
124
+ "id": "tenant-unknown-mode",
125
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
126
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
127
+ "query": {
128
+ "kind": "dataset",
129
+ "dataset": "orders"
130
+ },
131
+ "tenant": {
132
+ "mode": "public"
133
+ },
134
+ "rowLimit": null,
135
+ "error": "HQ_CACHE_PREIMAGE_INVALID_TENANT"
136
+ },
137
+ {
138
+ "id": "tenant-none-with-ids",
139
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
140
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
141
+ "query": {
142
+ "kind": "dataset",
143
+ "dataset": "orders"
144
+ },
145
+ "tenant": {
146
+ "mode": "none",
147
+ "ids": [
148
+ "acme"
149
+ ]
150
+ },
151
+ "rowLimit": null,
152
+ "error": "HQ_CACHE_PREIMAGE_INVALID_TENANT"
153
+ },
154
+ {
155
+ "id": "tenant-scoped-empty",
156
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
157
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
158
+ "query": {
159
+ "kind": "dataset",
160
+ "dataset": "orders"
161
+ },
162
+ "tenant": {
163
+ "mode": "scoped",
164
+ "ids": []
165
+ },
166
+ "rowLimit": null,
167
+ "error": "HQ_CACHE_PREIMAGE_INVALID_TENANT"
168
+ },
169
+ {
170
+ "id": "tenant-scoped-empty-id",
171
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
172
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
173
+ "query": {
174
+ "kind": "dataset",
175
+ "dataset": "orders"
176
+ },
177
+ "tenant": {
178
+ "mode": "scoped",
179
+ "ids": [
180
+ ""
181
+ ]
182
+ },
183
+ "rowLimit": null,
184
+ "error": "HQ_CACHE_PREIMAGE_INVALID_TENANT"
185
+ },
186
+ {
187
+ "id": "tenant-scoped-non-string-id",
188
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
189
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
190
+ "query": {
191
+ "kind": "dataset",
192
+ "dataset": "orders"
193
+ },
194
+ "tenant": {
195
+ "mode": "scoped",
196
+ "ids": [
197
+ 7
198
+ ]
199
+ },
200
+ "rowLimit": null,
201
+ "error": "HQ_CACHE_PREIMAGE_INVALID_TENANT"
202
+ },
203
+ {
204
+ "id": "row-limit-negative",
205
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
206
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
207
+ "query": {
208
+ "kind": "dataset",
209
+ "dataset": "orders"
210
+ },
211
+ "tenant": {
212
+ "mode": "none"
213
+ },
214
+ "rowLimit": -1,
215
+ "error": "HQ_CACHE_PREIMAGE_INVALID_LIMIT"
216
+ },
217
+ {
218
+ "id": "row-limit-above-safe-integer",
219
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
220
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
221
+ "query": {
222
+ "kind": "dataset",
223
+ "dataset": "orders"
224
+ },
225
+ "tenant": {
226
+ "mode": "none"
227
+ },
228
+ "rowLimit": 9007199254740992,
229
+ "error": "HQ_CACHE_PREIMAGE_INVALID_LIMIT"
230
+ },
231
+ {
232
+ "id": "row-limit-string",
233
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
234
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
235
+ "query": {
236
+ "kind": "dataset",
237
+ "dataset": "orders"
238
+ },
239
+ "tenant": {
240
+ "mode": "none"
241
+ },
242
+ "rowLimit": "100",
243
+ "error": "HQ_CACHE_PREIMAGE_INVALID_LIMIT"
244
+ },
245
+ {
246
+ "id": "precedence-secret-before-definition",
247
+ "secretHex": "",
248
+ "definitionIdentity": "nope",
249
+ "query": {
250
+ "kind": "dataset",
251
+ "dataset": "orders",
252
+ "sql": "x"
253
+ },
254
+ "tenant": {
255
+ "mode": "public"
256
+ },
257
+ "rowLimit": -1,
258
+ "error": "HQ_CACHE_PREIMAGE_SECRET_MISSING"
259
+ },
260
+ {
261
+ "id": "precedence-definition-before-query",
262
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
263
+ "definitionIdentity": "nope",
264
+ "query": {
265
+ "kind": "dataset",
266
+ "dataset": "orders",
267
+ "sql": "x"
268
+ },
269
+ "tenant": {
270
+ "mode": "public"
271
+ },
272
+ "rowLimit": -1,
273
+ "error": "HQ_CACHE_PREIMAGE_INVALID_DEFINITION"
274
+ },
275
+ {
276
+ "id": "precedence-query-before-tenant",
277
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
278
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
279
+ "query": {
280
+ "kind": "dataset",
281
+ "dataset": "orders",
282
+ "sql": "x"
283
+ },
284
+ "tenant": {
285
+ "mode": "public"
286
+ },
287
+ "rowLimit": -1,
288
+ "error": "HQ_CACHE_PREIMAGE_INVALID_QUERY"
289
+ },
290
+ {
291
+ "id": "precedence-tenant-before-limit",
292
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
293
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
294
+ "query": {
295
+ "kind": "dataset",
296
+ "dataset": "orders"
297
+ },
298
+ "tenant": {
299
+ "mode": "public"
300
+ },
301
+ "rowLimit": -1,
302
+ "error": "HQ_CACHE_PREIMAGE_INVALID_TENANT"
303
+ }
304
+ ]
@@ -0,0 +1,678 @@
1
+ [
2
+ {
3
+ "id": "minimal-dataset",
4
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
5
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
6
+ "query": {
7
+ "kind": "dataset",
8
+ "dataset": "orders"
9
+ },
10
+ "tenant": {
11
+ "mode": "none"
12
+ },
13
+ "rowLimit": null,
14
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
15
+ },
16
+ {
17
+ "id": "all-dataset-features",
18
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
19
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
20
+ "query": {
21
+ "kind": "dataset",
22
+ "dataset": "orders",
23
+ "dimensions": [
24
+ "status",
25
+ "customer.country"
26
+ ],
27
+ "measures": [
28
+ "revenue",
29
+ "orders"
30
+ ],
31
+ "filters": [
32
+ {
33
+ "kind": "comparison",
34
+ "operator": "eq",
35
+ "left": {
36
+ "kind": "reference",
37
+ "name": "status"
38
+ },
39
+ "right": {
40
+ "kind": "literal",
41
+ "value": "paid"
42
+ }
43
+ }
44
+ ],
45
+ "orderBy": [
46
+ {
47
+ "field": "revenue",
48
+ "direction": "desc"
49
+ }
50
+ ],
51
+ "limit": 500,
52
+ "offset": 20,
53
+ "by": "quarter",
54
+ "includeMeta": true
55
+ },
56
+ "tenant": {
57
+ "mode": "scoped",
58
+ "ids": [
59
+ "acme"
60
+ ]
61
+ },
62
+ "rowLimit": 100,
63
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":\"quarter\",\"dataset\":\"orders\",\"dimensions\":[\"status\",\"customer.country\"],\"filters\":[{\"kind\":\"comparison\",\"left\":{\"kind\":\"reference\",\"name\":\"status\"},\"operator\":\"eq\",\"right\":{\"kind\":\"literal\",\"value\":\"paid\"}}],\"kind\":\"dataset\",\"measures\":[\"revenue\",\"orders\"],\"offset\":20,\"orderBy\":[{\"direction\":\"desc\",\"field\":\"revenue\"}],\"segments\":[]},\"rowLimit\":100,\"tenant\":{\"fingerprints\":[\"4a4c227cbf8af9830ea8769544cf993c7f301d7dfaff1095df44e97843c25ece\"],\"mode\":\"scoped\"},\"version\":1}"
64
+ },
65
+ {
66
+ "id": "metric-query",
67
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
68
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
69
+ "query": {
70
+ "kind": "metric",
71
+ "dataset": "orders",
72
+ "metric": "average_order_value",
73
+ "dimensions": [
74
+ "customer.country"
75
+ ],
76
+ "by": "week"
77
+ },
78
+ "tenant": {
79
+ "mode": "none"
80
+ },
81
+ "rowLimit": null,
82
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":\"week\",\"dataset\":\"orders\",\"dimensions\":[\"customer.country\"],\"filters\":[],\"kind\":\"metric\",\"metric\":\"average_order_value\",\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
83
+ },
84
+ {
85
+ "id": "empty-collections-equal-omitted",
86
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
87
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
88
+ "query": {
89
+ "kind": "dataset",
90
+ "dataset": "orders",
91
+ "dimensions": [],
92
+ "filters": [],
93
+ "orderBy": [],
94
+ "segments": []
95
+ },
96
+ "tenant": {
97
+ "mode": "none"
98
+ },
99
+ "rowLimit": null,
100
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
101
+ },
102
+ {
103
+ "id": "offset-zero-equals-omitted",
104
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
105
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
106
+ "query": {
107
+ "kind": "dataset",
108
+ "dataset": "orders",
109
+ "offset": 0
110
+ },
111
+ "tenant": {
112
+ "mode": "none"
113
+ },
114
+ "rowLimit": null,
115
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
116
+ },
117
+ {
118
+ "id": "include-meta-and-limit-dropped",
119
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
120
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
121
+ "query": {
122
+ "kind": "dataset",
123
+ "dataset": "orders",
124
+ "includeMeta": true,
125
+ "limit": 10
126
+ },
127
+ "tenant": {
128
+ "mode": "none"
129
+ },
130
+ "rowLimit": null,
131
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
132
+ },
133
+ {
134
+ "id": "measures-empty-differs-from-omitted",
135
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
136
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
137
+ "query": {
138
+ "kind": "dataset",
139
+ "dataset": "orders",
140
+ "measures": []
141
+ },
142
+ "tenant": {
143
+ "mode": "none"
144
+ },
145
+ "rowLimit": null,
146
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":[],\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
147
+ },
148
+ {
149
+ "id": "filters-order-a",
150
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
151
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
152
+ "query": {
153
+ "kind": "dataset",
154
+ "dataset": "orders",
155
+ "filters": [
156
+ {
157
+ "kind": "comparison",
158
+ "operator": "eq",
159
+ "left": {
160
+ "kind": "reference",
161
+ "name": "status"
162
+ },
163
+ "right": {
164
+ "kind": "literal",
165
+ "value": "paid"
166
+ }
167
+ },
168
+ {
169
+ "kind": "comparison",
170
+ "operator": "eq",
171
+ "left": {
172
+ "kind": "reference",
173
+ "name": "customer.country"
174
+ },
175
+ "right": {
176
+ "kind": "literal",
177
+ "value": "NZ"
178
+ }
179
+ }
180
+ ]
181
+ },
182
+ "tenant": {
183
+ "mode": "none"
184
+ },
185
+ "rowLimit": null,
186
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[{\"kind\":\"comparison\",\"left\":{\"kind\":\"reference\",\"name\":\"customer.country\"},\"operator\":\"eq\",\"right\":{\"kind\":\"literal\",\"value\":\"NZ\"}},{\"kind\":\"comparison\",\"left\":{\"kind\":\"reference\",\"name\":\"status\"},\"operator\":\"eq\",\"right\":{\"kind\":\"literal\",\"value\":\"paid\"}}],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
187
+ },
188
+ {
189
+ "id": "filters-order-b",
190
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
191
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
192
+ "query": {
193
+ "kind": "dataset",
194
+ "dataset": "orders",
195
+ "filters": [
196
+ {
197
+ "kind": "comparison",
198
+ "operator": "eq",
199
+ "left": {
200
+ "kind": "reference",
201
+ "name": "customer.country"
202
+ },
203
+ "right": {
204
+ "kind": "literal",
205
+ "value": "NZ"
206
+ }
207
+ },
208
+ {
209
+ "kind": "comparison",
210
+ "operator": "eq",
211
+ "left": {
212
+ "kind": "reference",
213
+ "name": "status"
214
+ },
215
+ "right": {
216
+ "kind": "literal",
217
+ "value": "paid"
218
+ }
219
+ }
220
+ ]
221
+ },
222
+ "tenant": {
223
+ "mode": "none"
224
+ },
225
+ "rowLimit": null,
226
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[{\"kind\":\"comparison\",\"left\":{\"kind\":\"reference\",\"name\":\"customer.country\"},\"operator\":\"eq\",\"right\":{\"kind\":\"literal\",\"value\":\"NZ\"}},{\"kind\":\"comparison\",\"left\":{\"kind\":\"reference\",\"name\":\"status\"},\"operator\":\"eq\",\"right\":{\"kind\":\"literal\",\"value\":\"paid\"}}],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
227
+ },
228
+ {
229
+ "id": "duplicate-filters-collapse",
230
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
231
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
232
+ "query": {
233
+ "kind": "dataset",
234
+ "dataset": "orders",
235
+ "filters": [
236
+ {
237
+ "kind": "comparison",
238
+ "operator": "eq",
239
+ "left": {
240
+ "kind": "reference",
241
+ "name": "status"
242
+ },
243
+ "right": {
244
+ "kind": "literal",
245
+ "value": "paid"
246
+ }
247
+ },
248
+ {
249
+ "kind": "comparison",
250
+ "operator": "eq",
251
+ "left": {
252
+ "kind": "reference",
253
+ "name": "customer.country"
254
+ },
255
+ "right": {
256
+ "kind": "literal",
257
+ "value": "NZ"
258
+ }
259
+ },
260
+ {
261
+ "kind": "comparison",
262
+ "operator": "eq",
263
+ "left": {
264
+ "kind": "reference",
265
+ "name": "status"
266
+ },
267
+ "right": {
268
+ "kind": "literal",
269
+ "value": "paid"
270
+ }
271
+ }
272
+ ]
273
+ },
274
+ "tenant": {
275
+ "mode": "none"
276
+ },
277
+ "rowLimit": null,
278
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[{\"kind\":\"comparison\",\"left\":{\"kind\":\"reference\",\"name\":\"customer.country\"},\"operator\":\"eq\",\"right\":{\"kind\":\"literal\",\"value\":\"NZ\"}},{\"kind\":\"comparison\",\"left\":{\"kind\":\"reference\",\"name\":\"status\"},\"operator\":\"eq\",\"right\":{\"kind\":\"literal\",\"value\":\"paid\"}}],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
279
+ },
280
+ {
281
+ "id": "dimension-order-a",
282
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
283
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
284
+ "query": {
285
+ "kind": "dataset",
286
+ "dataset": "orders",
287
+ "dimensions": [
288
+ "status",
289
+ "customer.country"
290
+ ]
291
+ },
292
+ "tenant": {
293
+ "mode": "none"
294
+ },
295
+ "rowLimit": null,
296
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[\"status\",\"customer.country\"],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
297
+ },
298
+ {
299
+ "id": "dimension-order-b",
300
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
301
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
302
+ "query": {
303
+ "kind": "dataset",
304
+ "dataset": "orders",
305
+ "dimensions": [
306
+ "customer.country",
307
+ "status"
308
+ ]
309
+ },
310
+ "tenant": {
311
+ "mode": "none"
312
+ },
313
+ "rowLimit": null,
314
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[\"customer.country\",\"status\"],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
315
+ },
316
+ {
317
+ "id": "segments-sorted",
318
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
319
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
320
+ "query": {
321
+ "kind": "dataset",
322
+ "dataset": "orders",
323
+ "segments": [
324
+ "vip",
325
+ "active",
326
+ "recent"
327
+ ],
328
+ "by": "minute"
329
+ },
330
+ "tenant": {
331
+ "mode": "none"
332
+ },
333
+ "rowLimit": null,
334
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":\"minute\",\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[\"active\",\"recent\",\"vip\"]},\"rowLimit\":null,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
335
+ },
336
+ {
337
+ "id": "tenant-scoped",
338
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
339
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
340
+ "query": {
341
+ "kind": "dataset",
342
+ "dataset": "orders"
343
+ },
344
+ "tenant": {
345
+ "mode": "scoped",
346
+ "ids": [
347
+ "acme"
348
+ ]
349
+ },
350
+ "rowLimit": null,
351
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"fingerprints\":[\"4a4c227cbf8af9830ea8769544cf993c7f301d7dfaff1095df44e97843c25ece\"],\"mode\":\"scoped\"},\"version\":1}"
352
+ },
353
+ {
354
+ "id": "tenant-scoped-sorted-deduplicated",
355
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
356
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
357
+ "query": {
358
+ "kind": "dataset",
359
+ "dataset": "orders"
360
+ },
361
+ "tenant": {
362
+ "mode": "scoped",
363
+ "ids": [
364
+ "globex",
365
+ "acme",
366
+ "globex"
367
+ ]
368
+ },
369
+ "rowLimit": null,
370
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"fingerprints\":[\"4a4c227cbf8af9830ea8769544cf993c7f301d7dfaff1095df44e97843c25ece\",\"6083e08c340655eada5c06ceb8f59978b91e3efcf4cdd178752f9088cbdc633a\"],\"mode\":\"scoped\"},\"version\":1}"
371
+ },
372
+ {
373
+ "id": "tenant-all",
374
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
375
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
376
+ "query": {
377
+ "kind": "dataset",
378
+ "dataset": "orders"
379
+ },
380
+ "tenant": {
381
+ "mode": "all"
382
+ },
383
+ "rowLimit": null,
384
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"mode\":\"all\"},\"version\":1}"
385
+ },
386
+ {
387
+ "id": "tenant-non-ascii",
388
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
389
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
390
+ "query": {
391
+ "kind": "dataset",
392
+ "dataset": "orders",
393
+ "filters": [
394
+ {
395
+ "kind": "comparison",
396
+ "operator": "eq",
397
+ "left": {
398
+ "kind": "reference",
399
+ "name": "city"
400
+ },
401
+ "right": {
402
+ "kind": "literal",
403
+ "value": "Zürich 🏔"
404
+ }
405
+ }
406
+ ]
407
+ },
408
+ "tenant": {
409
+ "mode": "scoped",
410
+ "ids": [
411
+ "café",
412
+ "Zeta",
413
+ "alpha"
414
+ ]
415
+ },
416
+ "rowLimit": null,
417
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[{\"kind\":\"comparison\",\"left\":{\"kind\":\"reference\",\"name\":\"city\"},\"operator\":\"eq\",\"right\":{\"kind\":\"literal\",\"value\":\"Zürich 🏔\"}}],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"fingerprints\":[\"67acf03b10262948ef2f528320f75a709a159af15cadc3f8e9489ca22de12b6d\",\"68e9b46303ccac68022805c8b2897931eeabdddc693b2e2ea2b908c672d0fca0\",\"e0dfafca9663e7e623608399428f8f797b401275dc1231f4e504d7d1df9ec392\"],\"mode\":\"scoped\"},\"version\":1}"
418
+ },
419
+ {
420
+ "id": "row-limit-zero",
421
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
422
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
423
+ "query": {
424
+ "kind": "dataset",
425
+ "dataset": "orders"
426
+ },
427
+ "tenant": {
428
+ "mode": "none"
429
+ },
430
+ "rowLimit": 0,
431
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":0,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
432
+ },
433
+ {
434
+ "id": "row-limit-max-safe-integer",
435
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
436
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
437
+ "query": {
438
+ "kind": "dataset",
439
+ "dataset": "orders"
440
+ },
441
+ "tenant": {
442
+ "mode": "none"
443
+ },
444
+ "rowLimit": 9007199254740991,
445
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":9007199254740991,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
446
+ },
447
+ {
448
+ "id": "definition-changes-preimage",
449
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
450
+ "definitionIdentity": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
451
+ "query": {
452
+ "kind": "dataset",
453
+ "dataset": "orders"
454
+ },
455
+ "tenant": {
456
+ "mode": "none"
457
+ },
458
+ "rowLimit": null,
459
+ "preimageUtf8": "{\"definition\":\"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"mode\":\"none\"},\"version\":1}"
460
+ },
461
+ {
462
+ "id": "tenant-fingerprint-follows-secret",
463
+ "secretHex": "2222222222222222222222222222222222222222222222222222222222222222",
464
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
465
+ "query": {
466
+ "kind": "dataset",
467
+ "dataset": "orders"
468
+ },
469
+ "tenant": {
470
+ "mode": "scoped",
471
+ "ids": [
472
+ "acme"
473
+ ]
474
+ },
475
+ "rowLimit": null,
476
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"fingerprints\":[\"1dc5fffd71468f4bef9efd2fdb947d96f1e055f916b5caecf42910b09d6ceb18\"],\"mode\":\"scoped\"},\"version\":1}"
477
+ },
478
+ {
479
+ "id": "tenant-id-has-no-length-cap",
480
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
481
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
482
+ "query": {
483
+ "kind": "dataset",
484
+ "dataset": "orders"
485
+ },
486
+ "tenant": {
487
+ "mode": "scoped",
488
+ "ids": [
489
+ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
490
+ ]
491
+ },
492
+ "rowLimit": null,
493
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"fingerprints\":[\"7beb995c42dc293b1299b070a7623189923418d112d2d56479a22c8cbc3e3b40\"],\"mode\":\"scoped\"},\"version\":1}"
494
+ },
495
+ {
496
+ "id": "tenant-count-has-no-cap",
497
+ "secretHex": "1111111111111111111111111111111111111111111111111111111111111111",
498
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
499
+ "query": {
500
+ "kind": "dataset",
501
+ "dataset": "orders"
502
+ },
503
+ "tenant": {
504
+ "mode": "scoped",
505
+ "ids": [
506
+ "t000",
507
+ "t001",
508
+ "t002",
509
+ "t003",
510
+ "t004",
511
+ "t005",
512
+ "t006",
513
+ "t007",
514
+ "t008",
515
+ "t009",
516
+ "t010",
517
+ "t011",
518
+ "t012",
519
+ "t013",
520
+ "t014",
521
+ "t015",
522
+ "t016",
523
+ "t017",
524
+ "t018",
525
+ "t019",
526
+ "t020",
527
+ "t021",
528
+ "t022",
529
+ "t023",
530
+ "t024",
531
+ "t025",
532
+ "t026",
533
+ "t027",
534
+ "t028",
535
+ "t029",
536
+ "t030",
537
+ "t031",
538
+ "t032",
539
+ "t033",
540
+ "t034",
541
+ "t035",
542
+ "t036",
543
+ "t037",
544
+ "t038",
545
+ "t039",
546
+ "t040",
547
+ "t041",
548
+ "t042",
549
+ "t043",
550
+ "t044",
551
+ "t045",
552
+ "t046",
553
+ "t047",
554
+ "t048",
555
+ "t049",
556
+ "t050",
557
+ "t051",
558
+ "t052",
559
+ "t053",
560
+ "t054",
561
+ "t055",
562
+ "t056",
563
+ "t057",
564
+ "t058",
565
+ "t059",
566
+ "t060",
567
+ "t061",
568
+ "t062",
569
+ "t063",
570
+ "t064",
571
+ "t065",
572
+ "t066",
573
+ "t067",
574
+ "t068",
575
+ "t069",
576
+ "t070",
577
+ "t071",
578
+ "t072",
579
+ "t073",
580
+ "t074",
581
+ "t075",
582
+ "t076",
583
+ "t077",
584
+ "t078",
585
+ "t079",
586
+ "t080",
587
+ "t081",
588
+ "t082",
589
+ "t083",
590
+ "t084",
591
+ "t085",
592
+ "t086",
593
+ "t087",
594
+ "t088",
595
+ "t089",
596
+ "t090",
597
+ "t091",
598
+ "t092",
599
+ "t093",
600
+ "t094",
601
+ "t095",
602
+ "t096",
603
+ "t097",
604
+ "t098",
605
+ "t099",
606
+ "t100",
607
+ "t101",
608
+ "t102",
609
+ "t103",
610
+ "t104",
611
+ "t105",
612
+ "t106",
613
+ "t107",
614
+ "t108",
615
+ "t109",
616
+ "t110",
617
+ "t111",
618
+ "t112",
619
+ "t113",
620
+ "t114",
621
+ "t115",
622
+ "t116",
623
+ "t117",
624
+ "t118",
625
+ "t119",
626
+ "t120",
627
+ "t121",
628
+ "t122",
629
+ "t123",
630
+ "t124",
631
+ "t125",
632
+ "t126",
633
+ "t127",
634
+ "t128",
635
+ "t129",
636
+ "t130",
637
+ "t131",
638
+ "t132",
639
+ "t133",
640
+ "t134",
641
+ "t135",
642
+ "t136",
643
+ "t137",
644
+ "t138",
645
+ "t139",
646
+ "t140",
647
+ "t141",
648
+ "t142",
649
+ "t143",
650
+ "t144",
651
+ "t145",
652
+ "t146",
653
+ "t147",
654
+ "t148",
655
+ "t149"
656
+ ]
657
+ },
658
+ "rowLimit": null,
659
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"fingerprints\":[\"00643197ad572a0221e8a50b73def7a91bfc4a40bbbfce485bf33af77e050fbc\",\"015736d8acfb01ecdb715ae7c2676edb797b73bea335e205106ef572d7b2412a\",\"04a9046f779ccd811ff79409e6049d5a63ab44e9e870a0eeed62efa3fae352b8\",\"04ffcf98fd514521c8fc9bce48952a8ae6048fd9e4a2a7161f908b08c7e1240c\",\"054695501b7593855126ad68c231fbf99982c155a5bfc442db9b756e91ea817a\",\"098102c8a352f902c02af26f98a1be234abceb6adfedea2f79c0ba936384e0f3\",\"0a0b612a323d95b7e1d01c37ad5f42cb79fe81c20833e814af3be8c3c0a1a314\",\"0cd12d2cdba8f1c67b1061a0c07416ae8944c0dd216abb59a4adbc296d3c096f\",\"0e5c330ef4004f590ce3678db7dda45c8b32887e474c18c1493053297d0f3a99\",\"0efeddc9ef8e648fb7ad96766998615562f3fe3ac5a2964af5d3f6547a395966\",\"116c17cd554b99c6e6e7d4ffdb3c4745e6837004ce03f27405d01a2019c9ab8b\",\"13f08990d1b021b8fc6808c2ca8d18a0a332dfcd57d2adc65b66252e265564ff\",\"141df25fc65f9e2d7177cbc04e46678a60a8d6ddf3291968d4cc0b97d613eeb3\",\"14485d9899bc448ac9e8339ff9ee25f0df8045db4cfb15d47901034c1de48369\",\"184d42a881e77533595dde6abfa93cf904c649294ce51221d22a7a14f01aed7f\",\"1dc6cff93ff01e052cb9efbf0ba9938bef23e438c846b24c07abd081d1bda95f\",\"1dddf555b08af1c35b3b8aed79a71a45098a08a2bba893e2dcfdbe0f071296c6\",\"1f8a08f3ca6305f42588c0ffe33fe0d7392765cabae41e97881251b47dc5332f\",\"2053c7f3e586c0623abb9008112a4b2e2f7490709870ff7df1a98c8eb90ffea6\",\"23d1b13d02cc0308729632a141bf12c092460f343acca2b5bb2f78c92cc8274a\",\"263487f6e24065938396220078c02a9c1c832ed8863881f9f159df98dcbe2cd4\",\"2738f57cdacff73d96817a922ee813dc66d494d367a862f47cec9093525760b4\",\"28b211294c30bd5eccc93a42af885e79ffb7f3b23171cc0a57d3acf1cb68faf0\",\"2d2bc9fc20f7afef9bacdcc7a1da5e0411a4612d36e9ed238a7fcd52e86ae5a1\",\"2d8ee2caaa35f152fbd6cd46265ea4106af2850620cb2d8fd21af38db806a17d\",\"30fefbca894ad52f7fabeef0f838f73dee0ed0ab0c4187ccb152dadcd14fce49\",\"32f4835ed8d4bc1770e5f3bc6825d5e8c17816821e718706f5b96d89dbb3100a\",\"3791ea47c4300cee6f75ffee727d9e853473aa238e71d3a829c513c2ecc63569\",\"389ccc43ffe76d632d5195d9a031edddc6e8f64d1f4f447623608cf77b2aeaa9\",\"3a26463c00a45df99f0a97d37d747cdb3304cff6411e6fe8f5a076c52a1916e6\",\"3f90053690216181bb545813e8d76fd96a1d0ab1b4aba60bf263be23b99c11f0\",\"403657f009869495326ea9a06af36e4ca9a6722f6a71fc4e065f90db6c1d69d4\",\"4345497f9dd7eb05c36a35f6eb7f444a48a49a5c0f6323924304193985193bb4\",\"4436e46284dc968b7ef215171d664a74754d231ab1ca8373ac9e0134a8169e1a\",\"4461671fcd4f3bb85b50aaf4ca4e6212910278d10c0b5c619d3a52b92ad8ec89\",\"45f7a41439f2763a44b9b14ba98bae3bf80df6ec21112ecf386ead1b084a4f8d\",\"47255804896bb3ebbc55d20e205fedc2e911241fbf283e739a5db0f069b8438a\",\"47600257590b375bee4eb29a16d56f92cd2f379495f0bd8944d517bbc551bb7f\",\"4766e9935af291b3eb106ba3d7e234f46f0dec8800ef729ad2e342e07d0e2d8b\",\"4a3984610d2674407a1d1434c042d08dbf10d7bb6ae3d8490f9fd226cb6b1ca3\",\"4c249db1e2a494bd8fa022f7851fa48ffb8f86ab01ae5bad9c94edf6aaf9a187\",\"4c7685364c42a027b5ec560b5c6f702acfbdea4f94833bcd0bcb9b113ca9efa0\",\"4c9898cb18fa43e28061750d9afec6e0b40870be090f2e7562901373424b4be1\",\"4eba54e25b4298997773085c9a7e5c8cb19a731c67ee5a35950b8e1bdb6f0a61\",\"5092907fc398d79d778b8dd53be5a4847903049b029664f3dfe8bc40fc5be4e9\",\"50f550f3345a675bc0181a8e20bfac5a036a9a8fc39b8def8b718d91e5a6d3a8\",\"515031a63b1dad4a2496152510dd2203759dd63455976b84503fd00ea7bdc390\",\"51a8341d1e8d2e57d1fe21059d7f2e5f75bbc99d64d1093910eb8f6199544b7a\",\"54d333b659ba8f274f3c1c3b6dc394000900838534d8bc4f30349c4086b54461\",\"553fd6d2da53e829d21f87948a126fbfeb8156ffceff454c848e024beef5ba27\",\"56fc3d3ecfbdf662024179e89c06031ff6827adfd78f9a7a4fcee2ca9c11f578\",\"5a322e82c2d9ccbb6849af72f6eea1bd7862419645267d24dbdf4969bebc7f22\",\"5aee79ba6de18a7a7b52ffc984c0e217d06901a9c6f90f69d8a1b71e716a924b\",\"5ba0a680e548cdff8c7d41a3a2362ba6ea3da5e226186f77361e175fb4a0c92f\",\"6056d31a8c7185df2992ab74d4042c731db2c313b8e9a9a2bbfcd99bf70c917a\",\"60a25015b6ab674c24d3e0a8898ef9347473c417651a0158aa58652bb018f959\",\"60b45f6fea7edd7a1a6835742f1860c8c136ab9de6024978280904e1e448a6fc\",\"6291b12c766798b1dcc53ecdcd156f78902bd4271e30049b87d2b707d3f84f3e\",\"64a36fb693a819bb3144b710acf100a0b54d47aa382f51a39bdcb00bf84c518f\",\"64b74cbe48b54e42e1320011a6e33bb3962b2b8dcf0a228049f7181a30da4ba8\",\"67fa94f5e8bdd1e244d75eb48d441184f4dfc6513b18a07a171f3385ea08ad23\",\"68164d221e2e008d061c3309d24946bd5c94a3e02ec08a7312b46f7f8e6850bc\",\"6a07f54a7b3ea8f55f423527ddf94c728efcb32289418b361b388852e56b8ed5\",\"6aad4511caf3d6cdffac68ac6f510d895ad734b14704d983ea37dac01cc0b790\",\"6ad8a89c81cda6c453797cd383191a93aa11adce9e127bb83c87b517c34ca9e1\",\"70982cf435f42503aa19ebed9d182ce84bc0e980baae522dfc2787f85fb3bfca\",\"716eb833d8741aa6b5d3037b35a34024f6896333eb16602e325c3377ddcaa434\",\"71dd91f9d90ab1b35b0a546ea6925aa014476e6cfd736e96bfad51b9cad6d580\",\"7250a13b2275a048ba020c1f5dab31a3b265faf4e13c43332989c1c1edad0c9a\",\"734a8f6c00f6594282e12c923f120cca374c7ac64f3b0095277e5e7072904b4a\",\"7677b15b3ce5aa062c54b561595e9b7df3352179f6a6a46f0160a204b22d8d81\",\"784dfc6736ec0ba7d033d35ad87ae08034f48bb123d08f6b6d59c57046db6fb0\",\"799b150e921c5351c69cd0968364cd4a2228a3df79f39c216800865f99698e8b\",\"7a0f38e89438592e1b56c79556fe487bb4935b6e3975b827ca70ad551c650c45\",\"7b6b78534a0c59efa3af5ba3c7e3d60854e8142c23b27ccb5d48692efef26351\",\"7c6aa67f7a0792753f18d30059427f3950599b0a9889333c47bbd6b403af055b\",\"7d98e74934bb443cd4978787875c2348e9c1daba76718f9cfde6d984b17eb5cf\",\"7dc3996dc00c6dcd5c5ca505c10fd57d075e69c86a38a9f584f94e255ac9194d\",\"7eefe0045e53e7f0901a40d31f24b015ceb776abd6b5f3235fba65d33c53bde5\",\"7f15117abdbea8e01f6bbe3aecfa330be2f87079850caade0aea4d397f5706df\",\"7f21634f347b4bf0f474a9ce7bd8e09644e45625544f08e22392196e0358d7cb\",\"814480c2ffcd26844b6f8aab6bf6daa07b7c16aff1a74d882f27bcea34e0170c\",\"83ca9b410f576fbc1782d37d7da310b05c766b8f6bd527d4af3f4a68c9dfe69a\",\"83e7a5ae6ab4437527b7236dc51b12ff10dd09812d426077312081c29992e582\",\"84208640b552b56f6071bd93e1c9cd4a256a2fcea1b75d017c371302c2ae123d\",\"89b8eddcd21ecb647774edf45bc55aff74e32e82a9cc749c602b9bd0bfcf0132\",\"89cfaaa7790f55a1183fb5cf99590492cfb29ed5d357f23e96cb330b0d5a1764\",\"8a8018901ecba49d82a709706cf96a83a68d0fe06922c49cfd104028ad1c7105\",\"8c1147e62f1c14de6f054e1ca3e1119aa5f9f0b9325b22f0df38e87644ae46df\",\"8c95910493de6a7610c4a731860b178db7816fdfacb6d8b1ec387af1b49da714\",\"8cb4fbe2d79bba8201a9bae5a0b39f6721025a1e8af5252b51fc1a5bb6d8fb12\",\"909679205e41e64da1c84a10da85162432670b5508c1212ff63ac2d7e403a4e0\",\"90cebb1665785e694cd2abafc12955ec064de38213a5da35145c367eb6140134\",\"91df84e47e270c8b7b307a8a75f272fc0053b717b03d2019fe51fccb47e3ef4b\",\"926f3e33cd2abd492848c86c4b7329f40a3627bd66dea761c7da2848edf7353c\",\"92f4b796bf6fd2eddcae5df67d377f48ee3172511c0b9750cb44a978a3d7eb4a\",\"959c580a57af72c839168ab7d1c96b54c08138d59d9d6e9ac5951d363e30d14e\",\"981b37bdf192461d282f10f4b4603cc7ce37082eb6f040d93db60468073aa016\",\"9ee91d4a5c45bcfa1743bd607f369a5d626d7f6612381c0ac6f72f34632b8798\",\"9f8c84fc3dff6aae9ed2d4115cae4cba54ea22c728915d1005478f3d803b7578\",\"a18e1546a03ff34ec5d79c3d6167c312e20fb0f165aeb97fdd9f6cc089d1d73c\",\"a21bf55c9a4942ce5864f78df31dce1c6b8d87605c62a8a00f4eb68d0dbf57e3\",\"a3ab4a5698622ca882c720aec028c25de3ac539a06a6fc5745ba85ed5b7e935a\",\"a6c1964c62f9a140e5507101be56d8c2cffc2dcf3392ab16c4e91ae1d5dfd6ff\",\"a7acbdb35285dc158f74870856e1f2df55bcfd2b7855d081806a8d68f33d7865\",\"a9f977277b6b7b5f1bd559f6d47114a99e4c454f4c5683243a487e4ba94f3d6d\",\"aadf31deaaa675dfd868d1c4b9ef081175677d4d4d92872fbb48667f83096bc6\",\"abefd1199344a8d8b67828b6a0591b6cf8f16a98b02e9d00713ea14f1b228d27\",\"aecc4e8126627d4602013f0ede5b94fff838d04ef78f2abc873c5249666f3697\",\"af9bd5c09a65562128bfb9fcefe91f7ed3e8754bf1db78cf99db644f941c0a64\",\"b10669cb1d6630e06dacefc0430a9e21368ae948d6a05aad1432ef3e920c1e64\",\"b1c3f372ee901515dee36a8a81c9cf7cd98371b4ee6a228638fd47123f157a9c\",\"b224d01af5181850e7709d71bcfffabc8a0fe965a7faf2c2563d382d187396c1\",\"b38ab0cdfe28a90baee8eeac9cbb48516e8a4f40e99852b7b278e2038611fb1a\",\"b823401b87d9b0fd211c99e28254c570d8578096be97a246076330304d894575\",\"b94a9eb4a1f8a1b69842ab2d418c7d31ce5a3e558aa4079785e58bb893578694\",\"bd3b02d8d7006f41b17c09f290e3ddad9cd3b0b6c8ef40c173d84975ccde9585\",\"bf4211a5040ba1799be3615bb6f8161cd68e8ebd685f321c62a550b4906445f6\",\"c1e9e03bcd6eea34a557c0fe5e48e98d0b421a40857b406d64f136699781a52e\",\"c9670513918f3ac639a1f7796dd04871771228c29e4e5b1244c0d645c8176df8\",\"c9e310119d3622b02e632973eaa0ecc23565a07f852b606b7ce687ccea5a8ac3\",\"ca26cc0b121f3e458897c75ee4b90bb0ac05067bc5cc4e952dfba66ce3ad733c\",\"cab3bf42e7799986126bb1a06b2129b6930e284f6a080a739b8fe1c6a2b02078\",\"cb66ec1d56221906f1a3fb69dd2fae444dec72e21aa8c72b640f2a50c6499435\",\"cc749ab1eef3c4450948f3897be50d6b533bbf487355815a8149829d595e1510\",\"ce1e006b50198b66be4df49beb8a460b7e2cffa4a1fa103c9b7af282dc2569bb\",\"d1597d84036033c3df94a66c3fab5c420c5124b096931f9d7eb6e8c0ea4ff4f0\",\"d436921297e33442315d59699540ecdd400e3dd07c683f00e3d2a3a6dccdfb53\",\"d44ae1509052325acd3f2a6e0a3fb16f406a0c893d8d124de015f7c51ccb8e57\",\"d9f9f85534350d86ee6ef03094881060469758f4599a458353a914db9633d288\",\"da5c173325d90eed114f921a256c0e86c1863364105454a5da183ae0f9d6a8cb\",\"e10661d81a1069e0350da82c1eb2180c161b12eab5493a6314a9ad3c0d32db09\",\"e319afa0e2c6aec98198677d0ff52746f4301bbf842640e139d49089c58501c0\",\"e3373f8562b50ad42b360a17e7ed1c2123f8c06995df6902b78781864fe5932a\",\"e359eb1cf01d8355f2bd0321afd5d9e20c274e5f97de70aff44c352e5b4529d1\",\"e583a58191ea3db5e967e2b16b1da22967763ffa279c4e5e2532490f419ecf97\",\"e6bd02f3bece069b54f8aaf495d61d8ba28f6f2a43afd0d87da57c8bf02b672d\",\"e84b5e7f26cb6d89ba5e6d5bc20379c15b4c5c95c8e21bbc681f1e9b54071ca8\",\"ed7075aa042c6aad0e42e02c555d30b3300809862b057d6fd18c8d1fd00fbae0\",\"f03e9316f64cd553e492934a0a7bf26c0a0f3f632f09f40e46b997fd3e38d138\",\"f18d1ad618d6d75ae957531e9f01284637d29ee47730ee8e869c3fbbdbd34cb9\",\"f1f7db534c9d40685931bd5d30f514e74c7a56f900c467c558183a7970897455\",\"f6d6449e7cd61b7f4da097d0e47810f055d7e57fa7c4130e43d1a967f29cefee\",\"f78cfb578c29a2a70baade913f0fc34822517fdfe0a06ff690073bafe1ff1c17\",\"f7d2d6f1853c011b3251465b798eeb4df28fae93879f7f0809fdbe18a1f9ab47\",\"f82137347dc6262be1034ac4cbdc65fb7b04f58918c547b048639032188e973f\",\"fa104fcfc0de46f5a65e9ab590c7a4e5b97ea5ec4a02bac1a2c53ac4b72c83ac\",\"fb2319441bb14c9e8d65e72e064c13fc2e921a68fde72ed048fed6895b0ead1d\",\"fd0ffa4fc2ac19818edf2f3c6902e0e2c4a0e3fede4a348b731ac38845928260\",\"fe5dc951cec71bc3e1e9d572155c35ef86d8e55a4ebf604ca57cf4f31cd28066\"],\"mode\":\"scoped\"},\"version\":1}"
660
+ },
661
+ {
662
+ "id": "secret-longer-than-minimum",
663
+ "secretHex": "33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333",
664
+ "definitionIdentity": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
665
+ "query": {
666
+ "kind": "dataset",
667
+ "dataset": "orders"
668
+ },
669
+ "tenant": {
670
+ "mode": "scoped",
671
+ "ids": [
672
+ "acme"
673
+ ]
674
+ },
675
+ "rowLimit": null,
676
+ "preimageUtf8": "{\"definition\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"kind\":\"hypequery-cache-preimage\",\"query\":{\"by\":null,\"dataset\":\"orders\",\"dimensions\":[],\"filters\":[],\"kind\":\"dataset\",\"measures\":null,\"offset\":null,\"orderBy\":[],\"segments\":[]},\"rowLimit\":null,\"tenant\":{\"fingerprints\":[\"2d1655369f823def057e32f14afbe23e4a21b3a321aa834e7f51190ddcaf6cb2\"],\"mode\":\"scoped\"},\"version\":1}"
677
+ }
678
+ ]
@@ -264,6 +264,23 @@
264
264
  }
265
265
  ]
266
266
  },
267
+ {
268
+ "name": "cache-preimages-v1",
269
+ "rfc": "0009",
270
+ "codePrefixes": [
271
+ "HQ_CACHE_PREIMAGE_"
272
+ ],
273
+ "files": [
274
+ {
275
+ "path": "cache-preimages-v1/success.json",
276
+ "role": "success"
277
+ },
278
+ {
279
+ "path": "cache-preimages-v1/rejections.json",
280
+ "role": "rejection"
281
+ }
282
+ ]
283
+ },
267
284
  {
268
285
  "name": "semantic-invocations-v1",
269
286
  "rfc": "0014",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hypequery/protocol-conformance",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "Cross-language conformance runner for the Hypequery analytics security protocol",
5
5
  "keywords": [
6
6
  "hypequery",
@@ -31,7 +31,7 @@
31
31
  "README.md"
32
32
  ],
33
33
  "dependencies": {
34
- "@hypequery/protocol": "^0.16.0"
34
+ "@hypequery/protocol": "^0.17.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/node": "^22.5.0",