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
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Composition Context Infrastructure
3
+ *
4
+ * This module owns the AsyncLocalStorage singletons that track the active
5
+ * composition and status-builder contexts. It was extracted from
6
+ * `src/factories/shared.ts` to fix an architectural inversion where
7
+ * `src/core/` depended on `src/factories/` for foundational infrastructure.
8
+ *
9
+ * **Singleton guarantee:** The AsyncLocalStorage instances are module-scoped
10
+ * constants. Every consumer (core and factories alike) must import from this
11
+ * single canonical location to avoid accidental duplication.
12
+ */
13
+ import type { DeploymentClosure } from '../types/deployment.js';
14
+ import type { Enhanced } from '../types.js';
15
+ /**
16
+ * Context for imperative composition pattern.
17
+ * Tracks resources and deployment closures created during composition function execution.
18
+ */
19
+ export interface CompositionContext {
20
+ /** Map of resource ID to Enhanced resource */
21
+ resources: Record<string, Enhanced<any, any>>;
22
+ /** Map of closure ID to deployment closure */
23
+ closures: Record<string, DeploymentClosure>;
24
+ /** Counter for generating unique resource IDs */
25
+ resourceCounter: number;
26
+ /** Counter for generating unique closure IDs */
27
+ closureCounter: number;
28
+ /** Counter for composition instances */
29
+ compositionInstanceCounter: number;
30
+ /** Map of variable names to resource IDs for CEL expression generation */
31
+ variableMappings: Record<string, string>;
32
+ /** Add a resource to the context */
33
+ addResource(id: string, resource: Enhanced<any, any>): void;
34
+ /** Add a deployment closure to the context */
35
+ addClosure(id: string, closure: DeploymentClosure): void;
36
+ /** Add a variable to resource ID mapping */
37
+ addVariableMapping(variableName: string, resourceId: string): void;
38
+ /** Generate a unique resource ID */
39
+ generateResourceId(kind: string, name?: string): string;
40
+ /** Generate a unique closure ID */
41
+ generateClosureId(name?: string): string;
42
+ }
43
+ /**
44
+ * Options for composition context creation.
45
+ */
46
+ export interface CompositionContextOptions {
47
+ /**
48
+ * When true, duplicate resource IDs get a numeric suffix instead of overwriting.
49
+ * Used during direct-mode re-execution where forEach loops create multiple
50
+ * resources with the same id (e.g., 'regionDep' → 'regionDep', 'regionDep-1', 'regionDep-2').
51
+ */
52
+ deduplicateIds?: boolean;
53
+ }
54
+ /**
55
+ * Check if the current execution is within a status builder context.
56
+ */
57
+ export declare function isInStatusBuilderContext(): boolean;
58
+ /**
59
+ * Run a function within a status builder context where Enhanced resource
60
+ * proxies return KubernetesRef objects for all property access.
61
+ */
62
+ export declare function runInStatusBuilderContext<T>(fn: () => T): T;
63
+ /**
64
+ * Get the current composition context if one is active.
65
+ * @returns The active composition context or undefined if not in composition
66
+ */
67
+ export declare function getCurrentCompositionContext(): CompositionContext | undefined;
68
+ /**
69
+ * Run a function with a composition context.
70
+ * @param context The composition context to use
71
+ * @param fn The function to run with the context
72
+ * @returns The result of the function
73
+ */
74
+ export declare function runWithCompositionContext<T>(context: CompositionContext, fn: () => T): T;
75
+ /**
76
+ * Generic deployment closure registration wrapper.
77
+ * Automatically registers any deployment closure with the active composition context.
78
+ *
79
+ * @param closureFactory Function that creates the deployment closure
80
+ * @param name Optional name for the closure (used for ID generation)
81
+ * @returns The deployment closure, registered with context if active
82
+ */
83
+ export declare function registerDeploymentClosure<T extends DeploymentClosure>(closureFactory: () => T, name?: string): T;
84
+ /**
85
+ * Create a new composition context with default implementations.
86
+ * @param name Optional name for the composition (used in ID generation)
87
+ * @param contextOptions Options controlling context behavior
88
+ * @returns A new composition context
89
+ */
90
+ export declare function createCompositionContext(name?: string, contextOptions?: CompositionContextOptions): CompositionContext;
91
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/composition/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC5C,iDAAiD;IACjD,eAAe,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,0BAA0B,EAAE,MAAM,CAAC;IACnC,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,oCAAoC;IACpC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5D,8CAA8C;IAC9C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzD,4CAA4C;IAC5C,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnE,oCAAoC;IACpC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxD,mCAAmC;IACnC,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AA4BD;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE3D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,kBAAkB,GAAG,SAAS,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAExF;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,iBAAiB,EACnE,cAAc,EAAE,MAAM,CAAC,EACvB,IAAI,CAAC,EAAE,MAAM,GACZ,CAAC,CAYH;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,CAAC,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,yBAAyB,GACzC,kBAAkB,CAkCpB"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Composition Context Infrastructure
3
+ *
4
+ * This module owns the AsyncLocalStorage singletons that track the active
5
+ * composition and status-builder contexts. It was extracted from
6
+ * `src/factories/shared.ts` to fix an architectural inversion where
7
+ * `src/core/` depended on `src/factories/` for foundational infrastructure.
8
+ *
9
+ * **Singleton guarantee:** The AsyncLocalStorage instances are module-scoped
10
+ * constants. Every consumer (core and factories alike) must import from this
11
+ * single canonical location to avoid accidental duplication.
12
+ */
13
+ import { AsyncLocalStorage } from 'node:async_hooks';
14
+ // =============================================================================
15
+ // ASYNC-LOCAL-STORAGE SINGLETONS
16
+ // =============================================================================
17
+ /**
18
+ * AsyncLocalStorage for composition context.
19
+ * Enables context-aware resource registration across async boundaries.
20
+ */
21
+ const COMPOSITION_CONTEXT = new AsyncLocalStorage();
22
+ /**
23
+ * AsyncLocalStorage for status builder context.
24
+ *
25
+ * When active, property access on Enhanced resource proxies always returns
26
+ * KubernetesRef objects (instead of eager values), enabling JavaScript-to-CEL
27
+ * conversion in status builder functions.
28
+ *
29
+ * Replaces the previous `(globalThis as any).__TYPEKRO_STATUS_BUILDER_CONTEXT__`
30
+ * mutable global flag with a properly scoped, async-safe context.
31
+ */
32
+ const STATUS_BUILDER_CONTEXT = new AsyncLocalStorage();
33
+ // =============================================================================
34
+ // PUBLIC API
35
+ // =============================================================================
36
+ /**
37
+ * Check if the current execution is within a status builder context.
38
+ */
39
+ export function isInStatusBuilderContext() {
40
+ return STATUS_BUILDER_CONTEXT.getStore() === true;
41
+ }
42
+ /**
43
+ * Run a function within a status builder context where Enhanced resource
44
+ * proxies return KubernetesRef objects for all property access.
45
+ */
46
+ export function runInStatusBuilderContext(fn) {
47
+ return STATUS_BUILDER_CONTEXT.run(true, fn);
48
+ }
49
+ /**
50
+ * Get the current composition context if one is active.
51
+ * @returns The active composition context or undefined if not in composition
52
+ */
53
+ export function getCurrentCompositionContext() {
54
+ return COMPOSITION_CONTEXT.getStore();
55
+ }
56
+ /**
57
+ * Run a function with a composition context.
58
+ * @param context The composition context to use
59
+ * @param fn The function to run with the context
60
+ * @returns The result of the function
61
+ */
62
+ export function runWithCompositionContext(context, fn) {
63
+ return COMPOSITION_CONTEXT.run(context, fn);
64
+ }
65
+ /**
66
+ * Generic deployment closure registration wrapper.
67
+ * Automatically registers any deployment closure with the active composition context.
68
+ *
69
+ * @param closureFactory Function that creates the deployment closure
70
+ * @param name Optional name for the closure (used for ID generation)
71
+ * @returns The deployment closure, registered with context if active
72
+ */
73
+ export function registerDeploymentClosure(closureFactory, name) {
74
+ const context = getCurrentCompositionContext();
75
+ if (context) {
76
+ const closure = closureFactory();
77
+ const closureId = context.generateClosureId(name);
78
+ context.addClosure(closureId, closure);
79
+ return closure;
80
+ }
81
+ // Outside composition context - return closure as-is
82
+ return closureFactory();
83
+ }
84
+ /**
85
+ * Create a new composition context with default implementations.
86
+ * @param name Optional name for the composition (used in ID generation)
87
+ * @param contextOptions Options controlling context behavior
88
+ * @returns A new composition context
89
+ */
90
+ export function createCompositionContext(name, contextOptions) {
91
+ const idCounts = {};
92
+ return {
93
+ resources: {},
94
+ closures: {},
95
+ resourceCounter: 0,
96
+ closureCounter: 0,
97
+ compositionInstanceCounter: 0,
98
+ variableMappings: {},
99
+ addResource(id, resource) {
100
+ if (contextOptions?.deduplicateIds && id in this.resources) {
101
+ // Append numeric suffix to make the key unique
102
+ idCounts[id] = (idCounts[id] ?? 0) + 1;
103
+ const count = idCounts[id];
104
+ this.resources[`${id}-${count}`] = resource;
105
+ }
106
+ else {
107
+ this.resources[id] = resource;
108
+ }
109
+ },
110
+ addClosure(id, closure) {
111
+ this.closures[id] = closure;
112
+ },
113
+ addVariableMapping(variableName, resourceId) {
114
+ this.variableMappings[variableName] = resourceId;
115
+ },
116
+ generateResourceId(kind, resourceName) {
117
+ return resourceName || `${kind.toLowerCase()}-${++this.resourceCounter}`;
118
+ },
119
+ generateClosureId(closureName) {
120
+ const prefix = name ? `${name}-` : '';
121
+ return closureName ? `${prefix}${closureName}` : `${prefix}closure-${++this.closureCounter}`;
122
+ },
123
+ };
124
+ }
125
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/core/composition/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAiDrD,gFAAgF;AAChF,iCAAiC;AACjC,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,mBAAmB,GAAG,IAAI,iBAAiB,EAAsB,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,sBAAsB,GAAG,IAAI,iBAAiB,EAAW,CAAC;AAEhE,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,sBAAsB,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAI,EAAW;IACtD,OAAO,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,mBAAmB,CAAC,QAAQ,EAAE,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAI,OAA2B,EAAE,EAAW;IACnF,OAAO,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,cAAuB,EACvB,IAAa;IAEb,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;IAE/C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,qDAAqD;IACrD,OAAO,cAAc,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAa,EACb,cAA0C;IAE1C,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAE5C,OAAO;QACL,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,CAAC;QAClB,cAAc,EAAE,CAAC;QACjB,0BAA0B,EAAE,CAAC;QAC7B,gBAAgB,EAAE,EAAE;QACpB,WAAW,CAAC,EAAU,EAAE,QAA4B;YAClD,IAAI,cAAc,EAAE,cAAc,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3D,+CAA+C;gBAC/C,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;YAChC,CAAC;QACH,CAAC;QACD,UAAU,CAAC,EAAU,EAAE,OAA0B;YAC/C,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QAC9B,CAAC;QACD,kBAAkB,CAAC,YAAoB,EAAE,UAAkB;YACzD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;QACnD,CAAC;QACD,kBAAkB,CAAC,IAAY,EAAE,YAAqB;YACpD,OAAO,YAAY,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3E,CAAC;QACD,iBAAiB,CAAC,WAAoB;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/F,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -8,10 +8,6 @@
8
8
  */
