typekro 0.4.0 → 0.7.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 (1425) 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 +105 -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 +183 -142
  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/nested-status-cel.d.ts +50 -0
  54. package/dist/core/composition/nested-status-cel.d.ts.map +1 -0
  55. package/dist/core/composition/nested-status-cel.js +169 -0
  56. package/dist/core/composition/nested-status-cel.js.map +1 -0
  57. package/dist/core/composition-debugger.d.ts +78 -0
  58. package/dist/core/composition-debugger.d.ts.map +1 -0
  59. package/dist/core/composition-debugger.js +142 -0
  60. package/dist/core/composition-debugger.js.map +1 -0
  61. package/dist/core/config/defaults.d.ts +109 -0
  62. package/dist/core/config/defaults.d.ts.map +1 -0
  63. package/dist/core/config/defaults.js +150 -0
  64. package/dist/core/config/defaults.js.map +1 -0
  65. package/dist/core/config/env.d.ts +12 -0
  66. package/dist/core/config/env.d.ts.map +1 -0
  67. package/dist/core/config/env.js +16 -0
  68. package/dist/core/config/env.js.map +1 -0
  69. package/dist/core/config/index.d.ts +3 -0
  70. package/dist/core/config/index.d.ts.map +1 -0
  71. package/dist/core/config/index.js +3 -0
  72. package/dist/core/config/index.js.map +1 -0
  73. package/dist/core/constants/brands.d.ts +4 -57
  74. package/dist/core/constants/brands.d.ts.map +1 -1
  75. package/dist/core/constants/brands.js +4 -60
  76. package/dist/core/constants/brands.js.map +1 -1
  77. package/dist/core/containers/build.d.ts +50 -0
  78. package/dist/core/containers/build.d.ts.map +1 -0
  79. package/dist/core/containers/build.js +146 -0
  80. package/dist/core/containers/build.js.map +1 -0
  81. package/dist/core/containers/errors.d.ts +14 -0
  82. package/dist/core/containers/errors.d.ts.map +1 -0
  83. package/dist/core/containers/errors.js +48 -0
  84. package/dist/core/containers/errors.js.map +1 -0
  85. package/dist/core/containers/exec.d.ts +36 -0
  86. package/dist/core/containers/exec.d.ts.map +1 -0
  87. package/dist/core/containers/exec.js +110 -0
  88. package/dist/core/containers/exec.js.map +1 -0
  89. package/dist/core/containers/index.d.ts +21 -0
  90. package/dist/core/containers/index.d.ts.map +1 -0
  91. package/dist/core/containers/index.js +20 -0
  92. package/dist/core/containers/index.js.map +1 -0
  93. package/dist/core/containers/registries/ecr.d.ts +22 -0
  94. package/dist/core/containers/registries/ecr.d.ts.map +1 -0
  95. package/dist/core/containers/registries/ecr.js +118 -0
  96. package/dist/core/containers/registries/ecr.js.map +1 -0
  97. package/dist/core/containers/registries/index.d.ts +9 -0
  98. package/dist/core/containers/registries/index.d.ts.map +1 -0
  99. package/dist/core/containers/registries/index.js +23 -0
  100. package/dist/core/containers/registries/index.js.map +1 -0
  101. package/dist/core/containers/registries/orbstack.d.ts +14 -0
  102. package/dist/core/containers/registries/orbstack.d.ts.map +1 -0
  103. package/dist/core/containers/registries/orbstack.js +24 -0
  104. package/dist/core/containers/registries/orbstack.js.map +1 -0
  105. package/dist/core/containers/registries/types.d.ts +94 -0
  106. package/dist/core/containers/registries/types.d.ts.map +1 -0
  107. package/dist/core/containers/registries/types.js +11 -0
  108. package/dist/core/containers/registries/types.js.map +1 -0
  109. package/dist/core/dependencies/graph.d.ts +4 -0
  110. package/dist/core/dependencies/graph.d.ts.map +1 -1
  111. package/dist/core/dependencies/graph.js +10 -4
  112. package/dist/core/dependencies/graph.js.map +1 -1
  113. package/dist/core/dependencies/resolver.d.ts +28 -0
  114. package/dist/core/dependencies/resolver.d.ts.map +1 -1
  115. package/dist/core/dependencies/resolver.js +141 -8
  116. package/dist/core/dependencies/resolver.js.map +1 -1
  117. package/dist/core/deployment/client-provider-manager.d.ts +40 -0
  118. package/dist/core/deployment/client-provider-manager.d.ts.map +1 -0
  119. package/dist/core/deployment/client-provider-manager.js +63 -0
  120. package/dist/core/deployment/client-provider-manager.js.map +1 -0
  121. package/dist/core/deployment/closure-planner.d.ts +20 -0
  122. package/dist/core/deployment/closure-planner.d.ts.map +1 -0
  123. package/dist/core/deployment/closure-planner.js +96 -0
  124. package/dist/core/deployment/closure-planner.js.map +1 -0
  125. package/dist/core/deployment/crd-manager.d.ts +52 -0
  126. package/dist/core/deployment/crd-manager.d.ts.map +1 -0
  127. package/dist/core/deployment/crd-manager.js +227 -0
  128. package/dist/core/deployment/crd-manager.js.map +1 -0
  129. package/dist/core/deployment/debug-logger.d.ts +3 -14
  130. package/dist/core/deployment/debug-logger.d.ts.map +1 -1
  131. package/dist/core/deployment/debug-logger.js +41 -12
  132. package/dist/core/deployment/debug-logger.js.map +1 -1
  133. package/dist/core/deployment/direct-factory.d.ts +36 -8
  134. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  135. package/dist/core/deployment/direct-factory.js +355 -164
  136. package/dist/core/deployment/direct-factory.js.map +1 -1
  137. package/dist/core/deployment/engine.d.ts +85 -65
  138. package/dist/core/deployment/engine.d.ts.map +1 -1
  139. package/dist/core/deployment/engine.js +549 -1704
  140. package/dist/core/deployment/engine.js.map +1 -1
  141. package/dist/core/deployment/errors.d.ts +30 -0
  142. package/dist/core/deployment/errors.d.ts.map +1 -0
  143. package/dist/core/deployment/errors.js +84 -0
  144. package/dist/core/deployment/errors.js.map +1 -0
  145. package/dist/core/deployment/event-filter.d.ts.map +1 -1
  146. package/dist/core/deployment/event-filter.js +16 -12
  147. package/dist/core/deployment/event-filter.js.map +1 -1
  148. package/dist/core/deployment/event-monitor.d.ts +3 -3
  149. package/dist/core/deployment/event-monitor.d.ts.map +1 -1
  150. package/dist/core/deployment/event-monitor.js +127 -49
  151. package/dist/core/deployment/event-monitor.js.map +1 -1
  152. package/dist/core/deployment/index.d.ts +5 -2
  153. package/dist/core/deployment/index.d.ts.map +1 -1
  154. package/dist/core/deployment/index.js +5 -3
  155. package/dist/core/deployment/index.js.map +1 -1
  156. package/dist/core/deployment/k8s-helpers.d.ts +44 -0
  157. package/dist/core/deployment/k8s-helpers.d.ts.map +1 -0
  158. package/dist/core/deployment/k8s-helpers.js +109 -0
  159. package/dist/core/deployment/k8s-helpers.js.map +1 -0
  160. package/dist/core/deployment/kro-factory.d.ts +35 -22
  161. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  162. package/dist/core/deployment/kro-factory.js +450 -375
  163. package/dist/core/deployment/kro-factory.js.map +1 -1
  164. package/dist/core/deployment/kro-readiness.d.ts +54 -0
  165. package/dist/core/deployment/kro-readiness.d.ts.map +1 -0
  166. package/dist/core/deployment/kro-readiness.js +149 -0
  167. package/dist/core/deployment/kro-readiness.js.map +1 -0
  168. package/dist/core/deployment/nested-composition-status.d.ts +33 -0
  169. package/dist/core/deployment/nested-composition-status.d.ts.map +1 -0
  170. package/dist/core/deployment/nested-composition-status.js +101 -0
  171. package/dist/core/deployment/nested-composition-status.js.map +1 -0
  172. package/dist/core/deployment/readiness-waiter.d.ts +60 -0
  173. package/dist/core/deployment/readiness-waiter.d.ts.map +1 -0
  174. package/dist/core/deployment/readiness-waiter.js +262 -0
  175. package/dist/core/deployment/readiness-waiter.js.map +1 -0
  176. package/dist/core/deployment/readiness.d.ts +3 -9
  177. package/dist/core/deployment/readiness.d.ts.map +1 -1
  178. package/dist/core/deployment/readiness.js +12 -28
  179. package/dist/core/deployment/readiness.js.map +1 -1
  180. package/dist/core/deployment/resource-applier.d.ts +58 -0
  181. package/dist/core/deployment/resource-applier.d.ts.map +1 -0
  182. package/dist/core/deployment/resource-applier.js +385 -0
  183. package/dist/core/deployment/resource-applier.js.map +1 -0
  184. package/dist/core/deployment/rollback-manager.d.ts +19 -2
  185. package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
  186. package/dist/core/deployment/rollback-manager.js +146 -11
  187. package/dist/core/deployment/rollback-manager.js.map +1 -1
  188. package/dist/core/deployment/shared-utilities.d.ts +38 -9
  189. package/dist/core/deployment/shared-utilities.d.ts.map +1 -1
  190. package/dist/core/deployment/shared-utilities.js +92 -22
  191. package/dist/core/deployment/shared-utilities.js.map +1 -1
  192. package/dist/core/deployment/status-hydrator.d.ts.map +1 -1
  193. package/dist/core/deployment/status-hydrator.js +13 -10
  194. package/dist/core/deployment/status-hydrator.js.map +1 -1
  195. package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +1 -1
  196. package/dist/core/deployment/strategies/alchemy-strategy.js +16 -9
  197. package/dist/core/deployment/strategies/alchemy-strategy.js.map +1 -1
  198. package/dist/core/deployment/strategies/base-strategy.d.ts +14 -0
  199. package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
  200. package/dist/core/deployment/strategies/base-strategy.js +325 -244
  201. package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
  202. package/dist/core/deployment/strategies/direct-strategy.d.ts +10 -4
  203. package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
  204. package/dist/core/deployment/strategies/direct-strategy.js +140 -33
  205. package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
  206. package/dist/core/deployment/strategies/kro-strategy.d.ts +13 -8
  207. package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -1
  208. package/dist/core/deployment/strategies/kro-strategy.js +51 -148
  209. package/dist/core/deployment/strategies/kro-strategy.js.map +1 -1
  210. package/dist/core/errors.d.ts +134 -83
  211. package/dist/core/errors.d.ts.map +1 -1
  212. package/dist/core/errors.js +177 -300
  213. package/dist/core/errors.js.map +1 -1
  214. package/dist/core/expressions/analysis/analyzer.d.ts +155 -0
  215. package/dist/core/expressions/analysis/analyzer.d.ts.map +1 -0
  216. package/dist/core/expressions/analysis/analyzer.js +540 -0
  217. package/dist/core/expressions/analysis/analyzer.js.map +1 -0
  218. package/dist/core/expressions/analysis/array-method-converters.d.ts +19 -0
  219. package/dist/core/expressions/analysis/array-method-converters.d.ts.map +1 -0
  220. package/dist/core/expressions/analysis/array-method-converters.js +175 -0
  221. package/dist/core/expressions/analysis/array-method-converters.js.map +1 -0
  222. package/dist/core/expressions/analysis/ast-helpers.d.ts +49 -0
  223. package/dist/core/expressions/analysis/ast-helpers.d.ts.map +1 -0
  224. package/dist/core/expressions/analysis/ast-helpers.js +106 -0
  225. package/dist/core/expressions/analysis/ast-helpers.js.map +1 -0
  226. package/dist/core/expressions/analysis/ast-node-converters.d.ts +15 -0
  227. package/dist/core/expressions/analysis/ast-node-converters.d.ts.map +1 -0
  228. package/dist/core/expressions/analysis/ast-node-converters.js +123 -0
  229. package/dist/core/expressions/analysis/ast-node-converters.js.map +1 -0
  230. package/dist/core/expressions/analysis/ast-type-guards.d.ts +14 -0
  231. package/dist/core/expressions/analysis/ast-type-guards.d.ts.map +1 -0
  232. package/dist/core/expressions/analysis/ast-type-guards.js +15 -0
  233. package/dist/core/expressions/analysis/ast-type-guards.js.map +1 -0
  234. package/dist/core/expressions/{cache.d.ts → analysis/cache.d.ts} +1 -1
  235. package/dist/core/expressions/analysis/cache.d.ts.map +1 -0
  236. package/dist/core/expressions/{cache.js → analysis/cache.js} +13 -13
  237. package/dist/core/expressions/analysis/cache.js.map +1 -0
  238. package/dist/core/expressions/analysis/call-expression-converters.d.ts +18 -0
  239. package/dist/core/expressions/analysis/call-expression-converters.d.ts.map +1 -0
  240. package/dist/core/expressions/analysis/call-expression-converters.js +220 -0
  241. package/dist/core/expressions/analysis/call-expression-converters.js.map +1 -0
  242. package/dist/core/expressions/analysis/cel-emitter.d.ts +85 -0
  243. package/dist/core/expressions/analysis/cel-emitter.d.ts.map +1 -0
  244. package/dist/core/expressions/analysis/cel-emitter.js +455 -0
  245. package/dist/core/expressions/analysis/cel-emitter.js.map +1 -0
  246. package/dist/core/expressions/analysis/expression-classifier.d.ts +77 -0
  247. package/dist/core/expressions/analysis/expression-classifier.d.ts.map +1 -0
  248. package/dist/core/expressions/analysis/expression-classifier.js +487 -0
  249. package/dist/core/expressions/analysis/expression-classifier.js.map +1 -0
  250. package/dist/core/expressions/analysis/fn-toString-self-test.d.ts +146 -0
  251. package/dist/core/expressions/analysis/fn-toString-self-test.d.ts.map +1 -0
  252. package/dist/core/expressions/analysis/fn-toString-self-test.js +243 -0
  253. package/dist/core/expressions/analysis/fn-toString-self-test.js.map +1 -0
  254. package/dist/core/expressions/analysis/operator-utils.d.ts +35 -0
  255. package/dist/core/expressions/analysis/operator-utils.d.ts.map +1 -0
  256. package/dist/core/expressions/analysis/operator-utils.js +167 -0
  257. package/dist/core/expressions/analysis/operator-utils.js.map +1 -0
  258. package/dist/core/expressions/analysis/parse-core.d.ts +63 -0
  259. package/dist/core/expressions/analysis/parse-core.d.ts.map +1 -0
  260. package/dist/core/expressions/analysis/parse-core.js +115 -0
  261. package/dist/core/expressions/analysis/parse-core.js.map +1 -0
  262. package/dist/core/expressions/{parser.d.ts → analysis/parser.d.ts} +2 -38
  263. package/dist/core/expressions/analysis/parser.d.ts.map +1 -0
  264. package/dist/core/expressions/{parser.js → analysis/parser.js} +20 -80
  265. package/dist/core/expressions/analysis/parser.js.map +1 -0
  266. package/dist/core/expressions/analysis/scope-resolver.d.ts +57 -0
  267. package/dist/core/expressions/analysis/scope-resolver.d.ts.map +1 -0
  268. package/dist/core/expressions/analysis/scope-resolver.js +440 -0
  269. package/dist/core/expressions/analysis/scope-resolver.js.map +1 -0
  270. package/dist/core/expressions/analysis/shared-types.d.ts +132 -0
  271. package/dist/core/expressions/analysis/shared-types.d.ts.map +1 -0
  272. package/dist/core/expressions/analysis/shared-types.js +13 -0
  273. package/dist/core/expressions/analysis/shared-types.js.map +1 -0
  274. package/dist/core/expressions/analysis/source-map.d.ts.map +1 -0
  275. package/dist/core/expressions/{source-map.js → analysis/source-map.js} +16 -17
  276. package/dist/core/expressions/analysis/source-map.js.map +1 -0
  277. package/dist/core/expressions/analysis/string-method-converters.d.ts +27 -0
  278. package/dist/core/expressions/analysis/string-method-converters.d.ts.map +1 -0
  279. package/dist/core/expressions/analysis/string-method-converters.js +208 -0
  280. package/dist/core/expressions/analysis/string-method-converters.js.map +1 -0
  281. package/dist/core/expressions/{types.d.ts → analysis/types.d.ts} +5 -5
  282. package/dist/core/expressions/analysis/types.d.ts.map +1 -0
  283. package/dist/core/expressions/analysis/types.js.map +1 -0
  284. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts +92 -0
  285. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -0
  286. package/dist/core/expressions/composition/composition-analyzer-helpers.js +301 -0
  287. package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -0
  288. package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts +77 -0
  289. package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts.map +1 -0
  290. package/dist/core/expressions/composition/composition-analyzer-ternary.js +364 -0
  291. package/dist/core/expressions/composition/composition-analyzer-ternary.js.map +1 -0
  292. package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts +37 -0
  293. package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts.map +1 -0
  294. package/dist/core/expressions/composition/composition-analyzer-traversal.js +375 -0
  295. package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -0
  296. package/dist/core/expressions/composition/composition-analyzer-types.d.ts +140 -0
  297. package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -0
  298. package/dist/core/expressions/composition/composition-analyzer-types.js +8 -0
  299. package/dist/core/expressions/composition/composition-analyzer-types.js.map +1 -0
  300. package/dist/core/expressions/composition/composition-analyzer.d.ts +39 -0
  301. package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -0
  302. package/dist/core/expressions/composition/composition-analyzer.js +144 -0
  303. package/dist/core/expressions/composition/composition-analyzer.js.map +1 -0
  304. package/dist/core/expressions/composition/context-tracker.d.ts +39 -0
  305. package/dist/core/expressions/composition/context-tracker.d.ts.map +1 -0
  306. package/dist/core/expressions/composition/context-tracker.js +64 -0
  307. package/dist/core/expressions/composition/context-tracker.js.map +1 -0
  308. package/dist/core/expressions/composition/expression-analyzer.d.ts +101 -0
  309. package/dist/core/expressions/composition/expression-analyzer.d.ts.map +1 -0
  310. package/dist/core/expressions/composition/expression-analyzer.js +425 -0
  311. package/dist/core/expressions/composition/expression-analyzer.js.map +1 -0
  312. package/dist/core/expressions/composition/imperative-analyzer.d.ts +29 -0
  313. package/dist/core/expressions/composition/imperative-analyzer.d.ts.map +1 -0
  314. package/dist/core/expressions/{imperative-analyzer.js → composition/imperative-analyzer.js} +126 -23
  315. package/dist/core/expressions/composition/imperative-analyzer.js.map +1 -0
  316. package/dist/core/expressions/composition/index.d.ts +17 -0
  317. package/dist/core/expressions/composition/index.d.ts.map +1 -0
  318. package/dist/core/expressions/composition/index.js +18 -0
  319. package/dist/core/expressions/composition/index.js.map +1 -0
  320. package/dist/core/expressions/composition/integration-hooks.d.ts +71 -0
  321. package/dist/core/expressions/composition/integration-hooks.d.ts.map +1 -0
  322. package/dist/core/expressions/composition/integration-hooks.js +248 -0
  323. package/dist/core/expressions/composition/integration-hooks.js.map +1 -0
  324. package/dist/core/expressions/composition/scope-manager.d.ts +93 -0
  325. package/dist/core/expressions/composition/scope-manager.d.ts.map +1 -0
  326. package/dist/core/expressions/composition/scope-manager.js +215 -0
  327. package/dist/core/expressions/composition/scope-manager.js.map +1 -0
  328. package/dist/core/expressions/composition/types.d.ts +41 -0
  329. package/dist/core/expressions/composition/types.d.ts.map +1 -0
  330. package/dist/core/expressions/composition/types.js +7 -0
  331. package/dist/core/expressions/composition/types.js.map +1 -0
  332. package/dist/core/expressions/{conditional-expression-processor.d.ts → conditional/conditional-expression-processor.d.ts} +3 -3
  333. package/dist/core/expressions/conditional/conditional-expression-processor.d.ts.map +1 -0
  334. package/dist/core/expressions/{conditional-expression-processor.js → conditional/conditional-expression-processor.js} +59 -50
  335. package/dist/core/expressions/conditional/conditional-expression-processor.js.map +1 -0
  336. package/dist/core/expressions/{conditional-integration.d.ts → conditional/conditional-integration.d.ts} +13 -35
  337. package/dist/core/expressions/conditional/conditional-integration.d.ts.map +1 -0
  338. package/dist/core/expressions/{conditional-integration.js → conditional/conditional-integration.js} +92 -86
  339. package/dist/core/expressions/conditional/conditional-integration.js.map +1 -0
  340. package/dist/core/expressions/{context-aware-generator.d.ts → context/context-aware-generator.d.ts} +4 -28
  341. package/dist/core/expressions/context/context-aware-generator.d.ts.map +1 -0
  342. package/dist/core/expressions/{context-aware-generator.js → context/context-aware-generator.js} +27 -121
  343. package/dist/core/expressions/context/context-aware-generator.js.map +1 -0
  344. package/dist/core/expressions/{context-detector.d.ts → context/context-detector.d.ts} +7 -13
  345. package/dist/core/expressions/context/context-detector.d.ts.map +1 -0
  346. package/dist/core/expressions/{context-detector.js → context/context-detector.js} +45 -63
  347. package/dist/core/expressions/context/context-detector.js.map +1 -0
  348. package/dist/core/expressions/{context-validator.d.ts → context/context-validator.d.ts} +5 -36
  349. package/dist/core/expressions/context/context-validator.d.ts.map +1 -0
  350. package/dist/core/expressions/{context-validator.js → context/context-validator.js} +55 -124
  351. package/dist/core/expressions/context/context-validator.js.map +1 -0
  352. package/dist/core/expressions/{cel-conversion-engine.d.ts → factory/cel-conversion-engine.d.ts} +3 -3
  353. package/dist/core/expressions/factory/cel-conversion-engine.d.ts.map +1 -0
  354. package/dist/core/expressions/{cel-conversion-engine.js → factory/cel-conversion-engine.js} +10 -9
  355. package/dist/core/expressions/factory/cel-conversion-engine.js.map +1 -0
  356. package/dist/core/expressions/factory/dependency-tracker.d.ts +222 -0
  357. package/dist/core/expressions/factory/dependency-tracker.d.ts.map +1 -0
  358. package/dist/core/expressions/factory/dependency-tracker.js +512 -0
  359. package/dist/core/expressions/factory/dependency-tracker.js.map +1 -0
  360. package/dist/core/expressions/{factory-integration.d.ts → factory/factory-integration.d.ts} +3 -18
  361. package/dist/core/expressions/factory/factory-integration.d.ts.map +1 -0
  362. package/dist/core/expressions/{factory-integration.js → factory/factory-integration.js} +28 -29
  363. package/dist/core/expressions/factory/factory-integration.js.map +1 -0
  364. package/dist/core/expressions/{factory-pattern-handler.d.ts → factory/factory-pattern-handler.d.ts} +8 -8
  365. package/dist/core/expressions/factory/factory-pattern-handler.d.ts.map +1 -0
  366. package/dist/core/expressions/{factory-pattern-handler.js → factory/factory-pattern-handler.js} +101 -73
  367. package/dist/core/expressions/factory/factory-pattern-handler.js.map +1 -0
  368. package/dist/core/expressions/{migration-helpers.d.ts → factory/migration-helpers.d.ts} +4 -4
  369. package/dist/core/expressions/factory/migration-helpers.d.ts.map +1 -0
  370. package/dist/core/expressions/{migration-helpers.js → factory/migration-helpers.js} +28 -26
  371. package/dist/core/expressions/factory/migration-helpers.js.map +1 -0
  372. package/dist/core/expressions/factory/resource-analyzer.d.ts +139 -0
  373. package/dist/core/expressions/factory/resource-analyzer.d.ts.map +1 -0
  374. package/dist/core/expressions/factory/resource-analyzer.js +286 -0
  375. package/dist/core/expressions/factory/resource-analyzer.js.map +1 -0
  376. package/dist/core/expressions/factory/resource-type-validator.d.ts +149 -0
  377. package/dist/core/expressions/factory/resource-type-validator.d.ts.map +1 -0
  378. package/dist/core/expressions/factory/resource-type-validator.js +318 -0
  379. package/dist/core/expressions/factory/resource-type-validator.js.map +1 -0
  380. package/dist/core/expressions/factory/status-ast-utils.d.ts +36 -0
  381. package/dist/core/expressions/factory/status-ast-utils.d.ts.map +1 -0
  382. package/dist/core/expressions/factory/status-ast-utils.js +320 -0
  383. package/dist/core/expressions/factory/status-ast-utils.js.map +1 -0
  384. package/dist/core/expressions/factory/status-builder-analyzer.d.ts +91 -0
  385. package/dist/core/expressions/factory/status-builder-analyzer.d.ts.map +1 -0
  386. package/dist/core/expressions/factory/status-builder-analyzer.js +374 -0
  387. package/dist/core/expressions/factory/status-builder-analyzer.js.map +1 -0
  388. package/dist/core/expressions/factory/status-builder-types.d.ts +166 -0
  389. package/dist/core/expressions/factory/status-builder-types.d.ts.map +1 -0
  390. package/dist/core/expressions/factory/status-builder-types.js +8 -0
  391. package/dist/core/expressions/factory/status-builder-types.js.map +1 -0
  392. package/dist/core/expressions/factory/status-cel-generation.d.ts +67 -0
  393. package/dist/core/expressions/factory/status-cel-generation.d.ts.map +1 -0
  394. package/dist/core/expressions/factory/status-cel-generation.js +330 -0
  395. package/dist/core/expressions/factory/status-cel-generation.js.map +1 -0
  396. package/dist/core/expressions/factory/status-field-analysis.d.ts +57 -0
  397. package/dist/core/expressions/factory/status-field-analysis.d.ts.map +1 -0
  398. package/dist/core/expressions/factory/status-field-analysis.js +475 -0
  399. package/dist/core/expressions/factory/status-field-analysis.js.map +1 -0
  400. package/dist/core/expressions/index.d.ts +39 -51
  401. package/dist/core/expressions/index.d.ts.map +1 -1
  402. package/dist/core/expressions/index.js +46 -47
  403. package/dist/core/expressions/index.js.map +1 -1
  404. package/dist/core/expressions/{magic-assignable-analyzer.d.ts → magic-proxy/magic-assignable-analyzer.d.ts} +5 -5
  405. package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.d.ts.map +1 -0
  406. package/dist/core/expressions/{magic-assignable-analyzer.js → magic-proxy/magic-assignable-analyzer.js} +29 -24
  407. package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.js.map +1 -0
  408. package/dist/core/expressions/{magic-proxy-analyzer.d.ts → magic-proxy/magic-proxy-analyzer.d.ts} +15 -68
  409. package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.d.ts.map +1 -0
  410. package/dist/core/expressions/{magic-proxy-analyzer.js → magic-proxy/magic-proxy-analyzer.js} +45 -196
  411. package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.js.map +1 -0
  412. package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts +44 -0
  413. package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts.map +1 -0
  414. package/dist/core/expressions/magic-proxy/magic-proxy-ast.js +175 -0
  415. package/dist/core/expressions/magic-proxy/magic-proxy-ast.js.map +1 -0
  416. package/dist/core/expressions/{magic-proxy-detector.d.ts → magic-proxy/magic-proxy-detector.d.ts} +7 -7
  417. package/dist/core/expressions/magic-proxy/magic-proxy-detector.d.ts.map +1 -0
  418. package/dist/core/expressions/{magic-proxy-detector.js → magic-proxy/magic-proxy-detector.js} +36 -28
  419. package/dist/core/expressions/magic-proxy/magic-proxy-detector.js.map +1 -0
  420. package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts +36 -0
  421. package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts.map +1 -0
  422. package/dist/core/expressions/magic-proxy/magic-proxy-types.js +8 -0
  423. package/dist/core/expressions/magic-proxy/magic-proxy-types.js.map +1 -0
  424. package/dist/core/expressions/magic-proxy/optionality-analysis.d.ts +54 -0
  425. package/dist/core/expressions/magic-proxy/optionality-analysis.d.ts.map +1 -0
  426. package/dist/core/expressions/magic-proxy/optionality-analysis.js +239 -0
  427. package/dist/core/expressions/magic-proxy/optionality-analysis.js.map +1 -0
  428. package/dist/core/expressions/magic-proxy/optionality-cel-generation.d.ts +51 -0
  429. package/dist/core/expressions/magic-proxy/optionality-cel-generation.d.ts.map +1 -0
  430. package/dist/core/expressions/magic-proxy/optionality-cel-generation.js +201 -0
  431. package/dist/core/expressions/magic-proxy/optionality-cel-generation.js.map +1 -0
  432. package/dist/core/expressions/magic-proxy/optionality-handler.d.ts +119 -0
  433. package/dist/core/expressions/magic-proxy/optionality-handler.d.ts.map +1 -0
  434. package/dist/core/expressions/magic-proxy/optionality-handler.js +321 -0
  435. package/dist/core/expressions/magic-proxy/optionality-handler.js.map +1 -0
  436. package/dist/core/expressions/magic-proxy/optionality-hydration.d.ts +84 -0
  437. package/dist/core/expressions/magic-proxy/optionality-hydration.d.ts.map +1 -0
  438. package/dist/core/expressions/magic-proxy/optionality-hydration.js +378 -0
  439. package/dist/core/expressions/magic-proxy/optionality-hydration.js.map +1 -0
  440. package/dist/core/expressions/magic-proxy/optionality-optional-chaining.d.ts +61 -0
  441. package/dist/core/expressions/magic-proxy/optionality-optional-chaining.d.ts.map +1 -0
  442. package/dist/core/expressions/magic-proxy/optionality-optional-chaining.js +218 -0
  443. package/dist/core/expressions/magic-proxy/optionality-optional-chaining.js.map +1 -0
  444. package/dist/core/expressions/magic-proxy/optionality-types.d.ts +206 -0
  445. package/dist/core/expressions/magic-proxy/optionality-types.d.ts.map +1 -0
  446. package/dist/core/expressions/magic-proxy/optionality-types.js +9 -0
  447. package/dist/core/expressions/magic-proxy/optionality-types.js.map +1 -0
  448. package/dist/core/expressions/validation/compile-time-checker.d.ts +74 -0
  449. package/dist/core/expressions/validation/compile-time-checker.d.ts.map +1 -0
  450. package/dist/core/expressions/{compile-time-validation.js → validation/compile-time-checker.js} +44 -91
  451. package/dist/core/expressions/validation/compile-time-checker.js.map +1 -0
  452. package/dist/core/expressions/validation/compile-time-errors.d.ts +70 -0
  453. package/dist/core/expressions/validation/compile-time-errors.d.ts.map +1 -0
  454. package/dist/core/expressions/validation/compile-time-errors.js +63 -0
  455. package/dist/core/expressions/validation/compile-time-errors.js.map +1 -0
  456. package/dist/core/expressions/validation/compile-time-types.d.ts +147 -0
  457. package/dist/core/expressions/validation/compile-time-types.d.ts.map +1 -0
  458. package/dist/core/expressions/validation/compile-time-types.js +8 -0
  459. package/dist/core/expressions/validation/compile-time-types.js.map +1 -0
  460. package/dist/core/expressions/validation/compile-time-validation.d.ts +13 -0
  461. package/dist/core/expressions/validation/compile-time-validation.d.ts.map +1 -0
  462. package/dist/core/expressions/validation/compile-time-validation.js +14 -0
  463. package/dist/core/expressions/validation/compile-time-validation.js.map +1 -0
  464. package/dist/core/expressions/validation/kubernetes-field-types.d.ts +35 -0
  465. package/dist/core/expressions/validation/kubernetes-field-types.d.ts.map +1 -0
  466. package/dist/core/expressions/validation/kubernetes-field-types.js +230 -0
  467. package/dist/core/expressions/validation/kubernetes-field-types.js.map +1 -0
  468. package/dist/core/expressions/validation/resource-field-utils.d.ts +69 -0
  469. package/dist/core/expressions/validation/resource-field-utils.d.ts.map +1 -0
  470. package/dist/core/expressions/validation/resource-field-utils.js +280 -0
  471. package/dist/core/expressions/validation/resource-field-utils.js.map +1 -0
  472. package/dist/core/expressions/{resource-validation.d.ts → validation/resource-validation-types.d.ts} +6 -63
  473. package/dist/core/expressions/validation/resource-validation-types.d.ts.map +1 -0
  474. package/dist/core/expressions/validation/resource-validation-types.js +69 -0
  475. package/dist/core/expressions/validation/resource-validation-types.js.map +1 -0
  476. package/dist/core/expressions/validation/resource-validation.d.ts +49 -0
  477. package/dist/core/expressions/validation/resource-validation.d.ts.map +1 -0
  478. package/dist/core/expressions/validation/resource-validation.js +288 -0
  479. package/dist/core/expressions/validation/resource-validation.js.map +1 -0
  480. package/dist/core/expressions/{type-inference.d.ts → validation/type-inference-types.d.ts} +34 -88
  481. package/dist/core/expressions/validation/type-inference-types.d.ts.map +1 -0
  482. package/dist/core/expressions/validation/type-inference-types.js +52 -0
  483. package/dist/core/expressions/validation/type-inference-types.js.map +1 -0
  484. package/dist/core/expressions/validation/type-inference.d.ts +86 -0
  485. package/dist/core/expressions/validation/type-inference.d.ts.map +1 -0
  486. package/dist/core/expressions/{type-inference.js → validation/type-inference.js} +66 -299
  487. package/dist/core/expressions/validation/type-inference.js.map +1 -0
  488. package/dist/core/expressions/{type-safety.d.ts → validation/type-safety.d.ts} +6 -5
  489. package/dist/core/expressions/validation/type-safety.d.ts.map +1 -0
  490. package/dist/core/expressions/{type-safety.js → validation/type-safety.js} +34 -19
  491. package/dist/core/expressions/validation/type-safety.js.map +1 -0
  492. package/dist/core/kubernetes/api.d.ts.map +1 -1
  493. package/dist/core/kubernetes/api.js +21 -12
  494. package/dist/core/kubernetes/api.js.map +1 -1
  495. package/dist/core/kubernetes/bun-api-client.d.ts +36 -14
  496. package/dist/core/kubernetes/bun-api-client.d.ts.map +1 -1
  497. package/dist/core/kubernetes/bun-api-client.js +47 -24
  498. package/dist/core/kubernetes/bun-api-client.js.map +1 -1
  499. package/dist/core/kubernetes/bun-http-library.d.ts +69 -3
  500. package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -1
  501. package/dist/core/kubernetes/bun-http-library.js +118 -11
  502. package/dist/core/kubernetes/bun-http-library.js.map +1 -1
  503. package/dist/core/kubernetes/client-provider.d.ts +121 -35
  504. package/dist/core/kubernetes/client-provider.d.ts.map +1 -1
  505. package/dist/core/kubernetes/client-provider.js +181 -65
  506. package/dist/core/kubernetes/client-provider.js.map +1 -1
  507. package/dist/core/kubernetes/errors.d.ts +5 -5
  508. package/dist/core/kubernetes/errors.js +5 -5
  509. package/dist/core/kubernetes/index.d.ts +8 -7
  510. package/dist/core/kubernetes/index.d.ts.map +1 -1
  511. package/dist/core/kubernetes/index.js +8 -8
  512. package/dist/core/kubernetes/index.js.map +1 -1
  513. package/dist/core/kubernetes/type-guards.d.ts +1 -1
  514. package/dist/core/kubernetes/type-guards.js +1 -1
  515. package/dist/core/logging/config.d.ts.map +1 -1
  516. package/dist/core/logging/config.js +20 -4
  517. package/dist/core/logging/config.js.map +1 -1
  518. package/dist/core/logging/logger.d.ts +3 -3
  519. package/dist/core/logging/logger.d.ts.map +1 -1
  520. package/dist/core/logging/logger.js +18 -18
  521. package/dist/core/logging/logger.js.map +1 -1
  522. package/dist/core/logging/types.d.ts +13 -8
  523. package/dist/core/logging/types.d.ts.map +1 -1
  524. package/dist/core/metadata/index.d.ts +9 -0
  525. package/dist/core/metadata/index.d.ts.map +1 -0
  526. package/dist/core/metadata/index.js +9 -0
  527. package/dist/core/metadata/index.js.map +1 -0
  528. package/dist/core/metadata/resource-metadata.d.ts +120 -0
  529. package/dist/core/metadata/resource-metadata.d.ts.map +1 -0
  530. package/dist/core/metadata/resource-metadata.js +217 -0
  531. package/dist/core/metadata/resource-metadata.js.map +1 -0
  532. package/dist/core/proxy/create-resource.d.ts +50 -0
  533. package/dist/core/proxy/create-resource.d.ts.map +1 -0
  534. package/dist/core/proxy/create-resource.js +435 -0
  535. package/dist/core/proxy/create-resource.js.map +1 -0
  536. package/dist/core/proxy/index.d.ts +8 -0
  537. package/dist/core/proxy/index.d.ts.map +1 -0
  538. package/dist/core/proxy/index.js +7 -0
  539. package/dist/core/proxy/index.js.map +1 -0
  540. package/dist/core/proxy/known-status-fields.d.ts +27 -0
  541. package/dist/core/proxy/known-status-fields.d.ts.map +1 -0
  542. package/dist/core/proxy/known-status-fields.js +185 -0
  543. package/dist/core/proxy/known-status-fields.js.map +1 -0
  544. package/dist/core/readiness/evaluator-factories.d.ts +100 -0
  545. package/dist/core/readiness/evaluator-factories.d.ts.map +1 -0
  546. package/dist/core/readiness/evaluator-factories.js +168 -0
  547. package/dist/core/readiness/evaluator-factories.js.map +1 -0
  548. package/dist/core/readiness/evaluator.d.ts +21 -0
  549. package/dist/core/readiness/evaluator.d.ts.map +1 -0
  550. package/dist/core/readiness/evaluator.js +38 -0
  551. package/dist/core/readiness/evaluator.js.map +1 -0
  552. package/dist/core/readiness/index.d.ts +3 -0
  553. package/dist/core/readiness/index.d.ts.map +1 -1
  554. package/dist/core/readiness/index.js +2 -0
  555. package/dist/core/readiness/index.js.map +1 -1
  556. package/dist/core/readiness/registry.d.ts +3 -3
  557. package/dist/core/readiness/registry.d.ts.map +1 -1
  558. package/dist/core/readiness/registry.js +2 -0
  559. package/dist/core/readiness/registry.js.map +1 -1
  560. package/dist/core/references/cel-evaluator.d.ts +11 -0
  561. package/dist/core/references/cel-evaluator.d.ts.map +1 -1
  562. package/dist/core/references/cel-evaluator.js +65 -27
  563. package/dist/core/references/cel-evaluator.js.map +1 -1
  564. package/dist/core/references/cel.d.ts +66 -23
  565. package/dist/core/references/cel.d.ts.map +1 -1
  566. package/dist/core/references/cel.js +184 -117
  567. package/dist/core/references/cel.js.map +1 -1
  568. package/dist/core/references/external-refs.d.ts +41 -21
  569. package/dist/core/references/external-refs.d.ts.map +1 -1
  570. package/dist/core/references/external-refs.js +73 -30
  571. package/dist/core/references/external-refs.js.map +1 -1
  572. package/dist/core/references/index.d.ts +5 -4
  573. package/dist/core/references/index.d.ts.map +1 -1
  574. package/dist/core/references/index.js +6 -6
  575. package/dist/core/references/index.js.map +1 -1
  576. package/dist/core/references/resolver.d.ts +15 -11
  577. package/dist/core/references/resolver.d.ts.map +1 -1
  578. package/dist/core/references/resolver.js +203 -159
  579. package/dist/core/references/resolver.js.map +1 -1
  580. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  581. package/dist/core/references/schema-proxy.js +97 -14
  582. package/dist/core/references/schema-proxy.js.map +1 -1
  583. package/dist/core/resources/factory-registry.d.ts +99 -0
  584. package/dist/core/resources/factory-registry.d.ts.map +1 -0
  585. package/dist/core/resources/factory-registry.js +166 -0
  586. package/dist/core/resources/factory-registry.js.map +1 -0
  587. package/dist/core/resources/id.d.ts +44 -0
  588. package/dist/core/resources/id.d.ts.map +1 -0
  589. package/dist/core/resources/id.js +78 -0
  590. package/dist/core/resources/id.js.map +1 -0
  591. package/dist/core/resources/index.d.ts +7 -0
  592. package/dist/core/resources/index.d.ts.map +1 -0
  593. package/dist/core/resources/index.js +6 -0
  594. package/dist/core/resources/index.js.map +1 -0
  595. package/dist/core/{utils → runtime-patches}/crd-patcher.d.ts +1 -1
  596. package/dist/core/runtime-patches/crd-patcher.d.ts.map +1 -0
  597. package/dist/core/runtime-patches/crd-patcher.js +124 -0
  598. package/dist/core/runtime-patches/crd-patcher.js.map +1 -0
  599. package/dist/core/{utils → runtime-patches}/crd-schema-fix.d.ts +39 -2
  600. package/dist/core/runtime-patches/crd-schema-fix.d.ts.map +1 -0
  601. package/dist/core/{utils → runtime-patches}/crd-schema-fix.js +130 -26
  602. package/dist/core/runtime-patches/crd-schema-fix.js.map +1 -0
  603. package/dist/core/runtime-patches/index.d.ts +8 -0
  604. package/dist/core/runtime-patches/index.d.ts.map +1 -0
  605. package/dist/core/runtime-patches/index.js +8 -0
  606. package/dist/core/runtime-patches/index.js.map +1 -0
  607. package/dist/core/{evaluation → serialization}/cel-optimizer.d.ts +2 -2
  608. package/dist/core/serialization/cel-optimizer.d.ts.map +1 -0
  609. package/dist/core/{evaluation → serialization}/cel-optimizer.js +11 -23
  610. package/dist/core/serialization/cel-optimizer.js.map +1 -0
  611. package/dist/core/serialization/cel-references.d.ts +36 -0
  612. package/dist/core/serialization/cel-references.d.ts.map +1 -0
  613. package/dist/core/serialization/cel-references.js +308 -0
  614. package/dist/core/serialization/cel-references.js.map +1 -0
  615. package/dist/core/serialization/core.d.ts +171 -4
  616. package/dist/core/serialization/core.d.ts.map +1 -1
  617. package/dist/core/serialization/core.js +401 -710
  618. package/dist/core/serialization/core.js.map +1 -1
  619. package/dist/core/serialization/index.d.ts +3 -1
  620. package/dist/core/serialization/index.d.ts.map +1 -1
  621. package/dist/core/serialization/index.js +5 -1
  622. package/dist/core/serialization/index.js.map +1 -1
  623. package/dist/core/serialization/schema.d.ts +34 -3
  624. package/dist/core/serialization/schema.d.ts.map +1 -1
  625. package/dist/core/serialization/schema.js +160 -13
  626. package/dist/core/serialization/schema.js.map +1 -1
  627. package/dist/core/serialization/status-analysis-helpers.d.ts +68 -0
  628. package/dist/core/serialization/status-analysis-helpers.d.ts.map +1 -0
  629. package/dist/core/serialization/status-analysis-helpers.js +284 -0
  630. package/dist/core/serialization/status-analysis-helpers.js.map +1 -0
  631. package/dist/core/serialization/status-analysis-pipeline.d.ts +67 -0
  632. package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -0
  633. package/dist/core/serialization/status-analysis-pipeline.js +536 -0
  634. package/dist/core/serialization/status-analysis-pipeline.js.map +1 -0
  635. package/dist/core/serialization/validation.d.ts.map +1 -1
  636. package/dist/core/serialization/validation.js +5 -3
  637. package/dist/core/serialization/validation.js.map +1 -1
  638. package/dist/core/serialization/yaml.d.ts +14 -3
  639. package/dist/core/serialization/yaml.d.ts.map +1 -1
  640. package/dist/core/serialization/yaml.js +458 -13
  641. package/dist/core/serialization/yaml.js.map +1 -1
  642. package/dist/core/types/common.d.ts +43 -8
  643. package/dist/core/types/common.d.ts.map +1 -1
  644. package/dist/core/types/composable.d.ts +62 -0
  645. package/dist/core/types/composable.d.ts.map +1 -0
  646. package/dist/core/types/composable.js +51 -0
  647. package/dist/core/types/composable.js.map +1 -0
  648. package/dist/core/types/deployment.d.ts +237 -95
  649. package/dist/core/types/deployment.d.ts.map +1 -1
  650. package/dist/core/types/deployment.js +1 -40
  651. package/dist/core/types/deployment.js.map +1 -1
  652. package/dist/core/types/index.d.ts +7 -10
  653. package/dist/core/types/index.d.ts.map +1 -1
  654. package/dist/core/types/index.js +33 -4
  655. package/dist/core/types/index.js.map +1 -1
  656. package/dist/core/types/kubernetes.d.ts +226 -16
  657. package/dist/core/types/kubernetes.d.ts.map +1 -1
  658. package/dist/core/types/kubernetes.js +11 -1
  659. package/dist/core/types/kubernetes.js.map +1 -1
  660. package/dist/core/types/references.d.ts +27 -1
  661. package/dist/core/types/references.d.ts.map +1 -1
  662. package/dist/core/types/references.js +3 -2
  663. package/dist/core/types/references.js.map +1 -1
  664. package/dist/core/types/resource-graph.d.ts +9 -33
  665. package/dist/core/types/resource-graph.d.ts.map +1 -1
  666. package/dist/core/types/resource-graph.js +2 -2
  667. package/dist/core/types/schema.d.ts +51 -0
  668. package/dist/core/types/schema.d.ts.map +1 -0
  669. package/dist/core/types/schema.js +9 -0
  670. package/dist/core/types/schema.js.map +1 -0
  671. package/dist/core/types/serialization.d.ts +106 -46
  672. package/dist/core/types/serialization.d.ts.map +1 -1
  673. package/dist/core/types/yaml.d.ts +0 -24
  674. package/dist/core/types/yaml.d.ts.map +1 -1
  675. package/dist/core/validation/cel-validator.d.ts +5 -5
  676. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  677. package/dist/core/validation/cel-validator.js +90 -42
  678. package/dist/core/validation/cel-validator.js.map +1 -1
  679. package/dist/core/yaml/path-resolver.d.ts +21 -6
  680. package/dist/core/yaml/path-resolver.d.ts.map +1 -1
  681. package/dist/core/yaml/path-resolver.js +404 -38
  682. package/dist/core/yaml/path-resolver.js.map +1 -1
  683. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts +19 -15
  684. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -1
  685. package/dist/factories/apisix/compositions/apisix-bootstrap.js +99 -112
  686. package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -1
  687. package/dist/factories/apisix/resources/helm.d.ts +8 -8
  688. package/dist/factories/apisix/resources/helm.d.ts.map +1 -1
  689. package/dist/factories/apisix/resources/helm.js +20 -47
  690. package/dist/factories/apisix/resources/helm.js.map +1 -1
  691. package/dist/factories/apisix/types.d.ts +35 -2
  692. package/dist/factories/apisix/types.d.ts.map +1 -1
  693. package/dist/factories/apisix/types.js.map +1 -1
  694. package/dist/factories/apisix/utils/admin-credentials.d.ts +43 -0
  695. package/dist/factories/apisix/utils/admin-credentials.d.ts.map +1 -0
  696. package/dist/factories/apisix/utils/admin-credentials.js +82 -0
  697. package/dist/factories/apisix/utils/admin-credentials.js.map +1 -0
  698. package/dist/factories/apisix/utils/helm-values-mapper.d.ts.map +1 -1
  699. package/dist/factories/apisix/utils/helm-values-mapper.js +33 -35
  700. package/dist/factories/apisix/utils/helm-values-mapper.js.map +1 -1
  701. package/dist/factories/apisix/utils/index.d.ts +1 -0
  702. package/dist/factories/apisix/utils/index.d.ts.map +1 -1
  703. package/dist/factories/apisix/utils/index.js +1 -0
  704. package/dist/factories/apisix/utils/index.js.map +1 -1
  705. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts +2 -2
  706. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts.map +1 -1
  707. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js +49 -63
  708. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js.map +1 -1
  709. package/dist/factories/cert-manager/resources/certificates.d.ts.map +1 -1
  710. package/dist/factories/cert-manager/resources/certificates.js +12 -47
  711. package/dist/factories/cert-manager/resources/certificates.js.map +1 -1
  712. package/dist/factories/cert-manager/resources/helm.d.ts +2 -22
  713. package/dist/factories/cert-manager/resources/helm.d.ts.map +1 -1
  714. package/dist/factories/cert-manager/resources/helm.js +30 -167
  715. package/dist/factories/cert-manager/resources/helm.js.map +1 -1
  716. package/dist/factories/cert-manager/resources/issuers.d.ts.map +1 -1
  717. package/dist/factories/cert-manager/resources/issuers.js +9 -104
  718. package/dist/factories/cert-manager/resources/issuers.js.map +1 -1
  719. package/dist/factories/cert-manager/types.d.ts +5 -78
  720. package/dist/factories/cert-manager/types.d.ts.map +1 -1
  721. package/dist/factories/cert-manager/types.js +2 -22
  722. package/dist/factories/cert-manager/types.js.map +1 -1
  723. package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts +8 -4
  724. package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts.map +1 -1
  725. package/dist/factories/cert-manager/utils/helm-values-mapper.js +55 -56
  726. package/dist/factories/cert-manager/utils/helm-values-mapper.js.map +1 -1
  727. package/dist/factories/cert-manager/utils/index.d.ts +1 -1
  728. package/dist/factories/cert-manager/utils/index.d.ts.map +1 -1
  729. package/dist/factories/cert-manager/utils/index.js +1 -1
  730. package/dist/factories/cert-manager/utils/index.js.map +1 -1
  731. package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts +3 -3
  732. package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts.map +1 -1
  733. package/dist/factories/cilium/compositions/cilium-bootstrap.js +62 -34
  734. package/dist/factories/cilium/compositions/cilium-bootstrap.js.map +1 -1
  735. package/dist/factories/cilium/errors.d.ts +41 -0
  736. package/dist/factories/cilium/errors.d.ts.map +1 -0
  737. package/dist/factories/cilium/errors.js +75 -0
  738. package/dist/factories/cilium/errors.js.map +1 -0
  739. package/dist/factories/cilium/index.d.ts +1 -0
  740. package/dist/factories/cilium/index.d.ts.map +1 -1
  741. package/dist/factories/cilium/index.js +4 -0
  742. package/dist/factories/cilium/index.js.map +1 -1
  743. package/dist/factories/cilium/resources/gateway.d.ts.map +1 -1
  744. package/dist/factories/cilium/resources/gateway.js +3 -5
  745. package/dist/factories/cilium/resources/gateway.js.map +1 -1
  746. package/dist/factories/cilium/resources/helm.d.ts +2 -2
  747. package/dist/factories/cilium/resources/helm.d.ts.map +1 -1
  748. package/dist/factories/cilium/resources/helm.js +8 -16
  749. package/dist/factories/cilium/resources/helm.js.map +1 -1
  750. package/dist/factories/cilium/resources/index.d.ts +1 -5
  751. package/dist/factories/cilium/resources/index.d.ts.map +1 -1
  752. package/dist/factories/cilium/resources/index.js +4 -20
  753. package/dist/factories/cilium/resources/index.js.map +1 -1
  754. package/dist/factories/cilium/resources/networking.d.ts +9 -13
  755. package/dist/factories/cilium/resources/networking.d.ts.map +1 -1
  756. package/dist/factories/cilium/resources/networking.js +152 -251
  757. package/dist/factories/cilium/resources/networking.js.map +1 -1
  758. package/dist/factories/cilium/types.d.ts +3 -47
  759. package/dist/factories/cilium/types.d.ts.map +1 -1
  760. package/dist/factories/cilium/types.js +2 -71
  761. package/dist/factories/cilium/types.js.map +1 -1
  762. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +55 -0
  763. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts.map +1 -0
  764. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +92 -0
  765. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js.map +1 -0
  766. package/dist/factories/cnpg/compositions/index.d.ts +2 -0
  767. package/dist/factories/cnpg/compositions/index.d.ts.map +1 -0
  768. package/dist/factories/cnpg/compositions/index.js +2 -0
  769. package/dist/factories/cnpg/compositions/index.js.map +1 -0
  770. package/dist/factories/cnpg/index.d.ts +42 -0
  771. package/dist/factories/cnpg/index.d.ts.map +1 -0
  772. package/dist/factories/cnpg/index.js +42 -0
  773. package/dist/factories/cnpg/index.js.map +1 -0
  774. package/dist/factories/cnpg/resources/backup.d.ts +34 -0
  775. package/dist/factories/cnpg/resources/backup.d.ts.map +1 -0
  776. package/dist/factories/cnpg/resources/backup.js +87 -0
  777. package/dist/factories/cnpg/resources/backup.js.map +1 -0
  778. package/dist/factories/cnpg/resources/cluster.d.ts +55 -0
  779. package/dist/factories/cnpg/resources/cluster.d.ts.map +1 -0
  780. package/dist/factories/cnpg/resources/cluster.js +123 -0
  781. package/dist/factories/cnpg/resources/cluster.js.map +1 -0
  782. package/dist/factories/cnpg/resources/helm.d.ts +45 -0
  783. package/dist/factories/cnpg/resources/helm.d.ts.map +1 -0
  784. package/dist/factories/cnpg/resources/helm.js +78 -0
  785. package/dist/factories/cnpg/resources/helm.js.map +1 -0
  786. package/dist/factories/cnpg/resources/index.d.ts +6 -0
  787. package/dist/factories/cnpg/resources/index.d.ts.map +1 -0
  788. package/dist/factories/cnpg/resources/index.js +6 -0
  789. package/dist/factories/cnpg/resources/index.js.map +1 -0
  790. package/dist/factories/cnpg/resources/pooler.d.ts +38 -0
  791. package/dist/factories/cnpg/resources/pooler.d.ts.map +1 -0
  792. package/dist/factories/cnpg/resources/pooler.js +97 -0
  793. package/dist/factories/cnpg/resources/pooler.js.map +1 -0
  794. package/dist/factories/cnpg/resources/scheduled-backup.d.ts +35 -0
  795. package/dist/factories/cnpg/resources/scheduled-backup.d.ts.map +1 -0
  796. package/dist/factories/cnpg/resources/scheduled-backup.js +68 -0
  797. package/dist/factories/cnpg/resources/scheduled-backup.js.map +1 -0
  798. package/dist/factories/cnpg/types.d.ts +507 -0
  799. package/dist/factories/cnpg/types.d.ts.map +1 -0
  800. package/dist/factories/cnpg/types.js +398 -0
  801. package/dist/factories/cnpg/types.js.map +1 -0
  802. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts +70 -0
  803. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts.map +1 -0
  804. package/dist/factories/cnpg/utils/helm-values-mapper.js +79 -0
  805. package/dist/factories/cnpg/utils/helm-values-mapper.js.map +1 -0
  806. package/dist/factories/cnpg/utils/index.d.ts +2 -0
  807. package/dist/factories/cnpg/utils/index.d.ts.map +1 -0
  808. package/dist/factories/cnpg/utils/index.js +2 -0
  809. package/dist/factories/cnpg/utils/index.js.map +1 -0
  810. package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts +1 -1
  811. package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts.map +1 -1
  812. package/dist/factories/external-dns/compositions/external-dns-bootstrap.js +5 -11
  813. package/dist/factories/external-dns/compositions/external-dns-bootstrap.js.map +1 -1
  814. package/dist/factories/external-dns/resources/helm.d.ts +2 -2
  815. package/dist/factories/external-dns/resources/helm.d.ts.map +1 -1
  816. package/dist/factories/external-dns/resources/helm.js +66 -61
  817. package/dist/factories/external-dns/resources/helm.js.map +1 -1
  818. package/dist/factories/external-dns/types.d.ts +2 -2
  819. package/dist/factories/external-dns/types.d.ts.map +1 -1
  820. package/dist/factories/external-dns/types.js.map +1 -1
  821. package/dist/factories/flux/git-repository.d.ts +12 -2
  822. package/dist/factories/flux/git-repository.d.ts.map +1 -1
  823. package/dist/factories/flux/git-repository.js +33 -0
  824. package/dist/factories/flux/git-repository.js.map +1 -1
  825. package/dist/factories/flux/kustomize/kustomization.d.ts +2 -0
  826. package/dist/factories/flux/kustomize/kustomization.d.ts.map +1 -1
  827. package/dist/factories/flux/kustomize/kustomization.js.map +1 -1
  828. package/dist/factories/flux/kustomize/readiness-evaluators.d.ts +1 -1
  829. package/dist/factories/flux/kustomize/readiness-evaluators.d.ts.map +1 -1
  830. package/dist/factories/flux/kustomize/readiness-evaluators.js +3 -1
  831. package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -1
  832. package/dist/factories/helm/helm-release.d.ts +13 -0
  833. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  834. package/dist/factories/helm/helm-release.js +39 -16
  835. package/dist/factories/helm/helm-release.js.map +1 -1
  836. package/dist/factories/helm/helm-repository.d.ts +26 -1
  837. package/dist/factories/helm/helm-repository.d.ts.map +1 -1
  838. package/dist/factories/helm/helm-repository.js +30 -17
  839. package/dist/factories/helm/helm-repository.js.map +1 -1
  840. package/dist/factories/helm/index.d.ts +10 -4
  841. package/dist/factories/helm/index.d.ts.map +1 -1
  842. package/dist/factories/helm/index.js +10 -4
  843. package/dist/factories/helm/index.js.map +1 -1
  844. package/dist/factories/helm/readiness-evaluators.d.ts +21 -8
  845. package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
  846. package/dist/factories/helm/readiness-evaluators.js +98 -82
  847. package/dist/factories/helm/readiness-evaluators.js.map +1 -1
  848. package/dist/factories/helm/types.d.ts +15 -0
  849. package/dist/factories/helm/types.d.ts.map +1 -1
  850. package/dist/factories/index.d.ts +7 -8
  851. package/dist/factories/index.d.ts.map +1 -1
  852. package/dist/factories/index.js +24 -20
  853. package/dist/factories/index.js.map +1 -1
  854. package/dist/factories/inngest/compositions/index.d.ts +2 -0
  855. package/dist/factories/inngest/compositions/index.d.ts.map +1 -0
  856. package/dist/factories/inngest/compositions/index.js +2 -0
  857. package/dist/factories/inngest/compositions/index.js.map +1 -0
  858. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +150 -0
  859. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -0
  860. package/dist/factories/inngest/compositions/inngest-bootstrap.js +90 -0
  861. package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -0
  862. package/dist/factories/inngest/index.d.ts +45 -0
  863. package/dist/factories/inngest/index.d.ts.map +1 -0
  864. package/dist/factories/inngest/index.js +45 -0
  865. package/dist/factories/inngest/index.js.map +1 -0
  866. package/dist/factories/inngest/resources/helm.d.ts +53 -0
  867. package/dist/factories/inngest/resources/helm.d.ts.map +1 -0
  868. package/dist/factories/inngest/resources/helm.js +88 -0
  869. package/dist/factories/inngest/resources/helm.js.map +1 -0
  870. package/dist/factories/inngest/resources/index.d.ts +2 -0
  871. package/dist/factories/inngest/resources/index.d.ts.map +1 -0
  872. package/dist/factories/inngest/resources/index.js +2 -0
  873. package/dist/factories/inngest/resources/index.js.map +1 -0
  874. package/dist/factories/inngest/types.d.ts +177 -0
  875. package/dist/factories/inngest/types.d.ts.map +1 -0
  876. package/dist/factories/inngest/types.js +189 -0
  877. package/dist/factories/inngest/types.js.map +1 -0
  878. package/dist/factories/inngest/utils/helm-values-mapper.d.ts +127 -0
  879. package/dist/factories/inngest/utils/helm-values-mapper.d.ts.map +1 -0
  880. package/dist/factories/inngest/utils/helm-values-mapper.js +116 -0
  881. package/dist/factories/inngest/utils/helm-values-mapper.js.map +1 -0
  882. package/dist/factories/inngest/utils/index.d.ts +2 -0
  883. package/dist/factories/inngest/utils/index.d.ts.map +1 -0
  884. package/dist/factories/inngest/utils/index.js +2 -0
  885. package/dist/factories/inngest/utils/index.js.map +1 -0
  886. package/dist/factories/kro/kro-crd.d.ts.map +1 -1
  887. package/dist/factories/kro/kro-crd.js +3 -2
  888. package/dist/factories/kro/kro-crd.js.map +1 -1
  889. package/dist/factories/kro/kro-custom-resource.d.ts.map +1 -1
  890. package/dist/factories/kro/kro-custom-resource.js +3 -2
  891. package/dist/factories/kro/kro-custom-resource.js.map +1 -1
  892. package/dist/factories/kro/resource-graph-definition.d.ts +29 -1
  893. package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -1
  894. package/dist/factories/kro/resource-graph-definition.js +26 -8
  895. package/dist/factories/kro/resource-graph-definition.js.map +1 -1
  896. package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts +3 -2
  897. package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts.map +1 -1
  898. package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js +3 -2
  899. package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js.map +1 -1
  900. package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts +3 -2
  901. package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts.map +1 -1
  902. package/dist/factories/kubernetes/admission/validating-webhook-configuration.js +3 -2
  903. package/dist/factories/kubernetes/admission/validating-webhook-configuration.js.map +1 -1
  904. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts +3 -1
  905. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts.map +1 -1
  906. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js.map +1 -1
  907. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts +3 -1
  908. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -1
  909. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js +2 -1
  910. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js.map +1 -1
  911. package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts +3 -1
  912. package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts.map +1 -1
  913. package/dist/factories/kubernetes/certificates/certificate-signing-request.js.map +1 -1
  914. package/dist/factories/kubernetes/config/config-map.d.ts +14 -1
  915. package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -1
  916. package/dist/factories/kubernetes/config/config-map.js +21 -7
  917. package/dist/factories/kubernetes/config/config-map.js.map +1 -1
  918. package/dist/factories/kubernetes/config/secret.d.ts +17 -0
  919. package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
  920. package/dist/factories/kubernetes/config/secret.js +27 -7
  921. package/dist/factories/kubernetes/config/secret.js.map +1 -1
  922. package/dist/factories/kubernetes/coordination/lease.d.ts +3 -1
  923. package/dist/factories/kubernetes/coordination/lease.d.ts.map +1 -1
  924. package/dist/factories/kubernetes/coordination/lease.js +2 -1
  925. package/dist/factories/kubernetes/coordination/lease.js.map +1 -1
  926. package/dist/factories/kubernetes/core/component-status.d.ts +3 -1
  927. package/dist/factories/kubernetes/core/component-status.d.ts.map +1 -1
  928. package/dist/factories/kubernetes/core/component-status.js.map +1 -1
  929. package/dist/factories/kubernetes/core/namespace.d.ts +10 -0
  930. package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -1
  931. package/dist/factories/kubernetes/core/namespace.js +14 -3
  932. package/dist/factories/kubernetes/core/namespace.js.map +1 -1
  933. package/dist/factories/kubernetes/core/node.d.ts +3 -1
  934. package/dist/factories/kubernetes/core/node.d.ts.map +1 -1
  935. package/dist/factories/kubernetes/core/node.js.map +1 -1
  936. package/dist/factories/kubernetes/core/pod.d.ts +3 -1
  937. package/dist/factories/kubernetes/core/pod.d.ts.map +1 -1
  938. package/dist/factories/kubernetes/core/pod.js +2 -1
  939. package/dist/factories/kubernetes/core/pod.js.map +1 -1
  940. package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts +3 -1
  941. package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts.map +1 -1
  942. package/dist/factories/kubernetes/extensions/custom-resource-definition.js.map +1 -1
  943. package/dist/factories/kubernetes/extensions/custom-resource.d.ts +1 -0
  944. package/dist/factories/kubernetes/extensions/custom-resource.d.ts.map +1 -1
  945. package/dist/factories/kubernetes/extensions/custom-resource.js +5 -1
  946. package/dist/factories/kubernetes/extensions/custom-resource.js.map +1 -1
  947. package/dist/factories/kubernetes/index.d.ts +0 -2
  948. package/dist/factories/kubernetes/index.d.ts.map +1 -1
  949. package/dist/factories/kubernetes/index.js +3 -8
  950. package/dist/factories/kubernetes/index.js.map +1 -1
  951. package/dist/factories/kubernetes/networking/endpoint-slice.d.ts +3 -1
  952. package/dist/factories/kubernetes/networking/endpoint-slice.d.ts.map +1 -1
  953. package/dist/factories/kubernetes/networking/endpoint-slice.js.map +1 -1
  954. package/dist/factories/kubernetes/networking/endpoints.d.ts +3 -1
  955. package/dist/factories/kubernetes/networking/endpoints.d.ts.map +1 -1
  956. package/dist/factories/kubernetes/networking/endpoints.js +3 -2
  957. package/dist/factories/kubernetes/networking/endpoints.js.map +1 -1
  958. package/dist/factories/kubernetes/networking/ingress-class.d.ts +3 -1
  959. package/dist/factories/kubernetes/networking/ingress-class.d.ts.map +1 -1
  960. package/dist/factories/kubernetes/networking/ingress-class.js +2 -7
  961. package/dist/factories/kubernetes/networking/ingress-class.js.map +1 -1
  962. package/dist/factories/kubernetes/networking/ingress.d.ts +15 -2
  963. package/dist/factories/kubernetes/networking/ingress.d.ts.map +1 -1
  964. package/dist/factories/kubernetes/networking/ingress.js +64 -11
  965. package/dist/factories/kubernetes/networking/ingress.js.map +1 -1
  966. package/dist/factories/kubernetes/networking/network-policy.d.ts +3 -1
  967. package/dist/factories/kubernetes/networking/network-policy.d.ts.map +1 -1
  968. package/dist/factories/kubernetes/networking/network-policy.js +2 -8
  969. package/dist/factories/kubernetes/networking/network-policy.js.map +1 -1
  970. package/dist/factories/kubernetes/networking/service.d.ts +14 -1
  971. package/dist/factories/kubernetes/networking/service.d.ts.map +1 -1
  972. package/dist/factories/kubernetes/networking/service.js +22 -2
  973. package/dist/factories/kubernetes/networking/service.js.map +1 -1
  974. package/dist/factories/kubernetes/policy/limit-range.d.ts +3 -1
  975. package/dist/factories/kubernetes/policy/limit-range.d.ts.map +1 -1
  976. package/dist/factories/kubernetes/policy/limit-range.js +2 -8
  977. package/dist/factories/kubernetes/policy/limit-range.js.map +1 -1
  978. package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts +3 -1
  979. package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts.map +1 -1
  980. package/dist/factories/kubernetes/policy/pod-disruption-budget.js +3 -2
  981. package/dist/factories/kubernetes/policy/pod-disruption-budget.js.map +1 -1
  982. package/dist/factories/kubernetes/policy/resource-quota.d.ts +3 -1
  983. package/dist/factories/kubernetes/policy/resource-quota.d.ts.map +1 -1
  984. package/dist/factories/kubernetes/policy/resource-quota.js +3 -2
  985. package/dist/factories/kubernetes/policy/resource-quota.js.map +1 -1
  986. package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts +20 -1
  987. package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts.map +1 -1
  988. package/dist/factories/kubernetes/rbac/cluster-role-binding.js +19 -8
  989. package/dist/factories/kubernetes/rbac/cluster-role-binding.js.map +1 -1
  990. package/dist/factories/kubernetes/rbac/cluster-role.d.ts +3 -1
  991. package/dist/factories/kubernetes/rbac/cluster-role.d.ts.map +1 -1
  992. package/dist/factories/kubernetes/rbac/cluster-role.js +2 -8
  993. package/dist/factories/kubernetes/rbac/cluster-role.js.map +1 -1
  994. package/dist/factories/kubernetes/rbac/role-binding.d.ts +3 -1
  995. package/dist/factories/kubernetes/rbac/role-binding.d.ts.map +1 -1
  996. package/dist/factories/kubernetes/rbac/role-binding.js +2 -8
  997. package/dist/factories/kubernetes/rbac/role-binding.js.map +1 -1
  998. package/dist/factories/kubernetes/rbac/role.d.ts +3 -1
  999. package/dist/factories/kubernetes/rbac/role.d.ts.map +1 -1
  1000. package/dist/factories/kubernetes/rbac/role.js +2 -8
  1001. package/dist/factories/kubernetes/rbac/role.js.map +1 -1
  1002. package/dist/factories/kubernetes/rbac/service-account.d.ts +3 -1
  1003. package/dist/factories/kubernetes/rbac/service-account.d.ts.map +1 -1
  1004. package/dist/factories/kubernetes/rbac/service-account.js +2 -8
  1005. package/dist/factories/kubernetes/rbac/service-account.js.map +1 -1
  1006. package/dist/factories/kubernetes/scheduling/priority-class.d.ts +3 -1
  1007. package/dist/factories/kubernetes/scheduling/priority-class.d.ts.map +1 -1
  1008. package/dist/factories/kubernetes/scheduling/priority-class.js +2 -7
  1009. package/dist/factories/kubernetes/scheduling/priority-class.js.map +1 -1
  1010. package/dist/factories/kubernetes/scheduling/runtime-class.d.ts +3 -2
  1011. package/dist/factories/kubernetes/scheduling/runtime-class.d.ts.map +1 -1
  1012. package/dist/factories/kubernetes/scheduling/runtime-class.js +2 -1
  1013. package/dist/factories/kubernetes/scheduling/runtime-class.js.map +1 -1
  1014. package/dist/factories/kubernetes/storage/csi-driver.d.ts +3 -1
  1015. package/dist/factories/kubernetes/storage/csi-driver.d.ts.map +1 -1
  1016. package/dist/factories/kubernetes/storage/csi-driver.js +2 -7
  1017. package/dist/factories/kubernetes/storage/csi-driver.js.map +1 -1
  1018. package/dist/factories/kubernetes/storage/csi-node.d.ts +3 -1
  1019. package/dist/factories/kubernetes/storage/csi-node.d.ts.map +1 -1
  1020. package/dist/factories/kubernetes/storage/csi-node.js +2 -1
  1021. package/dist/factories/kubernetes/storage/csi-node.js.map +1 -1
  1022. package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts +14 -1
  1023. package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts.map +1 -1
  1024. package/dist/factories/kubernetes/storage/persistent-volume-claim.js +13 -1
  1025. package/dist/factories/kubernetes/storage/persistent-volume-claim.js.map +1 -1
  1026. package/dist/factories/kubernetes/storage/persistent-volume.d.ts +3 -1
  1027. package/dist/factories/kubernetes/storage/persistent-volume.d.ts.map +1 -1
  1028. package/dist/factories/kubernetes/storage/persistent-volume.js +3 -2
  1029. package/dist/factories/kubernetes/storage/persistent-volume.js.map +1 -1
  1030. package/dist/factories/kubernetes/storage/storage-class.d.ts +3 -1
  1031. package/dist/factories/kubernetes/storage/storage-class.d.ts.map +1 -1
  1032. package/dist/factories/kubernetes/storage/storage-class.js +2 -8
  1033. package/dist/factories/kubernetes/storage/storage-class.js.map +1 -1
  1034. package/dist/factories/kubernetes/storage/volume-attachment.d.ts +3 -1
  1035. package/dist/factories/kubernetes/storage/volume-attachment.d.ts.map +1 -1
  1036. package/dist/factories/kubernetes/storage/volume-attachment.js +10 -0
  1037. package/dist/factories/kubernetes/storage/volume-attachment.js.map +1 -1
  1038. package/dist/factories/kubernetes/workloads/cron-job.d.ts +14 -1
  1039. package/dist/factories/kubernetes/workloads/cron-job.d.ts.map +1 -1
  1040. package/dist/factories/kubernetes/workloads/cron-job.js +14 -2
  1041. package/dist/factories/kubernetes/workloads/cron-job.js.map +1 -1
  1042. package/dist/factories/kubernetes/workloads/daemon-set.d.ts +14 -1
  1043. package/dist/factories/kubernetes/workloads/daemon-set.d.ts.map +1 -1
  1044. package/dist/factories/kubernetes/workloads/daemon-set.js +13 -1
  1045. package/dist/factories/kubernetes/workloads/daemon-set.js.map +1 -1
  1046. package/dist/factories/kubernetes/workloads/deployment.d.ts +14 -1
  1047. package/dist/factories/kubernetes/workloads/deployment.d.ts.map +1 -1
  1048. package/dist/factories/kubernetes/workloads/deployment.js +27 -2
  1049. package/dist/factories/kubernetes/workloads/deployment.js.map +1 -1
  1050. package/dist/factories/kubernetes/workloads/job.d.ts +14 -1
  1051. package/dist/factories/kubernetes/workloads/job.d.ts.map +1 -1
  1052. package/dist/factories/kubernetes/workloads/job.js +19 -2
  1053. package/dist/factories/kubernetes/workloads/job.js.map +1 -1
  1054. package/dist/factories/kubernetes/workloads/replica-set.d.ts +3 -1
  1055. package/dist/factories/kubernetes/workloads/replica-set.d.ts.map +1 -1
  1056. package/dist/factories/kubernetes/workloads/replica-set.js +2 -1
  1057. package/dist/factories/kubernetes/workloads/replica-set.js.map +1 -1
  1058. package/dist/factories/kubernetes/workloads/replication-controller.d.ts +3 -1
  1059. package/dist/factories/kubernetes/workloads/replication-controller.d.ts.map +1 -1
  1060. package/dist/factories/kubernetes/workloads/replication-controller.js +3 -2
  1061. package/dist/factories/kubernetes/workloads/replication-controller.js.map +1 -1
  1062. package/dist/factories/kubernetes/workloads/stateful-set.d.ts +14 -1
  1063. package/dist/factories/kubernetes/workloads/stateful-set.d.ts.map +1 -1
  1064. package/dist/factories/kubernetes/workloads/stateful-set.js +22 -2
  1065. package/dist/factories/kubernetes/workloads/stateful-set.js.map +1 -1
  1066. package/dist/factories/kubernetes/yaml/conflict-handler.d.ts +23 -0
  1067. package/dist/factories/kubernetes/yaml/conflict-handler.d.ts.map +1 -0
  1068. package/dist/factories/kubernetes/yaml/conflict-handler.js +83 -0
  1069. package/dist/factories/kubernetes/yaml/conflict-handler.js.map +1 -0
  1070. package/dist/factories/kubernetes/yaml/yaml-directory.d.ts +6 -11
  1071. package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -1
  1072. package/dist/factories/kubernetes/yaml/yaml-directory.js +10 -75
  1073. package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
  1074. package/dist/factories/kubernetes/yaml/yaml-file.d.ts +42 -13
  1075. package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
  1076. package/dist/factories/kubernetes/yaml/yaml-file.js +206 -99
  1077. package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
  1078. package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts +1 -1
  1079. package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts.map +1 -1
  1080. package/dist/factories/pebble/compositions/pebble-bootstrap.js +15 -17
  1081. package/dist/factories/pebble/compositions/pebble-bootstrap.js.map +1 -1
  1082. package/dist/factories/pebble/resources/helm.d.ts +2 -2
  1083. package/dist/factories/pebble/resources/helm.d.ts.map +1 -1
  1084. package/dist/factories/pebble/resources/helm.js +9 -28
  1085. package/dist/factories/pebble/resources/helm.js.map +1 -1
  1086. package/dist/factories/shared.d.ts +12 -71
  1087. package/dist/factories/shared.d.ts.map +1 -1
  1088. package/dist/factories/shared.js +10 -531
  1089. package/dist/factories/shared.js.map +1 -1
  1090. package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.d.ts +11 -0
  1091. package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -1
  1092. package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.js +12 -0
  1093. package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.js.map +1 -1
  1094. package/dist/factories/simple/compositions/web-service.d.ts +35 -0
  1095. package/dist/factories/simple/compositions/web-service.d.ts.map +1 -0
  1096. package/dist/{core/composition/composition.js → factories/simple/compositions/web-service.js} +15 -2
  1097. package/dist/factories/simple/compositions/web-service.js.map +1 -0
  1098. package/dist/factories/simple/config/config-map.d.ts +11 -0
  1099. package/dist/factories/simple/config/config-map.d.ts.map +1 -1
  1100. package/dist/factories/simple/config/config-map.js +11 -0
  1101. package/dist/factories/simple/config/config-map.js.map +1 -1
  1102. package/dist/factories/simple/config/secret.d.ts +11 -0
  1103. package/dist/factories/simple/config/secret.d.ts.map +1 -1
  1104. package/dist/factories/simple/config/secret.js +17 -3
  1105. package/dist/factories/simple/config/secret.js.map +1 -1
  1106. package/dist/factories/simple/helm/index.d.ts +10 -0
  1107. package/dist/factories/simple/helm/index.d.ts.map +1 -1
  1108. package/dist/factories/simple/helm/index.js +10 -0
  1109. package/dist/factories/simple/helm/index.js.map +1 -1
  1110. package/dist/factories/simple/index.d.ts +1 -1
  1111. package/dist/factories/simple/networking/ingress.d.ts +14 -2
  1112. package/dist/factories/simple/networking/ingress.d.ts.map +1 -1
  1113. package/dist/factories/simple/networking/ingress.js +12 -0
  1114. package/dist/factories/simple/networking/ingress.js.map +1 -1
  1115. package/dist/factories/simple/networking/network-policy.d.ts +11 -1
  1116. package/dist/factories/simple/networking/network-policy.d.ts.map +1 -1
  1117. package/dist/factories/simple/networking/network-policy.js +10 -0
  1118. package/dist/factories/simple/networking/network-policy.js.map +1 -1
  1119. package/dist/factories/simple/networking/service.d.ts +10 -0
  1120. package/dist/factories/simple/networking/service.d.ts.map +1 -1
  1121. package/dist/factories/simple/networking/service.js +10 -0
  1122. package/dist/factories/simple/networking/service.js.map +1 -1
  1123. package/dist/factories/simple/storage/persistent-volume-claim.d.ts +10 -0
  1124. package/dist/factories/simple/storage/persistent-volume-claim.d.ts.map +1 -1
  1125. package/dist/factories/simple/storage/persistent-volume-claim.js +10 -0
  1126. package/dist/factories/simple/storage/persistent-volume-claim.js.map +1 -1
  1127. package/dist/factories/simple/storage/persistent-volume.d.ts +11 -0
  1128. package/dist/factories/simple/storage/persistent-volume.d.ts.map +1 -1
  1129. package/dist/factories/simple/storage/persistent-volume.js +12 -0
  1130. package/dist/factories/simple/storage/persistent-volume.js.map +1 -1
  1131. package/dist/factories/simple/types.d.ts +16 -0
  1132. package/dist/factories/simple/types.d.ts.map +1 -1
  1133. package/dist/factories/simple/workloads/cron-job.d.ts +10 -0
  1134. package/dist/factories/simple/workloads/cron-job.d.ts.map +1 -1
  1135. package/dist/factories/simple/workloads/cron-job.js +11 -0
  1136. package/dist/factories/simple/workloads/cron-job.js.map +1 -1
  1137. package/dist/factories/simple/workloads/daemon-set.d.ts +9 -0
  1138. package/dist/factories/simple/workloads/daemon-set.d.ts.map +1 -1
  1139. package/dist/factories/simple/workloads/daemon-set.js +9 -0
  1140. package/dist/factories/simple/workloads/daemon-set.js.map +1 -1
  1141. package/dist/factories/simple/workloads/deployment.d.ts +11 -1
  1142. package/dist/factories/simple/workloads/deployment.d.ts.map +1 -1
  1143. package/dist/factories/simple/workloads/deployment.js +19 -9
  1144. package/dist/factories/simple/workloads/deployment.js.map +1 -1
  1145. package/dist/factories/simple/workloads/job.d.ts +10 -0
  1146. package/dist/factories/simple/workloads/job.d.ts.map +1 -1
  1147. package/dist/factories/simple/workloads/job.js +11 -0
  1148. package/dist/factories/simple/workloads/job.js.map +1 -1
  1149. package/dist/factories/simple/workloads/stateful-set.d.ts +11 -0
  1150. package/dist/factories/simple/workloads/stateful-set.d.ts.map +1 -1
  1151. package/dist/factories/simple/workloads/stateful-set.js +12 -0
  1152. package/dist/factories/simple/workloads/stateful-set.js.map +1 -1
  1153. package/dist/factories/simple/yaml/index.d.ts +8 -0
  1154. package/dist/factories/simple/yaml/index.d.ts.map +1 -1
  1155. package/dist/factories/simple/yaml/index.js +8 -0
  1156. package/dist/factories/simple/yaml/index.js.map +1 -1
  1157. package/dist/factories/valkey/compositions/index.d.ts +2 -0
  1158. package/dist/factories/valkey/compositions/index.d.ts.map +1 -0
  1159. package/dist/factories/valkey/compositions/index.js +2 -0
  1160. package/dist/factories/valkey/compositions/index.js.map +1 -0
  1161. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +41 -0
  1162. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -0
  1163. package/dist/factories/valkey/compositions/valkey-bootstrap.js +105 -0
  1164. package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -0
  1165. package/dist/factories/valkey/index.d.ts +50 -0
  1166. package/dist/factories/valkey/index.d.ts.map +1 -0
  1167. package/dist/factories/valkey/index.js +50 -0
  1168. package/dist/factories/valkey/index.js.map +1 -0
  1169. package/dist/factories/valkey/resources/helm.d.ts +53 -0
  1170. package/dist/factories/valkey/resources/helm.d.ts.map +1 -0
  1171. package/dist/factories/valkey/resources/helm.js +82 -0
  1172. package/dist/factories/valkey/resources/helm.js.map +1 -0
  1173. package/dist/factories/valkey/resources/index.d.ts +3 -0
  1174. package/dist/factories/valkey/resources/index.d.ts.map +1 -0
  1175. package/dist/factories/valkey/resources/index.js +3 -0
  1176. package/dist/factories/valkey/resources/index.js.map +1 -0
  1177. package/dist/factories/valkey/resources/valkey.d.ts +46 -0
  1178. package/dist/factories/valkey/resources/valkey.d.ts.map +1 -0
  1179. package/dist/factories/valkey/resources/valkey.js +123 -0
  1180. package/dist/factories/valkey/resources/valkey.js.map +1 -0
  1181. package/dist/factories/valkey/types.d.ts +185 -0
  1182. package/dist/factories/valkey/types.d.ts.map +1 -0
  1183. package/dist/factories/valkey/types.js +204 -0
  1184. package/dist/factories/valkey/types.js.map +1 -0
  1185. package/dist/factories/valkey/utils/helm-values-mapper.d.ts +32 -0
  1186. package/dist/factories/valkey/utils/helm-values-mapper.d.ts.map +1 -0
  1187. package/dist/factories/valkey/utils/helm-values-mapper.js +58 -0
  1188. package/dist/factories/valkey/utils/helm-values-mapper.js.map +1 -0
  1189. package/dist/factories/valkey/utils/index.d.ts +2 -0
  1190. package/dist/factories/valkey/utils/index.d.ts.map +1 -0
  1191. package/dist/factories/valkey/utils/index.js +2 -0
  1192. package/dist/factories/valkey/utils/index.js.map +1 -0
  1193. package/dist/factories/webapp/compositions/index.d.ts +2 -0
  1194. package/dist/factories/webapp/compositions/index.d.ts.map +1 -0
  1195. package/dist/factories/webapp/compositions/index.js +2 -0
  1196. package/dist/factories/webapp/compositions/index.js.map +1 -0
  1197. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +98 -0
  1198. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -0
  1199. package/dist/factories/webapp/compositions/web-app-with-processing.js +221 -0
  1200. package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -0
  1201. package/dist/factories/webapp/index.d.ts +53 -0
  1202. package/dist/factories/webapp/index.d.ts.map +1 -0
  1203. package/dist/factories/webapp/index.js +53 -0
  1204. package/dist/factories/webapp/index.js.map +1 -0
  1205. package/dist/factories/webapp/types.d.ts +69 -0
  1206. package/dist/factories/webapp/types.d.ts.map +1 -0
  1207. package/dist/factories/webapp/types.js +92 -0
  1208. package/dist/factories/webapp/types.js.map +1 -0
  1209. package/dist/index.d.ts +105 -6
  1210. package/dist/index.d.ts.map +1 -1
  1211. package/dist/index.js +115 -42
  1212. package/dist/index.js.map +1 -1
  1213. package/dist/shared/brands.d.ts +48 -0
  1214. package/dist/shared/brands.d.ts.map +1 -0
  1215. package/dist/shared/brands.js +48 -0
  1216. package/dist/shared/brands.js.map +1 -0
  1217. package/dist/utils/helpers.d.ts +31 -57
  1218. package/dist/utils/helpers.d.ts.map +1 -1
  1219. package/dist/utils/helpers.js +46 -494
  1220. package/dist/utils/helpers.js.map +1 -1
  1221. package/dist/utils/index.d.ts +5 -4
  1222. package/dist/utils/index.d.ts.map +1 -1
  1223. package/dist/utils/index.js +8 -6
  1224. package/dist/utils/index.js.map +1 -1
  1225. package/dist/utils/string.d.ts +31 -0
  1226. package/dist/utils/string.d.ts.map +1 -0
  1227. package/dist/utils/string.js +82 -0
  1228. package/dist/utils/string.js.map +1 -0
  1229. package/dist/utils/type-guards.d.ts +20 -11
  1230. package/dist/utils/type-guards.d.ts.map +1 -1
  1231. package/dist/utils/type-guards.js +78 -26
  1232. package/dist/utils/type-guards.js.map +1 -1
  1233. package/package.json +43 -13
  1234. package/dist/core/composition/composition.d.ts +0 -10
  1235. package/dist/core/composition/composition.d.ts.map +0 -1
  1236. package/dist/core/composition/composition.js.map +0 -1
  1237. package/dist/core/composition/typekro-runtime/index.d.ts +0 -3
  1238. package/dist/core/composition/typekro-runtime/index.d.ts.map +0 -1
  1239. package/dist/core/composition/typekro-runtime/index.js.map +0 -1
  1240. package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +0 -1
  1241. package/dist/core/composition/typekro-runtime/typekro-runtime.js +0 -165
  1242. package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +0 -1
  1243. package/dist/core/composition/typekro-runtime/types.d.ts +0 -19
  1244. package/dist/core/composition/typekro-runtime/types.d.ts.map +0 -1
  1245. package/dist/core/composition/typekro-runtime/types.js.map +0 -1
  1246. package/dist/core/composition/types.d.ts +0 -27
  1247. package/dist/core/composition/types.d.ts.map +0 -1
  1248. package/dist/core/composition/types.js +0 -8
  1249. package/dist/core/composition/types.js.map +0 -1
  1250. package/dist/core/dependencies/type-guards.d.ts +0 -17
  1251. package/dist/core/dependencies/type-guards.d.ts.map +0 -1
  1252. package/dist/core/dependencies/type-guards.js +0 -40
  1253. package/dist/core/dependencies/type-guards.js.map +0 -1
  1254. package/dist/core/deployment/deployment-strategies.d.ts +0 -12
  1255. package/dist/core/deployment/deployment-strategies.d.ts.map +0 -1
  1256. package/dist/core/deployment/deployment-strategies.js +0 -11
  1257. package/dist/core/deployment/deployment-strategies.js.map +0 -1
  1258. package/dist/core/deployment/event-streamer.d.ts +0 -112
  1259. package/dist/core/deployment/event-streamer.d.ts.map +0 -1
  1260. package/dist/core/deployment/event-streamer.js +0 -348
  1261. package/dist/core/deployment/event-streamer.js.map +0 -1
  1262. package/dist/core/direct-deployment.d.ts +0 -8
  1263. package/dist/core/direct-deployment.d.ts.map +0 -1
  1264. package/dist/core/direct-deployment.js +0 -9
  1265. package/dist/core/direct-deployment.js.map +0 -1
  1266. package/dist/core/evaluation/cel-optimizer.d.ts.map +0 -1
  1267. package/dist/core/evaluation/cel-optimizer.js.map +0 -1
  1268. package/dist/core/expressions/analyzer.d.ts +0 -584
  1269. package/dist/core/expressions/analyzer.d.ts.map +0 -1
  1270. package/dist/core/expressions/analyzer.js +0 -2921
  1271. package/dist/core/expressions/analyzer.js.map +0 -1
  1272. package/dist/core/expressions/cache.d.ts.map +0 -1
  1273. package/dist/core/expressions/cache.js.map +0 -1
  1274. package/dist/core/expressions/cel-conversion-engine.d.ts.map +0 -1
  1275. package/dist/core/expressions/cel-conversion-engine.js.map +0 -1
  1276. package/dist/core/expressions/compile-time-validation.d.ts +0 -270
  1277. package/dist/core/expressions/compile-time-validation.d.ts.map +0 -1
  1278. package/dist/core/expressions/compile-time-validation.js.map +0 -1
  1279. package/dist/core/expressions/composition-integration.d.ts +0 -315
  1280. package/dist/core/expressions/composition-integration.d.ts.map +0 -1
  1281. package/dist/core/expressions/composition-integration.js +0 -944
  1282. package/dist/core/expressions/composition-integration.js.map +0 -1
  1283. package/dist/core/expressions/conditional-expression-processor.d.ts.map +0 -1
  1284. package/dist/core/expressions/conditional-expression-processor.js.map +0 -1
  1285. package/dist/core/expressions/conditional-integration.d.ts.map +0 -1
  1286. package/dist/core/expressions/conditional-integration.js.map +0 -1
  1287. package/dist/core/expressions/conditional-validation.d.ts +0 -181
  1288. package/dist/core/expressions/conditional-validation.d.ts.map +0 -1
  1289. package/dist/core/expressions/conditional-validation.js +0 -460
  1290. package/dist/core/expressions/conditional-validation.js.map +0 -1
  1291. package/dist/core/expressions/context-aware-generator.d.ts.map +0 -1
  1292. package/dist/core/expressions/context-aware-generator.js.map +0 -1
  1293. package/dist/core/expressions/context-detector.d.ts.map +0 -1
  1294. package/dist/core/expressions/context-detector.js.map +0 -1
  1295. package/dist/core/expressions/context-switcher.d.ts +0 -185
  1296. package/dist/core/expressions/context-switcher.d.ts.map +0 -1
  1297. package/dist/core/expressions/context-switcher.js +0 -515
  1298. package/dist/core/expressions/context-switcher.js.map +0 -1
  1299. package/dist/core/expressions/context-validator.d.ts.map +0 -1
  1300. package/dist/core/expressions/context-validator.js.map +0 -1
  1301. package/dist/core/expressions/custom-context-manager.d.ts +0 -194
  1302. package/dist/core/expressions/custom-context-manager.d.ts.map +0 -1
  1303. package/dist/core/expressions/custom-context-manager.js +0 -390
  1304. package/dist/core/expressions/custom-context-manager.js.map +0 -1
  1305. package/dist/core/expressions/expression-proxy.d.ts +0 -80
  1306. package/dist/core/expressions/expression-proxy.d.ts.map +0 -1
  1307. package/dist/core/expressions/expression-proxy.js +0 -227
  1308. package/dist/core/expressions/expression-proxy.js.map +0 -1
  1309. package/dist/core/expressions/factory-integration.d.ts.map +0 -1
  1310. package/dist/core/expressions/factory-integration.js.map +0 -1
  1311. package/dist/core/expressions/factory-pattern-handler.d.ts.map +0 -1
  1312. package/dist/core/expressions/factory-pattern-handler.js.map +0 -1
  1313. package/dist/core/expressions/field-hydration-processor.d.ts +0 -191
  1314. package/dist/core/expressions/field-hydration-processor.d.ts.map +0 -1
  1315. package/dist/core/expressions/field-hydration-processor.js +0 -561
  1316. package/dist/core/expressions/field-hydration-processor.js.map +0 -1
  1317. package/dist/core/expressions/imperative-analyzer.d.ts +0 -21
  1318. package/dist/core/expressions/imperative-analyzer.d.ts.map +0 -1
  1319. package/dist/core/expressions/imperative-analyzer.js.map +0 -1
  1320. package/dist/core/expressions/lazy-analysis.d.ts +0 -1128
  1321. package/dist/core/expressions/lazy-analysis.d.ts.map +0 -1
  1322. package/dist/core/expressions/lazy-analysis.js +0 -2443
  1323. package/dist/core/expressions/lazy-analysis.js.map +0 -1
  1324. package/dist/core/expressions/magic-assignable-analyzer.d.ts.map +0 -1
  1325. package/dist/core/expressions/magic-assignable-analyzer.js.map +0 -1
  1326. package/dist/core/expressions/magic-proxy-analyzer.d.ts.map +0 -1
  1327. package/dist/core/expressions/magic-proxy-analyzer.js.map +0 -1
  1328. package/dist/core/expressions/magic-proxy-detector.d.ts.map +0 -1
  1329. package/dist/core/expressions/magic-proxy-detector.js.map +0 -1
  1330. package/dist/core/expressions/migration-helpers.d.ts.map +0 -1
  1331. package/dist/core/expressions/migration-helpers.js.map +0 -1
  1332. package/dist/core/expressions/optionality-handler.d.ts +0 -503
  1333. package/dist/core/expressions/optionality-handler.d.ts.map +0 -1
  1334. package/dist/core/expressions/optionality-handler.js +0 -1306
  1335. package/dist/core/expressions/optionality-handler.js.map +0 -1
  1336. package/dist/core/expressions/parser.d.ts.map +0 -1
  1337. package/dist/core/expressions/parser.js.map +0 -1
  1338. package/dist/core/expressions/readiness-integration.d.ts +0 -119
  1339. package/dist/core/expressions/readiness-integration.d.ts.map +0 -1
  1340. package/dist/core/expressions/readiness-integration.js +0 -386
  1341. package/dist/core/expressions/readiness-integration.js.map +0 -1
  1342. package/dist/core/expressions/resource-analyzer.d.ts +0 -486
  1343. package/dist/core/expressions/resource-analyzer.d.ts.map +0 -1
  1344. package/dist/core/expressions/resource-analyzer.js +0 -1086
  1345. package/dist/core/expressions/resource-analyzer.js.map +0 -1
  1346. package/dist/core/expressions/resource-validation.d.ts.map +0 -1
  1347. package/dist/core/expressions/resource-validation.js +0 -552
  1348. package/dist/core/expressions/resource-validation.js.map +0 -1
  1349. package/dist/core/expressions/runtime-error-mapper.d.ts +0 -138
  1350. package/dist/core/expressions/runtime-error-mapper.d.ts.map +0 -1
  1351. package/dist/core/expressions/runtime-error-mapper.js +0 -412
  1352. package/dist/core/expressions/runtime-error-mapper.js.map +0 -1
  1353. package/dist/core/expressions/source-map.d.ts.map +0 -1
  1354. package/dist/core/expressions/source-map.js.map +0 -1
  1355. package/dist/core/expressions/status-builder-analyzer.d.ts +0 -353
  1356. package/dist/core/expressions/status-builder-analyzer.d.ts.map +0 -1
  1357. package/dist/core/expressions/status-builder-analyzer.js +0 -1311
  1358. package/dist/core/expressions/status-builder-analyzer.js.map +0 -1
  1359. package/dist/core/expressions/type-inference.d.ts.map +0 -1
  1360. package/dist/core/expressions/type-inference.js.map +0 -1
  1361. package/dist/core/expressions/type-safety.d.ts.map +0 -1
  1362. package/dist/core/expressions/type-safety.js.map +0 -1
  1363. package/dist/core/expressions/types.d.ts.map +0 -1
  1364. package/dist/core/expressions/types.js.map +0 -1
  1365. package/dist/core/factory.d.ts +0 -12
  1366. package/dist/core/factory.d.ts.map +0 -1
  1367. package/dist/core/factory.js +0 -13
  1368. package/dist/core/factory.js.map +0 -1
  1369. package/dist/core/readiness/cluster-state.d.ts +0 -229
  1370. package/dist/core/readiness/cluster-state.d.ts.map +0 -1
  1371. package/dist/core/readiness/cluster-state.js +0 -368
  1372. package/dist/core/readiness/cluster-state.js.map +0 -1
  1373. package/dist/core/scope/resolver.d.ts +0 -16
  1374. package/dist/core/scope/resolver.d.ts.map +0 -1
  1375. package/dist/core/scope/resolver.js +0 -45
  1376. package/dist/core/scope/resolver.js.map +0 -1
  1377. package/dist/core/types/factory-scope.d.ts +0 -42
  1378. package/dist/core/types/factory-scope.d.ts.map +0 -1
  1379. package/dist/core/types/factory-scope.js +0 -14
  1380. package/dist/core/types/factory-scope.js.map +0 -1
  1381. package/dist/core/utils/crd-patcher.d.ts.map +0 -1
  1382. package/dist/core/utils/crd-patcher.js +0 -198
  1383. package/dist/core/utils/crd-patcher.js.map +0 -1
  1384. package/dist/core/utils/crd-schema-fix.d.ts.map +0 -1
  1385. package/dist/core/utils/crd-schema-fix.js.map +0 -1
  1386. package/dist/core/utils/index.d.ts +0 -12
  1387. package/dist/core/utils/index.d.ts.map +0 -1
  1388. package/dist/core/utils/index.js +0 -12
  1389. package/dist/core/utils/index.js.map +0 -1
  1390. package/dist/core/utils/minimal-connection-reset-suppression.d.ts +0 -16
  1391. package/dist/core/utils/minimal-connection-reset-suppression.d.ts.map +0 -1
  1392. package/dist/core/utils/minimal-connection-reset-suppression.js +0 -72
  1393. package/dist/core/utils/minimal-connection-reset-suppression.js.map +0 -1
  1394. package/dist/core/utils/output-filter.d.ts +0 -16
  1395. package/dist/core/utils/output-filter.d.ts.map +0 -1
  1396. package/dist/core/utils/output-filter.js +0 -90
  1397. package/dist/core/utils/output-filter.js.map +0 -1
  1398. package/dist/core/utils/scoped-error-suppression.d.ts +0 -25
  1399. package/dist/core/utils/scoped-error-suppression.d.ts.map +0 -1
  1400. package/dist/core/utils/scoped-error-suppression.js +0 -226
  1401. package/dist/core/utils/scoped-error-suppression.js.map +0 -1
  1402. package/dist/core.d.ts +0 -30
  1403. package/dist/core.d.ts.map +0 -1
  1404. package/dist/core.js +0 -59
  1405. package/dist/core.js.map +0 -1
  1406. package/dist/factories/cilium/resources/bgp.d.ts +0 -10
  1407. package/dist/factories/cilium/resources/bgp.d.ts.map +0 -1
  1408. package/dist/factories/cilium/resources/bgp.js +0 -14
  1409. package/dist/factories/cilium/resources/bgp.js.map +0 -1
  1410. package/dist/factories/cilium/resources/load-balancer.d.ts +0 -9
  1411. package/dist/factories/cilium/resources/load-balancer.d.ts.map +0 -1
  1412. package/dist/factories/cilium/resources/load-balancer.js +0 -12
  1413. package/dist/factories/cilium/resources/load-balancer.js.map +0 -1
  1414. package/dist/factories/cilium/resources/observability.d.ts +0 -9
  1415. package/dist/factories/cilium/resources/observability.d.ts.map +0 -1
  1416. package/dist/factories/cilium/resources/observability.js +0 -11
  1417. package/dist/factories/cilium/resources/observability.js.map +0 -1
  1418. package/dist/factories/cilium/resources/security.d.ts +0 -10
  1419. package/dist/factories/cilium/resources/security.d.ts.map +0 -1
  1420. package/dist/factories/cilium/resources/security.js +0 -14
  1421. package/dist/factories/cilium/resources/security.js.map +0 -1
  1422. /package/dist/{core/composition → compositions}/typekro-runtime/index.js +0 -0
  1423. /package/dist/{core/composition → compositions}/typekro-runtime/types.js +0 -0
  1424. /package/dist/core/expressions/{source-map.d.ts → analysis/source-map.d.ts} +0 -0
  1425. /package/dist/core/expressions/{types.js → analysis/types.js} +0 -0
