@cohesivesystems/relations 0.1.0-alpha.4 → 0.1.0-alpha.5
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/generated/relations.shapes.generated.d.ts +1774 -268
- package/dist/generated/relations.shapes.generated.d.ts.map +1 -1
- package/dist/generated/relations.shapes.generated.js +981 -183
- package/dist/generated/relations.shapes.generated.js.map +1 -1
- package/dist/wire-contract.typecheck.d.ts +246 -0
- package/dist/wire-contract.typecheck.d.ts.map +1 -0
- package/dist/wire-contract.typecheck.js +2 -0
- package/dist/wire-contract.typecheck.js.map +1 -0
- package/package.json +1 -1
- package/src/generated/relations.shapes.generated.ts +2510 -340
- package/src/wire-contract.typecheck.ts +291 -0
|
@@ -1,34 +1,1050 @@
|
|
|
1
1
|
/* <auto-generated/> */
|
|
2
2
|
|
|
3
|
-
export
|
|
4
|
-
|
|
3
|
+
export type GraphId = string;
|
|
4
|
+
|
|
5
|
+
export type ShapeId = string;
|
|
6
|
+
|
|
7
|
+
export type RelationQueryExplainStage = {
|
|
8
|
+
readonly $stage: 'staticCompilation';
|
|
9
|
+
} & RelationQueryStaticCompilationExplainStage | {
|
|
10
|
+
readonly $stage: 'profileFeasibility';
|
|
11
|
+
} & RelationQueryProfileFeasibilityExplainStage | {
|
|
12
|
+
readonly $stage: 'sourcePlacement';
|
|
13
|
+
} & RelationQuerySourcePlacementExplainStage | {
|
|
14
|
+
readonly $stage: 'boundRealization';
|
|
15
|
+
} & RelationQueryBoundRealizationExplainStage | {
|
|
16
|
+
readonly $stage: 'physicalPlanning';
|
|
17
|
+
} & RelationQueryPhysicalPlanningExplainStage | {
|
|
18
|
+
readonly $stage: 'nativeCompilation';
|
|
19
|
+
} & RelationQueryNativeCompilationExplainStage | {
|
|
20
|
+
readonly $stage: 'evaluation';
|
|
21
|
+
} & RelationQueryEvaluationExplainStage;
|
|
22
|
+
|
|
23
|
+
export interface RelationQueryStaticCompilationExplainStage {
|
|
24
|
+
status: RelationQueryExplainStageStatus;
|
|
25
|
+
request: RelationQueryCompilationRequestReference;
|
|
26
|
+
plan?: RelationQueryStaticPlanExplanation | null;
|
|
27
|
+
diagnostics: DocumentValidationDiagnostic[];
|
|
5
28
|
}
|
|
6
29
|
|
|
7
|
-
export interface
|
|
8
|
-
|
|
30
|
+
export interface RelationQueryProfileFeasibilityExplainStage {
|
|
31
|
+
status: RelationQueryExplainStageStatus;
|
|
32
|
+
report: RelationQueryRealizationReport;
|
|
9
33
|
}
|
|
10
34
|
|
|
11
|
-
export interface
|
|
12
|
-
|
|
35
|
+
export interface RelationQuerySourcePlacementExplainStage {
|
|
36
|
+
status: RelationQueryExplainStageStatus;
|
|
37
|
+
placement: RelationQuerySourcePlacement;
|
|
13
38
|
}
|
|
14
39
|
|
|
15
|
-
export interface
|
|
16
|
-
|
|
40
|
+
export interface RelationQueryBoundRealizationExplainStage {
|
|
41
|
+
report: RelationQueryBoundRealizationReport;
|
|
42
|
+
status: RelationQueryExplainStageStatus;
|
|
17
43
|
}
|
|
18
44
|
|
|
19
|
-
export interface
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
45
|
+
export interface RelationQueryPhysicalPlanningExplainStage {
|
|
46
|
+
status: RelationQueryExplainStageStatus;
|
|
47
|
+
plan: RelationQueryCompiledPlanReference;
|
|
48
|
+
realization: RelationQueryRealizationFingerprint;
|
|
49
|
+
placement: RelationQuerySourcePlacementFingerprint;
|
|
50
|
+
policy?: RelationQueryPhysicalPlanningPolicy | null;
|
|
51
|
+
result: RelationQueryPhysicalPlanningResult;
|
|
23
52
|
}
|
|
24
53
|
|
|
25
|
-
export interface
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
On: Expr;
|
|
54
|
+
export interface RelationQueryNativeCompilationExplainStage {
|
|
55
|
+
status: RelationQueryExplainStageStatus;
|
|
56
|
+
attempt: RelationQueryNativeCompilationAttemptReference;
|
|
57
|
+
compilation: RelationQueryNativeCompilationExplanation;
|
|
30
58
|
}
|
|
31
59
|
|
|
60
|
+
export interface RelationQueryEvaluationExplainStage {
|
|
61
|
+
evaluation: RelationQueryEvaluationExplanation;
|
|
62
|
+
status: RelationQueryExplainStageStatus;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface RelationQueryCapabilitySummary {
|
|
66
|
+
target: RelationQueryTargetId;
|
|
67
|
+
targetProfile: RelationQueryTargetProfileId;
|
|
68
|
+
policy?: RelationQueryRealizationPolicyId | null;
|
|
69
|
+
profileFeasibility?: RelationQueryRealizationFingerprint | null;
|
|
70
|
+
boundRealization?: RelationQueryBoundRealizationFingerprint | null;
|
|
71
|
+
operatingBoundaries: RelationQueryOperatingBoundaryId[];
|
|
72
|
+
entries: RelationQueryCapabilitySummaryEntry[];
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface RelationQueryExplainDiagnostic {
|
|
76
|
+
stage: string;
|
|
77
|
+
code: string;
|
|
78
|
+
severity: DiagnosticSeverity;
|
|
79
|
+
message: string;
|
|
80
|
+
location?: string | null;
|
|
81
|
+
branch?: RelationQueryNativeResultBranchId | null;
|
|
82
|
+
requirement?: RelationQueryRealizationRequirementId | null;
|
|
83
|
+
node?: QueryNodeId | null;
|
|
84
|
+
input?: RelationQueryInputId | null;
|
|
85
|
+
output?: RelationQueryOutputId | null;
|
|
86
|
+
placementBinding?: RelationQuerySourcePlacementBindingId | null;
|
|
87
|
+
physicalStage?: RelationQueryPhysicalStageId | null;
|
|
88
|
+
source?: RelationQuerySourceInstanceId | null;
|
|
89
|
+
capabilityEvidence?: RelationQueryTargetCapabilityEvidenceId | null;
|
|
90
|
+
operatingBoundary?: RelationQueryOperatingBoundaryId | null;
|
|
91
|
+
contextEvidence?: RelationQueryContextEvidenceId | null;
|
|
92
|
+
semanticSite?: string | null;
|
|
93
|
+
compositionRule?: RelationQueryCompositionRuleId | null;
|
|
94
|
+
override?: RelationQueryRealizationOverrideId | null;
|
|
95
|
+
field?: FieldPath | null;
|
|
96
|
+
bindingSetting?: string | null;
|
|
97
|
+
resolution?: string | null;
|
|
98
|
+
configurationOrigin?: RelationQueryConfigurationValueOrigin | null;
|
|
99
|
+
configurationAuthority?: string | null;
|
|
100
|
+
adapterDecisionCode?: RelationQueryAdapterDecisionCode | null;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export interface RelationQueryExplainFingerprint {
|
|
104
|
+
algorithm: string;
|
|
105
|
+
canonicalization: string;
|
|
106
|
+
value: string;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export interface RelationQueryCompiledPlanReference {
|
|
110
|
+
compilerProfile: string;
|
|
111
|
+
definitionSchemaVersion: string;
|
|
112
|
+
definitionFingerprint: RelationQueryDefinitionFingerprint;
|
|
113
|
+
shapeSnapshotsFingerprint: RelationQueryPlanComponentFingerprint;
|
|
114
|
+
relationshipCatalogFingerprint?: RelationshipCatalogFingerprint | null;
|
|
115
|
+
demandFingerprint: RelationQueryPlanComponentFingerprint;
|
|
116
|
+
inputs: RelationQueryInputId[];
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export interface RelationQueryRealizationFingerprint {
|
|
120
|
+
algorithm: string;
|
|
121
|
+
canonicalization: string;
|
|
122
|
+
value: string;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export interface RelationQueryPhysicalPlanningPolicy {
|
|
126
|
+
id: RelationQueryPhysicalPlanningPolicyId;
|
|
127
|
+
conventionSetVersion: string;
|
|
128
|
+
maximumBatchSize: string;
|
|
129
|
+
maximumBufferedRows: string;
|
|
130
|
+
maximumLocalRows: string;
|
|
131
|
+
maximumFanOut: string;
|
|
132
|
+
maximumReferenceKeysPerObservation: string;
|
|
133
|
+
maximumConcurrency: string;
|
|
134
|
+
loweringSelections: RelationQueryPhysicalLoweringSelection[];
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export interface RelationQueryPhysicalStage {
|
|
138
|
+
id: RelationQueryPhysicalStageId;
|
|
139
|
+
kind: RelationQueryPhysicalStageKind;
|
|
140
|
+
dependencies: RelationQueryPhysicalStageId[];
|
|
141
|
+
placementBinding?: RelationQuerySourcePlacementBindingId | null;
|
|
142
|
+
semanticInputs: RelationQueryInputId[];
|
|
143
|
+
requestedFields: RelationQueryInputId[];
|
|
144
|
+
batchSize?: string | null;
|
|
145
|
+
provenance: RelationQueryPhysicalStageProvenance;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export type RelationQueryPhysicalStageId = string;
|
|
149
|
+
|
|
150
|
+
export interface RelationQueryPhysicalPlanningDiagnostic {
|
|
151
|
+
code: string;
|
|
152
|
+
severity: DiagnosticSeverity;
|
|
153
|
+
message: string;
|
|
154
|
+
input?: RelationQueryInputId | null;
|
|
155
|
+
stage?: RelationQueryPhysicalStageId | null;
|
|
156
|
+
placementBinding?: RelationQuerySourcePlacementBindingId | null;
|
|
157
|
+
requirement?: RelationQueryRealizationRequirementId | null;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export interface RelationQueryPhysicalPlanFingerprint {
|
|
161
|
+
algorithm: string;
|
|
162
|
+
canonicalization: string;
|
|
163
|
+
value: string;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export interface RelationQuerySourceInstance {
|
|
167
|
+
id: RelationQuerySourceInstanceId;
|
|
168
|
+
executionDomain: RelationQueryExecutionDomainId;
|
|
169
|
+
targetProfile: RelationQueryTargetCapabilityProfile;
|
|
170
|
+
limits: RelationQuerySourcePlacementLimits;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export interface RelationQuerySourcePlacementBinding {
|
|
174
|
+
id: RelationQuerySourcePlacementBindingId;
|
|
175
|
+
input: RelationQueryInputId;
|
|
176
|
+
node: QueryNodeId;
|
|
177
|
+
binding: ValueBindingId;
|
|
178
|
+
shape: QualifiedShapeId;
|
|
179
|
+
source: RelationQuerySourceInstanceId;
|
|
180
|
+
kind: RelationQuerySourcePlacementBindingKind;
|
|
181
|
+
acquisition: RelationQuerySourceAcquisitionKind;
|
|
182
|
+
origin: RelationQuerySourcePlacementOrigin;
|
|
183
|
+
identity?: RelationQuerySourceIdentityBinding | null;
|
|
184
|
+
fields: RelationQuerySourceFieldBinding[];
|
|
185
|
+
relationshipKeys: RelationQueryRelationshipKeyBinding[];
|
|
186
|
+
partition?: RelationQueryPartitionBinding | null;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export interface RelationQueryConfigurationDecision {
|
|
190
|
+
setting: string;
|
|
191
|
+
origin: RelationQueryConfigurationValueOrigin;
|
|
192
|
+
authority: string;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
export interface RelationQuerySourcePlacementFingerprint {
|
|
196
|
+
algorithm: string;
|
|
197
|
+
canonicalization: string;
|
|
198
|
+
value: string;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export type RelationQueryNativeResultBranchId = string;
|
|
202
|
+
|
|
203
|
+
export interface RelationQueryContextualEvidenceProjection {
|
|
204
|
+
binding: RelationQueryAdapterBindingReference;
|
|
205
|
+
assessments: RelationQueryBoundRequirementAssessment[];
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export interface RelationQueryRealizationDiagnostic {
|
|
209
|
+
code: string;
|
|
210
|
+
severity: DiagnosticSeverity;
|
|
211
|
+
message: string;
|
|
212
|
+
requirement?: RelationQueryRealizationRequirementId | null;
|
|
213
|
+
capabilityEvidence?: RelationQueryTargetCapabilityEvidenceId | null;
|
|
214
|
+
compositionRule?: RelationQueryCompositionRuleId | null;
|
|
215
|
+
operatingBoundary?: RelationQueryOperatingBoundaryId | null;
|
|
216
|
+
override?: RelationQueryRealizationOverrideId | null;
|
|
217
|
+
node?: QueryNodeId | null;
|
|
218
|
+
semanticSite?: string | null;
|
|
219
|
+
contextEvidence?: RelationQueryContextEvidenceId | null;
|
|
220
|
+
branch?: RelationQueryNativeResultBranchId | null;
|
|
221
|
+
input?: RelationQueryInputId | null;
|
|
222
|
+
field?: FieldPath | null;
|
|
223
|
+
placementBinding?: RelationQuerySourcePlacementBindingId | null;
|
|
224
|
+
bindingSetting?: string | null;
|
|
225
|
+
resolution?: string | null;
|
|
226
|
+
configurationOrigin?: RelationQueryConfigurationValueOrigin | null;
|
|
227
|
+
configurationAuthority?: string | null;
|
|
228
|
+
adapterDecisionCode?: RelationQueryAdapterDecisionCode | null;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export type RelationQueryRealizationStatus = 'Realizable' | 'NotRealizable' | 'Invalid';
|
|
232
|
+
|
|
233
|
+
export const relationQueryRealizationStatuses = {
|
|
234
|
+
realizable: 'Realizable',
|
|
235
|
+
notRealizable: 'NotRealizable',
|
|
236
|
+
invalid: 'Invalid',
|
|
237
|
+
} as const satisfies Record<string, RelationQueryRealizationStatus>;
|
|
238
|
+
|
|
239
|
+
export const relationQueryRealizationStatusLabels: Record<RelationQueryRealizationStatus, string> = {
|
|
240
|
+
Realizable: 'Realizable',
|
|
241
|
+
NotRealizable: 'NotRealizable',
|
|
242
|
+
Invalid: 'Invalid',
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
export interface RelationQueryBoundRealizationFingerprint {
|
|
246
|
+
algorithm: string;
|
|
247
|
+
canonicalization: string;
|
|
248
|
+
value: string;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
export interface RelationQueryRealizationPolicy {
|
|
252
|
+
id: RelationQueryRealizationPolicyId;
|
|
253
|
+
conventionSetVersion: string;
|
|
254
|
+
preference: RelationQueryRealizationPreference;
|
|
255
|
+
constrainedRealizations: RelationQueryConstrainedRealizationPolicy;
|
|
256
|
+
compositionRules: RelationQueryCompositionRule[];
|
|
257
|
+
compositionRuleSelections: RelationQueryCompositionRuleSelection[];
|
|
258
|
+
overrides: RelationQueryRealizationOverride[];
|
|
259
|
+
diagnosticSeverityOverrides: RelationQueryRealizationDiagnosticSeverityOverride[];
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
export interface RelationQueryResultObservability {
|
|
263
|
+
occurrenceProvenance: RelationQueryOccurrenceProvenanceMode;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
export interface RelationQueryRealizationRequirement {
|
|
267
|
+
id: RelationQueryRealizationRequirementId;
|
|
268
|
+
capability: RelationQueryCapability;
|
|
269
|
+
origin?: RelationQueryRealizationRequirementOrigin | null;
|
|
270
|
+
uses: RelationQueryRealizationRequirementUse[];
|
|
271
|
+
requiredGuarantees: RelationQueryGuaranteeCapabilityKind[];
|
|
272
|
+
staticFacts: RelationQueryRealizationStaticFact[];
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
export type RelationQueryRealizationDecision = {
|
|
276
|
+
readonly $decision: 'native';
|
|
277
|
+
} & NativeRelationQueryRealizationDecision | {
|
|
278
|
+
readonly $decision: 'composed';
|
|
279
|
+
} & ComposedRelationQueryRealizationDecision | {
|
|
280
|
+
readonly $decision: 'constrained';
|
|
281
|
+
} & ConstrainedRelationQueryRealizationDecision | {
|
|
282
|
+
readonly $decision: 'override';
|
|
283
|
+
} & OverrideRelationQueryRealizationDecision | {
|
|
284
|
+
readonly $decision: 'unavailable';
|
|
285
|
+
} & UnavailableRelationQueryRealizationDecision;
|
|
286
|
+
|
|
287
|
+
export interface NativeRelationQueryRealizationDecision {
|
|
288
|
+
capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
|
|
289
|
+
preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
|
|
290
|
+
requirement: RelationQueryRealizationRequirementId;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
export interface ComposedRelationQueryRealizationDecision {
|
|
294
|
+
compositionRules: RelationQueryCompositionRuleId[];
|
|
295
|
+
capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
|
|
296
|
+
preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
|
|
297
|
+
requirement: RelationQueryRealizationRequirementId;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
export interface ConstrainedRelationQueryRealizationDecision {
|
|
301
|
+
capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
|
|
302
|
+
boundaryValidations: RelationQueryOperatingBoundaryValidation[];
|
|
303
|
+
compositionRules: RelationQueryCompositionRuleId[];
|
|
304
|
+
preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
|
|
305
|
+
requirement: RelationQueryRealizationRequirementId;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
export interface OverrideRelationQueryRealizationDecision {
|
|
309
|
+
override: RelationQueryRealizationOverrideId;
|
|
310
|
+
capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
|
|
311
|
+
boundaryValidations: RelationQueryOperatingBoundaryValidation[];
|
|
312
|
+
preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
|
|
313
|
+
requirement: RelationQueryRealizationRequirementId;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
export interface UnavailableRelationQueryRealizationDecision {
|
|
317
|
+
requirement: RelationQueryRealizationRequirementId;
|
|
318
|
+
reason: RelationQueryUnavailableReason;
|
|
319
|
+
missingCapabilities: RelationQueryCapability[];
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
export type RelationQueryTargetId = string;
|
|
323
|
+
|
|
324
|
+
export type RelationQueryTargetProfileId = string;
|
|
325
|
+
|
|
326
|
+
export interface RelationQueryTargetCapabilityEvidence {
|
|
327
|
+
id: RelationQueryTargetCapabilityEvidenceId;
|
|
328
|
+
capability: RelationQueryCapability;
|
|
329
|
+
operatingBoundaries: RelationQueryOperatingBoundaryId[];
|
|
330
|
+
description?: string | null;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
export interface RelationQueryOperatingBoundary {
|
|
334
|
+
id: RelationQueryOperatingBoundaryId;
|
|
335
|
+
kind: RelationQueryOperatingBoundaryKind | number;
|
|
336
|
+
limit?: string | null;
|
|
337
|
+
description?: string | null;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
export interface RelationDraft {
|
|
341
|
+
id: RelationDraftId;
|
|
342
|
+
relationId: RelationId;
|
|
343
|
+
name: RelationName;
|
|
344
|
+
input: LogicalQueryDefinition;
|
|
345
|
+
rootBinding: ValueBindingId;
|
|
346
|
+
projection: RelationDraftProjection;
|
|
347
|
+
outputMode: RelationOutputMode;
|
|
348
|
+
outputKey?: Expr | null;
|
|
349
|
+
invariants: InvariantDefinition[];
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
export interface RelationDraftFingerprint {
|
|
353
|
+
algorithm: string;
|
|
354
|
+
canonicalization: string;
|
|
355
|
+
value: string;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
export interface RelationDraftDocumentMetadata {
|
|
359
|
+
origin: DocumentOrigin;
|
|
360
|
+
name?: string | null;
|
|
361
|
+
description?: string | null;
|
|
362
|
+
sourceUri?: string | null;
|
|
363
|
+
producer?: string | null;
|
|
364
|
+
producerVersion?: string | null;
|
|
365
|
+
createdAtUtc?: string | null;
|
|
366
|
+
updatedAtUtc?: string | null;
|
|
367
|
+
annotations: Record<string, AnnotationValue>;
|
|
368
|
+
producerArtifacts: RelationDraftProducerArtifactReference[];
|
|
369
|
+
conventionDecisions: RelationDraftConventionDecision[];
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
export type RelationQueryDefinition = {
|
|
373
|
+
readonly $definition: 'relation';
|
|
374
|
+
} & RelationDefinition | {
|
|
375
|
+
readonly $definition: 'query';
|
|
376
|
+
} & QueryDefinition;
|
|
377
|
+
|
|
378
|
+
export interface RelationDefinition {
|
|
379
|
+
id: RelationId;
|
|
380
|
+
name: RelationName;
|
|
381
|
+
rootBinding: ValueBindingId;
|
|
382
|
+
output: RelationOutputDefinition;
|
|
383
|
+
invariants: InvariantDefinition[];
|
|
384
|
+
body: LogicalQueryDefinition;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
export interface QueryDefinition {
|
|
388
|
+
id: QueryId;
|
|
389
|
+
name: QueryName;
|
|
390
|
+
results: QueryResultDefinition[];
|
|
391
|
+
body: LogicalQueryDefinition;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
export interface RelationQueryDefinitionFingerprint {
|
|
395
|
+
algorithm: string;
|
|
396
|
+
canonicalization: string;
|
|
397
|
+
value: string;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
export interface RelationQueryDocumentMetadata {
|
|
401
|
+
origin: DocumentOrigin;
|
|
402
|
+
name?: string | null;
|
|
403
|
+
description?: string | null;
|
|
404
|
+
sourceUri?: string | null;
|
|
405
|
+
producer?: string | null;
|
|
406
|
+
producerVersion?: string | null;
|
|
407
|
+
createdAtUtc?: string | null;
|
|
408
|
+
updatedAtUtc?: string | null;
|
|
409
|
+
annotations: Record<string, AnnotationValue>;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
export interface RelationshipCatalog {
|
|
413
|
+
relationships: RelationshipDefinition[];
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
export interface RelationshipCatalogFingerprint {
|
|
417
|
+
algorithm: string;
|
|
418
|
+
canonicalization: string;
|
|
419
|
+
value: string;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
export interface RelationshipCatalogDocumentMetadata {
|
|
423
|
+
origin: DocumentOrigin;
|
|
424
|
+
name?: string | null;
|
|
425
|
+
description?: string | null;
|
|
426
|
+
sourceUri?: string | null;
|
|
427
|
+
producer?: string | null;
|
|
428
|
+
producerVersion?: string | null;
|
|
429
|
+
createdAtUtc?: string | null;
|
|
430
|
+
updatedAtUtc?: string | null;
|
|
431
|
+
annotations: Record<string, AnnotationValue>;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
export type RelationQueryExplainStageStatus = 'Complete' | 'Unavailable' | 'Invalid' | 'Incomplete' | 'Failed';
|
|
435
|
+
|
|
436
|
+
export const relationQueryExplainStageStatuses = {
|
|
437
|
+
complete: 'Complete',
|
|
438
|
+
unavailable: 'Unavailable',
|
|
439
|
+
invalid: 'Invalid',
|
|
440
|
+
incomplete: 'Incomplete',
|
|
441
|
+
failed: 'Failed',
|
|
442
|
+
} as const satisfies Record<string, RelationQueryExplainStageStatus>;
|
|
443
|
+
|
|
444
|
+
export const relationQueryExplainStageStatusLabels: Record<RelationQueryExplainStageStatus, string> = {
|
|
445
|
+
Complete: 'Complete',
|
|
446
|
+
Unavailable: 'Unavailable',
|
|
447
|
+
Invalid: 'Invalid',
|
|
448
|
+
Incomplete: 'Incomplete',
|
|
449
|
+
Failed: 'Failed',
|
|
450
|
+
};
|
|
451
|
+
|
|
452
|
+
export interface RelationQueryCompilationRequestReference {
|
|
453
|
+
compilerProfile: string;
|
|
454
|
+
definitionSchemaVersion: string;
|
|
455
|
+
definitionFingerprint: RelationQueryDefinitionFingerprint;
|
|
456
|
+
shapeSnapshotsFingerprint: RelationQueryPlanComponentFingerprint;
|
|
457
|
+
relationshipCatalogFingerprint?: RelationshipCatalogFingerprint | null;
|
|
458
|
+
demandFingerprint: RelationQueryPlanComponentFingerprint;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
export interface RelationQueryStaticPlanExplanation {
|
|
462
|
+
reference: RelationQueryCompiledPlanReference;
|
|
463
|
+
logicalPlan: RelationQueryLogicalPlan;
|
|
464
|
+
requirementGraph: RelationQueryExplainRequirementGraph;
|
|
465
|
+
branches: RelationQueryNativeResultBranch[];
|
|
466
|
+
observability: RelationQueryResultObservability;
|
|
467
|
+
realizationRequirements: RelationQueryRealizationRequirement[];
|
|
468
|
+
realizationRequirementsFingerprint: RelationQueryPlanComponentFingerprint;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
export interface DocumentValidationDiagnostic {
|
|
472
|
+
code: string;
|
|
473
|
+
severity: DiagnosticSeverity;
|
|
474
|
+
message: string;
|
|
475
|
+
location?: string | null;
|
|
476
|
+
schemaLocation?: string | null;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
export interface RelationQueryPhysicalPlanningResult {
|
|
480
|
+
status: RelationQueryPhysicalPlanningStatus;
|
|
481
|
+
plan?: CompiledRelationQueryPhysicalPlan | null;
|
|
482
|
+
diagnostics: RelationQueryPhysicalPlanningDiagnostic[];
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
export interface RelationQueryNativeCompilationAttemptReference {
|
|
486
|
+
plan: RelationQueryCompiledPlanReference;
|
|
487
|
+
profileFeasibility: RelationQueryRealizationFingerprint;
|
|
488
|
+
boundRealization: RelationQueryBoundRealizationFingerprint;
|
|
489
|
+
placement: RelationQuerySourcePlacementFingerprint;
|
|
490
|
+
adapterBinding: RelationQueryAdapterBindingReference;
|
|
491
|
+
branches: RelationQueryNativeResultBranchId[];
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
export interface RelationQueryNativeCompilationExplanation {
|
|
495
|
+
status: RelationQueryNativeCompilationStatus;
|
|
496
|
+
artifacts: RelationQueryNativeArtifactReference[];
|
|
497
|
+
diagnostics: RelationQueryNativeCompilationDiagnostic[];
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
export interface RelationQueryEvaluationExplanation {
|
|
501
|
+
evaluation: RelationQueryEvaluationFingerprint;
|
|
502
|
+
plan?: RelationQueryCompiledPlanReference | null;
|
|
503
|
+
status: RelationQueryExecutionStatus;
|
|
504
|
+
results: RelationQueryExplainResultSummary[];
|
|
505
|
+
requirementGaps: RelationQueryExplainRequirementGapSummary[];
|
|
506
|
+
diagnostics: RelationQueryExplainDiagnostic[];
|
|
507
|
+
observationFingerprint: RelationQueryEvaluationObservationFingerprint;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
export type RelationQueryRealizationPolicyId = string;
|
|
511
|
+
|
|
512
|
+
export type RelationQueryOperatingBoundaryId = string;
|
|
513
|
+
|
|
514
|
+
export interface RelationQueryCapabilitySummaryEntry {
|
|
515
|
+
capability: RelationQueryCapability;
|
|
516
|
+
requirements: RelationQueryRealizationRequirementId[];
|
|
517
|
+
missingForRequirements: RelationQueryRealizationRequirementId[];
|
|
518
|
+
capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
|
|
519
|
+
operatingBoundaries: RelationQueryOperatingBoundaryId[];
|
|
520
|
+
contextEvidence: RelationQueryContextEvidenceId[];
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
export type DiagnosticSeverity = 'Info' | 'Warning' | 'Error';
|
|
524
|
+
|
|
525
|
+
export const diagnosticSeverities = {
|
|
526
|
+
info: 'Info',
|
|
527
|
+
warning: 'Warning',
|
|
528
|
+
error: 'Error',
|
|
529
|
+
} as const satisfies Record<string, DiagnosticSeverity>;
|
|
530
|
+
|
|
531
|
+
export const diagnosticSeverityLabels: Record<DiagnosticSeverity, string> = {
|
|
532
|
+
Info: 'Info',
|
|
533
|
+
Warning: 'Warning',
|
|
534
|
+
Error: 'Error',
|
|
535
|
+
};
|
|
536
|
+
|
|
537
|
+
export type RelationQueryRealizationRequirementId = string;
|
|
538
|
+
|
|
539
|
+
export type QueryNodeId = string;
|
|
540
|
+
|
|
541
|
+
export type RelationQueryInputId = string;
|
|
542
|
+
|
|
543
|
+
export type RelationQueryOutputId = string;
|
|
544
|
+
|
|
545
|
+
export type RelationQuerySourcePlacementBindingId = string;
|
|
546
|
+
|
|
547
|
+
export type RelationQuerySourceInstanceId = string;
|
|
548
|
+
|
|
549
|
+
export type RelationQueryTargetCapabilityEvidenceId = string;
|
|
550
|
+
|
|
551
|
+
export type RelationQueryContextEvidenceId = string;
|
|
552
|
+
|
|
553
|
+
export type RelationQueryCompositionRuleId = string;
|
|
554
|
+
|
|
555
|
+
export type RelationQueryRealizationOverrideId = string;
|
|
556
|
+
|
|
557
|
+
export interface FieldPath {
|
|
558
|
+
segments: FieldPathSegment[];
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
export type RelationQueryConfigurationValueOrigin = 'Explicit' | 'ScopedProfile' | 'AdapterConvention' | 'FrameworkDefault';
|
|
562
|
+
|
|
563
|
+
export const relationQueryConfigurationValueOrigins = {
|
|
564
|
+
explicit: 'Explicit',
|
|
565
|
+
scopedProfile: 'ScopedProfile',
|
|
566
|
+
adapterConvention: 'AdapterConvention',
|
|
567
|
+
frameworkDefault: 'FrameworkDefault',
|
|
568
|
+
} as const satisfies Record<string, RelationQueryConfigurationValueOrigin>;
|
|
569
|
+
|
|
570
|
+
export const relationQueryConfigurationValueOriginLabels: Record<RelationQueryConfigurationValueOrigin, string> = {
|
|
571
|
+
Explicit: 'Explicit',
|
|
572
|
+
ScopedProfile: 'ScopedProfile',
|
|
573
|
+
AdapterConvention: 'AdapterConvention',
|
|
574
|
+
FrameworkDefault: 'FrameworkDefault',
|
|
575
|
+
};
|
|
576
|
+
|
|
577
|
+
export type RelationQueryAdapterDecisionCode = string;
|
|
578
|
+
|
|
579
|
+
export interface RelationQueryPlanComponentFingerprint {
|
|
580
|
+
algorithm: string;
|
|
581
|
+
canonicalization: string;
|
|
582
|
+
value: string;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
export type RelationQueryPhysicalPlanningPolicyId = string;
|
|
586
|
+
|
|
587
|
+
export interface RelationQueryPhysicalLoweringSelection {
|
|
588
|
+
compositionRule: RelationQueryCompositionRuleId;
|
|
589
|
+
physicalLowering: RelationQueryPhysicalLoweringRuleId;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
export type RelationQueryPhysicalStageKind = 'SuppliedInput' | 'SourceRead' | 'ExactFieldProjection' | 'RelationshipKeyExtraction' | 'KeyDeduplication' | 'BatchedIdentityLookup' | 'BatchedPredicateLookup' | 'LocalCorrelation' | 'RuntimeEvidenceAssembly' | 'ReferenceInterpreterTerminal';
|
|
593
|
+
|
|
594
|
+
export const relationQueryPhysicalStageKinds = {
|
|
595
|
+
suppliedInput: 'SuppliedInput',
|
|
596
|
+
sourceRead: 'SourceRead',
|
|
597
|
+
exactFieldProjection: 'ExactFieldProjection',
|
|
598
|
+
relationshipKeyExtraction: 'RelationshipKeyExtraction',
|
|
599
|
+
keyDeduplication: 'KeyDeduplication',
|
|
600
|
+
batchedIdentityLookup: 'BatchedIdentityLookup',
|
|
601
|
+
batchedPredicateLookup: 'BatchedPredicateLookup',
|
|
602
|
+
localCorrelation: 'LocalCorrelation',
|
|
603
|
+
runtimeEvidenceAssembly: 'RuntimeEvidenceAssembly',
|
|
604
|
+
referenceInterpreterTerminal: 'ReferenceInterpreterTerminal',
|
|
605
|
+
} as const satisfies Record<string, RelationQueryPhysicalStageKind>;
|
|
606
|
+
|
|
607
|
+
export const relationQueryPhysicalStageKindLabels: Record<RelationQueryPhysicalStageKind, string> = {
|
|
608
|
+
SuppliedInput: 'SuppliedInput',
|
|
609
|
+
SourceRead: 'SourceRead',
|
|
610
|
+
ExactFieldProjection: 'ExactFieldProjection',
|
|
611
|
+
RelationshipKeyExtraction: 'RelationshipKeyExtraction',
|
|
612
|
+
KeyDeduplication: 'KeyDeduplication',
|
|
613
|
+
BatchedIdentityLookup: 'BatchedIdentityLookup',
|
|
614
|
+
BatchedPredicateLookup: 'BatchedPredicateLookup',
|
|
615
|
+
LocalCorrelation: 'LocalCorrelation',
|
|
616
|
+
RuntimeEvidenceAssembly: 'RuntimeEvidenceAssembly',
|
|
617
|
+
ReferenceInterpreterTerminal: 'ReferenceInterpreterTerminal',
|
|
618
|
+
};
|
|
619
|
+
|
|
620
|
+
export interface RelationQueryPhysicalStageProvenance {
|
|
621
|
+
nodes: QueryNodeId[];
|
|
622
|
+
inputs: RelationQueryInputId[];
|
|
623
|
+
requirements: RelationQueryRealizationRequirementId[];
|
|
624
|
+
capabilityEvidence: RelationQueryPhysicalCapabilityEvidenceReference[];
|
|
625
|
+
compositionRules: RelationQueryCompositionRuleId[];
|
|
626
|
+
operatingBoundaries: RelationQueryOperatingBoundaryId[];
|
|
627
|
+
placementBindings: RelationQuerySourcePlacementBindingId[];
|
|
628
|
+
loweringRule?: RelationQueryPhysicalLoweringRuleId | null;
|
|
629
|
+
policyDecisions: RelationQueryPhysicalPlanningDecisionId[];
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
export type RelationQueryExecutionDomainId = string;
|
|
633
|
+
|
|
634
|
+
export interface RelationQuerySourcePlacementLimits {
|
|
635
|
+
maximumBatchSize: string;
|
|
636
|
+
maximumBufferedRows: string;
|
|
637
|
+
maximumFanOut: string;
|
|
638
|
+
maximumConcurrency: string;
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
export type ValueBindingId = string;
|
|
642
|
+
|
|
643
|
+
export type RelationQuerySourcePlacementBindingKind = 'SourceSet' | 'RelationshipTraversal';
|
|
644
|
+
|
|
645
|
+
export const relationQuerySourcePlacementBindingKinds = {
|
|
646
|
+
sourceSet: 'SourceSet',
|
|
647
|
+
relationshipTraversal: 'RelationshipTraversal',
|
|
648
|
+
} as const satisfies Record<string, RelationQuerySourcePlacementBindingKind>;
|
|
649
|
+
|
|
650
|
+
export const relationQuerySourcePlacementBindingKindLabels: Record<RelationQuerySourcePlacementBindingKind, string> = {
|
|
651
|
+
SourceSet: 'SourceSet',
|
|
652
|
+
RelationshipTraversal: 'RelationshipTraversal',
|
|
653
|
+
};
|
|
654
|
+
|
|
655
|
+
export type RelationQuerySourceAcquisitionKind = 'Supplied' | 'BoundedEnumeration' | 'BoundedLookup';
|
|
656
|
+
|
|
657
|
+
export const relationQuerySourceAcquisitionKinds = {
|
|
658
|
+
supplied: 'Supplied',
|
|
659
|
+
boundedEnumeration: 'BoundedEnumeration',
|
|
660
|
+
boundedLookup: 'BoundedLookup',
|
|
661
|
+
} as const satisfies Record<string, RelationQuerySourceAcquisitionKind>;
|
|
662
|
+
|
|
663
|
+
export const relationQuerySourceAcquisitionKindLabels: Record<RelationQuerySourceAcquisitionKind, string> = {
|
|
664
|
+
Supplied: 'Supplied',
|
|
665
|
+
BoundedEnumeration: 'BoundedEnumeration',
|
|
666
|
+
BoundedLookup: 'BoundedLookup',
|
|
667
|
+
};
|
|
668
|
+
|
|
669
|
+
export type RelationQuerySourcePlacementOrigin = 'Explicit' | 'Convention';
|
|
670
|
+
|
|
671
|
+
export const relationQuerySourcePlacementOrigins = {
|
|
672
|
+
explicit: 'Explicit',
|
|
673
|
+
convention: 'Convention',
|
|
674
|
+
} as const satisfies Record<string, RelationQuerySourcePlacementOrigin>;
|
|
675
|
+
|
|
676
|
+
export const relationQuerySourcePlacementOriginLabels: Record<RelationQuerySourcePlacementOrigin, string> = {
|
|
677
|
+
Explicit: 'Explicit',
|
|
678
|
+
Convention: 'Convention',
|
|
679
|
+
};
|
|
680
|
+
|
|
681
|
+
export interface RelationQuerySourceIdentityBinding {
|
|
682
|
+
shape: QualifiedShapeId;
|
|
683
|
+
sourceSelector: string;
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
export interface RelationQuerySourceFieldBinding {
|
|
687
|
+
input: RelationQueryInputId;
|
|
688
|
+
semanticPath: FieldPath;
|
|
689
|
+
sourceSelector: string;
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
export interface RelationQueryRelationshipKeyBinding {
|
|
693
|
+
input: RelationQueryInputId;
|
|
694
|
+
semanticPath: FieldPath;
|
|
695
|
+
sourceSelector: string;
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
export interface RelationQueryPartitionBinding {
|
|
699
|
+
sourceSelector: string;
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
export interface RelationQueryAdapterBindingReference {
|
|
703
|
+
schemaVersion: string;
|
|
704
|
+
bindingId: string;
|
|
705
|
+
target: RelationQueryTargetId;
|
|
706
|
+
targetProfile: RelationQueryTargetProfileId;
|
|
707
|
+
fingerprint: RelationQueryAdapterBindingFingerprint;
|
|
708
|
+
compiledPlanFingerprint?: RelationQueryPlanComponentFingerprint | null;
|
|
709
|
+
placementFingerprint?: RelationQuerySourcePlacementFingerprint | null;
|
|
710
|
+
sources: RelationQuerySourceInstanceId[];
|
|
711
|
+
placementBindings: RelationQuerySourcePlacementBindingId[];
|
|
712
|
+
configurationDecisions: RelationQueryConfigurationDecision[];
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
export interface RelationQueryBoundRequirementAssessment {
|
|
716
|
+
id: RelationQueryContextEvidenceId;
|
|
717
|
+
branch: RelationQueryNativeResultBranchId;
|
|
718
|
+
requirement: RelationQueryRealizationRequirementId;
|
|
719
|
+
status: RelationQueryBoundAssessmentStatus;
|
|
720
|
+
origin: RelationQueryConfigurationValueOrigin;
|
|
721
|
+
authority: string;
|
|
722
|
+
capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
|
|
723
|
+
operatingBoundaries: RelationQueryOperatingBoundaryId[];
|
|
724
|
+
preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
|
|
725
|
+
unavailableReason?: RelationQueryUnavailableReason | null;
|
|
726
|
+
node?: QueryNodeId | null;
|
|
727
|
+
input?: RelationQueryInputId | null;
|
|
728
|
+
field?: FieldPath | null;
|
|
729
|
+
placementBinding?: RelationQuerySourcePlacementBindingId | null;
|
|
730
|
+
configurationSetting?: string | null;
|
|
731
|
+
message: string;
|
|
732
|
+
resolution?: string | null;
|
|
733
|
+
adapterDecisionCode?: RelationQueryAdapterDecisionCode | null;
|
|
734
|
+
missingCapabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
|
|
735
|
+
failedOperatingBoundary?: RelationQueryOperatingBoundaryId | null;
|
|
736
|
+
failedConfigurationSetting?: string | null;
|
|
737
|
+
blockedBy?: RelationQueryContextEvidenceId | null;
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
export type RelationQueryRealizationPreference = 'PreferNative' | 'PreferComposed';
|
|
741
|
+
|
|
742
|
+
export const relationQueryRealizationPreferences = {
|
|
743
|
+
preferNative: 'PreferNative',
|
|
744
|
+
preferComposed: 'PreferComposed',
|
|
745
|
+
} as const satisfies Record<string, RelationQueryRealizationPreference>;
|
|
746
|
+
|
|
747
|
+
export const relationQueryRealizationPreferenceLabels: Record<RelationQueryRealizationPreference, string> = {
|
|
748
|
+
PreferNative: 'PreferNative',
|
|
749
|
+
PreferComposed: 'PreferComposed',
|
|
750
|
+
};
|
|
751
|
+
|
|
752
|
+
export type RelationQueryConstrainedRealizationPolicy = 'Reject' | 'AllowValidated';
|
|
753
|
+
|
|
754
|
+
export const relationQueryConstrainedRealizationPolicies = {
|
|
755
|
+
reject: 'Reject',
|
|
756
|
+
allowValidated: 'AllowValidated',
|
|
757
|
+
} as const satisfies Record<string, RelationQueryConstrainedRealizationPolicy>;
|
|
758
|
+
|
|
759
|
+
export const relationQueryConstrainedRealizationPolicyLabels: Record<RelationQueryConstrainedRealizationPolicy, string> = {
|
|
760
|
+
Reject: 'Reject',
|
|
761
|
+
AllowValidated: 'AllowValidated',
|
|
762
|
+
};
|
|
763
|
+
|
|
764
|
+
export interface RelationQueryCompositionRule {
|
|
765
|
+
id: RelationQueryCompositionRuleId;
|
|
766
|
+
providedCapability: RelationQueryCapability;
|
|
767
|
+
requiredCapabilities: RelationQueryCapability[];
|
|
768
|
+
requiredOperatingBoundaries: RelationQueryOperatingBoundaryId[];
|
|
769
|
+
preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
|
|
770
|
+
description?: string | null;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
export interface RelationQueryCompositionRuleSelection {
|
|
774
|
+
capability: RelationQueryCapability;
|
|
775
|
+
rule: RelationQueryCompositionRuleId;
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
export interface RelationQueryRealizationOverride {
|
|
779
|
+
id: RelationQueryRealizationOverrideId;
|
|
780
|
+
requirement: RelationQueryRealizationRequirementId;
|
|
781
|
+
expectedCapability: RelationQueryCapability;
|
|
782
|
+
capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
|
|
783
|
+
operatingBoundaries: RelationQueryOperatingBoundaryId[];
|
|
784
|
+
preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
|
|
785
|
+
justification: string;
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
export interface RelationQueryRealizationDiagnosticSeverityOverride {
|
|
789
|
+
code: string;
|
|
790
|
+
severity: DiagnosticSeverity;
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
export type RelationQueryOccurrenceProvenanceMode = 'ExactContributors' | 'NotRequested';
|
|
794
|
+
|
|
795
|
+
export const relationQueryOccurrenceProvenanceModes = {
|
|
796
|
+
exactContributors: 'ExactContributors',
|
|
797
|
+
notRequested: 'NotRequested',
|
|
798
|
+
} as const satisfies Record<string, RelationQueryOccurrenceProvenanceMode>;
|
|
799
|
+
|
|
800
|
+
export const relationQueryOccurrenceProvenanceModeLabels: Record<RelationQueryOccurrenceProvenanceMode, string> = {
|
|
801
|
+
ExactContributors: 'ExactContributors',
|
|
802
|
+
NotRequested: 'NotRequested',
|
|
803
|
+
};
|
|
804
|
+
|
|
805
|
+
export type RelationQueryCapability = {
|
|
806
|
+
readonly $capability: 'logical';
|
|
807
|
+
} & LogicalRelationQueryCapability | {
|
|
808
|
+
readonly $capability: 'expression';
|
|
809
|
+
} & ExpressionRelationQueryCapability | {
|
|
810
|
+
readonly $capability: 'temporal';
|
|
811
|
+
} & TemporalRelationQueryCapability | {
|
|
812
|
+
readonly $capability: 'structural';
|
|
813
|
+
} & StructuralRelationQueryCapability | {
|
|
814
|
+
readonly $capability: 'guarantee';
|
|
815
|
+
} & GuaranteeRelationQueryCapability | {
|
|
816
|
+
readonly $capability: 'operatingBoundaryValidation';
|
|
817
|
+
} & OperatingBoundaryValidationRelationQueryCapability | {
|
|
818
|
+
readonly $capability: 'primitive';
|
|
819
|
+
} & PrimitiveRelationQueryCapability;
|
|
820
|
+
|
|
821
|
+
export interface LogicalRelationQueryCapability {
|
|
822
|
+
kind: RelationQueryLogicalCapabilityKind | number;
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
export interface ExpressionRelationQueryCapability {
|
|
826
|
+
capability: ExprCapabilityId;
|
|
827
|
+
requirementKind: ExprCapabilityRequirementKind | number;
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
export interface TemporalRelationQueryCapability {
|
|
831
|
+
capability: RelationQueryTemporalExecutionCapability | number;
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
export interface StructuralRelationQueryCapability {
|
|
835
|
+
role: RelationQueryStructuralCapabilityRole | number;
|
|
836
|
+
pathKind: RelationQueryStructuralPathKind | number;
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
export interface GuaranteeRelationQueryCapability {
|
|
840
|
+
kind: RelationQueryGuaranteeCapabilityKind | number;
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
export interface OperatingBoundaryValidationRelationQueryCapability {
|
|
844
|
+
boundary: RelationQueryOperatingBoundaryId;
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
export interface PrimitiveRelationQueryCapability {
|
|
848
|
+
kind: RelationQueryPrimitiveCapabilityKind | number;
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
export interface RelationQueryRealizationRequirementOrigin {
|
|
852
|
+
input?: RelationQueryInputId | null;
|
|
853
|
+
node?: QueryNodeId | null;
|
|
854
|
+
semanticSite?: string | null;
|
|
855
|
+
expressionPath?: string | null;
|
|
856
|
+
fieldPath?: FieldPath | null;
|
|
857
|
+
binding?: ValueBindingId | null;
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
export interface RelationQueryRealizationRequirementUse {
|
|
861
|
+
output: RelationQueryRealizationOutputReference;
|
|
862
|
+
effect: RelationQueryRequirementEffect;
|
|
863
|
+
requirement: QueryInputRequirement;
|
|
864
|
+
traces: RelationQueryRealizationTrace[];
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
export type RelationQueryGuaranteeCapabilityKind = 'MissingNullDistinction' | 'AbsenceAvailabilityFailureDistinction' | 'JoinMembership' | 'Cardinality' | 'RelationshipDirection' | 'RelationshipMultiplicity' | 'TemporalDomain' | 'TemporalBoundary' | 'UnboundedTemporalBoundary' | 'Ordering' | 'NullPlacement' | 'StablePaging' | 'Grouping' | 'Aggregation' | 'DuplicateHandling' | 'OutputIdentity' | 'OutputMode' | 'InvariantEnforcement' | 'DeterministicResult' | 'OccurrenceProvenance' | 'EvidenceCompleteness' | 'InconclusiveEvidence' | 'ConsistentSnapshot' | 'CollectionElementCorrelation' | 'RelationRootCorrelation';
|
|
868
|
+
|
|
869
|
+
export const relationQueryGuaranteeCapabilityKinds = {
|
|
870
|
+
missingNullDistinction: 'MissingNullDistinction',
|
|
871
|
+
absenceAvailabilityFailureDistinction: 'AbsenceAvailabilityFailureDistinction',
|
|
872
|
+
joinMembership: 'JoinMembership',
|
|
873
|
+
cardinality: 'Cardinality',
|
|
874
|
+
relationshipDirection: 'RelationshipDirection',
|
|
875
|
+
relationshipMultiplicity: 'RelationshipMultiplicity',
|
|
876
|
+
temporalDomain: 'TemporalDomain',
|
|
877
|
+
temporalBoundary: 'TemporalBoundary',
|
|
878
|
+
unboundedTemporalBoundary: 'UnboundedTemporalBoundary',
|
|
879
|
+
ordering: 'Ordering',
|
|
880
|
+
nullPlacement: 'NullPlacement',
|
|
881
|
+
stablePaging: 'StablePaging',
|
|
882
|
+
grouping: 'Grouping',
|
|
883
|
+
aggregation: 'Aggregation',
|
|
884
|
+
duplicateHandling: 'DuplicateHandling',
|
|
885
|
+
outputIdentity: 'OutputIdentity',
|
|
886
|
+
outputMode: 'OutputMode',
|
|
887
|
+
invariantEnforcement: 'InvariantEnforcement',
|
|
888
|
+
deterministicResult: 'DeterministicResult',
|
|
889
|
+
occurrenceProvenance: 'OccurrenceProvenance',
|
|
890
|
+
evidenceCompleteness: 'EvidenceCompleteness',
|
|
891
|
+
inconclusiveEvidence: 'InconclusiveEvidence',
|
|
892
|
+
consistentSnapshot: 'ConsistentSnapshot',
|
|
893
|
+
collectionElementCorrelation: 'CollectionElementCorrelation',
|
|
894
|
+
relationRootCorrelation: 'RelationRootCorrelation',
|
|
895
|
+
} as const satisfies Record<string, RelationQueryGuaranteeCapabilityKind>;
|
|
896
|
+
|
|
897
|
+
export const relationQueryGuaranteeCapabilityKindLabels: Record<RelationQueryGuaranteeCapabilityKind, string> = {
|
|
898
|
+
MissingNullDistinction: 'MissingNullDistinction',
|
|
899
|
+
AbsenceAvailabilityFailureDistinction: 'AbsenceAvailabilityFailureDistinction',
|
|
900
|
+
JoinMembership: 'JoinMembership',
|
|
901
|
+
Cardinality: 'Cardinality',
|
|
902
|
+
RelationshipDirection: 'RelationshipDirection',
|
|
903
|
+
RelationshipMultiplicity: 'RelationshipMultiplicity',
|
|
904
|
+
TemporalDomain: 'TemporalDomain',
|
|
905
|
+
TemporalBoundary: 'TemporalBoundary',
|
|
906
|
+
UnboundedTemporalBoundary: 'UnboundedTemporalBoundary',
|
|
907
|
+
Ordering: 'Ordering',
|
|
908
|
+
NullPlacement: 'NullPlacement',
|
|
909
|
+
StablePaging: 'StablePaging',
|
|
910
|
+
Grouping: 'Grouping',
|
|
911
|
+
Aggregation: 'Aggregation',
|
|
912
|
+
DuplicateHandling: 'DuplicateHandling',
|
|
913
|
+
OutputIdentity: 'OutputIdentity',
|
|
914
|
+
OutputMode: 'OutputMode',
|
|
915
|
+
InvariantEnforcement: 'InvariantEnforcement',
|
|
916
|
+
DeterministicResult: 'DeterministicResult',
|
|
917
|
+
OccurrenceProvenance: 'OccurrenceProvenance',
|
|
918
|
+
EvidenceCompleteness: 'EvidenceCompleteness',
|
|
919
|
+
InconclusiveEvidence: 'InconclusiveEvidence',
|
|
920
|
+
ConsistentSnapshot: 'ConsistentSnapshot',
|
|
921
|
+
CollectionElementCorrelation: 'CollectionElementCorrelation',
|
|
922
|
+
RelationRootCorrelation: 'RelationRootCorrelation',
|
|
923
|
+
};
|
|
924
|
+
|
|
925
|
+
export interface RelationQueryRealizationStaticFact {
|
|
926
|
+
kind: RelationQueryRealizationStaticFactKind;
|
|
927
|
+
value: string;
|
|
928
|
+
}
|
|
929
|
+
|
|
930
|
+
export interface RelationQueryOperatingBoundaryValidation {
|
|
931
|
+
boundary: RelationQueryOperatingBoundaryId;
|
|
932
|
+
kind: RelationQueryOperatingBoundaryValidationKind;
|
|
933
|
+
capabilityEvidence?: RelationQueryTargetCapabilityEvidenceId | null;
|
|
934
|
+
measuredValue?: string | null;
|
|
935
|
+
}
|
|
936
|
+
|
|
937
|
+
export type RelationQueryUnavailableReason = 'CapabilityNotAdvertised' | 'ProfileVersionUnsupported' | 'OperatingBoundaryMissing' | 'OperatingBoundaryInvalid' | 'CompositionUnavailable' | 'AmbiguousStrategy' | 'CapabilityEvidenceInvalid' | 'OverrideInvalid' | 'PolicyRejected' | 'PrerequisiteBlocked';
|
|
938
|
+
|
|
939
|
+
export const relationQueryUnavailableReasons = {
|
|
940
|
+
capabilityNotAdvertised: 'CapabilityNotAdvertised',
|
|
941
|
+
profileVersionUnsupported: 'ProfileVersionUnsupported',
|
|
942
|
+
operatingBoundaryMissing: 'OperatingBoundaryMissing',
|
|
943
|
+
operatingBoundaryInvalid: 'OperatingBoundaryInvalid',
|
|
944
|
+
compositionUnavailable: 'CompositionUnavailable',
|
|
945
|
+
ambiguousStrategy: 'AmbiguousStrategy',
|
|
946
|
+
capabilityEvidenceInvalid: 'CapabilityEvidenceInvalid',
|
|
947
|
+
overrideInvalid: 'OverrideInvalid',
|
|
948
|
+
policyRejected: 'PolicyRejected',
|
|
949
|
+
prerequisiteBlocked: 'PrerequisiteBlocked',
|
|
950
|
+
} as const satisfies Record<string, RelationQueryUnavailableReason>;
|
|
951
|
+
|
|
952
|
+
export const relationQueryUnavailableReasonLabels: Record<RelationQueryUnavailableReason, string> = {
|
|
953
|
+
CapabilityNotAdvertised: 'CapabilityNotAdvertised',
|
|
954
|
+
ProfileVersionUnsupported: 'ProfileVersionUnsupported',
|
|
955
|
+
OperatingBoundaryMissing: 'OperatingBoundaryMissing',
|
|
956
|
+
OperatingBoundaryInvalid: 'OperatingBoundaryInvalid',
|
|
957
|
+
CompositionUnavailable: 'CompositionUnavailable',
|
|
958
|
+
AmbiguousStrategy: 'AmbiguousStrategy',
|
|
959
|
+
CapabilityEvidenceInvalid: 'CapabilityEvidenceInvalid',
|
|
960
|
+
OverrideInvalid: 'OverrideInvalid',
|
|
961
|
+
PolicyRejected: 'PolicyRejected',
|
|
962
|
+
PrerequisiteBlocked: 'PrerequisiteBlocked',
|
|
963
|
+
};
|
|
964
|
+
|
|
965
|
+
export type RelationQueryOperatingBoundaryKind = 'MaximumInputRows' | 'MaximumOutputRows' | 'MaximumFanOut' | 'MaximumPageSize' | 'MaximumFieldPathDepth' | 'MaximumExpressionDepth' | 'MaximumBatchSize' | 'SingleSource' | 'SinglePartition' | 'MaterializedInputs' | 'CompleteInputEvidence' | 'NonNullOperands' | 'ScalarOperands' | 'HomogeneousTemporalDomain' | 'FiniteTemporalBounds' | 'StableUniqueOrdering' | 'DeterministicProvider' | 'ExactNumericAggregateDomain' | 'ExactTemporalDomain' | 'SuppliedRelationRoot';
|
|
966
|
+
|
|
967
|
+
export const relationQueryOperatingBoundaryKinds = {
|
|
968
|
+
maximumInputRows: 'MaximumInputRows',
|
|
969
|
+
maximumOutputRows: 'MaximumOutputRows',
|
|
970
|
+
maximumFanOut: 'MaximumFanOut',
|
|
971
|
+
maximumPageSize: 'MaximumPageSize',
|
|
972
|
+
maximumFieldPathDepth: 'MaximumFieldPathDepth',
|
|
973
|
+
maximumExpressionDepth: 'MaximumExpressionDepth',
|
|
974
|
+
maximumBatchSize: 'MaximumBatchSize',
|
|
975
|
+
singleSource: 'SingleSource',
|
|
976
|
+
singlePartition: 'SinglePartition',
|
|
977
|
+
materializedInputs: 'MaterializedInputs',
|
|
978
|
+
completeInputEvidence: 'CompleteInputEvidence',
|
|
979
|
+
nonNullOperands: 'NonNullOperands',
|
|
980
|
+
scalarOperands: 'ScalarOperands',
|
|
981
|
+
homogeneousTemporalDomain: 'HomogeneousTemporalDomain',
|
|
982
|
+
finiteTemporalBounds: 'FiniteTemporalBounds',
|
|
983
|
+
stableUniqueOrdering: 'StableUniqueOrdering',
|
|
984
|
+
deterministicProvider: 'DeterministicProvider',
|
|
985
|
+
exactNumericAggregateDomain: 'ExactNumericAggregateDomain',
|
|
986
|
+
exactTemporalDomain: 'ExactTemporalDomain',
|
|
987
|
+
suppliedRelationRoot: 'SuppliedRelationRoot',
|
|
988
|
+
} as const satisfies Record<string, RelationQueryOperatingBoundaryKind>;
|
|
989
|
+
|
|
990
|
+
export const relationQueryOperatingBoundaryKindLabels: Record<RelationQueryOperatingBoundaryKind, string> = {
|
|
991
|
+
MaximumInputRows: 'MaximumInputRows',
|
|
992
|
+
MaximumOutputRows: 'MaximumOutputRows',
|
|
993
|
+
MaximumFanOut: 'MaximumFanOut',
|
|
994
|
+
MaximumPageSize: 'MaximumPageSize',
|
|
995
|
+
MaximumFieldPathDepth: 'MaximumFieldPathDepth',
|
|
996
|
+
MaximumExpressionDepth: 'MaximumExpressionDepth',
|
|
997
|
+
MaximumBatchSize: 'MaximumBatchSize',
|
|
998
|
+
SingleSource: 'SingleSource',
|
|
999
|
+
SinglePartition: 'SinglePartition',
|
|
1000
|
+
MaterializedInputs: 'MaterializedInputs',
|
|
1001
|
+
CompleteInputEvidence: 'CompleteInputEvidence',
|
|
1002
|
+
NonNullOperands: 'NonNullOperands',
|
|
1003
|
+
ScalarOperands: 'ScalarOperands',
|
|
1004
|
+
HomogeneousTemporalDomain: 'HomogeneousTemporalDomain',
|
|
1005
|
+
FiniteTemporalBounds: 'FiniteTemporalBounds',
|
|
1006
|
+
StableUniqueOrdering: 'StableUniqueOrdering',
|
|
1007
|
+
DeterministicProvider: 'DeterministicProvider',
|
|
1008
|
+
ExactNumericAggregateDomain: 'ExactNumericAggregateDomain',
|
|
1009
|
+
ExactTemporalDomain: 'ExactTemporalDomain',
|
|
1010
|
+
SuppliedRelationRoot: 'SuppliedRelationRoot',
|
|
1011
|
+
};
|
|
1012
|
+
|
|
1013
|
+
export type RelationDraftId = string;
|
|
1014
|
+
|
|
1015
|
+
export type RelationId = string;
|
|
1016
|
+
|
|
1017
|
+
export type RelationName = string;
|
|
1018
|
+
|
|
1019
|
+
export interface LogicalQueryDefinition {
|
|
1020
|
+
nodes: LogicalQueryNode[];
|
|
1021
|
+
parameters: QueryParameterDefinition[];
|
|
1022
|
+
}
|
|
1023
|
+
|
|
1024
|
+
export interface RelationDraftProjection {
|
|
1025
|
+
id: QueryNodeId;
|
|
1026
|
+
input: QueryNodeId;
|
|
1027
|
+
resultBinding: ValueBindingId;
|
|
1028
|
+
resultShape: QualifiedShapeId;
|
|
1029
|
+
assignments: RelationDraftAssignmentSlot[];
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
export type RelationOutputMode = 'OnePerRoot' | 'ZeroOrOnePerRoot' | 'ManyPerRoot' | 'Set';
|
|
1033
|
+
|
|
1034
|
+
export const relationOutputModes = {
|
|
1035
|
+
onePerRoot: 'OnePerRoot',
|
|
1036
|
+
zeroOrOnePerRoot: 'ZeroOrOnePerRoot',
|
|
1037
|
+
manyPerRoot: 'ManyPerRoot',
|
|
1038
|
+
set: 'Set',
|
|
1039
|
+
} as const satisfies Record<string, RelationOutputMode>;
|
|
1040
|
+
|
|
1041
|
+
export const relationOutputModeLabels: Record<RelationOutputMode, string> = {
|
|
1042
|
+
OnePerRoot: 'OnePerRoot',
|
|
1043
|
+
ZeroOrOnePerRoot: 'ZeroOrOnePerRoot',
|
|
1044
|
+
ManyPerRoot: 'ManyPerRoot',
|
|
1045
|
+
Set: 'Set',
|
|
1046
|
+
};
|
|
1047
|
+
|
|
32
1048
|
export type Expr = {
|
|
33
1049
|
readonly $expr: 'field';
|
|
34
1050
|
} & FieldExpr | {
|
|
@@ -54,176 +1070,805 @@ export type Expr = {
|
|
|
54
1070
|
} & AggregateExpr;
|
|
55
1071
|
|
|
56
1072
|
export interface FieldExpr {
|
|
57
|
-
|
|
1073
|
+
path: FieldPath;
|
|
1074
|
+
binding?: ValueBindingId | null;
|
|
58
1075
|
}
|
|
59
1076
|
|
|
60
1077
|
export type CurrentItemExpr = Record<never, never>;
|
|
61
1078
|
|
|
62
1079
|
export interface ParameterExpr {
|
|
63
|
-
|
|
1080
|
+
parameter: string;
|
|
64
1081
|
}
|
|
65
1082
|
|
|
66
1083
|
export interface ConstantExpr {
|
|
67
|
-
|
|
1084
|
+
value: unknown;
|
|
68
1085
|
}
|
|
69
1086
|
|
|
70
1087
|
export interface UnaryExpr {
|
|
71
|
-
|
|
72
|
-
|
|
1088
|
+
operator: UnaryOperator;
|
|
1089
|
+
operand: Expr;
|
|
73
1090
|
}
|
|
74
1091
|
|
|
75
1092
|
export interface BinaryExpr {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
1093
|
+
operator: BinaryOperator;
|
|
1094
|
+
left: Expr;
|
|
1095
|
+
right: Expr;
|
|
79
1096
|
}
|
|
80
1097
|
|
|
81
1098
|
export interface ConditionalExpr {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
1099
|
+
test: Expr;
|
|
1100
|
+
ifTrue: Expr;
|
|
1101
|
+
ifFalse: Expr;
|
|
1102
|
+
returnType: TypeRef;
|
|
86
1103
|
}
|
|
87
1104
|
|
|
88
1105
|
export interface CallExpr {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
1106
|
+
function: string;
|
|
1107
|
+
arguments: Expr[];
|
|
1108
|
+
returnType: TypeRef;
|
|
92
1109
|
}
|
|
93
1110
|
|
|
94
1111
|
export interface FieldRefExpr {
|
|
95
|
-
|
|
96
|
-
|
|
1112
|
+
path: FieldPath;
|
|
1113
|
+
type: TypeRef;
|
|
97
1114
|
}
|
|
98
1115
|
|
|
99
1116
|
export interface LiteralExpr {
|
|
100
|
-
|
|
101
|
-
|
|
1117
|
+
type: TypeRef;
|
|
1118
|
+
value: unknown;
|
|
102
1119
|
}
|
|
103
1120
|
|
|
104
1121
|
export interface AggregateExpr {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
export interface MappingDefinition {
|
|
112
|
-
Id: MappingId;
|
|
113
|
-
Name: MappingName;
|
|
114
|
-
Kind: MappingKind;
|
|
115
|
-
SourceShapeId?: ShapeId | null;
|
|
116
|
-
TargetShapeId: ShapeId;
|
|
117
|
-
Assignments: FieldAssignment[];
|
|
118
|
-
Predicate?: Expr | null;
|
|
119
|
-
ForEach?: Expr | null;
|
|
120
|
-
Key?: Expr | null;
|
|
121
|
-
Entity?: Expr | null;
|
|
122
|
-
Scope: MappingScope;
|
|
123
|
-
Direction: MappingDirection;
|
|
124
|
-
NestedMappings: NestedMapping[];
|
|
125
|
-
CollectionMappings: CollectionMapping[];
|
|
126
|
-
Metadata: MappingMetadata;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
export interface MaterializationSpec {
|
|
130
|
-
IsEnabled: boolean;
|
|
131
|
-
Strategy: MaterializationStrategy;
|
|
132
|
-
Freshness: FreshnessPolicy;
|
|
133
|
-
AllowCodegen: boolean;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
export interface RelationMetadata {
|
|
137
|
-
AllowCodegen: boolean;
|
|
138
|
-
Deterministic: boolean;
|
|
139
|
-
Hints: ({
|
|
140
|
-
Key: string;
|
|
141
|
-
Value: string;
|
|
142
|
-
})[];
|
|
1122
|
+
operator: AggregateOperator;
|
|
1123
|
+
source: Expr;
|
|
1124
|
+
groupBy: Expr[];
|
|
1125
|
+
returnType: TypeRef;
|
|
143
1126
|
}
|
|
144
1127
|
|
|
145
1128
|
export interface InvariantDefinition {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
1129
|
+
name: string;
|
|
1130
|
+
entity?: EntityId | null;
|
|
1131
|
+
expression: Expr;
|
|
1132
|
+
message?: string | null;
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
export type DocumentOrigin = 'Unknown' | 'User' | 'System' | 'Imported' | 'Generated' | 'Compiled' | 'Extracted';
|
|
1136
|
+
|
|
1137
|
+
export const documentOrigins = {
|
|
1138
|
+
unknown: 'Unknown',
|
|
1139
|
+
user: 'User',
|
|
1140
|
+
system: 'System',
|
|
1141
|
+
imported: 'Imported',
|
|
1142
|
+
generated: 'Generated',
|
|
1143
|
+
compiled: 'Compiled',
|
|
1144
|
+
extracted: 'Extracted',
|
|
1145
|
+
} as const satisfies Record<string, DocumentOrigin>;
|
|
1146
|
+
|
|
1147
|
+
export const documentOriginLabels: Record<DocumentOrigin, string> = {
|
|
1148
|
+
Unknown: 'Unknown',
|
|
1149
|
+
User: 'User',
|
|
1150
|
+
System: 'System',
|
|
1151
|
+
Imported: 'Imported',
|
|
1152
|
+
Generated: 'Generated',
|
|
1153
|
+
Compiled: 'Compiled',
|
|
1154
|
+
Extracted: 'Extracted',
|
|
1155
|
+
};
|
|
1156
|
+
|
|
1157
|
+
export type AnnotationKey = string;
|
|
1158
|
+
|
|
1159
|
+
export type AnnotationValue = unknown;
|
|
1160
|
+
|
|
1161
|
+
export interface RelationDraftProducerArtifactReference {
|
|
1162
|
+
kind: string;
|
|
1163
|
+
value: string;
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
export interface RelationDraftConventionDecision {
|
|
1167
|
+
ruleId: string;
|
|
1168
|
+
slotId: QueryAssignmentId;
|
|
1169
|
+
candidateId?: RelationDraftCandidateId | null;
|
|
1170
|
+
sourceBinding: ValueBindingId;
|
|
1171
|
+
source?: FieldPath | null;
|
|
1172
|
+
target: FieldPath;
|
|
149
1173
|
}
|
|
150
1174
|
|
|
151
|
-
export interface
|
|
152
|
-
|
|
1175
|
+
export interface RelationOutputDefinition {
|
|
1176
|
+
node: QueryNodeId;
|
|
1177
|
+
shape: QualifiedShapeId;
|
|
1178
|
+
mode: RelationOutputMode;
|
|
1179
|
+
key?: Expr | null;
|
|
153
1180
|
}
|
|
154
1181
|
|
|
155
|
-
export type
|
|
1182
|
+
export type QueryId = string;
|
|
156
1183
|
|
|
157
|
-
export
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
1184
|
+
export type QueryName = string;
|
|
1185
|
+
|
|
1186
|
+
export type QueryResultDefinition = {
|
|
1187
|
+
readonly $result: 'rows';
|
|
1188
|
+
} & RowsQueryResultDefinition | {
|
|
1189
|
+
readonly $result: 'aggregation';
|
|
1190
|
+
} & AggregationQueryResultDefinition;
|
|
1191
|
+
|
|
1192
|
+
export interface RowsQueryResultDefinition {
|
|
1193
|
+
id: QueryResultId;
|
|
1194
|
+
input: QueryNodeId;
|
|
1195
|
+
}
|
|
161
1196
|
|
|
162
|
-
export
|
|
163
|
-
|
|
164
|
-
|
|
1197
|
+
export interface AggregationQueryResultDefinition {
|
|
1198
|
+
id: QueryResultId;
|
|
1199
|
+
input: QueryNodeId;
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
export interface RelationshipDefinition {
|
|
1203
|
+
id: RelationshipId;
|
|
1204
|
+
sourceShape: QualifiedShapeId;
|
|
1205
|
+
sourceReference: FieldPath;
|
|
1206
|
+
targetShape: QualifiedShapeId;
|
|
1207
|
+
targetKey: RelationshipTargetKey;
|
|
1208
|
+
sourceReferenceUniqueness: SourceReferenceUniqueness;
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
export interface RelationQueryLogicalPlan {
|
|
1212
|
+
nodes: RelationQueryLogicalPlanNode[];
|
|
1213
|
+
retainedNodes: QueryNodeId[];
|
|
1214
|
+
evaluationOrder: QueryNodeId[];
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
export interface RelationQueryExplainRequirementGraph {
|
|
1218
|
+
inputs: RelationQueryExplainRequirementInput[];
|
|
1219
|
+
outputs: RelationQueryOutputReference[];
|
|
1220
|
+
edges: RelationQueryExplainRequirementEdge[];
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
export interface RelationQueryNativeResultBranch {
|
|
1224
|
+
id: RelationQueryNativeResultBranchId;
|
|
1225
|
+
kind: RelationQueryNativeResultKind;
|
|
1226
|
+
node: QueryNodeId;
|
|
1227
|
+
binding: ValueBindingId;
|
|
1228
|
+
shape: QualifiedShapeId;
|
|
1229
|
+
relation?: RelationId | null;
|
|
1230
|
+
queryResult?: QueryResultId | null;
|
|
1231
|
+
outputs: RelationQueryOutputReference[];
|
|
1232
|
+
fields: RelationQueryFieldReference[];
|
|
1233
|
+
}
|
|
1234
|
+
|
|
1235
|
+
export type RelationQueryPhysicalPlanningStatus = 'Planned' | 'Unavailable' | 'Invalid';
|
|
1236
|
+
|
|
1237
|
+
export const relationQueryPhysicalPlanningStatuses = {
|
|
1238
|
+
planned: 'Planned',
|
|
1239
|
+
unavailable: 'Unavailable',
|
|
1240
|
+
invalid: 'Invalid',
|
|
1241
|
+
} as const satisfies Record<string, RelationQueryPhysicalPlanningStatus>;
|
|
1242
|
+
|
|
1243
|
+
export const relationQueryPhysicalPlanningStatusLabels: Record<RelationQueryPhysicalPlanningStatus, string> = {
|
|
1244
|
+
Planned: 'Planned',
|
|
1245
|
+
Unavailable: 'Unavailable',
|
|
1246
|
+
Invalid: 'Invalid',
|
|
165
1247
|
};
|
|
166
1248
|
|
|
167
|
-
export type
|
|
1249
|
+
export type RelationQueryNativeCompilationStatus = 'Exact' | 'Unsupported' | 'Invalid';
|
|
168
1250
|
|
|
169
|
-
export const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
} as const satisfies Record<string, JoinKind>;
|
|
1251
|
+
export const relationQueryNativeCompilationStatuses = {
|
|
1252
|
+
exact: 'Exact',
|
|
1253
|
+
unsupported: 'Unsupported',
|
|
1254
|
+
invalid: 'Invalid',
|
|
1255
|
+
} as const satisfies Record<string, RelationQueryNativeCompilationStatus>;
|
|
175
1256
|
|
|
176
|
-
export const
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
3: 'Full',
|
|
1257
|
+
export const relationQueryNativeCompilationStatusLabels: Record<RelationQueryNativeCompilationStatus, string> = {
|
|
1258
|
+
Exact: 'Exact',
|
|
1259
|
+
Unsupported: 'Unsupported',
|
|
1260
|
+
Invalid: 'Invalid',
|
|
181
1261
|
};
|
|
182
1262
|
|
|
183
|
-
export interface
|
|
184
|
-
|
|
1263
|
+
export interface RelationQueryNativeArtifactReference {
|
|
1264
|
+
branch: RelationQueryNativeResultBranchId;
|
|
1265
|
+
artifactSchemaVersion?: string | null;
|
|
1266
|
+
fingerprint: RelationQueryNativeArtifactFingerprintReference;
|
|
1267
|
+
provenance: RelationQueryNativeCompilationProvenance;
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1270
|
+
export interface RelationQueryNativeCompilationDiagnostic {
|
|
1271
|
+
code: string;
|
|
1272
|
+
severity: DiagnosticSeverity;
|
|
1273
|
+
message: string;
|
|
1274
|
+
branch?: RelationQueryNativeResultBranchId | null;
|
|
1275
|
+
node?: QueryNodeId | null;
|
|
1276
|
+
input?: RelationQueryInputId | null;
|
|
1277
|
+
requirement?: RelationQueryRealizationRequirementId | null;
|
|
1278
|
+
capabilityEvidence?: RelationQueryTargetCapabilityEvidenceId | null;
|
|
1279
|
+
operatingBoundary?: RelationQueryOperatingBoundaryId | null;
|
|
1280
|
+
override?: RelationQueryRealizationOverrideId | null;
|
|
1281
|
+
semanticSite?: string | null;
|
|
1282
|
+
contextEvidence?: RelationQueryContextEvidenceId | null;
|
|
1283
|
+
field?: FieldPath | null;
|
|
1284
|
+
placementBinding?: RelationQuerySourcePlacementBindingId | null;
|
|
1285
|
+
bindingSetting?: string | null;
|
|
1286
|
+
resolution?: string | null;
|
|
1287
|
+
configurationOrigin?: RelationQueryConfigurationValueOrigin | null;
|
|
1288
|
+
configurationAuthority?: string | null;
|
|
1289
|
+
adapterDecisionCode?: RelationQueryAdapterDecisionCode | null;
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
export interface RelationQueryEvaluationFingerprint {
|
|
1293
|
+
algorithm: string;
|
|
1294
|
+
canonicalization: string;
|
|
1295
|
+
value: string;
|
|
1296
|
+
}
|
|
1297
|
+
|
|
1298
|
+
export type RelationQueryExecutionStatus = 'Succeeded' | 'Incomplete' | 'Failed';
|
|
1299
|
+
|
|
1300
|
+
export const relationQueryExecutionStatuses = {
|
|
1301
|
+
succeeded: 'Succeeded',
|
|
1302
|
+
incomplete: 'Incomplete',
|
|
1303
|
+
failed: 'Failed',
|
|
1304
|
+
} as const satisfies Record<string, RelationQueryExecutionStatus>;
|
|
1305
|
+
|
|
1306
|
+
export const relationQueryExecutionStatusLabels: Record<RelationQueryExecutionStatus, string> = {
|
|
1307
|
+
Succeeded: 'Succeeded',
|
|
1308
|
+
Incomplete: 'Incomplete',
|
|
1309
|
+
Failed: 'Failed',
|
|
1310
|
+
};
|
|
1311
|
+
|
|
1312
|
+
export interface RelationQueryExplainResultSummary {
|
|
1313
|
+
branch: RelationQueryNativeResultBranchId;
|
|
1314
|
+
kind: RelationQueryExecutionResultKind;
|
|
1315
|
+
shape: QualifiedShapeId;
|
|
1316
|
+
state: RelationQueryExecutionOutputState;
|
|
1317
|
+
rowCount: number;
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1320
|
+
export interface RelationQueryExplainRequirementGapSummary {
|
|
1321
|
+
cause: RelationRequirementGapCause;
|
|
1322
|
+
input: RelationQueryInputId;
|
|
1323
|
+
affectedOutputs: RelationQueryOutputId[];
|
|
1324
|
+
occurrenceCount: number;
|
|
1325
|
+
suggestedResolutions: RelationRequirementGapResolutionKind[];
|
|
1326
|
+
}
|
|
1327
|
+
|
|
1328
|
+
export interface RelationQueryEvaluationObservationFingerprint {
|
|
1329
|
+
algorithm: string;
|
|
1330
|
+
canonicalization: string;
|
|
1331
|
+
value: string;
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1334
|
+
export interface FieldPathSegment {
|
|
1335
|
+
kind: SegmentKind;
|
|
1336
|
+
segment?: string | null;
|
|
1337
|
+
}
|
|
1338
|
+
|
|
1339
|
+
export type RelationQueryPhysicalLoweringRuleId = string;
|
|
1340
|
+
|
|
1341
|
+
export interface RelationQueryPhysicalCapabilityEvidenceReference {
|
|
1342
|
+
source: RelationQuerySourceInstanceId;
|
|
1343
|
+
target: RelationQueryTargetId;
|
|
1344
|
+
profile: RelationQueryTargetProfileId;
|
|
1345
|
+
evidence: RelationQueryTargetCapabilityEvidenceId;
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1348
|
+
export type RelationQueryPhysicalPlanningDecisionId = string;
|
|
1349
|
+
|
|
1350
|
+
export interface RelationQueryAdapterBindingFingerprint {
|
|
1351
|
+
algorithm: string;
|
|
1352
|
+
canonicalization: string;
|
|
1353
|
+
value: string;
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1356
|
+
export type RelationQueryBoundAssessmentStatus = 'Available' | 'Unavailable' | 'Invalid' | 'Blocked';
|
|
1357
|
+
|
|
1358
|
+
export const relationQueryBoundAssessmentStatuses = {
|
|
1359
|
+
available: 'Available',
|
|
1360
|
+
unavailable: 'Unavailable',
|
|
1361
|
+
invalid: 'Invalid',
|
|
1362
|
+
blocked: 'Blocked',
|
|
1363
|
+
} as const satisfies Record<string, RelationQueryBoundAssessmentStatus>;
|
|
1364
|
+
|
|
1365
|
+
export const relationQueryBoundAssessmentStatusLabels: Record<RelationQueryBoundAssessmentStatus, string> = {
|
|
1366
|
+
Available: 'Available',
|
|
1367
|
+
Unavailable: 'Unavailable',
|
|
1368
|
+
Invalid: 'Invalid',
|
|
1369
|
+
Blocked: 'Blocked',
|
|
1370
|
+
};
|
|
1371
|
+
|
|
1372
|
+
export type RelationQueryLogicalCapabilityKind = 'Source' | 'Filter' | 'RelationshipTraversal' | 'ForwardRelationshipTraversal' | 'InverseRelationshipTraversal' | 'AtMostOneRelationshipTraversal' | 'ManyRelationshipTraversal' | 'RequiredRelationshipTraversal' | 'OptionalRelationshipTraversal' | 'Join' | 'InnerJoin' | 'LeftOuterJoin' | 'RightOuterJoin' | 'FullOuterJoin' | 'TemporalJoin' | 'ExpandCollection' | 'Projection' | 'ProjectionAssignment' | 'DistinctRows' | 'DistinctKeys' | 'Aggregation' | 'AggregateGrouping' | 'AggregateFilter' | 'CountAggregate' | 'SumAggregate' | 'MinimumAggregate' | 'MaximumAggregate' | 'AnyAggregate' | 'AllAggregate' | 'Ordering' | 'AscendingOrdering' | 'DescendingOrdering' | 'NullsFirst' | 'NullsLast' | 'StableTieOrdering' | 'OffsetPaging' | 'KeysetPaging' | 'OnePerRootRelationOutput' | 'ZeroOrOnePerRootRelationOutput' | 'ManyPerRootRelationOutput' | 'SetRelationOutput' | 'RelationOutputIdentity' | 'RelationInvariant' | 'QueryRowsResult' | 'QueryAggregationResult' | 'AlwaysPresentBinding' | 'MayBeAbsentBinding' | 'AverageAggregate';
|
|
1373
|
+
|
|
1374
|
+
export const relationQueryLogicalCapabilityKinds = {
|
|
1375
|
+
source: 'Source',
|
|
1376
|
+
filter: 'Filter',
|
|
1377
|
+
relationshipTraversal: 'RelationshipTraversal',
|
|
1378
|
+
forwardRelationshipTraversal: 'ForwardRelationshipTraversal',
|
|
1379
|
+
inverseRelationshipTraversal: 'InverseRelationshipTraversal',
|
|
1380
|
+
atMostOneRelationshipTraversal: 'AtMostOneRelationshipTraversal',
|
|
1381
|
+
manyRelationshipTraversal: 'ManyRelationshipTraversal',
|
|
1382
|
+
requiredRelationshipTraversal: 'RequiredRelationshipTraversal',
|
|
1383
|
+
optionalRelationshipTraversal: 'OptionalRelationshipTraversal',
|
|
1384
|
+
join: 'Join',
|
|
1385
|
+
innerJoin: 'InnerJoin',
|
|
1386
|
+
leftOuterJoin: 'LeftOuterJoin',
|
|
1387
|
+
rightOuterJoin: 'RightOuterJoin',
|
|
1388
|
+
fullOuterJoin: 'FullOuterJoin',
|
|
1389
|
+
temporalJoin: 'TemporalJoin',
|
|
1390
|
+
expandCollection: 'ExpandCollection',
|
|
1391
|
+
projection: 'Projection',
|
|
1392
|
+
projectionAssignment: 'ProjectionAssignment',
|
|
1393
|
+
distinctRows: 'DistinctRows',
|
|
1394
|
+
distinctKeys: 'DistinctKeys',
|
|
1395
|
+
aggregation: 'Aggregation',
|
|
1396
|
+
aggregateGrouping: 'AggregateGrouping',
|
|
1397
|
+
aggregateFilter: 'AggregateFilter',
|
|
1398
|
+
countAggregate: 'CountAggregate',
|
|
1399
|
+
sumAggregate: 'SumAggregate',
|
|
1400
|
+
minimumAggregate: 'MinimumAggregate',
|
|
1401
|
+
maximumAggregate: 'MaximumAggregate',
|
|
1402
|
+
anyAggregate: 'AnyAggregate',
|
|
1403
|
+
allAggregate: 'AllAggregate',
|
|
1404
|
+
ordering: 'Ordering',
|
|
1405
|
+
ascendingOrdering: 'AscendingOrdering',
|
|
1406
|
+
descendingOrdering: 'DescendingOrdering',
|
|
1407
|
+
nullsFirst: 'NullsFirst',
|
|
1408
|
+
nullsLast: 'NullsLast',
|
|
1409
|
+
stableTieOrdering: 'StableTieOrdering',
|
|
1410
|
+
offsetPaging: 'OffsetPaging',
|
|
1411
|
+
keysetPaging: 'KeysetPaging',
|
|
1412
|
+
onePerRootRelationOutput: 'OnePerRootRelationOutput',
|
|
1413
|
+
zeroOrOnePerRootRelationOutput: 'ZeroOrOnePerRootRelationOutput',
|
|
1414
|
+
manyPerRootRelationOutput: 'ManyPerRootRelationOutput',
|
|
1415
|
+
setRelationOutput: 'SetRelationOutput',
|
|
1416
|
+
relationOutputIdentity: 'RelationOutputIdentity',
|
|
1417
|
+
relationInvariant: 'RelationInvariant',
|
|
1418
|
+
queryRowsResult: 'QueryRowsResult',
|
|
1419
|
+
queryAggregationResult: 'QueryAggregationResult',
|
|
1420
|
+
alwaysPresentBinding: 'AlwaysPresentBinding',
|
|
1421
|
+
mayBeAbsentBinding: 'MayBeAbsentBinding',
|
|
1422
|
+
averageAggregate: 'AverageAggregate',
|
|
1423
|
+
} as const satisfies Record<string, RelationQueryLogicalCapabilityKind>;
|
|
1424
|
+
|
|
1425
|
+
export const relationQueryLogicalCapabilityKindLabels: Record<RelationQueryLogicalCapabilityKind, string> = {
|
|
1426
|
+
Source: 'Source',
|
|
1427
|
+
Filter: 'Filter',
|
|
1428
|
+
RelationshipTraversal: 'RelationshipTraversal',
|
|
1429
|
+
ForwardRelationshipTraversal: 'ForwardRelationshipTraversal',
|
|
1430
|
+
InverseRelationshipTraversal: 'InverseRelationshipTraversal',
|
|
1431
|
+
AtMostOneRelationshipTraversal: 'AtMostOneRelationshipTraversal',
|
|
1432
|
+
ManyRelationshipTraversal: 'ManyRelationshipTraversal',
|
|
1433
|
+
RequiredRelationshipTraversal: 'RequiredRelationshipTraversal',
|
|
1434
|
+
OptionalRelationshipTraversal: 'OptionalRelationshipTraversal',
|
|
1435
|
+
Join: 'Join',
|
|
1436
|
+
InnerJoin: 'InnerJoin',
|
|
1437
|
+
LeftOuterJoin: 'LeftOuterJoin',
|
|
1438
|
+
RightOuterJoin: 'RightOuterJoin',
|
|
1439
|
+
FullOuterJoin: 'FullOuterJoin',
|
|
1440
|
+
TemporalJoin: 'TemporalJoin',
|
|
1441
|
+
ExpandCollection: 'ExpandCollection',
|
|
1442
|
+
Projection: 'Projection',
|
|
1443
|
+
ProjectionAssignment: 'ProjectionAssignment',
|
|
1444
|
+
DistinctRows: 'DistinctRows',
|
|
1445
|
+
DistinctKeys: 'DistinctKeys',
|
|
1446
|
+
Aggregation: 'Aggregation',
|
|
1447
|
+
AggregateGrouping: 'AggregateGrouping',
|
|
1448
|
+
AggregateFilter: 'AggregateFilter',
|
|
1449
|
+
CountAggregate: 'CountAggregate',
|
|
1450
|
+
SumAggregate: 'SumAggregate',
|
|
1451
|
+
MinimumAggregate: 'MinimumAggregate',
|
|
1452
|
+
MaximumAggregate: 'MaximumAggregate',
|
|
1453
|
+
AnyAggregate: 'AnyAggregate',
|
|
1454
|
+
AllAggregate: 'AllAggregate',
|
|
1455
|
+
Ordering: 'Ordering',
|
|
1456
|
+
AscendingOrdering: 'AscendingOrdering',
|
|
1457
|
+
DescendingOrdering: 'DescendingOrdering',
|
|
1458
|
+
NullsFirst: 'NullsFirst',
|
|
1459
|
+
NullsLast: 'NullsLast',
|
|
1460
|
+
StableTieOrdering: 'StableTieOrdering',
|
|
1461
|
+
OffsetPaging: 'OffsetPaging',
|
|
1462
|
+
KeysetPaging: 'KeysetPaging',
|
|
1463
|
+
OnePerRootRelationOutput: 'OnePerRootRelationOutput',
|
|
1464
|
+
ZeroOrOnePerRootRelationOutput: 'ZeroOrOnePerRootRelationOutput',
|
|
1465
|
+
ManyPerRootRelationOutput: 'ManyPerRootRelationOutput',
|
|
1466
|
+
SetRelationOutput: 'SetRelationOutput',
|
|
1467
|
+
RelationOutputIdentity: 'RelationOutputIdentity',
|
|
1468
|
+
RelationInvariant: 'RelationInvariant',
|
|
1469
|
+
QueryRowsResult: 'QueryRowsResult',
|
|
1470
|
+
QueryAggregationResult: 'QueryAggregationResult',
|
|
1471
|
+
AlwaysPresentBinding: 'AlwaysPresentBinding',
|
|
1472
|
+
MayBeAbsentBinding: 'MayBeAbsentBinding',
|
|
1473
|
+
AverageAggregate: 'AverageAggregate',
|
|
1474
|
+
};
|
|
1475
|
+
|
|
1476
|
+
export interface ExprCapabilityId {
|
|
1477
|
+
value: string;
|
|
1478
|
+
}
|
|
1479
|
+
|
|
1480
|
+
export type ExprCapabilityRequirementKind = 'Operation' | 'Ambient';
|
|
1481
|
+
|
|
1482
|
+
export const exprCapabilityRequirementKinds = {
|
|
1483
|
+
operation: 'Operation',
|
|
1484
|
+
ambient: 'Ambient',
|
|
1485
|
+
} as const satisfies Record<string, ExprCapabilityRequirementKind>;
|
|
1486
|
+
|
|
1487
|
+
export const exprCapabilityRequirementKindLabels: Record<ExprCapabilityRequirementKind, string> = {
|
|
1488
|
+
Operation: 'Operation',
|
|
1489
|
+
Ambient: 'Ambient',
|
|
1490
|
+
};
|
|
1491
|
+
|
|
1492
|
+
export type RelationQueryTemporalExecutionCapability = 'PointInInterval' | 'IntervalOverlap' | 'InclusiveBoundary' | 'ExclusiveBoundary' | 'UnboundedBoundary' | 'NullAsUnbounded' | 'DateDomain' | 'DateTimeDomain' | 'InstantDomain' | 'PreserveAllMatches' | 'InnerJoin' | 'LeftOuterJoin' | 'RightOuterJoin' | 'FullOuterJoin' | 'ValidateIntervals' | 'InconclusiveEvidence';
|
|
1493
|
+
|
|
1494
|
+
export const relationQueryTemporalExecutionCapabilities = {
|
|
1495
|
+
pointInInterval: 'PointInInterval',
|
|
1496
|
+
intervalOverlap: 'IntervalOverlap',
|
|
1497
|
+
inclusiveBoundary: 'InclusiveBoundary',
|
|
1498
|
+
exclusiveBoundary: 'ExclusiveBoundary',
|
|
1499
|
+
unboundedBoundary: 'UnboundedBoundary',
|
|
1500
|
+
nullAsUnbounded: 'NullAsUnbounded',
|
|
1501
|
+
dateDomain: 'DateDomain',
|
|
1502
|
+
dateTimeDomain: 'DateTimeDomain',
|
|
1503
|
+
instantDomain: 'InstantDomain',
|
|
1504
|
+
preserveAllMatches: 'PreserveAllMatches',
|
|
1505
|
+
innerJoin: 'InnerJoin',
|
|
1506
|
+
leftOuterJoin: 'LeftOuterJoin',
|
|
1507
|
+
rightOuterJoin: 'RightOuterJoin',
|
|
1508
|
+
fullOuterJoin: 'FullOuterJoin',
|
|
1509
|
+
validateIntervals: 'ValidateIntervals',
|
|
1510
|
+
inconclusiveEvidence: 'InconclusiveEvidence',
|
|
1511
|
+
} as const satisfies Record<string, RelationQueryTemporalExecutionCapability>;
|
|
1512
|
+
|
|
1513
|
+
export const relationQueryTemporalExecutionCapabilityLabels: Record<RelationQueryTemporalExecutionCapability, string> = {
|
|
1514
|
+
PointInInterval: 'PointInInterval',
|
|
1515
|
+
IntervalOverlap: 'IntervalOverlap',
|
|
1516
|
+
InclusiveBoundary: 'InclusiveBoundary',
|
|
1517
|
+
ExclusiveBoundary: 'ExclusiveBoundary',
|
|
1518
|
+
UnboundedBoundary: 'UnboundedBoundary',
|
|
1519
|
+
NullAsUnbounded: 'NullAsUnbounded',
|
|
1520
|
+
DateDomain: 'DateDomain',
|
|
1521
|
+
DateTimeDomain: 'DateTimeDomain',
|
|
1522
|
+
InstantDomain: 'InstantDomain',
|
|
1523
|
+
PreserveAllMatches: 'PreserveAllMatches',
|
|
1524
|
+
InnerJoin: 'InnerJoin',
|
|
1525
|
+
LeftOuterJoin: 'LeftOuterJoin',
|
|
1526
|
+
RightOuterJoin: 'RightOuterJoin',
|
|
1527
|
+
FullOuterJoin: 'FullOuterJoin',
|
|
1528
|
+
ValidateIntervals: 'ValidateIntervals',
|
|
1529
|
+
InconclusiveEvidence: 'InconclusiveEvidence',
|
|
1530
|
+
};
|
|
1531
|
+
|
|
1532
|
+
export type RelationQueryStructuralCapabilityRole = 'BindingRead' | 'CurrentItemRead' | 'OccurrenceEvidenceReconstruction' | 'ProjectionTarget' | 'GroupingTarget' | 'AggregateTarget' | 'OutputSelection' | 'CompleteValue';
|
|
1533
|
+
|
|
1534
|
+
export const relationQueryStructuralCapabilityRoles = {
|
|
1535
|
+
bindingRead: 'BindingRead',
|
|
1536
|
+
currentItemRead: 'CurrentItemRead',
|
|
1537
|
+
occurrenceEvidenceReconstruction: 'OccurrenceEvidenceReconstruction',
|
|
1538
|
+
projectionTarget: 'ProjectionTarget',
|
|
1539
|
+
groupingTarget: 'GroupingTarget',
|
|
1540
|
+
aggregateTarget: 'AggregateTarget',
|
|
1541
|
+
outputSelection: 'OutputSelection',
|
|
1542
|
+
completeValue: 'CompleteValue',
|
|
1543
|
+
} as const satisfies Record<string, RelationQueryStructuralCapabilityRole>;
|
|
1544
|
+
|
|
1545
|
+
export const relationQueryStructuralCapabilityRoleLabels: Record<RelationQueryStructuralCapabilityRole, string> = {
|
|
1546
|
+
BindingRead: 'BindingRead',
|
|
1547
|
+
CurrentItemRead: 'CurrentItemRead',
|
|
1548
|
+
OccurrenceEvidenceReconstruction: 'OccurrenceEvidenceReconstruction',
|
|
1549
|
+
ProjectionTarget: 'ProjectionTarget',
|
|
1550
|
+
GroupingTarget: 'GroupingTarget',
|
|
1551
|
+
AggregateTarget: 'AggregateTarget',
|
|
1552
|
+
OutputSelection: 'OutputSelection',
|
|
1553
|
+
CompleteValue: 'CompleteValue',
|
|
1554
|
+
};
|
|
1555
|
+
|
|
1556
|
+
export type RelationQueryStructuralPathKind = 'RootValue' | 'TopLevelField' | 'NestedField' | 'CollectionElement' | 'NestedCollectionElement';
|
|
1557
|
+
|
|
1558
|
+
export const relationQueryStructuralPathKinds = {
|
|
1559
|
+
rootValue: 'RootValue',
|
|
1560
|
+
topLevelField: 'TopLevelField',
|
|
1561
|
+
nestedField: 'NestedField',
|
|
1562
|
+
collectionElement: 'CollectionElement',
|
|
1563
|
+
nestedCollectionElement: 'NestedCollectionElement',
|
|
1564
|
+
} as const satisfies Record<string, RelationQueryStructuralPathKind>;
|
|
1565
|
+
|
|
1566
|
+
export const relationQueryStructuralPathKindLabels: Record<RelationQueryStructuralPathKind, string> = {
|
|
1567
|
+
RootValue: 'RootValue',
|
|
1568
|
+
TopLevelField: 'TopLevelField',
|
|
1569
|
+
NestedField: 'NestedField',
|
|
1570
|
+
CollectionElement: 'CollectionElement',
|
|
1571
|
+
NestedCollectionElement: 'NestedCollectionElement',
|
|
1572
|
+
};
|
|
1573
|
+
|
|
1574
|
+
export type RelationQueryPrimitiveCapabilityKind = 'KeyExtraction' | 'BatchedKeyLookup' | 'PredicateRead' | 'CompleteSetEnumeration' | 'LocalCorrelation' | 'HashJoin' | 'StableSort' | 'LocalAggregation' | 'FieldProjection' | 'NullAwareComparison' | 'TemporalComparison' | 'IntervalPredicate' | 'ObservationIdentityRead' | 'RelationshipReferenceRead' | 'ParameterBinding' | 'AmbientCapabilityBinding' | 'OutputObjectConstruction' | 'ProvenanceTracking' | 'BatchedPredicateLookup' | 'InvariantEvaluation' | 'OffsetPaging' | 'KeysetSeek';
|
|
1575
|
+
|
|
1576
|
+
export const relationQueryPrimitiveCapabilityKinds = {
|
|
1577
|
+
keyExtraction: 'KeyExtraction',
|
|
1578
|
+
batchedKeyLookup: 'BatchedKeyLookup',
|
|
1579
|
+
predicateRead: 'PredicateRead',
|
|
1580
|
+
completeSetEnumeration: 'CompleteSetEnumeration',
|
|
1581
|
+
localCorrelation: 'LocalCorrelation',
|
|
1582
|
+
hashJoin: 'HashJoin',
|
|
1583
|
+
stableSort: 'StableSort',
|
|
1584
|
+
localAggregation: 'LocalAggregation',
|
|
1585
|
+
fieldProjection: 'FieldProjection',
|
|
1586
|
+
nullAwareComparison: 'NullAwareComparison',
|
|
1587
|
+
temporalComparison: 'TemporalComparison',
|
|
1588
|
+
intervalPredicate: 'IntervalPredicate',
|
|
1589
|
+
observationIdentityRead: 'ObservationIdentityRead',
|
|
1590
|
+
relationshipReferenceRead: 'RelationshipReferenceRead',
|
|
1591
|
+
parameterBinding: 'ParameterBinding',
|
|
1592
|
+
ambientCapabilityBinding: 'AmbientCapabilityBinding',
|
|
1593
|
+
outputObjectConstruction: 'OutputObjectConstruction',
|
|
1594
|
+
provenanceTracking: 'ProvenanceTracking',
|
|
1595
|
+
batchedPredicateLookup: 'BatchedPredicateLookup',
|
|
1596
|
+
invariantEvaluation: 'InvariantEvaluation',
|
|
1597
|
+
offsetPaging: 'OffsetPaging',
|
|
1598
|
+
keysetSeek: 'KeysetSeek',
|
|
1599
|
+
} as const satisfies Record<string, RelationQueryPrimitiveCapabilityKind>;
|
|
1600
|
+
|
|
1601
|
+
export const relationQueryPrimitiveCapabilityKindLabels: Record<RelationQueryPrimitiveCapabilityKind, string> = {
|
|
1602
|
+
KeyExtraction: 'KeyExtraction',
|
|
1603
|
+
BatchedKeyLookup: 'BatchedKeyLookup',
|
|
1604
|
+
PredicateRead: 'PredicateRead',
|
|
1605
|
+
CompleteSetEnumeration: 'CompleteSetEnumeration',
|
|
1606
|
+
LocalCorrelation: 'LocalCorrelation',
|
|
1607
|
+
HashJoin: 'HashJoin',
|
|
1608
|
+
StableSort: 'StableSort',
|
|
1609
|
+
LocalAggregation: 'LocalAggregation',
|
|
1610
|
+
FieldProjection: 'FieldProjection',
|
|
1611
|
+
NullAwareComparison: 'NullAwareComparison',
|
|
1612
|
+
TemporalComparison: 'TemporalComparison',
|
|
1613
|
+
IntervalPredicate: 'IntervalPredicate',
|
|
1614
|
+
ObservationIdentityRead: 'ObservationIdentityRead',
|
|
1615
|
+
RelationshipReferenceRead: 'RelationshipReferenceRead',
|
|
1616
|
+
ParameterBinding: 'ParameterBinding',
|
|
1617
|
+
AmbientCapabilityBinding: 'AmbientCapabilityBinding',
|
|
1618
|
+
OutputObjectConstruction: 'OutputObjectConstruction',
|
|
1619
|
+
ProvenanceTracking: 'ProvenanceTracking',
|
|
1620
|
+
BatchedPredicateLookup: 'BatchedPredicateLookup',
|
|
1621
|
+
InvariantEvaluation: 'InvariantEvaluation',
|
|
1622
|
+
OffsetPaging: 'OffsetPaging',
|
|
1623
|
+
KeysetSeek: 'KeysetSeek',
|
|
1624
|
+
};
|
|
1625
|
+
|
|
1626
|
+
export interface RelationQueryRealizationOutputReference {
|
|
1627
|
+
id: RelationQueryOutputId;
|
|
1628
|
+
kind: RelationQueryOutputReferenceKind;
|
|
1629
|
+
node: QueryNodeId;
|
|
1630
|
+
shape: QualifiedShapeId;
|
|
1631
|
+
relation?: RelationId | null;
|
|
1632
|
+
queryResult?: QueryResultId | null;
|
|
1633
|
+
field?: RelationQueryFieldReference | null;
|
|
1634
|
+
}
|
|
1635
|
+
|
|
1636
|
+
export type RelationQueryRequirementEffect = 'Value' | 'Identity' | 'Membership' | 'Correlation' | 'Acquisition' | 'Cardinality' | 'Ordering' | 'Grouping' | 'Aggregation' | 'Pagination' | 'Validation' | 'Evaluation';
|
|
1637
|
+
|
|
1638
|
+
export const relationQueryRequirementEffects = {
|
|
1639
|
+
value: 'Value',
|
|
1640
|
+
identity: 'Identity',
|
|
1641
|
+
membership: 'Membership',
|
|
1642
|
+
correlation: 'Correlation',
|
|
1643
|
+
acquisition: 'Acquisition',
|
|
1644
|
+
cardinality: 'Cardinality',
|
|
1645
|
+
ordering: 'Ordering',
|
|
1646
|
+
grouping: 'Grouping',
|
|
1647
|
+
aggregation: 'Aggregation',
|
|
1648
|
+
pagination: 'Pagination',
|
|
1649
|
+
validation: 'Validation',
|
|
1650
|
+
evaluation: 'Evaluation',
|
|
1651
|
+
} as const satisfies Record<string, RelationQueryRequirementEffect>;
|
|
1652
|
+
|
|
1653
|
+
export const relationQueryRequirementEffectLabels: Record<RelationQueryRequirementEffect, string> = {
|
|
1654
|
+
Value: 'Value',
|
|
1655
|
+
Identity: 'Identity',
|
|
1656
|
+
Membership: 'Membership',
|
|
1657
|
+
Correlation: 'Correlation',
|
|
1658
|
+
Acquisition: 'Acquisition',
|
|
1659
|
+
Cardinality: 'Cardinality',
|
|
1660
|
+
Ordering: 'Ordering',
|
|
1661
|
+
Grouping: 'Grouping',
|
|
1662
|
+
Aggregation: 'Aggregation',
|
|
1663
|
+
Pagination: 'Pagination',
|
|
1664
|
+
Validation: 'Validation',
|
|
1665
|
+
Evaluation: 'Evaluation',
|
|
1666
|
+
};
|
|
1667
|
+
|
|
1668
|
+
export type QueryInputRequirement = 'Optional' | 'Required';
|
|
1669
|
+
|
|
1670
|
+
export const queryInputRequirements = {
|
|
1671
|
+
optional: 'Optional',
|
|
1672
|
+
required: 'Required',
|
|
1673
|
+
} as const satisfies Record<string, QueryInputRequirement>;
|
|
1674
|
+
|
|
1675
|
+
export const queryInputRequirementLabels: Record<QueryInputRequirement, string> = {
|
|
1676
|
+
Optional: 'Optional',
|
|
1677
|
+
Required: 'Required',
|
|
1678
|
+
};
|
|
1679
|
+
|
|
1680
|
+
export interface RelationQueryRealizationTrace {
|
|
1681
|
+
steps: RelationQueryRealizationTraceStep[];
|
|
1682
|
+
}
|
|
1683
|
+
|
|
1684
|
+
export type RelationQueryRealizationStaticFactKind = 'FieldPathDepth' | 'ExpressionDepth' | 'PageSize';
|
|
1685
|
+
|
|
1686
|
+
export const relationQueryRealizationStaticFactKinds = {
|
|
1687
|
+
fieldPathDepth: 'FieldPathDepth',
|
|
1688
|
+
expressionDepth: 'ExpressionDepth',
|
|
1689
|
+
pageSize: 'PageSize',
|
|
1690
|
+
} as const satisfies Record<string, RelationQueryRealizationStaticFactKind>;
|
|
1691
|
+
|
|
1692
|
+
export const relationQueryRealizationStaticFactKindLabels: Record<RelationQueryRealizationStaticFactKind, string> = {
|
|
1693
|
+
FieldPathDepth: 'FieldPathDepth',
|
|
1694
|
+
ExpressionDepth: 'ExpressionDepth',
|
|
1695
|
+
PageSize: 'PageSize',
|
|
1696
|
+
};
|
|
1697
|
+
|
|
1698
|
+
export type RelationQueryOperatingBoundaryValidationKind = 'StaticPlanFact' | 'TargetEnforced';
|
|
1699
|
+
|
|
1700
|
+
export const relationQueryOperatingBoundaryValidationKinds = {
|
|
1701
|
+
staticPlanFact: 'StaticPlanFact',
|
|
1702
|
+
targetEnforced: 'TargetEnforced',
|
|
1703
|
+
} as const satisfies Record<string, RelationQueryOperatingBoundaryValidationKind>;
|
|
1704
|
+
|
|
1705
|
+
export const relationQueryOperatingBoundaryValidationKindLabels: Record<RelationQueryOperatingBoundaryValidationKind, string> = {
|
|
1706
|
+
StaticPlanFact: 'StaticPlanFact',
|
|
1707
|
+
TargetEnforced: 'TargetEnforced',
|
|
1708
|
+
};
|
|
1709
|
+
|
|
1710
|
+
export type LogicalQueryNode = {
|
|
1711
|
+
readonly $node: 'source';
|
|
1712
|
+
} & SourceQueryNode | {
|
|
1713
|
+
readonly $node: 'filter';
|
|
1714
|
+
} & FilterQueryNode | {
|
|
1715
|
+
readonly $node: 'traverseRelationship';
|
|
1716
|
+
} & TraverseRelationshipQueryNode | {
|
|
1717
|
+
readonly $node: 'join';
|
|
1718
|
+
} & JoinQueryNode | {
|
|
1719
|
+
readonly $node: 'temporalJoin';
|
|
1720
|
+
} & TemporalJoinQueryNode | {
|
|
1721
|
+
readonly $node: 'expandCollection';
|
|
1722
|
+
} & ExpandCollectionQueryNode | {
|
|
1723
|
+
readonly $node: 'project';
|
|
1724
|
+
} & ProjectQueryNode | {
|
|
1725
|
+
readonly $node: 'distinct';
|
|
1726
|
+
} & DistinctQueryNode | {
|
|
1727
|
+
readonly $node: 'aggregate';
|
|
1728
|
+
} & AggregateQueryNode | {
|
|
1729
|
+
readonly $node: 'order';
|
|
1730
|
+
} & OrderQueryNode | {
|
|
1731
|
+
readonly $node: 'page';
|
|
1732
|
+
} & PageQueryNode;
|
|
1733
|
+
|
|
1734
|
+
export interface SourceQueryNode {
|
|
1735
|
+
id: QueryNodeId;
|
|
1736
|
+
binding: ValueBindingId;
|
|
1737
|
+
shape: QualifiedShapeId;
|
|
1738
|
+
}
|
|
1739
|
+
|
|
1740
|
+
export interface FilterQueryNode {
|
|
1741
|
+
input: QueryNodeId;
|
|
1742
|
+
predicate: Expr;
|
|
1743
|
+
id: QueryNodeId;
|
|
1744
|
+
}
|
|
1745
|
+
|
|
1746
|
+
export interface TraverseRelationshipQueryNode {
|
|
1747
|
+
id: QueryNodeId;
|
|
1748
|
+
input: QueryNodeId;
|
|
1749
|
+
from: ValueBindingId;
|
|
1750
|
+
relationship: RelationshipId;
|
|
1751
|
+
direction: RelationshipTraversalDirection;
|
|
1752
|
+
result: ValueBindingId;
|
|
1753
|
+
joinKind: JoinKind;
|
|
1754
|
+
requirement: QueryInputRequirement;
|
|
1755
|
+
}
|
|
1756
|
+
|
|
1757
|
+
export interface JoinQueryNode {
|
|
1758
|
+
left: QueryNodeId;
|
|
1759
|
+
right: QueryNodeId;
|
|
1760
|
+
kind: JoinKind;
|
|
1761
|
+
predicate: Expr;
|
|
1762
|
+
id: QueryNodeId;
|
|
1763
|
+
}
|
|
1764
|
+
|
|
1765
|
+
export interface TemporalJoinQueryNode {
|
|
1766
|
+
id: QueryNodeId;
|
|
1767
|
+
left: QueryNodeId;
|
|
1768
|
+
right: QueryNodeId;
|
|
1769
|
+
kind: JoinKind;
|
|
1770
|
+
correlation: Expr;
|
|
1771
|
+
match: TemporalJoinMatch;
|
|
185
1772
|
}
|
|
186
1773
|
|
|
187
|
-
export
|
|
1774
|
+
export interface ExpandCollectionQueryNode {
|
|
1775
|
+
input: QueryNodeId;
|
|
1776
|
+
collection: Expr;
|
|
1777
|
+
itemBinding: ValueBindingId;
|
|
1778
|
+
itemType: TypeRef;
|
|
1779
|
+
id: QueryNodeId;
|
|
1780
|
+
}
|
|
1781
|
+
|
|
1782
|
+
export interface ProjectQueryNode {
|
|
1783
|
+
id: QueryNodeId;
|
|
1784
|
+
input: QueryNodeId;
|
|
1785
|
+
resultBinding: ValueBindingId;
|
|
1786
|
+
resultShape: QualifiedShapeId;
|
|
1787
|
+
assignments: ProjectionAssignment[];
|
|
1788
|
+
}
|
|
1789
|
+
|
|
1790
|
+
export interface DistinctQueryNode {
|
|
1791
|
+
input: QueryNodeId;
|
|
1792
|
+
keys: Expr[];
|
|
1793
|
+
id: QueryNodeId;
|
|
1794
|
+
}
|
|
1795
|
+
|
|
1796
|
+
export interface AggregateQueryNode {
|
|
1797
|
+
input: QueryNodeId;
|
|
1798
|
+
resultBinding: ValueBindingId;
|
|
1799
|
+
resultShape: QualifiedShapeId;
|
|
1800
|
+
groupings: QueryGrouping[];
|
|
1801
|
+
aggregates: QueryAggregateAssignment[];
|
|
1802
|
+
id: QueryNodeId;
|
|
1803
|
+
}
|
|
1804
|
+
|
|
1805
|
+
export interface OrderQueryNode {
|
|
1806
|
+
id: QueryNodeId;
|
|
1807
|
+
input: QueryNodeId;
|
|
1808
|
+
orderings: QueryOrdering[];
|
|
1809
|
+
}
|
|
1810
|
+
|
|
1811
|
+
export interface PageQueryNode {
|
|
1812
|
+
id: QueryNodeId;
|
|
1813
|
+
input: QueryNodeId;
|
|
1814
|
+
page: QueryPageDefinition;
|
|
1815
|
+
}
|
|
1816
|
+
|
|
1817
|
+
export interface QueryParameterDefinition {
|
|
1818
|
+
id: QueryParameterId;
|
|
1819
|
+
type: TypeRef;
|
|
1820
|
+
presence: FieldPresence;
|
|
1821
|
+
defaultKind: QueryParameterDefaultKind;
|
|
1822
|
+
defaultValue?: unknown | null;
|
|
1823
|
+
}
|
|
1824
|
+
|
|
1825
|
+
export interface RelationDraftAssignmentSlot {
|
|
1826
|
+
id: QueryAssignmentId;
|
|
1827
|
+
target: FieldPath;
|
|
1828
|
+
candidates: RelationDraftCandidate[];
|
|
1829
|
+
resolution: RelationDraftAssignmentResolution;
|
|
1830
|
+
}
|
|
1831
|
+
|
|
1832
|
+
export type UnaryOperator = 'Not';
|
|
188
1833
|
|
|
189
1834
|
export const unaryOperators = {
|
|
190
|
-
not:
|
|
1835
|
+
not: 'Not',
|
|
191
1836
|
} as const satisfies Record<string, UnaryOperator>;
|
|
192
1837
|
|
|
193
1838
|
export const unaryOperatorLabels: Record<UnaryOperator, string> = {
|
|
194
|
-
|
|
1839
|
+
Not: 'Not',
|
|
195
1840
|
};
|
|
196
1841
|
|
|
197
|
-
export type BinaryOperator =
|
|
1842
|
+
export type BinaryOperator = 'Eq' | 'Ne' | 'Gt' | 'Ge' | 'Lt' | 'Le' | 'And' | 'Or' | 'Add' | 'Sub' | 'Mul' | 'Div';
|
|
198
1843
|
|
|
199
1844
|
export const binaryOperators = {
|
|
200
|
-
eq:
|
|
201
|
-
ne:
|
|
202
|
-
gt:
|
|
203
|
-
ge:
|
|
204
|
-
lt:
|
|
205
|
-
le:
|
|
206
|
-
and:
|
|
207
|
-
or:
|
|
208
|
-
add:
|
|
209
|
-
sub:
|
|
210
|
-
mul:
|
|
211
|
-
div:
|
|
1845
|
+
eq: 'Eq',
|
|
1846
|
+
ne: 'Ne',
|
|
1847
|
+
gt: 'Gt',
|
|
1848
|
+
ge: 'Ge',
|
|
1849
|
+
lt: 'Lt',
|
|
1850
|
+
le: 'Le',
|
|
1851
|
+
and: 'And',
|
|
1852
|
+
or: 'Or',
|
|
1853
|
+
add: 'Add',
|
|
1854
|
+
sub: 'Sub',
|
|
1855
|
+
mul: 'Mul',
|
|
1856
|
+
div: 'Div',
|
|
212
1857
|
} as const satisfies Record<string, BinaryOperator>;
|
|
213
1858
|
|
|
214
1859
|
export const binaryOperatorLabels: Record<BinaryOperator, string> = {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
1860
|
+
Eq: 'Eq',
|
|
1861
|
+
Ne: 'Ne',
|
|
1862
|
+
Gt: 'Gt',
|
|
1863
|
+
Ge: 'Ge',
|
|
1864
|
+
Lt: 'Lt',
|
|
1865
|
+
Le: 'Le',
|
|
1866
|
+
And: 'And',
|
|
1867
|
+
Or: 'Or',
|
|
1868
|
+
Add: 'Add',
|
|
1869
|
+
Sub: 'Sub',
|
|
1870
|
+
Mul: 'Mul',
|
|
1871
|
+
Div: 'Div',
|
|
227
1872
|
};
|
|
228
1873
|
|
|
229
1874
|
export type TypeRef = {
|
|
@@ -247,328 +1892,853 @@ export type TypeRef = {
|
|
|
247
1892
|
} & JsonTypeRef;
|
|
248
1893
|
|
|
249
1894
|
export interface NamedTypeRef {
|
|
250
|
-
|
|
1895
|
+
typeId: TypeId;
|
|
251
1896
|
}
|
|
252
1897
|
|
|
253
1898
|
export interface OpaqueRuntimeTypeRef {
|
|
254
|
-
|
|
1899
|
+
runtimeType: string;
|
|
1900
|
+
inferenceDiagnostic?: TypeInferenceDiagnostic | null;
|
|
255
1901
|
}
|
|
256
1902
|
|
|
257
1903
|
export interface ScalarTypeRef {
|
|
258
|
-
|
|
259
|
-
|
|
1904
|
+
kind: ScalarTypeKind;
|
|
1905
|
+
format: PrimitiveFormat;
|
|
260
1906
|
}
|
|
261
1907
|
|
|
262
1908
|
export interface EnumTypeRef {
|
|
263
|
-
|
|
264
|
-
|
|
1909
|
+
name: string;
|
|
1910
|
+
members: string[];
|
|
265
1911
|
}
|
|
266
1912
|
|
|
267
1913
|
export interface EntityReferenceTypeRef {
|
|
268
|
-
|
|
1914
|
+
entity: EntityTypeName;
|
|
269
1915
|
}
|
|
270
1916
|
|
|
271
1917
|
export interface ArrayTypeRef {
|
|
272
|
-
|
|
1918
|
+
elementType: TypeRef;
|
|
273
1919
|
}
|
|
274
1920
|
|
|
275
1921
|
export interface ObjectTypeRef {
|
|
276
|
-
|
|
1922
|
+
fields: ObjectFieldTypeDef[];
|
|
277
1923
|
}
|
|
278
1924
|
|
|
279
1925
|
export interface QuantityTypeRef {
|
|
280
|
-
|
|
281
|
-
|
|
1926
|
+
quantity: string;
|
|
1927
|
+
baseKind: ScalarTypeKind;
|
|
282
1928
|
}
|
|
283
1929
|
|
|
284
1930
|
export interface JsonTypeRef {
|
|
285
|
-
|
|
1931
|
+
kind: JsonTypeKind;
|
|
286
1932
|
}
|
|
287
1933
|
|
|
288
|
-
export type AggregateOperator =
|
|
1934
|
+
export type AggregateOperator = 'Count' | 'Sum' | 'Min' | 'Max' | 'Any' | 'All' | 'Average';
|
|
289
1935
|
|
|
290
1936
|
export const aggregateOperators = {
|
|
291
|
-
count:
|
|
292
|
-
sum:
|
|
293
|
-
min:
|
|
294
|
-
max:
|
|
295
|
-
any:
|
|
296
|
-
all:
|
|
1937
|
+
count: 'Count',
|
|
1938
|
+
sum: 'Sum',
|
|
1939
|
+
min: 'Min',
|
|
1940
|
+
max: 'Max',
|
|
1941
|
+
any: 'Any',
|
|
1942
|
+
all: 'All',
|
|
1943
|
+
average: 'Average',
|
|
297
1944
|
} as const satisfies Record<string, AggregateOperator>;
|
|
298
1945
|
|
|
299
1946
|
export const aggregateOperatorLabels: Record<AggregateOperator, string> = {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
1947
|
+
Count: 'Count',
|
|
1948
|
+
Sum: 'Sum',
|
|
1949
|
+
Min: 'Min',
|
|
1950
|
+
Max: 'Max',
|
|
1951
|
+
Any: 'Any',
|
|
1952
|
+
All: 'All',
|
|
1953
|
+
Average: 'Average',
|
|
1954
|
+
};
|
|
1955
|
+
|
|
1956
|
+
export type EntityId = string;
|
|
1957
|
+
|
|
1958
|
+
export type QueryAssignmentId = string;
|
|
1959
|
+
|
|
1960
|
+
export type RelationDraftCandidateId = string;
|
|
1961
|
+
|
|
1962
|
+
export type QueryResultId = string;
|
|
1963
|
+
|
|
1964
|
+
export type RelationshipId = string;
|
|
1965
|
+
|
|
1966
|
+
export type RelationshipTargetKey = {
|
|
1967
|
+
readonly $targetKey: 'observationIdentity';
|
|
1968
|
+
} & ObservationIdentityRelationshipTargetKey;
|
|
1969
|
+
|
|
1970
|
+
export type ObservationIdentityRelationshipTargetKey = Record<never, never>;
|
|
1971
|
+
|
|
1972
|
+
export type SourceReferenceUniqueness = 'NotGuaranteed' | 'GloballyUnique';
|
|
1973
|
+
|
|
1974
|
+
export const sourceReferenceUniquenesses = {
|
|
1975
|
+
notGuaranteed: 'NotGuaranteed',
|
|
1976
|
+
globallyUnique: 'GloballyUnique',
|
|
1977
|
+
} as const satisfies Record<string, SourceReferenceUniqueness>;
|
|
1978
|
+
|
|
1979
|
+
export const sourceReferenceUniquenessLabels: Record<SourceReferenceUniqueness, string> = {
|
|
1980
|
+
NotGuaranteed: 'NotGuaranteed',
|
|
1981
|
+
GloballyUnique: 'GloballyUnique',
|
|
1982
|
+
};
|
|
1983
|
+
|
|
1984
|
+
export interface RelationQueryLogicalPlanNode {
|
|
1985
|
+
node: QueryNodeId;
|
|
1986
|
+
inputs: RelationQueryLogicalPlanInput[];
|
|
1987
|
+
effectiveInputs: QueryNodeId[];
|
|
1988
|
+
}
|
|
1989
|
+
|
|
1990
|
+
export interface RelationQueryExplainRequirementInput {
|
|
1991
|
+
id: RelationQueryInputId;
|
|
1992
|
+
kind: RelationQueryExplainRequirementInputKind;
|
|
1993
|
+
}
|
|
1994
|
+
|
|
1995
|
+
export interface RelationQueryOutputReference {
|
|
1996
|
+
id: RelationQueryOutputId;
|
|
1997
|
+
kind: RelationQueryOutputReferenceKind;
|
|
1998
|
+
node: QueryNodeId;
|
|
1999
|
+
shape: QualifiedShapeId;
|
|
2000
|
+
relation?: RelationId | null;
|
|
2001
|
+
queryResult?: QueryResultId | null;
|
|
2002
|
+
field?: RelationQueryFieldReference | null;
|
|
2003
|
+
}
|
|
2004
|
+
|
|
2005
|
+
export interface RelationQueryExplainRequirementEdge {
|
|
2006
|
+
input: RelationQueryInputId;
|
|
2007
|
+
output: RelationQueryOutputId;
|
|
2008
|
+
effect: RelationQueryRequirementEffect;
|
|
2009
|
+
requirement: QueryInputRequirement;
|
|
2010
|
+
}
|
|
2011
|
+
|
|
2012
|
+
export type RelationQueryNativeResultKind = 'RelationRows' | 'QueryRows' | 'QueryAggregation';
|
|
2013
|
+
|
|
2014
|
+
export const relationQueryNativeResultKinds = {
|
|
2015
|
+
relationRows: 'RelationRows',
|
|
2016
|
+
queryRows: 'QueryRows',
|
|
2017
|
+
queryAggregation: 'QueryAggregation',
|
|
2018
|
+
} as const satisfies Record<string, RelationQueryNativeResultKind>;
|
|
2019
|
+
|
|
2020
|
+
export const relationQueryNativeResultKindLabels: Record<RelationQueryNativeResultKind, string> = {
|
|
2021
|
+
RelationRows: 'RelationRows',
|
|
2022
|
+
QueryRows: 'QueryRows',
|
|
2023
|
+
QueryAggregation: 'QueryAggregation',
|
|
306
2024
|
};
|
|
307
2025
|
|
|
308
|
-
export interface
|
|
309
|
-
|
|
2026
|
+
export interface RelationQueryFieldReference {
|
|
2027
|
+
shape: QualifiedShapeId;
|
|
2028
|
+
path: FieldPath;
|
|
2029
|
+
}
|
|
2030
|
+
|
|
2031
|
+
export interface RelationQueryNativeArtifactFingerprintReference {
|
|
2032
|
+
algorithm: string;
|
|
2033
|
+
canonicalization: string;
|
|
2034
|
+
value: string;
|
|
310
2035
|
}
|
|
311
2036
|
|
|
312
|
-
export interface
|
|
313
|
-
|
|
2037
|
+
export interface RelationQueryNativeCompilationProvenance {
|
|
2038
|
+
plan: RelationQueryCompiledPlanReference;
|
|
2039
|
+
branch: RelationQueryNativeResultBranchId;
|
|
2040
|
+
target: RelationQueryTargetId;
|
|
2041
|
+
targetProfile: RelationQueryTargetProfileId;
|
|
2042
|
+
realization: RelationQueryRealizationFingerprint;
|
|
2043
|
+
boundRealization: RelationQueryBoundRealizationFingerprint;
|
|
2044
|
+
placement: RelationQuerySourcePlacementFingerprint;
|
|
2045
|
+
adapterBinding: RelationQueryAdapterBindingReference;
|
|
2046
|
+
contextEvidence: RelationQueryContextEvidenceId[];
|
|
2047
|
+
compilerProfile: string;
|
|
2048
|
+
conventionSetVersion: string;
|
|
2049
|
+
coveredNodes: QueryNodeId[];
|
|
2050
|
+
coveredAssignments: QueryAssignmentId[];
|
|
2051
|
+
inputFields: RelationQueryInputId[];
|
|
2052
|
+
realizationDecisions: RelationQueryNativeCompilationDecisionReference[];
|
|
2053
|
+
capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
|
|
2054
|
+
operatingBoundaries: RelationQueryOperatingBoundaryId[];
|
|
314
2055
|
}
|
|
315
2056
|
|
|
316
|
-
export type
|
|
2057
|
+
export type RelationQueryExecutionResultKind = 'Rows' | 'Aggregation';
|
|
2058
|
+
|
|
2059
|
+
export const relationQueryExecutionResultKinds = {
|
|
2060
|
+
rows: 'Rows',
|
|
2061
|
+
aggregation: 'Aggregation',
|
|
2062
|
+
} as const satisfies Record<string, RelationQueryExecutionResultKind>;
|
|
2063
|
+
|
|
2064
|
+
export const relationQueryExecutionResultKindLabels: Record<RelationQueryExecutionResultKind, string> = {
|
|
2065
|
+
Rows: 'Rows',
|
|
2066
|
+
Aggregation: 'Aggregation',
|
|
2067
|
+
};
|
|
2068
|
+
|
|
2069
|
+
export type RelationQueryExecutionOutputState = 'Complete' | 'Suppressed' | 'Incomplete';
|
|
2070
|
+
|
|
2071
|
+
export const relationQueryExecutionOutputStates = {
|
|
2072
|
+
complete: 'Complete',
|
|
2073
|
+
suppressed: 'Suppressed',
|
|
2074
|
+
incomplete: 'Incomplete',
|
|
2075
|
+
} as const satisfies Record<string, RelationQueryExecutionOutputState>;
|
|
2076
|
+
|
|
2077
|
+
export const relationQueryExecutionOutputStateLabels: Record<RelationQueryExecutionOutputState, string> = {
|
|
2078
|
+
Complete: 'Complete',
|
|
2079
|
+
Suppressed: 'Suppressed',
|
|
2080
|
+
Incomplete: 'Incomplete',
|
|
2081
|
+
};
|
|
2082
|
+
|
|
2083
|
+
export type RelationRequirementGapCause = 'InputNotProvided' | 'InputAcquisitionFailed' | 'ObservationIdentityMissing' | 'ReferenceFieldNotLoaded' | 'ReferenceValueMissing' | 'ReferenceValueNull' | 'ResolutionNotAttempted' | 'ResolutionFailed' | 'RelatedObservationNotFound' | 'RelatedObservationRejected' | 'RequiredFieldNotLoaded' | 'RequiredValueMissing' | 'RequiredValueNull' | 'CapabilityUnavailable' | 'CardinalityViolation' | 'ConversionFailure' | 'InputAcquisitionInconclusive';
|
|
2084
|
+
|
|
2085
|
+
export const relationRequirementGapCauses = {
|
|
2086
|
+
inputNotProvided: 'InputNotProvided',
|
|
2087
|
+
inputAcquisitionFailed: 'InputAcquisitionFailed',
|
|
2088
|
+
observationIdentityMissing: 'ObservationIdentityMissing',
|
|
2089
|
+
referenceFieldNotLoaded: 'ReferenceFieldNotLoaded',
|
|
2090
|
+
referenceValueMissing: 'ReferenceValueMissing',
|
|
2091
|
+
referenceValueNull: 'ReferenceValueNull',
|
|
2092
|
+
resolutionNotAttempted: 'ResolutionNotAttempted',
|
|
2093
|
+
resolutionFailed: 'ResolutionFailed',
|
|
2094
|
+
relatedObservationNotFound: 'RelatedObservationNotFound',
|
|
2095
|
+
relatedObservationRejected: 'RelatedObservationRejected',
|
|
2096
|
+
requiredFieldNotLoaded: 'RequiredFieldNotLoaded',
|
|
2097
|
+
requiredValueMissing: 'RequiredValueMissing',
|
|
2098
|
+
requiredValueNull: 'RequiredValueNull',
|
|
2099
|
+
capabilityUnavailable: 'CapabilityUnavailable',
|
|
2100
|
+
cardinalityViolation: 'CardinalityViolation',
|
|
2101
|
+
conversionFailure: 'ConversionFailure',
|
|
2102
|
+
inputAcquisitionInconclusive: 'InputAcquisitionInconclusive',
|
|
2103
|
+
} as const satisfies Record<string, RelationRequirementGapCause>;
|
|
2104
|
+
|
|
2105
|
+
export const relationRequirementGapCauseLabels: Record<RelationRequirementGapCause, string> = {
|
|
2106
|
+
InputNotProvided: 'InputNotProvided',
|
|
2107
|
+
InputAcquisitionFailed: 'InputAcquisitionFailed',
|
|
2108
|
+
ObservationIdentityMissing: 'ObservationIdentityMissing',
|
|
2109
|
+
ReferenceFieldNotLoaded: 'ReferenceFieldNotLoaded',
|
|
2110
|
+
ReferenceValueMissing: 'ReferenceValueMissing',
|
|
2111
|
+
ReferenceValueNull: 'ReferenceValueNull',
|
|
2112
|
+
ResolutionNotAttempted: 'ResolutionNotAttempted',
|
|
2113
|
+
ResolutionFailed: 'ResolutionFailed',
|
|
2114
|
+
RelatedObservationNotFound: 'RelatedObservationNotFound',
|
|
2115
|
+
RelatedObservationRejected: 'RelatedObservationRejected',
|
|
2116
|
+
RequiredFieldNotLoaded: 'RequiredFieldNotLoaded',
|
|
2117
|
+
RequiredValueMissing: 'RequiredValueMissing',
|
|
2118
|
+
RequiredValueNull: 'RequiredValueNull',
|
|
2119
|
+
CapabilityUnavailable: 'CapabilityUnavailable',
|
|
2120
|
+
CardinalityViolation: 'CardinalityViolation',
|
|
2121
|
+
ConversionFailure: 'ConversionFailure',
|
|
2122
|
+
InputAcquisitionInconclusive: 'InputAcquisitionInconclusive',
|
|
2123
|
+
};
|
|
2124
|
+
|
|
2125
|
+
export type RelationRequirementGapResolutionKind = 'ProvideInput' | 'LoadField' | 'ProvideReferenceValue' | 'ResolveRelationship' | 'RetryAcquisition' | 'ProvideRelatedObservation' | 'CorrectCardinality' | 'ProvideValue' | 'ProvideCapability' | 'CorrectConversion';
|
|
2126
|
+
|
|
2127
|
+
export const relationRequirementGapResolutionKinds = {
|
|
2128
|
+
provideInput: 'ProvideInput',
|
|
2129
|
+
loadField: 'LoadField',
|
|
2130
|
+
provideReferenceValue: 'ProvideReferenceValue',
|
|
2131
|
+
resolveRelationship: 'ResolveRelationship',
|
|
2132
|
+
retryAcquisition: 'RetryAcquisition',
|
|
2133
|
+
provideRelatedObservation: 'ProvideRelatedObservation',
|
|
2134
|
+
correctCardinality: 'CorrectCardinality',
|
|
2135
|
+
provideValue: 'ProvideValue',
|
|
2136
|
+
provideCapability: 'ProvideCapability',
|
|
2137
|
+
correctConversion: 'CorrectConversion',
|
|
2138
|
+
} as const satisfies Record<string, RelationRequirementGapResolutionKind>;
|
|
2139
|
+
|
|
2140
|
+
export const relationRequirementGapResolutionKindLabels: Record<RelationRequirementGapResolutionKind, string> = {
|
|
2141
|
+
ProvideInput: 'ProvideInput',
|
|
2142
|
+
LoadField: 'LoadField',
|
|
2143
|
+
ProvideReferenceValue: 'ProvideReferenceValue',
|
|
2144
|
+
ResolveRelationship: 'ResolveRelationship',
|
|
2145
|
+
RetryAcquisition: 'RetryAcquisition',
|
|
2146
|
+
ProvideRelatedObservation: 'ProvideRelatedObservation',
|
|
2147
|
+
CorrectCardinality: 'CorrectCardinality',
|
|
2148
|
+
ProvideValue: 'ProvideValue',
|
|
2149
|
+
ProvideCapability: 'ProvideCapability',
|
|
2150
|
+
CorrectConversion: 'CorrectConversion',
|
|
2151
|
+
};
|
|
2152
|
+
|
|
2153
|
+
export type SegmentKind = 'Field' | 'Element';
|
|
2154
|
+
|
|
2155
|
+
export const segmentKinds = {
|
|
2156
|
+
field: 'Field',
|
|
2157
|
+
element: 'Element',
|
|
2158
|
+
} as const satisfies Record<string, SegmentKind>;
|
|
2159
|
+
|
|
2160
|
+
export const segmentKindLabels: Record<SegmentKind, string> = {
|
|
2161
|
+
Field: 'Field',
|
|
2162
|
+
Element: 'Element',
|
|
2163
|
+
};
|
|
2164
|
+
|
|
2165
|
+
export type RelationQueryOutputReferenceKind = 'Relation' | 'QueryResult';
|
|
317
2166
|
|
|
318
|
-
export const
|
|
319
|
-
relation:
|
|
320
|
-
|
|
321
|
-
} as const satisfies Record<string,
|
|
2167
|
+
export const relationQueryOutputReferenceKinds = {
|
|
2168
|
+
relation: 'Relation',
|
|
2169
|
+
queryResult: 'QueryResult',
|
|
2170
|
+
} as const satisfies Record<string, RelationQueryOutputReferenceKind>;
|
|
322
2171
|
|
|
323
|
-
export const
|
|
324
|
-
|
|
325
|
-
|
|
2172
|
+
export const relationQueryOutputReferenceKindLabels: Record<RelationQueryOutputReferenceKind, string> = {
|
|
2173
|
+
Relation: 'Relation',
|
|
2174
|
+
QueryResult: 'QueryResult',
|
|
326
2175
|
};
|
|
327
2176
|
|
|
328
|
-
export interface
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
2177
|
+
export interface RelationQueryRealizationTraceStep {
|
|
2178
|
+
kind: RelationQueryRealizationTraceStepKind;
|
|
2179
|
+
node: QueryNodeId;
|
|
2180
|
+
siteKind?: RelationQueryExpressionSiteKind | null;
|
|
2181
|
+
expressionSite?: ExprSiteId | null;
|
|
2182
|
+
assignment?: QueryAssignmentId | null;
|
|
2183
|
+
ordinal?: number | null;
|
|
2184
|
+
invariantName?: string | null;
|
|
332
2185
|
}
|
|
333
2186
|
|
|
334
|
-
export type
|
|
2187
|
+
export type RelationshipTraversalDirection = 'Forward' | 'Inverse';
|
|
335
2188
|
|
|
336
|
-
export const
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
} as const satisfies Record<string,
|
|
2189
|
+
export const relationshipTraversalDirections = {
|
|
2190
|
+
forward: 'Forward',
|
|
2191
|
+
inverse: 'Inverse',
|
|
2192
|
+
} as const satisfies Record<string, RelationshipTraversalDirection>;
|
|
340
2193
|
|
|
341
|
-
export const
|
|
342
|
-
|
|
343
|
-
|
|
2194
|
+
export const relationshipTraversalDirectionLabels: Record<RelationshipTraversalDirection, string> = {
|
|
2195
|
+
Forward: 'Forward',
|
|
2196
|
+
Inverse: 'Inverse',
|
|
344
2197
|
};
|
|
345
2198
|
|
|
346
|
-
export type
|
|
2199
|
+
export type JoinKind = 'Inner' | 'Left' | 'Right' | 'Full';
|
|
347
2200
|
|
|
348
|
-
export const
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
2201
|
+
export const joinKinds = {
|
|
2202
|
+
inner: 'Inner',
|
|
2203
|
+
left: 'Left',
|
|
2204
|
+
right: 'Right',
|
|
2205
|
+
full: 'Full',
|
|
2206
|
+
} as const satisfies Record<string, JoinKind>;
|
|
353
2207
|
|
|
354
|
-
export const
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
2208
|
+
export const joinKindLabels: Record<JoinKind, string> = {
|
|
2209
|
+
Inner: 'Inner',
|
|
2210
|
+
Left: 'Left',
|
|
2211
|
+
Right: 'Right',
|
|
2212
|
+
Full: 'Full',
|
|
358
2213
|
};
|
|
359
2214
|
|
|
360
|
-
export
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
2215
|
+
export type TemporalJoinMatch = {
|
|
2216
|
+
readonly $temporalMatch: 'pointInInterval';
|
|
2217
|
+
} & TemporalPointInIntervalMatch | {
|
|
2218
|
+
readonly $temporalMatch: 'intervalOverlap';
|
|
2219
|
+
} & TemporalIntervalOverlapMatch;
|
|
2220
|
+
|
|
2221
|
+
export interface TemporalPointInIntervalMatch {
|
|
2222
|
+
point: Expr;
|
|
2223
|
+
interval: TemporalInterval;
|
|
364
2224
|
}
|
|
365
2225
|
|
|
366
|
-
export interface
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
ItemMappingId: MappingId;
|
|
2226
|
+
export interface TemporalIntervalOverlapMatch {
|
|
2227
|
+
left: TemporalInterval;
|
|
2228
|
+
right: TemporalInterval;
|
|
370
2229
|
}
|
|
371
2230
|
|
|
372
|
-
export interface
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
ExecutionPreference: MappingExecutionPreference;
|
|
377
|
-
Hints: ({
|
|
378
|
-
Key: string;
|
|
379
|
-
Value: string;
|
|
380
|
-
})[];
|
|
2231
|
+
export interface ProjectionAssignment {
|
|
2232
|
+
id: QueryAssignmentId;
|
|
2233
|
+
target: FieldPath;
|
|
2234
|
+
value: Expr;
|
|
381
2235
|
}
|
|
382
2236
|
|
|
383
|
-
export
|
|
2237
|
+
export interface QueryGrouping {
|
|
2238
|
+
id: QueryAssignmentId;
|
|
2239
|
+
target: FieldPath;
|
|
2240
|
+
key: Expr;
|
|
2241
|
+
}
|
|
384
2242
|
|
|
385
|
-
export
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
2243
|
+
export interface QueryAggregateAssignment {
|
|
2244
|
+
id: QueryAssignmentId;
|
|
2245
|
+
target: FieldPath;
|
|
2246
|
+
operation: AggregateOperator;
|
|
2247
|
+
value?: Expr | null;
|
|
2248
|
+
filter?: Expr | null;
|
|
2249
|
+
}
|
|
2250
|
+
|
|
2251
|
+
export interface QueryOrdering {
|
|
2252
|
+
key: Expr;
|
|
2253
|
+
direction: QuerySortDirection;
|
|
2254
|
+
nullPlacement: QueryNullPlacement;
|
|
2255
|
+
}
|
|
2256
|
+
|
|
2257
|
+
export type QueryPageDefinition = {
|
|
2258
|
+
readonly $page: 'offset';
|
|
2259
|
+
} & OffsetPageDefinition | {
|
|
2260
|
+
readonly $page: 'keyset';
|
|
2261
|
+
} & KeysetPageDefinition;
|
|
2262
|
+
|
|
2263
|
+
export interface OffsetPageDefinition {
|
|
2264
|
+
offset: number;
|
|
2265
|
+
limit: number;
|
|
2266
|
+
}
|
|
2267
|
+
|
|
2268
|
+
export interface KeysetPageDefinition {
|
|
2269
|
+
after: Expr[];
|
|
2270
|
+
limit: number;
|
|
2271
|
+
}
|
|
391
2272
|
|
|
392
|
-
export
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
2273
|
+
export type QueryParameterId = string;
|
|
2274
|
+
|
|
2275
|
+
export type FieldPresence = 'Required' | 'Optional';
|
|
2276
|
+
|
|
2277
|
+
export const fieldPresences = {
|
|
2278
|
+
required: 'Required',
|
|
2279
|
+
optional: 'Optional',
|
|
2280
|
+
} as const satisfies Record<string, FieldPresence>;
|
|
2281
|
+
|
|
2282
|
+
export const fieldPresenceLabels: Record<FieldPresence, string> = {
|
|
2283
|
+
Required: 'Required',
|
|
2284
|
+
Optional: 'Optional',
|
|
397
2285
|
};
|
|
398
2286
|
|
|
399
|
-
export type
|
|
2287
|
+
export type QueryParameterDefaultKind = 'None' | 'Value';
|
|
400
2288
|
|
|
401
|
-
export const
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
} as const satisfies Record<string, FreshnessPolicy>;
|
|
2289
|
+
export const queryParameterDefaultKinds = {
|
|
2290
|
+
none: 'None',
|
|
2291
|
+
value: 'Value',
|
|
2292
|
+
} as const satisfies Record<string, QueryParameterDefaultKind>;
|
|
406
2293
|
|
|
407
|
-
export const
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
2: 'BoundedStaleness',
|
|
2294
|
+
export const queryParameterDefaultKindLabels: Record<QueryParameterDefaultKind, string> = {
|
|
2295
|
+
None: 'None',
|
|
2296
|
+
Value: 'Value',
|
|
411
2297
|
};
|
|
412
2298
|
|
|
413
|
-
export interface
|
|
414
|
-
|
|
415
|
-
|
|
2299
|
+
export interface RelationDraftCandidate {
|
|
2300
|
+
id: RelationDraftCandidateId;
|
|
2301
|
+
value: Expr;
|
|
2302
|
+
}
|
|
2303
|
+
|
|
2304
|
+
export type RelationDraftAssignmentResolution = {
|
|
2305
|
+
readonly $resolution: 'selected';
|
|
2306
|
+
} & SelectedRelationDraftAssignmentResolution | {
|
|
2307
|
+
readonly $resolution: 'omitted';
|
|
2308
|
+
} & OmittedRelationDraftAssignmentResolution | {
|
|
2309
|
+
readonly $resolution: 'unresolved';
|
|
2310
|
+
} & UnresolvedRelationDraftAssignmentResolution | {
|
|
2311
|
+
readonly $resolution: 'ambiguous';
|
|
2312
|
+
} & AmbiguousRelationDraftAssignmentResolution;
|
|
2313
|
+
|
|
2314
|
+
export interface SelectedRelationDraftAssignmentResolution {
|
|
2315
|
+
candidateId: RelationDraftCandidateId;
|
|
2316
|
+
}
|
|
2317
|
+
|
|
2318
|
+
export type OmittedRelationDraftAssignmentResolution = Record<never, never>;
|
|
2319
|
+
|
|
2320
|
+
export interface UnresolvedRelationDraftAssignmentResolution {
|
|
2321
|
+
reasons: RelationDraftUnresolvedReason[];
|
|
2322
|
+
}
|
|
2323
|
+
|
|
2324
|
+
export interface AmbiguousRelationDraftAssignmentResolution {
|
|
2325
|
+
candidateIds: RelationDraftCandidateId[];
|
|
416
2326
|
}
|
|
417
2327
|
|
|
418
|
-
export
|
|
419
|
-
|
|
2328
|
+
export type TypeId = string;
|
|
2329
|
+
|
|
2330
|
+
export interface TypeInferenceDiagnostic {
|
|
2331
|
+
reason: string;
|
|
2332
|
+
message?: string | null;
|
|
420
2333
|
}
|
|
421
2334
|
|
|
422
|
-
export type ScalarTypeKind =
|
|
2335
|
+
export type ScalarTypeKind = 'Bool' | 'Int32' | 'Int64' | 'Decimal' | 'String' | 'Guid' | 'Date' | 'DateTime' | 'Instant' | 'Bytes';
|
|
423
2336
|
|
|
424
2337
|
export const scalarTypeKinds = {
|
|
425
|
-
bool:
|
|
426
|
-
int32:
|
|
427
|
-
int64:
|
|
428
|
-
decimal:
|
|
429
|
-
string:
|
|
430
|
-
guid:
|
|
431
|
-
date:
|
|
432
|
-
dateTime:
|
|
433
|
-
instant:
|
|
434
|
-
bytes:
|
|
2338
|
+
bool: 'Bool',
|
|
2339
|
+
int32: 'Int32',
|
|
2340
|
+
int64: 'Int64',
|
|
2341
|
+
decimal: 'Decimal',
|
|
2342
|
+
string: 'String',
|
|
2343
|
+
guid: 'Guid',
|
|
2344
|
+
date: 'Date',
|
|
2345
|
+
dateTime: 'DateTime',
|
|
2346
|
+
instant: 'Instant',
|
|
2347
|
+
bytes: 'Bytes',
|
|
435
2348
|
} as const satisfies Record<string, ScalarTypeKind>;
|
|
436
2349
|
|
|
437
2350
|
export const scalarTypeKindLabels: Record<ScalarTypeKind, string> = {
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
2351
|
+
Bool: 'Bool',
|
|
2352
|
+
Int32: 'Int32',
|
|
2353
|
+
Int64: 'Int64',
|
|
2354
|
+
Decimal: 'Decimal',
|
|
2355
|
+
String: 'String',
|
|
2356
|
+
Guid: 'Guid',
|
|
2357
|
+
Date: 'Date',
|
|
2358
|
+
DateTime: 'DateTime',
|
|
2359
|
+
Instant: 'Instant',
|
|
2360
|
+
Bytes: 'Bytes',
|
|
448
2361
|
};
|
|
449
2362
|
|
|
450
|
-
export type PrimitiveFormat =
|
|
2363
|
+
export type PrimitiveFormat = 'None' | 'Uuid' | 'IsoDate' | 'IsoDateTime' | 'IsoInstant' | 'CurrencyCode' | 'CountryCode' | 'Email' | 'Uri' | 'Base64';
|
|
451
2364
|
|
|
452
2365
|
export const primitiveFormats = {
|
|
453
|
-
none:
|
|
454
|
-
uuid:
|
|
455
|
-
isoDate:
|
|
456
|
-
isoDateTime:
|
|
457
|
-
isoInstant:
|
|
458
|
-
currencyCode:
|
|
459
|
-
countryCode:
|
|
460
|
-
email:
|
|
461
|
-
uri:
|
|
462
|
-
base64:
|
|
2366
|
+
none: 'None',
|
|
2367
|
+
uuid: 'Uuid',
|
|
2368
|
+
isoDate: 'IsoDate',
|
|
2369
|
+
isoDateTime: 'IsoDateTime',
|
|
2370
|
+
isoInstant: 'IsoInstant',
|
|
2371
|
+
currencyCode: 'CurrencyCode',
|
|
2372
|
+
countryCode: 'CountryCode',
|
|
2373
|
+
email: 'Email',
|
|
2374
|
+
uri: 'Uri',
|
|
2375
|
+
base64: 'Base64',
|
|
463
2376
|
} as const satisfies Record<string, PrimitiveFormat>;
|
|
464
2377
|
|
|
465
2378
|
export const primitiveFormatLabels: Record<PrimitiveFormat, string> = {
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
2379
|
+
None: 'None',
|
|
2380
|
+
Uuid: 'Uuid',
|
|
2381
|
+
IsoDate: 'IsoDate',
|
|
2382
|
+
IsoDateTime: 'IsoDateTime',
|
|
2383
|
+
IsoInstant: 'IsoInstant',
|
|
2384
|
+
CurrencyCode: 'CurrencyCode',
|
|
2385
|
+
CountryCode: 'CountryCode',
|
|
2386
|
+
Email: 'Email',
|
|
2387
|
+
Uri: 'Uri',
|
|
2388
|
+
Base64: 'Base64',
|
|
476
2389
|
};
|
|
477
2390
|
|
|
478
|
-
export
|
|
479
|
-
Value: string;
|
|
480
|
-
}
|
|
2391
|
+
export type EntityTypeName = string;
|
|
481
2392
|
|
|
482
2393
|
export interface ObjectFieldTypeDef {
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
Key: AnnotationKey;
|
|
488
|
-
Value: AnnotationValue;
|
|
489
|
-
})[];
|
|
2394
|
+
name: string;
|
|
2395
|
+
type: TypeRef;
|
|
2396
|
+
presence: FieldPresence;
|
|
2397
|
+
annotations: Record<string, AnnotationValue>;
|
|
490
2398
|
}
|
|
491
2399
|
|
|
492
|
-
export type JsonTypeKind =
|
|
2400
|
+
export type JsonTypeKind = 'Any' | 'Object' | 'Array' | 'String' | 'Number' | 'Boolean';
|
|
493
2401
|
|
|
494
2402
|
export const jsonTypeKinds = {
|
|
495
|
-
any:
|
|
496
|
-
object:
|
|
497
|
-
array:
|
|
498
|
-
string:
|
|
499
|
-
number:
|
|
500
|
-
boolean:
|
|
2403
|
+
any: 'Any',
|
|
2404
|
+
object: 'Object',
|
|
2405
|
+
array: 'Array',
|
|
2406
|
+
string: 'String',
|
|
2407
|
+
number: 'Number',
|
|
2408
|
+
boolean: 'Boolean',
|
|
501
2409
|
} as const satisfies Record<string, JsonTypeKind>;
|
|
502
2410
|
|
|
503
2411
|
export const jsonTypeKindLabels: Record<JsonTypeKind, string> = {
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
2412
|
+
Any: 'Any',
|
|
2413
|
+
Object: 'Object',
|
|
2414
|
+
Array: 'Array',
|
|
2415
|
+
String: 'String',
|
|
2416
|
+
Number: 'Number',
|
|
2417
|
+
Boolean: 'Boolean',
|
|
2418
|
+
};
|
|
2419
|
+
|
|
2420
|
+
export interface RelationQueryLogicalPlanInput {
|
|
2421
|
+
canonicalInput: QueryNodeId;
|
|
2422
|
+
effectiveInput: QueryNodeId;
|
|
2423
|
+
bypasses: RelationQueryLogicalBypass[];
|
|
2424
|
+
}
|
|
2425
|
+
|
|
2426
|
+
export type RelationQueryExplainRequirementInputKind = 'Field' | 'ObservationIdentity' | 'SourceSet' | 'Relationship' | 'Parameter' | 'Capability';
|
|
2427
|
+
|
|
2428
|
+
export const relationQueryExplainRequirementInputKinds = {
|
|
2429
|
+
field: 'Field',
|
|
2430
|
+
observationIdentity: 'ObservationIdentity',
|
|
2431
|
+
sourceSet: 'SourceSet',
|
|
2432
|
+
relationship: 'Relationship',
|
|
2433
|
+
parameter: 'Parameter',
|
|
2434
|
+
capability: 'Capability',
|
|
2435
|
+
} as const satisfies Record<string, RelationQueryExplainRequirementInputKind>;
|
|
2436
|
+
|
|
2437
|
+
export const relationQueryExplainRequirementInputKindLabels: Record<RelationQueryExplainRequirementInputKind, string> = {
|
|
2438
|
+
Field: 'Field',
|
|
2439
|
+
ObservationIdentity: 'ObservationIdentity',
|
|
2440
|
+
SourceSet: 'SourceSet',
|
|
2441
|
+
Relationship: 'Relationship',
|
|
2442
|
+
Parameter: 'Parameter',
|
|
2443
|
+
Capability: 'Capability',
|
|
510
2444
|
};
|
|
511
2445
|
|
|
512
|
-
export
|
|
2446
|
+
export interface RelationQueryNativeCompilationDecisionReference {
|
|
2447
|
+
requirement: RelationQueryRealizationRequirementId;
|
|
2448
|
+
kind: RelationQueryRealizationDecisionKind;
|
|
2449
|
+
capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
|
|
2450
|
+
compositionRules: RelationQueryCompositionRuleId[];
|
|
2451
|
+
override?: RelationQueryRealizationOverrideId | null;
|
|
2452
|
+
operatingBoundaries: RelationQueryOperatingBoundaryId[];
|
|
2453
|
+
preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
|
|
2454
|
+
}
|
|
2455
|
+
|
|
2456
|
+
export type RelationQueryRealizationTraceStepKind = 'Structural' | 'ExpressionSite' | 'AggregateOperation' | 'Terminal';
|
|
513
2457
|
|
|
514
|
-
export const
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
2458
|
+
export const relationQueryRealizationTraceStepKinds = {
|
|
2459
|
+
structural: 'Structural',
|
|
2460
|
+
expressionSite: 'ExpressionSite',
|
|
2461
|
+
aggregateOperation: 'AggregateOperation',
|
|
2462
|
+
terminal: 'Terminal',
|
|
2463
|
+
} as const satisfies Record<string, RelationQueryRealizationTraceStepKind>;
|
|
519
2464
|
|
|
520
|
-
export const
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
2465
|
+
export const relationQueryRealizationTraceStepKindLabels: Record<RelationQueryRealizationTraceStepKind, string> = {
|
|
2466
|
+
Structural: 'Structural',
|
|
2467
|
+
ExpressionSite: 'ExpressionSite',
|
|
2468
|
+
AggregateOperation: 'AggregateOperation',
|
|
2469
|
+
Terminal: 'Terminal',
|
|
524
2470
|
};
|
|
525
2471
|
|
|
526
|
-
export type
|
|
2472
|
+
export type RelationQueryExpressionSiteKind = 'FilterPredicate' | 'JoinPredicate' | 'ExpandCollection' | 'ProjectionAssignmentValue' | 'DistinctKey' | 'AggregateGroupingKey' | 'AggregateAssignmentValue' | 'AggregateAssignmentFilter' | 'OrderKey' | 'KeysetBoundary' | 'RelationOutputKey' | 'RelationInvariant' | 'TemporalJoinCorrelation' | 'TemporalJoinPoint' | 'TemporalJoinIntervalLowerBound' | 'TemporalJoinIntervalUpperBound';
|
|
2473
|
+
|
|
2474
|
+
export const relationQueryExpressionSiteKinds = {
|
|
2475
|
+
filterPredicate: 'FilterPredicate',
|
|
2476
|
+
joinPredicate: 'JoinPredicate',
|
|
2477
|
+
expandCollection: 'ExpandCollection',
|
|
2478
|
+
projectionAssignmentValue: 'ProjectionAssignmentValue',
|
|
2479
|
+
distinctKey: 'DistinctKey',
|
|
2480
|
+
aggregateGroupingKey: 'AggregateGroupingKey',
|
|
2481
|
+
aggregateAssignmentValue: 'AggregateAssignmentValue',
|
|
2482
|
+
aggregateAssignmentFilter: 'AggregateAssignmentFilter',
|
|
2483
|
+
orderKey: 'OrderKey',
|
|
2484
|
+
keysetBoundary: 'KeysetBoundary',
|
|
2485
|
+
relationOutputKey: 'RelationOutputKey',
|
|
2486
|
+
relationInvariant: 'RelationInvariant',
|
|
2487
|
+
temporalJoinCorrelation: 'TemporalJoinCorrelation',
|
|
2488
|
+
temporalJoinPoint: 'TemporalJoinPoint',
|
|
2489
|
+
temporalJoinIntervalLowerBound: 'TemporalJoinIntervalLowerBound',
|
|
2490
|
+
temporalJoinIntervalUpperBound: 'TemporalJoinIntervalUpperBound',
|
|
2491
|
+
} as const satisfies Record<string, RelationQueryExpressionSiteKind>;
|
|
2492
|
+
|
|
2493
|
+
export const relationQueryExpressionSiteKindLabels: Record<RelationQueryExpressionSiteKind, string> = {
|
|
2494
|
+
FilterPredicate: 'FilterPredicate',
|
|
2495
|
+
JoinPredicate: 'JoinPredicate',
|
|
2496
|
+
ExpandCollection: 'ExpandCollection',
|
|
2497
|
+
ProjectionAssignmentValue: 'ProjectionAssignmentValue',
|
|
2498
|
+
DistinctKey: 'DistinctKey',
|
|
2499
|
+
AggregateGroupingKey: 'AggregateGroupingKey',
|
|
2500
|
+
AggregateAssignmentValue: 'AggregateAssignmentValue',
|
|
2501
|
+
AggregateAssignmentFilter: 'AggregateAssignmentFilter',
|
|
2502
|
+
OrderKey: 'OrderKey',
|
|
2503
|
+
KeysetBoundary: 'KeysetBoundary',
|
|
2504
|
+
RelationOutputKey: 'RelationOutputKey',
|
|
2505
|
+
RelationInvariant: 'RelationInvariant',
|
|
2506
|
+
TemporalJoinCorrelation: 'TemporalJoinCorrelation',
|
|
2507
|
+
TemporalJoinPoint: 'TemporalJoinPoint',
|
|
2508
|
+
TemporalJoinIntervalLowerBound: 'TemporalJoinIntervalLowerBound',
|
|
2509
|
+
TemporalJoinIntervalUpperBound: 'TemporalJoinIntervalUpperBound',
|
|
2510
|
+
};
|
|
527
2511
|
|
|
528
|
-
export
|
|
529
|
-
field: 0,
|
|
530
|
-
element: 2,
|
|
531
|
-
} as const satisfies Record<string, SegmentKind>;
|
|
2512
|
+
export type ExprSiteId = string;
|
|
532
2513
|
|
|
533
|
-
export
|
|
534
|
-
|
|
535
|
-
|
|
2514
|
+
export interface TemporalInterval {
|
|
2515
|
+
lower: TemporalIntervalBound;
|
|
2516
|
+
upper: TemporalIntervalBound;
|
|
2517
|
+
}
|
|
2518
|
+
|
|
2519
|
+
export type QuerySortDirection = 'Ascending' | 'Descending';
|
|
2520
|
+
|
|
2521
|
+
export const querySortDirections = {
|
|
2522
|
+
ascending: 'Ascending',
|
|
2523
|
+
descending: 'Descending',
|
|
2524
|
+
} as const satisfies Record<string, QuerySortDirection>;
|
|
2525
|
+
|
|
2526
|
+
export const querySortDirectionLabels: Record<QuerySortDirection, string> = {
|
|
2527
|
+
Ascending: 'Ascending',
|
|
2528
|
+
Descending: 'Descending',
|
|
536
2529
|
};
|
|
537
2530
|
|
|
538
|
-
export type
|
|
2531
|
+
export type QueryNullPlacement = 'First' | 'Last';
|
|
539
2532
|
|
|
540
|
-
export const
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
} as const satisfies Record<string,
|
|
2533
|
+
export const queryNullPlacements = {
|
|
2534
|
+
first: 'First',
|
|
2535
|
+
last: 'Last',
|
|
2536
|
+
} as const satisfies Record<string, QueryNullPlacement>;
|
|
544
2537
|
|
|
545
|
-
export const
|
|
546
|
-
|
|
547
|
-
|
|
2538
|
+
export const queryNullPlacementLabels: Record<QueryNullPlacement, string> = {
|
|
2539
|
+
First: 'First',
|
|
2540
|
+
Last: 'Last',
|
|
548
2541
|
};
|
|
549
2542
|
|
|
550
|
-
export
|
|
551
|
-
|
|
2543
|
+
export type RelationDraftUnresolvedReason = 'NoCandidate' | 'IncompatibleType' | 'UnsafeCardinality' | 'UnsafePresence' | 'UnsafeNullability' | 'ConversionRequired' | 'UnsupportedStructure' | 'UnsupportedTransformation' | 'MultipleCandidates';
|
|
2544
|
+
|
|
2545
|
+
export const relationDraftUnresolvedReasons = {
|
|
2546
|
+
noCandidate: 'NoCandidate',
|
|
2547
|
+
incompatibleType: 'IncompatibleType',
|
|
2548
|
+
unsafeCardinality: 'UnsafeCardinality',
|
|
2549
|
+
unsafePresence: 'UnsafePresence',
|
|
2550
|
+
unsafeNullability: 'UnsafeNullability',
|
|
2551
|
+
conversionRequired: 'ConversionRequired',
|
|
2552
|
+
unsupportedStructure: 'UnsupportedStructure',
|
|
2553
|
+
unsupportedTransformation: 'UnsupportedTransformation',
|
|
2554
|
+
multipleCandidates: 'MultipleCandidates',
|
|
2555
|
+
} as const satisfies Record<string, RelationDraftUnresolvedReason>;
|
|
2556
|
+
|
|
2557
|
+
export const relationDraftUnresolvedReasonLabels: Record<RelationDraftUnresolvedReason, string> = {
|
|
2558
|
+
NoCandidate: 'NoCandidate',
|
|
2559
|
+
IncompatibleType: 'IncompatibleType',
|
|
2560
|
+
UnsafeCardinality: 'UnsafeCardinality',
|
|
2561
|
+
UnsafePresence: 'UnsafePresence',
|
|
2562
|
+
UnsafeNullability: 'UnsafeNullability',
|
|
2563
|
+
ConversionRequired: 'ConversionRequired',
|
|
2564
|
+
UnsupportedStructure: 'UnsupportedStructure',
|
|
2565
|
+
UnsupportedTransformation: 'UnsupportedTransformation',
|
|
2566
|
+
MultipleCandidates: 'MultipleCandidates',
|
|
2567
|
+
};
|
|
2568
|
+
|
|
2569
|
+
export interface RelationQueryLogicalBypass {
|
|
2570
|
+
kind: RelationQueryLogicalBypassKind;
|
|
2571
|
+
node: QueryNodeId;
|
|
2572
|
+
relationship: RelationshipDefinition;
|
|
2573
|
+
direction: RelationshipTraversalDirection;
|
|
2574
|
+
cardinality: RelationshipTraversalCardinality;
|
|
2575
|
+
from: ValueBindingId;
|
|
2576
|
+
result: ValueBindingId;
|
|
552
2577
|
}
|
|
553
2578
|
|
|
554
|
-
export
|
|
555
|
-
|
|
2579
|
+
export type RelationQueryRealizationDecisionKind = 'Native' | 'Composed' | 'Constrained' | 'Override' | 'Unavailable';
|
|
2580
|
+
|
|
2581
|
+
export const relationQueryRealizationDecisionKinds = {
|
|
2582
|
+
native: 'Native',
|
|
2583
|
+
composed: 'Composed',
|
|
2584
|
+
constrained: 'Constrained',
|
|
2585
|
+
override: 'Override',
|
|
2586
|
+
unavailable: 'Unavailable',
|
|
2587
|
+
} as const satisfies Record<string, RelationQueryRealizationDecisionKind>;
|
|
2588
|
+
|
|
2589
|
+
export const relationQueryRealizationDecisionKindLabels: Record<RelationQueryRealizationDecisionKind, string> = {
|
|
2590
|
+
Native: 'Native',
|
|
2591
|
+
Composed: 'Composed',
|
|
2592
|
+
Constrained: 'Constrained',
|
|
2593
|
+
Override: 'Override',
|
|
2594
|
+
Unavailable: 'Unavailable',
|
|
2595
|
+
};
|
|
2596
|
+
|
|
2597
|
+
export type TemporalIntervalBound = {
|
|
2598
|
+
readonly $temporalBound: 'unbounded';
|
|
2599
|
+
} & UnboundedTemporalIntervalBound | {
|
|
2600
|
+
readonly $temporalBound: 'expression';
|
|
2601
|
+
} & ExpressionTemporalIntervalBound;
|
|
2602
|
+
|
|
2603
|
+
export type UnboundedTemporalIntervalBound = Record<never, never>;
|
|
2604
|
+
|
|
2605
|
+
export interface ExpressionTemporalIntervalBound {
|
|
2606
|
+
value: Expr;
|
|
2607
|
+
inclusion: TemporalBoundaryInclusion;
|
|
2608
|
+
nullBehavior: TemporalNullBoundBehavior;
|
|
556
2609
|
}
|
|
557
2610
|
|
|
2611
|
+
export type RelationQueryLogicalBypassKind = 'OptionalAtMostOneLeftRelationshipTraversal';
|
|
2612
|
+
|
|
2613
|
+
export const relationQueryLogicalBypassKinds = {
|
|
2614
|
+
optionalAtMostOneLeftRelationshipTraversal: 'OptionalAtMostOneLeftRelationshipTraversal',
|
|
2615
|
+
} as const satisfies Record<string, RelationQueryLogicalBypassKind>;
|
|
2616
|
+
|
|
2617
|
+
export const relationQueryLogicalBypassKindLabels: Record<RelationQueryLogicalBypassKind, string> = {
|
|
2618
|
+
OptionalAtMostOneLeftRelationshipTraversal: 'OptionalAtMostOneLeftRelationshipTraversal',
|
|
2619
|
+
};
|
|
2620
|
+
|
|
2621
|
+
export type RelationshipTraversalCardinality = 'AtMostOne' | 'Many';
|
|
2622
|
+
|
|
2623
|
+
export const relationshipTraversalCardinalities = {
|
|
2624
|
+
atMostOne: 'AtMostOne',
|
|
2625
|
+
many: 'Many',
|
|
2626
|
+
} as const satisfies Record<string, RelationshipTraversalCardinality>;
|
|
2627
|
+
|
|
2628
|
+
export const relationshipTraversalCardinalityLabels: Record<RelationshipTraversalCardinality, string> = {
|
|
2629
|
+
AtMostOne: 'AtMostOne',
|
|
2630
|
+
Many: 'Many',
|
|
2631
|
+
};
|
|
2632
|
+
|
|
2633
|
+
export type TemporalBoundaryInclusion = 'Inclusive' | 'Exclusive';
|
|
2634
|
+
|
|
2635
|
+
export const temporalBoundaryInclusions = {
|
|
2636
|
+
inclusive: 'Inclusive',
|
|
2637
|
+
exclusive: 'Exclusive',
|
|
2638
|
+
} as const satisfies Record<string, TemporalBoundaryInclusion>;
|
|
2639
|
+
|
|
2640
|
+
export const temporalBoundaryInclusionLabels: Record<TemporalBoundaryInclusion, string> = {
|
|
2641
|
+
Inclusive: 'Inclusive',
|
|
2642
|
+
Exclusive: 'Exclusive',
|
|
2643
|
+
};
|
|
2644
|
+
|
|
2645
|
+
export type TemporalNullBoundBehavior = 'Invalid' | 'Unbounded';
|
|
2646
|
+
|
|
2647
|
+
export const temporalNullBoundBehaviors = {
|
|
2648
|
+
invalid: 'Invalid',
|
|
2649
|
+
unbounded: 'Unbounded',
|
|
2650
|
+
} as const satisfies Record<string, TemporalNullBoundBehavior>;
|
|
2651
|
+
|
|
2652
|
+
export const temporalNullBoundBehaviorLabels: Record<TemporalNullBoundBehavior, string> = {
|
|
2653
|
+
Invalid: 'Invalid',
|
|
2654
|
+
Unbounded: 'Unbounded',
|
|
2655
|
+
};
|
|
2656
|
+
|
|
558
2657
|
export interface QualifiedShapeId {
|
|
559
|
-
|
|
560
|
-
|
|
2658
|
+
graphId: GraphId;
|
|
2659
|
+
shapeId: ShapeId;
|
|
561
2660
|
}
|
|
562
2661
|
|
|
563
|
-
export interface
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
2662
|
+
export interface RelationQueryExplainArtifact {
|
|
2663
|
+
schemaVersion: string;
|
|
2664
|
+
stages: RelationQueryExplainStage[];
|
|
2665
|
+
capabilitySummary?: RelationQueryCapabilitySummary | null;
|
|
2666
|
+
diagnostics: RelationQueryExplainDiagnostic[];
|
|
2667
|
+
fingerprint: RelationQueryExplainFingerprint;
|
|
2668
|
+
}
|
|
2669
|
+
|
|
2670
|
+
export interface CompiledRelationQueryPhysicalPlan {
|
|
2671
|
+
schemaVersion: string;
|
|
2672
|
+
plan: RelationQueryCompiledPlanReference;
|
|
2673
|
+
realization: RelationQueryRealizationFingerprint;
|
|
2674
|
+
placement: RelationQuerySourcePlacement;
|
|
2675
|
+
policy: RelationQueryPhysicalPlanningPolicy;
|
|
2676
|
+
stages: RelationQueryPhysicalStage[];
|
|
2677
|
+
evaluationOrder: RelationQueryPhysicalStageId[];
|
|
2678
|
+
terminal: RelationQueryPhysicalStageId;
|
|
2679
|
+
diagnostics: RelationQueryPhysicalPlanningDiagnostic[];
|
|
2680
|
+
fingerprint: RelationQueryPhysicalPlanFingerprint;
|
|
2681
|
+
}
|
|
2682
|
+
|
|
2683
|
+
export interface RelationQuerySourcePlacement {
|
|
2684
|
+
schemaVersion: string;
|
|
2685
|
+
plan: RelationQueryCompiledPlanReference;
|
|
2686
|
+
conventionSetVersion: string;
|
|
2687
|
+
sourceInstances: RelationQuerySourceInstance[];
|
|
2688
|
+
bindings: RelationQuerySourcePlacementBinding[];
|
|
2689
|
+
configurationDecisions: RelationQueryConfigurationDecision[];
|
|
2690
|
+
fingerprint: RelationQuerySourcePlacementFingerprint;
|
|
2691
|
+
}
|
|
2692
|
+
|
|
2693
|
+
export interface RelationQueryBoundRealizationReport {
|
|
2694
|
+
profileFeasibility: RelationQueryRealizationReport;
|
|
2695
|
+
placement: RelationQuerySourcePlacementFingerprint;
|
|
2696
|
+
branches: RelationQueryNativeResultBranchId[];
|
|
2697
|
+
evidence: RelationQueryContextualEvidenceProjection;
|
|
2698
|
+
diagnostics: RelationQueryRealizationDiagnostic[];
|
|
2699
|
+
status: RelationQueryRealizationStatus;
|
|
2700
|
+
fingerprint: RelationQueryBoundRealizationFingerprint;
|
|
2701
|
+
}
|
|
2702
|
+
|
|
2703
|
+
export interface RelationQueryRealizationReport {
|
|
2704
|
+
plan: RelationQueryCompiledPlanReference;
|
|
2705
|
+
targetProfile: RelationQueryTargetCapabilityProfile;
|
|
2706
|
+
policy: RelationQueryRealizationPolicy;
|
|
2707
|
+
observability: RelationQueryResultObservability;
|
|
2708
|
+
requirements: RelationQueryRealizationRequirement[];
|
|
2709
|
+
decisions: RelationQueryRealizationDecision[];
|
|
2710
|
+
diagnostics: RelationQueryRealizationDiagnostic[];
|
|
2711
|
+
status: RelationQueryRealizationStatus;
|
|
2712
|
+
fingerprint: RelationQueryRealizationFingerprint;
|
|
2713
|
+
}
|
|
2714
|
+
|
|
2715
|
+
export interface RelationQueryTargetCapabilityProfile {
|
|
2716
|
+
target: RelationQueryTargetId;
|
|
2717
|
+
id: RelationQueryTargetProfileId;
|
|
2718
|
+
supportedDefinitionSchemaVersions: string[];
|
|
2719
|
+
supportedCompilerProfiles: string[];
|
|
2720
|
+
capabilities: RelationQueryTargetCapabilityEvidence[];
|
|
2721
|
+
operatingBoundaries: RelationQueryOperatingBoundary[];
|
|
2722
|
+
description?: string | null;
|
|
2723
|
+
}
|
|
2724
|
+
|
|
2725
|
+
export interface RelationDraftDocument {
|
|
2726
|
+
schemaVersion: string;
|
|
2727
|
+
draft: RelationDraft;
|
|
2728
|
+
draftFingerprint: RelationDraftFingerprint;
|
|
2729
|
+
metadata: RelationDraftDocumentMetadata;
|
|
2730
|
+
}
|
|
2731
|
+
|
|
2732
|
+
export interface RelationQueryDocument {
|
|
2733
|
+
schemaVersion: string;
|
|
2734
|
+
definition: RelationQueryDefinition;
|
|
2735
|
+
definitionFingerprint: RelationQueryDefinitionFingerprint;
|
|
2736
|
+
metadata: RelationQueryDocumentMetadata;
|
|
2737
|
+
}
|
|
2738
|
+
|
|
2739
|
+
export interface RelationshipCatalogDocument {
|
|
2740
|
+
schemaVersion: string;
|
|
2741
|
+
catalog: RelationshipCatalog;
|
|
2742
|
+
catalogFingerprint: RelationshipCatalogFingerprint;
|
|
2743
|
+
metadata: RelationshipCatalogDocumentMetadata;
|
|
574
2744
|
}
|