typekro 0.4.0 → 0.5.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 (1246) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/advanced/index.d.ts +52 -0
  3. package/dist/advanced/index.d.ts.map +1 -0
  4. package/dist/advanced/index.js +60 -0
  5. package/dist/advanced/index.js.map +1 -0
  6. package/dist/alchemy/deployers.d.ts.map +1 -1
  7. package/dist/alchemy/deployers.js +12 -28
  8. package/dist/alchemy/deployers.js.map +1 -1
  9. package/dist/alchemy/index.d.ts +8 -8
  10. package/dist/alchemy/index.d.ts.map +1 -1
  11. package/dist/alchemy/index.js +12 -11
  12. package/dist/alchemy/index.js.map +1 -1
  13. package/dist/alchemy/resolver.d.ts.map +1 -1
  14. package/dist/alchemy/resolver.js +6 -5
  15. package/dist/alchemy/resolver.js.map +1 -1
  16. package/dist/alchemy/resource-registration.d.ts.map +1 -1
  17. package/dist/alchemy/resource-registration.js +20 -8
  18. package/dist/alchemy/resource-registration.js.map +1 -1
  19. package/dist/alchemy/type-inference.d.ts.map +1 -1
  20. package/dist/alchemy/type-inference.js +6 -5
  21. package/dist/alchemy/type-inference.js.map +1 -1
  22. package/dist/alchemy/types.d.ts +1 -1
  23. package/dist/alchemy/types.d.ts.map +1 -1
  24. package/dist/alchemy/utilities.d.ts.map +1 -1
  25. package/dist/alchemy/utilities.js +1 -1
  26. package/dist/alchemy/utilities.js.map +1 -1
  27. package/dist/alchemy/wrapper.d.ts +4 -2
  28. package/dist/alchemy/wrapper.d.ts.map +1 -1
  29. package/dist/alchemy/wrapper.js +2 -1
  30. package/dist/alchemy/wrapper.js.map +1 -1
  31. package/dist/compositions/typekro-runtime/index.d.ts +3 -0
  32. package/dist/compositions/typekro-runtime/index.d.ts.map +1 -0
  33. package/dist/compositions/typekro-runtime/index.js.map +1 -0
  34. package/dist/{core/composition → compositions}/typekro-runtime/typekro-runtime.d.ts +7 -2
  35. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -0
  36. package/dist/compositions/typekro-runtime/typekro-runtime.js +404 -0
  37. package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -0
  38. package/dist/compositions/typekro-runtime/types.d.ts +45 -0
  39. package/dist/compositions/typekro-runtime/types.d.ts.map +1 -0
  40. package/dist/compositions/typekro-runtime/types.js.map +1 -0
  41. package/dist/core/composition/context.d.ts +91 -0
  42. package/dist/core/composition/context.d.ts.map +1 -0
  43. package/dist/core/composition/context.js +125 -0
  44. package/dist/core/composition/context.js.map +1 -0
  45. package/dist/core/composition/imperative.d.ts +36 -10
  46. package/dist/core/composition/imperative.d.ts.map +1 -1
  47. package/dist/core/composition/imperative.js +127 -115
  48. package/dist/core/composition/imperative.js.map +1 -1
  49. package/dist/core/composition/index.d.ts +2 -4
  50. package/dist/core/composition/index.d.ts.map +1 -1
  51. package/dist/core/composition/index.js +1 -4
  52. package/dist/core/composition/index.js.map +1 -1
  53. package/dist/core/composition-debugger.d.ts +78 -0
  54. package/dist/core/composition-debugger.d.ts.map +1 -0
  55. package/dist/core/composition-debugger.js +142 -0
  56. package/dist/core/composition-debugger.js.map +1 -0
  57. package/dist/core/config/defaults.d.ts +109 -0
  58. package/dist/core/config/defaults.d.ts.map +1 -0
  59. package/dist/core/config/defaults.js +150 -0
  60. package/dist/core/config/defaults.js.map +1 -0
  61. package/dist/core/config/env.d.ts +12 -0
  62. package/dist/core/config/env.d.ts.map +1 -0
  63. package/dist/core/config/env.js +16 -0
  64. package/dist/core/config/env.js.map +1 -0
  65. package/dist/core/config/index.d.ts +3 -0
  66. package/dist/core/config/index.d.ts.map +1 -0
  67. package/dist/core/config/index.js +3 -0
  68. package/dist/core/config/index.js.map +1 -0
  69. package/dist/core/constants/brands.d.ts +4 -57
  70. package/dist/core/constants/brands.d.ts.map +1 -1
  71. package/dist/core/constants/brands.js +4 -60
  72. package/dist/core/constants/brands.js.map +1 -1
  73. package/dist/core/dependencies/graph.d.ts.map +1 -1
  74. package/dist/core/dependencies/graph.js +4 -4
  75. package/dist/core/dependencies/graph.js.map +1 -1
  76. package/dist/core/dependencies/resolver.d.ts.map +1 -1
  77. package/dist/core/dependencies/resolver.js +3 -3
  78. package/dist/core/dependencies/resolver.js.map +1 -1
  79. package/dist/core/deployment/client-provider-manager.d.ts +40 -0
  80. package/dist/core/deployment/client-provider-manager.d.ts.map +1 -0
  81. package/dist/core/deployment/client-provider-manager.js +63 -0
  82. package/dist/core/deployment/client-provider-manager.js.map +1 -0
  83. package/dist/core/deployment/closure-planner.d.ts +20 -0
  84. package/dist/core/deployment/closure-planner.d.ts.map +1 -0
  85. package/dist/core/deployment/closure-planner.js +96 -0
  86. package/dist/core/deployment/closure-planner.js.map +1 -0
  87. package/dist/core/deployment/crd-manager.d.ts +52 -0
  88. package/dist/core/deployment/crd-manager.d.ts.map +1 -0
  89. package/dist/core/deployment/crd-manager.js +227 -0
  90. package/dist/core/deployment/crd-manager.js.map +1 -0
  91. package/dist/core/deployment/debug-logger.d.ts +3 -14
  92. package/dist/core/deployment/debug-logger.d.ts.map +1 -1
  93. package/dist/core/deployment/debug-logger.js +41 -12
  94. package/dist/core/deployment/debug-logger.js.map +1 -1
  95. package/dist/core/deployment/direct-factory.d.ts +23 -8
  96. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  97. package/dist/core/deployment/direct-factory.js +256 -164
  98. package/dist/core/deployment/direct-factory.js.map +1 -1
  99. package/dist/core/deployment/engine.d.ts +85 -65
  100. package/dist/core/deployment/engine.d.ts.map +1 -1
  101. package/dist/core/deployment/engine.js +505 -1703
  102. package/dist/core/deployment/engine.js.map +1 -1
  103. package/dist/core/deployment/errors.d.ts +30 -0
  104. package/dist/core/deployment/errors.d.ts.map +1 -0
  105. package/dist/core/deployment/errors.js +84 -0
  106. package/dist/core/deployment/errors.js.map +1 -0
  107. package/dist/core/deployment/event-filter.d.ts.map +1 -1
  108. package/dist/core/deployment/event-filter.js +16 -12
  109. package/dist/core/deployment/event-filter.js.map +1 -1
  110. package/dist/core/deployment/event-monitor.d.ts +3 -3
  111. package/dist/core/deployment/event-monitor.d.ts.map +1 -1
  112. package/dist/core/deployment/event-monitor.js +127 -49
  113. package/dist/core/deployment/event-monitor.js.map +1 -1
  114. package/dist/core/deployment/index.d.ts +5 -2
  115. package/dist/core/deployment/index.d.ts.map +1 -1
  116. package/dist/core/deployment/index.js +5 -3
  117. package/dist/core/deployment/index.js.map +1 -1
  118. package/dist/core/deployment/k8s-helpers.d.ts +44 -0
  119. package/dist/core/deployment/k8s-helpers.d.ts.map +1 -0
  120. package/dist/core/deployment/k8s-helpers.js +109 -0
  121. package/dist/core/deployment/k8s-helpers.js.map +1 -0
  122. package/dist/core/deployment/kro-factory.d.ts +28 -22
  123. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  124. package/dist/core/deployment/kro-factory.js +247 -366
  125. package/dist/core/deployment/kro-factory.js.map +1 -1
  126. package/dist/core/deployment/kro-readiness.d.ts +54 -0
  127. package/dist/core/deployment/kro-readiness.d.ts.map +1 -0
  128. package/dist/core/deployment/kro-readiness.js +140 -0
  129. package/dist/core/deployment/kro-readiness.js.map +1 -0
  130. package/dist/core/deployment/readiness-waiter.d.ts +60 -0
  131. package/dist/core/deployment/readiness-waiter.d.ts.map +1 -0
  132. package/dist/core/deployment/readiness-waiter.js +245 -0
  133. package/dist/core/deployment/readiness-waiter.js.map +1 -0
  134. package/dist/core/deployment/readiness.d.ts +3 -9
  135. package/dist/core/deployment/readiness.d.ts.map +1 -1
  136. package/dist/core/deployment/readiness.js +12 -28
  137. package/dist/core/deployment/readiness.js.map +1 -1
  138. package/dist/core/deployment/resource-applier.d.ts +58 -0
  139. package/dist/core/deployment/resource-applier.d.ts.map +1 -0
  140. package/dist/core/deployment/resource-applier.js +385 -0
  141. package/dist/core/deployment/resource-applier.js.map +1 -0
  142. package/dist/core/deployment/rollback-manager.d.ts +19 -2
  143. package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
  144. package/dist/core/deployment/rollback-manager.js +127 -11
  145. package/dist/core/deployment/rollback-manager.js.map +1 -1
  146. package/dist/core/deployment/shared-utilities.d.ts +38 -9
  147. package/dist/core/deployment/shared-utilities.d.ts.map +1 -1
  148. package/dist/core/deployment/shared-utilities.js +92 -22
  149. package/dist/core/deployment/shared-utilities.js.map +1 -1
  150. package/dist/core/deployment/status-hydrator.d.ts.map +1 -1
  151. package/dist/core/deployment/status-hydrator.js +13 -10
  152. package/dist/core/deployment/status-hydrator.js.map +1 -1
  153. package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +1 -1
  154. package/dist/core/deployment/strategies/alchemy-strategy.js +16 -9
  155. package/dist/core/deployment/strategies/alchemy-strategy.js.map +1 -1
  156. package/dist/core/deployment/strategies/base-strategy.d.ts +14 -0
  157. package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
  158. package/dist/core/deployment/strategies/base-strategy.js +325 -244
  159. package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
  160. package/dist/core/deployment/strategies/direct-strategy.d.ts +4 -4
  161. package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
  162. package/dist/core/deployment/strategies/direct-strategy.js +12 -3
  163. package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
  164. package/dist/core/deployment/strategies/kro-strategy.d.ts +13 -8
  165. package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -1
  166. package/dist/core/deployment/strategies/kro-strategy.js +51 -148
  167. package/dist/core/deployment/strategies/kro-strategy.js.map +1 -1
  168. package/dist/core/errors.d.ts +134 -83
  169. package/dist/core/errors.d.ts.map +1 -1
  170. package/dist/core/errors.js +177 -300
  171. package/dist/core/errors.js.map +1 -1
  172. package/dist/core/expressions/analysis/analyzer.d.ts +155 -0
  173. package/dist/core/expressions/analysis/analyzer.d.ts.map +1 -0
  174. package/dist/core/expressions/analysis/analyzer.js +540 -0
  175. package/dist/core/expressions/analysis/analyzer.js.map +1 -0
  176. package/dist/core/expressions/analysis/array-method-converters.d.ts +19 -0
  177. package/dist/core/expressions/analysis/array-method-converters.d.ts.map +1 -0
  178. package/dist/core/expressions/analysis/array-method-converters.js +175 -0
  179. package/dist/core/expressions/analysis/array-method-converters.js.map +1 -0
  180. package/dist/core/expressions/analysis/ast-helpers.d.ts +49 -0
  181. package/dist/core/expressions/analysis/ast-helpers.d.ts.map +1 -0
  182. package/dist/core/expressions/analysis/ast-helpers.js +106 -0
  183. package/dist/core/expressions/analysis/ast-helpers.js.map +1 -0
  184. package/dist/core/expressions/analysis/ast-node-converters.d.ts +15 -0
  185. package/dist/core/expressions/analysis/ast-node-converters.d.ts.map +1 -0
  186. package/dist/core/expressions/analysis/ast-node-converters.js +123 -0
  187. package/dist/core/expressions/analysis/ast-node-converters.js.map +1 -0
  188. package/dist/core/expressions/analysis/ast-type-guards.d.ts +14 -0
  189. package/dist/core/expressions/analysis/ast-type-guards.d.ts.map +1 -0
  190. package/dist/core/expressions/analysis/ast-type-guards.js +15 -0
  191. package/dist/core/expressions/analysis/ast-type-guards.js.map +1 -0
  192. package/dist/core/expressions/{cache.d.ts → analysis/cache.d.ts} +1 -1
  193. package/dist/core/expressions/analysis/cache.d.ts.map +1 -0
  194. package/dist/core/expressions/{cache.js → analysis/cache.js} +13 -13
  195. package/dist/core/expressions/analysis/cache.js.map +1 -0
  196. package/dist/core/expressions/analysis/call-expression-converters.d.ts +18 -0
  197. package/dist/core/expressions/analysis/call-expression-converters.d.ts.map +1 -0
  198. package/dist/core/expressions/analysis/call-expression-converters.js +220 -0
  199. package/dist/core/expressions/analysis/call-expression-converters.js.map +1 -0
  200. package/dist/core/expressions/analysis/cel-emitter.d.ts +85 -0
  201. package/dist/core/expressions/analysis/cel-emitter.d.ts.map +1 -0
  202. package/dist/core/expressions/analysis/cel-emitter.js +455 -0
  203. package/dist/core/expressions/analysis/cel-emitter.js.map +1 -0
  204. package/dist/core/expressions/analysis/expression-classifier.d.ts +77 -0
  205. package/dist/core/expressions/analysis/expression-classifier.d.ts.map +1 -0
  206. package/dist/core/expressions/analysis/expression-classifier.js +487 -0
  207. package/dist/core/expressions/analysis/expression-classifier.js.map +1 -0
  208. package/dist/core/expressions/analysis/fn-toString-self-test.d.ts +146 -0
  209. package/dist/core/expressions/analysis/fn-toString-self-test.d.ts.map +1 -0
  210. package/dist/core/expressions/analysis/fn-toString-self-test.js +243 -0
  211. package/dist/core/expressions/analysis/fn-toString-self-test.js.map +1 -0
  212. package/dist/core/expressions/analysis/operator-utils.d.ts +35 -0
  213. package/dist/core/expressions/analysis/operator-utils.d.ts.map +1 -0
  214. package/dist/core/expressions/analysis/operator-utils.js +167 -0
  215. package/dist/core/expressions/analysis/operator-utils.js.map +1 -0
  216. package/dist/core/expressions/analysis/parse-core.d.ts +63 -0
  217. package/dist/core/expressions/analysis/parse-core.d.ts.map +1 -0
  218. package/dist/core/expressions/analysis/parse-core.js +115 -0
  219. package/dist/core/expressions/analysis/parse-core.js.map +1 -0
  220. package/dist/core/expressions/{parser.d.ts → analysis/parser.d.ts} +2 -38
  221. package/dist/core/expressions/analysis/parser.d.ts.map +1 -0
  222. package/dist/core/expressions/{parser.js → analysis/parser.js} +20 -80
  223. package/dist/core/expressions/analysis/parser.js.map +1 -0
  224. package/dist/core/expressions/analysis/scope-resolver.d.ts +57 -0
  225. package/dist/core/expressions/analysis/scope-resolver.d.ts.map +1 -0
  226. package/dist/core/expressions/analysis/scope-resolver.js +440 -0
  227. package/dist/core/expressions/analysis/scope-resolver.js.map +1 -0
  228. package/dist/core/expressions/analysis/shared-types.d.ts +132 -0
  229. package/dist/core/expressions/analysis/shared-types.d.ts.map +1 -0
  230. package/dist/core/expressions/analysis/shared-types.js +13 -0
  231. package/dist/core/expressions/analysis/shared-types.js.map +1 -0
  232. package/dist/core/expressions/analysis/source-map.d.ts.map +1 -0
  233. package/dist/core/expressions/{source-map.js → analysis/source-map.js} +16 -17
  234. package/dist/core/expressions/analysis/source-map.js.map +1 -0
  235. package/dist/core/expressions/analysis/string-method-converters.d.ts +27 -0
  236. package/dist/core/expressions/analysis/string-method-converters.d.ts.map +1 -0
  237. package/dist/core/expressions/analysis/string-method-converters.js +208 -0
  238. package/dist/core/expressions/analysis/string-method-converters.js.map +1 -0
  239. package/dist/core/expressions/{types.d.ts → analysis/types.d.ts} +5 -5
  240. package/dist/core/expressions/analysis/types.d.ts.map +1 -0
  241. package/dist/core/expressions/analysis/types.js.map +1 -0
  242. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts +92 -0
  243. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -0
  244. package/dist/core/expressions/composition/composition-analyzer-helpers.js +301 -0
  245. package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -0
  246. package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts +77 -0
  247. package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts.map +1 -0
  248. package/dist/core/expressions/composition/composition-analyzer-ternary.js +364 -0
  249. package/dist/core/expressions/composition/composition-analyzer-ternary.js.map +1 -0
  250. package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts +37 -0
  251. package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts.map +1 -0
  252. package/dist/core/expressions/composition/composition-analyzer-traversal.js +375 -0
  253. package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -0
  254. package/dist/core/expressions/composition/composition-analyzer-types.d.ts +140 -0
  255. package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -0
  256. package/dist/core/expressions/composition/composition-analyzer-types.js +8 -0
  257. package/dist/core/expressions/composition/composition-analyzer-types.js.map +1 -0
  258. package/dist/core/expressions/composition/composition-analyzer.d.ts +39 -0
  259. package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -0
  260. package/dist/core/expressions/composition/composition-analyzer.js +144 -0
  261. package/dist/core/expressions/composition/composition-analyzer.js.map +1 -0
  262. package/dist/core/expressions/composition/context-tracker.d.ts +39 -0
  263. package/dist/core/expressions/composition/context-tracker.d.ts.map +1 -0
  264. package/dist/core/expressions/composition/context-tracker.js +64 -0
  265. package/dist/core/expressions/composition/context-tracker.js.map +1 -0
  266. package/dist/core/expressions/composition/expression-analyzer.d.ts +101 -0
  267. package/dist/core/expressions/composition/expression-analyzer.d.ts.map +1 -0
  268. package/dist/core/expressions/composition/expression-analyzer.js +425 -0
  269. package/dist/core/expressions/composition/expression-analyzer.js.map +1 -0
  270. package/dist/core/expressions/{imperative-analyzer.d.ts → composition/imperative-analyzer.d.ts} +3 -3
  271. package/dist/core/expressions/composition/imperative-analyzer.d.ts.map +1 -0
  272. package/dist/core/expressions/{imperative-analyzer.js → composition/imperative-analyzer.js} +15 -7
  273. package/dist/core/expressions/composition/imperative-analyzer.js.map +1 -0
  274. package/dist/core/expressions/composition/index.d.ts +17 -0
  275. package/dist/core/expressions/composition/index.d.ts.map +1 -0
  276. package/dist/core/expressions/composition/index.js +18 -0
  277. package/dist/core/expressions/composition/index.js.map +1 -0
  278. package/dist/core/expressions/composition/integration-hooks.d.ts +71 -0
  279. package/dist/core/expressions/composition/integration-hooks.d.ts.map +1 -0
  280. package/dist/core/expressions/composition/integration-hooks.js +248 -0
  281. package/dist/core/expressions/composition/integration-hooks.js.map +1 -0
  282. package/dist/core/expressions/composition/scope-manager.d.ts +93 -0
  283. package/dist/core/expressions/composition/scope-manager.d.ts.map +1 -0
  284. package/dist/core/expressions/composition/scope-manager.js +215 -0
  285. package/dist/core/expressions/composition/scope-manager.js.map +1 -0
  286. package/dist/core/expressions/composition/types.d.ts +41 -0
  287. package/dist/core/expressions/composition/types.d.ts.map +1 -0
  288. package/dist/core/expressions/composition/types.js +7 -0
  289. package/dist/core/expressions/composition/types.js.map +1 -0
  290. package/dist/core/expressions/{conditional-expression-processor.d.ts → conditional/conditional-expression-processor.d.ts} +3 -3
  291. package/dist/core/expressions/conditional/conditional-expression-processor.d.ts.map +1 -0
  292. package/dist/core/expressions/{conditional-expression-processor.js → conditional/conditional-expression-processor.js} +59 -50
  293. package/dist/core/expressions/conditional/conditional-expression-processor.js.map +1 -0
  294. package/dist/core/expressions/{conditional-integration.d.ts → conditional/conditional-integration.d.ts} +13 -35
  295. package/dist/core/expressions/conditional/conditional-integration.d.ts.map +1 -0
  296. package/dist/core/expressions/{conditional-integration.js → conditional/conditional-integration.js} +92 -86
  297. package/dist/core/expressions/conditional/conditional-integration.js.map +1 -0
  298. package/dist/core/expressions/{context-aware-generator.d.ts → context/context-aware-generator.d.ts} +4 -28
  299. package/dist/core/expressions/context/context-aware-generator.d.ts.map +1 -0
  300. package/dist/core/expressions/{context-aware-generator.js → context/context-aware-generator.js} +27 -121
  301. package/dist/core/expressions/context/context-aware-generator.js.map +1 -0
  302. package/dist/core/expressions/{context-detector.d.ts → context/context-detector.d.ts} +7 -13
  303. package/dist/core/expressions/context/context-detector.d.ts.map +1 -0
  304. package/dist/core/expressions/{context-detector.js → context/context-detector.js} +45 -63
  305. package/dist/core/expressions/context/context-detector.js.map +1 -0
  306. package/dist/core/expressions/{context-validator.d.ts → context/context-validator.d.ts} +5 -36
  307. package/dist/core/expressions/context/context-validator.d.ts.map +1 -0
  308. package/dist/core/expressions/{context-validator.js → context/context-validator.js} +55 -124
  309. package/dist/core/expressions/context/context-validator.js.map +1 -0
  310. package/dist/core/expressions/{cel-conversion-engine.d.ts → factory/cel-conversion-engine.d.ts} +3 -3
  311. package/dist/core/expressions/factory/cel-conversion-engine.d.ts.map +1 -0
  312. package/dist/core/expressions/{cel-conversion-engine.js → factory/cel-conversion-engine.js} +10 -9
  313. package/dist/core/expressions/factory/cel-conversion-engine.js.map +1 -0
  314. package/dist/core/expressions/factory/dependency-tracker.d.ts +222 -0
  315. package/dist/core/expressions/factory/dependency-tracker.d.ts.map +1 -0
  316. package/dist/core/expressions/factory/dependency-tracker.js +512 -0
  317. package/dist/core/expressions/factory/dependency-tracker.js.map +1 -0
  318. package/dist/core/expressions/{factory-integration.d.ts → factory/factory-integration.d.ts} +3 -18
  319. package/dist/core/expressions/factory/factory-integration.d.ts.map +1 -0
  320. package/dist/core/expressions/{factory-integration.js → factory/factory-integration.js} +28 -29
  321. package/dist/core/expressions/factory/factory-integration.js.map +1 -0
  322. package/dist/core/expressions/{factory-pattern-handler.d.ts → factory/factory-pattern-handler.d.ts} +8 -8
  323. package/dist/core/expressions/factory/factory-pattern-handler.d.ts.map +1 -0
  324. package/dist/core/expressions/{factory-pattern-handler.js → factory/factory-pattern-handler.js} +101 -73
  325. package/dist/core/expressions/factory/factory-pattern-handler.js.map +1 -0
  326. package/dist/core/expressions/{migration-helpers.d.ts → factory/migration-helpers.d.ts} +4 -4
  327. package/dist/core/expressions/factory/migration-helpers.d.ts.map +1 -0
  328. package/dist/core/expressions/{migration-helpers.js → factory/migration-helpers.js} +28 -26
  329. package/dist/core/expressions/factory/migration-helpers.js.map +1 -0
  330. package/dist/core/expressions/factory/resource-analyzer.d.ts +139 -0
  331. package/dist/core/expressions/factory/resource-analyzer.d.ts.map +1 -0
  332. package/dist/core/expressions/factory/resource-analyzer.js +286 -0
  333. package/dist/core/expressions/factory/resource-analyzer.js.map +1 -0
  334. package/dist/core/expressions/factory/resource-type-validator.d.ts +149 -0
  335. package/dist/core/expressions/factory/resource-type-validator.d.ts.map +1 -0
  336. package/dist/core/expressions/factory/resource-type-validator.js +318 -0
  337. package/dist/core/expressions/factory/resource-type-validator.js.map +1 -0
  338. package/dist/core/expressions/factory/status-ast-utils.d.ts +36 -0
  339. package/dist/core/expressions/factory/status-ast-utils.d.ts.map +1 -0
  340. package/dist/core/expressions/factory/status-ast-utils.js +320 -0
  341. package/dist/core/expressions/factory/status-ast-utils.js.map +1 -0
  342. package/dist/core/expressions/factory/status-builder-analyzer.d.ts +91 -0
  343. package/dist/core/expressions/factory/status-builder-analyzer.d.ts.map +1 -0
  344. package/dist/core/expressions/factory/status-builder-analyzer.js +374 -0
  345. package/dist/core/expressions/factory/status-builder-analyzer.js.map +1 -0
  346. package/dist/core/expressions/factory/status-builder-types.d.ts +166 -0
  347. package/dist/core/expressions/factory/status-builder-types.d.ts.map +1 -0
  348. package/dist/core/expressions/factory/status-builder-types.js +8 -0
  349. package/dist/core/expressions/factory/status-builder-types.js.map +1 -0
  350. package/dist/core/expressions/factory/status-cel-generation.d.ts +67 -0
  351. package/dist/core/expressions/factory/status-cel-generation.d.ts.map +1 -0
  352. package/dist/core/expressions/factory/status-cel-generation.js +330 -0
  353. package/dist/core/expressions/factory/status-cel-generation.js.map +1 -0
  354. package/dist/core/expressions/factory/status-field-analysis.d.ts +57 -0
  355. package/dist/core/expressions/factory/status-field-analysis.d.ts.map +1 -0
  356. package/dist/core/expressions/factory/status-field-analysis.js +475 -0
  357. package/dist/core/expressions/factory/status-field-analysis.js.map +1 -0
  358. package/dist/core/expressions/index.d.ts +39 -51
  359. package/dist/core/expressions/index.d.ts.map +1 -1
  360. package/dist/core/expressions/index.js +46 -47
  361. package/dist/core/expressions/index.js.map +1 -1
  362. package/dist/core/expressions/{magic-assignable-analyzer.d.ts → magic-proxy/magic-assignable-analyzer.d.ts} +5 -5
  363. package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.d.ts.map +1 -0
  364. package/dist/core/expressions/{magic-assignable-analyzer.js → magic-proxy/magic-assignable-analyzer.js} +29 -24
  365. package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.js.map +1 -0
  366. package/dist/core/expressions/{magic-proxy-analyzer.d.ts → magic-proxy/magic-proxy-analyzer.d.ts} +15 -68
  367. package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.d.ts.map +1 -0
  368. package/dist/core/expressions/{magic-proxy-analyzer.js → magic-proxy/magic-proxy-analyzer.js} +45 -196
  369. package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.js.map +1 -0
  370. package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts +44 -0
  371. package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts.map +1 -0
  372. package/dist/core/expressions/magic-proxy/magic-proxy-ast.js +175 -0
  373. package/dist/core/expressions/magic-proxy/magic-proxy-ast.js.map +1 -0
  374. package/dist/core/expressions/{magic-proxy-detector.d.ts → magic-proxy/magic-proxy-detector.d.ts} +7 -7
  375. package/dist/core/expressions/magic-proxy/magic-proxy-detector.d.ts.map +1 -0
  376. package/dist/core/expressions/{magic-proxy-detector.js → magic-proxy/magic-proxy-detector.js} +36 -28
  377. package/dist/core/expressions/magic-proxy/magic-proxy-detector.js.map +1 -0
  378. package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts +36 -0
  379. package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts.map +1 -0
  380. package/dist/core/expressions/magic-proxy/magic-proxy-types.js +8 -0
  381. package/dist/core/expressions/magic-proxy/magic-proxy-types.js.map +1 -0
  382. package/dist/core/expressions/magic-proxy/optionality-analysis.d.ts +54 -0
  383. package/dist/core/expressions/magic-proxy/optionality-analysis.d.ts.map +1 -0
  384. package/dist/core/expressions/magic-proxy/optionality-analysis.js +239 -0
  385. package/dist/core/expressions/magic-proxy/optionality-analysis.js.map +1 -0
  386. package/dist/core/expressions/magic-proxy/optionality-cel-generation.d.ts +51 -0
  387. package/dist/core/expressions/magic-proxy/optionality-cel-generation.d.ts.map +1 -0
  388. package/dist/core/expressions/magic-proxy/optionality-cel-generation.js +201 -0
  389. package/dist/core/expressions/magic-proxy/optionality-cel-generation.js.map +1 -0
  390. package/dist/core/expressions/magic-proxy/optionality-handler.d.ts +119 -0
  391. package/dist/core/expressions/magic-proxy/optionality-handler.d.ts.map +1 -0
  392. package/dist/core/expressions/magic-proxy/optionality-handler.js +321 -0
  393. package/dist/core/expressions/magic-proxy/optionality-handler.js.map +1 -0
  394. package/dist/core/expressions/magic-proxy/optionality-hydration.d.ts +84 -0
  395. package/dist/core/expressions/magic-proxy/optionality-hydration.d.ts.map +1 -0
  396. package/dist/core/expressions/magic-proxy/optionality-hydration.js +378 -0
  397. package/dist/core/expressions/magic-proxy/optionality-hydration.js.map +1 -0
  398. package/dist/core/expressions/magic-proxy/optionality-optional-chaining.d.ts +61 -0
  399. package/dist/core/expressions/magic-proxy/optionality-optional-chaining.d.ts.map +1 -0
  400. package/dist/core/expressions/magic-proxy/optionality-optional-chaining.js +218 -0
  401. package/dist/core/expressions/magic-proxy/optionality-optional-chaining.js.map +1 -0
  402. package/dist/core/expressions/magic-proxy/optionality-types.d.ts +206 -0
  403. package/dist/core/expressions/magic-proxy/optionality-types.d.ts.map +1 -0
  404. package/dist/core/expressions/magic-proxy/optionality-types.js +9 -0
  405. package/dist/core/expressions/magic-proxy/optionality-types.js.map +1 -0
  406. package/dist/core/expressions/validation/compile-time-checker.d.ts +74 -0
  407. package/dist/core/expressions/validation/compile-time-checker.d.ts.map +1 -0
  408. package/dist/core/expressions/{compile-time-validation.js → validation/compile-time-checker.js} +44 -91
  409. package/dist/core/expressions/validation/compile-time-checker.js.map +1 -0
  410. package/dist/core/expressions/validation/compile-time-errors.d.ts +70 -0
  411. package/dist/core/expressions/validation/compile-time-errors.d.ts.map +1 -0
  412. package/dist/core/expressions/validation/compile-time-errors.js +63 -0
  413. package/dist/core/expressions/validation/compile-time-errors.js.map +1 -0
  414. package/dist/core/expressions/validation/compile-time-types.d.ts +147 -0
  415. package/dist/core/expressions/validation/compile-time-types.d.ts.map +1 -0
  416. package/dist/core/expressions/validation/compile-time-types.js +8 -0
  417. package/dist/core/expressions/validation/compile-time-types.js.map +1 -0
  418. package/dist/core/expressions/validation/compile-time-validation.d.ts +13 -0
  419. package/dist/core/expressions/validation/compile-time-validation.d.ts.map +1 -0
  420. package/dist/core/expressions/validation/compile-time-validation.js +14 -0
  421. package/dist/core/expressions/validation/compile-time-validation.js.map +1 -0
  422. package/dist/core/expressions/validation/kubernetes-field-types.d.ts +35 -0
  423. package/dist/core/expressions/validation/kubernetes-field-types.d.ts.map +1 -0
  424. package/dist/core/expressions/validation/kubernetes-field-types.js +230 -0
  425. package/dist/core/expressions/validation/kubernetes-field-types.js.map +1 -0
  426. package/dist/core/expressions/validation/resource-field-utils.d.ts +69 -0
  427. package/dist/core/expressions/validation/resource-field-utils.d.ts.map +1 -0
  428. package/dist/core/expressions/validation/resource-field-utils.js +280 -0
  429. package/dist/core/expressions/validation/resource-field-utils.js.map +1 -0
  430. package/dist/core/expressions/{resource-validation.d.ts → validation/resource-validation-types.d.ts} +6 -63
  431. package/dist/core/expressions/validation/resource-validation-types.d.ts.map +1 -0
  432. package/dist/core/expressions/validation/resource-validation-types.js +69 -0
  433. package/dist/core/expressions/validation/resource-validation-types.js.map +1 -0
  434. package/dist/core/expressions/validation/resource-validation.d.ts +49 -0
  435. package/dist/core/expressions/validation/resource-validation.d.ts.map +1 -0
  436. package/dist/core/expressions/validation/resource-validation.js +288 -0
  437. package/dist/core/expressions/validation/resource-validation.js.map +1 -0
  438. package/dist/core/expressions/{type-inference.d.ts → validation/type-inference-types.d.ts} +34 -88
  439. package/dist/core/expressions/validation/type-inference-types.d.ts.map +1 -0
  440. package/dist/core/expressions/validation/type-inference-types.js +52 -0
  441. package/dist/core/expressions/validation/type-inference-types.js.map +1 -0
  442. package/dist/core/expressions/validation/type-inference.d.ts +86 -0
  443. package/dist/core/expressions/validation/type-inference.d.ts.map +1 -0
  444. package/dist/core/expressions/{type-inference.js → validation/type-inference.js} +66 -299
  445. package/dist/core/expressions/validation/type-inference.js.map +1 -0
  446. package/dist/core/expressions/{type-safety.d.ts → validation/type-safety.d.ts} +6 -5
  447. package/dist/core/expressions/validation/type-safety.d.ts.map +1 -0
  448. package/dist/core/expressions/{type-safety.js → validation/type-safety.js} +34 -19
  449. package/dist/core/expressions/validation/type-safety.js.map +1 -0
  450. package/dist/core/kubernetes/api.d.ts.map +1 -1
  451. package/dist/core/kubernetes/api.js +21 -12
  452. package/dist/core/kubernetes/api.js.map +1 -1
  453. package/dist/core/kubernetes/bun-api-client.d.ts +36 -14
  454. package/dist/core/kubernetes/bun-api-client.d.ts.map +1 -1
  455. package/dist/core/kubernetes/bun-api-client.js +47 -24
  456. package/dist/core/kubernetes/bun-api-client.js.map +1 -1
  457. package/dist/core/kubernetes/bun-http-library.d.ts +69 -3
  458. package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -1
  459. package/dist/core/kubernetes/bun-http-library.js +118 -11
  460. package/dist/core/kubernetes/bun-http-library.js.map +1 -1
  461. package/dist/core/kubernetes/client-provider.d.ts +121 -35
  462. package/dist/core/kubernetes/client-provider.d.ts.map +1 -1
  463. package/dist/core/kubernetes/client-provider.js +181 -65
  464. package/dist/core/kubernetes/client-provider.js.map +1 -1
  465. package/dist/core/kubernetes/errors.d.ts +5 -5
  466. package/dist/core/kubernetes/errors.js +5 -5
  467. package/dist/core/kubernetes/index.d.ts +8 -7
  468. package/dist/core/kubernetes/index.d.ts.map +1 -1
  469. package/dist/core/kubernetes/index.js +8 -8
  470. package/dist/core/kubernetes/index.js.map +1 -1
  471. package/dist/core/kubernetes/type-guards.d.ts +1 -1
  472. package/dist/core/kubernetes/type-guards.js +1 -1
  473. package/dist/core/logging/config.d.ts.map +1 -1
  474. package/dist/core/logging/config.js +20 -4
  475. package/dist/core/logging/config.js.map +1 -1
  476. package/dist/core/logging/logger.d.ts +3 -3
  477. package/dist/core/logging/logger.d.ts.map +1 -1
  478. package/dist/core/logging/logger.js +18 -18
  479. package/dist/core/logging/logger.js.map +1 -1
  480. package/dist/core/logging/types.d.ts +13 -8
  481. package/dist/core/logging/types.d.ts.map +1 -1
  482. package/dist/core/metadata/index.d.ts +9 -0
  483. package/dist/core/metadata/index.d.ts.map +1 -0
  484. package/dist/core/metadata/index.js +9 -0
  485. package/dist/core/metadata/index.js.map +1 -0
  486. package/dist/core/metadata/resource-metadata.d.ts +116 -0
  487. package/dist/core/metadata/resource-metadata.d.ts.map +1 -0
  488. package/dist/core/metadata/resource-metadata.js +217 -0
  489. package/dist/core/metadata/resource-metadata.js.map +1 -0
  490. package/dist/core/proxy/create-resource.d.ts +50 -0
  491. package/dist/core/proxy/create-resource.d.ts.map +1 -0
  492. package/dist/core/proxy/create-resource.js +393 -0
  493. package/dist/core/proxy/create-resource.js.map +1 -0
  494. package/dist/core/proxy/index.d.ts +8 -0
  495. package/dist/core/proxy/index.d.ts.map +1 -0
  496. package/dist/core/proxy/index.js +7 -0
  497. package/dist/core/proxy/index.js.map +1 -0
  498. package/dist/core/proxy/known-status-fields.d.ts +27 -0
  499. package/dist/core/proxy/known-status-fields.d.ts.map +1 -0
  500. package/dist/core/proxy/known-status-fields.js +185 -0
  501. package/dist/core/proxy/known-status-fields.js.map +1 -0
  502. package/dist/core/readiness/evaluator-factories.d.ts +100 -0
  503. package/dist/core/readiness/evaluator-factories.d.ts.map +1 -0
  504. package/dist/core/readiness/evaluator-factories.js +168 -0
  505. package/dist/core/readiness/evaluator-factories.js.map +1 -0
  506. package/dist/core/readiness/evaluator.d.ts +21 -0
  507. package/dist/core/readiness/evaluator.d.ts.map +1 -0
  508. package/dist/core/readiness/evaluator.js +38 -0
  509. package/dist/core/readiness/evaluator.js.map +1 -0
  510. package/dist/core/readiness/index.d.ts +3 -0
  511. package/dist/core/readiness/index.d.ts.map +1 -1
  512. package/dist/core/readiness/index.js +2 -0
  513. package/dist/core/readiness/index.js.map +1 -1
  514. package/dist/core/readiness/registry.d.ts +3 -3
  515. package/dist/core/readiness/registry.d.ts.map +1 -1
  516. package/dist/core/readiness/registry.js +2 -0
  517. package/dist/core/readiness/registry.js.map +1 -1
  518. package/dist/core/references/cel-evaluator.d.ts +11 -0
  519. package/dist/core/references/cel-evaluator.d.ts.map +1 -1
  520. package/dist/core/references/cel-evaluator.js +65 -27
  521. package/dist/core/references/cel-evaluator.js.map +1 -1
  522. package/dist/core/references/cel.d.ts +66 -23
  523. package/dist/core/references/cel.d.ts.map +1 -1
  524. package/dist/core/references/cel.js +184 -117
  525. package/dist/core/references/cel.js.map +1 -1
  526. package/dist/core/references/external-refs.d.ts +39 -21
  527. package/dist/core/references/external-refs.d.ts.map +1 -1
  528. package/dist/core/references/external-refs.js +70 -30
  529. package/dist/core/references/external-refs.js.map +1 -1
  530. package/dist/core/references/index.d.ts +5 -4
  531. package/dist/core/references/index.d.ts.map +1 -1
  532. package/dist/core/references/index.js +6 -6
  533. package/dist/core/references/index.js.map +1 -1
  534. package/dist/core/references/resolver.d.ts +3 -7
  535. package/dist/core/references/resolver.d.ts.map +1 -1
  536. package/dist/core/references/resolver.js +53 -92
  537. package/dist/core/references/resolver.js.map +1 -1
  538. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  539. package/dist/core/references/schema-proxy.js +92 -10
  540. package/dist/core/references/schema-proxy.js.map +1 -1
  541. package/dist/core/resources/factory-registry.d.ts +99 -0
  542. package/dist/core/resources/factory-registry.d.ts.map +1 -0
  543. package/dist/core/resources/factory-registry.js +166 -0
  544. package/dist/core/resources/factory-registry.js.map +1 -0
  545. package/dist/core/resources/id.d.ts +44 -0
  546. package/dist/core/resources/id.d.ts.map +1 -0
  547. package/dist/core/resources/id.js +78 -0
  548. package/dist/core/resources/id.js.map +1 -0
  549. package/dist/core/resources/index.d.ts +7 -0
  550. package/dist/core/resources/index.d.ts.map +1 -0
  551. package/dist/core/resources/index.js +6 -0
  552. package/dist/core/resources/index.js.map +1 -0
  553. package/dist/core/{utils → runtime-patches}/crd-patcher.d.ts +1 -1
  554. package/dist/core/runtime-patches/crd-patcher.d.ts.map +1 -0
  555. package/dist/core/runtime-patches/crd-patcher.js +124 -0
  556. package/dist/core/runtime-patches/crd-patcher.js.map +1 -0
  557. package/dist/core/{utils → runtime-patches}/crd-schema-fix.d.ts +39 -2
  558. package/dist/core/runtime-patches/crd-schema-fix.d.ts.map +1 -0
  559. package/dist/core/{utils → runtime-patches}/crd-schema-fix.js +130 -26
  560. package/dist/core/runtime-patches/crd-schema-fix.js.map +1 -0
  561. package/dist/core/runtime-patches/index.d.ts +8 -0
  562. package/dist/core/runtime-patches/index.d.ts.map +1 -0
  563. package/dist/core/runtime-patches/index.js +8 -0
  564. package/dist/core/runtime-patches/index.js.map +1 -0
  565. package/dist/core/{evaluation → serialization}/cel-optimizer.d.ts +2 -2
  566. package/dist/core/serialization/cel-optimizer.d.ts.map +1 -0
  567. package/dist/core/{evaluation → serialization}/cel-optimizer.js +11 -23
  568. package/dist/core/serialization/cel-optimizer.js.map +1 -0
  569. package/dist/core/serialization/cel-references.d.ts +36 -0
  570. package/dist/core/serialization/cel-references.d.ts.map +1 -0
  571. package/dist/core/serialization/cel-references.js +183 -0
  572. package/dist/core/serialization/cel-references.js.map +1 -0
  573. package/dist/core/serialization/core.d.ts +169 -4
  574. package/dist/core/serialization/core.d.ts.map +1 -1
  575. package/dist/core/serialization/core.js +387 -710
  576. package/dist/core/serialization/core.js.map +1 -1
  577. package/dist/core/serialization/index.d.ts +3 -1
  578. package/dist/core/serialization/index.d.ts.map +1 -1
  579. package/dist/core/serialization/index.js +5 -1
  580. package/dist/core/serialization/index.js.map +1 -1
  581. package/dist/core/serialization/schema.d.ts +34 -3
  582. package/dist/core/serialization/schema.d.ts.map +1 -1
  583. package/dist/core/serialization/schema.js +141 -11
  584. package/dist/core/serialization/schema.js.map +1 -1
  585. package/dist/core/serialization/status-analysis-helpers.d.ts +68 -0
  586. package/dist/core/serialization/status-analysis-helpers.d.ts.map +1 -0
  587. package/dist/core/serialization/status-analysis-helpers.js +284 -0
  588. package/dist/core/serialization/status-analysis-helpers.js.map +1 -0
  589. package/dist/core/serialization/status-analysis-pipeline.d.ts +63 -0
  590. package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -0
  591. package/dist/core/serialization/status-analysis-pipeline.js +419 -0
  592. package/dist/core/serialization/status-analysis-pipeline.js.map +1 -0
  593. package/dist/core/serialization/validation.d.ts.map +1 -1
  594. package/dist/core/serialization/validation.js +5 -3
  595. package/dist/core/serialization/validation.js.map +1 -1
  596. package/dist/core/serialization/yaml.d.ts +14 -3
  597. package/dist/core/serialization/yaml.d.ts.map +1 -1
  598. package/dist/core/serialization/yaml.js +453 -13
  599. package/dist/core/serialization/yaml.js.map +1 -1
  600. package/dist/core/types/common.d.ts +43 -8
  601. package/dist/core/types/common.d.ts.map +1 -1
  602. package/dist/core/types/deployment.d.ts +235 -94
  603. package/dist/core/types/deployment.d.ts.map +1 -1
  604. package/dist/core/types/deployment.js +1 -40
  605. package/dist/core/types/deployment.js.map +1 -1
  606. package/dist/core/types/index.d.ts +6 -10
  607. package/dist/core/types/index.d.ts.map +1 -1
  608. package/dist/core/types/index.js +32 -4
  609. package/dist/core/types/index.js.map +1 -1
  610. package/dist/core/types/kubernetes.d.ts +226 -16
  611. package/dist/core/types/kubernetes.d.ts.map +1 -1
  612. package/dist/core/types/kubernetes.js +11 -1
  613. package/dist/core/types/kubernetes.js.map +1 -1
  614. package/dist/core/types/references.d.ts +27 -1
  615. package/dist/core/types/references.d.ts.map +1 -1
  616. package/dist/core/types/references.js +3 -2
  617. package/dist/core/types/references.js.map +1 -1
  618. package/dist/core/types/resource-graph.d.ts +9 -33
  619. package/dist/core/types/resource-graph.d.ts.map +1 -1
  620. package/dist/core/types/resource-graph.js +2 -2
  621. package/dist/core/types/schema.d.ts +51 -0
  622. package/dist/core/types/schema.d.ts.map +1 -0
  623. package/dist/core/types/schema.js +9 -0
  624. package/dist/core/types/schema.js.map +1 -0
  625. package/dist/core/types/serialization.d.ts +104 -45
  626. package/dist/core/types/serialization.d.ts.map +1 -1
  627. package/dist/core/types/yaml.d.ts +0 -24
  628. package/dist/core/types/yaml.d.ts.map +1 -1
  629. package/dist/core/validation/cel-validator.d.ts +5 -5
  630. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  631. package/dist/core/validation/cel-validator.js +35 -11
  632. package/dist/core/validation/cel-validator.js.map +1 -1
  633. package/dist/core/yaml/path-resolver.d.ts +21 -6
  634. package/dist/core/yaml/path-resolver.d.ts.map +1 -1
  635. package/dist/core/yaml/path-resolver.js +404 -38
  636. package/dist/core/yaml/path-resolver.js.map +1 -1
  637. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts +19 -15
  638. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -1
  639. package/dist/factories/apisix/compositions/apisix-bootstrap.js +99 -112
  640. package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -1
  641. package/dist/factories/apisix/resources/helm.d.ts +8 -8
  642. package/dist/factories/apisix/resources/helm.d.ts.map +1 -1
  643. package/dist/factories/apisix/resources/helm.js +20 -47
  644. package/dist/factories/apisix/resources/helm.js.map +1 -1
  645. package/dist/factories/apisix/types.d.ts +35 -2
  646. package/dist/factories/apisix/types.d.ts.map +1 -1
  647. package/dist/factories/apisix/types.js.map +1 -1
  648. package/dist/factories/apisix/utils/admin-credentials.d.ts +43 -0
  649. package/dist/factories/apisix/utils/admin-credentials.d.ts.map +1 -0
  650. package/dist/factories/apisix/utils/admin-credentials.js +82 -0
  651. package/dist/factories/apisix/utils/admin-credentials.js.map +1 -0
  652. package/dist/factories/apisix/utils/helm-values-mapper.d.ts.map +1 -1
  653. package/dist/factories/apisix/utils/helm-values-mapper.js +33 -35
  654. package/dist/factories/apisix/utils/helm-values-mapper.js.map +1 -1
  655. package/dist/factories/apisix/utils/index.d.ts +1 -0
  656. package/dist/factories/apisix/utils/index.d.ts.map +1 -1
  657. package/dist/factories/apisix/utils/index.js +1 -0
  658. package/dist/factories/apisix/utils/index.js.map +1 -1
  659. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts +2 -2
  660. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts.map +1 -1
  661. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js +49 -63
  662. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js.map +1 -1
  663. package/dist/factories/cert-manager/resources/certificates.d.ts.map +1 -1
  664. package/dist/factories/cert-manager/resources/certificates.js +12 -47
  665. package/dist/factories/cert-manager/resources/certificates.js.map +1 -1
  666. package/dist/factories/cert-manager/resources/helm.d.ts +2 -22
  667. package/dist/factories/cert-manager/resources/helm.d.ts.map +1 -1
  668. package/dist/factories/cert-manager/resources/helm.js +30 -167
  669. package/dist/factories/cert-manager/resources/helm.js.map +1 -1
  670. package/dist/factories/cert-manager/resources/issuers.d.ts.map +1 -1
  671. package/dist/factories/cert-manager/resources/issuers.js +9 -104
  672. package/dist/factories/cert-manager/resources/issuers.js.map +1 -1
  673. package/dist/factories/cert-manager/types.d.ts +5 -78
  674. package/dist/factories/cert-manager/types.d.ts.map +1 -1
  675. package/dist/factories/cert-manager/types.js +2 -22
  676. package/dist/factories/cert-manager/types.js.map +1 -1
  677. package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts +8 -4
  678. package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts.map +1 -1
  679. package/dist/factories/cert-manager/utils/helm-values-mapper.js +55 -56
  680. package/dist/factories/cert-manager/utils/helm-values-mapper.js.map +1 -1
  681. package/dist/factories/cert-manager/utils/index.d.ts +1 -1
  682. package/dist/factories/cert-manager/utils/index.d.ts.map +1 -1
  683. package/dist/factories/cert-manager/utils/index.js +1 -1
  684. package/dist/factories/cert-manager/utils/index.js.map +1 -1
  685. package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts +3 -3
  686. package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts.map +1 -1
  687. package/dist/factories/cilium/compositions/cilium-bootstrap.js +62 -34
  688. package/dist/factories/cilium/compositions/cilium-bootstrap.js.map +1 -1
  689. package/dist/factories/cilium/errors.d.ts +41 -0
  690. package/dist/factories/cilium/errors.d.ts.map +1 -0
  691. package/dist/factories/cilium/errors.js +75 -0
  692. package/dist/factories/cilium/errors.js.map +1 -0
  693. package/dist/factories/cilium/index.d.ts +1 -0
  694. package/dist/factories/cilium/index.d.ts.map +1 -1
  695. package/dist/factories/cilium/index.js +4 -0
  696. package/dist/factories/cilium/index.js.map +1 -1
  697. package/dist/factories/cilium/resources/gateway.d.ts.map +1 -1
  698. package/dist/factories/cilium/resources/gateway.js +3 -5
  699. package/dist/factories/cilium/resources/gateway.js.map +1 -1
  700. package/dist/factories/cilium/resources/helm.d.ts +2 -2
  701. package/dist/factories/cilium/resources/helm.d.ts.map +1 -1
  702. package/dist/factories/cilium/resources/helm.js +8 -16
  703. package/dist/factories/cilium/resources/helm.js.map +1 -1
  704. package/dist/factories/cilium/resources/index.d.ts +1 -5
  705. package/dist/factories/cilium/resources/index.d.ts.map +1 -1
  706. package/dist/factories/cilium/resources/index.js +4 -20
  707. package/dist/factories/cilium/resources/index.js.map +1 -1
  708. package/dist/factories/cilium/resources/networking.d.ts +9 -13
  709. package/dist/factories/cilium/resources/networking.d.ts.map +1 -1
  710. package/dist/factories/cilium/resources/networking.js +152 -251
  711. package/dist/factories/cilium/resources/networking.js.map +1 -1
  712. package/dist/factories/cilium/types.d.ts +3 -47
  713. package/dist/factories/cilium/types.d.ts.map +1 -1
  714. package/dist/factories/cilium/types.js +2 -71
  715. package/dist/factories/cilium/types.js.map +1 -1
  716. package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts +1 -1
  717. package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts.map +1 -1
  718. package/dist/factories/external-dns/compositions/external-dns-bootstrap.js +5 -11
  719. package/dist/factories/external-dns/compositions/external-dns-bootstrap.js.map +1 -1
  720. package/dist/factories/external-dns/resources/helm.d.ts +2 -2
  721. package/dist/factories/external-dns/resources/helm.d.ts.map +1 -1
  722. package/dist/factories/external-dns/resources/helm.js +66 -61
  723. package/dist/factories/external-dns/resources/helm.js.map +1 -1
  724. package/dist/factories/external-dns/types.d.ts +2 -2
  725. package/dist/factories/external-dns/types.d.ts.map +1 -1
  726. package/dist/factories/external-dns/types.js.map +1 -1
  727. package/dist/factories/flux/git-repository.d.ts +12 -2
  728. package/dist/factories/flux/git-repository.d.ts.map +1 -1
  729. package/dist/factories/flux/git-repository.js +33 -0
  730. package/dist/factories/flux/git-repository.js.map +1 -1
  731. package/dist/factories/flux/kustomize/kustomization.d.ts +2 -0
  732. package/dist/factories/flux/kustomize/kustomization.d.ts.map +1 -1
  733. package/dist/factories/flux/kustomize/kustomization.js.map +1 -1
  734. package/dist/factories/flux/kustomize/readiness-evaluators.d.ts +1 -1
  735. package/dist/factories/flux/kustomize/readiness-evaluators.d.ts.map +1 -1
  736. package/dist/factories/flux/kustomize/readiness-evaluators.js +3 -1
  737. package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -1
  738. package/dist/factories/helm/helm-release.d.ts +13 -0
  739. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  740. package/dist/factories/helm/helm-release.js +35 -16
  741. package/dist/factories/helm/helm-release.js.map +1 -1
  742. package/dist/factories/helm/helm-repository.d.ts +26 -1
  743. package/dist/factories/helm/helm-repository.d.ts.map +1 -1
  744. package/dist/factories/helm/helm-repository.js +30 -17
  745. package/dist/factories/helm/helm-repository.js.map +1 -1
  746. package/dist/factories/helm/index.d.ts +10 -4
  747. package/dist/factories/helm/index.d.ts.map +1 -1
  748. package/dist/factories/helm/index.js +10 -4
  749. package/dist/factories/helm/index.js.map +1 -1
  750. package/dist/factories/helm/readiness-evaluators.d.ts +21 -8
  751. package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
  752. package/dist/factories/helm/readiness-evaluators.js +98 -82
  753. package/dist/factories/helm/readiness-evaluators.js.map +1 -1
  754. package/dist/factories/helm/types.d.ts +13 -0
  755. package/dist/factories/helm/types.d.ts.map +1 -1
  756. package/dist/factories/index.d.ts +7 -8
  757. package/dist/factories/index.d.ts.map +1 -1
  758. package/dist/factories/index.js +24 -20
  759. package/dist/factories/index.js.map +1 -1
  760. package/dist/factories/kro/kro-crd.d.ts.map +1 -1
  761. package/dist/factories/kro/kro-crd.js +3 -2
  762. package/dist/factories/kro/kro-crd.js.map +1 -1
  763. package/dist/factories/kro/kro-custom-resource.d.ts.map +1 -1
  764. package/dist/factories/kro/kro-custom-resource.js +3 -2
  765. package/dist/factories/kro/kro-custom-resource.js.map +1 -1
  766. package/dist/factories/kro/resource-graph-definition.d.ts +29 -1
  767. package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -1
  768. package/dist/factories/kro/resource-graph-definition.js +26 -8
  769. package/dist/factories/kro/resource-graph-definition.js.map +1 -1
  770. package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts +3 -2
  771. package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts.map +1 -1
  772. package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js +3 -2
  773. package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js.map +1 -1
  774. package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts +3 -2
  775. package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts.map +1 -1
  776. package/dist/factories/kubernetes/admission/validating-webhook-configuration.js +3 -2
  777. package/dist/factories/kubernetes/admission/validating-webhook-configuration.js.map +1 -1
  778. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts +3 -1
  779. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts.map +1 -1
  780. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js.map +1 -1
  781. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts +3 -1
  782. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -1
  783. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js +2 -1
  784. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js.map +1 -1
  785. package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts +3 -1
  786. package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts.map +1 -1
  787. package/dist/factories/kubernetes/certificates/certificate-signing-request.js.map +1 -1
  788. package/dist/factories/kubernetes/config/config-map.d.ts +14 -1
  789. package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -1
  790. package/dist/factories/kubernetes/config/config-map.js +21 -7
  791. package/dist/factories/kubernetes/config/config-map.js.map +1 -1
  792. package/dist/factories/kubernetes/config/secret.d.ts +17 -0
  793. package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
  794. package/dist/factories/kubernetes/config/secret.js +27 -7
  795. package/dist/factories/kubernetes/config/secret.js.map +1 -1
  796. package/dist/factories/kubernetes/coordination/lease.d.ts +3 -1
  797. package/dist/factories/kubernetes/coordination/lease.d.ts.map +1 -1
  798. package/dist/factories/kubernetes/coordination/lease.js +2 -1
  799. package/dist/factories/kubernetes/coordination/lease.js.map +1 -1
  800. package/dist/factories/kubernetes/core/component-status.d.ts +3 -1
  801. package/dist/factories/kubernetes/core/component-status.d.ts.map +1 -1
  802. package/dist/factories/kubernetes/core/component-status.js.map +1 -1
  803. package/dist/factories/kubernetes/core/namespace.d.ts +10 -0
  804. package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -1
  805. package/dist/factories/kubernetes/core/namespace.js +13 -2
  806. package/dist/factories/kubernetes/core/namespace.js.map +1 -1
  807. package/dist/factories/kubernetes/core/node.d.ts +3 -1
  808. package/dist/factories/kubernetes/core/node.d.ts.map +1 -1
  809. package/dist/factories/kubernetes/core/node.js.map +1 -1
  810. package/dist/factories/kubernetes/core/pod.d.ts +3 -1
  811. package/dist/factories/kubernetes/core/pod.d.ts.map +1 -1
  812. package/dist/factories/kubernetes/core/pod.js +2 -1
  813. package/dist/factories/kubernetes/core/pod.js.map +1 -1
  814. package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts +3 -1
  815. package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts.map +1 -1
  816. package/dist/factories/kubernetes/extensions/custom-resource-definition.js.map +1 -1
  817. package/dist/factories/kubernetes/extensions/custom-resource.d.ts +1 -0
  818. package/dist/factories/kubernetes/extensions/custom-resource.d.ts.map +1 -1
  819. package/dist/factories/kubernetes/extensions/custom-resource.js +5 -1
  820. package/dist/factories/kubernetes/extensions/custom-resource.js.map +1 -1
  821. package/dist/factories/kubernetes/index.d.ts +0 -2
  822. package/dist/factories/kubernetes/index.d.ts.map +1 -1
  823. package/dist/factories/kubernetes/index.js +3 -8
  824. package/dist/factories/kubernetes/index.js.map +1 -1
  825. package/dist/factories/kubernetes/networking/endpoint-slice.d.ts +3 -1
  826. package/dist/factories/kubernetes/networking/endpoint-slice.d.ts.map +1 -1
  827. package/dist/factories/kubernetes/networking/endpoint-slice.js.map +1 -1
  828. package/dist/factories/kubernetes/networking/endpoints.d.ts +3 -1
  829. package/dist/factories/kubernetes/networking/endpoints.d.ts.map +1 -1
  830. package/dist/factories/kubernetes/networking/endpoints.js +3 -2
  831. package/dist/factories/kubernetes/networking/endpoints.js.map +1 -1
  832. package/dist/factories/kubernetes/networking/ingress-class.d.ts +3 -1
  833. package/dist/factories/kubernetes/networking/ingress-class.d.ts.map +1 -1
  834. package/dist/factories/kubernetes/networking/ingress-class.js +2 -7
  835. package/dist/factories/kubernetes/networking/ingress-class.js.map +1 -1
  836. package/dist/factories/kubernetes/networking/ingress.d.ts +15 -2
  837. package/dist/factories/kubernetes/networking/ingress.d.ts.map +1 -1
  838. package/dist/factories/kubernetes/networking/ingress.js +64 -11
  839. package/dist/factories/kubernetes/networking/ingress.js.map +1 -1
  840. package/dist/factories/kubernetes/networking/network-policy.d.ts +3 -1
  841. package/dist/factories/kubernetes/networking/network-policy.d.ts.map +1 -1
  842. package/dist/factories/kubernetes/networking/network-policy.js +2 -8
  843. package/dist/factories/kubernetes/networking/network-policy.js.map +1 -1
  844. package/dist/factories/kubernetes/networking/service.d.ts +14 -1
  845. package/dist/factories/kubernetes/networking/service.d.ts.map +1 -1
  846. package/dist/factories/kubernetes/networking/service.js +22 -2
  847. package/dist/factories/kubernetes/networking/service.js.map +1 -1
  848. package/dist/factories/kubernetes/policy/limit-range.d.ts +3 -1
  849. package/dist/factories/kubernetes/policy/limit-range.d.ts.map +1 -1
  850. package/dist/factories/kubernetes/policy/limit-range.js +2 -8
  851. package/dist/factories/kubernetes/policy/limit-range.js.map +1 -1
  852. package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts +3 -1
  853. package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts.map +1 -1
  854. package/dist/factories/kubernetes/policy/pod-disruption-budget.js +3 -2
  855. package/dist/factories/kubernetes/policy/pod-disruption-budget.js.map +1 -1
  856. package/dist/factories/kubernetes/policy/resource-quota.d.ts +3 -1
  857. package/dist/factories/kubernetes/policy/resource-quota.d.ts.map +1 -1
  858. package/dist/factories/kubernetes/policy/resource-quota.js +3 -2
  859. package/dist/factories/kubernetes/policy/resource-quota.js.map +1 -1
  860. package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts +20 -1
  861. package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts.map +1 -1
  862. package/dist/factories/kubernetes/rbac/cluster-role-binding.js +19 -8
  863. package/dist/factories/kubernetes/rbac/cluster-role-binding.js.map +1 -1
  864. package/dist/factories/kubernetes/rbac/cluster-role.d.ts +3 -1
  865. package/dist/factories/kubernetes/rbac/cluster-role.d.ts.map +1 -1
  866. package/dist/factories/kubernetes/rbac/cluster-role.js +2 -8
  867. package/dist/factories/kubernetes/rbac/cluster-role.js.map +1 -1
  868. package/dist/factories/kubernetes/rbac/role-binding.d.ts +3 -1
  869. package/dist/factories/kubernetes/rbac/role-binding.d.ts.map +1 -1
  870. package/dist/factories/kubernetes/rbac/role-binding.js +2 -8
  871. package/dist/factories/kubernetes/rbac/role-binding.js.map +1 -1
  872. package/dist/factories/kubernetes/rbac/role.d.ts +3 -1
  873. package/dist/factories/kubernetes/rbac/role.d.ts.map +1 -1
  874. package/dist/factories/kubernetes/rbac/role.js +2 -8
  875. package/dist/factories/kubernetes/rbac/role.js.map +1 -1
  876. package/dist/factories/kubernetes/rbac/service-account.d.ts +3 -1
  877. package/dist/factories/kubernetes/rbac/service-account.d.ts.map +1 -1
  878. package/dist/factories/kubernetes/rbac/service-account.js +2 -8
  879. package/dist/factories/kubernetes/rbac/service-account.js.map +1 -1
  880. package/dist/factories/kubernetes/scheduling/priority-class.d.ts +3 -1
  881. package/dist/factories/kubernetes/scheduling/priority-class.d.ts.map +1 -1
  882. package/dist/factories/kubernetes/scheduling/priority-class.js +2 -7
  883. package/dist/factories/kubernetes/scheduling/priority-class.js.map +1 -1
  884. package/dist/factories/kubernetes/scheduling/runtime-class.d.ts +3 -2
  885. package/dist/factories/kubernetes/scheduling/runtime-class.d.ts.map +1 -1
  886. package/dist/factories/kubernetes/scheduling/runtime-class.js +2 -1
  887. package/dist/factories/kubernetes/scheduling/runtime-class.js.map +1 -1
  888. package/dist/factories/kubernetes/storage/csi-driver.d.ts +3 -1
  889. package/dist/factories/kubernetes/storage/csi-driver.d.ts.map +1 -1
  890. package/dist/factories/kubernetes/storage/csi-driver.js +2 -7
  891. package/dist/factories/kubernetes/storage/csi-driver.js.map +1 -1
  892. package/dist/factories/kubernetes/storage/csi-node.d.ts +3 -1
  893. package/dist/factories/kubernetes/storage/csi-node.d.ts.map +1 -1
  894. package/dist/factories/kubernetes/storage/csi-node.js +2 -1
  895. package/dist/factories/kubernetes/storage/csi-node.js.map +1 -1
  896. package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts +14 -1
  897. package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts.map +1 -1
  898. package/dist/factories/kubernetes/storage/persistent-volume-claim.js +13 -1
  899. package/dist/factories/kubernetes/storage/persistent-volume-claim.js.map +1 -1
  900. package/dist/factories/kubernetes/storage/persistent-volume.d.ts +3 -1
  901. package/dist/factories/kubernetes/storage/persistent-volume.d.ts.map +1 -1
  902. package/dist/factories/kubernetes/storage/persistent-volume.js +3 -2
  903. package/dist/factories/kubernetes/storage/persistent-volume.js.map +1 -1
  904. package/dist/factories/kubernetes/storage/storage-class.d.ts +3 -1
  905. package/dist/factories/kubernetes/storage/storage-class.d.ts.map +1 -1
  906. package/dist/factories/kubernetes/storage/storage-class.js +2 -8
  907. package/dist/factories/kubernetes/storage/storage-class.js.map +1 -1
  908. package/dist/factories/kubernetes/storage/volume-attachment.d.ts +3 -1
  909. package/dist/factories/kubernetes/storage/volume-attachment.d.ts.map +1 -1
  910. package/dist/factories/kubernetes/storage/volume-attachment.js +10 -0
  911. package/dist/factories/kubernetes/storage/volume-attachment.js.map +1 -1
  912. package/dist/factories/kubernetes/workloads/cron-job.d.ts +14 -1
  913. package/dist/factories/kubernetes/workloads/cron-job.d.ts.map +1 -1
  914. package/dist/factories/kubernetes/workloads/cron-job.js +14 -2
  915. package/dist/factories/kubernetes/workloads/cron-job.js.map +1 -1
  916. package/dist/factories/kubernetes/workloads/daemon-set.d.ts +14 -1
  917. package/dist/factories/kubernetes/workloads/daemon-set.d.ts.map +1 -1
  918. package/dist/factories/kubernetes/workloads/daemon-set.js +13 -1
  919. package/dist/factories/kubernetes/workloads/daemon-set.js.map +1 -1
  920. package/dist/factories/kubernetes/workloads/deployment.d.ts +14 -1
  921. package/dist/factories/kubernetes/workloads/deployment.d.ts.map +1 -1
  922. package/dist/factories/kubernetes/workloads/deployment.js +27 -2
  923. package/dist/factories/kubernetes/workloads/deployment.js.map +1 -1
  924. package/dist/factories/kubernetes/workloads/job.d.ts +14 -1
  925. package/dist/factories/kubernetes/workloads/job.d.ts.map +1 -1
  926. package/dist/factories/kubernetes/workloads/job.js +19 -2
  927. package/dist/factories/kubernetes/workloads/job.js.map +1 -1
  928. package/dist/factories/kubernetes/workloads/replica-set.d.ts +3 -1
  929. package/dist/factories/kubernetes/workloads/replica-set.d.ts.map +1 -1
  930. package/dist/factories/kubernetes/workloads/replica-set.js +2 -1
  931. package/dist/factories/kubernetes/workloads/replica-set.js.map +1 -1
  932. package/dist/factories/kubernetes/workloads/replication-controller.d.ts +3 -1
  933. package/dist/factories/kubernetes/workloads/replication-controller.d.ts.map +1 -1
  934. package/dist/factories/kubernetes/workloads/replication-controller.js +3 -2
  935. package/dist/factories/kubernetes/workloads/replication-controller.js.map +1 -1
  936. package/dist/factories/kubernetes/workloads/stateful-set.d.ts +14 -1
  937. package/dist/factories/kubernetes/workloads/stateful-set.d.ts.map +1 -1
  938. package/dist/factories/kubernetes/workloads/stateful-set.js +22 -2
  939. package/dist/factories/kubernetes/workloads/stateful-set.js.map +1 -1
  940. package/dist/factories/kubernetes/yaml/conflict-handler.d.ts +23 -0
  941. package/dist/factories/kubernetes/yaml/conflict-handler.d.ts.map +1 -0
  942. package/dist/factories/kubernetes/yaml/conflict-handler.js +83 -0
  943. package/dist/factories/kubernetes/yaml/conflict-handler.js.map +1 -0
  944. package/dist/factories/kubernetes/yaml/yaml-directory.d.ts +6 -11
  945. package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -1
  946. package/dist/factories/kubernetes/yaml/yaml-directory.js +10 -75
  947. package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
  948. package/dist/factories/kubernetes/yaml/yaml-file.d.ts +42 -13
  949. package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
  950. package/dist/factories/kubernetes/yaml/yaml-file.js +206 -99
  951. package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
  952. package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts +1 -1
  953. package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts.map +1 -1
  954. package/dist/factories/pebble/compositions/pebble-bootstrap.js +15 -17
  955. package/dist/factories/pebble/compositions/pebble-bootstrap.js.map +1 -1
  956. package/dist/factories/pebble/resources/helm.d.ts +2 -2
  957. package/dist/factories/pebble/resources/helm.d.ts.map +1 -1
  958. package/dist/factories/pebble/resources/helm.js +9 -28
  959. package/dist/factories/pebble/resources/helm.js.map +1 -1
  960. package/dist/factories/shared.d.ts +12 -71
  961. package/dist/factories/shared.d.ts.map +1 -1
  962. package/dist/factories/shared.js +10 -531
  963. package/dist/factories/shared.js.map +1 -1
  964. package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.d.ts +11 -0
  965. package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -1
  966. package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.js +12 -0
  967. package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.js.map +1 -1
  968. package/dist/factories/simple/compositions/web-service.d.ts +35 -0
  969. package/dist/factories/simple/compositions/web-service.d.ts.map +1 -0
  970. package/dist/{core/composition/composition.js → factories/simple/compositions/web-service.js} +15 -2
  971. package/dist/factories/simple/compositions/web-service.js.map +1 -0
  972. package/dist/factories/simple/config/config-map.d.ts +11 -0
  973. package/dist/factories/simple/config/config-map.d.ts.map +1 -1
  974. package/dist/factories/simple/config/config-map.js +11 -0
  975. package/dist/factories/simple/config/config-map.js.map +1 -1
  976. package/dist/factories/simple/config/secret.d.ts +11 -0
  977. package/dist/factories/simple/config/secret.d.ts.map +1 -1
  978. package/dist/factories/simple/config/secret.js +17 -3
  979. package/dist/factories/simple/config/secret.js.map +1 -1
  980. package/dist/factories/simple/helm/index.d.ts +10 -0
  981. package/dist/factories/simple/helm/index.d.ts.map +1 -1
  982. package/dist/factories/simple/helm/index.js +10 -0
  983. package/dist/factories/simple/helm/index.js.map +1 -1
  984. package/dist/factories/simple/index.d.ts +1 -1
  985. package/dist/factories/simple/networking/ingress.d.ts +14 -2
  986. package/dist/factories/simple/networking/ingress.d.ts.map +1 -1
  987. package/dist/factories/simple/networking/ingress.js +12 -0
  988. package/dist/factories/simple/networking/ingress.js.map +1 -1
  989. package/dist/factories/simple/networking/network-policy.d.ts +11 -1
  990. package/dist/factories/simple/networking/network-policy.d.ts.map +1 -1
  991. package/dist/factories/simple/networking/network-policy.js +10 -0
  992. package/dist/factories/simple/networking/network-policy.js.map +1 -1
  993. package/dist/factories/simple/networking/service.d.ts +10 -0
  994. package/dist/factories/simple/networking/service.d.ts.map +1 -1
  995. package/dist/factories/simple/networking/service.js +10 -0
  996. package/dist/factories/simple/networking/service.js.map +1 -1
  997. package/dist/factories/simple/storage/persistent-volume-claim.d.ts +10 -0
  998. package/dist/factories/simple/storage/persistent-volume-claim.d.ts.map +1 -1
  999. package/dist/factories/simple/storage/persistent-volume-claim.js +10 -0
  1000. package/dist/factories/simple/storage/persistent-volume-claim.js.map +1 -1
  1001. package/dist/factories/simple/storage/persistent-volume.d.ts +11 -0
  1002. package/dist/factories/simple/storage/persistent-volume.d.ts.map +1 -1
  1003. package/dist/factories/simple/storage/persistent-volume.js +12 -0
  1004. package/dist/factories/simple/storage/persistent-volume.js.map +1 -1
  1005. package/dist/factories/simple/types.d.ts +16 -0
  1006. package/dist/factories/simple/types.d.ts.map +1 -1
  1007. package/dist/factories/simple/workloads/cron-job.d.ts +10 -0
  1008. package/dist/factories/simple/workloads/cron-job.d.ts.map +1 -1
  1009. package/dist/factories/simple/workloads/cron-job.js +11 -0
  1010. package/dist/factories/simple/workloads/cron-job.js.map +1 -1
  1011. package/dist/factories/simple/workloads/daemon-set.d.ts +9 -0
  1012. package/dist/factories/simple/workloads/daemon-set.d.ts.map +1 -1
  1013. package/dist/factories/simple/workloads/daemon-set.js +9 -0
  1014. package/dist/factories/simple/workloads/daemon-set.js.map +1 -1
  1015. package/dist/factories/simple/workloads/deployment.d.ts +11 -1
  1016. package/dist/factories/simple/workloads/deployment.d.ts.map +1 -1
  1017. package/dist/factories/simple/workloads/deployment.js +19 -9
  1018. package/dist/factories/simple/workloads/deployment.js.map +1 -1
  1019. package/dist/factories/simple/workloads/job.d.ts +10 -0
  1020. package/dist/factories/simple/workloads/job.d.ts.map +1 -1
  1021. package/dist/factories/simple/workloads/job.js +11 -0
  1022. package/dist/factories/simple/workloads/job.js.map +1 -1
  1023. package/dist/factories/simple/workloads/stateful-set.d.ts +11 -0
  1024. package/dist/factories/simple/workloads/stateful-set.d.ts.map +1 -1
  1025. package/dist/factories/simple/workloads/stateful-set.js +12 -0
  1026. package/dist/factories/simple/workloads/stateful-set.js.map +1 -1
  1027. package/dist/factories/simple/yaml/index.d.ts +8 -0
  1028. package/dist/factories/simple/yaml/index.d.ts.map +1 -1
  1029. package/dist/factories/simple/yaml/index.js +8 -0
  1030. package/dist/factories/simple/yaml/index.js.map +1 -1
  1031. package/dist/index.d.ts +105 -6
  1032. package/dist/index.d.ts.map +1 -1
  1033. package/dist/index.js +115 -42
  1034. package/dist/index.js.map +1 -1
  1035. package/dist/shared/brands.d.ts +32 -0
  1036. package/dist/shared/brands.d.ts.map +1 -0
  1037. package/dist/shared/brands.js +32 -0
  1038. package/dist/shared/brands.js.map +1 -0
  1039. package/dist/utils/helpers.d.ts +31 -57
  1040. package/dist/utils/helpers.d.ts.map +1 -1
  1041. package/dist/utils/helpers.js +46 -494
  1042. package/dist/utils/helpers.js.map +1 -1
  1043. package/dist/utils/index.d.ts +5 -4
  1044. package/dist/utils/index.d.ts.map +1 -1
  1045. package/dist/utils/index.js +8 -6
  1046. package/dist/utils/index.js.map +1 -1
  1047. package/dist/utils/string.d.ts +31 -0
  1048. package/dist/utils/string.d.ts.map +1 -0
  1049. package/dist/utils/string.js +82 -0
  1050. package/dist/utils/string.js.map +1 -0
  1051. package/dist/utils/type-guards.d.ts +20 -11
  1052. package/dist/utils/type-guards.d.ts.map +1 -1
  1053. package/dist/utils/type-guards.js +78 -26
  1054. package/dist/utils/type-guards.js.map +1 -1
  1055. package/package.json +19 -13
  1056. package/dist/core/composition/composition.d.ts +0 -10
  1057. package/dist/core/composition/composition.d.ts.map +0 -1
  1058. package/dist/core/composition/composition.js.map +0 -1
  1059. package/dist/core/composition/typekro-runtime/index.d.ts +0 -3
  1060. package/dist/core/composition/typekro-runtime/index.d.ts.map +0 -1
  1061. package/dist/core/composition/typekro-runtime/index.js.map +0 -1
  1062. package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +0 -1
  1063. package/dist/core/composition/typekro-runtime/typekro-runtime.js +0 -165
  1064. package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +0 -1
  1065. package/dist/core/composition/typekro-runtime/types.d.ts +0 -19
  1066. package/dist/core/composition/typekro-runtime/types.d.ts.map +0 -1
  1067. package/dist/core/composition/typekro-runtime/types.js.map +0 -1
  1068. package/dist/core/composition/types.d.ts +0 -27
  1069. package/dist/core/composition/types.d.ts.map +0 -1
  1070. package/dist/core/composition/types.js +0 -8
  1071. package/dist/core/composition/types.js.map +0 -1
  1072. package/dist/core/dependencies/type-guards.d.ts +0 -17
  1073. package/dist/core/dependencies/type-guards.d.ts.map +0 -1
  1074. package/dist/core/dependencies/type-guards.js +0 -40
  1075. package/dist/core/dependencies/type-guards.js.map +0 -1
  1076. package/dist/core/deployment/deployment-strategies.d.ts +0 -12
  1077. package/dist/core/deployment/deployment-strategies.d.ts.map +0 -1
  1078. package/dist/core/deployment/deployment-strategies.js +0 -11
  1079. package/dist/core/deployment/deployment-strategies.js.map +0 -1
  1080. package/dist/core/deployment/event-streamer.d.ts +0 -112
  1081. package/dist/core/deployment/event-streamer.d.ts.map +0 -1
  1082. package/dist/core/deployment/event-streamer.js +0 -348
  1083. package/dist/core/deployment/event-streamer.js.map +0 -1
  1084. package/dist/core/direct-deployment.d.ts +0 -8
  1085. package/dist/core/direct-deployment.d.ts.map +0 -1
  1086. package/dist/core/direct-deployment.js +0 -9
  1087. package/dist/core/direct-deployment.js.map +0 -1
  1088. package/dist/core/evaluation/cel-optimizer.d.ts.map +0 -1
  1089. package/dist/core/evaluation/cel-optimizer.js.map +0 -1
  1090. package/dist/core/expressions/analyzer.d.ts +0 -584
  1091. package/dist/core/expressions/analyzer.d.ts.map +0 -1
  1092. package/dist/core/expressions/analyzer.js +0 -2921
  1093. package/dist/core/expressions/analyzer.js.map +0 -1
  1094. package/dist/core/expressions/cache.d.ts.map +0 -1
  1095. package/dist/core/expressions/cache.js.map +0 -1
  1096. package/dist/core/expressions/cel-conversion-engine.d.ts.map +0 -1
  1097. package/dist/core/expressions/cel-conversion-engine.js.map +0 -1
  1098. package/dist/core/expressions/compile-time-validation.d.ts +0 -270
  1099. package/dist/core/expressions/compile-time-validation.d.ts.map +0 -1
  1100. package/dist/core/expressions/compile-time-validation.js.map +0 -1
  1101. package/dist/core/expressions/composition-integration.d.ts +0 -315
  1102. package/dist/core/expressions/composition-integration.d.ts.map +0 -1
  1103. package/dist/core/expressions/composition-integration.js +0 -944
  1104. package/dist/core/expressions/composition-integration.js.map +0 -1
  1105. package/dist/core/expressions/conditional-expression-processor.d.ts.map +0 -1
  1106. package/dist/core/expressions/conditional-expression-processor.js.map +0 -1
  1107. package/dist/core/expressions/conditional-integration.d.ts.map +0 -1
  1108. package/dist/core/expressions/conditional-integration.js.map +0 -1
  1109. package/dist/core/expressions/conditional-validation.d.ts +0 -181
  1110. package/dist/core/expressions/conditional-validation.d.ts.map +0 -1
  1111. package/dist/core/expressions/conditional-validation.js +0 -460
  1112. package/dist/core/expressions/conditional-validation.js.map +0 -1
  1113. package/dist/core/expressions/context-aware-generator.d.ts.map +0 -1
  1114. package/dist/core/expressions/context-aware-generator.js.map +0 -1
  1115. package/dist/core/expressions/context-detector.d.ts.map +0 -1
  1116. package/dist/core/expressions/context-detector.js.map +0 -1
  1117. package/dist/core/expressions/context-switcher.d.ts +0 -185
  1118. package/dist/core/expressions/context-switcher.d.ts.map +0 -1
  1119. package/dist/core/expressions/context-switcher.js +0 -515
  1120. package/dist/core/expressions/context-switcher.js.map +0 -1
  1121. package/dist/core/expressions/context-validator.d.ts.map +0 -1
  1122. package/dist/core/expressions/context-validator.js.map +0 -1
  1123. package/dist/core/expressions/custom-context-manager.d.ts +0 -194
  1124. package/dist/core/expressions/custom-context-manager.d.ts.map +0 -1
  1125. package/dist/core/expressions/custom-context-manager.js +0 -390
  1126. package/dist/core/expressions/custom-context-manager.js.map +0 -1
  1127. package/dist/core/expressions/expression-proxy.d.ts +0 -80
  1128. package/dist/core/expressions/expression-proxy.d.ts.map +0 -1
  1129. package/dist/core/expressions/expression-proxy.js +0 -227
  1130. package/dist/core/expressions/expression-proxy.js.map +0 -1
  1131. package/dist/core/expressions/factory-integration.d.ts.map +0 -1
  1132. package/dist/core/expressions/factory-integration.js.map +0 -1
  1133. package/dist/core/expressions/factory-pattern-handler.d.ts.map +0 -1
  1134. package/dist/core/expressions/factory-pattern-handler.js.map +0 -1
  1135. package/dist/core/expressions/field-hydration-processor.d.ts +0 -191
  1136. package/dist/core/expressions/field-hydration-processor.d.ts.map +0 -1
  1137. package/dist/core/expressions/field-hydration-processor.js +0 -561
  1138. package/dist/core/expressions/field-hydration-processor.js.map +0 -1
  1139. package/dist/core/expressions/imperative-analyzer.d.ts.map +0 -1
  1140. package/dist/core/expressions/imperative-analyzer.js.map +0 -1
  1141. package/dist/core/expressions/lazy-analysis.d.ts +0 -1128
  1142. package/dist/core/expressions/lazy-analysis.d.ts.map +0 -1
  1143. package/dist/core/expressions/lazy-analysis.js +0 -2443
  1144. package/dist/core/expressions/lazy-analysis.js.map +0 -1
  1145. package/dist/core/expressions/magic-assignable-analyzer.d.ts.map +0 -1
  1146. package/dist/core/expressions/magic-assignable-analyzer.js.map +0 -1
  1147. package/dist/core/expressions/magic-proxy-analyzer.d.ts.map +0 -1
  1148. package/dist/core/expressions/magic-proxy-analyzer.js.map +0 -1
  1149. package/dist/core/expressions/magic-proxy-detector.d.ts.map +0 -1
  1150. package/dist/core/expressions/magic-proxy-detector.js.map +0 -1
  1151. package/dist/core/expressions/migration-helpers.d.ts.map +0 -1
  1152. package/dist/core/expressions/migration-helpers.js.map +0 -1
  1153. package/dist/core/expressions/optionality-handler.d.ts +0 -503
  1154. package/dist/core/expressions/optionality-handler.d.ts.map +0 -1
  1155. package/dist/core/expressions/optionality-handler.js +0 -1306
  1156. package/dist/core/expressions/optionality-handler.js.map +0 -1
  1157. package/dist/core/expressions/parser.d.ts.map +0 -1
  1158. package/dist/core/expressions/parser.js.map +0 -1
  1159. package/dist/core/expressions/readiness-integration.d.ts +0 -119
  1160. package/dist/core/expressions/readiness-integration.d.ts.map +0 -1
  1161. package/dist/core/expressions/readiness-integration.js +0 -386
  1162. package/dist/core/expressions/readiness-integration.js.map +0 -1
  1163. package/dist/core/expressions/resource-analyzer.d.ts +0 -486
  1164. package/dist/core/expressions/resource-analyzer.d.ts.map +0 -1
  1165. package/dist/core/expressions/resource-analyzer.js +0 -1086
  1166. package/dist/core/expressions/resource-analyzer.js.map +0 -1
  1167. package/dist/core/expressions/resource-validation.d.ts.map +0 -1
  1168. package/dist/core/expressions/resource-validation.js +0 -552
  1169. package/dist/core/expressions/resource-validation.js.map +0 -1
  1170. package/dist/core/expressions/runtime-error-mapper.d.ts +0 -138
  1171. package/dist/core/expressions/runtime-error-mapper.d.ts.map +0 -1
  1172. package/dist/core/expressions/runtime-error-mapper.js +0 -412
  1173. package/dist/core/expressions/runtime-error-mapper.js.map +0 -1
  1174. package/dist/core/expressions/source-map.d.ts.map +0 -1
  1175. package/dist/core/expressions/source-map.js.map +0 -1
  1176. package/dist/core/expressions/status-builder-analyzer.d.ts +0 -353
  1177. package/dist/core/expressions/status-builder-analyzer.d.ts.map +0 -1
  1178. package/dist/core/expressions/status-builder-analyzer.js +0 -1311
  1179. package/dist/core/expressions/status-builder-analyzer.js.map +0 -1
  1180. package/dist/core/expressions/type-inference.d.ts.map +0 -1
  1181. package/dist/core/expressions/type-inference.js.map +0 -1
  1182. package/dist/core/expressions/type-safety.d.ts.map +0 -1
  1183. package/dist/core/expressions/type-safety.js.map +0 -1
  1184. package/dist/core/expressions/types.d.ts.map +0 -1
  1185. package/dist/core/expressions/types.js.map +0 -1
  1186. package/dist/core/factory.d.ts +0 -12
  1187. package/dist/core/factory.d.ts.map +0 -1
  1188. package/dist/core/factory.js +0 -13
  1189. package/dist/core/factory.js.map +0 -1
  1190. package/dist/core/readiness/cluster-state.d.ts +0 -229
  1191. package/dist/core/readiness/cluster-state.d.ts.map +0 -1
  1192. package/dist/core/readiness/cluster-state.js +0 -368
  1193. package/dist/core/readiness/cluster-state.js.map +0 -1
  1194. package/dist/core/scope/resolver.d.ts +0 -16
  1195. package/dist/core/scope/resolver.d.ts.map +0 -1
  1196. package/dist/core/scope/resolver.js +0 -45
  1197. package/dist/core/scope/resolver.js.map +0 -1
  1198. package/dist/core/types/factory-scope.d.ts +0 -42
  1199. package/dist/core/types/factory-scope.d.ts.map +0 -1
  1200. package/dist/core/types/factory-scope.js +0 -14
  1201. package/dist/core/types/factory-scope.js.map +0 -1
  1202. package/dist/core/utils/crd-patcher.d.ts.map +0 -1
  1203. package/dist/core/utils/crd-patcher.js +0 -198
  1204. package/dist/core/utils/crd-patcher.js.map +0 -1
  1205. package/dist/core/utils/crd-schema-fix.d.ts.map +0 -1
  1206. package/dist/core/utils/crd-schema-fix.js.map +0 -1
  1207. package/dist/core/utils/index.d.ts +0 -12
  1208. package/dist/core/utils/index.d.ts.map +0 -1
  1209. package/dist/core/utils/index.js +0 -12
  1210. package/dist/core/utils/index.js.map +0 -1
  1211. package/dist/core/utils/minimal-connection-reset-suppression.d.ts +0 -16
  1212. package/dist/core/utils/minimal-connection-reset-suppression.d.ts.map +0 -1
  1213. package/dist/core/utils/minimal-connection-reset-suppression.js +0 -72
  1214. package/dist/core/utils/minimal-connection-reset-suppression.js.map +0 -1
  1215. package/dist/core/utils/output-filter.d.ts +0 -16
  1216. package/dist/core/utils/output-filter.d.ts.map +0 -1
  1217. package/dist/core/utils/output-filter.js +0 -90
  1218. package/dist/core/utils/output-filter.js.map +0 -1
  1219. package/dist/core/utils/scoped-error-suppression.d.ts +0 -25
  1220. package/dist/core/utils/scoped-error-suppression.d.ts.map +0 -1
  1221. package/dist/core/utils/scoped-error-suppression.js +0 -226
  1222. package/dist/core/utils/scoped-error-suppression.js.map +0 -1
  1223. package/dist/core.d.ts +0 -30
  1224. package/dist/core.d.ts.map +0 -1
  1225. package/dist/core.js +0 -59
  1226. package/dist/core.js.map +0 -1
  1227. package/dist/factories/cilium/resources/bgp.d.ts +0 -10
  1228. package/dist/factories/cilium/resources/bgp.d.ts.map +0 -1
  1229. package/dist/factories/cilium/resources/bgp.js +0 -14
  1230. package/dist/factories/cilium/resources/bgp.js.map +0 -1
  1231. package/dist/factories/cilium/resources/load-balancer.d.ts +0 -9
  1232. package/dist/factories/cilium/resources/load-balancer.d.ts.map +0 -1
  1233. package/dist/factories/cilium/resources/load-balancer.js +0 -12
  1234. package/dist/factories/cilium/resources/load-balancer.js.map +0 -1
  1235. package/dist/factories/cilium/resources/observability.d.ts +0 -9
  1236. package/dist/factories/cilium/resources/observability.d.ts.map +0 -1
  1237. package/dist/factories/cilium/resources/observability.js +0 -11
  1238. package/dist/factories/cilium/resources/observability.js.map +0 -1
  1239. package/dist/factories/cilium/resources/security.d.ts +0 -10
  1240. package/dist/factories/cilium/resources/security.d.ts.map +0 -1
  1241. package/dist/factories/cilium/resources/security.js +0 -14
  1242. package/dist/factories/cilium/resources/security.js.map +0 -1
  1243. /package/dist/{core/composition → compositions}/typekro-runtime/index.js +0 -0
  1244. /package/dist/{core/composition → compositions}/typekro-runtime/types.js +0 -0
  1245. /package/dist/core/expressions/{source-map.d.ts → analysis/source-map.d.ts} +0 -0
  1246. /package/dist/core/expressions/{types.js → analysis/types.js} +0 -0