@@ -2,9 +2,21 @@
2
2
  * Path resolution system for YAML resources
3
3
  * Handles local files, directories, and Git repositories
4
4
  */
5
+ import * as dns from 'node:dns/promises';
5
6
  import * as fs from 'node:fs';
7
+ import * as net from 'node:net';
6
8
  import * as path from 'node:path';
7
- import { TypeKroError } from '../errors.js';
9
+ import { DEFAULT_HTTP_READ_TIMEOUT, DEFAULT_MAX_DIRECTORY_DEPTH, DEFAULT_MAX_YAML_CONTENT_SIZE, } from '../config/defaults.js';
10
+ import { ensureError, TypeKroError } from '../errors.js';
11
+ import { getComponentLogger } from '../logging/index.js';
12
+ const logger = getComponentLogger('yaml-path-resolver');
13
+ /** Validates that a value matches the expected GitHub content item shape */
14
+ function isGitHubContentItem(value) {
15
+ if (typeof value !== 'object' || value === null)
16
+ return false;
17
+ const obj = value;
18
+ return (typeof obj.type === 'string' && typeof obj.name === 'string' && typeof obj.path === 'string');
19
+ }
8
20
  /**
9
21
  * YAML-specific error types
10
22
  */
@@ -115,6 +127,191 @@ export class YamlProcessingError extends TypeKroError {
115
127
  ]);
