typekro 0.2.2 → 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,584 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JavaScript to CEL Expression Analyzer
|
|
3
|
+
*
|
|
4
|
+
* This module provides the core functionality for detecting KubernetesRef objects
|
|
5
|
+
* in JavaScript expressions and converting them to appropriate CEL expressions.
|
|
6
|
+
*
|
|
7
|
+
* The analyzer works with TypeKro's magic proxy system where schema.spec.name and
|
|
8
|
+
* resources.database.status.podIP return KubernetesRef objects at runtime.
|
|
9
|
+
*/
|
|
10
|
+
import type { Node as ESTreeNode } from 'estree';
|
|
11
|
+
import type { CelExpression, KubernetesRef } from '../types/common.js';
|
|
12
|
+
import type { Enhanced } from '../types/kubernetes.js';
|
|
13
|
+
import type { SchemaProxy } from '../types/serialization.js';
|
|
14
|
+
import { ConversionError } from '../errors.js';
|
|
15
|
+
import { type SourceMapBuilder, type SourceMapEntry } from './source-map.js';
|
|
16
|
+
import { type CacheOptions, type CacheStats } from './cache.js';
|
|
17
|
+
import { TypeRegistry, type TypeInfo, type TypeValidationResult } from './type-safety.js';
|
|
18
|
+
import { type CelTypeInferenceResult } from './type-inference.js';
|
|
19
|
+
import { type ResourceValidationResult, type ValidationContext } from './resource-validation.js';
|
|
20
|
+
import { type CompileTimeValidationResult, type CompileTimeValidationContext } from './compile-time-validation.js';
|
|
21
|
+
/**
|
|
22
|
+
* Context information for analyzing JavaScript expressions
|
|
23
|
+
*/
|
|
24
|
+
export interface AnalysisContext {
|
|
25
|
+
/** Type of context where the expression is being analyzed */
|
|
26
|
+
type: 'status' | 'resource' | 'condition' | 'readiness';
|
|
27
|
+
/** Available resource references from magic proxy system */
|
|
28
|
+
availableReferences: Record<string, Enhanced<any, any>>;
|
|
29
|
+
/** Schema proxy for schema field references */
|
|
30
|
+
schemaProxy?: SchemaProxy<any, any>;
|
|
31
|
+
/** Factory pattern being used (affects CEL generation strategy) */
|
|
32
|
+
factoryType: 'direct' | 'kro';
|
|
33
|
+
/** Source mapping builder for debugging */
|
|
34
|
+
sourceMap?: SourceMapBuilder;
|
|
35
|
+
/** Additional dependencies detected during analysis */
|
|
36
|
+
dependencies?: KubernetesRef<any>[];
|
|
37
|
+
/** Original source text for accurate source location tracking */
|
|
38
|
+
sourceText?: string;
|
|
39
|
+
/** Type registry for type validation */
|
|
40
|
+
typeRegistry?: TypeRegistry;
|
|
41
|
+
/** Expected result type for validation */
|
|
42
|
+
expectedType?: TypeInfo;
|
|
43
|
+
/** Whether to perform strict type checking */
|
|
44
|
+
strictTypeChecking?: boolean;
|
|
45
|
+
/** Whether to validate resource references */
|
|
46
|
+
validateResourceReferences?: boolean;
|
|
47
|
+
/** Validation context for resource references */
|
|
48
|
+
validationContext?: ValidationContext;
|
|
49
|
+
/** Whether to perform compile-time type checking */
|
|
50
|
+
compileTimeTypeChecking?: boolean;
|
|
51
|
+
/** Compile-time validation context */
|
|
52
|
+
compileTimeContext?: CompileTimeValidationContext;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Generic validation warning
|
|
56
|
+
*/
|
|
57
|
+
export interface ValidationWarning {
|
|
58
|
+
/** Warning message */
|
|
59
|
+
message: string;
|
|
60
|
+
/** Warning type/category */
|
|
61
|
+
type: string;
|
|
62
|
+
/** Optional suggestion for fixing the warning */
|
|
63
|
+
suggestion?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Result of CEL conversion analysis
|
|
67
|
+
*/
|
|
68
|
+
export interface CelConversionResult {
|
|
69
|
+
/** Whether the conversion was successful */
|
|
70
|
+
valid: boolean;
|
|
71
|
+
/** Generated CEL expression (null if conversion failed) */
|
|
72
|
+
celExpression: CelExpression | null;
|
|
73
|
+
/** KubernetesRef dependencies detected in the expression */
|
|
74
|
+
dependencies: KubernetesRef<any>[];
|
|
75
|
+
/** Source mapping entries for debugging */
|
|
76
|
+
sourceMap: SourceMapEntry[];
|
|
77
|
+
/** Conversion errors encountered */
|
|
78
|
+
errors: ConversionError[];
|
|
79
|
+
/** Whether the expression actually requires conversion (contains KubernetesRef objects) */
|
|
80
|
+
requiresConversion: boolean;
|
|
81
|
+
/** Type validation result */
|
|
82
|
+
typeValidation?: TypeValidationResult | undefined;
|
|
83
|
+
/** Inferred result type of the expression */
|
|
84
|
+
inferredType?: TypeInfo | undefined;
|
|
85
|
+
/** Resource validation results */
|
|
86
|
+
resourceValidation?: ResourceValidationResult[] | undefined;
|
|
87
|
+
/** Compile-time validation result */
|
|
88
|
+
compileTimeValidation?: CompileTimeValidationResult | undefined;
|
|
89
|
+
/** Aggregated warnings from all validation results */
|
|
90
|
+
warnings: ValidationWarning[];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Comprehensive expression validation report
|
|
94
|
+
*/
|
|
95
|
+
export interface ExpressionValidationReport {
|
|
96
|
+
/** Original expression */
|
|
97
|
+
expression: string;
|
|
98
|
+
/** Conversion result */
|
|
99
|
+
conversionResult: CelConversionResult;
|
|
100
|
+
/** Type validation result */
|
|
101
|
+
typeValidation?: TypeValidationResult;
|
|
102
|
+
/** Resource validation results */
|
|
103
|
+
resourceValidation?: ResourceValidationResult[];
|
|
104
|
+
/** Validation summary */
|
|
105
|
+
summary: ValidationSummary;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Validation summary
|
|
109
|
+
*/
|
|
110
|
+
export interface ValidationSummary {
|
|
111
|
+
/** Overall validation status */
|
|
112
|
+
valid: boolean;
|
|
113
|
+
/** Total number of errors */
|
|
114
|
+
totalErrors: number;
|
|
115
|
+
/** Total number of warnings */
|
|
116
|
+
totalWarnings: number;
|
|
117
|
+
/** Whether the expression requires conversion */
|
|
118
|
+
requiresConversion: boolean;
|
|
119
|
+
/** Whether there are type-related issues */
|
|
120
|
+
hasTypeIssues: boolean;
|
|
121
|
+
/** Whether there are resource reference issues */
|
|
122
|
+
hasResourceIssues: boolean;
|
|
123
|
+
/** Whether there are compile-time type issues */
|
|
124
|
+
hasCompileTimeIssues: boolean;
|
|
125
|
+
/** Overall confidence score (0-1) */
|
|
126
|
+
confidence: number;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Main analyzer class for JavaScript to CEL expression conversion
|
|
130
|
+
*/
|
|
131
|
+
export declare class JavaScriptToCelAnalyzer {
|
|
132
|
+
private cache;
|
|
133
|
+
private typeValidator;
|
|
134
|
+
private enableMetrics;
|
|
135
|
+
constructor(cacheOptions?: CacheOptions);
|
|
136
|
+
private typeInferenceEngine;
|
|
137
|
+
private resourceValidator;
|
|
138
|
+
private compileTimeChecker;
|
|
139
|
+
/**
|
|
140
|
+
* Analyze any expression type and convert to CEL if needed
|
|
141
|
+
*/
|
|
142
|
+
analyzeExpression(expression: any, context: AnalysisContext): CelConversionResult;
|
|
143
|
+
/**
|
|
144
|
+
* Analyze a JavaScript string expression and convert to CEL if it contains KubernetesRef objects
|
|
145
|
+
*/
|
|
146
|
+
analyzeStringExpression(expression: string, context: AnalysisContext): CelConversionResult;
|
|
147
|
+
/**
|
|
148
|
+
* Analyze a KubernetesRef object directly
|
|
149
|
+
*/
|
|
150
|
+
private analyzeKubernetesRefObject;
|
|
151
|
+
/**
|
|
152
|
+
* Analyze object expression by examining its structure
|
|
153
|
+
*/
|
|
154
|
+
private analyzeObjectExpression;
|
|
155
|
+
/**
|
|
156
|
+
* Analyze primitive expression (no KubernetesRef objects)
|
|
157
|
+
*/
|
|
158
|
+
private analyzePrimitiveExpression;
|
|
159
|
+
/**
|
|
160
|
+
* Extract KubernetesRef objects from object structure
|
|
161
|
+
*/
|
|
162
|
+
private extractKubernetesRefsFromObject;
|
|
163
|
+
/**
|
|
164
|
+
* NEW: Analyze expressions that may contain KubernetesRef objects from magic proxy system
|
|
165
|
+
* This is the key method that detects when JavaScript expressions contain KubernetesRef objects
|
|
166
|
+
*/
|
|
167
|
+
analyzeExpressionWithRefs(expression: any, // Could be a JavaScript expression or contain KubernetesRef objects
|
|
168
|
+
context: AnalysisContext): CelConversionResult;
|
|
169
|
+
/**
|
|
170
|
+
* Convert an AST node to CEL expression
|
|
171
|
+
*/
|
|
172
|
+
convertASTNode(node: ESTreeNode, context: AnalysisContext): CelExpression;
|
|
173
|
+
/**
|
|
174
|
+
* Convert an AST node to CEL expression with source location tracking
|
|
175
|
+
*/
|
|
176
|
+
convertASTNodeWithSourceTracking(node: ESTreeNode, context: AnalysisContext, originalExpression: string, sourceLocation: {
|
|
177
|
+
line: number;
|
|
178
|
+
column: number;
|
|
179
|
+
length: number;
|
|
180
|
+
}): CelExpression;
|
|
181
|
+
/**
|
|
182
|
+
* Analyze a function for JavaScript expressions containing KubernetesRef objects
|
|
183
|
+
*/
|
|
184
|
+
analyzeFunction(fn: Function, _context: AnalysisContext): CelConversionResult;
|
|
185
|
+
/**
|
|
186
|
+
* Convert a single KubernetesRef to a conversion result
|
|
187
|
+
*/
|
|
188
|
+
private convertKubernetesRefToResult;
|
|
189
|
+
/**
|
|
190
|
+
* Analyze complex values (objects/arrays) that may contain KubernetesRef objects
|
|
191
|
+
*/
|
|
192
|
+
private analyzeComplexValue;
|
|
193
|
+
/**
|
|
194
|
+
* Generate CEL expression from KubernetesRef based on context
|
|
195
|
+
* This handles the core KubernetesRef to CEL field path conversion (resourceId.fieldPath)
|
|
196
|
+
*/
|
|
197
|
+
private generateCelFromKubernetesRef;
|
|
198
|
+
/**
|
|
199
|
+
* Convert a KubernetesRef directly to a CEL expression
|
|
200
|
+
* This is the main method for KubernetesRef to CEL field path conversion
|
|
201
|
+
*/
|
|
202
|
+
convertKubernetesRefToCel(ref: KubernetesRef<any>, context: AnalysisContext): CelExpression;
|
|
203
|
+
/**
|
|
204
|
+
* Find return statement in AST
|
|
205
|
+
*/
|
|
206
|
+
private findReturnStatement;
|
|
207
|
+
/**
|
|
208
|
+
* Check if a value is a template literal expression
|
|
209
|
+
* This checks for JavaScript template literal syntax in runtime values
|
|
210
|
+
*/
|
|
211
|
+
private isTemplateLiteral;
|
|
212
|
+
/**
|
|
213
|
+
* Analyze template literal expressions containing KubernetesRef objects
|
|
214
|
+
* This handles runtime template literal values that contain KubernetesRef interpolations
|
|
215
|
+
*/
|
|
216
|
+
private analyzeTemplateLiteral;
|
|
217
|
+
/**
|
|
218
|
+
* Extract all KubernetesRef objects from a complex value
|
|
219
|
+
*/
|
|
220
|
+
private extractKubernetesRefs;
|
|
221
|
+
/**
|
|
222
|
+
* Handle special cases for expressions that can't be parsed normally
|
|
223
|
+
*/
|
|
224
|
+
private handleSpecialCases;
|
|
225
|
+
/**
|
|
226
|
+
* Handle optional chaining expressions that can't be parsed by esprima
|
|
227
|
+
*/
|
|
228
|
+
private handleOptionalChainingExpression;
|
|
229
|
+
/**
|
|
230
|
+
* Handle expressions with both optional chaining and nullish coalescing
|
|
231
|
+
*/
|
|
232
|
+
private handleMixedOptionalAndNullishExpression;
|
|
233
|
+
/**
|
|
234
|
+
* Handle nullish coalescing expressions that can't be parsed by esprima
|
|
235
|
+
*/
|
|
236
|
+
private handleNullishCoalescingExpression;
|
|
237
|
+
/**
|
|
238
|
+
* Extract resource references from expression string
|
|
239
|
+
*/
|
|
240
|
+
private extractResourceReferencesFromExpression;
|
|
241
|
+
/**
|
|
242
|
+
* Check if an expression is a resource reference
|
|
243
|
+
*/
|
|
244
|
+
private isResourceReference;
|
|
245
|
+
/**
|
|
246
|
+
* Setup type registry from analysis context
|
|
247
|
+
*/
|
|
248
|
+
setupTypeRegistry(context: AnalysisContext): TypeRegistry;
|
|
249
|
+
/**
|
|
250
|
+
* Validate expression compatibility with target context
|
|
251
|
+
*/
|
|
252
|
+
validateExpressionCompatibility(expression: string, context: AnalysisContext): TypeValidationResult;
|
|
253
|
+
/**
|
|
254
|
+
* Infer the type of a CEL expression
|
|
255
|
+
*/
|
|
256
|
+
inferCelExpressionType(celExpression: CelExpression, context: AnalysisContext): CelTypeInferenceResult;
|
|
257
|
+
/**
|
|
258
|
+
* Infer types for multiple CEL expressions
|
|
259
|
+
*/
|
|
260
|
+
inferCelExpressionTypes(celExpressions: CelExpression[], context: AnalysisContext): CelTypeInferenceResult[];
|
|
261
|
+
/**
|
|
262
|
+
* Validate type compatibility between JavaScript and CEL expressions
|
|
263
|
+
*/
|
|
264
|
+
validateJavaScriptToCelTypeCompatibility(jsExpression: string, celExpression: CelExpression, context: AnalysisContext): TypeValidationResult;
|
|
265
|
+
/**
|
|
266
|
+
* Validate resource references in KubernetesRef objects
|
|
267
|
+
*/
|
|
268
|
+
validateResourceReferences(refs: KubernetesRef<any>[], availableResources: Record<string, Enhanced<any, any>>, schemaProxy?: SchemaProxy<any, any>, validationContext?: ValidationContext): ResourceValidationResult[];
|
|
269
|
+
/**
|
|
270
|
+
* Validate a single resource reference
|
|
271
|
+
*/
|
|
272
|
+
validateResourceReference(ref: KubernetesRef<any>, availableResources: Record<string, Enhanced<any, any>>, schemaProxy?: SchemaProxy<any, any>, validationContext?: ValidationContext): ResourceValidationResult;
|
|
273
|
+
/**
|
|
274
|
+
* Validate a reference chain for type safety and circular dependencies
|
|
275
|
+
*/
|
|
276
|
+
validateReferenceChain(refs: KubernetesRef<any>[], availableResources: Record<string, Enhanced<any, any>>, schemaProxy?: SchemaProxy<any, any>): ResourceValidationResult;
|
|
277
|
+
/**
|
|
278
|
+
* Get comprehensive validation report for an expression
|
|
279
|
+
*/
|
|
280
|
+
getValidationReport(expression: string, context: AnalysisContext): ExpressionValidationReport;
|
|
281
|
+
/**
|
|
282
|
+
* Perform compile-time type checking
|
|
283
|
+
*/
|
|
284
|
+
performCompileTimeValidation(expression: string, context: CompileTimeValidationContext): CompileTimeValidationResult;
|
|
285
|
+
/**
|
|
286
|
+
* Validate compile-time compatibility for multiple expressions
|
|
287
|
+
*/
|
|
288
|
+
performCompileTimeValidationBatch(expressions: string[], context: CompileTimeValidationContext): CompileTimeValidationResult[];
|
|
289
|
+
/**
|
|
290
|
+
* Validate KubernetesRef compile-time compatibility
|
|
291
|
+
*/
|
|
292
|
+
validateKubernetesRefCompileTimeCompatibility(ref: KubernetesRef<any>, context: AnalysisContext): CompileTimeValidationResult;
|
|
293
|
+
/**
|
|
294
|
+
* Get comprehensive compile-time validation report
|
|
295
|
+
*/
|
|
296
|
+
getCompileTimeValidationReport(expression: string, context: AnalysisContext): CompileTimeValidationResult | null;
|
|
297
|
+
/**
|
|
298
|
+
* Create a validation summary from conversion results
|
|
299
|
+
*/
|
|
300
|
+
private createValidationSummary;
|
|
301
|
+
/**
|
|
302
|
+
* Extract dependencies from JavaScript expression string and return them
|
|
303
|
+
*/
|
|
304
|
+
private extractDependenciesFromExpressionString;
|
|
305
|
+
/**
|
|
306
|
+
* Extract dependencies from JavaScript expression
|
|
307
|
+
*/
|
|
308
|
+
private extractDependenciesFromExpression;
|
|
309
|
+
/**
|
|
310
|
+
* Calculate overall confidence score
|
|
311
|
+
*/
|
|
312
|
+
private calculateOverallConfidence;
|
|
313
|
+
/**
|
|
314
|
+
* Convert binary expressions (>, <, ==, !=, &&, ||) with KubernetesRef operand handling
|
|
315
|
+
*/
|
|
316
|
+
private convertBinaryExpression;
|
|
317
|
+
/**
|
|
318
|
+
* Convert member expressions (object.property, object['property']) and array access (array[0], array[index])
|
|
319
|
+
*/
|
|
320
|
+
private convertMemberExpression;
|
|
321
|
+
/**
|
|
322
|
+
* Convert conditional expressions (condition ? true : false)
|
|
323
|
+
* Handles ternary operators with proper CEL syntax and KubernetesRef support
|
|
324
|
+
*/
|
|
325
|
+
private convertConditionalExpression;
|
|
326
|
+
/**
|
|
327
|
+
* Convert an expression to a proper boolean test for CEL conditionals
|
|
328
|
+
*/
|
|
329
|
+
private convertToBooleanTest;
|
|
330
|
+
/**
|
|
331
|
+
* Check if an expression is already a boolean expression
|
|
332
|
+
*/
|
|
333
|
+
private isBooleanExpression;
|
|
334
|
+
/**
|
|
335
|
+
* Add parentheses to expression if needed for proper precedence
|
|
336
|
+
*/
|
|
337
|
+
private addParenthesesIfNeeded;
|
|
338
|
+
/**
|
|
339
|
+
* Get the main operator in an expression (the one with lowest precedence)
|
|
340
|
+
*/
|
|
341
|
+
private getMainOperator;
|
|
342
|
+
/**
|
|
343
|
+
* Get operator precedence (lower number = lower precedence)
|
|
344
|
+
*/
|
|
345
|
+
private getOperatorPrecedence;
|
|
346
|
+
/**
|
|
347
|
+
* Check if an operator is left-associative
|
|
348
|
+
*/
|
|
349
|
+
private isLeftAssociative;
|
|
350
|
+
/**
|
|
351
|
+
* Handle complex nested expressions with proper precedence
|
|
352
|
+
*/
|
|
353
|
+
private handleComplexExpression;
|
|
354
|
+
/**
|
|
355
|
+
* Convert logical expressions (&&, ||, ??)
|
|
356
|
+
* Handles logical OR fallback conversion (value || default) and nullish coalescing (value ?? default)
|
|
357
|
+
*/
|
|
358
|
+
private convertLogicalExpression;
|
|
359
|
+
/**
|
|
360
|
+
* Convert logical OR fallback (value || default) to appropriate CEL conditionals
|
|
361
|
+
*/
|
|
362
|
+
private convertLogicalOrFallback;
|
|
363
|
+
/**
|
|
364
|
+
* Convert logical AND (value && other) to CEL conditional
|
|
365
|
+
*/
|
|
366
|
+
private convertLogicalAnd;
|
|
367
|
+
/**
|
|
368
|
+
* Convert nullish coalescing (value ?? default) to CEL null-checking expressions
|
|
369
|
+
* Only checks for null and undefined, not other falsy values like || does
|
|
370
|
+
*/
|
|
371
|
+
private convertNullishCoalescing;
|
|
372
|
+
/**
|
|
373
|
+
* Preprocess modern JavaScript syntax for older esprima parser
|
|
374
|
+
*/
|
|
375
|
+
private preprocessModernSyntax;
|
|
376
|
+
/**
|
|
377
|
+
* Convert optional chaining expressions (obj?.prop?.field) to Kro conditional CEL
|
|
378
|
+
* Uses Kro's ? operator for null-safe property access
|
|
379
|
+
*/
|
|
380
|
+
private convertOptionalChaining;
|
|
381
|
+
/**
|
|
382
|
+
* Convert optional member expressions (obj?.prop, obj?.prop?.field)
|
|
383
|
+
*/
|
|
384
|
+
private convertOptionalMemberExpression;
|
|
385
|
+
/**
|
|
386
|
+
* Convert optional call expressions (obj?.method?.())
|
|
387
|
+
*/
|
|
388
|
+
private convertOptionalCallExpression;
|
|
389
|
+
/**
|
|
390
|
+
* Convert template literals with KubernetesRef interpolation
|
|
391
|
+
* Handles expressions like `http://${database.status.podIP}:5432/db`
|
|
392
|
+
*/
|
|
393
|
+
private convertTemplateLiteral;
|
|
394
|
+
/**
|
|
395
|
+
* Convert literal values (strings, numbers, booleans - no KubernetesRef objects)
|
|
396
|
+
* This preserves literal values exactly as they are, without any KubernetesRef processing
|
|
397
|
+
*/
|
|
398
|
+
private convertLiteral;
|
|
399
|
+
/**
|
|
400
|
+
* Convert call expressions (method calls and global functions)
|
|
401
|
+
*/
|
|
402
|
+
private convertCallExpression;
|
|
403
|
+
/**
|
|
404
|
+
* Convert global functions like Number(), String(), Boolean()
|
|
405
|
+
*/
|
|
406
|
+
private convertGlobalFunction;
|
|
407
|
+
/**
|
|
408
|
+
* Convert Math functions like Math.min(), Math.max(), Math.abs()
|
|
409
|
+
*/
|
|
410
|
+
private convertMathFunction;
|
|
411
|
+
/**
|
|
412
|
+
* Convert unary expressions like !x, +x, -x, !!x
|
|
413
|
+
*/
|
|
414
|
+
private convertUnaryExpression;
|
|
415
|
+
/**
|
|
416
|
+
* Convert array expressions
|
|
417
|
+
*/
|
|
418
|
+
private convertArrayExpression;
|
|
419
|
+
/**
|
|
420
|
+
* Convert identifier expressions
|
|
421
|
+
*/
|
|
422
|
+
private convertIdentifier;
|
|
423
|
+
/**
|
|
424
|
+
* Map JavaScript operators to CEL operators
|
|
425
|
+
*/
|
|
426
|
+
private mapOperatorToCel;
|
|
427
|
+
/**
|
|
428
|
+
* Extract member path from AST node
|
|
429
|
+
*/
|
|
430
|
+
private extractMemberPath;
|
|
431
|
+
/**
|
|
432
|
+
* Check if a node represents a complex expression that can't be handled as a simple path
|
|
433
|
+
*/
|
|
434
|
+
private isComplexExpression;
|
|
435
|
+
/**
|
|
436
|
+
* Get source text from AST node (placeholder implementation)
|
|
437
|
+
*/
|
|
438
|
+
private getSourceText;
|
|
439
|
+
/**
|
|
440
|
+
* Generate CEL expression for resource field reference
|
|
441
|
+
*/
|
|
442
|
+
private getResourceFieldReference;
|
|
443
|
+
/**
|
|
444
|
+
* Generate CEL expression for schema field reference
|
|
445
|
+
*/
|
|
446
|
+
private getSchemaFieldReference;
|
|
447
|
+
/**
|
|
448
|
+
* Convert array.find() method calls
|
|
449
|
+
*/
|
|
450
|
+
private convertArrayFind;
|
|
451
|
+
/**
|
|
452
|
+
* Convert array.filter() method calls
|
|
453
|
+
*/
|
|
454
|
+
private convertArrayFilter;
|
|
455
|
+
/**
|
|
456
|
+
* Convert string.includes() method calls
|
|
457
|
+
*/
|
|
458
|
+
private convertStringIncludes;
|
|
459
|
+
/**
|
|
460
|
+
* Convert array.map() method calls
|
|
461
|
+
*/
|
|
462
|
+
private convertArrayMap;
|
|
463
|
+
/**
|
|
464
|
+
* Convert array.some() method calls
|
|
465
|
+
*/
|
|
466
|
+
private convertArraySome;
|
|
467
|
+
/**
|
|
468
|
+
* Convert array.every() method calls
|
|
469
|
+
*/
|
|
470
|
+
private convertArrayEvery;
|
|
471
|
+
/**
|
|
472
|
+
* Convert string.startsWith() method calls
|
|
473
|
+
*/
|
|
474
|
+
private convertStringStartsWith;
|
|
475
|
+
/**
|
|
476
|
+
* Convert string.endsWith() method calls
|
|
477
|
+
*/
|
|
478
|
+
private convertStringEndsWith;
|
|
479
|
+
/**
|
|
480
|
+
* Convert string.toLowerCase() method calls
|
|
481
|
+
*/
|
|
482
|
+
private convertStringToLowerCase;
|
|
483
|
+
/**
|
|
484
|
+
* Convert string.toUpperCase() method calls
|
|
485
|
+
*/
|
|
486
|
+
private convertStringToUpperCase;
|
|
487
|
+
/**
|
|
488
|
+
* Convert string.trim() method calls
|
|
489
|
+
*/
|
|
490
|
+
private convertStringTrim;
|
|
491
|
+
/**
|
|
492
|
+
* Convert string.substring() method calls
|
|
493
|
+
*/
|
|
494
|
+
private convertStringSubstring;
|
|
495
|
+
/**
|
|
496
|
+
* Convert string.slice() method calls
|
|
497
|
+
*/
|
|
498
|
+
private convertStringSlice;
|
|
499
|
+
/**
|
|
500
|
+
* Convert string.split() method calls
|
|
501
|
+
*/
|
|
502
|
+
private convertStringSplit;
|
|
503
|
+
/**
|
|
504
|
+
* Convert array.join() method calls
|
|
505
|
+
*/
|
|
506
|
+
private convertArrayJoin;
|
|
507
|
+
/**
|
|
508
|
+
* Convert array.flatMap() method calls
|
|
509
|
+
*/
|
|
510
|
+
private convertArrayFlatMap;
|
|
511
|
+
/**
|
|
512
|
+
* Convert .length property access
|
|
513
|
+
*/
|
|
514
|
+
private convertLengthProperty;
|
|
515
|
+
/**
|
|
516
|
+
* Convert string.padStart() method calls
|
|
517
|
+
*/
|
|
518
|
+
private convertStringPadStart;
|
|
519
|
+
/**
|
|
520
|
+
* Convert string.padEnd() method calls
|
|
521
|
+
*/
|
|
522
|
+
private convertStringPadEnd;
|
|
523
|
+
/**
|
|
524
|
+
* Convert string.repeat() method calls
|
|
525
|
+
*/
|
|
526
|
+
private convertStringRepeat;
|
|
527
|
+
/**
|
|
528
|
+
* Convert string.replace() method calls
|
|
529
|
+
*/
|
|
530
|
+
private convertStringReplace;
|
|
531
|
+
/**
|
|
532
|
+
* Convert string.indexOf() method calls
|
|
533
|
+
*/
|
|
534
|
+
private convertStringIndexOf;
|
|
535
|
+
/**
|
|
536
|
+
* Convert string.lastIndexOf() method calls
|
|
537
|
+
*/
|
|
538
|
+
private convertStringLastIndexOf;
|
|
539
|
+
/**
|
|
540
|
+
* Infer type from field path based on common Kubernetes patterns
|
|
541
|
+
*/
|
|
542
|
+
private inferTypeFromFieldPath;
|
|
543
|
+
/**
|
|
544
|
+
* Convert binary operators to CEL equivalents
|
|
545
|
+
*/
|
|
546
|
+
private convertBinaryOperator;
|
|
547
|
+
/**
|
|
548
|
+
* Convert array access expressions with KubernetesRef support (array[0], array[index])
|
|
549
|
+
*/
|
|
550
|
+
private convertArrayAccess;
|
|
551
|
+
/**
|
|
552
|
+
* Check if a value is a static literal that doesn't need conversion
|
|
553
|
+
* Static values (no KubernetesRef objects) should be preserved as-is for performance
|
|
554
|
+
*/
|
|
555
|
+
isStaticValue(value: any): boolean;
|
|
556
|
+
/**
|
|
557
|
+
* Create a result for static values that don't require conversion
|
|
558
|
+
*/
|
|
559
|
+
createStaticValueResult(_value: any): CelConversionResult;
|
|
560
|
+
/**
|
|
561
|
+
* Analyze expression using factory pattern aware handling
|
|
562
|
+
*
|
|
563
|
+
* This method integrates with the factory pattern handler to provide
|
|
564
|
+
* appropriate expression processing based on the deployment strategy.
|
|
565
|
+
*/
|
|
566
|
+
analyzeExpressionWithFactoryPattern(expression: any, context: AnalysisContext): CelConversionResult;
|
|
567
|
+
/**
|
|
568
|
+
* Get cache statistics for performance monitoring
|
|
569
|
+
*/
|
|
570
|
+
getCacheStats(): CacheStats;
|
|
571
|
+
/**
|
|
572
|
+
* Clear all caches
|
|
573
|
+
*/
|
|
574
|
+
clearCache(): void;
|
|
575
|
+
/**
|
|
576
|
+
* Force cleanup of expired cache entries
|
|
577
|
+
*/
|
|
578
|
+
cleanupCache(): number;
|
|
579
|
+
/**
|
|
580
|
+
* Destroy analyzer and cleanup resources
|
|
581
|
+
*/
|
|
582
|
+
destroy(): void;
|
|
583
|
+
}
|
|
584
|
+
//# sourceMappingURL=analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../src/core/expressions/analyzer.ts"],"names":[],"mappings":"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"}
|