typekro 0.2.2 → 0.3.1

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 (213) 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 +13 -1
  13. package/dist/core/deployment/engine.d.ts.map +1 -1
  14. package/dist/core/deployment/engine.js +48 -3
  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/evaluation/cel-optimizer.d.ts.map +1 -1
  21. package/dist/core/evaluation/cel-optimizer.js +7 -13
  22. package/dist/core/evaluation/cel-optimizer.js.map +1 -1
  23. package/dist/core/expressions/analyzer.d.ts +584 -0
  24. package/dist/core/expressions/analyzer.d.ts.map +1 -0
  25. package/dist/core/expressions/analyzer.js +2956 -0
  26. package/dist/core/expressions/analyzer.js.map +1 -0
  27. package/dist/core/expressions/cache.d.ts +136 -0
  28. package/dist/core/expressions/cache.d.ts.map +1 -0
  29. package/dist/core/expressions/cache.js +347 -0
  30. package/dist/core/expressions/cache.js.map +1 -0
  31. package/dist/core/expressions/cel-conversion-engine.d.ts +126 -0
  32. package/dist/core/expressions/cel-conversion-engine.d.ts.map +1 -0
  33. package/dist/core/expressions/cel-conversion-engine.js +293 -0
  34. package/dist/core/expressions/cel-conversion-engine.js.map +1 -0
  35. package/dist/core/expressions/compile-time-validation.d.ts +270 -0
  36. package/dist/core/expressions/compile-time-validation.d.ts.map +1 -0
  37. package/dist/core/expressions/compile-time-validation.js +506 -0
  38. package/dist/core/expressions/compile-time-validation.js.map +1 -0
  39. package/dist/core/expressions/composition-integration.d.ts +315 -0
  40. package/dist/core/expressions/composition-integration.d.ts.map +1 -0
  41. package/dist/core/expressions/composition-integration.js +936 -0
  42. package/dist/core/expressions/composition-integration.js.map +1 -0
  43. package/dist/core/expressions/conditional-expression-processor.d.ts +154 -0
  44. package/dist/core/expressions/conditional-expression-processor.d.ts.map +1 -0
  45. package/dist/core/expressions/conditional-expression-processor.js +479 -0
  46. package/dist/core/expressions/conditional-expression-processor.js.map +1 -0
  47. package/dist/core/expressions/conditional-integration.d.ts +133 -0
  48. package/dist/core/expressions/conditional-integration.d.ts.map +1 -0
  49. package/dist/core/expressions/conditional-integration.js +293 -0
  50. package/dist/core/expressions/conditional-integration.js.map +1 -0
  51. package/dist/core/expressions/conditional-validation.d.ts +181 -0
  52. package/dist/core/expressions/conditional-validation.d.ts.map +1 -0
  53. package/dist/core/expressions/conditional-validation.js +460 -0
  54. package/dist/core/expressions/conditional-validation.js.map +1 -0
  55. package/dist/core/expressions/context-aware-generator.d.ts +127 -0
  56. package/dist/core/expressions/context-aware-generator.d.ts.map +1 -0
  57. package/dist/core/expressions/context-aware-generator.js +500 -0
  58. package/dist/core/expressions/context-aware-generator.js.map +1 -0
  59. package/dist/core/expressions/context-detector.d.ts +148 -0
  60. package/dist/core/expressions/context-detector.d.ts.map +1 -0
  61. package/dist/core/expressions/context-detector.js +546 -0
  62. package/dist/core/expressions/context-detector.js.map +1 -0
  63. package/dist/core/expressions/context-switcher.d.ts +185 -0
  64. package/dist/core/expressions/context-switcher.d.ts.map +1 -0
  65. package/dist/core/expressions/context-switcher.js +515 -0
  66. package/dist/core/expressions/context-switcher.js.map +1 -0
  67. package/dist/core/expressions/context-validator.d.ts +176 -0
  68. package/dist/core/expressions/context-validator.d.ts.map +1 -0
  69. package/dist/core/expressions/context-validator.js +452 -0
  70. package/dist/core/expressions/context-validator.js.map +1 -0
  71. package/dist/core/expressions/custom-context-manager.d.ts +194 -0
  72. package/dist/core/expressions/custom-context-manager.d.ts.map +1 -0
  73. package/dist/core/expressions/custom-context-manager.js +390 -0
  74. package/dist/core/expressions/custom-context-manager.js.map +1 -0
  75. package/dist/core/expressions/expression-proxy.d.ts +80 -0
  76. package/dist/core/expressions/expression-proxy.d.ts.map +1 -0
  77. package/dist/core/expressions/expression-proxy.js +227 -0
  78. package/dist/core/expressions/expression-proxy.js.map +1 -0
  79. package/dist/core/expressions/factory-integration.d.ts +132 -0
  80. package/dist/core/expressions/factory-integration.d.ts.map +1 -0
  81. package/dist/core/expressions/factory-integration.js +327 -0
  82. package/dist/core/expressions/factory-integration.js.map +1 -0
  83. package/dist/core/expressions/factory-pattern-handler.d.ts +88 -0
  84. package/dist/core/expressions/factory-pattern-handler.d.ts.map +1 -0
  85. package/dist/core/expressions/factory-pattern-handler.js +336 -0
  86. package/dist/core/expressions/factory-pattern-handler.js.map +1 -0
  87. package/dist/core/expressions/field-hydration-processor.d.ts +188 -0
  88. package/dist/core/expressions/field-hydration-processor.d.ts.map +1 -0
  89. package/dist/core/expressions/field-hydration-processor.js +562 -0
  90. package/dist/core/expressions/field-hydration-processor.js.map +1 -0
  91. package/dist/core/expressions/imperative-analyzer.d.ts +21 -0
  92. package/dist/core/expressions/imperative-analyzer.d.ts.map +1 -0
  93. package/dist/core/expressions/imperative-analyzer.js +457 -0
  94. package/dist/core/expressions/imperative-analyzer.js.map +1 -0
  95. package/dist/core/expressions/index.d.ts +54 -0
  96. package/dist/core/expressions/index.d.ts.map +1 -0
  97. package/dist/core/expressions/index.js +50 -0
  98. package/dist/core/expressions/index.js.map +1 -0
  99. package/dist/core/expressions/lazy-analysis.d.ts +1128 -0
  100. package/dist/core/expressions/lazy-analysis.d.ts.map +1 -0
  101. package/dist/core/expressions/lazy-analysis.js +2443 -0
  102. package/dist/core/expressions/lazy-analysis.js.map +1 -0
  103. package/dist/core/expressions/magic-assignable-analyzer.d.ts +123 -0
  104. package/dist/core/expressions/magic-assignable-analyzer.d.ts.map +1 -0
  105. package/dist/core/expressions/magic-assignable-analyzer.js +352 -0
  106. package/dist/core/expressions/magic-assignable-analyzer.js.map +1 -0
  107. package/dist/core/expressions/magic-proxy-analyzer.d.ts +206 -0
  108. package/dist/core/expressions/magic-proxy-analyzer.d.ts.map +1 -0
  109. package/dist/core/expressions/magic-proxy-analyzer.js +639 -0
  110. package/dist/core/expressions/magic-proxy-analyzer.js.map +1 -0
  111. package/dist/core/expressions/magic-proxy-detector.d.ts +154 -0
  112. package/dist/core/expressions/magic-proxy-detector.d.ts.map +1 -0
  113. package/dist/core/expressions/magic-proxy-detector.js +242 -0
  114. package/dist/core/expressions/magic-proxy-detector.js.map +1 -0
  115. package/dist/core/expressions/migration-helpers.d.ts +133 -0
  116. package/dist/core/expressions/migration-helpers.d.ts.map +1 -0
  117. package/dist/core/expressions/migration-helpers.js +443 -0
  118. package/dist/core/expressions/migration-helpers.js.map +1 -0
  119. package/dist/core/expressions/optionality-handler.d.ts +503 -0
  120. package/dist/core/expressions/optionality-handler.d.ts.map +1 -0
  121. package/dist/core/expressions/optionality-handler.js +1306 -0
  122. package/dist/core/expressions/optionality-handler.js.map +1 -0
  123. package/dist/core/expressions/readiness-integration.d.ts +119 -0
  124. package/dist/core/expressions/readiness-integration.d.ts.map +1 -0
  125. package/dist/core/expressions/readiness-integration.js +386 -0
  126. package/dist/core/expressions/readiness-integration.js.map +1 -0
  127. package/dist/core/expressions/resource-analyzer.d.ts +486 -0
  128. package/dist/core/expressions/resource-analyzer.d.ts.map +1 -0
  129. package/dist/core/expressions/resource-analyzer.js +1086 -0
  130. package/dist/core/expressions/resource-analyzer.js.map +1 -0
  131. package/dist/core/expressions/resource-validation.d.ts +187 -0
  132. package/dist/core/expressions/resource-validation.d.ts.map +1 -0
  133. package/dist/core/expressions/resource-validation.js +552 -0
  134. package/dist/core/expressions/resource-validation.js.map +1 -0
  135. package/dist/core/expressions/runtime-error-mapper.d.ts +138 -0
  136. package/dist/core/expressions/runtime-error-mapper.d.ts.map +1 -0
  137. package/dist/core/expressions/runtime-error-mapper.js +412 -0
  138. package/dist/core/expressions/runtime-error-mapper.js.map +1 -0
  139. package/dist/core/expressions/source-map.d.ts +168 -0
  140. package/dist/core/expressions/source-map.d.ts.map +1 -0
  141. package/dist/core/expressions/source-map.js +350 -0
  142. package/dist/core/expressions/source-map.js.map +1 -0
  143. package/dist/core/expressions/status-builder-analyzer.d.ts +353 -0
  144. package/dist/core/expressions/status-builder-analyzer.d.ts.map +1 -0
  145. package/dist/core/expressions/status-builder-analyzer.js +1311 -0
  146. package/dist/core/expressions/status-builder-analyzer.js.map +1 -0
  147. package/dist/core/expressions/type-inference.d.ts +184 -0
  148. package/dist/core/expressions/type-inference.d.ts.map +1 -0
  149. package/dist/core/expressions/type-inference.js +838 -0
  150. package/dist/core/expressions/type-inference.js.map +1 -0
  151. package/dist/core/expressions/type-safety.d.ts +203 -0
  152. package/dist/core/expressions/type-safety.d.ts.map +1 -0
  153. package/dist/core/expressions/type-safety.js +442 -0
  154. package/dist/core/expressions/type-safety.js.map +1 -0
  155. package/dist/core/expressions/types.d.ts +282 -0
  156. package/dist/core/expressions/types.d.ts.map +1 -0
  157. package/dist/core/expressions/types.js +8 -0
  158. package/dist/core/expressions/types.js.map +1 -0
  159. package/dist/core/kubernetes/client-provider.js +2 -2
  160. package/dist/core/kubernetes/client-provider.js.map +1 -1
  161. package/dist/core/references/cel.d.ts +13 -1
  162. package/dist/core/references/cel.d.ts.map +1 -1
  163. package/dist/core/references/cel.js +50 -0
  164. package/dist/core/references/cel.js.map +1 -1
  165. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  166. package/dist/core/references/schema-proxy.js +13 -8
  167. package/dist/core/references/schema-proxy.js.map +1 -1
  168. package/dist/core/serialization/core.d.ts.map +1 -1
  169. package/dist/core/serialization/core.js +573 -9
  170. package/dist/core/serialization/core.js.map +1 -1
  171. package/dist/core/types/deployment.d.ts +7 -0
  172. package/dist/core/types/deployment.d.ts.map +1 -1
  173. package/dist/core/types/deployment.js +7 -0
  174. package/dist/core/types/deployment.js.map +1 -1
  175. package/dist/core/types/index.d.ts +1 -0
  176. package/dist/core/types/index.d.ts.map +1 -1
  177. package/dist/core/types/index.js.map +1 -1
  178. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  179. package/dist/core/validation/cel-validator.js +4 -8
  180. package/dist/core/validation/cel-validator.js.map +1 -1
  181. package/dist/core.d.ts +1 -1
  182. package/dist/core.d.ts.map +1 -1
  183. package/dist/core.js +1 -1
  184. package/dist/core.js.map +1 -1
  185. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  186. package/dist/factories/helm/helm-release.js +0 -5
  187. package/dist/factories/helm/helm-release.js.map +1 -1
  188. package/dist/factories/helm/types.d.ts +1 -1
  189. package/dist/factories/helm/types.d.ts.map +1 -1
  190. package/dist/factories/index.js +1 -0
  191. package/dist/factories/index.js.map +1 -1
  192. package/dist/factories/shared.d.ts.map +1 -1
  193. package/dist/factories/shared.js +21 -1
  194. package/dist/factories/shared.js.map +1 -1
  195. package/dist/factories/simple/index.d.ts +2 -2
  196. package/dist/factories/simple/index.d.ts.map +1 -1
  197. package/dist/factories/simple/workloads/deployment.d.ts +3 -3
  198. package/dist/factories/simple/workloads/deployment.d.ts.map +1 -1
  199. package/dist/factories/simple/workloads/deployment.js +37 -11
  200. package/dist/factories/simple/workloads/deployment.js.map +1 -1
  201. package/dist/index.d.ts +1 -1
  202. package/dist/index.d.ts.map +1 -1
  203. package/dist/index.js +1 -1
  204. package/dist/index.js.map +1 -1
  205. package/dist/utils/index.d.ts +1 -1
  206. package/dist/utils/index.d.ts.map +1 -1
  207. package/dist/utils/index.js +1 -1
  208. package/dist/utils/index.js.map +1 -1
  209. package/dist/utils/type-guards.d.ts +6 -0
  210. package/dist/utils/type-guards.d.ts.map +1 -1
  211. package/dist/utils/type-guards.js +25 -2
  212. package/dist/utils/type-guards.js.map +1 -1
  213. package/package.json +6 -1