116
128
  }
117
129
  }
130
+ /**
131
+ * Error thrown when a URL is blocked by SSRF protection.
132
+ */
133
+ export class SsrfProtectionError extends TypeKroError {
134
+ resourceName;
135
+ blockedUrl;
136
+ reason;
137
+ constructor(message, resourceName, blockedUrl, reason) {
138
+ super(message, 'SSRF_PROTECTION_ERROR', {
139
+ resourceName,
140
+ blockedUrl,
141
+ reason,
142
+ });
143
+ this.resourceName = resourceName;
144
+ this.blockedUrl = blockedUrl;
145
+ this.reason = reason;
146
+ this.name = 'SsrfProtectionError';
147
+ }
148
+ }
149
+ /** Allowed URL schemes for user-provided URLs */
150
+ const ALLOWED_SCHEMES = new Set(['http:', 'https:']);
151
+ /**
152
+ * Cloud metadata endpoint IP addresses that must always be blocked.
153
+ */
154
+ const BLOCKED_HOSTS = new Set(['169.254.169.254', 'metadata.google.internal']);
155
+ /**
156
+ * Parse an IPv4 address string into a 32-bit integer.
157
+ * Returns `null` for non-IPv4 strings.
158
+ */
159
+ function ipv4ToInt(ip) {
160
+ const parts = ip.split('.');
161
+ if (parts.length !== 4)
162
+ return null;
163
+ let result = 0;
164
+ for (const part of parts) {
165
+ const octet = Number(part);
166
+ if (!Number.isInteger(octet) || octet < 0 || octet > 255)
167
+ return null;
168
+ result = (result << 8) | octet;
169
+ }
170
+ // Convert to unsigned 32-bit
171
+ return result >>> 0;
172
+ }
173
+ /**
174
+ * Check whether an IPv4 address (as a 32-bit integer) falls inside a CIDR.
175
+ */
176
+ function isInCidr(ip, network, prefixLen) {
177
+ const mask = prefixLen === 0 ? 0 : (~0 << (32 - prefixLen)) >>> 0;
178
+ return (ip & mask) === (network & mask);
179
+ }
180
+ /** Parse a known-valid IPv4 address to an integer, throwing on failure. */
181
+ function ipv4ToIntChecked(ip) {
182
+ const result = ipv4ToInt(ip);
183
+ if (result === null) {
184
+ throw new TypeKroError(`Invalid hardcoded IPv4 address: ${ip}`, 'INVALID_IPV4_ADDRESS');
185
+ }
186
+ return result;
187
+ }
188
+ /** Private/reserved IPv4 CIDR ranges that are blocked. */
189
+ const BLOCKED_IPV4_CIDRS = [
190
+ { network: ipv4ToIntChecked('10.0.0.0'), prefix: 8 }, // RFC 1918
191
+ { network: ipv4ToIntChecked('172.16.0.0'), prefix: 12 }, // RFC 1918
192
+ { network: ipv4ToIntChecked('192.168.0.0'), prefix: 16 }, // RFC 1918
193
+ { network: ipv4ToIntChecked('127.0.0.0'), prefix: 8 }, // Loopback
194
+ { network: ipv4ToIntChecked('169.254.0.0'), prefix: 16 }, // Link-local
195
+ { network: ipv4ToIntChecked('0.0.0.0'), prefix: 8 }, // "This" network
196
+ ];
197
+ /** Blocked IPv6 addresses / prefixes. */
198
+ const BLOCKED_IPV6_EXACT = new Set(['::1', '::']);
199
+ const BLOCKED_IPV6_PREFIXES = ['fe80:', 'fc00:', 'fd00:'];
200
+ /**
201
+ * Determine whether an IP address string targets a private / reserved range.
202
+ */
203
+ function isPrivateIp(ip) {
204
+ // IPv4
205
+ if (net.isIPv4(ip)) {
206
+ const int = ipv4ToInt(ip);
207
+ if (int === null)
208
+ return false;
209
+ return BLOCKED_IPV4_CIDRS.some((cidr) => isInCidr(int, cidr.network, cidr.prefix));
210
+ }
211
+ // IPv6
212
+ if (net.isIPv6(ip)) {
213
+ const lower = ip.toLowerCase();
214
+ if (BLOCKED_IPV6_EXACT.has(lower))
215
+ return true;
216
+ if (BLOCKED_IPV6_PREFIXES.some((prefix) => lower.startsWith(prefix)))
217
+ return true;
218
+ // IPv4-mapped IPv6 (::ffff:a.b.c.d)
219
+ const v4Mapped = /^::ffff:(\d+\.\d+\.\d+\.\d+)$/i.exec(lower);
220
+ if (v4Mapped?.[1]) {
221
+ return isPrivateIp(v4Mapped[1]);
222
+ }
223
+ return false;
224
+ }
225
+ return false;
226
+ }
227
+ /**
228
+ * Validate that a user-provided URL is safe to fetch (SSRF protection).
229
+ *
230
+ * Checks:
231
+ * - Only `http:` and `https:` schemes are allowed.
232
+ * - Hostname must not resolve to a private/reserved IP range.
233
+ * - Hostname must not be a known cloud metadata endpoint.
234
+ * - Bare IPv4/IPv6 addresses are checked directly.
235
+ *
236
+ * @throws {SsrfProtectionError} if the URL is blocked.
237
+ */
238
+ function validateUrlSafety(url, resourceName) {
239
+ let parsed;
240
+ try {
241
+ parsed = new URL(url);
242
+ }
243
+ catch {
244
+ throw new SsrfProtectionError(`Invalid URL for resource '${resourceName}': ${url}`, resourceName, url, 'URL could not be parsed');
245
+ }
246
+ // 1. Scheme check
247
+ if (!ALLOWED_SCHEMES.has(parsed.protocol)) {
248
+ throw new SsrfProtectionError(`Blocked URL scheme '${parsed.protocol}' for resource '${resourceName}'. Only http: and https: are allowed.`, resourceName, url, `Disallowed scheme: ${parsed.protocol}`);
249
+ }
250
+ // 2. Hostname extraction (strip brackets from IPv6 literals)
251
+ const hostname = parsed.hostname.replace(/^\[|\]$/g, '');
252
+ if (!hostname) {
253
+ throw new SsrfProtectionError(`URL has no hostname for resource '${resourceName}': ${url}`, resourceName, url, 'Missing hostname');
254
+ }
255
+ // 3. Block known metadata endpoints
256
+ if (BLOCKED_HOSTS.has(hostname.toLowerCase())) {
257
+ throw new SsrfProtectionError(`Blocked cloud metadata endpoint for resource '${resourceName}': ${hostname}`, resourceName, url, `Cloud metadata endpoint: ${hostname}`);
258
+ }
259
+ // 4. If hostname is an IP literal, validate directly
260
+ if (net.isIP(hostname)) {
261
+ if (isPrivateIp(hostname)) {
262
+ throw new SsrfProtectionError(`Blocked private/reserved IP address for resource '${resourceName}': ${hostname}`, resourceName, url, `Private/reserved IP: ${hostname}`);
263
+ }
264
+ }
265
+ // 5. Block suspicious hostnames that could bypass DNS (e.g. "0x7f000001", octal IPs)
266
+ // Also block numeric-only hostnames that may be interpreted as IPs
267
+ if (/^(0x[\da-f]+|0\d+|\d+)$/i.test(hostname)) {
268
+ throw new SsrfProtectionError(`Blocked suspicious numeric hostname for resource '${resourceName}': ${hostname}. Use a standard domain name or dotted-decimal IP.`, resourceName, url, `Suspicious numeric hostname: ${hostname}`);
269
+ }
270
+ }
271
+ /**
272
+ * Resolve a hostname via DNS and validate that all resolved IPs are public.
273
+ *
274
+ * This mitigates DNS rebinding attacks where a domain initially resolves to a
275
+ * public IP during validation but is later changed to resolve to a private IP.
276
+ * By resolving the DNS ourselves and validating the result, the resolved IP
277
+ * can be used for the actual fetch.
278
+ *
279
+ * @returns The first valid public IP address the hostname resolves to.
280
+ * @throws {SsrfProtectionError} if the hostname resolves to a private/reserved IP.
281
+ */
282
+ async function resolveAndValidateHostname(hostname, resourceName, url) {
283
+ // Skip DNS resolution for IP literals — they were already validated by validateUrlSafety
284
+ if (net.isIP(hostname)) {
285
+ return hostname;
286
+ }
287
+ try {
288
+ // Resolve hostname to IP addresses
289
+ const addresses = await dns.resolve4(hostname).catch(() => []);
290
+ const addresses6 = await dns.resolve6(hostname).catch(() => []);
291
+ const allAddresses = [...addresses, ...addresses6];
292
+ if (allAddresses.length === 0) {
293
+ throw new SsrfProtectionError(`DNS resolution failed for hostname '${hostname}' in resource '${resourceName}': no addresses returned`, resourceName, url, `DNS resolution failed: ${hostname}`);
294
+ }
295
+ // Validate ALL resolved IPs are public
296
+ for (const ip of allAddresses) {
297
+ if (isPrivateIp(ip)) {
298
+ throw new SsrfProtectionError(`DNS rebinding protection: hostname '${hostname}' resolves to private IP '${ip}' for resource '${resourceName}'`, resourceName, url, `DNS resolves to private IP: ${hostname} -> ${ip}`);
299
+ }
300
+ }
301
+ // Return the first valid address for the fetch
302
+ const firstAddress = allAddresses[0];
303
+ if (!firstAddress) {
304
+ throw new SsrfProtectionError(`DNS resolution returned empty result for hostname '${hostname}'`, resourceName, url, `DNS resolution empty: ${hostname}`);
305
+ }
306
+ return firstAddress;
307
+ }
308
+ catch (error) {
309
+ if (error instanceof SsrfProtectionError) {
310
+ throw error;
311
+ }
312
+ throw new SsrfProtectionError(`DNS resolution failed for hostname '${hostname}' in resource '${resourceName}': ${ensureError(error).message}`, resourceName, url, `DNS resolution error: ${hostname}`);
313
+ }
314
+ }
118
315
  /**
119
316
  * Unified path resolver for local files and Git repositories
120
317
  */