@@ -1,944 +0,0 @@
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 { getCurrentCompositionContext } from '../../factories/shared.js';
9
- import { isKubernetesRef } from '../../utils/type-guards.js';
10
- import { MagicAssignableAnalyzer } from './magic-assignable-analyzer.js';
11
- import { CelConversionEngine } from './cel-conversion-engine.js';
12
- /**
13
- * Composition-aware expression analyzer that integrates with kubernetesComposition
14
- */
15
- export class CompositionExpressionAnalyzer {
16
- magicAssignableAnalyzer;
17
- celEngine;
18
- patternConfigs;
19
- contextTracker;
20
- scopeManager;
21
- constructor() {
22
- this.magicAssignableAnalyzer = new MagicAssignableAnalyzer();
23
- this.celEngine = new CelConversionEngine();
24
- this.contextTracker = new CompositionContextTracker();
25
- this.scopeManager = new MagicProxyScopeManager();
26
- // Initialize pattern-specific configurations
27
- this.patternConfigs = new Map([
28
- [
29
- 'imperative',
30
- {
31
- pattern: 'imperative',
32
- allowSideEffects: true,
33
- trackResourceCreation: true,
34
- validateScope: true,
35
- convertTocel: true,
36
- },
37
- ],
38
- [
39
- 'declarative',
40
- {
41
- pattern: 'declarative',
42
- allowSideEffects: false,
43
- trackResourceCreation: false,
44
- validateScope: false,
45
- convertTocel: true,
46
- },
47
- ],
48
- ]);
49
- }
50
- /**
51
- * Detect the composition pattern being used
52
- */
53
- detectCompositionPattern(compositionFn, context) {
54
- // If there's an active composition context, it's imperative
55
- if (context || getCurrentCompositionContext()) {
56
- return 'imperative';
57
- }
58
- // Analyze function signature and behavior
59
- const fnString = compositionFn.toString();
60
- // Look for imperative patterns
61
- const imperativeIndicators = [
62
- /\.add\w+\(/, // .addResource, .addService, etc.
63
- /register\w+\(/, // registerResource, etc.
64
- /create\w+\(/, // createResource, etc.
65
- /simple\w+\(/, // simpleDeployment, simpleService, etc.
66
- ];
67
- const hasImperativeIndicators = imperativeIndicators.some((pattern) => pattern.test(fnString));
68
- return hasImperativeIndicators ? 'imperative' : 'declarative';
69
- }
70
- /**
71
- * Analyze composition function with pattern awareness
72
- */
73
- analyzeCompositionFunctionWithPattern(compositionFn, schemaProxy, pattern, context) {
74
- // Detect pattern if not provided
75
- const detectedPattern = pattern || this.detectCompositionPattern(compositionFn, context);
76
- const config = this.patternConfigs.get(detectedPattern);
77
- // Track side effects if this is an imperative pattern
78
- let sideEffectsDetected = false;
79
- let resourceCreationTracked = false;
80
- let scopeValidationPerformed = false;
81
- if (config.trackResourceCreation && context) {
82
- const resourcesBefore = new Set(Object.keys(context.resources));
83
- // Execute the base analysis
84
- const baseResult = this.analyzeCompositionFunction(compositionFn, schemaProxy, context);
85
- // Check for side effects
86
- const resourcesAfter = Object.keys(context.resources);
87
- sideEffectsDetected = resourcesAfter.some((id) => !resourcesBefore.has(id));
88
- resourceCreationTracked = true;
89
- // Perform scope validation if enabled
90
- if (config.validateScope) {
91
- // This would be handled by the scope manager
92
- scopeValidationPerformed = true;
93
- }
94
- return {
95
- ...baseResult,
96
- pattern: detectedPattern,
97
- patternSpecificMetadata: {
98
- sideEffectsDetected,
99
- resourceCreationTracked,
100
- scopeValidationPerformed,
101
- },
102
- };
103
- }
104
- else {
105
- // Execute the base analysis without side effect tracking
106
- const baseResult = this.analyzeCompositionFunction(compositionFn, schemaProxy, context);
107
- return {
108
- ...baseResult,
109
- pattern: detectedPattern,
110
- patternSpecificMetadata: {
111
- sideEffectsDetected,
112
- resourceCreationTracked,
113
- scopeValidationPerformed,
114
- },
115
- };
116
- }
117
- }
118
- /**
119
- * Process composition based on detected pattern
120
- */
121
- processCompositionByPattern(statusShape, pattern, factoryType = 'kro') {
122
- const config = this.patternConfigs.get(pattern);
123
- if (!config.convertTocel) {
124
- // Pattern doesn't require CEL conversion
125
- return statusShape;
126
- }
127
- // Use the standard processing logic
128
- return this.processCompositionStatus(statusShape, factoryType);
129
- }
130
- /**
131
- * Validate composition pattern compatibility
132
- */
133
- validatePatternCompatibility(pattern, factoryType, context) {
134
- const warnings = [];
135
- const recommendations = [];
136
- let isCompatible = true;
137
- const config = this.patternConfigs.get(pattern);
138
- // Check imperative pattern with direct factory
139
- if (pattern === 'imperative' && factoryType === 'direct') {
140
- if (!context) {
141
- warnings.push('Imperative pattern without composition context may not work correctly with direct factory');
142
- recommendations.push('Ensure kubernetesComposition is used with proper context management');
143
- }
144
- }
145
- // Check declarative pattern with side effects
146
- if (pattern === 'declarative' && config.allowSideEffects && context) {
147
- const resourceCount = Object.keys(context.resources).length;
148
- if (resourceCount > 0) {
149
- warnings.push('Declarative pattern detected but resources found in composition context');
150
- recommendations.push('Consider using imperative pattern (kubernetesComposition) for side-effect based resource creation');
151
- }
152
- }
153
- // Check CEL conversion compatibility
154
- if (factoryType === 'kro' && !config.convertTocel) {
155
- isCompatible = false;
156
- warnings.push(`Pattern '${pattern}' is not compatible with Kro factory (CEL conversion required)`);
157
- recommendations.push('Use direct factory or enable CEL conversion for this pattern');
158
- }
159
- return {
160
- isCompatible,
161
- warnings,
162
- recommendations,
163
- };
164
- }
165
- /**
166
- * Get pattern-specific analysis recommendations
167
- */
168
- getPatternRecommendations(pattern, analysisResult) {
169
- const recommendations = [];
170
- if (pattern === 'imperative') {
171
- if (analysisResult.kubernetesRefs.length === 0) {
172
- recommendations.push('Consider using declarative pattern (toResourceGraph) for static compositions without KubernetesRef objects');
173
- }
174
- if (analysisResult.referencedResources.length > 10) {
175
- recommendations.push('Large number of resource references detected - consider breaking into smaller compositions');
176
- }
177
- }
178
- if (pattern === 'declarative') {
179
- if (analysisResult.kubernetesRefs.length > 0) {
180
- recommendations.push('KubernetesRef objects detected - imperative pattern (kubernetesComposition) might be more suitable');
181
- }
182
- }
183
- return recommendations;
184
- }
185
- /**
186
- * Analyze a composition function for KubernetesRef usage and expression conversion needs
187
- */
188
- analyzeCompositionFunction(compositionFn, schemaProxy, context) {
189
- const _startTime = Date.now();
190
- try {
191
- // Execute the composition function to capture the returned status shape
192
- const statusShape = compositionFn(schemaProxy.spec);
193
- // Create analysis context
194
- const analysisContext = {
195
- type: 'status',
196
- availableReferences: context?.resources || {},
197
- schemaProxy,
198
- factoryType: 'kro',
199
- };
200
- // Analyze the status shape for KubernetesRef objects
201
- const analysisResult = this.magicAssignableAnalyzer.analyzeMagicAssignableShape(statusShape, analysisContext);
202
- // Extract referenced resources from the composition context if available
203
- const referencedResources = this.extractReferencedResources(context);
204
- // Determine if CEL conversion is needed
205
- const requiresCelConversion = analysisResult.dependencies.length > 0;
206
- const conversionMetadata = {
207
- expressionsAnalyzed: Object.keys(analysisResult.fieldResults).length,
208
- kubernetesRefsDetected: analysisResult.dependencies.length,
209
- celExpressionsGenerated: requiresCelConversion
210
- ? Object.keys(analysisResult.fieldResults).length
211
- : 0,
212
- };
213
- return {
214
- statusShape,
215
- kubernetesRefs: analysisResult.dependencies,
216
- referencedResources,
217
- requiresCelConversion,
218
- conversionMetadata,
219
- };
220
- }
221
- catch (error) {
222
- throw new Error(`Failed to analyze composition function: ${error instanceof Error ? error.message : String(error)}`);
223
- }
224
- }
225
- /**
226
- * Analyze a composition function's resource creation patterns
227
- */
228
- analyzeResourceCreation(compositionFn, schemaProxy, context) {
229
- const currentContext = context || getCurrentCompositionContext();
230
- if (!currentContext) {
231
- return {
232
- resourcesCreated: [],
233
- kubernetesRefsInResources: [],
234
- requiresCelConversion: false,
235
- };
236
- }
237
- // Track resources before execution
238
- const resourcesBefore = new Set(Object.keys(currentContext.resources));
239
- try {
240
- // Execute the composition function to trigger resource creation
241
- compositionFn(schemaProxy.spec);
242
- // Find newly created resources
243
- const resourcesAfter = Object.keys(currentContext.resources);
244
- const resourcesCreated = resourcesAfter.filter((id) => !resourcesBefore.has(id));
245
- // Analyze newly created resources for KubernetesRef objects
246
- const kubernetesRefsInResources = [];
247
- for (const resourceId of resourcesCreated) {
248
- const resource = currentContext.resources[resourceId];
249
- if (resource) {
250
- const refs = this.extractKubernetesRefsFromResource(resource);
251
- kubernetesRefsInResources.push(...refs);
252
- }
253
- }
254
- return {
255
- resourcesCreated,
256
- kubernetesRefsInResources,
257
- requiresCelConversion: kubernetesRefsInResources.length > 0,
258
- };
259
- }
260
- catch (error) {
261
- throw new Error(`Failed to analyze resource creation: ${error instanceof Error ? error.message : String(error)}`);
262
- }
263
- }
264
- /**
265
- * Process a composition's status shape for CEL conversion
266
- */
267
- processCompositionStatus(statusShape, factoryType = 'kro') {
268
- if (factoryType === 'direct') {
269
- // For direct factory, leave expressions as-is for runtime evaluation
270
- return statusShape;
271
- }
272
- // Create analysis context
273
- const analysisContext = {
274
- type: 'status',
275
- availableReferences: {},
276
- factoryType,
277
- };
278
- // For Kro factory, convert KubernetesRef-containing expressions to CEL
279
- return this.magicAssignableAnalyzer.analyzeMagicAssignableShape(statusShape, analysisContext).processedShape;
280
- }
281
- /**
282
- * Enhanced status building with comprehensive KubernetesRef handling
283
- */
284
- buildCompositionStatus(statusShape, context, factoryType = 'kro') {
285
- // Create analysis context
286
- const analysisContext = {
287
- type: 'status',
288
- availableReferences: context.resources,
289
- factoryType,
290
- };
291
- // Analyze the status shape for KubernetesRef objects
292
- const analysisResult = this.magicAssignableAnalyzer.analyzeMagicAssignableShape(statusShape, analysisContext);
293
- // Track context for dependency analysis
294
- const contextTracking = this.contextTracker.trackCompositionContext(context);
295
- // Extract dependencies from KubernetesRef objects
296
- const dependencies = new Set();
297
- let crossResourceReferences = 0;
298
- for (const ref of analysisResult.dependencies) {
299
- if (ref.resourceId !== '__schema__') {
300
- dependencies.add(ref.resourceId);
301
- // Check if this is a cross-resource reference
302
- if (contextTracking.resourcesWithKubernetesRefs.includes(ref.resourceId)) {
303
- crossResourceReferences++;
304
- }
305
- }
306
- }
307
- // Process the status shape based on factory type
308
- let processedStatus;
309
- let celExpressionsGenerated = 0;
310
- if (factoryType === 'direct') {
311
- // For direct factory, leave expressions as-is for runtime evaluation
312
- processedStatus = statusShape;
313
- }
314
- else {
315
- // For Kro factory, convert KubernetesRef-containing expressions to CEL
316
- processedStatus = analysisResult.processedShape;
317
- celExpressionsGenerated = Object.keys(analysisResult.fieldResults).length;
318
- }
319
- return {
320
- processedStatus,
321
- kubernetesRefs: analysisResult.dependencies,
322
- dependencies: Array.from(dependencies),
323
- requiresCelConversion: analysisResult.dependencies.length > 0,
324
- conversionMetadata: {
325
- fieldsProcessed: Object.keys(analysisResult.fieldResults).length,
326
- kubernetesRefsFound: analysisResult.dependencies.length,
327
- celExpressionsGenerated,
328
- crossResourceReferences,
329
- },
330
- };
331
- }
332
- /**
333
- * Validate status shape for composition compatibility
334
- */
335
- validateStatusShape(statusShape, context) {
336
- const errors = [];
337
- const warnings = [];
338
- try {
339
- // Create analysis context
340
- const analysisContext = {
341
- type: 'status',
342
- availableReferences: context?.resources || {},
343
- factoryType: 'kro',
344
- };
345
- // Analyze the status shape
346
- const analysisResult = this.magicAssignableAnalyzer.analyzeMagicAssignableShape(statusShape, analysisContext);
347
- // Validate each KubernetesRef
348
- for (const ref of analysisResult.dependencies) {
349
- const scopeValidation = this.scopeManager.validateKubernetesRefScope(ref);
350
- if (!scopeValidation.isValid) {
351
- errors.push(`Invalid KubernetesRef scope: ${scopeValidation.error}`);
352
- }
353
- // Check if the referenced resource exists in the context
354
- if (context && ref.resourceId !== '__schema__' && !context.resources[ref.resourceId]) {
355
- warnings.push(`Referenced resource '${ref.resourceId}' not found in composition context`);
356
- }
357
- }
358
- // Check for circular dependencies
359
- if (context) {
360
- const contextTracking = this.contextTracker.trackCompositionContext(context);
361
- // Simple circular dependency detection
362
- const resourceGraph = new Map();
363
- for (const crossRef of contextTracking.crossResourceReferences) {
364
- if (!resourceGraph.has(crossRef.sourceResource)) {
365
- resourceGraph.set(crossRef.sourceResource, new Set());
366
- }
367
- resourceGraph.get(crossRef.sourceResource)?.add(crossRef.targetResource);
368
- }
369
- // Check for cycles using DFS
370
- const visited = new Set();
371
- const recursionStack = new Set();
372
- const hasCycle = (node) => {
373
- if (recursionStack.has(node)) {
374
- return true;
375
- }
376
- if (visited.has(node)) {
377
- return false;
378
- }
379
- visited.add(node);
380
- recursionStack.add(node);
381
- const neighbors = resourceGraph.get(node) || new Set();
382
- for (const neighbor of neighbors) {
383
- if (hasCycle(neighbor)) {
384
- return true;
385
- }
386
- }
387
- recursionStack.delete(node);
388
- return false;
389
- };
390
- for (const resource of resourceGraph.keys()) {
391
- if (hasCycle(resource)) {
392
- errors.push(`Circular dependency detected involving resource '${resource}'`);
393
- break;
394
- }
395
- }
396
- }
397
- }
398
- catch (error) {
399
- errors.push(`Status shape validation failed: ${error instanceof Error ? error.message : String(error)}`);
400
- }
401
- return {
402
- isValid: errors.length === 0,
403
- errors,
404
- warnings,
405
- };
406
- }
407
- /**
408
- * Extract referenced resources from composition context
409
- */
410
- extractReferencedResources(context) {
411
- if (!context) {
412
- const currentContext = getCurrentCompositionContext();
413
- if (!currentContext) {
414
- return [];
415
- }
416
- context = currentContext;
417
- }
418
- return Object.keys(context.resources);
419
- }
420
- /**
421
- * Extract KubernetesRef objects from a resource
422
- */
423
- extractKubernetesRefsFromResource(resource) {
424
- const refs = [];
425
- const traverse = (obj) => {
426
- if (isKubernetesRef(obj)) {
427
- refs.push(obj);
428
- return;
429
- }
430
- if (Array.isArray(obj)) {
431
- obj.forEach(traverse);
432
- }
433
- else if (obj && typeof obj === 'object') {
434
- Object.values(obj).forEach(traverse);
435
- }
436
- };
437
- traverse(resource);
438
- return refs;
439
- }
440
- }
441
- /**
442
- * Context-aware resource tracking for composition integration
443
- */
444
- export class CompositionContextTracker {
445
- contextAnalysisCache = new Map();
446
- resourceKubernetesRefCache = new Map();
447
- /**
448
- * Track KubernetesRef usage in a composition context
449
- */
450
- trackCompositionContext(context) {
451
- const allKubernetesRefs = [];
452
- const resourcesWithKubernetesRefs = [];
453
- const crossResourceReferences = [];
454
- // Analyze all resources in the context
455
- for (const [resourceId, resource] of Object.entries(context.resources)) {
456
- const refs = this.extractKubernetesRefsFromResource(resource);
457
- if (refs.length > 0) {
458
- resourcesWithKubernetesRefs.push(resourceId);
459
- allKubernetesRefs.push(...refs);
460
- // Cache the refs for this resource
461
- this.resourceKubernetesRefCache.set(resourceId, refs);
462
- // Identify cross-resource references
463
- for (const ref of refs) {
464
- if (ref.resourceId !== resourceId && ref.resourceId !== '__schema__') {
465
- crossResourceReferences.push({
466
- sourceResource: resourceId,
467
- targetResource: ref.resourceId,
468
- fieldPath: ref.fieldPath,
469
- });
470
- }
471
- }
472
- }
473
- }
474
- return {
475
- totalKubernetesRefs: allKubernetesRefs.length,
476
- resourcesWithKubernetesRefs,
477
- crossResourceReferences,
478
- };
479
- }
480
- /**
481
- * Get cached KubernetesRef objects for a resource
482
- */
483
- getCachedResourceKubernetesRefs(resourceId) {
484
- return this.resourceKubernetesRefCache.get(resourceId) || [];
485
- }
486
- /**
487
- * Clear caches for a specific context
488
- */
489
- clearContextCache(contextId) {
490
- this.contextAnalysisCache.delete(contextId);
491
- }
492
- /**
493
- * Extract KubernetesRef objects from a resource
494
- */
495
- extractKubernetesRefsFromResource(resource) {
496
- const refs = [];
497
- const traverse = (obj, path = '') => {
498
- if (isKubernetesRef(obj)) {
499
- refs.push(obj);
500
- return;
501
- }
502
- if (Array.isArray(obj)) {
503
- obj.forEach((item, index) => traverse(item, `${path}[${index}]`));
504
- }
505
- else if (obj && typeof obj === 'object') {
506
- Object.entries(obj).forEach(([key, value]) => {
507
- const newPath = path ? `${path}.${key}` : key;
508
- traverse(value, newPath);
509
- });
510
- }
511
- };
512
- traverse(resource);
513
- return refs;
514
- }
515
- }
516
- /**
517
- * Magic proxy scoping manager for composition contexts with nested composition support
518
- */
519
- export class MagicProxyScopeManager {
520
- scopeStack = [];
521
- scopeRegistry = new Map();
522
- /**
523
- * Enter a new composition scope
524
- */
525
- enterScope(contextId, schemaProxy) {
526
- const parentScope = this.getCurrentScope();
527
- const depth = parentScope ? parentScope.depth + 1 : 0;
528
- const newScope = {
529
- contextId,
530
- resourceIds: new Set(),
531
- schemaProxy,
532
- parentScope,
533
- childScopes: [],
534
- depth,
535
- };
536
- // Link to parent scope
537
- if (parentScope) {
538
- parentScope.childScopes.push(newScope);
539
- }
540
- this.scopeStack.push(newScope);
541
- this.scopeRegistry.set(contextId, newScope);
542
- }
543
- /**
544
- * Exit the current composition scope
545
- */
546
- exitScope() {
547
- const exitingScope = this.scopeStack.pop();
548
- if (exitingScope) {
549
- this.scopeRegistry.delete(exitingScope.contextId);
550
- }
551
- }
552
- /**
553
- * Register a resource in the current scope
554
- */
555
- registerResource(resourceId) {
556
- const currentScope = this.getCurrentScope();
557
- if (currentScope) {
558
- currentScope.resourceIds.add(resourceId);
559
- }
560
- }
561
- /**
562
- * Register merged resources from a nested composition
563
- */
564
- registerMergedResources(contextId, mergedResourceIds) {
565
- const scope = this.scopeRegistry.get(contextId);
566
- if (scope) {
567
- scope.mergedResourceIds = mergedResourceIds;
568
- // Also register these resources in the current scope for accessibility
569
- const currentScope = this.getCurrentScope();
570
- if (currentScope && currentScope !== scope) {
571
- mergedResourceIds.forEach((id) => currentScope.resourceIds.add(id));
572
- }
573
- }
574
- }
575
- /**
576
- * Get the current scope
577
- */
578
- getCurrentScope() {
579
- return this.scopeStack[this.scopeStack.length - 1];
580
- }
581
- /**
582
- * Get a scope by context ID
583
- */
584
- getScope(contextId) {
585
- return this.scopeRegistry.get(contextId);
586
- }
587
- /**
588
- * Check if a resource is accessible in the current scope (including parent scopes)
589
- */
590
- isResourceAccessible(resourceId) {
591
- const currentScope = this.getCurrentScope();
592
- if (!currentScope) {
593
- return false;
594
- }
595
- // Check current scope and all parent scopes
596
- let scope = currentScope;
597
- while (scope) {
598
- if (scope.resourceIds.has(resourceId)) {
599
- return true;
600
- }
601
- // Check merged resources from nested compositions
602
- if (scope.mergedResourceIds?.includes(resourceId)) {
603
- return true;
604
- }
605
- scope = scope.parentScope;
606
- }
607
- return false;
608
- }
609
- /**
610
- * Check if a resource is in the current scope only
611
- */
612
- isResourceInCurrentScope(resourceId) {
613
- const currentScope = this.getCurrentScope();
614
- return currentScope ? currentScope.resourceIds.has(resourceId) : false;
615
- }
616
- /**
617
- * Get all accessible resources (current scope + parent scopes)
618
- */
619
- getAccessibleResources() {
620
- const currentScope = this.getCurrentScope();
621
- if (!currentScope) {
622
- return [];
623
- }
624
- const accessibleResources = new Set();
625
- // Collect resources from current scope and all parent scopes
626
- let scope = currentScope;
627
- while (scope) {
628
- scope.resourceIds.forEach((id) => accessibleResources.add(id));
629
- // Add merged resources from nested compositions
630
- if (scope.mergedResourceIds) {
631
- scope.mergedResourceIds.forEach((id) => accessibleResources.add(id));
632
- }
633
- scope = scope.parentScope;
634
- }
635
- return Array.from(accessibleResources);
636
- }
637
- /**
638
- * Get resources in the current scope only
639
- */
640
- getCurrentScopeResources() {
641
- const currentScope = this.getCurrentScope();
642
- return currentScope ? Array.from(currentScope.resourceIds) : [];
643
- }
644
- /**
645
- * Get the scope hierarchy as a string for debugging
646
- */
647
- getScopeHierarchy() {
648
- const currentScope = this.getCurrentScope();
649
- if (!currentScope) {
650
- return 'No active scope';
651
- }
652
- const hierarchy = [];
653
- let scope = currentScope;
654
- while (scope) {
655
- hierarchy.unshift(`${scope.contextId} (depth: ${scope.depth}, resources: ${scope.resourceIds.size})`);
656
- scope = scope.parentScope;
657
- }
658
- return hierarchy.join(' -> ');
659
- }
660
- /**
661
- * Validate KubernetesRef scope with nested composition support
662
- */
663
- validateKubernetesRefScope(kubernetesRef) {
664
- const currentScope = this.getCurrentScope();
665
- if (!currentScope) {
666
- return { isValid: false, error: 'No active composition scope' };
667
- }
668
- // Schema references are always valid
669
- if (kubernetesRef.resourceId === '__schema__') {
670
- return { isValid: true };
671
- }
672
- // Check accessibility in nested scope hierarchy
673
- let scope = currentScope;
674
- while (scope) {
675
- if (scope.resourceIds.has(kubernetesRef.resourceId)) {
676
- return {
677
- isValid: true,
678
- scopeInfo: {
679
- foundInScope: scope.contextId,
680
- scopeDepth: scope.depth,
681
- },
682
- };
683
- }
684
- // Check merged resources from nested compositions
685
- if (scope.mergedResourceIds?.includes(kubernetesRef.resourceId)) {
686
- return {
687
- isValid: true,
688
- scopeInfo: {
689
- foundInScope: scope.contextId,
690
- scopeDepth: scope.depth,
691
- },
692
- };
693
- }
694
- scope = scope.parentScope;
695
- }
696
- return {
697
- isValid: false,
698
- error: `Resource '${kubernetesRef.resourceId}' is not accessible in the current composition scope hierarchy`,
699
- };
700
- }
701
- /**
702
- * Get nested composition statistics
703
- */
704
- getNestedCompositionStats() {
705
- const currentScope = this.getCurrentScope();
706
- const stats = {
707
- totalScopes: this.scopeRegistry.size,
708
- maxDepth: 0,
709
- currentDepth: currentScope?.depth || 0,
710
- totalResources: 0,
711
- resourcesByScope: {},
712
- };
713
- for (const [contextId, scope] of this.scopeRegistry) {
714
- stats.maxDepth = Math.max(stats.maxDepth, scope.depth);
715
- stats.totalResources += scope.resourceIds.size;
716
- stats.resourcesByScope[contextId] = scope.resourceIds.size;
717
- if (scope.mergedResourceIds) {
718
- stats.totalResources += scope.mergedResourceIds.length;
719
- }
720
- }
721
- return stats;
722
- }
723
- }
724
- /**
725
- * Integration hooks for kubernetesComposition API
726
- */
727
- export class CompositionIntegrationHooks {
728
- analyzer;
729
- contextTracker;
730
- scopeManager;
731
- constructor() {
732
- this.analyzer = new CompositionExpressionAnalyzer();
733
- this.contextTracker = new CompositionContextTracker();
734
- this.scopeManager = new MagicProxyScopeManager();
735
- }
736
- /**
737
- * Hook called before composition execution to set up expression analysis
738
- */
739
- beforeCompositionExecution(compositionFn, schemaProxy, contextId) {
740
- // Enter the composition scope
741
- this.scopeManager.enterScope(contextId, schemaProxy);
742
- // Pre-analyze the composition for optimization opportunities
743
- try {
744
- const analysisResult = this.analyzer.analyzeCompositionFunction(compositionFn, schemaProxy);
745
- // Store analysis result for later use during serialization
746
- if (analysisResult.requiresCelConversion) {
747
- console.debug(`Composition ${contextId} requires CEL conversion: ${analysisResult.conversionMetadata.kubernetesRefsDetected} KubernetesRef objects detected`);
748
- }
749
- }
750
- catch (error) {
751
- // Non-fatal error - composition can continue without pre-analysis
752
- console.warn(`Composition pre-analysis failed: ${error instanceof Error ? error.message : String(error)}`);
753
- }
754
- }
755
- /**
756
- * Hook called after composition execution to process results
757
- */
758
- afterCompositionExecution(statusShape, factoryType = 'kro', context) {
759
- try {
760
- // Track the composition context if provided
761
- if (context) {
762
- const trackingResult = this.contextTracker.trackCompositionContext(context);
763
- if (trackingResult.crossResourceReferences.length > 0) {
764
- console.debug(`Composition has ${trackingResult.crossResourceReferences.length} cross-resource references that may require CEL conversion`);
765
- }
766
- }
767
- // Process the status shape
768
- const processedStatus = this.analyzer.processCompositionStatus(statusShape, factoryType);
769
- return processedStatus;
770
- }
771
- finally {
772
- // Exit the composition scope
773
- this.scopeManager.exitScope();
774
- }
775
- }
776
- /**
777
- * Hook called during resource creation to analyze KubernetesRef usage
778
- */
779
- onResourceCreation(resourceId, resource, _context) {
780
- // Register the resource in the current scope
781
- this.scopeManager.registerResource(resourceId);
782
- // Analyze KubernetesRef usage
783
- const refs = this.contextTracker.getCachedResourceKubernetesRefs(resourceId) ||
784
- this.contextTracker.extractKubernetesRefsFromResource(resource);
785
- if (refs.length > 0) {
786
- console.debug(`Resource ${resourceId} contains ${refs.length} KubernetesRef objects that may require CEL conversion`);
787
- // Validate scope for each KubernetesRef
788
- for (const ref of refs) {
789
- const validation = this.scopeManager.validateKubernetesRefScope(ref);
790
- if (!validation.isValid) {
791
- console.warn(`KubernetesRef validation failed for resource ${resourceId}: ${validation.error}`);
792
- }
793
- }
794
- }
795
- }
796
- /**
797
- * Get the current magic proxy scope manager
798
- */
799
- getScopeManager() {
800
- return this.scopeManager;
801
- }
802
- /**
803
- * Get the context tracker
804
- */
805
- getContextTracker() {
806
- return this.contextTracker;
807
- }
808
- /**
809
- * Handle auto-registration of resources with KubernetesRef tracking
810
- */
811
- handleAutoRegistration(resourceId, resource, context) {
812
- // Register the resource in the current scope
813
- this.scopeManager.registerResource(resourceId);
814
- // Track KubernetesRef objects in the auto-registered resource
815
- const refs = this.contextTracker.extractKubernetesRefsFromResource(resource);
816
- if (refs.length > 0) {
817
- // Validate that all referenced resources are accessible
818
- for (const ref of refs) {
819
- const validation = this.scopeManager.validateKubernetesRefScope(ref);
820
- if (!validation.isValid) {
821
- console.warn(`Auto-registered resource '${resourceId}' contains invalid KubernetesRef: ${validation.error}`);
822
- }
823
- }
824
- // Cache the KubernetesRef objects for later use
825
- this.contextTracker.resourceKubernetesRefCache.set(resourceId, refs);
826
- }
827
- // Update the composition context
828
- context.addResource(resourceId, resource);
829
- }
830
- /**
831
- * Handle side-effect based resource creation with magic proxy integration
832
- */
833
- handleSideEffectCreation(resourceFactory, resourceId, context) {
834
- const activeContext = context || getCurrentCompositionContext();
835
- if (!activeContext) {
836
- // No active composition context - create resource normally
837
- return resourceFactory();
838
- }
839
- // Track resources before creation
840
- const resourcesBefore = new Set(Object.keys(activeContext.resources));
841
- // Create the resource
842
- const resource = resourceFactory();
843
- // Determine the actual resource ID
844
- const actualResourceId = resourceId || this.generateResourceIdFromResource(resource);
845
- // Check if new resources were created as side effects
846
- const resourcesAfter = Object.keys(activeContext.resources);
847
- const newResources = resourcesAfter.filter((id) => !resourcesBefore.has(id));
848
- // Handle each new resource
849
- for (const newResourceId of newResources) {
850
- const newResource = activeContext.resources[newResourceId];
851
- if (newResource) {
852
- this.handleAutoRegistration(newResourceId, newResource, activeContext);
853
- }
854
- }
855
- // Handle the main resource if it wasn't already registered
856
- if (!activeContext.resources[actualResourceId]) {
857
- this.handleAutoRegistration(actualResourceId, resource, activeContext);
858
- }
859
- return resource;
860
- }
861
- /**
862
- * Track magic proxy usage during composition execution
863
- */
864
- trackMagicProxyUsage(proxyAccess) {
865
- const currentScope = this.scopeManager.getCurrentScope();
866
- if (!currentScope) {
867
- return;
868
- }
869
- // Validate that the accessed resource is in scope
870
- if (proxyAccess.resourceId !== '__schema__' &&
871
- !this.scopeManager.isResourceAccessible(proxyAccess.resourceId)) {
872
- console.warn(`Magic proxy access to out-of-scope resource: ${proxyAccess.resourceId}.${proxyAccess.fieldPath}`);
873
- }
874
- // Track KubernetesRef creation from magic proxy access
875
- if (proxyAccess.accessType === 'read' && isKubernetesRef(proxyAccess.value)) {
876
- const validation = this.scopeManager.validateKubernetesRefScope(proxyAccess.value);
877
- if (!validation.isValid) {
878
- console.warn(`Magic proxy created invalid KubernetesRef: ${validation.error}`);
879
- }
880
- }
881
- }
882
- /**
883
- * Ensure compatibility with existing factory functions
884
- */
885
- ensureFactoryCompatibility(factoryFn, factoryName) {
886
- const currentScope = this.scopeManager.getCurrentScope();
887
- if (!currentScope) {
888
- // No active composition - use factory normally
889
- return factoryFn();
890
- }
891
- try {
892
- // Execute factory with side-effect tracking
893
- return this.handleSideEffectCreation(factoryFn, undefined, getCurrentCompositionContext());
894
- }
895
- catch (error) {
896
- console.error(`Factory function '${factoryName}' failed in composition context: ${error instanceof Error ? error.message : String(error)}`);
897
- throw error;
898
- }
899
- }
900
- /**
901
- * Generate a resource ID from a resource object
902
- */
903
- generateResourceIdFromResource(resource) {
904
- // Try to extract ID from common resource properties
905
- const resourceObj = resource;
906
- if (resourceObj.__resourceId) {
907
- return resourceObj.__resourceId;
908
- }
909
- if (resourceObj.metadata?.name) {
910
- const kind = resourceObj.kind || 'resource';
911
- return `${kind.toLowerCase()}-${resourceObj.metadata.name}`;
912
- }
913
- if (resourceObj.kind) {
914
- return `${resourceObj.kind.toLowerCase()}-${Date.now()}`;
915
- }
916
- return `resource-${Date.now()}`;
917
- }
918
- }
919
- /**
920
- * Global composition integration instance
921
- */
922
- export const compositionIntegration = new CompositionIntegrationHooks();
923
- /**
924
- * Utility function to check if a composition function uses KubernetesRef objects
925
- */
926
- export function compositionUsesKubernetesRefs(compositionFn, schemaProxy) {
927
- const analyzer = new CompositionExpressionAnalyzer();
928
- try {
929
- const result = analyzer.analyzeCompositionFunction(compositionFn, schemaProxy);
930
- return result.requiresCelConversion;
931
- }
932
- catch {
933
- // If analysis fails, assume it might use KubernetesRef objects to be safe
934
- return true;
935
- }
936
- }
937
- /**
938
- * Utility function to get composition analysis metadata
939
- */
940
- export function getCompositionAnalysis(compositionFn, schemaProxy) {
941
- const analyzer = new CompositionExpressionAnalyzer();
942
- return analyzer.analyzeCompositionFunction(compositionFn, schemaProxy);
943
- }
944
- //# sourceMappingURL=composition-integration.js.map