9
9
  import type { CallableComposition } from '../types/deployment.js';
10
10
  import type { KroCompatibleType, MagicAssignableShape, ResourceGraphDefinition, SerializationOptions } from '../types/serialization.js';
11
- /**
12
- * Enable debug mode for composition execution
13
- * This will log detailed information about resource registration, status building, and performance
14
- */
15
11
  export declare function enableCompositionDebugging(): void;
16
12
  /**
17
13
  * Disable debug mode for composition execution
@@ -27,13 +23,43 @@ export declare function getCompositionDebugLogs(): string[];
27
23
  */
28
24
  export declare function clearCompositionDebugLogs(): void;
29
25
  /**
30
- * Create an imperative composition that automatically captures resources
31
- * and returns status objects using MagicAssignableShape
26
+ * Create an imperative Kubernetes composition using natural TypeScript.
27
+ *
28
+ * Unlike {@link toResourceGraph} which uses separate resource/status builders,
29
+ * `kubernetesComposition` lets you write a single function that creates resources
30
+ * inline. Resources are automatically captured via the magic proxy system.
31
+ * The returned callable composition can be deployed directly or nested inside
32
+ * other compositions.
32
33
  *
33
- * @param definition - The resource graph definition with schemas
34
- * @param compositionFn - Synchronous function that takes spec and returns MagicAssignableShape<TStatus>
34
+ * @typeParam TSpec - The arktype schema for the custom resource's spec
35
+ * @typeParam TStatus - The arktype schema for the custom resource's status
36
+ *
37
+ * @param definition - The RGD metadata: name, apiVersion, kind, spec/status schemas
38
+ * @param compositionFn - Imperative function receiving the spec, creates resources
39
+ * inline, and returns a status shape. Resources created with factory functions
40
+ * (e.g., `Deployment()`, `Service()`) are automatically registered.
35
41
  * @param options - Optional serialization options
36
- * @returns TypedResourceGraph directly (not a factory)
42
+ * @returns A `CallableComposition` that can be deployed or nested inside other compositions
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const webapp = kubernetesComposition(
47
+ * {
48
+ * name: 'webapp',
49
+ * apiVersion: 'apps.example.com/v1alpha1',
50
+ * kind: 'WebApp',
51
+ * spec: type({ name: 'string', replicas: 'number' }),
52
+ * status: type({ ready: 'boolean' }),
53
+ * },
54
+ * (spec) => {
55
+ * const deploy = Deployment({ name: spec.name, replicas: spec.replicas });
56
+ * const svc = Service({ name: spec.name });
57
+ * return {
58
+ * ready: Cel.expr<boolean>(deploy.status.readyReplicas, ' > 0'),
59
+ * };
60
+ * },
61
+ * );
62
+ * ```
37
63
  */