@@ -150,19 +347,33 @@ export class PathResolver {
150
347
  }
151
348
  }
152
349
  /**
153
- * Resolve content from a local file
350
+ * Resolve content from a local file.
351
+ * For relative paths, prevents path traversal outside the working directory.
154
352
  */
155
353
  async resolveLocalContent(localPath, resourceName = 'unknown') {
156
354
  try {
157
355
  // Resolve relative paths
356
+ const baseDir = process.cwd();
158
357
  const resolvedPath = path.isAbsolute(localPath)
159
358
  ? localPath
160
- : path.resolve(process.cwd(), localPath);
359
+ : path.resolve(baseDir, localPath);
360
+ // Prevent path traversal for relative paths: resolved path must stay under baseDir
361
+ if (!path.isAbsolute(localPath)) {
362
+ const normalizedResolved = path.normalize(resolvedPath);
363
+ const normalizedBase = path.normalize(baseDir);
364
+ if (!normalizedResolved.startsWith(normalizedBase + path.sep) &&
365
+ normalizedResolved !== normalizedBase) {
366
+ throw new YamlPathResolutionError(`Path traversal detected for resource '${resourceName}': '${localPath}' resolves outside the working directory`, resourceName, localPath, [
367
+ 'Use an absolute path if you need to access files outside the working directory',
368
+ 'Remove "../" segments that escape the project root',
369
+ ]);
370
+ }
371
+ }
161
372
  // Check if file exists
162
373
  if (!fs.existsSync(resolvedPath)) {
163
374
  throw YamlPathResolutionError.fileNotFound(resourceName, localPath);
164
375
  }
165
- // Check if it's a file (not a directory)
376
+ // Check if it's a file (not a directory) and enforce size limit
166
377
  const stats = fs.statSync(resolvedPath);
167
378
  if (!stats.isFile()) {
168
379
  throw new YamlPathResolutionError(`Path is not a file for resource '${resourceName}': ${localPath}`, resourceName, localPath, [
@@ -171,6 +382,13 @@ export class PathResolver {
171
382
  'Check that the path is correct',
172
383
  ]);
173
384
  }
385
+ if (stats.size > DEFAULT_MAX_YAML_CONTENT_SIZE) {
386
+ throw new YamlPathResolutionError(`File size ${stats.size} bytes exceeds maximum allowed size of ${DEFAULT_MAX_YAML_CONTENT_SIZE} bytes (${(DEFAULT_MAX_YAML_CONTENT_SIZE / 1_048_576).toFixed(0)} MB) for resource '${resourceName}': ${localPath}`, resourceName, localPath, [
387
+ 'Split large YAML files into smaller files',
388
+ 'Use yamlDirectory() to load multiple smaller files',
389
+ 'Check if the file contains unnecessary data that can be removed',
390
+ ]);
391
+ }
174
392
  // Read file content
175
393
  return fs.readFileSync(resolvedPath, 'utf-8');
176
394
  }
@@ -191,7 +409,7 @@ export class PathResolver {
191
409
  ]);
192
410
  }