@@ -0,0 +1,315 @@
1
+ /**
2
+ * Composition Integration for JavaScript to CEL Expression Conversion
3
+ *
4
+ * This module provides integration between the kubernetesComposition API and the
5
+ * JavaScript to CEL expression conversion system. It handles KubernetesRef detection
6
+ * and conversion within imperative composition patterns.
7
+ */
8
+ import type { CompositionContext } from '../../factories/shared.js';
9
+ import type { KubernetesRef } from '../types/common.js';
10
+ import type { MagicAssignableShape, KroCompatibleType, SchemaProxy } from '../types/serialization.js';
11
+ import type { Enhanced } from '../types.js';
12
+ /**
13
+ * Analysis result for imperative composition functions
14
+ */
15
+ export interface CompositionAnalysisResult<TStatus extends KroCompatibleType> {
16
+ /** The analyzed status shape with conversion metadata */
17
+ statusShape: MagicAssignableShape<TStatus>;
18
+ /** KubernetesRef objects found in the composition */
19
+ kubernetesRefs: KubernetesRef<unknown>[];
20
+ /** Resources referenced by the composition */
21
+ referencedResources: string[];
22
+ /** Whether the composition requires CEL conversion */
23
+ requiresCelConversion: boolean;
24
+ /** Conversion metadata for debugging */
25
+ conversionMetadata: {
26
+ expressionsAnalyzed: number;
27
+ kubernetesRefsDetected: number;
28
+ celExpressionsGenerated: number;
29
+ };
30
+ }
31
+ /**
32
+ * Composition pattern types
33
+ */
34
+ export type CompositionPattern = 'imperative' | 'declarative';
35
+ /**
36
+ * Pattern-specific analysis configuration
37
+ */
38
+ export interface PatternAnalysisConfig {
39
+ pattern: CompositionPattern;
40
+ allowSideEffects: boolean;
41
+ trackResourceCreation: boolean;
42
+ validateScope: boolean;
43
+ convertTocel: boolean;
44
+ }
45
+ /**
46
+ * Composition-aware expression analyzer that integrates with kubernetesComposition
47
+ */
48
+ export declare class CompositionExpressionAnalyzer {
49
+ private magicAssignableAnalyzer;
50
+ private celEngine;
51
+ private patternConfigs;
52
+ private contextTracker;
53
+ private scopeManager;
54
+ constructor();
55
+ /**
56
+ * Detect the composition pattern being used
57
+ */
58
+ detectCompositionPattern(compositionFn: Function, context?: CompositionContext): CompositionPattern;
59
+ /**
60
+ * Analyze composition function with pattern awareness
61
+ */
62
+ analyzeCompositionFunctionWithPattern<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType>(compositionFn: (spec: TSpec) => MagicAssignableShape<TStatus>, schemaProxy: SchemaProxy<TSpec, TStatus>, pattern?: CompositionPattern, context?: CompositionContext): CompositionAnalysisResult<TStatus> & {
63
+ pattern: CompositionPattern;
64
+ patternSpecificMetadata: {
65
+ sideEffectsDetected: boolean;
66
+ resourceCreationTracked: boolean;
67
+ scopeValidationPerformed: boolean;
68
+ };
69
+ };
70
+ /**
71
+ * Process composition based on detected pattern
72
+ */
73
+ processCompositionByPattern<TStatus extends KroCompatibleType>(statusShape: MagicAssignableShape<TStatus>, pattern: CompositionPattern, factoryType?: 'direct' | 'kro'): MagicAssignableShape<TStatus>;
74
+ /**
75
+ * Validate composition pattern compatibility
76
+ */
77
+ validatePatternCompatibility(pattern: CompositionPattern, factoryType: 'direct' | 'kro', context?: CompositionContext): {
78
+ isCompatible: boolean;
79
+ warnings: string[];
80
+ recommendations: string[];
81
+ };
82
+ /**
83
+ * Get pattern-specific analysis recommendations
84
+ */
85
+ getPatternRecommendations(pattern: CompositionPattern, analysisResult: CompositionAnalysisResult<any>): string[];
86
+ /**
87
+ * Analyze a composition function for KubernetesRef usage and expression conversion needs
88
+ */
89
+ analyzeCompositionFunction<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType>(compositionFn: (spec: TSpec) => MagicAssignableShape<TStatus>, schemaProxy: SchemaProxy<TSpec, TStatus>, context?: CompositionContext): CompositionAnalysisResult<TStatus>;
90
+ /**
91
+ * Analyze a composition function's resource creation patterns
92
+ */
93
+ analyzeResourceCreation<TSpec extends KroCompatibleType>(compositionFn: (spec: TSpec) => unknown, schemaProxy: SchemaProxy<TSpec, any>, context?: CompositionContext): {
94
+ resourcesCreated: string[];
95
+ kubernetesRefsInResources: KubernetesRef<unknown>[];
96
+ requiresCelConversion: boolean;
97
+ };
98
+ /**
99
+ * Process a composition's status shape for CEL conversion
100
+ */
101
+ processCompositionStatus<TStatus extends KroCompatibleType>(statusShape: MagicAssignableShape<TStatus>, factoryType?: 'direct' | 'kro'): MagicAssignableShape<TStatus>;
102
+ /**
103
+ * Enhanced status building with comprehensive KubernetesRef handling
104
+ */
105
+ buildCompositionStatus<TStatus extends KroCompatibleType>(statusShape: MagicAssignableShape<TStatus>, context: CompositionContext, factoryType?: 'direct' | 'kro'): {
106
+ processedStatus: MagicAssignableShape<TStatus>;
107
+ kubernetesRefs: KubernetesRef<unknown>[];
108
+ dependencies: string[];
109
+ requiresCelConversion: boolean;
110
+ conversionMetadata: {
111
+ fieldsProcessed: number;
112
+ kubernetesRefsFound: number;
113
+ celExpressionsGenerated: number;
114
+ crossResourceReferences: number;
115
+ };
116
+ };
117
+ /**
118
+ * Validate status shape for composition compatibility
119
+ */
120
+ validateStatusShape<TStatus extends KroCompatibleType>(statusShape: MagicAssignableShape<TStatus>, context?: CompositionContext): {
121
+ isValid: boolean;
122
+ errors: string[];
123
+ warnings: string[];
124
+ };
125
+ /**
126
+ * Extract referenced resources from composition context
127
+ */
128
+ private extractReferencedResources;
129
+ /**
130
+ * Extract KubernetesRef objects from a resource
131
+ */
132
+ extractKubernetesRefsFromResource(resource: Enhanced<unknown, unknown>): KubernetesRef<unknown>[];
133
+ }
134
+ /**
135
+ * Context-aware resource tracking for composition integration
136
+ */
137
+ export declare class CompositionContextTracker {
138
+ private contextAnalysisCache;
139
+ resourceKubernetesRefCache: Map<string, KubernetesRef<unknown>[]>;
140
+ /**
141
+ * Track KubernetesRef usage in a composition context
142
+ */
143
+ trackCompositionContext(context: CompositionContext): {
144
+ totalKubernetesRefs: number;
145
+ resourcesWithKubernetesRefs: string[];
146
+ crossResourceReferences: Array<{
147
+ sourceResource: string;
148
+ targetResource: string;
149
+ fieldPath: string;
150
+ }>;
151
+ };
152
+ /**
153
+ * Get cached KubernetesRef objects for a resource
154
+ */
155
+ getCachedResourceKubernetesRefs(resourceId: string): KubernetesRef<unknown>[];
156
+ /**
157
+ * Clear caches for a specific context
158
+ */
159
+ clearContextCache(contextId: string): void;
160
+ /**
161
+ * Extract KubernetesRef objects from a resource
162
+ */
163
+ extractKubernetesRefsFromResource(resource: Enhanced<unknown, unknown>): KubernetesRef<unknown>[];
164
+ }
165
+ /**
166
+ * Nested composition scope information
167
+ */
168
+ export interface NestedCompositionScope {
169
+ contextId: string;
170
+ resourceIds: Set<string>;
171
+ schemaProxy?: SchemaProxy<any, any> | undefined;
172
+ parentScope?: NestedCompositionScope | undefined;
173
+ childScopes: NestedCompositionScope[];
174
+ depth: number;
175
+ mergedResourceIds?: string[] | undefined;
176
+ }
177
+ /**
178
+ * Magic proxy scoping manager for composition contexts with nested composition support
179
+ */
180
+ export declare class MagicProxyScopeManager {
181
+ private scopeStack;
182
+ private scopeRegistry;
183
+ /**
184
+ * Enter a new composition scope
185
+ */
186
+ enterScope(contextId: string, schemaProxy?: SchemaProxy<any, any>): void;
187
+ /**
188
+ * Exit the current composition scope
189
+ */
190
+ exitScope(): void;
191
+ /**
192
+ * Register a resource in the current scope
193
+ */
194
+ registerResource(resourceId: string): void;
195
+ /**
196
+ * Register merged resources from a nested composition
197
+ */
198
+ registerMergedResources(contextId: string, mergedResourceIds: string[]): void;
199
+ /**
200
+ * Get the current scope
201
+ */
202
+ getCurrentScope(): NestedCompositionScope | undefined;
203
+ /**
204
+ * Get a scope by context ID
205
+ */
206
+ getScope(contextId: string): NestedCompositionScope | undefined;
207
+ /**
208
+ * Check if a resource is accessible in the current scope (including parent scopes)
209
+ */
210
+ isResourceAccessible(resourceId: string): boolean;
211
+ /**
212
+ * Check if a resource is in the current scope only
213
+ */
214
+ isResourceInCurrentScope(resourceId: string): boolean;
215
+ /**
216
+ * Get all accessible resources (current scope + parent scopes)
217
+ */
218
+ getAccessibleResources(): string[];
219
+ /**
220
+ * Get resources in the current scope only
221
+ */
222
+ getCurrentScopeResources(): string[];
223
+ /**
224
+ * Get the scope hierarchy as a string for debugging
225
+ */
226
+ getScopeHierarchy(): string;
227
+ /**
228
+ * Validate KubernetesRef scope with nested composition support
229
+ */
230
+ validateKubernetesRefScope(kubernetesRef: KubernetesRef<unknown>): {
231
+ isValid: boolean;
232
+ error?: string;
233
+ scopeInfo?: {
234
+ foundInScope: string;
235
+ scopeDepth: number;
236
+ };
237
+ };
238
+ /**
239
+ * Get nested composition statistics
240
+ */
241
+ getNestedCompositionStats(): {
242
+ totalScopes: number;
243
+ maxDepth: number;
244
+ currentDepth: number;
245
+ totalResources: number;
246
+ resourcesByScope: Record<string, number>;
247
+ };
248
+ }
249
+ /**
250
+ * Integration hooks for kubernetesComposition API
251
+ */
252
+ export declare class CompositionIntegrationHooks {
253
+ private analyzer;
254
+ private contextTracker;
255
+ private scopeManager;
256
+ constructor();
257
+ /**
258
+ * Hook called before composition execution to set up expression analysis
259
+ */
260
+ beforeCompositionExecution<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType>(compositionFn: (spec: TSpec) => MagicAssignableShape<TStatus>, schemaProxy: SchemaProxy<TSpec, TStatus>, contextId: string): void;
261
+ /**
262
+ * Hook called after composition execution to process results
263
+ */
264
+ afterCompositionExecution<TStatus extends KroCompatibleType>(statusShape: MagicAssignableShape<TStatus>, factoryType?: 'direct' | 'kro', context?: CompositionContext): MagicAssignableShape<TStatus>;
265
+ /**
266
+ * Hook called during resource creation to analyze KubernetesRef usage
267
+ */
268
+ onResourceCreation(resourceId: string, resource: Enhanced<unknown, unknown>, _context?: CompositionContext): void;
269
+ /**
270
+ * Get the current magic proxy scope manager
271
+ */
272
+ getScopeManager(): MagicProxyScopeManager;
273
+ /**
274
+ * Get the context tracker
275
+ */
276
+ getContextTracker(): CompositionContextTracker;
277
+ /**
278
+ * Handle auto-registration of resources with KubernetesRef tracking
279
+ */
280
+ handleAutoRegistration(resourceId: string, resource: Enhanced<unknown, unknown>, context: CompositionContext): void;
281
+ /**
282
+ * Handle side-effect based resource creation with magic proxy integration
283
+ */
284
+ handleSideEffectCreation<T extends Enhanced<unknown, unknown>>(resourceFactory: () => T, resourceId?: string, context?: CompositionContext): T;
285
+ /**
286
+ * Track magic proxy usage during composition execution
287
+ */
288
+ trackMagicProxyUsage(proxyAccess: {
289
+ resourceId: string;
290
+ fieldPath: string;
291
+ accessType: 'read' | 'write';
292
+ value?: unknown;
293
+ }): void;
294
+ /**
295
+ * Ensure compatibility with existing factory functions
296
+ */
297
+ ensureFactoryCompatibility<T extends Enhanced<unknown, unknown>>(factoryFn: () => T, factoryName: string): T;
298
+ /**
299
+ * Generate a resource ID from a resource object
300
+ */
301
+ private generateResourceIdFromResource;
302
+ }
303
+ /**
304
+ * Global composition integration instance
305
+ */
306
+ export declare const compositionIntegration: CompositionIntegrationHooks;
307
+ /**
308
+ * Utility function to check if a composition function uses KubernetesRef objects
309
+ */
310
+ export declare function compositionUsesKubernetesRefs<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType>(compositionFn: (spec: TSpec) => MagicAssignableShape<TStatus>, schemaProxy: SchemaProxy<TSpec, TStatus>): boolean;
311
+ /**
312
+ * Utility function to get composition analysis metadata
313
+ */
314
+ export declare function getCompositionAnalysis<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType>(compositionFn: (spec: TSpec) => MagicAssignableShape<TStatus>, schemaProxy: SchemaProxy<TSpec, TStatus>): CompositionAnalysisResult<TStatus>;
315
+ //# sourceMappingURL=composition-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composition-integration.d.ts","sourceRoot":"","sources":["../../../src/core/expressions/composition-integration.ts"],"names":[],"mappings":"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"}