38
- export declare function kubernetesComposition<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType>(definition: ResourceGraphDefinition<TSpec, TStatus>, compositionFn: (spec: TSpec) => TStatus | MagicAssignableShape<TStatus>, options?: SerializationOptions): CallableComposition<TSpec, TStatus>;
64
+ export declare function kubernetesComposition<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType>(definition: ResourceGraphDefinition<TSpec, TStatus>, compositionFn: (spec: TSpec) => MagicAssignableShape<TStatus>, options?: SerializationOptions): CallableComposition<TSpec, TStatus>;
39
65
  //# sourceMappingURL=imperative.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"imperative.d.ts","sourceRoot":"","sources":["../../../src/core/composition/imperative.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,OAAO,KAAK,EAAsB,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAEtF,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EAEvB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAGnC;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAskBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,SAAS,iBAAiB,EAC/B,OAAO,SAAS,iBAAiB,EAEjC,UAAU,EAAE,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,EACnD,aAAa,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,EACvE,OAAO,CAAC,EAAE,oBAAoB,GAC7B,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAyOrC"}
1
+ {"version":3,"file":"imperative.d.ts","sourceRoot":"","sources":["../../../src/core/composition/imperative.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,KAAK,EACV,mBAAmB,EAIpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EAEvB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAgBnC,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AA8iBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,SAAS,iBAAiB,EAC/B,OAAO,SAAS,iBAAiB,EAEjC,UAAU,EAAE,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,EACnD,aAAa,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,oBAAoB,CAAC,OAAO,CAAC,EAC7D,OAAO,CAAC,EAAE,oBAAoB,GAC7B,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAyOrC"}
@@ -6,14 +6,17 @@
6
6
  * automatically generating the same robust, type-safe ResourceGraphDefinitions
7
7
  * as the existing toResourceGraph API.
8
8
  */
9
- import { createCompositionContext, getCurrentCompositionContext, runWithCompositionContext, } from '../../factories/shared.js';
10
- import { CompositionDebugger, CompositionExecutionError } from '../errors.js';
9
+ import { CompositionDebugger } from '../composition-debugger.js';
11
10
  import { CALLABLE_COMPOSITION_BRAND, KUBERNETES_REF_BRAND, NESTED_COMPOSITION_BRAND, } from '../constants/brands.js';
11
+ import { CompositionExecutionError, ensureError } from '../errors.js';
12
+ import { getComponentLogger } from '../logging/index.js';
12
13
  import { toResourceGraph } from '../serialization/core.js';
14
+ import { createCompositionContext, getCurrentCompositionContext, runInStatusBuilderContext, runWithCompositionContext, } from './context.js';
13
15
  /**
14
16
  * Enable debug mode for composition execution
15
17
  * This will log detailed information about resource registration, status building, and performance
16
18
  */
19
+ const logger = getComponentLogger('imperative-composition');
17
20
  export function enableCompositionDebugging() {
18
21
  CompositionDebugger.enableDebugMode();
19
22
  }
@@ -147,6 +150,59 @@ function executeNestedCompositionWithSpec(definition, compositionFn, options, pa
147
150
  };
148
151
  return nestedCompositionResource;
149
152
  }
