typekro 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/.tsbuildinfo +1 -1
- package/dist/core/composition/imperative.d.ts.map +1 -1
- package/dist/core/composition/imperative.js +15 -2
- package/dist/core/composition/imperative.js.map +1 -1
- package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +1 -1
- package/dist/core/composition/typekro-runtime/typekro-runtime.js +24 -25
- package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +1 -1
- package/dist/core/dependencies/type-guards.d.ts.map +1 -1
- package/dist/core/dependencies/type-guards.js +7 -2
- package/dist/core/dependencies/type-guards.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +0 -1
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +0 -1
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/errors.d.ts +85 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +135 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/core/expressions/analyzer.d.ts +584 -0
- package/dist/core/expressions/analyzer.d.ts.map +1 -0
- package/dist/core/expressions/analyzer.js +2956 -0
- package/dist/core/expressions/analyzer.js.map +1 -0
- package/dist/core/expressions/cache.d.ts +136 -0
- package/dist/core/expressions/cache.d.ts.map +1 -0
- package/dist/core/expressions/cache.js +347 -0
- package/dist/core/expressions/cache.js.map +1 -0
- package/dist/core/expressions/cel-conversion-engine.d.ts +126 -0
- package/dist/core/expressions/cel-conversion-engine.d.ts.map +1 -0
- package/dist/core/expressions/cel-conversion-engine.js +293 -0
- package/dist/core/expressions/cel-conversion-engine.js.map +1 -0
- package/dist/core/expressions/compile-time-validation.d.ts +270 -0
- package/dist/core/expressions/compile-time-validation.d.ts.map +1 -0
- package/dist/core/expressions/compile-time-validation.js +506 -0
- package/dist/core/expressions/compile-time-validation.js.map +1 -0
- package/dist/core/expressions/composition-integration.d.ts +315 -0
- package/dist/core/expressions/composition-integration.d.ts.map +1 -0
- package/dist/core/expressions/composition-integration.js +936 -0
- package/dist/core/expressions/composition-integration.js.map +1 -0
- package/dist/core/expressions/conditional-expression-processor.d.ts +154 -0
- package/dist/core/expressions/conditional-expression-processor.d.ts.map +1 -0
- package/dist/core/expressions/conditional-expression-processor.js +479 -0
- package/dist/core/expressions/conditional-expression-processor.js.map +1 -0
- package/dist/core/expressions/conditional-integration.d.ts +133 -0
- package/dist/core/expressions/conditional-integration.d.ts.map +1 -0
- package/dist/core/expressions/conditional-integration.js +293 -0
- package/dist/core/expressions/conditional-integration.js.map +1 -0
- package/dist/core/expressions/conditional-validation.d.ts +181 -0
- package/dist/core/expressions/conditional-validation.d.ts.map +1 -0
- package/dist/core/expressions/conditional-validation.js +460 -0
- package/dist/core/expressions/conditional-validation.js.map +1 -0
- package/dist/core/expressions/context-aware-generator.d.ts +127 -0
- package/dist/core/expressions/context-aware-generator.d.ts.map +1 -0
- package/dist/core/expressions/context-aware-generator.js +500 -0
- package/dist/core/expressions/context-aware-generator.js.map +1 -0
- package/dist/core/expressions/context-detector.d.ts +148 -0
- package/dist/core/expressions/context-detector.d.ts.map +1 -0
- package/dist/core/expressions/context-detector.js +546 -0
- package/dist/core/expressions/context-detector.js.map +1 -0
- package/dist/core/expressions/context-switcher.d.ts +185 -0
- package/dist/core/expressions/context-switcher.d.ts.map +1 -0
- package/dist/core/expressions/context-switcher.js +515 -0
- package/dist/core/expressions/context-switcher.js.map +1 -0
- package/dist/core/expressions/context-validator.d.ts +176 -0
- package/dist/core/expressions/context-validator.d.ts.map +1 -0
- package/dist/core/expressions/context-validator.js +452 -0
- package/dist/core/expressions/context-validator.js.map +1 -0
- package/dist/core/expressions/custom-context-manager.d.ts +194 -0
- package/dist/core/expressions/custom-context-manager.d.ts.map +1 -0
- package/dist/core/expressions/custom-context-manager.js +390 -0
- package/dist/core/expressions/custom-context-manager.js.map +1 -0
- package/dist/core/expressions/expression-proxy.d.ts +80 -0
- package/dist/core/expressions/expression-proxy.d.ts.map +1 -0
- package/dist/core/expressions/expression-proxy.js +227 -0
- package/dist/core/expressions/expression-proxy.js.map +1 -0
- package/dist/core/expressions/factory-integration.d.ts +132 -0
- package/dist/core/expressions/factory-integration.d.ts.map +1 -0
- package/dist/core/expressions/factory-integration.js +327 -0
- package/dist/core/expressions/factory-integration.js.map +1 -0
- package/dist/core/expressions/factory-pattern-handler.d.ts +88 -0
- package/dist/core/expressions/factory-pattern-handler.d.ts.map +1 -0
- package/dist/core/expressions/factory-pattern-handler.js +336 -0
- package/dist/core/expressions/factory-pattern-handler.js.map +1 -0
- package/dist/core/expressions/field-hydration-processor.d.ts +188 -0
- package/dist/core/expressions/field-hydration-processor.d.ts.map +1 -0
- package/dist/core/expressions/field-hydration-processor.js +562 -0
- package/dist/core/expressions/field-hydration-processor.js.map +1 -0
- package/dist/core/expressions/imperative-analyzer.d.ts +21 -0
- package/dist/core/expressions/imperative-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/imperative-analyzer.js +343 -0
- package/dist/core/expressions/imperative-analyzer.js.map +1 -0
- package/dist/core/expressions/index.d.ts +54 -0
- package/dist/core/expressions/index.d.ts.map +1 -0
- package/dist/core/expressions/index.js +50 -0
- package/dist/core/expressions/index.js.map +1 -0
- package/dist/core/expressions/lazy-analysis.d.ts +1128 -0
- package/dist/core/expressions/lazy-analysis.d.ts.map +1 -0
- package/dist/core/expressions/lazy-analysis.js +2443 -0
- package/dist/core/expressions/lazy-analysis.js.map +1 -0
- package/dist/core/expressions/magic-assignable-analyzer.d.ts +123 -0
- package/dist/core/expressions/magic-assignable-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/magic-assignable-analyzer.js +352 -0
- package/dist/core/expressions/magic-assignable-analyzer.js.map +1 -0
- package/dist/core/expressions/magic-proxy-analyzer.d.ts +206 -0
- package/dist/core/expressions/magic-proxy-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy-analyzer.js +639 -0
- package/dist/core/expressions/magic-proxy-analyzer.js.map +1 -0
- package/dist/core/expressions/magic-proxy-detector.d.ts +154 -0
- package/dist/core/expressions/magic-proxy-detector.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy-detector.js +242 -0
- package/dist/core/expressions/magic-proxy-detector.js.map +1 -0
- package/dist/core/expressions/migration-helpers.d.ts +133 -0
- package/dist/core/expressions/migration-helpers.d.ts.map +1 -0
- package/dist/core/expressions/migration-helpers.js +443 -0
- package/dist/core/expressions/migration-helpers.js.map +1 -0
- package/dist/core/expressions/optionality-handler.d.ts +503 -0
- package/dist/core/expressions/optionality-handler.d.ts.map +1 -0
- package/dist/core/expressions/optionality-handler.js +1306 -0
- package/dist/core/expressions/optionality-handler.js.map +1 -0
- package/dist/core/expressions/readiness-integration.d.ts +119 -0
- package/dist/core/expressions/readiness-integration.d.ts.map +1 -0
- package/dist/core/expressions/readiness-integration.js +386 -0
- package/dist/core/expressions/readiness-integration.js.map +1 -0
- package/dist/core/expressions/resource-analyzer.d.ts +486 -0
- package/dist/core/expressions/resource-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/resource-analyzer.js +1086 -0
- package/dist/core/expressions/resource-analyzer.js.map +1 -0
- package/dist/core/expressions/resource-validation.d.ts +187 -0
- package/dist/core/expressions/resource-validation.d.ts.map +1 -0
- package/dist/core/expressions/resource-validation.js +552 -0
- package/dist/core/expressions/resource-validation.js.map +1 -0
- package/dist/core/expressions/runtime-error-mapper.d.ts +138 -0
- package/dist/core/expressions/runtime-error-mapper.d.ts.map +1 -0
- package/dist/core/expressions/runtime-error-mapper.js +412 -0
- package/dist/core/expressions/runtime-error-mapper.js.map +1 -0
- package/dist/core/expressions/source-map.d.ts +168 -0
- package/dist/core/expressions/source-map.d.ts.map +1 -0
- package/dist/core/expressions/source-map.js +350 -0
- package/dist/core/expressions/source-map.js.map +1 -0
- package/dist/core/expressions/status-builder-analyzer.d.ts +353 -0
- package/dist/core/expressions/status-builder-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/status-builder-analyzer.js +1301 -0
- package/dist/core/expressions/status-builder-analyzer.js.map +1 -0
- package/dist/core/expressions/type-inference.d.ts +184 -0
- package/dist/core/expressions/type-inference.d.ts.map +1 -0
- package/dist/core/expressions/type-inference.js +838 -0
- package/dist/core/expressions/type-inference.js.map +1 -0
- package/dist/core/expressions/type-safety.d.ts +203 -0
- package/dist/core/expressions/type-safety.d.ts.map +1 -0
- package/dist/core/expressions/type-safety.js +442 -0
- package/dist/core/expressions/type-safety.js.map +1 -0
- package/dist/core/expressions/types.d.ts +282 -0
- package/dist/core/expressions/types.d.ts.map +1 -0
- package/dist/core/expressions/types.js +8 -0
- package/dist/core/expressions/types.js.map +1 -0
- package/dist/core/kubernetes/client-provider.js +2 -2
- package/dist/core/kubernetes/client-provider.js.map +1 -1
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +573 -9
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/types/deployment.d.ts +4 -0
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/core/types/deployment.js.map +1 -1
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js.map +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/dist/factories/helm/helm-release.d.ts.map +1 -1
- package/dist/factories/helm/helm-release.js +0 -5
- package/dist/factories/helm/helm-release.js.map +1 -1
- package/dist/factories/helm/types.d.ts +1 -1
- package/dist/factories/helm/types.d.ts.map +1 -1
- package/dist/factories/shared.d.ts.map +1 -1
- package/dist/factories/shared.js +21 -1
- package/dist/factories/shared.js.map +1 -1
- package/dist/factories/simple/index.d.ts +2 -2
- package/dist/factories/simple/index.d.ts.map +1 -1
- package/dist/factories/simple/workloads/deployment.d.ts +3 -3
- package/dist/factories/simple/workloads/deployment.d.ts.map +1 -1
- package/dist/factories/simple/workloads/deployment.js +37 -11
- package/dist/factories/simple/workloads/deployment.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/type-guards.d.ts +6 -0
- package/dist/utils/type-guards.d.ts.map +1 -1
- package/dist/utils/type-guards.js +25 -2
- package/dist/utils/type-guards.js.map +1 -1
- package/package.json +6 -1
|
@@ -0,0 +1,503 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced Type Optionality Handler for JavaScript to CEL Expression Conversion
|
|
3
|
+
*
|
|
4
|
+
* This module handles the mismatch between Enhanced type compile-time non-optionality
|
|
5
|
+
* and runtime optionality during field hydration. Enhanced types show fields as
|
|
6
|
+
* non-optional at compile time, but KubernetesRef objects might resolve to undefined
|
|
7
|
+
* during field hydration.
|
|
8
|
+
*
|
|
9
|
+
* Key Features:
|
|
10
|
+
* - Automatic null-safety detection for Enhanced type KubernetesRef objects
|
|
11
|
+
* - CEL expression generation with has() checks for potentially undefined fields
|
|
12
|
+
* - Support for optional chaining with Enhanced types that appear non-optional
|
|
13
|
+
* - Integration with field hydration timing to handle undefined-to-defined transitions
|
|
14
|
+
* - Context-aware optionality handling based on field hydration state
|
|
15
|
+
*/
|
|
16
|
+
import type { CelExpression, KubernetesRef } from '../types/common.js';
|
|
17
|
+
import type { Enhanced } from '../types/kubernetes.js';
|
|
18
|
+
import { ConversionError } from '../errors.js';
|
|
19
|
+
import type { AnalysisContext, CelConversionResult } from './analyzer.js';
|
|
20
|
+
/**
|
|
21
|
+
* Optionality analysis result for a KubernetesRef
|
|
22
|
+
*/
|
|
23
|
+
export interface OptionalityAnalysisResult {
|
|
24
|
+
/** The KubernetesRef being analyzed */
|
|
25
|
+
kubernetesRef: KubernetesRef<any>;
|
|
26
|
+
/** Whether this field might be undefined at runtime */
|
|
27
|
+
potentiallyUndefined: boolean;
|
|
28
|
+
/** Whether this field requires null-safety checks */
|
|
29
|
+
requiresNullSafety: boolean;
|
|
30
|
+
/** Whether optional chaining was used in the original expression */
|
|
31
|
+
hasOptionalChaining: boolean;
|
|
32
|
+
/** The field path being accessed */
|
|
33
|
+
fieldPath: string;
|
|
34
|
+
/** The resource ID being referenced */
|
|
35
|
+
resourceId: string;
|
|
36
|
+
/** Whether this is a schema reference */
|
|
37
|
+
isSchemaReference: boolean;
|
|
38
|
+
/** Confidence level of the optionality analysis (0-1) */
|
|
39
|
+
confidence: number;
|
|
40
|
+
/** Reason for the optionality determination */
|
|
41
|
+
reason: string;
|
|
42
|
+
/** Suggested CEL expression pattern for null-safety */
|
|
43
|
+
suggestedCelPattern: string | undefined;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Field hydration state information
|
|
47
|
+
*/
|
|
48
|
+
export interface FieldHydrationState {
|
|
49
|
+
/** Resource ID */
|
|
50
|
+
resourceId: string;
|
|
51
|
+
/** Field path */
|
|
52
|
+
fieldPath: string;
|
|
53
|
+
/** Whether the field is currently hydrated */
|
|
54
|
+
isHydrated: boolean;
|
|
55
|
+
/** Whether the field is in the process of being hydrated */
|
|
56
|
+
isHydrating: boolean;
|
|
57
|
+
/** Whether the field has failed hydration */
|
|
58
|
+
hydrationFailed: boolean;
|
|
59
|
+
/** Timestamp of last hydration attempt */
|
|
60
|
+
lastHydrationAttempt?: Date;
|
|
61
|
+
/** Expected hydration completion time */
|
|
62
|
+
expectedHydrationTime?: Date;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Optionality handling context
|
|
66
|
+
*/
|
|
67
|
+
export interface OptionalityContext extends AnalysisContext {
|
|
68
|
+
/** Current field hydration states */
|
|
69
|
+
hydrationStates?: Map<string, FieldHydrationState>;
|
|
70
|
+
/** Whether to be conservative with null-safety (default: true) */
|
|
71
|
+
conservativeNullSafety?: boolean;
|
|
72
|
+
/** Whether to use Kro's conditional operators */
|
|
73
|
+
useKroConditionals?: boolean;
|
|
74
|
+
/** Whether to generate has() checks for potentially undefined fields */
|
|
75
|
+
generateHasChecks?: boolean;
|
|
76
|
+
/** Maximum depth for optionality analysis */
|
|
77
|
+
maxOptionalityDepth?: number;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Optional chaining pattern information
|
|
81
|
+
*/
|
|
82
|
+
export interface OptionalChainingPattern {
|
|
83
|
+
/** The KubernetesRef involved in optional chaining */
|
|
84
|
+
kubernetesRef: KubernetesRef<any>;
|
|
85
|
+
/** Field path being accessed */
|
|
86
|
+
fieldPath: string;
|
|
87
|
+
/** Whether this is an Enhanced type */
|
|
88
|
+
isEnhancedType: boolean;
|
|
89
|
+
/** Whether the field appears non-optional at compile time */
|
|
90
|
+
appearsNonOptional: boolean;
|
|
91
|
+
/** Whether the field is actually optional at runtime */
|
|
92
|
+
actuallyOptional: boolean;
|
|
93
|
+
/** Depth of the chaining (number of dots) */
|
|
94
|
+
chainingDepth: number;
|
|
95
|
+
/** Suggested CEL pattern for this optional chaining */
|
|
96
|
+
suggestedCelPattern: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Enhanced type field information
|
|
100
|
+
*/
|
|
101
|
+
export interface EnhancedTypeFieldInfo {
|
|
102
|
+
/** The KubernetesRef for this field */
|
|
103
|
+
kubernetesRef: KubernetesRef<any>;
|
|
104
|
+
/** Field path */
|
|
105
|
+
fieldPath: string;
|
|
106
|
+
/** Whether this is an Enhanced type */
|
|
107
|
+
isEnhancedType: boolean;
|
|
108
|
+
/** Whether the field appears non-optional at compile time */
|
|
109
|
+
appearsNonOptional: boolean;
|
|
110
|
+
/** Whether the field is actually optional at runtime */
|
|
111
|
+
actuallyOptional: boolean;
|
|
112
|
+
/** Whether this is a status field */
|
|
113
|
+
isStatusField: boolean;
|
|
114
|
+
/** Whether this field requires optional chaining handling */
|
|
115
|
+
requiresOptionalChaining: boolean;
|
|
116
|
+
/** Confidence level of the analysis */
|
|
117
|
+
confidence: number;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Hydration state analysis result
|
|
121
|
+
*/
|
|
122
|
+
export interface HydrationStateAnalysis {
|
|
123
|
+
/** References that are not yet hydrated */
|
|
124
|
+
unhydratedRefs: KubernetesRef<any>[];
|
|
125
|
+
/** References that are fully hydrated */
|
|
126
|
+
hydratedRefs: KubernetesRef<any>[];
|
|
127
|
+
/** References that are currently being hydrated */
|
|
128
|
+
hydratingRefs: KubernetesRef<any>[];
|
|
129
|
+
/** References that failed hydration */
|
|
130
|
+
failedRefs: KubernetesRef<any>[];
|
|
131
|
+
/** Total number of references */
|
|
132
|
+
totalRefs: number;
|
|
133
|
+
/** Hydration progress (0-1) */
|
|
134
|
+
hydrationProgress: number;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Hydration transition plan
|
|
138
|
+
*/
|
|
139
|
+
export interface HydrationTransitionPlan {
|
|
140
|
+
/** Hydration phases in order */
|
|
141
|
+
phases: HydrationPhase[];
|
|
142
|
+
/** Total expected duration for all phases */
|
|
143
|
+
totalDuration: number;
|
|
144
|
+
/** Critical fields that must be hydrated for the expression to work */
|
|
145
|
+
criticalFields: string[];
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Hydration phase information
|
|
149
|
+
*/
|
|
150
|
+
export interface HydrationPhase {
|
|
151
|
+
/** Phase name */
|
|
152
|
+
name: string;
|
|
153
|
+
/** Fields expected to be hydrated in this phase */
|
|
154
|
+
fields: KubernetesRef<any>[];
|
|
155
|
+
/** Expected duration for this phase (milliseconds) */
|
|
156
|
+
expectedDuration: number;
|
|
157
|
+
/** Dependencies that must be satisfied before this phase */
|
|
158
|
+
dependencies: string[];
|
|
159
|
+
/** Whether this phase is critical for expression evaluation */
|
|
160
|
+
isCritical: boolean;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Hydration transition handler
|
|
164
|
+
*/
|
|
165
|
+
export interface HydrationTransitionHandler {
|
|
166
|
+
/** State transitioning from */
|
|
167
|
+
fromState: HydrationState;
|
|
168
|
+
/** State transitioning to */
|
|
169
|
+
toState: HydrationState;
|
|
170
|
+
/** Condition that triggers this transition */
|
|
171
|
+
triggerCondition: string;
|
|
172
|
+
/** Expression to use during this transition */
|
|
173
|
+
transitionExpression: CelExpression;
|
|
174
|
+
/** Priority of this handler (lower = higher priority) */
|
|
175
|
+
priority: number;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Hydration state
|
|
179
|
+
*/
|
|
180
|
+
export type HydrationState = 'unhydrated' | 'hydrating' | 'hydrated' | 'failed';
|
|
181
|
+
/**
|
|
182
|
+
* Result of undefined-to-defined transition handling
|
|
183
|
+
*/
|
|
184
|
+
export interface UndefinedToDefinedTransitionResult {
|
|
185
|
+
/** Transition plan for hydration phases */
|
|
186
|
+
transitionPlan: HydrationTransitionPlan;
|
|
187
|
+
/** Expressions for each hydration phase */
|
|
188
|
+
phaseExpressions: Map<string, CelExpression>;
|
|
189
|
+
/** Watch expressions for monitoring hydration progress */
|
|
190
|
+
watchExpressions: CelExpression[];
|
|
191
|
+
/** Fallback expressions for hydration failures */
|
|
192
|
+
fallbackExpressions: Map<string, CelExpression>;
|
|
193
|
+
/** Whether the transition handling was successful */
|
|
194
|
+
valid: boolean;
|
|
195
|
+
/** Errors encountered during transition handling */
|
|
196
|
+
errors: ConversionError[];
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Options for optionality handling
|
|
200
|
+
*/
|
|
201
|
+
export interface OptionalityHandlingOptions {
|
|
202
|
+
/** Whether to perform deep optionality analysis */
|
|
203
|
+
deepAnalysis?: boolean;
|
|
204
|
+
/** Whether to be conservative with null-safety */
|
|
205
|
+
conservative?: boolean;
|
|
206
|
+
/** Whether to use Kro's conditional operators */
|
|
207
|
+
useKroConditionals?: boolean;
|
|
208
|
+
/** Whether to generate has() checks */
|
|
209
|
+
generateHasChecks?: boolean;
|
|
210
|
+
/** Maximum analysis depth */
|
|
211
|
+
maxDepth?: number;
|
|
212
|
+
/** Whether to include detailed reasoning */
|
|
213
|
+
includeReasoning?: boolean;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Enhanced Type Optionality Handler
|
|
217
|
+
*
|
|
218
|
+
* Handles the complexity of Enhanced types that appear non-optional at compile time
|
|
219
|
+
* but may be undefined at runtime during field hydration.
|
|
220
|
+
*/
|
|
221
|
+
export declare class EnhancedTypeOptionalityHandler {
|
|
222
|
+
private options;
|
|
223
|
+
private logger;
|
|
224
|
+
constructor(options?: OptionalityHandlingOptions);
|
|
225
|
+
/**
|
|
226
|
+
* Analyze KubernetesRef objects for optionality requirements
|
|
227
|
+
*
|
|
228
|
+
* This method determines whether KubernetesRef objects in expressions require
|
|
229
|
+
* null-safety handling based on Enhanced type behavior and field hydration timing.
|
|
230
|
+
*/
|
|
231
|
+
analyzeOptionalityRequirements(expression: any, context: OptionalityContext): OptionalityAnalysisResult[];
|
|
232
|
+
/**
|
|
233
|
+
* Generate CEL expressions with appropriate null-safety checks
|
|
234
|
+
*
|
|
235
|
+
* This method takes the optionality analysis results and generates CEL expressions
|
|
236
|
+
* that include proper null-safety handling for potentially undefined fields.
|
|
237
|
+
*/
|
|
238
|
+
generateNullSafeCelExpression(originalExpression: any, optionalityResults: OptionalityAnalysisResult[], context: OptionalityContext): CelConversionResult;
|
|
239
|
+
/**
|
|
240
|
+
* Handle optional chaining with Enhanced types
|
|
241
|
+
*
|
|
242
|
+
* This method specifically handles cases where optional chaining is used with
|
|
243
|
+
* Enhanced types that appear non-optional at compile time.
|
|
244
|
+
*/
|
|
245
|
+
handleOptionalChainingWithEnhancedTypes(expression: any, context: OptionalityContext): CelConversionResult;
|
|
246
|
+
/**
|
|
247
|
+
* Analyze optional chaining patterns in expressions with Enhanced types
|
|
248
|
+
*/
|
|
249
|
+
private analyzeOptionalChainingPatterns;
|
|
250
|
+
/**
|
|
251
|
+
* Analyze Enhanced type field information
|
|
252
|
+
*/
|
|
253
|
+
private analyzeEnhancedTypeField;
|
|
254
|
+
/**
|
|
255
|
+
* Generate CEL expression for optional chaining with Enhanced types
|
|
256
|
+
*/
|
|
257
|
+
private generateOptionalChainingCelExpression;
|
|
258
|
+
/**
|
|
259
|
+
* Generate Kro CEL expression with ? prefix operator for optional chaining
|
|
260
|
+
*
|
|
261
|
+
* Kro uses the ? operator as a prefix before field names for optional access
|
|
262
|
+
*/
|
|
263
|
+
private generateKroOptionalChainingExpression;
|
|
264
|
+
/**
|
|
265
|
+
* Convert a field path to Kro's ? prefix optional syntax
|
|
266
|
+
* Example: resources.service.status.loadBalancer.ingress[0].ip
|
|
267
|
+
* Becomes: resources.service.status.?loadBalancer.?ingress[0].?ip
|
|
268
|
+
*
|
|
269
|
+
* The ? operator should be placed before fields that might not exist
|
|
270
|
+
*/
|
|
271
|
+
private convertToKroOptionalSyntax;
|
|
272
|
+
/**
|
|
273
|
+
* Generate has() check expression for optional chaining
|
|
274
|
+
*/
|
|
275
|
+
private generateHasCheckOptionalChainingExpression;
|
|
276
|
+
/**
|
|
277
|
+
* Generate nested has() checks for a field path
|
|
278
|
+
*/
|
|
279
|
+
private generateNestedHasChecksForPath;
|
|
280
|
+
/**
|
|
281
|
+
* Calculate chaining depth for a field path
|
|
282
|
+
*/
|
|
283
|
+
private calculateChainingDepth;
|
|
284
|
+
/**
|
|
285
|
+
* Generate optional chaining CEL pattern for a KubernetesRef
|
|
286
|
+
*/
|
|
287
|
+
private generateOptionalChainingCelPattern;
|
|
288
|
+
/**
|
|
289
|
+
* Automatically detect null-safety requirements for Enhanced type KubernetesRef objects
|
|
290
|
+
*
|
|
291
|
+
* This method analyzes Enhanced types and their KubernetesRef objects to determine
|
|
292
|
+
* which fields require null-safety checks despite appearing non-optional at compile time.
|
|
293
|
+
*/
|
|
294
|
+
detectNullSafetyRequirements(enhancedResources: Record<string, Enhanced<any, any>>, context: OptionalityContext): Map<string, OptionalityAnalysisResult[]>;
|
|
295
|
+
/**
|
|
296
|
+
* Generate Enhanced type-specific null-safety patterns
|
|
297
|
+
*/
|
|
298
|
+
private generateEnhancedTypeNullSafetyPattern;
|
|
299
|
+
/**
|
|
300
|
+
* Extract potential KubernetesRef objects from Enhanced resources
|
|
301
|
+
*/
|
|
302
|
+
private extractPotentialKubernetesRefsFromEnhanced;
|
|
303
|
+
/**
|
|
304
|
+
* Integrate with field hydration timing
|
|
305
|
+
*
|
|
306
|
+
* This method provides integration with TypeKro's field hydration system to
|
|
307
|
+
* handle the transition from undefined to defined values during hydration.
|
|
308
|
+
*/
|
|
309
|
+
integrateWithFieldHydrationTiming(expression: any, hydrationStates: Map<string, FieldHydrationState>, context: OptionalityContext): {
|
|
310
|
+
preHydrationExpression: CelExpression | null;
|
|
311
|
+
postHydrationExpression: CelExpression | null;
|
|
312
|
+
hydrationDependentExpression: CelExpression | null;
|
|
313
|
+
transitionHandlers: HydrationTransitionHandler[];
|
|
314
|
+
};
|
|
315
|
+
/**
|
|
316
|
+
* Handle undefined-to-defined transitions during field hydration
|
|
317
|
+
*
|
|
318
|
+
* This method creates handlers for the transition from undefined to defined
|
|
319
|
+
* values as fields are hydrated over time.
|
|
320
|
+
*/
|
|
321
|
+
handleUndefinedToDefinedTransitions(expression: any, hydrationStates: Map<string, FieldHydrationState>, context: OptionalityContext): UndefinedToDefinedTransitionResult;
|
|
322
|
+
/**
|
|
323
|
+
* Analyze hydration states for KubernetesRef objects
|
|
324
|
+
*/
|
|
325
|
+
private analyzeHydrationStates;
|
|
326
|
+
/**
|
|
327
|
+
* Create transition plan for hydration phases
|
|
328
|
+
*/
|
|
329
|
+
private createTransitionPlan;
|
|
330
|
+
/**
|
|
331
|
+
* Generate hydration transition handlers
|
|
332
|
+
*/
|
|
333
|
+
private generateHydrationTransitionHandlers;
|
|
334
|
+
/**
|
|
335
|
+
* Generate phase expressions for different hydration phases
|
|
336
|
+
*/
|
|
337
|
+
private generatePhaseExpressions;
|
|
338
|
+
/**
|
|
339
|
+
* Generate watch expressions for monitoring hydration progress
|
|
340
|
+
*/
|
|
341
|
+
private generateWatchExpressions;
|
|
342
|
+
/**
|
|
343
|
+
* Generate fallback expressions for hydration failures
|
|
344
|
+
*/
|
|
345
|
+
private generateFallbackExpressions;
|
|
346
|
+
/**
|
|
347
|
+
* Generate phase-specific expression
|
|
348
|
+
*/
|
|
349
|
+
private generatePhaseSpecificExpression;
|
|
350
|
+
/**
|
|
351
|
+
* Generate condition for hydration start
|
|
352
|
+
*/
|
|
353
|
+
private generateHydrationStartCondition;
|
|
354
|
+
/**
|
|
355
|
+
* Generate expression for hydration start
|
|
356
|
+
*/
|
|
357
|
+
private generateHydrationStartExpression;
|
|
358
|
+
/**
|
|
359
|
+
* Generate condition for hydration complete
|
|
360
|
+
*/
|
|
361
|
+
private generateHydrationCompleteCondition;
|
|
362
|
+
/**
|
|
363
|
+
* Generate expression for hydration complete
|
|
364
|
+
*/
|
|
365
|
+
private generateHydrationCompleteExpression;
|
|
366
|
+
/**
|
|
367
|
+
* Generate condition for hydration failure
|
|
368
|
+
*/
|
|
369
|
+
private generateHydrationFailureCondition;
|
|
370
|
+
/**
|
|
371
|
+
* Generate expression for hydration failure
|
|
372
|
+
*/
|
|
373
|
+
private generateHydrationFailureExpression;
|
|
374
|
+
/**
|
|
375
|
+
* Analyze a single KubernetesRef for optionality requirements
|
|
376
|
+
*/
|
|
377
|
+
private analyzeKubernetesRefOptionality;
|
|
378
|
+
/**
|
|
379
|
+
* Determine if a KubernetesRef is potentially undefined at runtime
|
|
380
|
+
*/
|
|
381
|
+
private isPotentiallyUndefinedAtRuntime;
|
|
382
|
+
/**
|
|
383
|
+
* Check if a schema field is potentially undefined
|
|
384
|
+
*/
|
|
385
|
+
private isSchemaFieldPotentiallyUndefined;
|
|
386
|
+
/**
|
|
387
|
+
* Check if a status field is potentially undefined
|
|
388
|
+
*/
|
|
389
|
+
private isStatusFieldPotentiallyUndefined;
|
|
390
|
+
/**
|
|
391
|
+
* Check if a spec field is potentially undefined
|
|
392
|
+
*/
|
|
393
|
+
private isSpecFieldPotentiallyUndefined;
|
|
394
|
+
/**
|
|
395
|
+
* Check if a metadata field is potentially undefined
|
|
396
|
+
*/
|
|
397
|
+
private isMetadataFieldPotentiallyUndefined;
|
|
398
|
+
/**
|
|
399
|
+
* Check if optional chaining was used in the original expression
|
|
400
|
+
*/
|
|
401
|
+
private hasOptionalChainingInExpression;
|
|
402
|
+
/**
|
|
403
|
+
* Calculate confidence level for optionality analysis
|
|
404
|
+
*/
|
|
405
|
+
private calculateOptionalityConfidence;
|
|
406
|
+
/**
|
|
407
|
+
* Determine the reason for optionality determination
|
|
408
|
+
*/
|
|
409
|
+
private determineOptionalityReason;
|
|
410
|
+
/**
|
|
411
|
+
* Generate suggested CEL pattern for null-safety
|
|
412
|
+
*/
|
|
413
|
+
private generateSuggestedCelPattern;
|
|
414
|
+
/**
|
|
415
|
+
* Extract KubernetesRef objects from an expression
|
|
416
|
+
*/
|
|
417
|
+
private extractKubernetesRefs;
|
|
418
|
+
/**
|
|
419
|
+
* Convert expression to basic CEL without null-safety
|
|
420
|
+
*/
|
|
421
|
+
private convertToBasicCel;
|
|
422
|
+
/**
|
|
423
|
+
* Generate CEL expressions with has() checks for potentially undefined fields
|
|
424
|
+
*
|
|
425
|
+
* This method creates comprehensive CEL expressions that include has() checks
|
|
426
|
+
* for all potentially undefined fields in the expression.
|
|
427
|
+
*/
|
|
428
|
+
generateCelWithHasChecks(expression: any, optionalityResults: OptionalityAnalysisResult[], context: OptionalityContext): CelExpression;
|
|
429
|
+
/**
|
|
430
|
+
* Generate has() checks for fields that require null-safety
|
|
431
|
+
*/
|
|
432
|
+
private generateHasChecksForFields;
|
|
433
|
+
/**
|
|
434
|
+
* Generate nested has() checks for complex field paths
|
|
435
|
+
*/
|
|
436
|
+
private generateNestedHasChecks;
|
|
437
|
+
/**
|
|
438
|
+
* Convert expression with KubernetesRef objects to CEL
|
|
439
|
+
*/
|
|
440
|
+
private convertExpressionWithKubernetesRefs;
|
|
441
|
+
/**
|
|
442
|
+
* Combine has() checks with the main expression
|
|
443
|
+
*/
|
|
444
|
+
private combineHasChecksWithExpression;
|
|
445
|
+
/**
|
|
446
|
+
* Infer the type of the expression result
|
|
447
|
+
*/
|
|
448
|
+
private inferExpressionType;
|
|
449
|
+
/**
|
|
450
|
+
* Generate null-safe CEL expression
|
|
451
|
+
*/
|
|
452
|
+
private generateNullSafeExpression;
|
|
453
|
+
/**
|
|
454
|
+
* Generate source mapping for debugging
|
|
455
|
+
*/
|
|
456
|
+
private generateSourceMapping;
|
|
457
|
+
/**
|
|
458
|
+
* Generate pre-hydration expression (for unhydrated fields)
|
|
459
|
+
*/
|
|
460
|
+
private generatePreHydrationExpression;
|
|
461
|
+
/**
|
|
462
|
+
* Generate post-hydration expression (for hydrated fields)
|
|
463
|
+
*/
|
|
464
|
+
private generatePostHydrationExpression;
|
|
465
|
+
/**
|
|
466
|
+
* Generate hydration-dependent expression (for fields being hydrated)
|
|
467
|
+
*/
|
|
468
|
+
private generateHydrationDependentExpression;
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Convenience function to analyze optionality requirements
|
|
472
|
+
*/
|
|
473
|
+
export declare function analyzeOptionalityRequirements(expression: any, context: OptionalityContext, options?: OptionalityHandlingOptions): OptionalityAnalysisResult[];
|
|
474
|
+
/**
|
|
475
|
+
* Convenience function to generate null-safe CEL expressions
|
|
476
|
+
*/
|
|
477
|
+
export declare function generateNullSafeCelExpression(expression: any, optionalityResults: OptionalityAnalysisResult[], context: OptionalityContext, options?: OptionalityHandlingOptions): CelConversionResult;
|
|
478
|
+
/**
|
|
479
|
+
* Convenience function to handle optional chaining with Enhanced types
|
|
480
|
+
*/
|
|
481
|
+
export declare function handleOptionalChainingWithEnhancedTypes(expression: any, context: OptionalityContext, options?: OptionalityHandlingOptions): CelConversionResult;
|
|
482
|
+
/**
|
|
483
|
+
* Convenience function to generate CEL expressions with has() checks
|
|
484
|
+
*/
|
|
485
|
+
export declare function generateCelWithHasChecks(expression: any, optionalityResults: OptionalityAnalysisResult[], context: OptionalityContext, options?: OptionalityHandlingOptions): CelExpression;
|
|
486
|
+
/**
|
|
487
|
+
* Convenience function to detect null-safety requirements for Enhanced types
|
|
488
|
+
*/
|
|
489
|
+
export declare function detectNullSafetyRequirements(enhancedResources: Record<string, Enhanced<any, any>>, context: OptionalityContext, options?: OptionalityHandlingOptions): Map<string, OptionalityAnalysisResult[]>;
|
|
490
|
+
/**
|
|
491
|
+
* Convenience function to integrate with field hydration timing
|
|
492
|
+
*/
|
|
493
|
+
export declare function integrateWithFieldHydrationTiming(expression: any, hydrationStates: Map<string, FieldHydrationState>, context: OptionalityContext, options?: OptionalityHandlingOptions): {
|
|
494
|
+
preHydrationExpression: CelExpression | null;
|
|
495
|
+
postHydrationExpression: CelExpression | null;
|
|
496
|
+
hydrationDependentExpression: CelExpression | null;
|
|
497
|
+
transitionHandlers: HydrationTransitionHandler[];
|
|
498
|
+
};
|
|
499
|
+
/**
|
|
500
|
+
* Convenience function to handle undefined-to-defined transitions
|
|
501
|
+
*/
|
|
502
|
+
export declare function handleUndefinedToDefinedTransitions(expression: any, hydrationStates: Map<string, FieldHydrationState>, context: OptionalityContext, options?: OptionalityHandlingOptions): UndefinedToDefinedTransitionResult;
|
|
503
|
+
//# sourceMappingURL=optionality-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optionality-handler.d.ts","sourceRoot":"","sources":["../../../src/core/expressions/optionality-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG1E;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,uCAAuC;IACvC,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAElC,uDAAuD;IACvD,oBAAoB,EAAE,OAAO,CAAC;IAE9B,qDAAqD;IACrD,kBAAkB,EAAE,OAAO,CAAC;IAE5B,oEAAoE;IACpE,mBAAmB,EAAE,OAAO,CAAC;IAE7B,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAElB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IAEnB,yCAAyC;IACzC,iBAAiB,EAAE,OAAO,CAAC;IAE3B,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IAEnB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IAEf,uDAAuD;IACvD,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,8CAA8C;IAC9C,UAAU,EAAE,OAAO,CAAC;IAEpB,4DAA4D;IAC5D,WAAW,EAAE,OAAO,CAAC;IAErB,6CAA6C;IAC7C,eAAe,EAAE,OAAO,CAAC;IAEzB,0CAA0C;IAC1C,oBAAoB,CAAC,EAAE,IAAI,CAAC;IAE5B,yCAAyC;IACzC,qBAAqB,CAAC,EAAE,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,qCAAqC;IACrC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAEnD,kEAAkE;IAClE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAElC,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAElB,uCAAuC;IACvC,cAAc,EAAE,OAAO,CAAC;IAExB,6DAA6D;IAC7D,kBAAkB,EAAE,OAAO,CAAC;IAE5B,wDAAwD;IACxD,gBAAgB,EAAE,OAAO,CAAC;IAE1B,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IAEtB,uDAAuD;IACvD,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,uCAAuC;IACvC,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAElC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,uCAAuC;IACvC,cAAc,EAAE,OAAO,CAAC;IAExB,6DAA6D;IAC7D,kBAAkB,EAAE,OAAO,CAAC;IAE5B,wDAAwD;IACxD,gBAAgB,EAAE,OAAO,CAAC;IAE1B,qCAAqC;IACrC,aAAa,EAAE,OAAO,CAAC;IAEvB,6DAA6D;IAC7D,wBAAwB,EAAE,OAAO,CAAC;IAElC,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,2CAA2C;IAC3C,cAAc,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;IAErC,yCAAyC;IACzC,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;IAEnC,mDAAmD;IACnD,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;IAEpC,uCAAuC;IACvC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;IAEjC,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAElB,+BAA+B;IAC/B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,gCAAgC;IAChC,MAAM,EAAE,cAAc,EAAE,CAAC;IAEzB,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IAEtB,uEAAuE;IACvE,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb,mDAAmD;IACnD,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;IAE7B,sDAAsD;IACtD,gBAAgB,EAAE,MAAM,CAAC;IAEzB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,+DAA+D;IAC/D,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,+BAA+B;IAC/B,SAAS,EAAE,cAAc,CAAC;IAE1B,6BAA6B;IAC7B,OAAO,EAAE,cAAc,CAAC;IAExB,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IAEzB,+CAA+C;IAC/C,oBAAoB,EAAE,aAAa,CAAC;IAEpC,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,2CAA2C;IAC3C,cAAc,EAAE,uBAAuB,CAAC;IAExC,2CAA2C;IAC3C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE7C,0DAA0D;IAC1D,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAElC,kDAAkD;IAClD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAEhD,qDAAqD;IACrD,KAAK,EAAE,OAAO,CAAC;IAEf,oDAAoD;IACpD,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAcD;;;;;GAKG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,MAAM,CAA6C;gBAE/C,OAAO,CAAC,EAAE,0BAA0B;IAIhD;;;;;OAKG;IACH,8BAA8B,CAC5B,UAAU,EAAE,GAAG,EACf,OAAO,EAAE,kBAAkB,GAC1B,yBAAyB,EAAE;IA0B9B;;;;;OAKG;IACH,6BAA6B,CAC3B,kBAAkB,EAAE,GAAG,EACvB,kBAAkB,EAAE,yBAAyB,EAAE,EAC/C,OAAO,EAAE,kBAAkB,GAC1B,mBAAmB;IAkDtB;;;;;OAKG;IACH,uCAAuC,CACrC,UAAU,EAAE,GAAG,EACf,OAAO,EAAE,kBAAkB,GAC1B,mBAAmB;IAuCtB;;OAEG;IACH,OAAO,CAAC,+BAA+B;IA2CvC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAuBhC;;OAEG;IACH,OAAO,CAAC,qCAAqC;IAoE7C;;;;OAIG;IACH,OAAO,CAAC,qCAAqC;IA4B7C;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IA4BlC;;OAEG;IACH,OAAO,CAAC,0CAA0C;IAyBlD;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAYtC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAkB1C;;;;;OAKG;IACH,4BAA4B,CAC1B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACrD,OAAO,EAAE,kBAAkB,GAC1B,GAAG,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC;IAiD3C;;OAEG;IACH,OAAO,CAAC,qCAAqC;IAuC7C;;OAEG;IACH,OAAO,CAAC,0CAA0C;IAsClD;;;;;OAKG;IACH,iCAAiC,CAC/B,UAAU,EAAE,GAAG,EACf,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACjD,OAAO,EAAE,kBAAkB,GAC1B;QACD,sBAAsB,EAAE,aAAa,GAAG,IAAI,CAAC;QAC7C,uBAAuB,EAAE,aAAa,GAAG,IAAI,CAAC;QAC9C,4BAA4B,EAAE,aAAa,GAAG,IAAI,CAAC;QACnD,kBAAkB,EAAE,0BAA0B,EAAE,CAAC;KAClD;IAmDD;;;;;OAKG;IACH,mCAAmC,CACjC,UAAU,EAAE,GAAG,EACf,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACjD,OAAO,EAAE,kBAAkB,GAC1B,kCAAkC;IAgCrC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoC9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgE5B;;OAEG;IACH,OAAO,CAAC,mCAAmC;IA2C3C;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAwBhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAoBnC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAyBvC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAWvC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAYxC;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAW1C;;OAEG;IACH,OAAO,CAAC,mCAAmC;IAS3C;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAKzC;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAY1C;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAmCvC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAsCvC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAgCzC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IA4BzC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAkCvC;;OAEG;IACH,OAAO,CAAC,mCAAmC;IAoC3C;;OAEG;IACH,OAAO,CAAC,+BAA+B;IASvC;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAwBtC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAelC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAmBnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;;;OAKG;IACH,wBAAwB,CACtB,UAAU,EAAE,GAAG,EACf,kBAAkB,EAAE,yBAAyB,EAAE,EAC/C,OAAO,EAAE,kBAAkB,GAC1B,aAAa;IA6BhB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA0BlC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiC/B;;OAEG;IACH,OAAO,CAAC,mCAAmC;IAiD3C;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAmBtC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IASlC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAatC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IASvC;;OAEG;IACH,OAAO,CAAC,oCAAoC;CAmB7C;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,GAAG,EACf,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,0BAA0B,GACnC,yBAAyB,EAAE,CAG7B;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,GAAG,EACf,kBAAkB,EAAE,yBAAyB,EAAE,EAC/C,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,0BAA0B,GACnC,mBAAmB,CAGrB;AAED;;GAEG;AACH,wBAAgB,uCAAuC,CACrD,UAAU,EAAE,GAAG,EACf,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,0BAA0B,GACnC,mBAAmB,CAGrB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,GAAG,EACf,kBAAkB,EAAE,yBAAyB,EAAE,EAC/C,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,0BAA0B,GACnC,aAAa,CAGf;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACrD,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,0BAA0B,GACnC,GAAG,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAG1C;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,GAAG,EACf,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACjD,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,0BAA0B,GACnC;IACD,sBAAsB,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7C,uBAAuB,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9C,4BAA4B,EAAE,aAAa,GAAG,IAAI,CAAC;IACnD,kBAAkB,EAAE,0BAA0B,EAAE,CAAC;CAClD,CAGA;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,GAAG,EACf,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACjD,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,0BAA0B,GACnC,kCAAkC,CAGpC"}
|