193
411
  }
194
- throw new YamlPathResolutionError(`Failed to read file for resource '${resourceName}': ${localPath}. ${error}`, resourceName, localPath, [
412
+ throw new YamlPathResolutionError(`Failed to read file for resource '${resourceName}': ${localPath}. ${ensureError(error).message}`, resourceName, localPath, [
195
413
  'Check that the file exists and is readable',
196
414
  'Verify file permissions',
197
415
  'Ensure the path is correct',
@@ -212,14 +430,18 @@ export class PathResolver {
212
430
  parseGitPath(gitPath, resourceName = 'unknown') {
213
431
  // Match git: URLs with optional @ref suffix
214
432
  const match = gitPath.match(/^git:([^/]+)\/([^/]+)\/([^/]+)\/(.+?)(?:@(.+))?$/);
215
- if (!match) {
433
+ const host = match?.[1];
434
+ const owner = match?.[2];
435
+ const repo = match?.[3];
436
+ const gitFilePath = match?.[4];
437
+ if (!host || !owner || !repo || !gitFilePath) {
216
438
  throw YamlPathResolutionError.invalidGitUrl(resourceName, gitPath);
217
439
  }
218
440
  return {
219
- host: match[1],
220
- owner: match[2],
221
- repo: match[3],
222
- path: match[4],
441
+ host,
442
+ owner,
443
+ repo,
444
+ path: gitFilePath,
223
445
  ref: match[5] || 'main',
224
446
  };
225
447
  }
@@ -239,7 +461,12 @@ export class PathResolver {
239
461
  }
240
462
  try {
241
463
  // Use GitHub API to fetch file content
242
- const apiUrl = `https://api.github.com/repos/${gitInfo.owner}/${gitInfo.repo}/contents/${gitInfo.path}?ref=${gitInfo.ref}`;
464
+ // Encode path components to prevent URL injection from user-supplied values
465
+ const encodedPath = gitInfo.path
466
+ .split('/')
467
+ .map((segment) => encodeURIComponent(segment))
468
+ .join('/');
469
+ const apiUrl = `https://api.github.com/repos/${encodeURIComponent(gitInfo.owner)}/${encodeURIComponent(gitInfo.repo)}/contents/${encodedPath}?ref=${encodeURIComponent(gitInfo.ref)}`;
243
470
  const response = await fetch(apiUrl, {
244
471
  headers: {
245
472
  Accept: 'application/vnd.github.v3+json',
@@ -247,16 +474,18 @@ export class PathResolver {
247
474
  // TODO: Add authentication support for private repositories
248
475
  // 'Authorization': `token ${process.env.GITHUB_TOKEN}`,
249
476
  },
477
+ signal: AbortSignal.timeout(DEFAULT_HTTP_READ_TIMEOUT),
250
478
  });
251
479
  if (!response.ok) {
252
480
  if (response.status === 404) {
253
481
  // Check if it's the repository or the path that's not found
254
- const repoCheckUrl = `https://api.github.com/repos/${gitInfo.owner}/${gitInfo.repo}`;
482
+ const repoCheckUrl = `https://api.github.com/repos/${encodeURIComponent(gitInfo.owner)}/${encodeURIComponent(gitInfo.repo)}`;
255
483
  const repoResponse = await fetch(repoCheckUrl, {
256
484
  headers: {
257
485
  Accept: 'application/vnd.github.v3+json',
258
486
  'User-Agent': 'TypeKro/1.0',
259
487
  },
488
+ signal: AbortSignal.timeout(DEFAULT_HTTP_READ_TIMEOUT),
260
489
  });
261
490
  if (!repoResponse.ok) {
262
491
  throw GitContentError.repositoryNotFound(resourceName, `git:${gitInfo.host}/${gitInfo.owner}/${gitInfo.repo}`);
@@ -276,8 +505,13 @@ export class PathResolver {
276
505
  ]);
277
506
  }
278
507
  const data = await response.json();
279
- // GitHub API returns base64-encoded content for files
280
- if (data.type === 'file' && data.content) {
508
+ if (!isGitHubContentItem(data)) {
509
+ throw new GitContentError(`Invalid GitHub API response for resource '${resourceName}': expected an object with type, name, and path fields`, resourceName, `git:${gitInfo.host}/${gitInfo.owner}/${gitInfo.repo}/${gitInfo.path}@${gitInfo.ref}`, [
510
+ 'The GitHub API returned an unexpected response format',
511
+ 'Check GitHub API status and try again',
512
+ ]);
513
+ }
514
+ if (data.type === 'file' && typeof data.content === 'string') {
281
515
  return Buffer.from(data.content, 'base64').toString('utf-8');
282
516
  }
283
517
  throw new GitContentError(`Unexpected content type from Git repository for resource '${resourceName}': expected file, got ${data.type}`, resourceName, `git:${gitInfo.host}/${gitInfo.owner}/${gitInfo.repo}/${gitInfo.path}@${gitInfo.ref}`, [
@@ -291,7 +525,7 @@ export class PathResolver {
291
525
  throw error;
292
526
  }
293
527
  // Handle network and other errors
294
- throw new GitContentError(`Network error fetching Git content for resource '${resourceName}': ${error}`, resourceName, `git:${gitInfo.host}/${gitInfo.owner}/${gitInfo.repo}/${gitInfo.path}@${gitInfo.ref}`, [
528
+ throw new GitContentError(`Network error fetching Git content for resource '${resourceName}': ${ensureError(error).message}`, resourceName, `git:${gitInfo.host}/${gitInfo.owner}/${gitInfo.repo}/${gitInfo.path}@${gitInfo.ref}`, [
295
529
  'Check your internet connection',
296
530
  'Verify the repository URL is correct',
297
531
  'Check if GitHub is accessible',
@@ -341,7 +575,7 @@ export class PathResolver {
341
575
  if (error instanceof YamlPathResolutionError) {
342
576
  throw error;
343
577
  }
344
- throw new YamlPathResolutionError(`Failed to discover files in directory for resource '${resourceName}': ${dirPath}. ${error}`, resourceName, dirPath, [
578
+ throw new YamlPathResolutionError(`Failed to discover files in directory for resource '${resourceName}': ${dirPath}. ${ensureError(error).message}`, resourceName, dirPath, [
345
579
  'Check that the directory exists and is readable',
346
580
  'Verify directory permissions',
347
581
  'Ensure the path is correct',
@@ -349,16 +583,36 @@ export class PathResolver {
349
583
  }
350
584
  }
351
585
  /**
352
- * Recursively walk a directory and collect YAML files
586
+ * Recursively walk a directory and collect YAML files.
587
+ * Enforces a maximum recursion depth to prevent issues with deeply nested
588
+ * directories or symlink loops.
353
589
  */
354
- async walkDirectory(currentPath, basePath, files, options, resourceName) {
590
+ async walkDirectory(currentPath, basePath, files, options, resourceName, currentDepth = 0, maxDepth = DEFAULT_MAX_DIRECTORY_DEPTH) {
591
+ if (currentDepth > maxDepth) {
592
+ logger.warn('Maximum directory recursion depth exceeded, skipping deeper traversal', {
593
+ currentPath,
594
+ maxDepth,
595
+ resourceName,
596
+ });
597
+ return;
598
+ }
355
599
  const entries = fs.readdirSync(currentPath, { withFileTypes: true });
356
600
  for (const entry of entries) {
357
601
  const fullPath = path.join(currentPath, entry.name);
358
602
  const relativePath = path.relative(basePath, fullPath);
603
+ // Skip symbolic links to prevent path traversal and symlink loop attacks.
604
+ // Symlinks could point outside the base directory or create circular references.
605
+ if (entry.isSymbolicLink()) {
606
+ logger.warn('Skipping symbolic link during directory walk', {
607
+ path: fullPath,
608
+ resourceName,
609
+ reason: 'Symbolic links are not followed to prevent path traversal',
610
+ });
611
+ continue;
612
+ }
359
613
  if (entry.isDirectory()) {
360
614
  if (options.recursive) {
361
- await this.walkDirectory(fullPath, basePath, files, options, resourceName);
615
+ await this.walkDirectory(fullPath, basePath, files, options, resourceName, currentDepth + 1, maxDepth);
362
616
  }
363
617
  }
364
618
  else if (entry.isFile()) {
@@ -366,6 +620,15 @@ export class PathResolver {
366
620
  if (this.matchesPatterns(relativePath, options.include) &&
367
621
  !this.matchesPatterns(relativePath, options.exclude)) {
368
622
  try {
623
+ const fileStats = fs.statSync(fullPath);
624
+ if (fileStats.size > DEFAULT_MAX_YAML_CONTENT_SIZE) {
625
+ logger.warn('Skipping file that exceeds maximum content size during YAML discovery', {
626
+ fullPath,
627
+ fileSize: fileStats.size,
628
+ maxSize: DEFAULT_MAX_YAML_CONTENT_SIZE,
629
+ });
630
+ continue;
631
+ }
369
632
  const content = fs.readFileSync(fullPath, 'utf-8');
370
633
  files.push({
371
634
  path: fullPath,
@@ -375,16 +638,29 @@ export class PathResolver {
375
638
  }
376
639
  catch (error) {
377
640
  // Log warning but continue processing other files
378
- console.warn(`Warning: Could not read file ${fullPath}: ${error}`);
641
+ logger.warn('Could not read file during YAML discovery', {
642
+ fullPath,
643
+ error: String(error),
644
+ });
379
645
  }
380
646
  }
381
647
  }
382
648
  }
383
649
  }
384
650
  /**
385
- * Discover YAML files in a Git repository directory
651
+ * Discover YAML files in a Git repository directory.
652
+ * Enforces a maximum recursion depth to prevent excessive API calls
653
+ * on deeply nested repositories.
386
654
  */
387
- async discoverGitYamlFiles(gitPath, options, resourceName) {
655
+ async discoverGitYamlFiles(gitPath, options, resourceName, currentDepth = 0, maxDepth = DEFAULT_MAX_DIRECTORY_DEPTH) {
656
+ if (currentDepth > maxDepth) {
657
+ logger.warn('Maximum Git directory recursion depth exceeded, skipping deeper traversal', {
658
+ gitPath,
659
+ maxDepth,
660
+ resourceName,
661
+ });
662
+ return [];
663
+ }
388
664
  const parsed = this.parseGitPath(gitPath, resourceName);
389
665
  // For now, we'll implement a simple approach using GitHub API
390
666
  // This could be enhanced to support more complex directory traversal
@@ -397,12 +673,18 @@ export class PathResolver {
397
673
  }
398
674
  try {
399
675
  // Use GitHub API to list directory contents
400
- const apiUrl = `https://api.github.com/repos/${parsed.owner}/${parsed.repo}/contents/${parsed.path}?ref=${parsed.ref}`;
676
+ // Encode path components to prevent URL injection from user-supplied values
677
+ const encodedDirPath = parsed.path
678
+ .split('/')
679
+ .map((segment) => encodeURIComponent(segment))
680
+ .join('/');
681
+ const apiUrl = `https://api.github.com/repos/${encodeURIComponent(parsed.owner)}/${encodeURIComponent(parsed.repo)}/contents/${encodedDirPath}?ref=${encodeURIComponent(parsed.ref)}`;
401
682
  const response = await fetch(apiUrl, {
402
683
  headers: {
403
684
  Accept: 'application/vnd.github.v3+json',
404
685
  'User-Agent': 'TypeKro/1.0',
405
686
  },
687
+ signal: AbortSignal.timeout(DEFAULT_HTTP_READ_TIMEOUT),
406
688
  });
407
689
  if (!response.ok) {
408
690
  if (response.status === 404) {
@@ -415,7 +697,7 @@ export class PathResolver {
415
697
  ]);
416
698
  }
417
699
  const data = await response.json();
418
- if (!Array.isArray(data)) {
700
+ if (!Array.isArray(data) || !data.every(isGitHubContentItem)) {
419
701
  throw new GitContentError(`Expected directory listing from Git repository for resource '${resourceName}', but got a file`, resourceName, gitPath, [
420
702
  'Ensure the path points to a directory, not a file',
421
703
  'Use yamlFile() factory for single file processing',
@@ -441,13 +723,16 @@ export class PathResolver {
441
723
  }
442
724
  catch (error) {
443
725
  // Log warning but continue processing other files
444
- console.warn(`Warning: Could not fetch file ${item.path}: ${error}`);
726
+ logger.warn('Could not fetch Git file during YAML discovery', {
727
+ path: item.path,
728
+ error: String(error),
729
+ });
445
730
  }
446
731
  }
447
732
  }
448
733
  else if (item.type === 'dir' && options.recursive) {
449
734
  // Recursively process subdirectories
450
- const subDirFiles = await this.discoverGitYamlFiles(`git:${parsed.host}/${parsed.owner}/${parsed.repo}/${item.path}@${parsed.ref}`, options, resourceName);
735
+ const subDirFiles = await this.discoverGitYamlFiles(`git:${parsed.host}/${parsed.owner}/${parsed.repo}/${item.path}@${parsed.ref}`, options, resourceName, currentDepth + 1, maxDepth);
451
736
  // Adjust relative paths for subdirectory files
452
737
  const adjustedFiles = subDirFiles.map((file) => ({
453
738
  ...file,
@@ -462,7 +747,7 @@ export class PathResolver {
462
747
  if (error instanceof GitContentError) {
463
748
  throw error;
464
749
  }
465
- throw new GitContentError(`Network error discovering Git directory for resource '${resourceName}': ${error}`, resourceName, gitPath, [
750
+ throw new GitContentError(`Network error discovering Git directory for resource '${resourceName}': ${ensureError(error).message}`, resourceName, gitPath, [
466
751
  'Check your internet connection',
467
752
  'Verify the repository URL is correct',
468
753
  'Check if GitHub is accessible',
@@ -471,18 +756,22 @@ export class PathResolver {
471
756
  }
472
757
  }
473
758
  /**
474
- * Check if a file path matches any of the given glob patterns
475
- * Simple implementation - could be enhanced with a proper glob library
759
+ * Check if a file path matches any of the given glob patterns.
760
+ * Uses a safe glob-to-regex conversion with pattern length limits to prevent ReDoS.
476
761
  */
477
762
  matchesPatterns(filePath, patterns) {
478
763
  if (patterns.length === 0) {
479
764
  return false;
480
765
  }
766
+ // Maximum pattern length to prevent ReDoS via extremely long patterns
767
+ const MAX_PATTERN_LENGTH = 1024;
481
768
  return patterns.some((pattern) => {
482
- // Convert simple glob patterns to regex
483
- // This is a basic implementation - could use a proper glob library like minimatch
484
769
  try {
485
- // Simple cases first
770
+ // Reject overly long patterns that could cause ReDoS
771
+ if (pattern.length > MAX_PATTERN_LENGTH) {
772
+ return false;
773
+ }
774
+ // Simple cases first (no regex needed)
486
775
  if (pattern === '*') {
487
776
  return true;
488
777
  }
@@ -490,15 +779,20 @@ export class PathResolver {
490
779
  // Exact match
491
780
  return filePath === pattern;
492
781
  }
782
+ // Common extension pattern: *.ext or *.{ext1,ext2}
783
+ if (pattern.startsWith('*.') && !pattern.includes('/')) {
784
+ const extension = pattern.substring(1); // includes the dot
785
+ return filePath.endsWith(extension);
786
+ }
493
787
  // Handle ** first (before escaping)
494
788
  let regexPattern = pattern.replace(/\*\*/g, '__DOUBLESTAR__');
495
789
  // Escape special regex characters except * and ?
496
790
  regexPattern = regexPattern.replace(/[.+^${}()|[\]\\]/g, '\\$&');
497
- // Convert glob patterns to regex
791
+ // Convert glob patterns to regex using non-greedy quantifiers where possible
498
792
  regexPattern = regexPattern
499
- .replace(/__DOUBLESTAR__/g, '.*') // ** matches any number of directories (including /)
793
+ .replace(/__DOUBLESTAR__/g, '.*?') // ** matches any path (non-greedy to limit backtracking)
500
794
  .replace(/\\\*/g, '[^/]*') // * matches any characters except /
501
- .replace(/\\\?/g, '.'); // ? matches any single character
795
+ .replace(/\\\?/g, '[^/]'); // ? matches any single non-separator character
502
796
  const regex = new RegExp(`^${regexPattern}$`);
503
797
  return regex.test(filePath);
504
798
  }
@@ -513,11 +807,76 @@ export class PathResolver {
513
807
  });
514
808
  }
515
809
  /**
516
- * Resolve content from an HTTP/HTTPS URL
810
+ * Resolve content from an HTTP/HTTPS URL.
811
+ * Validates the URL against SSRF attacks before fetching.
517
812
  */
518
813
  async resolveHttpContent(url, resourceName = 'unknown') {
814
+ // SSRF protection: validate URL before fetching
815
+ validateUrlSafety(url, resourceName);
816
+ // DNS rebinding mitigation: resolve hostname and validate resolved IPs
817
+ // are not private/reserved, then use the resolved IP for the actual fetch
818
+ // to close the TOCTOU gap (hostname could resolve to a different IP between
819
+ // validation and fetch).
820
+ const parsed = new URL(url);
821
+ const hostname = parsed.hostname.replace(/^\[|\]$/g, '');
822
+ const resolvedIp = await resolveAndValidateHostname(hostname, resourceName, url);
823
+ // Build a fetch URL that uses the resolved IP instead of the hostname,
824
+ // so the fetch cannot be redirected to a different IP via DNS rebinding.
825
+ // Set the Host header so the remote server can still route the request.
826
+ const fetchUrl = new URL(url);
827
+ const isIpLiteral = net.isIP(hostname) !== 0;
828
+ if (!isIpLiteral) {
829
+ // Replace hostname with validated IP; use bracket notation for IPv6
830
+ fetchUrl.hostname = net.isIPv6(resolvedIp) ? `[${resolvedIp}]` : resolvedIp;
831
+ }
519
832
  try {
520
- const response = await fetch(url);
833
+ const response = await fetch(fetchUrl.toString(), {
834
+ headers: isIpLiteral ? {} : { Host: hostname },
835
+ signal: AbortSignal.timeout(DEFAULT_HTTP_READ_TIMEOUT),
836
+ // SECURITY: Disable automatic redirect following to prevent SSRF bypass.
837
+ // A malicious server at a validated public IP could respond with a 302 redirect
838
+ // to cloud metadata endpoints (e.g., http://169.254.169.254/latest/meta-data/).
839
+ // With 'manual', redirects are returned as-is and we reject them below.
840
+ redirect: 'manual',
841
+ });
842
+ // Handle redirects securely: re-validate each redirect target through the same
843
+ // SSRF protection pipeline (URL safety + DNS resolution + IP validation).
844
+ // GitHub releases legitimately redirect (302 from github.com → objects.githubusercontent.com),
845
+ // so we must follow redirects — but only to validated targets.
846
+ if (response.status >= 300 && response.status < 400) {
847
+ const location = response.headers.get('location');
848
+ if (!location) {
849
+ throw new YamlPathResolutionError(`HTTP redirect (${response.status}) with no Location header for resource '${resourceName}'`, resourceName, url, ['The remote server sent a redirect without a destination']);
850
+ }
851
+ // Resolve relative redirects against the original URL
852
+ const redirectUrl = new URL(location, fetchUrl);
853
+ const redirectUrlStr = redirectUrl.toString();
854
+ // Re-validate the redirect target through the full SSRF protection pipeline
855
+ validateUrlSafety(redirectUrlStr, resourceName);
856
+ const redirectHostname = redirectUrl.hostname;
857
+ const redirectResolvedIp = await resolveAndValidateHostname(redirectHostname, redirectUrlStr, resourceName);
858
+ // Follow the redirect with the validated IP
859
+ const redirectFetchUrl = new URL(redirectUrlStr);
860
+ const redirectIsIpLiteral = net.isIP(redirectHostname) !== 0;
861
+ if (!redirectIsIpLiteral) {
862
+ redirectFetchUrl.hostname = net.isIPv6(redirectResolvedIp)
863
+ ? `[${redirectResolvedIp}]`
864
+ : redirectResolvedIp;
865
+ }
866
+ const redirectResponse = await fetch(redirectFetchUrl.toString(), {
867
+ headers: redirectIsIpLiteral ? {} : { Host: redirectHostname },
868
+ signal: AbortSignal.timeout(DEFAULT_HTTP_READ_TIMEOUT),
869
+ redirect: 'error', // No further redirects — single hop only
870
+ });
871
+ if (!redirectResponse.ok) {
872
+ throw new YamlPathResolutionError(`Failed to fetch HTTP resource after redirect for resource '${resourceName}': HTTP ${redirectResponse.status} ${redirectResponse.statusText}`, resourceName, redirectUrlStr, ['The redirect target returned an error']);
873
+ }
874
+ const redirectContent = await redirectResponse.text();
875
+ if (redirectContent.length > DEFAULT_MAX_YAML_CONTENT_SIZE) {
876
+ throw new YamlPathResolutionError(`HTTP response size ${redirectContent.length} bytes exceeds maximum allowed size for resource '${resourceName}'`, resourceName, redirectUrlStr, ['The remote resource is too large to process safely']);
877
+ }
878
+ return redirectContent;
879
+ }
521
880
  if (!response.ok) {
522
881
  throw new YamlPathResolutionError(`Failed to fetch HTTP resource for resource '${resourceName}': HTTP ${response.status} ${response.statusText}`, resourceName, url, [
523
882
  'Check that the URL is correct and accessible',
@@ -527,6 +886,13 @@ export class PathResolver {
527
886
  ]);
528
887
  }
529
888
  const content = await response.text();
889
+ if (content.length > DEFAULT_MAX_YAML_CONTENT_SIZE) {
890
+ throw new YamlPathResolutionError(`HTTP response size ${content.length} bytes exceeds maximum allowed size of ${DEFAULT_MAX_YAML_CONTENT_SIZE} bytes (${(DEFAULT_MAX_YAML_CONTENT_SIZE / 1_048_576).toFixed(0)} MB) for resource '${resourceName}': ${url}`, resourceName, url, [
891
+ 'The remote resource is too large to process safely',
892
+ 'Consider hosting a smaller version of the file',
893
+ 'Split large YAML files into smaller files',
894
+ ]);
895
+ }
530
896
  if (!content || content.trim().length === 0) {
531
897
  throw new YamlPathResolutionError(`Empty content received from HTTP resource for resource '${resourceName}': ${url}`, resourceName, url, [
532
898
  'Check that the URL points to a valid YAML file',
@@ -540,7 +906,7 @@ export class PathResolver {
540
906
  if (error instanceof YamlPathResolutionError) {
541
907
  throw error;
542
908
  }
543
- throw new YamlPathResolutionError(`Failed to resolve HTTP content for resource '${resourceName}': ${error instanceof Error ? error.message : String(error)}`, resourceName, url, [
909
+ throw new YamlPathResolutionError(`Failed to resolve HTTP content for resource '${resourceName}': ${ensureError(error).message}`, resourceName, url, [
544
910
  'Check network connectivity',
545
911
  'Verify the URL is correct and accessible',
546
912
  'Check for any firewall or proxy issues',