153
+ /**
154
+ * KubernetesRef metadata property names used by the proxy allowlist strategy.
155
+ * When `useAllowlist` is true, only these properties are returned from the
156
+ * proxy target — all other string accesses create nested proxies.
157
+ */
158
+ const KUBERNETES_REF_PROXY_PROPS = new Set([
159
+ KUBERNETES_REF_BRAND,
160
+ 'resourceId',
161
+ 'fieldPath',
162
+ '__nestedComposition',
163
+ ]);
164
+ /**
165
+ * Create a recursive proxy that returns `KubernetesRef` objects for
166
+ * arbitrarily deep property access.
167
+ *
168
+ * Two property-resolution strategies are supported:
169
+ * - `useAllowlist: false` (default) — uses `prop in target` to decide
170
+ * whether to return the target value or create a nested proxy.
171
+ * - `useAllowlist: true` — only the four KubernetesRef metadata properties
172
+ * (`KUBERNETES_REF_BRAND`, `resourceId`, `fieldPath`, `__nestedComposition`)
173
+ * are returned from the target; everything else creates a nested proxy.
174
+ *
175
+ * @param resourceId - The resource identifier embedded in every ref
176
+ * @param basePath - The initial field path (e.g. `'status'` or `''`)
177
+ * @param useAllowlist - When true, use an explicit allowlist instead of `prop in target`
178
+ */
179
+ function createKubernetesRefProxy(resourceId, basePath, useAllowlist = false) {
180
+ const baseObj = {
181
+ [KUBERNETES_REF_BRAND]: true,
182
+ resourceId,
183
+ fieldPath: basePath,
184
+ __nestedComposition: true,
185
+ };
186
+ return new Proxy(baseObj, {
187
+ get(target, prop) {
188
+ // Determine whether to return the target property directly
189
+ const isKnownProp = useAllowlist
190
+ ? typeof prop === 'string' || typeof prop === 'symbol'
191
+ ? KUBERNETES_REF_PROXY_PROPS.has(prop)
192
+ : false
193
+ : prop in target;
194
+ if (isKnownProp) {
195
+ return target[prop];
196
+ }
197
+ // For any other string property, create a nested proxy
198
+ if (typeof prop === 'string') {
199
+ const fullPath = basePath ? `${basePath}.${prop}` : prop;
200
+ return createKubernetesRefProxy(resourceId, fullPath, useAllowlist);
201
+ }
202
+ return undefined;
203
+ },
204
+ });
205
+ }
150
206
  /**
151
207
  * Create a status proxy for cross-composition references
152
208
  * @param compositionName - Name of the composition
@@ -154,90 +210,20 @@ function executeNestedCompositionWithSpec(definition, compositionFn, options, pa
154
210
  * @param nestedResult - The result of executing the nested composition
155
211
  * @param forCompositionProperty - If true, create KubernetesRef proxy for composition.status; if false, create for call result
156
212
  */
