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.
Files changed (197) hide show
  1. package/README.md +4 -3
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/core/composition/imperative.d.ts.map +1 -1
  4. package/dist/core/composition/imperative.js +15 -2
  5. package/dist/core/composition/imperative.js.map +1 -1
  6. package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +1 -1
  7. package/dist/core/composition/typekro-runtime/typekro-runtime.js +24 -25
  8. package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +1 -1
  9. package/dist/core/dependencies/type-guards.d.ts.map +1 -1
  10. package/dist/core/dependencies/type-guards.js +7 -2
  11. package/dist/core/dependencies/type-guards.js.map +1 -1
  12. package/dist/core/deployment/engine.d.ts +0 -1
  13. package/dist/core/deployment/engine.d.ts.map +1 -1
  14. package/dist/core/deployment/engine.js +0 -1
  15. package/dist/core/deployment/engine.js.map +1 -1
  16. package/dist/core/errors.d.ts +85 -0
  17. package/dist/core/errors.d.ts.map +1 -1
  18. package/dist/core/errors.js +135 -0
  19. package/dist/core/errors.js.map +1 -1
  20. package/dist/core/expressions/analyzer.d.ts +584 -0
  21. package/dist/core/expressions/analyzer.d.ts.map +1 -0
  22. package/dist/core/expressions/analyzer.js +2956 -0
  23. package/dist/core/expressions/analyzer.js.map +1 -0
  24. package/dist/core/expressions/cache.d.ts +136 -0
  25. package/dist/core/expressions/cache.d.ts.map +1 -0
  26. package/dist/core/expressions/cache.js +347 -0
  27. package/dist/core/expressions/cache.js.map +1 -0
  28. package/dist/core/expressions/cel-conversion-engine.d.ts +126 -0
  29. package/dist/core/expressions/cel-conversion-engine.d.ts.map +1 -0
  30. package/dist/core/expressions/cel-conversion-engine.js +293 -0
  31. package/dist/core/expressions/cel-conversion-engine.js.map +1 -0
  32. package/dist/core/expressions/compile-time-validation.d.ts +270 -0
  33. package/dist/core/expressions/compile-time-validation.d.ts.map +1 -0
  34. package/dist/core/expressions/compile-time-validation.js +506 -0
  35. package/dist/core/expressions/compile-time-validation.js.map +1 -0
  36. package/dist/core/expressions/composition-integration.d.ts +315 -0
  37. package/dist/core/expressions/composition-integration.d.ts.map +1 -0
  38. package/dist/core/expressions/composition-integration.js +936 -0
  39. package/dist/core/expressions/composition-integration.js.map +1 -0
  40. package/dist/core/expressions/conditional-expression-processor.d.ts +154 -0
  41. package/dist/core/expressions/conditional-expression-processor.d.ts.map +1 -0
  42. package/dist/core/expressions/conditional-expression-processor.js +479 -0
  43. package/dist/core/expressions/conditional-expression-processor.js.map +1 -0
  44. package/dist/core/expressions/conditional-integration.d.ts +133 -0
  45. package/dist/core/expressions/conditional-integration.d.ts.map +1 -0
  46. package/dist/core/expressions/conditional-integration.js +293 -0
  47. package/dist/core/expressions/conditional-integration.js.map +1 -0
  48. package/dist/core/expressions/conditional-validation.d.ts +181 -0
  49. package/dist/core/expressions/conditional-validation.d.ts.map +1 -0
  50. package/dist/core/expressions/conditional-validation.js +460 -0
  51. package/dist/core/expressions/conditional-validation.js.map +1 -0
  52. package/dist/core/expressions/context-aware-generator.d.ts +127 -0
  53. package/dist/core/expressions/context-aware-generator.d.ts.map +1 -0
  54. package/dist/core/expressions/context-aware-generator.js +500 -0
  55. package/dist/core/expressions/context-aware-generator.js.map +1 -0
  56. package/dist/core/expressions/context-detector.d.ts +148 -0
  57. package/dist/core/expressions/context-detector.d.ts.map +1 -0
  58. package/dist/core/expressions/context-detector.js +546 -0
  59. package/dist/core/expressions/context-detector.js.map +1 -0
  60. package/dist/core/expressions/context-switcher.d.ts +185 -0
  61. package/dist/core/expressions/context-switcher.d.ts.map +1 -0
  62. package/dist/core/expressions/context-switcher.js +515 -0
  63. package/dist/core/expressions/context-switcher.js.map +1 -0
  64. package/dist/core/expressions/context-validator.d.ts +176 -0
  65. package/dist/core/expressions/context-validator.d.ts.map +1 -0
  66. package/dist/core/expressions/context-validator.js +452 -0
  67. package/dist/core/expressions/context-validator.js.map +1 -0
  68. package/dist/core/expressions/custom-context-manager.d.ts +194 -0
  69. package/dist/core/expressions/custom-context-manager.d.ts.map +1 -0
  70. package/dist/core/expressions/custom-context-manager.js +390 -0
  71. package/dist/core/expressions/custom-context-manager.js.map +1 -0
  72. package/dist/core/expressions/expression-proxy.d.ts +80 -0
  73. package/dist/core/expressions/expression-proxy.d.ts.map +1 -0
  74. package/dist/core/expressions/expression-proxy.js +227 -0
  75. package/dist/core/expressions/expression-proxy.js.map +1 -0
  76. package/dist/core/expressions/factory-integration.d.ts +132 -0
  77. package/dist/core/expressions/factory-integration.d.ts.map +1 -0
  78. package/dist/core/expressions/factory-integration.js +327 -0
  79. package/dist/core/expressions/factory-integration.js.map +1 -0
  80. package/dist/core/expressions/factory-pattern-handler.d.ts +88 -0
  81. package/dist/core/expressions/factory-pattern-handler.d.ts.map +1 -0
  82. package/dist/core/expressions/factory-pattern-handler.js +336 -0
  83. package/dist/core/expressions/factory-pattern-handler.js.map +1 -0
  84. package/dist/core/expressions/field-hydration-processor.d.ts +188 -0
  85. package/dist/core/expressions/field-hydration-processor.d.ts.map +1 -0
  86. package/dist/core/expressions/field-hydration-processor.js +562 -0
  87. package/dist/core/expressions/field-hydration-processor.js.map +1 -0
  88. package/dist/core/expressions/imperative-analyzer.d.ts +21 -0
  89. package/dist/core/expressions/imperative-analyzer.d.ts.map +1 -0
  90. package/dist/core/expressions/imperative-analyzer.js +343 -0
  91. package/dist/core/expressions/imperative-analyzer.js.map +1 -0
  92. package/dist/core/expressions/index.d.ts +54 -0
  93. package/dist/core/expressions/index.d.ts.map +1 -0
  94. package/dist/core/expressions/index.js +50 -0
  95. package/dist/core/expressions/index.js.map +1 -0
  96. package/dist/core/expressions/lazy-analysis.d.ts +1128 -0
  97. package/dist/core/expressions/lazy-analysis.d.ts.map +1 -0
  98. package/dist/core/expressions/lazy-analysis.js +2443 -0
  99. package/dist/core/expressions/lazy-analysis.js.map +1 -0
  100. package/dist/core/expressions/magic-assignable-analyzer.d.ts +123 -0
  101. package/dist/core/expressions/magic-assignable-analyzer.d.ts.map +1 -0
  102. package/dist/core/expressions/magic-assignable-analyzer.js +352 -0
  103. package/dist/core/expressions/magic-assignable-analyzer.js.map +1 -0
  104. package/dist/core/expressions/magic-proxy-analyzer.d.ts +206 -0
  105. package/dist/core/expressions/magic-proxy-analyzer.d.ts.map +1 -0
  106. package/dist/core/expressions/magic-proxy-analyzer.js +639 -0
  107. package/dist/core/expressions/magic-proxy-analyzer.js.map +1 -0
  108. package/dist/core/expressions/magic-proxy-detector.d.ts +154 -0
  109. package/dist/core/expressions/magic-proxy-detector.d.ts.map +1 -0
  110. package/dist/core/expressions/magic-proxy-detector.js +242 -0
  111. package/dist/core/expressions/magic-proxy-detector.js.map +1 -0
  112. package/dist/core/expressions/migration-helpers.d.ts +133 -0
  113. package/dist/core/expressions/migration-helpers.d.ts.map +1 -0
  114. package/dist/core/expressions/migration-helpers.js +443 -0
  115. package/dist/core/expressions/migration-helpers.js.map +1 -0
  116. package/dist/core/expressions/optionality-handler.d.ts +503 -0
  117. package/dist/core/expressions/optionality-handler.d.ts.map +1 -0
  118. package/dist/core/expressions/optionality-handler.js +1306 -0
  119. package/dist/core/expressions/optionality-handler.js.map +1 -0
  120. package/dist/core/expressions/readiness-integration.d.ts +119 -0
  121. package/dist/core/expressions/readiness-integration.d.ts.map +1 -0
  122. package/dist/core/expressions/readiness-integration.js +386 -0
  123. package/dist/core/expressions/readiness-integration.js.map +1 -0
  124. package/dist/core/expressions/resource-analyzer.d.ts +486 -0
  125. package/dist/core/expressions/resource-analyzer.d.ts.map +1 -0
  126. package/dist/core/expressions/resource-analyzer.js +1086 -0
  127. package/dist/core/expressions/resource-analyzer.js.map +1 -0
  128. package/dist/core/expressions/resource-validation.d.ts +187 -0
  129. package/dist/core/expressions/resource-validation.d.ts.map +1 -0
  130. package/dist/core/expressions/resource-validation.js +552 -0
  131. package/dist/core/expressions/resource-validation.js.map +1 -0
  132. package/dist/core/expressions/runtime-error-mapper.d.ts +138 -0
  133. package/dist/core/expressions/runtime-error-mapper.d.ts.map +1 -0
  134. package/dist/core/expressions/runtime-error-mapper.js +412 -0
  135. package/dist/core/expressions/runtime-error-mapper.js.map +1 -0
  136. package/dist/core/expressions/source-map.d.ts +168 -0
  137. package/dist/core/expressions/source-map.d.ts.map +1 -0
  138. package/dist/core/expressions/source-map.js +350 -0
  139. package/dist/core/expressions/source-map.js.map +1 -0
  140. package/dist/core/expressions/status-builder-analyzer.d.ts +353 -0
  141. package/dist/core/expressions/status-builder-analyzer.d.ts.map +1 -0
  142. package/dist/core/expressions/status-builder-analyzer.js +1301 -0
  143. package/dist/core/expressions/status-builder-analyzer.js.map +1 -0
  144. package/dist/core/expressions/type-inference.d.ts +184 -0
  145. package/dist/core/expressions/type-inference.d.ts.map +1 -0
  146. package/dist/core/expressions/type-inference.js +838 -0
  147. package/dist/core/expressions/type-inference.js.map +1 -0
  148. package/dist/core/expressions/type-safety.d.ts +203 -0
  149. package/dist/core/expressions/type-safety.d.ts.map +1 -0
  150. package/dist/core/expressions/type-safety.js +442 -0
  151. package/dist/core/expressions/type-safety.js.map +1 -0
  152. package/dist/core/expressions/types.d.ts +282 -0
  153. package/dist/core/expressions/types.d.ts.map +1 -0
  154. package/dist/core/expressions/types.js +8 -0
  155. package/dist/core/expressions/types.js.map +1 -0
  156. package/dist/core/kubernetes/client-provider.js +2 -2
  157. package/dist/core/kubernetes/client-provider.js.map +1 -1
  158. package/dist/core/serialization/core.d.ts.map +1 -1
  159. package/dist/core/serialization/core.js +573 -9
  160. package/dist/core/serialization/core.js.map +1 -1
  161. package/dist/core/types/deployment.d.ts +4 -0
  162. package/dist/core/types/deployment.d.ts.map +1 -1
  163. package/dist/core/types/deployment.js.map +1 -1
  164. package/dist/core/types/index.d.ts +1 -0
  165. package/dist/core/types/index.d.ts.map +1 -1
  166. package/dist/core/types/index.js.map +1 -1
  167. package/dist/core.d.ts +1 -1
  168. package/dist/core.d.ts.map +1 -1
  169. package/dist/core.js +1 -1
  170. package/dist/core.js.map +1 -1
  171. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  172. package/dist/factories/helm/helm-release.js +0 -5
  173. package/dist/factories/helm/helm-release.js.map +1 -1
  174. package/dist/factories/helm/types.d.ts +1 -1
  175. package/dist/factories/helm/types.d.ts.map +1 -1
  176. package/dist/factories/shared.d.ts.map +1 -1
  177. package/dist/factories/shared.js +21 -1
  178. package/dist/factories/shared.js.map +1 -1
  179. package/dist/factories/simple/index.d.ts +2 -2
  180. package/dist/factories/simple/index.d.ts.map +1 -1
  181. package/dist/factories/simple/workloads/deployment.d.ts +3 -3
  182. package/dist/factories/simple/workloads/deployment.d.ts.map +1 -1
  183. package/dist/factories/simple/workloads/deployment.js +37 -11
  184. package/dist/factories/simple/workloads/deployment.js.map +1 -1
  185. package/dist/index.d.ts +1 -1
  186. package/dist/index.d.ts.map +1 -1
  187. package/dist/index.js +1 -1
  188. package/dist/index.js.map +1 -1
  189. package/dist/utils/index.d.ts +1 -1
  190. package/dist/utils/index.d.ts.map +1 -1
  191. package/dist/utils/index.js +1 -1
  192. package/dist/utils/index.js.map +1 -1
  193. package/dist/utils/type-guards.d.ts +6 -0
  194. package/dist/utils/type-guards.d.ts.map +1 -1
  195. package/dist/utils/type-guards.js +25 -2
  196. package/dist/utils/type-guards.js.map +1 -1
  197. 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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"}