@cohesivesystems/relations 0.1.0-alpha.4 → 0.1.0-alpha.6

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.
@@ -1,27 +1,788 @@
1
- export interface GraphId {
2
- Value: string;
1
+ export type GraphId = string;
2
+ export type ShapeId = string;
3
+ export type RelationQueryExplainStage = {
4
+ readonly $stage: 'staticCompilation';
5
+ } & RelationQueryStaticCompilationExplainStage | {
6
+ readonly $stage: 'profileFeasibility';
7
+ } & RelationQueryProfileFeasibilityExplainStage | {
8
+ readonly $stage: 'sourcePlacement';
9
+ } & RelationQuerySourcePlacementExplainStage | {
10
+ readonly $stage: 'boundRealization';
11
+ } & RelationQueryBoundRealizationExplainStage | {
12
+ readonly $stage: 'physicalPlanning';
13
+ } & RelationQueryPhysicalPlanningExplainStage | {
14
+ readonly $stage: 'nativeCompilation';
15
+ } & RelationQueryNativeCompilationExplainStage | {
16
+ readonly $stage: 'evaluation';
17
+ } & RelationQueryEvaluationExplainStage;
18
+ export interface RelationQueryStaticCompilationExplainStage {
19
+ status: RelationQueryExplainStageStatus;
20
+ request: RelationQueryCompilationRequestReference;
21
+ plan?: RelationQueryStaticPlanExplanation | null;
22
+ diagnostics: DocumentValidationDiagnostic[];
3
23
  }
4
- export interface ShapeId {
5
- Value: string;
24
+ export interface RelationQueryProfileFeasibilityExplainStage {
25
+ status: RelationQueryExplainStageStatus;
26
+ report: RelationQueryRealizationReport;
6
27
  }
7
- export interface RelationId {
8
- Value: string;
28
+ export interface RelationQuerySourcePlacementExplainStage {
29
+ status: RelationQueryExplainStageStatus;
30
+ placement: RelationQuerySourcePlacement;
9
31
  }
10
- export interface RelationName {
11
- Value: string;
32
+ export interface RelationQueryBoundRealizationExplainStage {
33
+ report: RelationQueryBoundRealizationReport;
34
+ status: RelationQueryExplainStageStatus;
12
35
  }
13
- export interface RelationSource {
14
- Alias: SourceAlias;
15
- ShapeId: ShapeId;
16
- Cardinality: SourceCardinality;
36
+ export interface RelationQueryPhysicalPlanningExplainStage {
37
+ status: RelationQueryExplainStageStatus;
38
+ plan: RelationQueryCompiledPlanReference;
39
+ realization: RelationQueryRealizationFingerprint;
40
+ placement: RelationQuerySourcePlacementFingerprint;
41
+ policy?: RelationQueryPhysicalPlanningPolicy | null;
42
+ result: RelationQueryPhysicalPlanningResult;
17
43
  }
18
- export interface JoinDefinition {
19
- Left: SourceAlias;
20
- Right: SourceAlias;
21
- Kind: JoinKind;
22
- On: Expr;
44
+ export interface RelationQueryNativeCompilationExplainStage {
45
+ status: RelationQueryExplainStageStatus;
46
+ attempt: RelationQueryNativeCompilationAttemptReference;
47
+ compilation: RelationQueryNativeCompilationExplanation;
23
48
  }
49
+ export interface RelationQueryEvaluationExplainStage {
50
+ evaluation: RelationQueryEvaluationExplanation;
51
+ status: RelationQueryExplainStageStatus;
52
+ }
53
+ export interface RelationQueryCapabilitySummary {
54
+ target: RelationQueryTargetId;
55
+ targetProfile: RelationQueryTargetProfileId;
56
+ policy?: RelationQueryRealizationPolicyId | null;
57
+ profileFeasibility?: RelationQueryRealizationFingerprint | null;
58
+ boundRealization?: RelationQueryBoundRealizationFingerprint | null;
59
+ operatingBoundaries: RelationQueryOperatingBoundaryId[];
60
+ entries: RelationQueryCapabilitySummaryEntry[];
61
+ }
62
+ export interface RelationQueryExplainDiagnostic {
63
+ stage: string;
64
+ code: string;
65
+ severity: DiagnosticSeverity;
66
+ message: string;
67
+ location?: string | null;
68
+ branch?: RelationQueryNativeResultBranchId | null;
69
+ requirement?: RelationQueryRealizationRequirementId | null;
70
+ node?: QueryNodeId | null;
71
+ input?: RelationQueryInputId | null;
72
+ output?: RelationQueryOutputId | null;
73
+ placementBinding?: RelationQuerySourcePlacementBindingId | null;
74
+ physicalStage?: RelationQueryPhysicalStageId | null;
75
+ source?: RelationQuerySourceInstanceId | null;
76
+ capabilityEvidence?: RelationQueryTargetCapabilityEvidenceId | null;
77
+ operatingBoundary?: RelationQueryOperatingBoundaryId | null;
78
+ contextEvidence?: RelationQueryContextEvidenceId | null;
79
+ semanticSite?: string | null;
80
+ compositionRule?: RelationQueryCompositionRuleId | null;
81
+ override?: RelationQueryRealizationOverrideId | null;
82
+ field?: FieldPath | null;
83
+ bindingSetting?: string | null;
84
+ resolution?: string | null;
85
+ configurationOrigin?: EffectiveConfigurationOrigin | null;
86
+ configurationAuthority?: string | null;
87
+ adapterDecisionCode?: RelationQueryAdapterDecisionCode | null;
88
+ }
89
+ export interface RelationQueryExplainFingerprint {
90
+ algorithm: string;
91
+ canonicalization: string;
92
+ value: string;
93
+ }
94
+ export interface RelationQueryCompiledPlanReference {
95
+ compilerProfile: string;
96
+ definitionSchemaVersion: string;
97
+ definitionFingerprint: RelationQueryDefinitionFingerprint;
98
+ shapeSnapshotsFingerprint: RelationQueryPlanComponentFingerprint;
99
+ relationshipCatalogFingerprint?: RelationshipCatalogFingerprint | null;
100
+ demandFingerprint: RelationQueryPlanComponentFingerprint;
101
+ inputs: RelationQueryInputId[];
102
+ }
103
+ export interface RelationQueryRealizationFingerprint {
104
+ algorithm: string;
105
+ canonicalization: string;
106
+ value: string;
107
+ }
108
+ export interface RelationQueryPhysicalPlanningPolicy {
109
+ id: RelationQueryPhysicalPlanningPolicyId;
110
+ conventionSetVersion: string;
111
+ maximumBatchSize: string;
112
+ maximumBufferedRows: string;
113
+ maximumLocalRows: string;
114
+ maximumFanOut: string;
115
+ maximumReferenceKeysPerObservation: string;
116
+ maximumConcurrency: string;
117
+ loweringSelections: RelationQueryPhysicalLoweringSelection[];
118
+ }
119
+ export interface RelationQueryPhysicalStage {
120
+ id: RelationQueryPhysicalStageId;
121
+ kind: RelationQueryPhysicalStageKind;
122
+ dependencies: RelationQueryPhysicalStageId[];
123
+ placementBinding?: RelationQuerySourcePlacementBindingId | null;
124
+ semanticInputs: RelationQueryInputId[];
125
+ requestedFields: RelationQueryInputId[];
126
+ batchSize?: string | null;
127
+ provenance: RelationQueryPhysicalStageProvenance;
128
+ }
129
+ export type RelationQueryPhysicalStageId = string;
130
+ export interface RelationQueryPhysicalPlanningDiagnostic {
131
+ code: string;
132
+ severity: DiagnosticSeverity;
133
+ message: string;
134
+ input?: RelationQueryInputId | null;
135
+ stage?: RelationQueryPhysicalStageId | null;
136
+ placementBinding?: RelationQuerySourcePlacementBindingId | null;
137
+ requirement?: RelationQueryRealizationRequirementId | null;
138
+ }
139
+ export interface RelationQueryPhysicalPlanFingerprint {
140
+ algorithm: string;
141
+ canonicalization: string;
142
+ value: string;
143
+ }
144
+ export interface RelationQuerySourceInstance {
145
+ id: RelationQuerySourceInstanceId;
146
+ executionDomain: RelationQueryExecutionDomainId;
147
+ targetProfile: RelationQueryTargetCapabilityProfile;
148
+ limits: RelationQuerySourcePlacementLimits;
149
+ }
150
+ export interface RelationQuerySourcePlacementBinding {
151
+ id: RelationQuerySourcePlacementBindingId;
152
+ input: RelationQueryInputId;
153
+ node: QueryNodeId;
154
+ binding: ValueBindingId;
155
+ shape: QualifiedShapeId;
156
+ source: RelationQuerySourceInstanceId;
157
+ kind: RelationQuerySourcePlacementBindingKind;
158
+ acquisition: RelationQuerySourceAcquisitionKind;
159
+ origin: RelationQuerySourcePlacementOrigin;
160
+ identity?: RelationQuerySourceIdentityBinding | null;
161
+ fields: RelationQuerySourceFieldBinding[];
162
+ relationshipKeys: RelationQueryRelationshipKeyBinding[];
163
+ partition?: RelationQueryPartitionBinding | null;
164
+ }
165
+ export interface EffectiveConfigurationDecision {
166
+ setting: string;
167
+ origin: EffectiveConfigurationOrigin;
168
+ authority: string;
169
+ }
170
+ export interface RelationQuerySourcePlacementFingerprint {
171
+ algorithm: string;
172
+ canonicalization: string;
173
+ value: string;
174
+ }
175
+ export type RelationQueryNativeResultBranchId = string;
176
+ export interface RelationQueryContextualEvidenceProjection {
177
+ binding: RelationQueryAdapterBindingReference;
178
+ assessments: RelationQueryBoundRequirementAssessment[];
179
+ }
180
+ export interface RelationQueryRealizationDiagnostic {
181
+ code: string;
182
+ severity: DiagnosticSeverity;
183
+ message: string;
184
+ requirement?: RelationQueryRealizationRequirementId | null;
185
+ capabilityEvidence?: RelationQueryTargetCapabilityEvidenceId | null;
186
+ compositionRule?: RelationQueryCompositionRuleId | null;
187
+ operatingBoundary?: RelationQueryOperatingBoundaryId | null;
188
+ override?: RelationQueryRealizationOverrideId | null;
189
+ node?: QueryNodeId | null;
190
+ semanticSite?: string | null;
191
+ contextEvidence?: RelationQueryContextEvidenceId | null;
192
+ branch?: RelationQueryNativeResultBranchId | null;
193
+ input?: RelationQueryInputId | null;
194
+ field?: FieldPath | null;
195
+ placementBinding?: RelationQuerySourcePlacementBindingId | null;
196
+ bindingSetting?: string | null;
197
+ resolution?: string | null;
198
+ configurationOrigin?: EffectiveConfigurationOrigin | null;
199
+ configurationAuthority?: string | null;
200
+ adapterDecisionCode?: RelationQueryAdapterDecisionCode | null;
201
+ }
202
+ export type RelationQueryRealizationStatus = 'Realizable' | 'NotRealizable' | 'Invalid';
203
+ export declare const relationQueryRealizationStatuses: {
204
+ readonly realizable: "Realizable";
205
+ readonly notRealizable: "NotRealizable";
206
+ readonly invalid: "Invalid";
207
+ };
208
+ export declare const relationQueryRealizationStatusLabels: Record<RelationQueryRealizationStatus, string>;
209
+ export interface RelationQueryBoundRealizationFingerprint {
210
+ algorithm: string;
211
+ canonicalization: string;
212
+ value: string;
213
+ }
214
+ export interface RelationQueryRealizationPolicy {
215
+ id: RelationQueryRealizationPolicyId;
216
+ conventionSetVersion: string;
217
+ preference: RelationQueryRealizationPreference;
218
+ constrainedRealizations: RelationQueryConstrainedRealizationPolicy;
219
+ compositionRules: RelationQueryCompositionRule[];
220
+ compositionRuleSelections: RelationQueryCompositionRuleSelection[];
221
+ overrides: RelationQueryRealizationOverride[];
222
+ diagnosticSeverityOverrides: RelationQueryRealizationDiagnosticSeverityOverride[];
223
+ }
224
+ export interface RelationQueryResultObservability {
225
+ occurrenceProvenance: RelationQueryOccurrenceProvenanceMode;
226
+ }
227
+ export interface RelationQueryRealizationRequirement {
228
+ id: RelationQueryRealizationRequirementId;
229
+ capability: RelationQueryCapability;
230
+ origin?: RelationQueryRealizationRequirementOrigin | null;
231
+ uses: RelationQueryRealizationRequirementUse[];
232
+ requiredGuarantees: RelationQueryGuaranteeCapabilityKind[];
233
+ staticFacts: RelationQueryRealizationStaticFact[];
234
+ }
235
+ export type RelationQueryRealizationDecision = {
236
+ readonly $decision: 'native';
237
+ } & NativeRelationQueryRealizationDecision | {
238
+ readonly $decision: 'composed';
239
+ } & ComposedRelationQueryRealizationDecision | {
240
+ readonly $decision: 'constrained';
241
+ } & ConstrainedRelationQueryRealizationDecision | {
242
+ readonly $decision: 'override';
243
+ } & OverrideRelationQueryRealizationDecision | {
244
+ readonly $decision: 'unavailable';
245
+ } & UnavailableRelationQueryRealizationDecision;
246
+ export interface NativeRelationQueryRealizationDecision {
247
+ capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
248
+ preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
249
+ requirement: RelationQueryRealizationRequirementId;
250
+ }
251
+ export interface ComposedRelationQueryRealizationDecision {
252
+ compositionRules: RelationQueryCompositionRuleId[];
253
+ capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
254
+ preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
255
+ requirement: RelationQueryRealizationRequirementId;
256
+ }
257
+ export interface ConstrainedRelationQueryRealizationDecision {
258
+ capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
259
+ boundaryValidations: RelationQueryOperatingBoundaryValidation[];
260
+ compositionRules: RelationQueryCompositionRuleId[];
261
+ preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
262
+ requirement: RelationQueryRealizationRequirementId;
263
+ }
264
+ export interface OverrideRelationQueryRealizationDecision {
265
+ override: RelationQueryRealizationOverrideId;
266
+ capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
267
+ boundaryValidations: RelationQueryOperatingBoundaryValidation[];
268
+ preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
269
+ requirement: RelationQueryRealizationRequirementId;
270
+ }
271
+ export interface UnavailableRelationQueryRealizationDecision {
272
+ requirement: RelationQueryRealizationRequirementId;
273
+ reason: RelationQueryUnavailableReason;
274
+ missingCapabilities: RelationQueryCapability[];
275
+ }
276
+ export type RelationQueryTargetId = string;
277
+ export type RelationQueryTargetProfileId = string;
278
+ export interface RelationQueryTargetCapabilityEvidence {
279
+ id: RelationQueryTargetCapabilityEvidenceId;
280
+ capability: RelationQueryCapability;
281
+ operatingBoundaries: RelationQueryOperatingBoundaryId[];
282
+ description?: string | null;
283
+ }
284
+ export interface RelationQueryOperatingBoundary {
285
+ id: RelationQueryOperatingBoundaryId;
286
+ kind: RelationQueryOperatingBoundaryKind | number;
287
+ limit?: string | null;
288
+ description?: string | null;
289
+ }
290
+ export interface RelationDraft {
291
+ id: RelationDraftId;
292
+ relationId: RelationId;
293
+ name: RelationName;
294
+ input: LogicalQueryDefinition;
295
+ rootBinding: ValueBindingId;
296
+ projection: RelationDraftProjection;
297
+ outputMode: RelationOutputMode;
298
+ outputKey?: Expr | null;
299
+ invariants: InvariantDefinition[];
300
+ }
301
+ export interface RelationDraftFingerprint {
302
+ algorithm: string;
303
+ canonicalization: string;
304
+ value: string;
305
+ }
306
+ export interface RelationDraftDocumentMetadata {
307
+ origin: DocumentOrigin;
308
+ name?: string | null;
309
+ description?: string | null;
310
+ sourceUri?: string | null;
311
+ producer?: string | null;
312
+ producerVersion?: string | null;
313
+ createdAtUtc?: string | null;
314
+ updatedAtUtc?: string | null;
315
+ annotations: Record<string, AnnotationValue>;
316
+ producerArtifacts: RelationDraftProducerArtifactReference[];
317
+ conventionDecisions: RelationDraftConventionDecision[];
318
+ }
319
+ export type RelationQueryDefinition = {
320
+ readonly $definition: 'relation';
321
+ } & RelationDefinition | {
322
+ readonly $definition: 'query';
323
+ } & QueryDefinition;
324
+ export interface RelationDefinition {
325
+ id: RelationId;
326
+ name: RelationName;
327
+ rootBinding: ValueBindingId;
328
+ output: RelationOutputDefinition;
329
+ invariants: InvariantDefinition[];
330
+ body: LogicalQueryDefinition;
331
+ }
332
+ export interface QueryDefinition {
333
+ id: QueryId;
334
+ name: QueryName;
335
+ results: QueryResultDefinition[];
336
+ body: LogicalQueryDefinition;
337
+ }
338
+ export interface RelationQueryDefinitionFingerprint {
339
+ algorithm: string;
340
+ canonicalization: string;
341
+ value: string;
342
+ }
343
+ export interface RelationQueryDocumentMetadata {
344
+ origin: DocumentOrigin;
345
+ name?: string | null;
346
+ description?: string | null;
347
+ sourceUri?: string | null;
348
+ producer?: string | null;
349
+ producerVersion?: string | null;
350
+ createdAtUtc?: string | null;
351
+ updatedAtUtc?: string | null;
352
+ annotations: Record<string, AnnotationValue>;
353
+ }
354
+ export interface RelationshipCatalog {
355
+ relationships: RelationshipDefinition[];
356
+ }
357
+ export interface RelationshipCatalogFingerprint {
358
+ algorithm: string;
359
+ canonicalization: string;
360
+ value: string;
361
+ }
362
+ export interface RelationshipCatalogDocumentMetadata {
363
+ origin: DocumentOrigin;
364
+ name?: string | null;
365
+ description?: string | null;
366
+ sourceUri?: string | null;
367
+ producer?: string | null;
368
+ producerVersion?: string | null;
369
+ createdAtUtc?: string | null;
370
+ updatedAtUtc?: string | null;
371
+ annotations: Record<string, AnnotationValue>;
372
+ }
373
+ export type RelationQueryExplainStageStatus = 'Complete' | 'Unavailable' | 'Invalid' | 'Incomplete' | 'Failed';
374
+ export declare const relationQueryExplainStageStatuses: {
375
+ readonly complete: "Complete";
376
+ readonly unavailable: "Unavailable";
377
+ readonly invalid: "Invalid";
378
+ readonly incomplete: "Incomplete";
379
+ readonly failed: "Failed";
380
+ };
381
+ export declare const relationQueryExplainStageStatusLabels: Record<RelationQueryExplainStageStatus, string>;
382
+ export interface RelationQueryCompilationRequestReference {
383
+ compilerProfile: string;
384
+ definitionSchemaVersion: string;
385
+ definitionFingerprint: RelationQueryDefinitionFingerprint;
386
+ shapeSnapshotsFingerprint: RelationQueryPlanComponentFingerprint;
387
+ relationshipCatalogFingerprint?: RelationshipCatalogFingerprint | null;
388
+ demandFingerprint: RelationQueryPlanComponentFingerprint;
389
+ }
390
+ export interface RelationQueryStaticPlanExplanation {
391
+ reference: RelationQueryCompiledPlanReference;
392
+ logicalPlan: RelationQueryLogicalPlan;
393
+ requirementGraph: RelationQueryExplainRequirementGraph;
394
+ branches: RelationQueryNativeResultBranch[];
395
+ observability: RelationQueryResultObservability;
396
+ realizationRequirements: RelationQueryRealizationRequirement[];
397
+ realizationRequirementsFingerprint: RelationQueryPlanComponentFingerprint;
398
+ }
399
+ export interface DocumentValidationDiagnostic {
400
+ code: string;
401
+ severity: DiagnosticSeverity;
402
+ message: string;
403
+ location?: string | null;
404
+ schemaLocation?: string | null;
405
+ evidence?: DocumentDiagnosticEvidence | null;
406
+ }
407
+ export interface RelationQueryPhysicalPlanningResult {
408
+ status: RelationQueryPhysicalPlanningStatus;
409
+ plan?: CompiledRelationQueryPhysicalPlan | null;
410
+ diagnostics: RelationQueryPhysicalPlanningDiagnostic[];
411
+ }
412
+ export interface RelationQueryNativeCompilationAttemptReference {
413
+ plan: RelationQueryCompiledPlanReference;
414
+ profileFeasibility: RelationQueryRealizationFingerprint;
415
+ boundRealization: RelationQueryBoundRealizationFingerprint;
416
+ placement: RelationQuerySourcePlacementFingerprint;
417
+ adapterBinding: RelationQueryAdapterBindingReference;
418
+ branches: RelationQueryNativeResultBranchId[];
419
+ }
420
+ export interface RelationQueryNativeCompilationExplanation {
421
+ status: RelationQueryNativeCompilationStatus;
422
+ artifacts: RelationQueryNativeArtifactReference[];
423
+ diagnostics: RelationQueryNativeCompilationDiagnostic[];
424
+ }
425
+ export interface RelationQueryEvaluationExplanation {
426
+ evaluation: RelationQueryEvaluationFingerprint;
427
+ plan?: RelationQueryCompiledPlanReference | null;
428
+ status: RelationQueryExecutionStatus;
429
+ results: RelationQueryExplainResultSummary[];
430
+ requirementGaps: RelationQueryExplainRequirementGapSummary[];
431
+ diagnostics: RelationQueryExplainDiagnostic[];
432
+ observationFingerprint: RelationQueryEvaluationObservationFingerprint;
433
+ }
434
+ export type RelationQueryRealizationPolicyId = string;
435
+ export type RelationQueryOperatingBoundaryId = string;
436
+ export interface RelationQueryCapabilitySummaryEntry {
437
+ capability: RelationQueryCapability;
438
+ requirements: RelationQueryRealizationRequirementId[];
439
+ missingForRequirements: RelationQueryRealizationRequirementId[];
440
+ capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
441
+ operatingBoundaries: RelationQueryOperatingBoundaryId[];
442
+ contextEvidence: RelationQueryContextEvidenceId[];
443
+ }
444
+ export type DiagnosticSeverity = 'Info' | 'Warning' | 'Error';
445
+ export declare const diagnosticSeverities: {
446
+ readonly info: "Info";
447
+ readonly warning: "Warning";
448
+ readonly error: "Error";
449
+ };
450
+ export declare const diagnosticSeverityLabels: Record<DiagnosticSeverity, string>;
451
+ export type RelationQueryRealizationRequirementId = string;
452
+ export type QueryNodeId = string;
453
+ export type RelationQueryInputId = string;
454
+ export type RelationQueryOutputId = string;
455
+ export type RelationQuerySourcePlacementBindingId = string;
456
+ export type RelationQuerySourceInstanceId = string;
457
+ export type RelationQueryTargetCapabilityEvidenceId = string;
458
+ export type RelationQueryContextEvidenceId = string;
459
+ export type RelationQueryCompositionRuleId = string;
460
+ export type RelationQueryRealizationOverrideId = string;
461
+ export interface FieldPath {
462
+ segments: FieldPathSegment[];
463
+ }
464
+ export type EffectiveConfigurationOrigin = 'Explicit' | 'ScopedProfile' | 'AdapterConvention' | 'FrameworkDefault';
465
+ export declare const effectiveConfigurationOrigins: {
466
+ readonly explicit: "Explicit";
467
+ readonly scopedProfile: "ScopedProfile";
468
+ readonly adapterConvention: "AdapterConvention";
469
+ readonly frameworkDefault: "FrameworkDefault";
470
+ };
471
+ export declare const effectiveConfigurationOriginLabels: Record<EffectiveConfigurationOrigin, string>;
472
+ export type RelationQueryAdapterDecisionCode = string;
473
+ export interface RelationQueryPlanComponentFingerprint {
474
+ algorithm: string;
475
+ canonicalization: string;
476
+ value: string;
477
+ }
478
+ export type RelationQueryPhysicalPlanningPolicyId = string;
479
+ export interface RelationQueryPhysicalLoweringSelection {
480
+ compositionRule: RelationQueryCompositionRuleId;
481
+ physicalLowering: RelationQueryPhysicalLoweringRuleId;
482
+ }
483
+ export type RelationQueryPhysicalStageKind = 'SuppliedInput' | 'SourceRead' | 'ExactFieldProjection' | 'RelationshipKeyExtraction' | 'KeyDeduplication' | 'BatchedIdentityLookup' | 'BatchedPredicateLookup' | 'LocalCorrelation' | 'RuntimeEvidenceAssembly' | 'ReferenceInterpreterTerminal';
484
+ export declare const relationQueryPhysicalStageKinds: {
485
+ readonly suppliedInput: "SuppliedInput";
486
+ readonly sourceRead: "SourceRead";
487
+ readonly exactFieldProjection: "ExactFieldProjection";
488
+ readonly relationshipKeyExtraction: "RelationshipKeyExtraction";
489
+ readonly keyDeduplication: "KeyDeduplication";
490
+ readonly batchedIdentityLookup: "BatchedIdentityLookup";
491
+ readonly batchedPredicateLookup: "BatchedPredicateLookup";
492
+ readonly localCorrelation: "LocalCorrelation";
493
+ readonly runtimeEvidenceAssembly: "RuntimeEvidenceAssembly";
494
+ readonly referenceInterpreterTerminal: "ReferenceInterpreterTerminal";
495
+ };
496
+ export declare const relationQueryPhysicalStageKindLabels: Record<RelationQueryPhysicalStageKind, string>;
497
+ export interface RelationQueryPhysicalStageProvenance {
498
+ nodes: QueryNodeId[];
499
+ inputs: RelationQueryInputId[];
500
+ requirements: RelationQueryRealizationRequirementId[];
501
+ capabilityEvidence: RelationQueryPhysicalCapabilityEvidenceReference[];
502
+ compositionRules: RelationQueryCompositionRuleId[];
503
+ operatingBoundaries: RelationQueryOperatingBoundaryId[];
504
+ placementBindings: RelationQuerySourcePlacementBindingId[];
505
+ loweringRule?: RelationQueryPhysicalLoweringRuleId | null;
506
+ policyDecisions: RelationQueryPhysicalPlanningDecisionId[];
507
+ }
508
+ export type RelationQueryExecutionDomainId = string;
509
+ export interface RelationQuerySourcePlacementLimits {
510
+ maximumBatchSize: string;
511
+ maximumBufferedRows: string;
512
+ maximumFanOut: string;
513
+ maximumConcurrency: string;
514
+ }
515
+ export type ValueBindingId = string;
516
+ export type RelationQuerySourcePlacementBindingKind = 'SourceSet' | 'RelationshipTraversal';
517
+ export declare const relationQuerySourcePlacementBindingKinds: {
518
+ readonly sourceSet: "SourceSet";
519
+ readonly relationshipTraversal: "RelationshipTraversal";
520
+ };
521
+ export declare const relationQuerySourcePlacementBindingKindLabels: Record<RelationQuerySourcePlacementBindingKind, string>;
522
+ export type RelationQuerySourceAcquisitionKind = 'Supplied' | 'BoundedEnumeration' | 'BoundedLookup';
523
+ export declare const relationQuerySourceAcquisitionKinds: {
524
+ readonly supplied: "Supplied";
525
+ readonly boundedEnumeration: "BoundedEnumeration";
526
+ readonly boundedLookup: "BoundedLookup";
527
+ };
528
+ export declare const relationQuerySourceAcquisitionKindLabels: Record<RelationQuerySourceAcquisitionKind, string>;
529
+ export type RelationQuerySourcePlacementOrigin = 'Explicit' | 'Convention';
530
+ export declare const relationQuerySourcePlacementOrigins: {
531
+ readonly explicit: "Explicit";
532
+ readonly convention: "Convention";
533
+ };
534
+ export declare const relationQuerySourcePlacementOriginLabels: Record<RelationQuerySourcePlacementOrigin, string>;
535
+ export interface RelationQuerySourceIdentityBinding {
536
+ shape: QualifiedShapeId;
537
+ sourceSelector: string;
538
+ semanticPath?: FieldPath | null;
539
+ }
540
+ export interface RelationQuerySourceFieldBinding {
541
+ input: RelationQueryInputId;
542
+ semanticPath: FieldPath;
543
+ sourceSelector: string;
544
+ }
545
+ export interface RelationQueryRelationshipKeyBinding {
546
+ input: RelationQueryInputId;
547
+ semanticPath: FieldPath;
548
+ sourceSelector: string;
549
+ }
550
+ export interface RelationQueryPartitionBinding {
551
+ sourceSelector: string;
552
+ }
553
+ export interface RelationQueryAdapterBindingReference {
554
+ schemaVersion: string;
555
+ bindingId: string;
556
+ target: RelationQueryTargetId;
557
+ targetProfile: RelationQueryTargetProfileId;
558
+ fingerprint: RelationQueryAdapterBindingFingerprint;
559
+ compiledPlanFingerprint?: RelationQueryPlanComponentFingerprint | null;
560
+ placementFingerprint?: RelationQuerySourcePlacementFingerprint | null;
561
+ sources: RelationQuerySourceInstanceId[];
562
+ placementBindings: RelationQuerySourcePlacementBindingId[];
563
+ configurationDecisions: EffectiveConfigurationDecision[];
564
+ }
565
+ export interface RelationQueryBoundRequirementAssessment {
566
+ id: RelationQueryContextEvidenceId;
567
+ branch: RelationQueryNativeResultBranchId;
568
+ requirement: RelationQueryRealizationRequirementId;
569
+ status: RelationQueryBoundAssessmentStatus;
570
+ origin: EffectiveConfigurationOrigin;
571
+ authority: string;
572
+ capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
573
+ operatingBoundaries: RelationQueryOperatingBoundaryId[];
574
+ preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
575
+ unavailableReason?: RelationQueryUnavailableReason | null;
576
+ node?: QueryNodeId | null;
577
+ input?: RelationQueryInputId | null;
578
+ field?: FieldPath | null;
579
+ placementBinding?: RelationQuerySourcePlacementBindingId | null;
580
+ configurationSetting?: string | null;
581
+ message: string;
582
+ resolution?: string | null;
583
+ adapterDecisionCode?: RelationQueryAdapterDecisionCode | null;
584
+ missingCapabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
585
+ failedOperatingBoundary?: RelationQueryOperatingBoundaryId | null;
586
+ failedConfigurationSetting?: string | null;
587
+ blockedBy?: RelationQueryContextEvidenceId | null;
588
+ }
589
+ export type RelationQueryRealizationPreference = 'PreferNative' | 'PreferComposed';
590
+ export declare const relationQueryRealizationPreferences: {
591
+ readonly preferNative: "PreferNative";
592
+ readonly preferComposed: "PreferComposed";
593
+ };
594
+ export declare const relationQueryRealizationPreferenceLabels: Record<RelationQueryRealizationPreference, string>;
595
+ export type RelationQueryConstrainedRealizationPolicy = 'Reject' | 'AllowValidated';
596
+ export declare const relationQueryConstrainedRealizationPolicies: {
597
+ readonly reject: "Reject";
598
+ readonly allowValidated: "AllowValidated";
599
+ };
600
+ export declare const relationQueryConstrainedRealizationPolicyLabels: Record<RelationQueryConstrainedRealizationPolicy, string>;
601
+ export interface RelationQueryCompositionRule {
602
+ id: RelationQueryCompositionRuleId;
603
+ providedCapability: RelationQueryCapability;
604
+ requiredCapabilities: RelationQueryCapability[];
605
+ requiredOperatingBoundaries: RelationQueryOperatingBoundaryId[];
606
+ preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
607
+ description?: string | null;
608
+ }
609
+ export interface RelationQueryCompositionRuleSelection {
610
+ capability: RelationQueryCapability;
611
+ rule: RelationQueryCompositionRuleId;
612
+ }
613
+ export interface RelationQueryRealizationOverride {
614
+ id: RelationQueryRealizationOverrideId;
615
+ requirement: RelationQueryRealizationRequirementId;
616
+ expectedCapability: RelationQueryCapability;
617
+ capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
618
+ operatingBoundaries: RelationQueryOperatingBoundaryId[];
619
+ preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
620
+ justification: string;
621
+ }
622
+ export interface RelationQueryRealizationDiagnosticSeverityOverride {
623
+ code: string;
624
+ severity: DiagnosticSeverity;
625
+ }
626
+ export type RelationQueryOccurrenceProvenanceMode = 'ExactContributors' | 'NotRequested';
627
+ export declare const relationQueryOccurrenceProvenanceModes: {
628
+ readonly exactContributors: "ExactContributors";
629
+ readonly notRequested: "NotRequested";
630
+ };
631
+ export declare const relationQueryOccurrenceProvenanceModeLabels: Record<RelationQueryOccurrenceProvenanceMode, string>;
632
+ export type RelationQueryCapability = {
633
+ readonly $capability: 'logical';
634
+ } & LogicalRelationQueryCapability | {
635
+ readonly $capability: 'expression';
636
+ } & ExpressionRelationQueryCapability | {
637
+ readonly $capability: 'temporal';
638
+ } & TemporalRelationQueryCapability | {
639
+ readonly $capability: 'structural';
640
+ } & StructuralRelationQueryCapability | {
641
+ readonly $capability: 'guarantee';
642
+ } & GuaranteeRelationQueryCapability | {
643
+ readonly $capability: 'operatingBoundaryValidation';
644
+ } & OperatingBoundaryValidationRelationQueryCapability | {
645
+ readonly $capability: 'primitive';
646
+ } & PrimitiveRelationQueryCapability;
647
+ export interface LogicalRelationQueryCapability {
648
+ kind: RelationQueryLogicalCapabilityKind | number;
649
+ }
650
+ export interface ExpressionRelationQueryCapability {
651
+ capability: ExprCapabilityId;
652
+ requirementKind: ExprCapabilityRequirementKind | number;
653
+ }
654
+ export interface TemporalRelationQueryCapability {
655
+ capability: RelationQueryTemporalExecutionCapability | number;
656
+ }
657
+ export interface StructuralRelationQueryCapability {
658
+ role: RelationQueryStructuralCapabilityRole | number;
659
+ pathKind: RelationQueryStructuralPathKind | number;
660
+ }
661
+ export interface GuaranteeRelationQueryCapability {
662
+ kind: RelationQueryGuaranteeCapabilityKind | number;
663
+ }
664
+ export interface OperatingBoundaryValidationRelationQueryCapability {
665
+ boundary: RelationQueryOperatingBoundaryId;
666
+ }
667
+ export interface PrimitiveRelationQueryCapability {
668
+ kind: RelationQueryPrimitiveCapabilityKind | number;
669
+ }
670
+ export interface RelationQueryRealizationRequirementOrigin {
671
+ input?: RelationQueryInputId | null;
672
+ node?: QueryNodeId | null;
673
+ semanticSite?: string | null;
674
+ expressionPath?: string | null;
675
+ fieldPath?: FieldPath | null;
676
+ binding?: ValueBindingId | null;
677
+ }
678
+ export interface RelationQueryRealizationRequirementUse {
679
+ output: RelationQueryRealizationOutputReference;
680
+ effect: RelationQueryRequirementEffect;
681
+ requirement: QueryInputRequirement;
682
+ traces: RelationQueryRealizationTrace[];
683
+ }
684
+ 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';
685
+ export declare const relationQueryGuaranteeCapabilityKinds: {
686
+ readonly missingNullDistinction: "MissingNullDistinction";
687
+ readonly absenceAvailabilityFailureDistinction: "AbsenceAvailabilityFailureDistinction";
688
+ readonly joinMembership: "JoinMembership";
689
+ readonly cardinality: "Cardinality";
690
+ readonly relationshipDirection: "RelationshipDirection";
691
+ readonly relationshipMultiplicity: "RelationshipMultiplicity";
692
+ readonly temporalDomain: "TemporalDomain";
693
+ readonly temporalBoundary: "TemporalBoundary";
694
+ readonly unboundedTemporalBoundary: "UnboundedTemporalBoundary";
695
+ readonly ordering: "Ordering";
696
+ readonly nullPlacement: "NullPlacement";
697
+ readonly stablePaging: "StablePaging";
698
+ readonly grouping: "Grouping";
699
+ readonly aggregation: "Aggregation";
700
+ readonly duplicateHandling: "DuplicateHandling";
701
+ readonly outputIdentity: "OutputIdentity";
702
+ readonly outputMode: "OutputMode";
703
+ readonly invariantEnforcement: "InvariantEnforcement";
704
+ readonly deterministicResult: "DeterministicResult";
705
+ readonly occurrenceProvenance: "OccurrenceProvenance";
706
+ readonly evidenceCompleteness: "EvidenceCompleteness";
707
+ readonly inconclusiveEvidence: "InconclusiveEvidence";
708
+ readonly consistentSnapshot: "ConsistentSnapshot";
709
+ readonly collectionElementCorrelation: "CollectionElementCorrelation";
710
+ readonly relationRootCorrelation: "RelationRootCorrelation";
711
+ };
712
+ export declare const relationQueryGuaranteeCapabilityKindLabels: Record<RelationQueryGuaranteeCapabilityKind, string>;
713
+ export interface RelationQueryRealizationStaticFact {
714
+ kind: RelationQueryRealizationStaticFactKind;
715
+ value: string;
716
+ }
717
+ export interface RelationQueryOperatingBoundaryValidation {
718
+ boundary: RelationQueryOperatingBoundaryId;
719
+ kind: RelationQueryOperatingBoundaryValidationKind;
720
+ capabilityEvidence?: RelationQueryTargetCapabilityEvidenceId | null;
721
+ measuredValue?: string | null;
722
+ }
723
+ export type RelationQueryUnavailableReason = 'CapabilityNotAdvertised' | 'ProfileVersionUnsupported' | 'OperatingBoundaryMissing' | 'OperatingBoundaryInvalid' | 'CompositionUnavailable' | 'AmbiguousStrategy' | 'CapabilityEvidenceInvalid' | 'OverrideInvalid' | 'PolicyRejected' | 'PrerequisiteBlocked';
724
+ export declare const relationQueryUnavailableReasons: {
725
+ readonly capabilityNotAdvertised: "CapabilityNotAdvertised";
726
+ readonly profileVersionUnsupported: "ProfileVersionUnsupported";
727
+ readonly operatingBoundaryMissing: "OperatingBoundaryMissing";
728
+ readonly operatingBoundaryInvalid: "OperatingBoundaryInvalid";
729
+ readonly compositionUnavailable: "CompositionUnavailable";
730
+ readonly ambiguousStrategy: "AmbiguousStrategy";
731
+ readonly capabilityEvidenceInvalid: "CapabilityEvidenceInvalid";
732
+ readonly overrideInvalid: "OverrideInvalid";
733
+ readonly policyRejected: "PolicyRejected";
734
+ readonly prerequisiteBlocked: "PrerequisiteBlocked";
735
+ };
736
+ export declare const relationQueryUnavailableReasonLabels: Record<RelationQueryUnavailableReason, string>;
737
+ export type RelationQueryOperatingBoundaryKind = 'MaximumInputRows' | 'MaximumOutputRows' | 'MaximumFanOut' | 'MaximumPageSize' | 'MaximumFieldPathDepth' | 'MaximumExpressionDepth' | 'MaximumBatchSize' | 'SingleSource' | 'SinglePartition' | 'MaterializedInputs' | 'CompleteInputEvidence' | 'NonNullOperands' | 'ScalarOperands' | 'HomogeneousTemporalDomain' | 'FiniteTemporalBounds' | 'StableUniqueOrdering' | 'DeterministicProvider' | 'ExactNumericAggregateDomain' | 'ExactTemporalDomain' | 'SuppliedRelationRoot';
738
+ export declare const relationQueryOperatingBoundaryKinds: {
739
+ readonly maximumInputRows: "MaximumInputRows";
740
+ readonly maximumOutputRows: "MaximumOutputRows";
741
+ readonly maximumFanOut: "MaximumFanOut";
742
+ readonly maximumPageSize: "MaximumPageSize";
743
+ readonly maximumFieldPathDepth: "MaximumFieldPathDepth";
744
+ readonly maximumExpressionDepth: "MaximumExpressionDepth";
745
+ readonly maximumBatchSize: "MaximumBatchSize";
746
+ readonly singleSource: "SingleSource";
747
+ readonly singlePartition: "SinglePartition";
748
+ readonly materializedInputs: "MaterializedInputs";
749
+ readonly completeInputEvidence: "CompleteInputEvidence";
750
+ readonly nonNullOperands: "NonNullOperands";
751
+ readonly scalarOperands: "ScalarOperands";
752
+ readonly homogeneousTemporalDomain: "HomogeneousTemporalDomain";
753
+ readonly finiteTemporalBounds: "FiniteTemporalBounds";
754
+ readonly stableUniqueOrdering: "StableUniqueOrdering";
755
+ readonly deterministicProvider: "DeterministicProvider";
756
+ readonly exactNumericAggregateDomain: "ExactNumericAggregateDomain";
757
+ readonly exactTemporalDomain: "ExactTemporalDomain";
758
+ readonly suppliedRelationRoot: "SuppliedRelationRoot";
759
+ };
760
+ export declare const relationQueryOperatingBoundaryKindLabels: Record<RelationQueryOperatingBoundaryKind, string>;
761
+ export type RelationDraftId = string;
762
+ export type RelationId = string;
763
+ export type RelationName = string;
764
+ export interface LogicalQueryDefinition {
765
+ nodes: LogicalQueryNode[];
766
+ parameters: QueryParameterDefinition[];
767
+ }
768
+ export interface RelationDraftProjection {
769
+ id: QueryNodeId;
770
+ input: QueryNodeId;
771
+ resultBinding: ValueBindingId;
772
+ resultShape: QualifiedShapeId;
773
+ assignments: RelationDraftAssignmentSlot[];
774
+ }
775
+ export type RelationOutputMode = 'OnePerRoot' | 'ZeroOrOnePerRoot' | 'ManyPerRoot' | 'Set';
776
+ export declare const relationOutputModes: {
777
+ readonly onePerRoot: "OnePerRoot";
778
+ readonly zeroOrOnePerRoot: "ZeroOrOnePerRoot";
779
+ readonly manyPerRoot: "ManyPerRoot";
780
+ readonly set: "Set";
781
+ };
782
+ export declare const relationOutputModeLabels: Record<RelationOutputMode, string>;
24
783
  export type Expr = {
784
+ readonly $expr: 'binding';
785
+ } & BindingExpr | {
25
786
  readonly $expr: 'field';
26
787
  } & FieldExpr | {
27
788
  readonly $expr: 'currentItem';
@@ -44,125 +805,543 @@ export type Expr = {
44
805
  } & LiteralExpr | {
45
806
  readonly $expr: 'aggregate';
46
807
  } & AggregateExpr;
808
+ export interface BindingExpr {
809
+ binding: ValueBindingId;
810
+ }
47
811
  export interface FieldExpr {
48
- Path: FieldPath;
812
+ path: FieldPath;
813
+ binding?: ValueBindingId | null;
49
814
  }
50
815
  export type CurrentItemExpr = Record<never, never>;
51
816
  export interface ParameterExpr {
52
- Parameter: string;
817
+ parameter: string;
53
818
  }
54
819
  export interface ConstantExpr {
55
- Value: unknown;
820
+ value: unknown;
56
821
  }
57
822
  export interface UnaryExpr {
58
- Operator: UnaryOperator;
59
- Operand: Expr;
823
+ operator: UnaryOperator;
824
+ operand: Expr;
60
825
  }
61
826
  export interface BinaryExpr {
62
- Operator: BinaryOperator;
63
- Left: Expr;
64
- Right: Expr;
827
+ operator: BinaryOperator;
828
+ left: Expr;
829
+ right: Expr;
65
830
  }
66
831
  export interface ConditionalExpr {
67
- Test: Expr;
68
- IfTrue: Expr;
69
- IfFalse: Expr;
70
- ReturnType: TypeRef;
832
+ test: Expr;
833
+ ifTrue: Expr;
834
+ ifFalse: Expr;
835
+ returnType: TypeRef;
71
836
  }
72
837
  export interface CallExpr {
73
- Function: string;
74
- Arguments: Expr[];
75
- ReturnType: TypeRef;
838
+ function: string;
839
+ arguments: Expr[];
840
+ returnType: TypeRef;
76
841
  }
77
842
  export interface FieldRefExpr {
78
- Path: FieldPath;
79
- Type: TypeRef;
843
+ path: FieldPath;
844
+ type: TypeRef;
80
845
  }
81
846
  export interface LiteralExpr {
82
- Type: TypeRef;
83
- Value: unknown;
847
+ type: TypeRef;
848
+ value: unknown;
84
849
  }
85
850
  export interface AggregateExpr {
86
- Operator: AggregateOperator;
87
- Source: Expr;
88
- GroupBy: Expr[];
89
- ReturnType: TypeRef;
90
- }
91
- export interface MappingDefinition {
92
- Id: MappingId;
93
- Name: MappingName;
94
- Kind: MappingKind;
95
- SourceShapeId?: ShapeId | null;
96
- TargetShapeId: ShapeId;
97
- Assignments: FieldAssignment[];
98
- Predicate?: Expr | null;
99
- ForEach?: Expr | null;
100
- Key?: Expr | null;
101
- Entity?: Expr | null;
102
- Scope: MappingScope;
103
- Direction: MappingDirection;
104
- NestedMappings: NestedMapping[];
105
- CollectionMappings: CollectionMapping[];
106
- Metadata: MappingMetadata;
107
- }
108
- export interface MaterializationSpec {
109
- IsEnabled: boolean;
110
- Strategy: MaterializationStrategy;
111
- Freshness: FreshnessPolicy;
112
- AllowCodegen: boolean;
113
- }
114
- export interface RelationMetadata {
115
- AllowCodegen: boolean;
116
- Deterministic: boolean;
117
- Hints: ({
118
- Key: string;
119
- Value: string;
120
- })[];
851
+ operator: AggregateOperator;
852
+ source: Expr;
853
+ groupBy: Expr[];
854
+ returnType: TypeRef;
121
855
  }
122
856
  export interface InvariantDefinition {
123
- Name: string;
124
- Expression: Expr;
125
- Message?: string | null;
857
+ name: string;
858
+ entity?: EntityId | null;
859
+ expression: Expr;
860
+ message?: string | null;
126
861
  }
127
- export interface SourceAlias {
128
- Value: string;
862
+ export type DocumentOrigin = 'Unknown' | 'User' | 'System' | 'Imported' | 'Generated' | 'Compiled' | 'Extracted';
863
+ export declare const documentOrigins: {
864
+ readonly unknown: "Unknown";
865
+ readonly user: "User";
866
+ readonly system: "System";
867
+ readonly imported: "Imported";
868
+ readonly generated: "Generated";
869
+ readonly compiled: "Compiled";
870
+ readonly extracted: "Extracted";
871
+ };
872
+ export declare const documentOriginLabels: Record<DocumentOrigin, string>;
873
+ export type AnnotationKey = string;
874
+ export type AnnotationValue = unknown;
875
+ export interface RelationDraftProducerArtifactReference {
876
+ kind: string;
877
+ value: string;
878
+ }
879
+ export interface RelationDraftConventionDecision {
880
+ ruleId: string;
881
+ slotId: QueryAssignmentId;
882
+ candidateId?: RelationDraftCandidateId | null;
883
+ sourceBinding: ValueBindingId;
884
+ source?: FieldPath | null;
885
+ target: FieldPath;
886
+ }
887
+ export interface RelationOutputDefinition {
888
+ node: QueryNodeId;
889
+ shape: QualifiedShapeId;
890
+ mode: RelationOutputMode;
891
+ key?: Expr | null;
892
+ }
893
+ export type QueryId = string;
894
+ export type QueryName = string;
895
+ export type QueryResultDefinition = {
896
+ readonly $result: 'rows';
897
+ } & RowsQueryResultDefinition | {
898
+ readonly $result: 'aggregation';
899
+ } & AggregationQueryResultDefinition;
900
+ export interface RowsQueryResultDefinition {
901
+ id: QueryResultId;
902
+ input: QueryNodeId;
903
+ }
904
+ export interface AggregationQueryResultDefinition {
905
+ id: QueryResultId;
906
+ input: QueryNodeId;
907
+ }
908
+ export interface RelationshipDefinition {
909
+ id: RelationshipId;
910
+ sourceShape: QualifiedShapeId;
911
+ sourceReference: FieldPath;
912
+ targetShape: QualifiedShapeId;
913
+ targetKey: RelationshipTargetKey;
914
+ sourceReferenceUniqueness: SourceReferenceUniqueness;
915
+ }
916
+ export interface RelationQueryLogicalPlan {
917
+ nodes: RelationQueryLogicalPlanNode[];
918
+ retainedNodes: QueryNodeId[];
919
+ evaluationOrder: QueryNodeId[];
129
920
  }
130
- export type SourceCardinality = 0 | 1;
131
- export declare const sourceCardinalities: {
132
- readonly single: 0;
133
- readonly many: 1;
921
+ export interface RelationQueryExplainRequirementGraph {
922
+ inputs: RelationQueryExplainRequirementInput[];
923
+ outputs: RelationQueryOutputReference[];
924
+ edges: RelationQueryExplainRequirementEdge[];
925
+ }
926
+ export interface RelationQueryNativeResultBranch {
927
+ id: RelationQueryNativeResultBranchId;
928
+ kind: RelationQueryNativeResultKind;
929
+ node: QueryNodeId;
930
+ binding: ValueBindingId;
931
+ shape: QualifiedShapeId;
932
+ relation?: RelationId | null;
933
+ queryResult?: QueryResultId | null;
934
+ outputs: RelationQueryOutputReference[];
935
+ fields: RelationQueryFieldReference[];
936
+ }
937
+ export interface DocumentDiagnosticEvidence {
938
+ stage?: string | null;
939
+ subject?: string | null;
940
+ relatedLocations: string[];
941
+ sourceReferences: string[];
942
+ resolutionOptions: string[];
943
+ expected?: string | null;
944
+ observed?: string | null;
945
+ }
946
+ export type RelationQueryPhysicalPlanningStatus = 'Planned' | 'Unavailable' | 'Invalid';
947
+ export declare const relationQueryPhysicalPlanningStatuses: {
948
+ readonly planned: "Planned";
949
+ readonly unavailable: "Unavailable";
950
+ readonly invalid: "Invalid";
134
951
  };
135
- export declare const sourceCardinalityLabels: Record<SourceCardinality, string>;
136
- export type JoinKind = 0 | 1 | 2 | 3;
137
- export declare const joinKinds: {
138
- readonly inner: 0;
139
- readonly left: 1;
140
- readonly right: 2;
141
- readonly full: 3;
952
+ export declare const relationQueryPhysicalPlanningStatusLabels: Record<RelationQueryPhysicalPlanningStatus, string>;
953
+ export type RelationQueryNativeCompilationStatus = 'Exact' | 'Unsupported' | 'Invalid';
954
+ export declare const relationQueryNativeCompilationStatuses: {
955
+ readonly exact: "Exact";
956
+ readonly unsupported: "Unsupported";
957
+ readonly invalid: "Invalid";
142
958
  };
143
- export declare const joinKindLabels: Record<JoinKind, string>;
144
- export interface FieldPath {
145
- Segments: FieldPathSegment[];
959
+ export declare const relationQueryNativeCompilationStatusLabels: Record<RelationQueryNativeCompilationStatus, string>;
960
+ export interface RelationQueryNativeArtifactReference {
961
+ branch: RelationQueryNativeResultBranchId;
962
+ artifactSchemaVersion?: string | null;
963
+ fingerprint: RelationQueryNativeArtifactFingerprintReference;
964
+ provenance: RelationQueryNativeCompilationProvenance;
146
965
  }
147
- export type UnaryOperator = 0;
966
+ export interface RelationQueryNativeCompilationDiagnostic {
967
+ code: string;
968
+ severity: DiagnosticSeverity;
969
+ message: string;
970
+ branch?: RelationQueryNativeResultBranchId | null;
971
+ node?: QueryNodeId | null;
972
+ input?: RelationQueryInputId | null;
973
+ requirement?: RelationQueryRealizationRequirementId | null;
974
+ capabilityEvidence?: RelationQueryTargetCapabilityEvidenceId | null;
975
+ operatingBoundary?: RelationQueryOperatingBoundaryId | null;
976
+ override?: RelationQueryRealizationOverrideId | null;
977
+ semanticSite?: string | null;
978
+ contextEvidence?: RelationQueryContextEvidenceId | null;
979
+ field?: FieldPath | null;
980
+ placementBinding?: RelationQuerySourcePlacementBindingId | null;
981
+ bindingSetting?: string | null;
982
+ resolution?: string | null;
983
+ configurationOrigin?: EffectiveConfigurationOrigin | null;
984
+ configurationAuthority?: string | null;
985
+ adapterDecisionCode?: RelationQueryAdapterDecisionCode | null;
986
+ }
987
+ export interface RelationQueryEvaluationFingerprint {
988
+ algorithm: string;
989
+ canonicalization: string;
990
+ value: string;
991
+ }
992
+ export type RelationQueryExecutionStatus = 'Succeeded' | 'Incomplete' | 'Failed';
993
+ export declare const relationQueryExecutionStatuses: {
994
+ readonly succeeded: "Succeeded";
995
+ readonly incomplete: "Incomplete";
996
+ readonly failed: "Failed";
997
+ };
998
+ export declare const relationQueryExecutionStatusLabels: Record<RelationQueryExecutionStatus, string>;
999
+ export interface RelationQueryExplainResultSummary {
1000
+ branch: RelationQueryNativeResultBranchId;
1001
+ kind: RelationQueryExecutionResultKind;
1002
+ shape: QualifiedShapeId;
1003
+ state: RelationQueryExecutionOutputState;
1004
+ rowCount: number;
1005
+ }
1006
+ export interface RelationQueryExplainRequirementGapSummary {
1007
+ cause: RelationRequirementGapCause;
1008
+ input: RelationQueryInputId;
1009
+ affectedOutputs: RelationQueryOutputId[];
1010
+ occurrenceCount: number;
1011
+ suggestedResolutions: RelationRequirementGapResolutionKind[];
1012
+ }
1013
+ export interface RelationQueryEvaluationObservationFingerprint {
1014
+ algorithm: string;
1015
+ canonicalization: string;
1016
+ value: string;
1017
+ }
1018
+ export interface FieldPathSegment {
1019
+ kind: SegmentKind;
1020
+ segment?: string | null;
1021
+ }
1022
+ export type RelationQueryPhysicalLoweringRuleId = string;
1023
+ export interface RelationQueryPhysicalCapabilityEvidenceReference {
1024
+ source: RelationQuerySourceInstanceId;
1025
+ target: RelationQueryTargetId;
1026
+ profile: RelationQueryTargetProfileId;
1027
+ evidence: RelationQueryTargetCapabilityEvidenceId;
1028
+ }
1029
+ export type RelationQueryPhysicalPlanningDecisionId = string;
1030
+ export interface RelationQueryAdapterBindingFingerprint {
1031
+ algorithm: string;
1032
+ canonicalization: string;
1033
+ value: string;
1034
+ }
1035
+ export type RelationQueryBoundAssessmentStatus = 'Available' | 'Unavailable' | 'Invalid' | 'Blocked';
1036
+ export declare const relationQueryBoundAssessmentStatuses: {
1037
+ readonly available: "Available";
1038
+ readonly unavailable: "Unavailable";
1039
+ readonly invalid: "Invalid";
1040
+ readonly blocked: "Blocked";
1041
+ };
1042
+ export declare const relationQueryBoundAssessmentStatusLabels: Record<RelationQueryBoundAssessmentStatus, string>;
1043
+ 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';
1044
+ export declare const relationQueryLogicalCapabilityKinds: {
1045
+ readonly source: "Source";
1046
+ readonly filter: "Filter";
1047
+ readonly relationshipTraversal: "RelationshipTraversal";
1048
+ readonly forwardRelationshipTraversal: "ForwardRelationshipTraversal";
1049
+ readonly inverseRelationshipTraversal: "InverseRelationshipTraversal";
1050
+ readonly atMostOneRelationshipTraversal: "AtMostOneRelationshipTraversal";
1051
+ readonly manyRelationshipTraversal: "ManyRelationshipTraversal";
1052
+ readonly requiredRelationshipTraversal: "RequiredRelationshipTraversal";
1053
+ readonly optionalRelationshipTraversal: "OptionalRelationshipTraversal";
1054
+ readonly join: "Join";
1055
+ readonly innerJoin: "InnerJoin";
1056
+ readonly leftOuterJoin: "LeftOuterJoin";
1057
+ readonly rightOuterJoin: "RightOuterJoin";
1058
+ readonly fullOuterJoin: "FullOuterJoin";
1059
+ readonly temporalJoin: "TemporalJoin";
1060
+ readonly expandCollection: "ExpandCollection";
1061
+ readonly projection: "Projection";
1062
+ readonly projectionAssignment: "ProjectionAssignment";
1063
+ readonly distinctRows: "DistinctRows";
1064
+ readonly distinctKeys: "DistinctKeys";
1065
+ readonly aggregation: "Aggregation";
1066
+ readonly aggregateGrouping: "AggregateGrouping";
1067
+ readonly aggregateFilter: "AggregateFilter";
1068
+ readonly countAggregate: "CountAggregate";
1069
+ readonly sumAggregate: "SumAggregate";
1070
+ readonly minimumAggregate: "MinimumAggregate";
1071
+ readonly maximumAggregate: "MaximumAggregate";
1072
+ readonly anyAggregate: "AnyAggregate";
1073
+ readonly allAggregate: "AllAggregate";
1074
+ readonly ordering: "Ordering";
1075
+ readonly ascendingOrdering: "AscendingOrdering";
1076
+ readonly descendingOrdering: "DescendingOrdering";
1077
+ readonly nullsFirst: "NullsFirst";
1078
+ readonly nullsLast: "NullsLast";
1079
+ readonly stableTieOrdering: "StableTieOrdering";
1080
+ readonly offsetPaging: "OffsetPaging";
1081
+ readonly keysetPaging: "KeysetPaging";
1082
+ readonly onePerRootRelationOutput: "OnePerRootRelationOutput";
1083
+ readonly zeroOrOnePerRootRelationOutput: "ZeroOrOnePerRootRelationOutput";
1084
+ readonly manyPerRootRelationOutput: "ManyPerRootRelationOutput";
1085
+ readonly setRelationOutput: "SetRelationOutput";
1086
+ readonly relationOutputIdentity: "RelationOutputIdentity";
1087
+ readonly relationInvariant: "RelationInvariant";
1088
+ readonly queryRowsResult: "QueryRowsResult";
1089
+ readonly queryAggregationResult: "QueryAggregationResult";
1090
+ readonly alwaysPresentBinding: "AlwaysPresentBinding";
1091
+ readonly mayBeAbsentBinding: "MayBeAbsentBinding";
1092
+ readonly averageAggregate: "AverageAggregate";
1093
+ };
1094
+ export declare const relationQueryLogicalCapabilityKindLabels: Record<RelationQueryLogicalCapabilityKind, string>;
1095
+ export interface ExprCapabilityId {
1096
+ value: string;
1097
+ }
1098
+ export type ExprCapabilityRequirementKind = 'Operation' | 'Ambient';
1099
+ export declare const exprCapabilityRequirementKinds: {
1100
+ readonly operation: "Operation";
1101
+ readonly ambient: "Ambient";
1102
+ };
1103
+ export declare const exprCapabilityRequirementKindLabels: Record<ExprCapabilityRequirementKind, string>;
1104
+ export type RelationQueryTemporalExecutionCapability = 'PointInInterval' | 'IntervalOverlap' | 'InclusiveBoundary' | 'ExclusiveBoundary' | 'UnboundedBoundary' | 'NullAsUnbounded' | 'DateDomain' | 'DateTimeDomain' | 'InstantDomain' | 'PreserveAllMatches' | 'InnerJoin' | 'LeftOuterJoin' | 'RightOuterJoin' | 'FullOuterJoin' | 'ValidateIntervals' | 'InconclusiveEvidence';
1105
+ export declare const relationQueryTemporalExecutionCapabilities: {
1106
+ readonly pointInInterval: "PointInInterval";
1107
+ readonly intervalOverlap: "IntervalOverlap";
1108
+ readonly inclusiveBoundary: "InclusiveBoundary";
1109
+ readonly exclusiveBoundary: "ExclusiveBoundary";
1110
+ readonly unboundedBoundary: "UnboundedBoundary";
1111
+ readonly nullAsUnbounded: "NullAsUnbounded";
1112
+ readonly dateDomain: "DateDomain";
1113
+ readonly dateTimeDomain: "DateTimeDomain";
1114
+ readonly instantDomain: "InstantDomain";
1115
+ readonly preserveAllMatches: "PreserveAllMatches";
1116
+ readonly innerJoin: "InnerJoin";
1117
+ readonly leftOuterJoin: "LeftOuterJoin";
1118
+ readonly rightOuterJoin: "RightOuterJoin";
1119
+ readonly fullOuterJoin: "FullOuterJoin";
1120
+ readonly validateIntervals: "ValidateIntervals";
1121
+ readonly inconclusiveEvidence: "InconclusiveEvidence";
1122
+ };
1123
+ export declare const relationQueryTemporalExecutionCapabilityLabels: Record<RelationQueryTemporalExecutionCapability, string>;
1124
+ export type RelationQueryStructuralCapabilityRole = 'BindingRead' | 'CurrentItemRead' | 'OccurrenceEvidenceReconstruction' | 'ProjectionTarget' | 'GroupingTarget' | 'AggregateTarget' | 'OutputSelection' | 'CompleteValue';
1125
+ export declare const relationQueryStructuralCapabilityRoles: {
1126
+ readonly bindingRead: "BindingRead";
1127
+ readonly currentItemRead: "CurrentItemRead";
1128
+ readonly occurrenceEvidenceReconstruction: "OccurrenceEvidenceReconstruction";
1129
+ readonly projectionTarget: "ProjectionTarget";
1130
+ readonly groupingTarget: "GroupingTarget";
1131
+ readonly aggregateTarget: "AggregateTarget";
1132
+ readonly outputSelection: "OutputSelection";
1133
+ readonly completeValue: "CompleteValue";
1134
+ };
1135
+ export declare const relationQueryStructuralCapabilityRoleLabels: Record<RelationQueryStructuralCapabilityRole, string>;
1136
+ export type RelationQueryStructuralPathKind = 'RootValue' | 'TopLevelField' | 'NestedField' | 'CollectionElement' | 'NestedCollectionElement';
1137
+ export declare const relationQueryStructuralPathKinds: {
1138
+ readonly rootValue: "RootValue";
1139
+ readonly topLevelField: "TopLevelField";
1140
+ readonly nestedField: "NestedField";
1141
+ readonly collectionElement: "CollectionElement";
1142
+ readonly nestedCollectionElement: "NestedCollectionElement";
1143
+ };
1144
+ export declare const relationQueryStructuralPathKindLabels: Record<RelationQueryStructuralPathKind, string>;
1145
+ 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';
1146
+ export declare const relationQueryPrimitiveCapabilityKinds: {
1147
+ readonly keyExtraction: "KeyExtraction";
1148
+ readonly batchedKeyLookup: "BatchedKeyLookup";
1149
+ readonly predicateRead: "PredicateRead";
1150
+ readonly completeSetEnumeration: "CompleteSetEnumeration";
1151
+ readonly localCorrelation: "LocalCorrelation";
1152
+ readonly hashJoin: "HashJoin";
1153
+ readonly stableSort: "StableSort";
1154
+ readonly localAggregation: "LocalAggregation";
1155
+ readonly fieldProjection: "FieldProjection";
1156
+ readonly nullAwareComparison: "NullAwareComparison";
1157
+ readonly temporalComparison: "TemporalComparison";
1158
+ readonly intervalPredicate: "IntervalPredicate";
1159
+ readonly observationIdentityRead: "ObservationIdentityRead";
1160
+ readonly relationshipReferenceRead: "RelationshipReferenceRead";
1161
+ readonly parameterBinding: "ParameterBinding";
1162
+ readonly ambientCapabilityBinding: "AmbientCapabilityBinding";
1163
+ readonly outputObjectConstruction: "OutputObjectConstruction";
1164
+ readonly provenanceTracking: "ProvenanceTracking";
1165
+ readonly batchedPredicateLookup: "BatchedPredicateLookup";
1166
+ readonly invariantEvaluation: "InvariantEvaluation";
1167
+ readonly offsetPaging: "OffsetPaging";
1168
+ readonly keysetSeek: "KeysetSeek";
1169
+ };
1170
+ export declare const relationQueryPrimitiveCapabilityKindLabels: Record<RelationQueryPrimitiveCapabilityKind, string>;
1171
+ export interface RelationQueryRealizationOutputReference {
1172
+ id: RelationQueryOutputId;
1173
+ kind: RelationQueryOutputReferenceKind;
1174
+ node: QueryNodeId;
1175
+ shape: QualifiedShapeId;
1176
+ relation?: RelationId | null;
1177
+ queryResult?: QueryResultId | null;
1178
+ field?: RelationQueryFieldReference | null;
1179
+ }
1180
+ export type RelationQueryRequirementEffect = 'Value' | 'Identity' | 'Membership' | 'Correlation' | 'Acquisition' | 'Cardinality' | 'Ordering' | 'Grouping' | 'Aggregation' | 'Pagination' | 'Validation' | 'Evaluation';
1181
+ export declare const relationQueryRequirementEffects: {
1182
+ readonly value: "Value";
1183
+ readonly identity: "Identity";
1184
+ readonly membership: "Membership";
1185
+ readonly correlation: "Correlation";
1186
+ readonly acquisition: "Acquisition";
1187
+ readonly cardinality: "Cardinality";
1188
+ readonly ordering: "Ordering";
1189
+ readonly grouping: "Grouping";
1190
+ readonly aggregation: "Aggregation";
1191
+ readonly pagination: "Pagination";
1192
+ readonly validation: "Validation";
1193
+ readonly evaluation: "Evaluation";
1194
+ };
1195
+ export declare const relationQueryRequirementEffectLabels: Record<RelationQueryRequirementEffect, string>;
1196
+ export type QueryInputRequirement = 'Optional' | 'Required';
1197
+ export declare const queryInputRequirements: {
1198
+ readonly optional: "Optional";
1199
+ readonly required: "Required";
1200
+ };
1201
+ export declare const queryInputRequirementLabels: Record<QueryInputRequirement, string>;
1202
+ export interface RelationQueryRealizationTrace {
1203
+ steps: RelationQueryRealizationTraceStep[];
1204
+ }
1205
+ export type RelationQueryRealizationStaticFactKind = 'FieldPathDepth' | 'ExpressionDepth' | 'PageSize';
1206
+ export declare const relationQueryRealizationStaticFactKinds: {
1207
+ readonly fieldPathDepth: "FieldPathDepth";
1208
+ readonly expressionDepth: "ExpressionDepth";
1209
+ readonly pageSize: "PageSize";
1210
+ };
1211
+ export declare const relationQueryRealizationStaticFactKindLabels: Record<RelationQueryRealizationStaticFactKind, string>;
1212
+ export type RelationQueryOperatingBoundaryValidationKind = 'StaticPlanFact' | 'TargetEnforced';
1213
+ export declare const relationQueryOperatingBoundaryValidationKinds: {
1214
+ readonly staticPlanFact: "StaticPlanFact";
1215
+ readonly targetEnforced: "TargetEnforced";
1216
+ };
1217
+ export declare const relationQueryOperatingBoundaryValidationKindLabels: Record<RelationQueryOperatingBoundaryValidationKind, string>;
1218
+ export type LogicalQueryNode = {
1219
+ readonly $node: 'source';
1220
+ } & SourceQueryNode | {
1221
+ readonly $node: 'filter';
1222
+ } & FilterQueryNode | {
1223
+ readonly $node: 'traverseRelationship';
1224
+ } & TraverseRelationshipQueryNode | {
1225
+ readonly $node: 'join';
1226
+ } & JoinQueryNode | {
1227
+ readonly $node: 'temporalJoin';
1228
+ } & TemporalJoinQueryNode | {
1229
+ readonly $node: 'expandCollection';
1230
+ } & ExpandCollectionQueryNode | {
1231
+ readonly $node: 'project';
1232
+ } & ProjectQueryNode | {
1233
+ readonly $node: 'distinct';
1234
+ } & DistinctQueryNode | {
1235
+ readonly $node: 'aggregate';
1236
+ } & AggregateQueryNode | {
1237
+ readonly $node: 'order';
1238
+ } & OrderQueryNode | {
1239
+ readonly $node: 'page';
1240
+ } & PageQueryNode;
1241
+ export interface SourceQueryNode {
1242
+ id: QueryNodeId;
1243
+ binding: ValueBindingId;
1244
+ shape: QualifiedShapeId;
1245
+ }
1246
+ export interface FilterQueryNode {
1247
+ input: QueryNodeId;
1248
+ predicate: Expr;
1249
+ id: QueryNodeId;
1250
+ }
1251
+ export interface TraverseRelationshipQueryNode {
1252
+ id: QueryNodeId;
1253
+ input: QueryNodeId;
1254
+ from: ValueBindingId;
1255
+ relationship: RelationshipId;
1256
+ direction: RelationshipTraversalDirection;
1257
+ result: ValueBindingId;
1258
+ joinKind: JoinKind;
1259
+ requirement: QueryInputRequirement;
1260
+ }
1261
+ export interface JoinQueryNode {
1262
+ left: QueryNodeId;
1263
+ right: QueryNodeId;
1264
+ kind: JoinKind;
1265
+ predicate: Expr;
1266
+ id: QueryNodeId;
1267
+ }
1268
+ export interface TemporalJoinQueryNode {
1269
+ id: QueryNodeId;
1270
+ left: QueryNodeId;
1271
+ right: QueryNodeId;
1272
+ kind: JoinKind;
1273
+ correlation: Expr;
1274
+ match: TemporalJoinMatch;
1275
+ }
1276
+ export interface ExpandCollectionQueryNode {
1277
+ input: QueryNodeId;
1278
+ collection: Expr;
1279
+ itemBinding: ValueBindingId;
1280
+ itemType: TypeRef;
1281
+ id: QueryNodeId;
1282
+ }
1283
+ export interface ProjectQueryNode {
1284
+ id: QueryNodeId;
1285
+ input: QueryNodeId;
1286
+ resultBinding: ValueBindingId;
1287
+ resultShape: QualifiedShapeId;
1288
+ assignments: ProjectionAssignment[];
1289
+ }
1290
+ export interface DistinctQueryNode {
1291
+ input: QueryNodeId;
1292
+ keys: Expr[];
1293
+ id: QueryNodeId;
1294
+ }
1295
+ export interface AggregateQueryNode {
1296
+ input: QueryNodeId;
1297
+ resultBinding: ValueBindingId;
1298
+ resultShape: QualifiedShapeId;
1299
+ groupings: QueryGrouping[];
1300
+ aggregates: QueryAggregateAssignment[];
1301
+ id: QueryNodeId;
1302
+ }
1303
+ export interface OrderQueryNode {
1304
+ id: QueryNodeId;
1305
+ input: QueryNodeId;
1306
+ orderings: QueryOrdering[];
1307
+ }
1308
+ export interface PageQueryNode {
1309
+ id: QueryNodeId;
1310
+ input: QueryNodeId;
1311
+ page: QueryPageDefinition;
1312
+ }
1313
+ export interface QueryParameterDefinition {
1314
+ id: QueryParameterId;
1315
+ type: TypeRef;
1316
+ presence: FieldPresence;
1317
+ defaultKind: QueryParameterDefaultKind;
1318
+ defaultValue?: unknown | null;
1319
+ }
1320
+ export interface RelationDraftAssignmentSlot {
1321
+ id: QueryAssignmentId;
1322
+ target: FieldPath;
1323
+ candidates: RelationDraftCandidate[];
1324
+ resolution: RelationDraftAssignmentResolution;
1325
+ }
1326
+ export type UnaryOperator = 'Not';
148
1327
  export declare const unaryOperators: {
149
- readonly not: 0;
1328
+ readonly not: "Not";
150
1329
  };
151
1330
  export declare const unaryOperatorLabels: Record<UnaryOperator, string>;
152
- export type BinaryOperator = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
1331
+ export type BinaryOperator = 'Eq' | 'Ne' | 'Gt' | 'Ge' | 'Lt' | 'Le' | 'And' | 'Or' | 'Add' | 'Sub' | 'Mul' | 'Div';
153
1332
  export declare const binaryOperators: {
154
- readonly eq: 0;
155
- readonly ne: 1;
156
- readonly gt: 2;
157
- readonly ge: 3;
158
- readonly lt: 4;
159
- readonly le: 5;
160
- readonly and: 6;
161
- readonly or: 7;
162
- readonly add: 8;
163
- readonly sub: 9;
164
- readonly mul: 10;
165
- readonly div: 11;
1333
+ readonly eq: "Eq";
1334
+ readonly ne: "Ne";
1335
+ readonly gt: "Gt";
1336
+ readonly ge: "Ge";
1337
+ readonly lt: "Lt";
1338
+ readonly le: "Le";
1339
+ readonly and: "And";
1340
+ readonly or: "Or";
1341
+ readonly add: "Add";
1342
+ readonly sub: "Sub";
1343
+ readonly mul: "Mul";
1344
+ readonly div: "Div";
166
1345
  };
167
1346
  export declare const binaryOperatorLabels: Record<BinaryOperator, string>;
168
1347
  export type TypeRef = {
@@ -185,206 +1364,564 @@ export type TypeRef = {
185
1364
  readonly $type: 'json';
186
1365
  } & JsonTypeRef;
187
1366
  export interface NamedTypeRef {
188
- TypeId: TypeId;
1367
+ typeId: TypeId;
189
1368
  }
190
1369
  export interface OpaqueRuntimeTypeRef {
191
- RuntimeType: string;
1370
+ runtimeType: string;
1371
+ inferenceDiagnostic?: TypeInferenceDiagnostic | null;
192
1372
  }
193
1373
  export interface ScalarTypeRef {
194
- Kind: ScalarTypeKind;
195
- Format: PrimitiveFormat;
1374
+ kind: ScalarTypeKind;
1375
+ format: PrimitiveFormat;
196
1376
  }
197
1377
  export interface EnumTypeRef {
198
- Name: string;
199
- Members: string[];
1378
+ name: string;
1379
+ members: string[];
200
1380
  }
201
1381
  export interface EntityReferenceTypeRef {
202
- Entity: EntityTypeName;
1382
+ entity: EntityTypeName;
203
1383
  }
204
1384
  export interface ArrayTypeRef {
205
- ElementType: TypeRef;
1385
+ elementType: TypeRef;
206
1386
  }
207
1387
  export interface ObjectTypeRef {
208
- Fields: ObjectFieldTypeDef[];
1388
+ fields: ObjectFieldTypeDef[];
209
1389
  }
210
1390
  export interface QuantityTypeRef {
211
- Quantity: string;
212
- BaseKind: ScalarTypeKind;
1391
+ quantity: string;
1392
+ baseKind: ScalarTypeKind;
213
1393
  }
214
1394
  export interface JsonTypeRef {
215
- Kind: JsonTypeKind;
1395
+ kind: JsonTypeKind;
216
1396
  }
217
- export type AggregateOperator = 0 | 1 | 2 | 3 | 4 | 5;
1397
+ export type AggregateOperator = 'Count' | 'Sum' | 'Min' | 'Max' | 'Any' | 'All' | 'Average';
218
1398
  export declare const aggregateOperators: {
219
- readonly count: 0;
220
- readonly sum: 1;
221
- readonly min: 2;
222
- readonly max: 3;
223
- readonly any: 4;
224
- readonly all: 5;
1399
+ readonly count: "Count";
1400
+ readonly sum: "Sum";
1401
+ readonly min: "Min";
1402
+ readonly max: "Max";
1403
+ readonly any: "Any";
1404
+ readonly all: "All";
1405
+ readonly average: "Average";
225
1406
  };
226
1407
  export declare const aggregateOperatorLabels: Record<AggregateOperator, string>;
227
- export interface MappingId {
228
- Value: string;
229
- }
230
- export interface MappingName {
231
- Value: string;
232
- }
233
- export type MappingKind = 0 | 1;
234
- export declare const mappingKinds: {
235
- readonly relation: 0;
236
- readonly object: 1;
237
- };
238
- export declare const mappingKindLabels: Record<MappingKind, string>;
239
- export interface FieldAssignment {
240
- Id?: string | null;
241
- TargetField: string;
242
- Expr: Expr;
243
- }
244
- export type MappingScope = 0 | 1;
245
- export declare const mappingScopes: {
246
- readonly rooted: 0;
247
- readonly set: 1;
248
- };
249
- export declare const mappingScopeLabels: Record<MappingScope, string>;
250
- export type MappingDirection = 0 | 1 | 2;
251
- export declare const mappingDirections: {
252
- readonly sourceToTarget: 0;
253
- readonly targetToSource: 1;
254
- readonly bidirectional: 2;
255
- };
256
- export declare const mappingDirectionLabels: Record<MappingDirection, string>;
257
- export interface NestedMapping {
258
- Source: FieldPath;
259
- Target: FieldPath;
260
- NestedMappingId: MappingId;
261
- }
262
- export interface CollectionMapping {
263
- SourceCollection: FieldPath;
264
- TargetCollection: FieldPath;
265
- ItemMappingId: MappingId;
266
- }
267
- export interface MappingMetadata {
268
- AllowCodegen: boolean;
269
- Deterministic: boolean;
270
- TransportMapping: boolean;
271
- ExecutionPreference: MappingExecutionPreference;
272
- Hints: ({
273
- Key: string;
274
- Value: string;
275
- })[];
276
- }
277
- export type MaterializationStrategy = 0 | 1 | 2 | 3;
278
- export declare const materializationStrategies: {
279
- readonly onDemand: 0;
280
- readonly asyncIndex: 1;
281
- readonly changeFeed: 2;
282
- readonly snapshot: 3;
283
- };
284
- export declare const materializationStrategyLabels: Record<MaterializationStrategy, string>;
285
- export type FreshnessPolicy = 0 | 1 | 2;
286
- export declare const freshnessPolicies: {
287
- readonly strong: 0;
288
- readonly eventual: 1;
289
- readonly boundedStaleness: 2;
290
- };
291
- export declare const freshnessPolicyLabels: Record<FreshnessPolicy, string>;
292
- export interface FieldPathSegment {
293
- Kind: SegmentKind;
294
- Segment?: string | null;
1408
+ export type EntityId = string;
1409
+ export type QueryAssignmentId = string;
1410
+ export type RelationDraftCandidateId = string;
1411
+ export type QueryResultId = string;
1412
+ export type RelationshipId = string;
1413
+ export type RelationshipTargetKey = {
1414
+ readonly $targetKey: 'observationIdentity';
1415
+ } & ObservationIdentityRelationshipTargetKey;
1416
+ export type ObservationIdentityRelationshipTargetKey = Record<never, never>;
1417
+ export type SourceReferenceUniqueness = 'NotGuaranteed' | 'GloballyUnique';
1418
+ export declare const sourceReferenceUniquenesses: {
1419
+ readonly notGuaranteed: "NotGuaranteed";
1420
+ readonly globallyUnique: "GloballyUnique";
1421
+ };
1422
+ export declare const sourceReferenceUniquenessLabels: Record<SourceReferenceUniqueness, string>;
1423
+ export interface RelationQueryLogicalPlanNode {
1424
+ node: QueryNodeId;
1425
+ inputs: RelationQueryLogicalPlanInput[];
1426
+ effectiveInputs: QueryNodeId[];
1427
+ }
1428
+ export interface RelationQueryExplainRequirementInput {
1429
+ id: RelationQueryInputId;
1430
+ kind: RelationQueryExplainRequirementInputKind;
1431
+ }
1432
+ export interface RelationQueryOutputReference {
1433
+ id: RelationQueryOutputId;
1434
+ kind: RelationQueryOutputReferenceKind;
1435
+ node: QueryNodeId;
1436
+ shape: QualifiedShapeId;
1437
+ relation?: RelationId | null;
1438
+ queryResult?: QueryResultId | null;
1439
+ field?: RelationQueryFieldReference | null;
1440
+ }
1441
+ export interface RelationQueryExplainRequirementEdge {
1442
+ input: RelationQueryInputId;
1443
+ output: RelationQueryOutputId;
1444
+ effect: RelationQueryRequirementEffect;
1445
+ requirement: QueryInputRequirement;
1446
+ }
1447
+ export type RelationQueryNativeResultKind = 'RelationRows' | 'QueryRows' | 'QueryAggregation';
1448
+ export declare const relationQueryNativeResultKinds: {
1449
+ readonly relationRows: "RelationRows";
1450
+ readonly queryRows: "QueryRows";
1451
+ readonly queryAggregation: "QueryAggregation";
1452
+ };
1453
+ export declare const relationQueryNativeResultKindLabels: Record<RelationQueryNativeResultKind, string>;
1454
+ export interface RelationQueryFieldReference {
1455
+ shape: QualifiedShapeId;
1456
+ path: FieldPath;
1457
+ }
1458
+ export interface RelationQueryNativeArtifactFingerprintReference {
1459
+ algorithm: string;
1460
+ canonicalization: string;
1461
+ value: string;
1462
+ }
1463
+ export interface RelationQueryNativeCompilationProvenance {
1464
+ plan: RelationQueryCompiledPlanReference;
1465
+ branch: RelationQueryNativeResultBranchId;
1466
+ target: RelationQueryTargetId;
1467
+ targetProfile: RelationQueryTargetProfileId;
1468
+ realization: RelationQueryRealizationFingerprint;
1469
+ boundRealization: RelationQueryBoundRealizationFingerprint;
1470
+ placement: RelationQuerySourcePlacementFingerprint;
1471
+ adapterBinding: RelationQueryAdapterBindingReference;
1472
+ contextEvidence: RelationQueryContextEvidenceId[];
1473
+ compilerProfile: string;
1474
+ conventionSetVersion: string;
1475
+ coveredNodes: QueryNodeId[];
1476
+ coveredAssignments: QueryAssignmentId[];
1477
+ inputFields: RelationQueryInputId[];
1478
+ realizationDecisions: RelationQueryNativeCompilationDecisionReference[];
1479
+ capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
1480
+ operatingBoundaries: RelationQueryOperatingBoundaryId[];
1481
+ }
1482
+ export type RelationQueryExecutionResultKind = 'Rows' | 'Aggregation';
1483
+ export declare const relationQueryExecutionResultKinds: {
1484
+ readonly rows: "Rows";
1485
+ readonly aggregation: "Aggregation";
1486
+ };
1487
+ export declare const relationQueryExecutionResultKindLabels: Record<RelationQueryExecutionResultKind, string>;
1488
+ export type RelationQueryExecutionOutputState = 'Complete' | 'Suppressed' | 'Incomplete';
1489
+ export declare const relationQueryExecutionOutputStates: {
1490
+ readonly complete: "Complete";
1491
+ readonly suppressed: "Suppressed";
1492
+ readonly incomplete: "Incomplete";
1493
+ };
1494
+ export declare const relationQueryExecutionOutputStateLabels: Record<RelationQueryExecutionOutputState, string>;
1495
+ export type RelationRequirementGapCause = 'InputNotProvided' | 'InputAcquisitionFailed' | 'ObservationIdentityMissing' | 'ReferenceFieldNotLoaded' | 'ReferenceValueMissing' | 'ReferenceValueNull' | 'ResolutionNotAttempted' | 'ResolutionFailed' | 'RelatedObservationNotFound' | 'RelatedObservationRejected' | 'RequiredFieldNotLoaded' | 'RequiredValueMissing' | 'RequiredValueNull' | 'CapabilityUnavailable' | 'CardinalityViolation' | 'ConversionFailure' | 'InputAcquisitionInconclusive';
1496
+ export declare const relationRequirementGapCauses: {
1497
+ readonly inputNotProvided: "InputNotProvided";
1498
+ readonly inputAcquisitionFailed: "InputAcquisitionFailed";
1499
+ readonly observationIdentityMissing: "ObservationIdentityMissing";
1500
+ readonly referenceFieldNotLoaded: "ReferenceFieldNotLoaded";
1501
+ readonly referenceValueMissing: "ReferenceValueMissing";
1502
+ readonly referenceValueNull: "ReferenceValueNull";
1503
+ readonly resolutionNotAttempted: "ResolutionNotAttempted";
1504
+ readonly resolutionFailed: "ResolutionFailed";
1505
+ readonly relatedObservationNotFound: "RelatedObservationNotFound";
1506
+ readonly relatedObservationRejected: "RelatedObservationRejected";
1507
+ readonly requiredFieldNotLoaded: "RequiredFieldNotLoaded";
1508
+ readonly requiredValueMissing: "RequiredValueMissing";
1509
+ readonly requiredValueNull: "RequiredValueNull";
1510
+ readonly capabilityUnavailable: "CapabilityUnavailable";
1511
+ readonly cardinalityViolation: "CardinalityViolation";
1512
+ readonly conversionFailure: "ConversionFailure";
1513
+ readonly inputAcquisitionInconclusive: "InputAcquisitionInconclusive";
1514
+ };
1515
+ export declare const relationRequirementGapCauseLabels: Record<RelationRequirementGapCause, string>;
1516
+ export type RelationRequirementGapResolutionKind = 'ProvideInput' | 'LoadField' | 'ProvideReferenceValue' | 'ResolveRelationship' | 'RetryAcquisition' | 'ProvideRelatedObservation' | 'CorrectCardinality' | 'ProvideValue' | 'ProvideCapability' | 'CorrectConversion';
1517
+ export declare const relationRequirementGapResolutionKinds: {
1518
+ readonly provideInput: "ProvideInput";
1519
+ readonly loadField: "LoadField";
1520
+ readonly provideReferenceValue: "ProvideReferenceValue";
1521
+ readonly resolveRelationship: "ResolveRelationship";
1522
+ readonly retryAcquisition: "RetryAcquisition";
1523
+ readonly provideRelatedObservation: "ProvideRelatedObservation";
1524
+ readonly correctCardinality: "CorrectCardinality";
1525
+ readonly provideValue: "ProvideValue";
1526
+ readonly provideCapability: "ProvideCapability";
1527
+ readonly correctConversion: "CorrectConversion";
1528
+ };
1529
+ export declare const relationRequirementGapResolutionKindLabels: Record<RelationRequirementGapResolutionKind, string>;
1530
+ export type SegmentKind = 'Field' | 'Element';
1531
+ export declare const segmentKinds: {
1532
+ readonly field: "Field";
1533
+ readonly element: "Element";
1534
+ };
1535
+ export declare const segmentKindLabels: Record<SegmentKind, string>;
1536
+ export type RelationQueryOutputReferenceKind = 'Relation' | 'QueryResult';
1537
+ export declare const relationQueryOutputReferenceKinds: {
1538
+ readonly relation: "Relation";
1539
+ readonly queryResult: "QueryResult";
1540
+ };
1541
+ export declare const relationQueryOutputReferenceKindLabels: Record<RelationQueryOutputReferenceKind, string>;
1542
+ export interface RelationQueryRealizationTraceStep {
1543
+ kind: RelationQueryRealizationTraceStepKind;
1544
+ node: QueryNodeId;
1545
+ siteKind?: RelationQueryExpressionSiteKind | null;
1546
+ expressionSite?: ExprSiteId | null;
1547
+ assignment?: QueryAssignmentId | null;
1548
+ ordinal?: number | null;
1549
+ invariantName?: string | null;
1550
+ }
1551
+ export type RelationshipTraversalDirection = 'Forward' | 'Inverse';
1552
+ export declare const relationshipTraversalDirections: {
1553
+ readonly forward: "Forward";
1554
+ readonly inverse: "Inverse";
1555
+ };
1556
+ export declare const relationshipTraversalDirectionLabels: Record<RelationshipTraversalDirection, string>;
1557
+ export type JoinKind = 'Inner' | 'Left' | 'Right' | 'Full';
1558
+ export declare const joinKinds: {
1559
+ readonly inner: "Inner";
1560
+ readonly left: "Left";
1561
+ readonly right: "Right";
1562
+ readonly full: "Full";
1563
+ };
1564
+ export declare const joinKindLabels: Record<JoinKind, string>;
1565
+ export type TemporalJoinMatch = {
1566
+ readonly $temporalMatch: 'pointInInterval';
1567
+ } & TemporalPointInIntervalMatch | {
1568
+ readonly $temporalMatch: 'intervalOverlap';
1569
+ } & TemporalIntervalOverlapMatch;
1570
+ export interface TemporalPointInIntervalMatch {
1571
+ point: Expr;
1572
+ interval: TemporalInterval;
1573
+ }
1574
+ export interface TemporalIntervalOverlapMatch {
1575
+ left: TemporalInterval;
1576
+ right: TemporalInterval;
1577
+ }
1578
+ export interface ProjectionAssignment {
1579
+ id: QueryAssignmentId;
1580
+ target: FieldPath;
1581
+ value: Expr;
1582
+ }
1583
+ export interface QueryGrouping {
1584
+ id: QueryAssignmentId;
1585
+ target: FieldPath;
1586
+ key: Expr;
1587
+ }
1588
+ export interface QueryAggregateAssignment {
1589
+ id: QueryAssignmentId;
1590
+ target: FieldPath;
1591
+ operation: AggregateOperator;
1592
+ value?: Expr | null;
1593
+ filter?: Expr | null;
1594
+ }
1595
+ export interface QueryOrdering {
1596
+ key: Expr;
1597
+ direction: QuerySortDirection;
1598
+ nullPlacement: QueryNullPlacement;
295
1599
  }
296
- export interface TypeId {
297
- Value: string;
1600
+ export type QueryPageDefinition = {
1601
+ readonly $page: 'offset';
1602
+ } & OffsetPageDefinition | {
1603
+ readonly $page: 'keyset';
1604
+ } & KeysetPageDefinition;
1605
+ export interface OffsetPageDefinition {
1606
+ offset: number;
1607
+ limit: number;
298
1608
  }
299
- export type ScalarTypeKind = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
1609
+ export interface KeysetPageDefinition {
1610
+ after: Expr[];
1611
+ limit: number;
1612
+ }
1613
+ export type QueryParameterId = string;
1614
+ export type FieldPresence = 'Required' | 'Optional';
1615
+ export declare const fieldPresences: {
1616
+ readonly required: "Required";
1617
+ readonly optional: "Optional";
1618
+ };
1619
+ export declare const fieldPresenceLabels: Record<FieldPresence, string>;
1620
+ export type QueryParameterDefaultKind = 'None' | 'Value';
1621
+ export declare const queryParameterDefaultKinds: {
1622
+ readonly none: "None";
1623
+ readonly value: "Value";
1624
+ };
1625
+ export declare const queryParameterDefaultKindLabels: Record<QueryParameterDefaultKind, string>;
1626
+ export interface RelationDraftCandidate {
1627
+ id: RelationDraftCandidateId;
1628
+ value: Expr;
1629
+ }
1630
+ export type RelationDraftAssignmentResolution = {
1631
+ readonly $resolution: 'selected';
1632
+ } & SelectedRelationDraftAssignmentResolution | {
1633
+ readonly $resolution: 'omitted';
1634
+ } & OmittedRelationDraftAssignmentResolution | {
1635
+ readonly $resolution: 'unresolved';
1636
+ } & UnresolvedRelationDraftAssignmentResolution | {
1637
+ readonly $resolution: 'ambiguous';
1638
+ } & AmbiguousRelationDraftAssignmentResolution;
1639
+ export interface SelectedRelationDraftAssignmentResolution {
1640
+ candidateId: RelationDraftCandidateId;
1641
+ }
1642
+ export type OmittedRelationDraftAssignmentResolution = Record<never, never>;
1643
+ export interface UnresolvedRelationDraftAssignmentResolution {
1644
+ reasons: RelationDraftUnresolvedReason[];
1645
+ }
1646
+ export interface AmbiguousRelationDraftAssignmentResolution {
1647
+ candidateIds: RelationDraftCandidateId[];
1648
+ }
1649
+ export type TypeId = string;
1650
+ export interface TypeInferenceDiagnostic {
1651
+ reason: string;
1652
+ message?: string | null;
1653
+ }
1654
+ export type ScalarTypeKind = 'Bool' | 'Int32' | 'Int64' | 'Decimal' | 'String' | 'Guid' | 'Date' | 'DateTime' | 'Instant' | 'Bytes';
300
1655
  export declare const scalarTypeKinds: {
301
- readonly bool: 0;
302
- readonly int32: 1;
303
- readonly int64: 2;
304
- readonly decimal: 3;
305
- readonly string: 4;
306
- readonly guid: 5;
307
- readonly date: 6;
308
- readonly dateTime: 7;
309
- readonly instant: 8;
310
- readonly bytes: 9;
1656
+ readonly bool: "Bool";
1657
+ readonly int32: "Int32";
1658
+ readonly int64: "Int64";
1659
+ readonly decimal: "Decimal";
1660
+ readonly string: "String";
1661
+ readonly guid: "Guid";
1662
+ readonly date: "Date";
1663
+ readonly dateTime: "DateTime";
1664
+ readonly instant: "Instant";
1665
+ readonly bytes: "Bytes";
311
1666
  };
312
1667
  export declare const scalarTypeKindLabels: Record<ScalarTypeKind, string>;
313
- export type PrimitiveFormat = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
1668
+ export type PrimitiveFormat = 'None' | 'Uuid' | 'IsoDate' | 'IsoDateTime' | 'IsoInstant' | 'CurrencyCode' | 'CountryCode' | 'Email' | 'Uri' | 'Base64';
314
1669
  export declare const primitiveFormats: {
315
- readonly none: 0;
316
- readonly uuid: 1;
317
- readonly isoDate: 2;
318
- readonly isoDateTime: 3;
319
- readonly isoInstant: 4;
320
- readonly currencyCode: 5;
321
- readonly countryCode: 6;
322
- readonly email: 7;
323
- readonly uri: 8;
324
- readonly base64: 9;
1670
+ readonly none: "None";
1671
+ readonly uuid: "Uuid";
1672
+ readonly isoDate: "IsoDate";
1673
+ readonly isoDateTime: "IsoDateTime";
1674
+ readonly isoInstant: "IsoInstant";
1675
+ readonly currencyCode: "CurrencyCode";
1676
+ readonly countryCode: "CountryCode";
1677
+ readonly email: "Email";
1678
+ readonly uri: "Uri";
1679
+ readonly base64: "Base64";
325
1680
  };
326
1681
  export declare const primitiveFormatLabels: Record<PrimitiveFormat, string>;
327
- export interface EntityTypeName {
328
- Value: string;
329
- }
1682
+ export type EntityTypeName = string;
330
1683
  export interface ObjectFieldTypeDef {
331
- Name: string;
332
- Type: TypeRef;
333
- Presence: FieldPresence;
334
- Annotations: ({
335
- Key: AnnotationKey;
336
- Value: AnnotationValue;
337
- })[];
338
- }
339
- export type JsonTypeKind = 0 | 1 | 2 | 3 | 4 | 5;
1684
+ name: string;
1685
+ type: TypeRef;
1686
+ cardinality: FieldCardinality;
1687
+ presence: FieldPresence;
1688
+ nullability: FieldNullability;
1689
+ annotations: Record<string, AnnotationValue>;
1690
+ }
1691
+ export type JsonTypeKind = 'Any' | 'Object' | 'Array' | 'String' | 'Number' | 'Boolean';
340
1692
  export declare const jsonTypeKinds: {
341
- readonly any: 0;
342
- readonly object: 1;
343
- readonly array: 2;
344
- readonly string: 3;
345
- readonly number: 4;
346
- readonly boolean: 5;
1693
+ readonly any: "Any";
1694
+ readonly object: "Object";
1695
+ readonly array: "Array";
1696
+ readonly string: "String";
1697
+ readonly number: "Number";
1698
+ readonly boolean: "Boolean";
347
1699
  };
348
1700
  export declare const jsonTypeKindLabels: Record<JsonTypeKind, string>;
349
- export type MappingExecutionPreference = 0 | 1 | 2;
350
- export declare const mappingExecutionPreferences: {
351
- readonly inMemory: 0;
352
- readonly materialized: 1;
353
- readonly codeGenerated: 2;
354
- };
355
- export declare const mappingExecutionPreferenceLabels: Record<MappingExecutionPreference, string>;
356
- export type SegmentKind = 0 | 2;
357
- export declare const segmentKinds: {
358
- readonly field: 0;
359
- readonly element: 2;
1701
+ export interface RelationQueryLogicalPlanInput {
1702
+ canonicalInput: QueryNodeId;
1703
+ effectiveInput: QueryNodeId;
1704
+ bypasses: RelationQueryLogicalBypass[];
1705
+ }
1706
+ export type RelationQueryExplainRequirementInputKind = 'Field' | 'ObservationIdentity' | 'SourceSet' | 'Relationship' | 'Parameter' | 'Capability';
1707
+ export declare const relationQueryExplainRequirementInputKinds: {
1708
+ readonly field: "Field";
1709
+ readonly observationIdentity: "ObservationIdentity";
1710
+ readonly sourceSet: "SourceSet";
1711
+ readonly relationship: "Relationship";
1712
+ readonly parameter: "Parameter";
1713
+ readonly capability: "Capability";
360
1714
  };
361
- export declare const segmentKindLabels: Record<SegmentKind, string>;
362
- export type FieldPresence = 0 | 1;
363
- export declare const fieldPresences: {
364
- readonly required: 0;
365
- readonly optional: 1;
1715
+ export declare const relationQueryExplainRequirementInputKindLabels: Record<RelationQueryExplainRequirementInputKind, string>;
1716
+ export interface RelationQueryNativeCompilationDecisionReference {
1717
+ requirement: RelationQueryRealizationRequirementId;
1718
+ kind: CapabilityRealizationKind;
1719
+ capabilityEvidence: RelationQueryTargetCapabilityEvidenceId[];
1720
+ compositionRules: RelationQueryCompositionRuleId[];
1721
+ override?: RelationQueryRealizationOverrideId | null;
1722
+ operatingBoundaries: RelationQueryOperatingBoundaryId[];
1723
+ preservedGuarantees: RelationQueryGuaranteeCapabilityKind[];
1724
+ }
1725
+ export type RelationQueryRealizationTraceStepKind = 'Structural' | 'ExpressionSite' | 'AggregateOperation' | 'Terminal';
1726
+ export declare const relationQueryRealizationTraceStepKinds: {
1727
+ readonly structural: "Structural";
1728
+ readonly expressionSite: "ExpressionSite";
1729
+ readonly aggregateOperation: "AggregateOperation";
1730
+ readonly terminal: "Terminal";
366
1731
  };
367
- export declare const fieldPresenceLabels: Record<FieldPresence, string>;
368
- export interface AnnotationKey {
369
- Value: string;
1732
+ export declare const relationQueryRealizationTraceStepKindLabels: Record<RelationQueryRealizationTraceStepKind, string>;
1733
+ export type RelationQueryExpressionSiteKind = 'FilterPredicate' | 'JoinPredicate' | 'ExpandCollection' | 'ProjectionAssignmentValue' | 'DistinctKey' | 'AggregateGroupingKey' | 'AggregateAssignmentValue' | 'AggregateAssignmentFilter' | 'OrderKey' | 'KeysetBoundary' | 'RelationOutputKey' | 'RelationInvariant' | 'TemporalJoinCorrelation' | 'TemporalJoinPoint' | 'TemporalJoinIntervalLowerBound' | 'TemporalJoinIntervalUpperBound';
1734
+ export declare const relationQueryExpressionSiteKinds: {
1735
+ readonly filterPredicate: "FilterPredicate";
1736
+ readonly joinPredicate: "JoinPredicate";
1737
+ readonly expandCollection: "ExpandCollection";
1738
+ readonly projectionAssignmentValue: "ProjectionAssignmentValue";
1739
+ readonly distinctKey: "DistinctKey";
1740
+ readonly aggregateGroupingKey: "AggregateGroupingKey";
1741
+ readonly aggregateAssignmentValue: "AggregateAssignmentValue";
1742
+ readonly aggregateAssignmentFilter: "AggregateAssignmentFilter";
1743
+ readonly orderKey: "OrderKey";
1744
+ readonly keysetBoundary: "KeysetBoundary";
1745
+ readonly relationOutputKey: "RelationOutputKey";
1746
+ readonly relationInvariant: "RelationInvariant";
1747
+ readonly temporalJoinCorrelation: "TemporalJoinCorrelation";
1748
+ readonly temporalJoinPoint: "TemporalJoinPoint";
1749
+ readonly temporalJoinIntervalLowerBound: "TemporalJoinIntervalLowerBound";
1750
+ readonly temporalJoinIntervalUpperBound: "TemporalJoinIntervalUpperBound";
1751
+ };
1752
+ export declare const relationQueryExpressionSiteKindLabels: Record<RelationQueryExpressionSiteKind, string>;
1753
+ export type ExprSiteId = string;
1754
+ export interface TemporalInterval {
1755
+ lower: TemporalIntervalBound;
1756
+ upper: TemporalIntervalBound;
370
1757
  }
371
- export interface AnnotationValue {
372
- Value?: unknown | null;
1758
+ export type QuerySortDirection = 'Ascending' | 'Descending';
1759
+ export declare const querySortDirections: {
1760
+ readonly ascending: "Ascending";
1761
+ readonly descending: "Descending";
1762
+ };
1763
+ export declare const querySortDirectionLabels: Record<QuerySortDirection, string>;
1764
+ export type QueryNullPlacement = 'First' | 'Last';
1765
+ export declare const queryNullPlacements: {
1766
+ readonly first: "First";
1767
+ readonly last: "Last";
1768
+ };
1769
+ export declare const queryNullPlacementLabels: Record<QueryNullPlacement, string>;
1770
+ export type RelationDraftUnresolvedReason = 'NoCandidate' | 'IncompatibleType' | 'UnsafeCardinality' | 'UnsafePresence' | 'UnsafeNullability' | 'ConversionRequired' | 'UnsupportedStructure' | 'UnsupportedTransformation' | 'MultipleCandidates';
1771
+ export declare const relationDraftUnresolvedReasons: {
1772
+ readonly noCandidate: "NoCandidate";
1773
+ readonly incompatibleType: "IncompatibleType";
1774
+ readonly unsafeCardinality: "UnsafeCardinality";
1775
+ readonly unsafePresence: "UnsafePresence";
1776
+ readonly unsafeNullability: "UnsafeNullability";
1777
+ readonly conversionRequired: "ConversionRequired";
1778
+ readonly unsupportedStructure: "UnsupportedStructure";
1779
+ readonly unsupportedTransformation: "UnsupportedTransformation";
1780
+ readonly multipleCandidates: "MultipleCandidates";
1781
+ };
1782
+ export declare const relationDraftUnresolvedReasonLabels: Record<RelationDraftUnresolvedReason, string>;
1783
+ export type FieldCardinality = 'Single' | 'Many';
1784
+ export declare const fieldCardinalities: {
1785
+ readonly single: "Single";
1786
+ readonly many: "Many";
1787
+ };
1788
+ export declare const fieldCardinalityLabels: Record<FieldCardinality, string>;
1789
+ export type FieldNullability = 'NonNullable' | 'Nullable';
1790
+ export declare const fieldNullabilities: {
1791
+ readonly nonNullable: "NonNullable";
1792
+ readonly nullable: "Nullable";
1793
+ };
1794
+ export declare const fieldNullabilityLabels: Record<FieldNullability, string>;
1795
+ export interface RelationQueryLogicalBypass {
1796
+ kind: RelationQueryLogicalBypassKind;
1797
+ node: QueryNodeId;
1798
+ relationship: RelationshipDefinition;
1799
+ direction: RelationshipTraversalDirection;
1800
+ cardinality: RelationshipTraversalCardinality;
1801
+ from: ValueBindingId;
1802
+ result: ValueBindingId;
1803
+ }
1804
+ export type CapabilityRealizationKind = 'Native' | 'Composed' | 'Constrained' | 'Override' | 'Unavailable' | 'Unknown';
1805
+ export declare const capabilityRealizationKinds: {
1806
+ readonly native: "Native";
1807
+ readonly composed: "Composed";
1808
+ readonly constrained: "Constrained";
1809
+ readonly override: "Override";
1810
+ readonly unavailable: "Unavailable";
1811
+ readonly unknown: "Unknown";
1812
+ };
1813
+ export declare const capabilityRealizationKindLabels: Record<CapabilityRealizationKind, string>;
1814
+ export type TemporalIntervalBound = {
1815
+ readonly $temporalBound: 'unbounded';
1816
+ } & UnboundedTemporalIntervalBound | {
1817
+ readonly $temporalBound: 'expression';
1818
+ } & ExpressionTemporalIntervalBound;
1819
+ export type UnboundedTemporalIntervalBound = Record<never, never>;
1820
+ export interface ExpressionTemporalIntervalBound {
1821
+ value: Expr;
1822
+ inclusion: TemporalBoundaryInclusion;
1823
+ nullBehavior: TemporalNullBoundBehavior;
373
1824
  }
1825
+ export type RelationQueryLogicalBypassKind = 'OptionalAtMostOneLeftRelationshipTraversal';
1826
+ export declare const relationQueryLogicalBypassKinds: {
1827
+ readonly optionalAtMostOneLeftRelationshipTraversal: "OptionalAtMostOneLeftRelationshipTraversal";
1828
+ };
1829
+ export declare const relationQueryLogicalBypassKindLabels: Record<RelationQueryLogicalBypassKind, string>;
1830
+ export type RelationshipTraversalCardinality = 'AtMostOne' | 'Many';
1831
+ export declare const relationshipTraversalCardinalities: {
1832
+ readonly atMostOne: "AtMostOne";
1833
+ readonly many: "Many";
1834
+ };
1835
+ export declare const relationshipTraversalCardinalityLabels: Record<RelationshipTraversalCardinality, string>;
1836
+ export type TemporalBoundaryInclusion = 'Inclusive' | 'Exclusive';
1837
+ export declare const temporalBoundaryInclusions: {
1838
+ readonly inclusive: "Inclusive";
1839
+ readonly exclusive: "Exclusive";
1840
+ };
1841
+ export declare const temporalBoundaryInclusionLabels: Record<TemporalBoundaryInclusion, string>;
1842
+ export type TemporalNullBoundBehavior = 'Invalid' | 'Unbounded';
1843
+ export declare const temporalNullBoundBehaviors: {
1844
+ readonly invalid: "Invalid";
1845
+ readonly unbounded: "Unbounded";
1846
+ };
1847
+ export declare const temporalNullBoundBehaviorLabels: Record<TemporalNullBoundBehavior, string>;
374
1848
  export interface QualifiedShapeId {
375
- GraphId: GraphId;
376
- ShapeId: ShapeId;
1849
+ graphId: GraphId;
1850
+ shapeId: ShapeId;
377
1851
  }
378
- export interface RelationDefinition {
379
- Id: RelationId;
380
- Name: RelationName;
381
- Sources: RelationSource[];
382
- Joins: JoinDefinition[];
383
- Filter?: Expr | null;
384
- BaseRowShapeId?: ShapeId | null;
385
- Mappings: MappingDefinition[];
386
- Materialization?: MaterializationSpec | null;
387
- Metadata: RelationMetadata;
388
- Invariants: InvariantDefinition[];
1852
+ export interface RelationQueryExplainArtifact {
1853
+ schemaVersion: string;
1854
+ stages: RelationQueryExplainStage[];
1855
+ capabilitySummary?: RelationQueryCapabilitySummary | null;
1856
+ diagnostics: RelationQueryExplainDiagnostic[];
1857
+ fingerprint: RelationQueryExplainFingerprint;
1858
+ }
1859
+ export interface CompiledRelationQueryPhysicalPlan {
1860
+ schemaVersion: string;
1861
+ plan: RelationQueryCompiledPlanReference;
1862
+ realization: RelationQueryRealizationFingerprint;
1863
+ placement: RelationQuerySourcePlacement;
1864
+ policy: RelationQueryPhysicalPlanningPolicy;
1865
+ stages: RelationQueryPhysicalStage[];
1866
+ evaluationOrder: RelationQueryPhysicalStageId[];
1867
+ terminal: RelationQueryPhysicalStageId;
1868
+ diagnostics: RelationQueryPhysicalPlanningDiagnostic[];
1869
+ fingerprint: RelationQueryPhysicalPlanFingerprint;
1870
+ }
1871
+ export interface RelationQuerySourcePlacement {
1872
+ schemaVersion: string;
1873
+ plan: RelationQueryCompiledPlanReference;
1874
+ conventionSetVersion: string;
1875
+ sourceInstances: RelationQuerySourceInstance[];
1876
+ bindings: RelationQuerySourcePlacementBinding[];
1877
+ configurationDecisions: EffectiveConfigurationDecision[];
1878
+ fingerprint: RelationQuerySourcePlacementFingerprint;
1879
+ }
1880
+ export interface RelationQueryBoundRealizationReport {
1881
+ profileFeasibility: RelationQueryRealizationReport;
1882
+ placement: RelationQuerySourcePlacementFingerprint;
1883
+ branches: RelationQueryNativeResultBranchId[];
1884
+ evidence: RelationQueryContextualEvidenceProjection;
1885
+ diagnostics: RelationQueryRealizationDiagnostic[];
1886
+ status: RelationQueryRealizationStatus;
1887
+ fingerprint: RelationQueryBoundRealizationFingerprint;
1888
+ }
1889
+ export interface RelationQueryRealizationReport {
1890
+ plan: RelationQueryCompiledPlanReference;
1891
+ targetProfile: RelationQueryTargetCapabilityProfile;
1892
+ policy: RelationQueryRealizationPolicy;
1893
+ observability: RelationQueryResultObservability;
1894
+ requirements: RelationQueryRealizationRequirement[];
1895
+ decisions: RelationQueryRealizationDecision[];
1896
+ diagnostics: RelationQueryRealizationDiagnostic[];
1897
+ status: RelationQueryRealizationStatus;
1898
+ fingerprint: RelationQueryRealizationFingerprint;
1899
+ }
1900
+ export interface RelationQueryTargetCapabilityProfile {
1901
+ target: RelationQueryTargetId;
1902
+ id: RelationQueryTargetProfileId;
1903
+ supportedDefinitionSchemaVersions: string[];
1904
+ supportedCompilerProfiles: string[];
1905
+ capabilities: RelationQueryTargetCapabilityEvidence[];
1906
+ operatingBoundaries: RelationQueryOperatingBoundary[];
1907
+ description?: string | null;
1908
+ }
1909
+ export interface RelationDraftDocument {
1910
+ schemaVersion: string;
1911
+ draft: RelationDraft;
1912
+ draftFingerprint: RelationDraftFingerprint;
1913
+ metadata: RelationDraftDocumentMetadata;
1914
+ }
1915
+ export interface RelationQueryDocument {
1916
+ schemaVersion: string;
1917
+ definition: RelationQueryDefinition;
1918
+ definitionFingerprint: RelationQueryDefinitionFingerprint;
1919
+ metadata: RelationQueryDocumentMetadata;
1920
+ }
1921
+ export interface RelationshipCatalogDocument {
1922
+ schemaVersion: string;
1923
+ catalog: RelationshipCatalog;
1924
+ catalogFingerprint: RelationshipCatalogFingerprint;
1925
+ metadata: RelationshipCatalogDocumentMetadata;
389
1926
  }
390
1927
  //# sourceMappingURL=relations.shapes.generated.d.ts.map