157
- function createStatusProxy(compositionName, parentContext, nestedResult, forCompositionProperty = false) {
158
- // For CallableComposition.status property, always return KubernetesRef-based proxy
159
- // This enables cross-composition references like: const ready = otherComposition.status.ready
160
- if (forCompositionProperty) {
161
- const resourceId = compositionName;
162
- function createRecursiveProxy(basePath) {
163
- const baseObj = {
164
- [KUBERNETES_REF_BRAND]: true,
165
- resourceId,
166
- fieldPath: basePath,
167
- __nestedComposition: true,
168
- };
169
- return new Proxy(baseObj, {
170
- get(target, prop) {
171
- if (prop in target) {
172
- return target[prop];
173
- }
174
- if (typeof prop === 'string') {
175
- const fullPath = basePath ? `${basePath}.${prop}` : prop;
176
- return createRecursiveProxy(fullPath);
177
- }
178
- return undefined;
179
- },
180
- });
181
- }
182
- return createRecursiveProxy('status');
183
- }
184
- // For nested composition call results within a parent context,
185
- // create a recursive proxy that returns KubernetesRef objects
186
- // This enables deep property access like nested.status.metadata.name
187
- if (parentContext) {
188
- const resourceId = compositionName;
189
- function createRecursiveProxy(basePath) {
190
- const baseObj = {
191
- [KUBERNETES_REF_BRAND]: true,
192
- resourceId,
193
- fieldPath: basePath,
194
- __nestedComposition: true,
195
- };
196
- return new Proxy(baseObj, {
197
- get(target, prop) {
198
- if (prop in target) {
199
- return target[prop];
200
- }
201
- if (typeof prop === 'string') {
202
- const fullPath = basePath ? `${basePath}.${prop}` : prop;
203
- return createRecursiveProxy(fullPath);
204
- }
205
- return undefined;
206
- },
207
- });
208
- }
209
- return createRecursiveProxy('status');
210
- }
211
- // For top-level composition calls (no parent context),
212
- // create a proxy that returns KubernetesRef objects
213
- const resourceId = `${compositionName}-status`;
214
- function createRecursiveProxy(basePath) {
215
- const baseObj = {
216
- [KUBERNETES_REF_BRAND]: true,
217
- resourceId,
218
- fieldPath: basePath,
219
- __nestedComposition: true,
220
- };
221
- return new Proxy(baseObj, {
222
- get(target, prop) {
223
- // Only return the actual KubernetesRef metadata properties
224
- // Don't intercept other property accesses - let them create nested proxies
225
- if (prop === KUBERNETES_REF_BRAND ||
226
- prop === 'resourceId' ||
227
- prop === 'fieldPath' ||
228
- prop === '__nestedComposition') {
229
- return target[prop];
230
- }
231
- // For any other string property, create a nested proxy to support deep access like status.metadata.name
232
- if (typeof prop === 'string') {
233
- const fullPath = basePath ? `${basePath}.${prop}` : prop;
234
- return createRecursiveProxy(fullPath);
235
- }
236
- return undefined;
237
- },
238
- });
213
+ function createStatusProxy(compositionName, parentContext, _nestedResult, forCompositionProperty = false) {
214
+ // For CallableComposition.status property or nested composition results
215
+ // within a parent context, create a KubernetesRef proxy using the
216
+ // composition name as resource ID and 'status' as the base path.
217
+ // Cast is intentional: the proxy creates KubernetesRef shapes at runtime,
218
+ // but exposes TStatus to the compiler for type-safe property access.
219
+ if (forCompositionProperty || parentContext) {
220
+ return createKubernetesRefProxy(compositionName, 'status');
239
221
  }
240
- return createRecursiveProxy('');
222
+ // For top-level composition calls (no parent context), use the strict
223
+ // allowlist strategy so only KubernetesRef metadata properties are
224
+ // returned directly from the target, and start from an empty base path.
225
+ return createKubernetesRefProxy(`${compositionName}-status`, '',
226
+ /* useAllowlist */ true);
241
227
  }
242
228
  /**
243
229
  * Global composition counter for unique identifier generation
@@ -303,23 +289,15 @@ function executeCompositionCore(definition, compositionFn, options, context, com
303
289
  CompositionDebugger.logResourceRegistration(id, resourceKind, 'factory-function');
304
290
  };
305
291
  const resourceBuildStart = Date.now();
306
- // Execute the composition function in a special context that preserves KubernetesRef objects
307
- // This allows JavaScript expressions to be converted to CEL during serialization
308
- globalThis.__TYPEKRO_STATUS_BUILDER_CONTEXT__ = true;
309
- try {
310
- // Use the actual spec directly when provided, otherwise use schema spec
311
- const specToUse = actualSpec || schema.spec;
312
- capturedStatus = compositionFn(specToUse);
313
- // Store the original composition function for later analysis
314
- // This allows the serialization system to analyze the original JavaScript expressions
315
- capturedStatus.__originalCompositionFn = compositionFn;
316
- capturedStatus.__originalSchema = schema.spec;
317
- // Debug logging removed for cleaner output
318
- }
319
- finally {
320
- // Always clean up the global flag
321
- delete globalThis.__TYPEKRO_STATUS_BUILDER_CONTEXT__;
322
- }
292
+ // Execute the composition function in a status builder context where
293
+ // Enhanced resource proxies return KubernetesRef objects, enabling
294
+ // JavaScript-to-CEL conversion during serialization.
295
+ const specToUse = actualSpec || schema.spec;
296
+ capturedStatus = runInStatusBuilderContext(() => compositionFn(specToUse));
297
+ // Store the original composition function for later analysis
298
+ // This allows the serialization system to analyze the original JavaScript expressions
299
+ Reflect.set(capturedStatus, '__originalCompositionFn', compositionFn);
300
+ Reflect.set(capturedStatus, '__originalSchema', schema.spec);
323
301
  const resourceBuildEnd = Date.now();
324
302
  CompositionDebugger.logPerformanceMetrics('Resource Building', resourceBuildStart, resourceBuildEnd, {
325
303
  resourceCount: Object.keys(context.resources).length,
@@ -332,14 +310,16 @@ function executeCompositionCore(definition, compositionFn, options, context, com
332
310
  for (const [id, resource] of Object.entries(context.resources)) {
333
311
  combined[id] = resource;
334
312
  }
335
- // Add deployment closures (cast them as Enhanced resources for compatibility)
313
+ // Type cast: closures and Enhanced resources share the same map for sequential
314
+ // processing. Closures are functions but are stored under Enhanced<> type here;
315
+ // code that reads this map uses duck-typing to distinguish them at runtime.
336
316
  for (const [id, closure] of Object.entries(context.closures)) {
337
317
  combined[id] = closure;
338
318
  }
339
319
  return combined;
340
320
  }
341
321
  catch (error) {
342
- throw CompositionExecutionError.withResourceContext(`Failed to execute composition function: ${error instanceof Error ? error.message : String(error)}`, compositionName, 'resource-creation', 'composition-function', 'composition', 'kubernetesComposition', error instanceof Error ? error : undefined);
322
+ throw CompositionExecutionError.withResourceContext(`Failed to execute composition function: ${ensureError(error).message}`, compositionName, 'resource-creation', 'composition-function', 'composition', 'kubernetesComposition', ensureError(error));
343
323
  }
344
324
  },
345
325
  // Status builder - return the captured status
@@ -353,7 +333,7 @@ function executeCompositionCore(definition, compositionFn, options, context, com
353
333
  // Return the status captured during resource building
354
334
  // This avoids double execution and ensures resources are available
355
335
  if (!capturedStatus) {
356
- throw new Error('Status was not captured during resource building phase');
336
+ throw new CompositionExecutionError('Status was not captured during resource building phase', compositionName, 'status-building');
357
337
  }
358
338
  return capturedStatus;
359
339
  }
@@ -361,7 +341,7 @@ function executeCompositionCore(definition, compositionFn, options, context, com
361
341
  if (error instanceof CompositionExecutionError) {
362
342
  throw error;
363
343
  }
364
- throw CompositionExecutionError.forStatusBuilding(compositionName, 'status-object', 'MagicAssignableShape<TStatus>', capturedStatus, error instanceof Error ? error : undefined);
344
+ throw CompositionExecutionError.forStatusBuilding(compositionName, 'status-object', 'MagicAssignableShape<TStatus>', capturedStatus, ensureError(error));
365
345
  }
366
346
  }, options);
367
347
  // For executed compositions (when called with a spec), replace the schema status with the executed status values
@@ -417,29 +397,61 @@ function executeCompositionCore(definition, compositionFn, options, context, com
417
397
  }
418
398
  catch (error) {
419
399
  // If we can't add properties to the result object, log a warning but continue
420
- console.warn('Could not store composition function for re-execution:', error);
400
+ logger.warn('Could not store composition function for re-execution', {
401
+ error: String(error),
402
+ });
421
403
  }
422
404
  return result;
423
405
  }
424
406
  catch (error) {
425
407
  const endTime = Date.now();
426
408
  CompositionDebugger.logPerformanceMetrics('Failed Composition', startTime, endTime, {
427
- error: error instanceof Error ? error.message : String(error),
409
+ error: ensureError(error).message,
428
410
  });
429
411
  if (error instanceof CompositionExecutionError) {
430
412
  throw error;
431
413
  }
432
- throw new CompositionExecutionError(`Composition execution failed: ${error instanceof Error ? error.message : String(error)}`, compositionName, 'context-setup', undefined, error instanceof Error ? error : undefined);
414
+ throw new CompositionExecutionError(`Composition execution failed: ${ensureError(error).message}`, compositionName, 'context-setup', undefined, ensureError(error));
433
415
  }
434
416
  }
435
417
  /**
436
- * Create an imperative composition that automatically captures resources
437
- * and returns status objects using MagicAssignableShape
418
+ * Create an imperative Kubernetes composition using natural TypeScript.
419
+ *
420
+ * Unlike {@link toResourceGraph} which uses separate resource/status builders,
421
+ * `kubernetesComposition` lets you write a single function that creates resources
422
+ * inline. Resources are automatically captured via the magic proxy system.
423
+ * The returned callable composition can be deployed directly or nested inside
424
+ * other compositions.
438
425
  *
439
- * @param definition - The resource graph definition with schemas
440
- * @param compositionFn - Synchronous function that takes spec and returns MagicAssignableShape<TStatus>
426
+ * @typeParam TSpec - The arktype schema for the custom resource's spec
427
+ * @typeParam TStatus - The arktype schema for the custom resource's status
428
+ *
429
+ * @param definition - The RGD metadata: name, apiVersion, kind, spec/status schemas
430
+ * @param compositionFn - Imperative function receiving the spec, creates resources
431
+ * inline, and returns a status shape. Resources created with factory functions
432
+ * (e.g., `Deployment()`, `Service()`) are automatically registered.
441
433
  * @param options - Optional serialization options
442
- * @returns TypedResourceGraph directly (not a factory)
434
+ * @returns A `CallableComposition` that can be deployed or nested inside other compositions
435
+ *
436
+ * @example
437
+ * ```typescript
438
+ * const webapp = kubernetesComposition(
439
+ * {
440
+ * name: 'webapp',
441
+ * apiVersion: 'apps.example.com/v1alpha1',
442
+ * kind: 'WebApp',
443
+ * spec: type({ name: 'string', replicas: 'number' }),
444
+ * status: type({ ready: 'boolean' }),
445
+ * },
446
+ * (spec) => {
447
+ * const deploy = Deployment({ name: spec.name, replicas: spec.replicas });
448
+ * const svc = Service({ name: spec.name });
449
+ * return {
450
+ * ready: Cel.expr<boolean>(deploy.status.readyReplicas, ' > 0'),
451
+ * };
452
+ * },
453
+ * );
454
+ * ```
443
455
  */
444
456
  export function kubernetesComposition(definition, compositionFn, options) {
445
457
  const compositionName = definition.name || 'unnamed-composition';
@@ -526,7 +538,7 @@ export function kubernetesComposition(definition, compositionFn, options) {
526
538
  __compositionId: callCompositionName,
527
539
  __resources: callResult.resources,
528
540
  };
529
- }); // Type assertion to avoid complex typing
541
+ }); // Double cast needed: function shape doesn't overlap with CallableComposition
530
542
  // Create a set to track explicitly deleted properties
531
543
  const deletedProperties = new Set();
532
544
  // Wrap the callable composition in a Proxy to preserve magic proxy behavior from result