typekro 0.8.0 → 0.10.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 (557) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/alchemy/deployers.d.ts +16 -1
  3. package/dist/alchemy/deployers.d.ts.map +1 -1
  4. package/dist/alchemy/deployers.js +131 -18
  5. package/dist/alchemy/deployers.js.map +1 -1
  6. package/dist/alchemy/deployment.d.ts +1 -1
  7. package/dist/alchemy/deployment.d.ts.map +1 -1
  8. package/dist/alchemy/deployment.js +1 -1
  9. package/dist/alchemy/deployment.js.map +1 -1
  10. package/dist/alchemy/kro-delete.d.ts +66 -0
  11. package/dist/alchemy/kro-delete.d.ts.map +1 -0
  12. package/dist/alchemy/kro-delete.js +183 -0
  13. package/dist/alchemy/kro-delete.js.map +1 -0
  14. package/dist/alchemy/resource-registration.d.ts +16 -0
  15. package/dist/alchemy/resource-registration.d.ts.map +1 -1
  16. package/dist/alchemy/resource-registration.js +138 -24
  17. package/dist/alchemy/resource-registration.js.map +1 -1
  18. package/dist/alchemy/types.d.ts +8 -4
  19. package/dist/alchemy/types.d.ts.map +1 -1
  20. package/dist/aspects.d.ts +3 -0
  21. package/dist/aspects.d.ts.map +1 -0
  22. package/dist/aspects.js +2 -0
  23. package/dist/aspects.js.map +1 -0
  24. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +1 -1
  25. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
  26. package/dist/compositions/typekro-runtime/typekro-runtime.js +27 -9
  27. package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
  28. package/dist/core/aspects/apply.d.ts +30 -0
  29. package/dist/core/aspects/apply.d.ts.map +1 -0
  30. package/dist/core/aspects/apply.js +369 -0
  31. package/dist/core/aspects/apply.js.map +1 -0
  32. package/dist/core/aspects/dev-aspects.d.ts +14 -0
  33. package/dist/core/aspects/dev-aspects.d.ts.map +1 -0
  34. package/dist/core/aspects/dev-aspects.js +70 -0
  35. package/dist/core/aspects/dev-aspects.js.map +1 -0
  36. package/dist/core/aspects/index.d.ts +31 -0
  37. package/dist/core/aspects/index.d.ts.map +1 -0
  38. package/dist/core/aspects/index.js +30 -0
  39. package/dist/core/aspects/index.js.map +1 -0
  40. package/dist/core/aspects/metadata-aspects.d.ts +12 -0
  41. package/dist/core/aspects/metadata-aspects.d.ts.map +1 -0
  42. package/dist/core/aspects/metadata-aspects.js +24 -0
  43. package/dist/core/aspects/metadata-aspects.js.map +1 -0
  44. package/dist/core/aspects/metadata.d.ts +16 -0
  45. package/dist/core/aspects/metadata.d.ts.map +1 -0
  46. package/dist/core/aspects/metadata.js +24 -0
  47. package/dist/core/aspects/metadata.js.map +1 -0
  48. package/dist/core/aspects/primitives.d.ts +23 -0
  49. package/dist/core/aspects/primitives.d.ts.map +1 -0
  50. package/dist/core/aspects/primitives.js +258 -0
  51. package/dist/core/aspects/primitives.js.map +1 -0
  52. package/dist/core/aspects/targets.d.ts +9 -0
  53. package/dist/core/aspects/targets.d.ts.map +1 -0
  54. package/dist/core/aspects/targets.js +23 -0
  55. package/dist/core/aspects/targets.js.map +1 -0
  56. package/dist/core/aspects/types.d.ts +361 -0
  57. package/dist/core/aspects/types.d.ts.map +1 -0
  58. package/dist/core/aspects/types.js +16 -0
  59. package/dist/core/aspects/types.js.map +1 -0
  60. package/dist/core/aspects/workload-aspects.d.ts +17 -0
  61. package/dist/core/aspects/workload-aspects.d.ts.map +1 -0
  62. package/dist/core/aspects/workload-aspects.js +40 -0
  63. package/dist/core/aspects/workload-aspects.js.map +1 -0
  64. package/dist/core/composition/context.d.ts +58 -2
  65. package/dist/core/composition/context.d.ts.map +1 -1
  66. package/dist/core/composition/context.js +4 -0
  67. package/dist/core/composition/context.js.map +1 -1
  68. package/dist/core/composition/imperative.d.ts +9 -0
  69. package/dist/core/composition/imperative.d.ts.map +1 -1
  70. package/dist/core/composition/imperative.js +538 -54
  71. package/dist/core/composition/imperative.js.map +1 -1
  72. package/dist/core/composition/nested-status-cel.d.ts +34 -1
  73. package/dist/core/composition/nested-status-cel.d.ts.map +1 -1
  74. package/dist/core/composition/nested-status-cel.js +379 -41
  75. package/dist/core/composition/nested-status-cel.js.map +1 -1
  76. package/dist/core/composition-debugger.d.ts +1 -1
  77. package/dist/core/composition-debugger.d.ts.map +1 -1
  78. package/dist/core/composition-debugger.js.map +1 -1
  79. package/dist/core/constants/brands.d.ts +1 -1
  80. package/dist/core/constants/brands.d.ts.map +1 -1
  81. package/dist/core/constants/brands.js +1 -1
  82. package/dist/core/constants/brands.js.map +1 -1
  83. package/dist/core/containers/build.d.ts.map +1 -1
  84. package/dist/core/containers/build.js +40 -12
  85. package/dist/core/containers/build.js.map +1 -1
  86. package/dist/core/dependencies/resolver.d.ts +19 -0
  87. package/dist/core/dependencies/resolver.d.ts.map +1 -1
  88. package/dist/core/dependencies/resolver.js +261 -1
  89. package/dist/core/dependencies/resolver.js.map +1 -1
  90. package/dist/core/deployment/client-provider-manager.d.ts +9 -3
  91. package/dist/core/deployment/client-provider-manager.d.ts.map +1 -1
  92. package/dist/core/deployment/client-provider-manager.js +12 -0
  93. package/dist/core/deployment/client-provider-manager.js.map +1 -1
  94. package/dist/core/deployment/crd-manager.d.ts +24 -0
  95. package/dist/core/deployment/crd-manager.d.ts.map +1 -1
  96. package/dist/core/deployment/crd-manager.js +79 -1
  97. package/dist/core/deployment/crd-manager.js.map +1 -1
  98. package/dist/core/deployment/deployment-state-discovery.d.ts +116 -0
  99. package/dist/core/deployment/deployment-state-discovery.d.ts.map +1 -0
  100. package/dist/core/deployment/deployment-state-discovery.js +400 -0
  101. package/dist/core/deployment/deployment-state-discovery.js.map +1 -0
  102. package/dist/core/deployment/direct-factory.d.ts +65 -6
  103. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  104. package/dist/core/deployment/direct-factory.js +584 -62
  105. package/dist/core/deployment/direct-factory.js.map +1 -1
  106. package/dist/core/deployment/engine.d.ts +64 -3
  107. package/dist/core/deployment/engine.d.ts.map +1 -1
  108. package/dist/core/deployment/engine.js +194 -27
  109. package/dist/core/deployment/engine.js.map +1 -1
  110. package/dist/core/deployment/event-filter.js +1 -1
  111. package/dist/core/deployment/event-filter.js.map +1 -1
  112. package/dist/core/deployment/event-monitor.d.ts +11 -0
  113. package/dist/core/deployment/event-monitor.d.ts.map +1 -1
  114. package/dist/core/deployment/event-monitor.js +14 -0
  115. package/dist/core/deployment/event-monitor.js.map +1 -1
  116. package/dist/core/deployment/handle-tracing.d.ts +14 -0
  117. package/dist/core/deployment/handle-tracing.d.ts.map +1 -0
  118. package/dist/core/deployment/handle-tracing.js +38 -0
  119. package/dist/core/deployment/handle-tracing.js.map +1 -0
  120. package/dist/core/deployment/kro-factory.d.ts +115 -3
  121. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  122. package/dist/core/deployment/kro-factory.js +922 -278
  123. package/dist/core/deployment/kro-factory.js.map +1 -1
  124. package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
  125. package/dist/core/deployment/kro-readiness.js +21 -12
  126. package/dist/core/deployment/kro-readiness.js.map +1 -1
  127. package/dist/core/deployment/nested-composition-status.d.ts +1 -1
  128. package/dist/core/deployment/nested-composition-status.d.ts.map +1 -1
  129. package/dist/core/deployment/nested-composition-status.js +96 -53
  130. package/dist/core/deployment/nested-composition-status.js.map +1 -1
  131. package/dist/core/deployment/resource-applier.d.ts +15 -2
  132. package/dist/core/deployment/resource-applier.d.ts.map +1 -1
  133. package/dist/core/deployment/resource-applier.js +75 -25
  134. package/dist/core/deployment/resource-applier.js.map +1 -1
  135. package/dist/core/deployment/resource-tagging.d.ts +220 -0
  136. package/dist/core/deployment/resource-tagging.d.ts.map +1 -0
  137. package/dist/core/deployment/resource-tagging.js +292 -0
  138. package/dist/core/deployment/resource-tagging.js.map +1 -0
  139. package/dist/core/deployment/rollback-manager.d.ts +25 -4
  140. package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
  141. package/dist/core/deployment/rollback-manager.js +70 -57
  142. package/dist/core/deployment/rollback-manager.js.map +1 -1
  143. package/dist/core/deployment/shared-utilities.d.ts +6 -0
  144. package/dist/core/deployment/shared-utilities.d.ts.map +1 -1
  145. package/dist/core/deployment/shared-utilities.js +32 -2
  146. package/dist/core/deployment/shared-utilities.js.map +1 -1
  147. package/dist/core/deployment/singleton-owner-drift.d.ts +16 -0
  148. package/dist/core/deployment/singleton-owner-drift.d.ts.map +1 -0
  149. package/dist/core/deployment/singleton-owner-drift.js +54 -0
  150. package/dist/core/deployment/singleton-owner-drift.js.map +1 -0
  151. package/dist/core/deployment/strategies/alchemy-strategy.d.ts +3 -1
  152. package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +1 -1
  153. package/dist/core/deployment/strategies/alchemy-strategy.js +121 -18
  154. package/dist/core/deployment/strategies/alchemy-strategy.js.map +1 -1
  155. package/dist/core/deployment/strategies/base-strategy.d.ts +9 -3
  156. package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
  157. package/dist/core/deployment/strategies/base-strategy.js +32 -4
  158. package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
  159. package/dist/core/deployment/strategies/direct-strategy.d.ts +12 -4
  160. package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
  161. package/dist/core/deployment/strategies/direct-strategy.js +112 -8
  162. package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
  163. package/dist/core/errors.d.ts +2 -2
  164. package/dist/core/errors.d.ts.map +1 -1
  165. package/dist/core/errors.js.map +1 -1
  166. package/dist/core/expressions/analysis/cache.d.ts +2 -2
  167. package/dist/core/expressions/analysis/cache.d.ts.map +1 -1
  168. package/dist/core/expressions/analysis/cache.js +4 -0
  169. package/dist/core/expressions/analysis/cache.js.map +1 -1
  170. package/dist/core/expressions/analysis/fn-toString-self-test.d.ts.map +1 -1
  171. package/dist/core/expressions/analysis/fn-toString-self-test.js +0 -1
  172. package/dist/core/expressions/analysis/fn-toString-self-test.js.map +1 -1
  173. package/dist/core/expressions/analysis/shared-types.d.ts +2 -2
  174. package/dist/core/expressions/analysis/shared-types.d.ts.map +1 -1
  175. package/dist/core/expressions/analysis/source-map.d.ts.map +1 -1
  176. package/dist/core/expressions/analysis/source-map.js +1 -0
  177. package/dist/core/expressions/analysis/source-map.js.map +1 -1
  178. package/dist/core/expressions/analysis/types.d.ts +7 -7
  179. package/dist/core/expressions/analysis/types.d.ts.map +1 -1
  180. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts +29 -1
  181. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
  182. package/dist/core/expressions/composition/composition-analyzer-helpers.js +348 -17
  183. package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -1
  184. package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts +2 -2
  185. package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts.map +1 -1
  186. package/dist/core/expressions/composition/composition-analyzer-ternary.js +221 -10
  187. package/dist/core/expressions/composition/composition-analyzer-ternary.js.map +1 -1
  188. package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts.map +1 -1
  189. package/dist/core/expressions/composition/composition-analyzer-traversal.js +67 -2
  190. package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -1
  191. package/dist/core/expressions/composition/composition-analyzer-types.d.ts +52 -0
  192. package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -1
  193. package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -1
  194. package/dist/core/expressions/composition/composition-analyzer.js +150 -6
  195. package/dist/core/expressions/composition/composition-analyzer.js.map +1 -1
  196. package/dist/core/expressions/composition/expression-analyzer.d.ts.map +1 -1
  197. package/dist/core/expressions/composition/expression-analyzer.js +21 -4
  198. package/dist/core/expressions/composition/expression-analyzer.js.map +1 -1
  199. package/dist/core/expressions/composition/imperative-analyzer.d.ts +1 -1
  200. package/dist/core/expressions/composition/imperative-analyzer.d.ts.map +1 -1
  201. package/dist/core/expressions/composition/imperative-analyzer.js +31 -7
  202. package/dist/core/expressions/composition/imperative-analyzer.js.map +1 -1
  203. package/dist/core/expressions/composition/scope-manager.d.ts +2 -2
  204. package/dist/core/expressions/composition/scope-manager.d.ts.map +1 -1
  205. package/dist/core/expressions/composition/scope-manager.js.map +1 -1
  206. package/dist/core/expressions/conditional/conditional-expression-processor.d.ts +3 -3
  207. package/dist/core/expressions/conditional/conditional-expression-processor.d.ts.map +1 -1
  208. package/dist/core/expressions/conditional/conditional-expression-processor.js.map +1 -1
  209. package/dist/core/expressions/conditional/conditional-integration.d.ts.map +1 -1
  210. package/dist/core/expressions/conditional/conditional-integration.js.map +1 -1
  211. package/dist/core/expressions/context/context-aware-generator.d.ts +5 -5
  212. package/dist/core/expressions/context/context-aware-generator.d.ts.map +1 -1
  213. package/dist/core/expressions/context/context-aware-generator.js.map +1 -1
  214. package/dist/core/expressions/context/context-detector.d.ts +3 -3
  215. package/dist/core/expressions/context/context-detector.d.ts.map +1 -1
  216. package/dist/core/expressions/context/context-detector.js.map +1 -1
  217. package/dist/core/expressions/context/context-validator.d.ts +6 -6
  218. package/dist/core/expressions/context/context-validator.d.ts.map +1 -1
  219. package/dist/core/expressions/context/context-validator.js +2 -2
  220. package/dist/core/expressions/context/context-validator.js.map +1 -1
  221. package/dist/core/expressions/factory/cel-conversion-engine.d.ts +4 -4
  222. package/dist/core/expressions/factory/cel-conversion-engine.d.ts.map +1 -1
  223. package/dist/core/expressions/factory/cel-conversion-engine.js.map +1 -1
  224. package/dist/core/expressions/factory/dependency-tracker.d.ts +2 -2
  225. package/dist/core/expressions/factory/dependency-tracker.d.ts.map +1 -1
  226. package/dist/core/expressions/factory/dependency-tracker.js +21 -5
  227. package/dist/core/expressions/factory/dependency-tracker.js.map +1 -1
  228. package/dist/core/expressions/factory/factory-integration.d.ts +2 -4
  229. package/dist/core/expressions/factory/factory-integration.d.ts.map +1 -1
  230. package/dist/core/expressions/factory/factory-integration.js +0 -6
  231. package/dist/core/expressions/factory/factory-integration.js.map +1 -1
  232. package/dist/core/expressions/factory/factory-pattern-handler.d.ts +3 -3
  233. package/dist/core/expressions/factory/factory-pattern-handler.d.ts.map +1 -1
  234. package/dist/core/expressions/factory/factory-pattern-handler.js +1 -0
  235. package/dist/core/expressions/factory/factory-pattern-handler.js.map +1 -1
  236. package/dist/core/expressions/factory/migration-helpers.js.map +1 -1
  237. package/dist/core/expressions/factory/resource-analyzer.d.ts +4 -4
  238. package/dist/core/expressions/factory/resource-analyzer.d.ts.map +1 -1
  239. package/dist/core/expressions/factory/resource-analyzer.js.map +1 -1
  240. package/dist/core/expressions/factory/resource-type-validator.d.ts +5 -5
  241. package/dist/core/expressions/factory/resource-type-validator.d.ts.map +1 -1
  242. package/dist/core/expressions/factory/resource-type-validator.js.map +1 -1
  243. package/dist/core/expressions/factory/status-builder-analyzer.d.ts +6 -7
  244. package/dist/core/expressions/factory/status-builder-analyzer.d.ts.map +1 -1
  245. package/dist/core/expressions/factory/status-builder-analyzer.js +0 -3
  246. package/dist/core/expressions/factory/status-builder-analyzer.js.map +1 -1
  247. package/dist/core/expressions/factory/status-builder-types.d.ts +1 -1
  248. package/dist/core/expressions/factory/status-builder-types.d.ts.map +1 -1
  249. package/dist/core/expressions/factory/status-cel-generation.d.ts +1 -1
  250. package/dist/core/expressions/factory/status-cel-generation.d.ts.map +1 -1
  251. package/dist/core/expressions/factory/status-cel-generation.js +1 -1
  252. package/dist/core/expressions/factory/status-cel-generation.js.map +1 -1
  253. package/dist/core/expressions/factory/status-field-analysis.d.ts +3 -3
  254. package/dist/core/expressions/factory/status-field-analysis.d.ts.map +1 -1
  255. package/dist/core/expressions/factory/status-field-analysis.js.map +1 -1
  256. package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.d.ts +5 -5
  257. package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.d.ts.map +1 -1
  258. package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.js +1 -1
  259. package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.js.map +1 -1
  260. package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.d.ts +10 -10
  261. package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.d.ts.map +1 -1
  262. package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.js +5 -1
  263. package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.js.map +1 -1
  264. package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts +2 -2
  265. package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts.map +1 -1
  266. package/dist/core/expressions/magic-proxy/magic-proxy-ast.js.map +1 -1
  267. package/dist/core/expressions/magic-proxy/magic-proxy-detector.d.ts +5 -5
  268. package/dist/core/expressions/magic-proxy/magic-proxy-detector.d.ts.map +1 -1
  269. package/dist/core/expressions/magic-proxy/magic-proxy-detector.js.map +1 -1
  270. package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts +2 -2
  271. package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts.map +1 -1
  272. package/dist/core/expressions/magic-proxy/optionality-handler.d.ts +1 -2
  273. package/dist/core/expressions/magic-proxy/optionality-handler.d.ts.map +1 -1
  274. package/dist/core/expressions/magic-proxy/optionality-handler.js +2 -15
  275. package/dist/core/expressions/magic-proxy/optionality-handler.js.map +1 -1
  276. package/dist/core/expressions/validation/compile-time-checker.d.ts +1 -1
  277. package/dist/core/expressions/validation/compile-time-checker.d.ts.map +1 -1
  278. package/dist/core/expressions/validation/compile-time-checker.js.map +1 -1
  279. package/dist/core/expressions/validation/compile-time-types.d.ts +2 -2
  280. package/dist/core/expressions/validation/compile-time-types.d.ts.map +1 -1
  281. package/dist/core/expressions/validation/kubernetes-field-types.d.ts +4 -4
  282. package/dist/core/expressions/validation/kubernetes-field-types.d.ts.map +1 -1
  283. package/dist/core/expressions/validation/kubernetes-field-types.js.map +1 -1
  284. package/dist/core/expressions/validation/resource-field-utils.d.ts +10 -10
  285. package/dist/core/expressions/validation/resource-field-utils.d.ts.map +1 -1
  286. package/dist/core/expressions/validation/resource-field-utils.js.map +1 -1
  287. package/dist/core/expressions/validation/resource-validation.d.ts +3 -3
  288. package/dist/core/expressions/validation/resource-validation.d.ts.map +1 -1
  289. package/dist/core/expressions/validation/resource-validation.js.map +1 -1
  290. package/dist/core/expressions/validation/type-inference-types.d.ts +2 -2
  291. package/dist/core/expressions/validation/type-inference-types.d.ts.map +1 -1
  292. package/dist/core/expressions/validation/type-safety.d.ts +2 -2
  293. package/dist/core/expressions/validation/type-safety.d.ts.map +1 -1
  294. package/dist/core/expressions/validation/type-safety.js +1 -0
  295. package/dist/core/expressions/validation/type-safety.js.map +1 -1
  296. package/dist/core/kubernetes/bun-api-client.js.map +1 -1
  297. package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -1
  298. package/dist/core/kubernetes/bun-http-library.js +29 -3
  299. package/dist/core/kubernetes/bun-http-library.js.map +1 -1
  300. package/dist/core/kubernetes/client-provider.d.ts +12 -0
  301. package/dist/core/kubernetes/client-provider.d.ts.map +1 -1
  302. package/dist/core/kubernetes/client-provider.js +35 -0
  303. package/dist/core/kubernetes/client-provider.js.map +1 -1
  304. package/dist/core/metadata/resource-metadata.d.ts +49 -1
  305. package/dist/core/metadata/resource-metadata.d.ts.map +1 -1
  306. package/dist/core/metadata/resource-metadata.js.map +1 -1
  307. package/dist/core/proxy/create-resource.d.ts +15 -0
  308. package/dist/core/proxy/create-resource.d.ts.map +1 -1
  309. package/dist/core/proxy/create-resource.js +79 -2
  310. package/dist/core/proxy/create-resource.js.map +1 -1
  311. package/dist/core/readiness/registry.js +2 -2
  312. package/dist/core/readiness/registry.js.map +1 -1
  313. package/dist/core/references/cel-evaluator.d.ts +1 -4
  314. package/dist/core/references/cel-evaluator.d.ts.map +1 -1
  315. package/dist/core/references/cel-evaluator.js +3 -7
  316. package/dist/core/references/cel-evaluator.js.map +1 -1
  317. package/dist/core/references/cel.d.ts +22 -0
  318. package/dist/core/references/cel.d.ts.map +1 -1
  319. package/dist/core/references/cel.js +106 -8
  320. package/dist/core/references/cel.js.map +1 -1
  321. package/dist/core/references/external-refs.d.ts.map +1 -1
  322. package/dist/core/references/external-refs.js +3 -0
  323. package/dist/core/references/external-refs.js.map +1 -1
  324. package/dist/core/references/resolver.d.ts.map +1 -1
  325. package/dist/core/references/resolver.js +28 -17
  326. package/dist/core/references/resolver.js.map +1 -1
  327. package/dist/core/references/schema-proxy.d.ts +18 -10
  328. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  329. package/dist/core/references/schema-proxy.js +174 -23
  330. package/dist/core/references/schema-proxy.js.map +1 -1
  331. package/dist/core/runtime-patches/crd-schema-fix.d.ts.map +1 -1
  332. package/dist/core/runtime-patches/crd-schema-fix.js +4 -1
  333. package/dist/core/runtime-patches/crd-schema-fix.js.map +1 -1
  334. package/dist/core/serialization/cel-optimizer.d.ts.map +1 -1
  335. package/dist/core/serialization/cel-optimizer.js +2 -0
  336. package/dist/core/serialization/cel-optimizer.js.map +1 -1
  337. package/dist/core/serialization/cel-references.d.ts +75 -1
  338. package/dist/core/serialization/cel-references.d.ts.map +1 -1
  339. package/dist/core/serialization/cel-references.js +692 -156
  340. package/dist/core/serialization/cel-references.js.map +1 -1
  341. package/dist/core/serialization/core.d.ts +8 -8
  342. package/dist/core/serialization/core.d.ts.map +1 -1
  343. package/dist/core/serialization/core.js +672 -90
  344. package/dist/core/serialization/core.js.map +1 -1
  345. package/dist/core/serialization/kro-post-processing.d.ts +1 -1
  346. package/dist/core/serialization/kro-post-processing.d.ts.map +1 -1
  347. package/dist/core/serialization/kro-post-processing.js +69 -22
  348. package/dist/core/serialization/kro-post-processing.js.map +1 -1
  349. package/dist/core/serialization/schema.d.ts +1 -0
  350. package/dist/core/serialization/schema.d.ts.map +1 -1
  351. package/dist/core/serialization/schema.js +378 -50
  352. package/dist/core/serialization/schema.js.map +1 -1
  353. package/dist/core/serialization/status-analysis-pipeline.d.ts +1 -1
  354. package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -1
  355. package/dist/core/serialization/status-analysis-pipeline.js.map +1 -1
  356. package/dist/core/serialization/yaml.d.ts +3 -2
  357. package/dist/core/serialization/yaml.d.ts.map +1 -1
  358. package/dist/core/serialization/yaml.js +385 -55
  359. package/dist/core/serialization/yaml.js.map +1 -1
  360. package/dist/core/singleton/singleton.d.ts +16 -0
  361. package/dist/core/singleton/singleton.d.ts.map +1 -0
  362. package/dist/core/singleton/singleton.js +135 -0
  363. package/dist/core/singleton/singleton.js.map +1 -0
  364. package/dist/core/types/common.d.ts +2 -2
  365. package/dist/core/types/common.d.ts.map +1 -1
  366. package/dist/core/types/composable.d.ts +1 -1
  367. package/dist/core/types/composable.d.ts.map +1 -1
  368. package/dist/core/types/deployment.d.ts +129 -9
  369. package/dist/core/types/deployment.d.ts.map +1 -1
  370. package/dist/core/types/deployment.js +1 -1
  371. package/dist/core/types/deployment.js.map +1 -1
  372. package/dist/core/types/kubernetes.d.ts +25 -17
  373. package/dist/core/types/kubernetes.d.ts.map +1 -1
  374. package/dist/core/types/references.d.ts +1 -1
  375. package/dist/core/types/references.d.ts.map +1 -1
  376. package/dist/core/types/references.js.map +1 -1
  377. package/dist/core/types/resource-graph.d.ts +2 -1
  378. package/dist/core/types/resource-graph.d.ts.map +1 -1
  379. package/dist/core/types/schema.d.ts +1 -1
  380. package/dist/core/types/schema.d.ts.map +1 -1
  381. package/dist/core/types/serialization.d.ts +24 -6
  382. package/dist/core/types/serialization.d.ts.map +1 -1
  383. package/dist/core/validation/cel-validator.d.ts +15 -2
  384. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  385. package/dist/core/validation/cel-validator.js +144 -63
  386. package/dist/core/validation/cel-validator.js.map +1 -1
  387. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts +2 -41
  388. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -1
  389. package/dist/factories/apisix/compositions/apisix-bootstrap.js +262 -217
  390. package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -1
  391. package/dist/factories/apisix/index.d.ts +2 -2
  392. package/dist/factories/apisix/index.js +2 -2
  393. package/dist/factories/apisix/resources/helm.d.ts +2 -2
  394. package/dist/factories/apisix/resources/helm.d.ts.map +1 -1
  395. package/dist/factories/apisix/resources/helm.js.map +1 -1
  396. package/dist/factories/apisix/types.d.ts +21 -11
  397. package/dist/factories/apisix/types.d.ts.map +1 -1
  398. package/dist/factories/apisix/types.js +106 -4
  399. package/dist/factories/apisix/types.js.map +1 -1
  400. package/dist/factories/apisix/utils/admin-credentials.d.ts +5 -3
  401. package/dist/factories/apisix/utils/admin-credentials.d.ts.map +1 -1
  402. package/dist/factories/apisix/utils/admin-credentials.js +14 -10
  403. package/dist/factories/apisix/utils/admin-credentials.js.map +1 -1
  404. package/dist/factories/apisix/utils/helm-values-mapper.d.ts.map +1 -1
  405. package/dist/factories/apisix/utils/helm-values-mapper.js +4 -2
  406. package/dist/factories/apisix/utils/helm-values-mapper.js.map +1 -1
  407. package/dist/factories/cert-manager/resources/challenges.js.map +1 -1
  408. package/dist/factories/cert-manager/types.d.ts +3 -3
  409. package/dist/factories/cert-manager/types.d.ts.map +1 -1
  410. package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts +4 -4
  411. package/dist/factories/cilium/types.d.ts +3 -3
  412. package/dist/factories/cilium/types.d.ts.map +1 -1
  413. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +1 -0
  414. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts.map +1 -1
  415. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +48 -0
  416. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js.map +1 -1
  417. package/dist/factories/cnpg/resources/cluster.js +1 -1
  418. package/dist/factories/cnpg/resources/cluster.js.map +1 -1
  419. package/dist/factories/cnpg/resources/helm.d.ts.map +1 -1
  420. package/dist/factories/cnpg/resources/helm.js +1 -0
  421. package/dist/factories/cnpg/resources/helm.js.map +1 -1
  422. package/dist/factories/cnpg/resources/pooler.js +1 -1
  423. package/dist/factories/cnpg/resources/pooler.js.map +1 -1
  424. package/dist/factories/cnpg/types.d.ts +9 -8
  425. package/dist/factories/cnpg/types.d.ts.map +1 -1
  426. package/dist/factories/cnpg/types.js +11 -0
  427. package/dist/factories/cnpg/types.js.map +1 -1
  428. package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts.map +1 -1
  429. package/dist/factories/external-dns/compositions/external-dns-bootstrap.js +153 -41
  430. package/dist/factories/external-dns/compositions/external-dns-bootstrap.js.map +1 -1
  431. package/dist/factories/external-dns/resources/dns-endpoint.js +1 -1
  432. package/dist/factories/external-dns/resources/dns-endpoint.js.map +1 -1
  433. package/dist/factories/external-dns/resources/helm.d.ts +1 -1
  434. package/dist/factories/external-dns/resources/helm.d.ts.map +1 -1
  435. package/dist/factories/external-dns/resources/helm.js +17 -10
  436. package/dist/factories/external-dns/resources/helm.js.map +1 -1
  437. package/dist/factories/external-dns/types.d.ts +5 -2
  438. package/dist/factories/external-dns/types.d.ts.map +1 -1
  439. package/dist/factories/external-dns/types.js.map +1 -1
  440. package/dist/factories/flux/git-repository.d.ts.map +1 -1
  441. package/dist/factories/flux/git-repository.js +1 -1
  442. package/dist/factories/flux/git-repository.js.map +1 -1
  443. package/dist/factories/flux/kustomize/kustomization.d.ts +2 -2
  444. package/dist/factories/flux/kustomize/kustomization.d.ts.map +1 -1
  445. package/dist/factories/flux/kustomize/readiness-evaluators.d.ts +1 -1
  446. package/dist/factories/flux/kustomize/readiness-evaluators.d.ts.map +1 -1
  447. package/dist/factories/flux/kustomize/readiness-evaluators.js +1 -1
  448. package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -1
  449. package/dist/factories/helm/helm-release.d.ts +3 -2
  450. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  451. package/dist/factories/helm/helm-release.js +1 -0
  452. package/dist/factories/helm/helm-release.js.map +1 -1
  453. package/dist/factories/helm/helm-repository.d.ts +1 -1
  454. package/dist/factories/helm/helm-repository.d.ts.map +1 -1
  455. package/dist/factories/helm/helm-repository.js +6 -4
  456. package/dist/factories/helm/helm-repository.js.map +1 -1
  457. package/dist/factories/helm/readiness-evaluators.d.ts +6 -6
  458. package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
  459. package/dist/factories/helm/readiness-evaluators.js +15 -9
  460. package/dist/factories/helm/readiness-evaluators.js.map +1 -1
  461. package/dist/factories/helm/types.d.ts +5 -1
  462. package/dist/factories/helm/types.d.ts.map +1 -1
  463. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +1 -0
  464. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -1
  465. package/dist/factories/inngest/compositions/inngest-bootstrap.js +4 -3
  466. package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -1
  467. package/dist/factories/inngest/resources/helm.js +1 -1
  468. package/dist/factories/inngest/resources/helm.js.map +1 -1
  469. package/dist/factories/inngest/types.d.ts +5 -4
  470. package/dist/factories/inngest/types.d.ts.map +1 -1
  471. package/dist/factories/inngest/types.js +2 -0
  472. package/dist/factories/inngest/types.js.map +1 -1
  473. package/dist/factories/kro/kro-custom-resource.js +1 -1
  474. package/dist/factories/kro/kro-custom-resource.js.map +1 -1
  475. package/dist/factories/kubernetes/config/config-map.d.ts +2 -2
  476. package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -1
  477. package/dist/factories/kubernetes/config/secret.d.ts +2 -2
  478. package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
  479. package/dist/factories/kubernetes/networking/service.js +1 -1
  480. package/dist/factories/kubernetes/networking/service.js.map +1 -1
  481. package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -1
  482. package/dist/factories/kubernetes/yaml/yaml-directory.js +9 -0
  483. package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
  484. package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
  485. package/dist/factories/kubernetes/yaml/yaml-file.js +9 -0
  486. package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
  487. package/dist/factories/pebble/resources/helm.js.map +1 -1
  488. package/dist/factories/pebble/types.d.ts +2 -2
  489. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts +3 -2
  490. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -1
  491. package/dist/factories/searxng/compositions/searxng-bootstrap.js +205 -167
  492. package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -1
  493. package/dist/factories/searxng/resources/searxng.d.ts +1 -1
  494. package/dist/factories/searxng/resources/searxng.js +1 -1
  495. package/dist/factories/searxng/types.d.ts +5 -4
  496. package/dist/factories/searxng/types.d.ts.map +1 -1
  497. package/dist/factories/searxng/types.js +8 -7
  498. package/dist/factories/searxng/types.js.map +1 -1
  499. package/dist/factories/searxng/utils/settings-builder.d.ts +4 -3
  500. package/dist/factories/searxng/utils/settings-builder.d.ts.map +1 -1
  501. package/dist/factories/searxng/utils/settings-builder.js +4 -3
  502. package/dist/factories/searxng/utils/settings-builder.js.map +1 -1
  503. package/dist/factories/simple/config/config-map.d.ts +2 -2
  504. package/dist/factories/simple/config/config-map.d.ts.map +1 -1
  505. package/dist/factories/simple/config/secret.d.ts +2 -2
  506. package/dist/factories/simple/config/secret.d.ts.map +1 -1
  507. package/dist/factories/simple/helm/index.d.ts +1 -1
  508. package/dist/factories/simple/helm/index.d.ts.map +1 -1
  509. package/dist/factories/simple/helm/index.js.map +1 -1
  510. package/dist/factories/simple/index.d.ts +3 -3
  511. package/dist/factories/simple/index.d.ts.map +1 -1
  512. package/dist/factories/simple/storage/persistent-volume.js.map +1 -1
  513. package/dist/factories/simple/types.d.ts +11 -1
  514. package/dist/factories/simple/types.d.ts.map +1 -1
  515. package/dist/factories/simple/workloads/deployment.d.ts +4 -1
  516. package/dist/factories/simple/workloads/deployment.d.ts.map +1 -1
  517. package/dist/factories/simple/workloads/deployment.js +9 -2
  518. package/dist/factories/simple/workloads/deployment.js.map +1 -1
  519. package/dist/factories/simple/workloads/stateful-set.d.ts +4 -1
  520. package/dist/factories/simple/workloads/stateful-set.d.ts.map +1 -1
  521. package/dist/factories/simple/workloads/stateful-set.js +6 -2
  522. package/dist/factories/simple/workloads/stateful-set.js.map +1 -1
  523. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +1 -0
  524. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -1
  525. package/dist/factories/valkey/compositions/valkey-bootstrap.js +116 -0
  526. package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -1
  527. package/dist/factories/valkey/resources/valkey.js +1 -1
  528. package/dist/factories/valkey/resources/valkey.js.map +1 -1
  529. package/dist/factories/valkey/types.d.ts +6 -5
  530. package/dist/factories/valkey/types.d.ts.map +1 -1
  531. package/dist/factories/valkey/types.js +10 -0
  532. package/dist/factories/valkey/types.js.map +1 -1
  533. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +90 -6
  534. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
  535. package/dist/factories/webapp/compositions/web-app-with-processing.js +180 -20
  536. package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
  537. package/dist/factories/webapp/index.d.ts +3 -4
  538. package/dist/factories/webapp/index.d.ts.map +1 -1
  539. package/dist/factories/webapp/index.js +3 -4
  540. package/dist/factories/webapp/index.js.map +1 -1
  541. package/dist/factories/webapp/types.d.ts +60 -2
  542. package/dist/factories/webapp/types.d.ts.map +1 -1
  543. package/dist/factories/webapp/types.js +80 -3
  544. package/dist/factories/webapp/types.js.map +1 -1
  545. package/dist/index.d.ts +5 -1
  546. package/dist/index.d.ts.map +1 -1
  547. package/dist/index.js +3 -0
  548. package/dist/index.js.map +1 -1
  549. package/dist/shared/brands.d.ts +18 -8
  550. package/dist/shared/brands.d.ts.map +1 -1
  551. package/dist/shared/brands.js +19 -9
  552. package/dist/shared/brands.js.map +1 -1
  553. package/dist/utils/cel-escape.d.ts +12 -0
  554. package/dist/utils/cel-escape.d.ts.map +1 -0
  555. package/dist/utils/cel-escape.js +19 -0
  556. package/dist/utils/cel-escape.js.map +1 -0
  557. package/package.json +7 -2
@@ -0,0 +1,361 @@
1
+ import type { V1Container, V1EnvFromSource, V1EnvVar, V1ResourceRequirements, V1Volume, V1VolumeMount } from '@kubernetes/client-node';
2
+ import { TypeKroError } from '../errors.js';
3
+ import type { Enhanced } from '../types/kubernetes.js';
4
+ import type { KroCompatibleType } from '../types/schema.js';
5
+ /** Kubernetes image pull policy values supported by workload override aspects. */
6
+ export type ImagePullPolicy = 'Always' | 'IfNotPresent' | 'Never';
7
+ /** Cardinality required after an aspect target and selector are evaluated. */
8
+ export type AspectCardinality = 'one-or-more' | 'zero-or-more' | 'exactly-one';
9
+ /** Public aspect surface identifiers. */
10
+ export type AspectSurfaceKind = 'metadata' | 'override';
11
+ /** Runtime mode in which aspect safety is evaluated. */
12
+ export type AspectMode = 'direct' | 'kro';
13
+ /** Supported aspect operation kinds. */
14
+ export type AspectOperationKind = 'replace' | 'merge' | 'append' | 'patchEach' | 'mergeByName';
15
+ /** Object-form selector for narrowing resources matched by an aspect target. */
16
+ export interface AspectSelector {
17
+ readonly slot?: string;
18
+ readonly id?: string;
19
+ readonly name?: string;
20
+ readonly namespace?: string;
21
+ readonly kind?: string;
22
+ readonly labels?: Record<string, string>;
23
+ }
24
+ /** Replaces a curated field with the provided value. */
25
+ export interface ReplaceOperation<T> {
26
+ readonly kind: 'replace';
27
+ readonly value: T;
28
+ }
29
+ /** Merges keys into a concrete object field. */
30
+ export interface MergeOperation<T extends object> {
31
+ readonly kind: 'merge';
32
+ readonly value: Partial<T>;
33
+ }
34
+ /** Appends values into a concrete array field. */
35
+ export interface AppendOperation<TElement> {
36
+ readonly kind: 'append';
37
+ readonly value: readonly TElement[];
38
+ }
39
+ /** Applies a nested patch to each object in an array field. */
40
+ export interface PatchEachOperation<TElement extends object> {
41
+ readonly kind: 'patchEach';
42
+ readonly patch: AspectOverridePatch<TElement>;
43
+ }
44
+ /** Merges named entries into an array keyed by each entry's `name` field. */
45
+ export interface MergeByNameOperation<TElement extends {
46
+ name: string;
47
+ }> {
48
+ readonly kind: 'mergeByName';
49
+ readonly value: readonly TElement[];
50
+ }
51
+ /** Any v1 aspect operation descriptor. */
52
+ export type AspectOperation<T> = ReplaceOperation<T> | MergeOperation<object> | AppendOperation<T> | PatchEachOperation<object> | MergeByNameOperation<{
53
+ name: string;
54
+ }>;
55
+ /** Resource-level metadata mutation surface. */
56
+ export interface MetadataAspectSurface {
57
+ readonly kind: 'metadata';
58
+ readonly labels?: ReplaceOperation<Record<string, string>> | MergeOperation<Record<string, string>>;
59
+ readonly annotations?: ReplaceOperation<Record<string, string>> | MergeOperation<Record<string, string>>;
60
+ }
61
+ /** Writable resource schema advertised by aspect-capable resources. */
62
+ export interface ResourceSpecOverrideSchema<TSpec extends object = Record<string, unknown>> {
63
+ readonly spec: TSpec;
64
+ }
65
+ /** Dotted writable field path rooted at `spec`; status and identity metadata are excluded. */
66
+ export type AspectFieldPath = 'spec' | `spec.${string}`;
67
+ /** Validation constraints enforced before an aspect mutates resources. */
68
+ export interface AspectValidationPolicy {
69
+ readonly allowedRootField: 'spec';
70
+ readonly deniedRootFields: readonly ('apiVersion' | 'kind' | 'metadata' | 'status')[];
71
+ readonly deniedMetadataFields: readonly ('name' | 'namespace' | 'uid' | 'resourceVersion')[];
72
+ readonly kroUnsafeOperations: readonly ('merge-reference-backed-composite' | 'append-reference-backed-composite')[];
73
+ }
74
+ /** Operation descriptor accepted for a single writable schema field. */
75
+ export type AspectPatchValue<T> = T extends readonly (infer TElement)[] ? TElement extends {
76
+ name: string;
77
+ } ? ReplaceOperation<T> | AppendOperation<TElement> | MergeByNameOperation<TElement> | PatchEachOperation<Extract<TElement, object>> : TElement extends object ? ReplaceOperation<T> | AppendOperation<TElement> | PatchEachOperation<TElement> : ReplaceOperation<T> | AppendOperation<TElement> : T extends object ? ReplaceOperation<T> | MergeOperation<T> : ReplaceOperation<T>;
78
+ /** Partial recursive patch shape derived from an advertised writable aspect schema. */
79
+ export type AspectOverridePatch<TSchema> = {
80
+ readonly [K in keyof TSchema]?: NonNullable<TSchema[K]> extends readonly unknown[] ? AspectPatchValue<NonNullable<TSchema[K]>> : NonNullable<TSchema[K]> extends object ? AspectPatchValue<NonNullable<TSchema[K]>> | AspectOverridePatch<NonNullable<TSchema[K]>> : AspectPatchValue<NonNullable<TSchema[K]>>;
81
+ };
82
+ /** Writable view of Kubernetes specs for aspects: fields are optional, names stay typed. */
83
+ export type AspectWritableSchema<T> = T extends readonly (infer TElement)[] ? readonly AspectWritableSchema<TElement>[] : T extends object ? {
84
+ readonly [K in keyof T]?: AspectWritableSchema<NonNullable<T[K]>>;
85
+ } : T;
86
+ /** Override mutation surface derived from a target's writable aspect schema. */
87
+ export interface OverrideAspectSurface<TSchema extends object = ResourceSpecOverrideSchema> {
88
+ readonly kind: 'override';
89
+ readonly patch: AspectOverridePatch<TSchema>;
90
+ }
91
+ /** Container shape accepted by the hot reload override helper. */
92
+ export type HotReloadContainer = V1Container;
93
+ /** Kubernetes volume shape accepted by the hot reload override helper. */
94
+ export type HotReloadVolume = V1Volume;
95
+ /** Resource metadata key/value map accepted by convenience aspect helpers. */
96
+ export type LabelMap = Record<string, string>;
97
+ /** Resource annotation key/value map accepted by convenience aspect helpers. */
98
+ export type AnnotationMap = Record<string, string>;
99
+ /** Environment variable map accepted by workload convenience aspect helpers. */
100
+ export type EnvVarMap = Record<string, string>;
101
+ /** Workload pod-template writable schema used by convenience aspect helpers. */
102
+ export type WorkloadPodTemplateAspectSchema = ResourceSpecOverrideSchema<{
103
+ replicas: number;
104
+ template: {
105
+ metadata: {
106
+ labels: LabelMap;
107
+ annotations: AnnotationMap;
108
+ };
109
+ spec: {
110
+ serviceAccountName: string;
111
+ containers: readonly {
112
+ name: string;
113
+ env: readonly V1EnvVar[];
114
+ envFrom: readonly V1EnvFromSource[];
115
+ imagePullPolicy: ImagePullPolicy;
116
+ resources: V1ResourceRequirements;
117
+ volumeMounts: readonly V1VolumeMount[];
118
+ }[];
119
+ volumes: readonly V1Volume[];
120
+ };
121
+ };
122
+ }>;
123
+ /** Options for building a dev-mode hot reload override surface. */
124
+ export interface HotReloadAspectOptions {
125
+ /** Full container list to use for the targeted workload template. */
126
+ readonly containers: readonly HotReloadContainer[];
127
+ /** Full volume list to use for the targeted workload template. */
128
+ readonly volumes?: readonly HotReloadVolume[];
129
+ /** Labels to merge onto the targeted workload pod template. */
130
+ readonly labels?: Record<string, string>;
131
+ /** Optional replica override, commonly `1` for local dev. */
132
+ readonly replicas?: number;
133
+ }
134
+ /** Options for adding a local host workspace mount to each workload container. */
135
+ export interface LocalWorkspaceAspectOptions {
136
+ /** Host path to mount into targeted workload pods. */
137
+ readonly workspacePath: string;
138
+ /** Container mount path. Defaults to `/workspace`. */
139
+ readonly mountPath?: string;
140
+ /** Kubernetes volume and mount name. Defaults to `workspace`. */
141
+ readonly volumeName?: string;
142
+ /** HostPath type. Defaults to `Directory`. */
143
+ readonly hostPathType?: 'Directory' | 'DirectoryOrCreate';
144
+ }
145
+ /** Workload override schema produced by the hot reload helper. */
146
+ export type HotReloadAspectSchema = ResourceSpecOverrideSchema<{
147
+ replicas: number;
148
+ template: {
149
+ metadata: {
150
+ labels: Record<string, string>;
151
+ };
152
+ spec: {
153
+ containers: readonly HotReloadContainer[];
154
+ volumes: readonly HotReloadVolume[];
155
+ };
156
+ };
157
+ }>;
158
+ /** Any public aspect surface descriptor. */
159
+ export type AspectSurface = MetadataAspectSurface | OverrideAspectSurface<ResourceSpecOverrideSchema>;
160
+ /** Any factory function that returns a TypeKro enhanced resource. */
161
+ export type EnhancedResourceFactoryTarget = (...args: never[]) => Enhanced<object, object>;
162
+ /** Callable factory target identity accepted by aspect.on(...). */
163
+ export type AspectFactoryTarget<TSurfaces extends AspectSurfaceKind = 'metadata', TOverrideSchema extends object = never> = AspectFactoryTargetFunction & AspectFactoryTargetBrand<TSurfaces, TOverrideSchema>;
164
+ /** Callable factory target that supports resource override aspects. */
165
+ export type ResourceAspectFactoryTarget<TOverrideSchema extends object = ResourceSpecOverrideSchema> = AspectFactoryTarget<'metadata' | 'override', TOverrideSchema>;
166
+ /** Callable factory target that supports the v1 override surface. */
167
+ export type WorkloadAspectFactoryTarget<TOverrideSchema extends object = ResourceSpecOverrideSchema> = ResourceAspectFactoryTarget<TOverrideSchema>;
168
+ /** Callable target identity only; aspect.on(...) must never invoke the factory. */
169
+ export type AspectFactoryTargetFunction = (...args: never[]) => object;
170
+ /** Optional compile-time marker for factories that advertise aspect surfaces. */
171
+ export interface AspectFactoryTargetBrand<TSurfaces extends AspectSurfaceKind, TOverrideSchema extends object> {
172
+ readonly __typekroAspectTarget?: true;
173
+ readonly __typekroAspectSurfaces?: TSurfaces;
174
+ readonly __typekroAspectOverrideSchema?: TOverrideSchema;
175
+ }
176
+ /** Normalized internal factory target descriptor. */
177
+ export interface FactoryAspectTargetDescriptor {
178
+ readonly kind: 'factory-target';
179
+ readonly id: string;
180
+ readonly surfaces: readonly AspectSurfaceKind[];
181
+ }
182
+ /** Public aspect target group descriptor. */
183
+ export interface AspectTargetGroup<TId extends 'allResources' | 'resources' | 'workloads' = 'allResources' | 'resources' | 'workloads'> {
184
+ readonly kind: 'target-group';
185
+ readonly id: TId;
186
+ }
187
+ /**
188
+ * Any public aspect target accepted by aspect.on(...).
189
+ *
190
+ * Concrete factory targets are resolved by TypeKro factory registration or
191
+ * explicit aspect metadata. Matching is intentionally kind/capability-level, not
192
+ * strict factory provenance: factories that produce the same Kubernetes kind can
193
+ * share a target identity when they advertise compatible aspect metadata. Use
194
+ * `slot(...)` and selectors for exact semantic targeting.
195
+ */
196
+ export type AspectTarget = AspectFactoryTarget<AspectSurfaceKind, object> | EnhancedResourceFactoryTarget | AspectTargetGroup;
197
+ /** Writable override schema advertised by a target where TypeScript can infer it. */
198
+ export type AspectOverrideSchemaForTarget<TTarget> = TTarget extends typeof workloads ? ResourceSpecOverrideSchema : TTarget extends typeof resources ? ResourceSpecOverrideSchema : TTarget extends (...args: never[]) => Enhanced<infer TSpec, infer _TStatus> ? TSpec extends object ? ResourceSpecOverrideSchema<AspectWritableSchema<TSpec>> : never : TTarget extends AspectFactoryTarget<infer _TSurfaces, infer TOverrideSchema> ? TOverrideSchema : never;
199
+ /** Keys present on both writable schemas. */
200
+ export type CommonAspectSchemaKeys<TLeft, TRight> = Extract<keyof TLeft, keyof TRight>;
201
+ /** Compatible value shared by two writable schemas. */
202
+ export type CommonAspectSchemaValue<TLeft, TRight> = [TLeft] extends [TRight] ? TLeft : [TRight] extends [TLeft] ? TRight : TLeft extends object ? TRight extends object ? CommonAspectSchema<TLeft, TRight> : never : never;
203
+ /** Recursively common writable schema for two targets; target-specific fields are excluded. */
204
+ export type CommonAspectSchema<TLeft, TRight> = {
205
+ readonly [K in CommonAspectSchemaKeys<TLeft, TRight> as CommonAspectSchemaValue<TLeft[K], TRight[K]> extends never ? never : K]: CommonAspectSchemaValue<TLeft[K], TRight[K]>;
206
+ };
207
+ /** Recursively common writable schema for a tuple of aspect targets. */
208
+ export type CommonAspectSchemaForTargets<TTargets extends readonly AspectTarget[]> = TTargets extends readonly [infer THead, infer TNext, ...infer TTail] ? THead extends AspectTarget ? TNext extends AspectTarget ? TTail extends readonly AspectTarget[] ? CommonAspectSchemaForTargets<readonly [
209
+ AspectFactoryTarget<'override', CommonAspectSchema<AspectOverrideSchemaForTarget<THead>, AspectOverrideSchemaForTarget<TNext>>>,
210
+ ...TTail
211
+ ]> : CommonAspectSchema<AspectOverrideSchemaForTarget<THead>, AspectOverrideSchemaForTarget<TNext>> : never : never : TTargets extends readonly [infer TOnly] ? TOnly extends AspectTarget ? AspectOverrideSchemaForTarget<TOnly> : never : never;
212
+ /** Surface accepted for a target where compile-time narrowing is feasible. */
213
+ export type AspectSurfaceForTarget<TTarget> = TTarget extends typeof allResources ? MetadataAspectSurface : TTarget extends typeof resources ? OverrideAspectSurface<ResourceSpecOverrideSchema> : TTarget extends typeof workloads ? OverrideAspectSurface<ResourceSpecOverrideSchema> : TTarget extends (...args: never[]) => Enhanced<infer TSpec, infer _TStatus> ? TSpec extends object ? MetadataAspectSurface | OverrideAspectSurface<ResourceSpecOverrideSchema<AspectWritableSchema<TSpec>>> : never : TTarget extends ResourceAspectFactoryTarget<infer TOverrideSchema> ? MetadataAspectSurface | OverrideAspectSurface<TOverrideSchema> : TTarget extends AspectFactoryTarget<'metadata'> ? MetadataAspectSurface : never;
214
+ /** Surface kind advertised by a target where TypeScript can infer it. */
215
+ export type AspectSurfaceKindForTarget<TTarget> = TTarget extends typeof allResources ? 'metadata' : TTarget extends typeof resources ? 'override' : TTarget extends typeof workloads ? 'override' : TTarget extends (...args: never[]) => Enhanced<object, object> ? 'metadata' | 'override' : TTarget extends AspectFactoryTarget<infer TSurfaces, infer _TOverrideSchema> ? TSurfaces : never;
216
+ /** Best-effort intersection of target surfaces for array targets. */
217
+ export type CommonAspectSurfaceKindForTargets<TTargets extends readonly AspectTarget[], TCommon extends AspectSurfaceKind = AspectSurfaceKind> = TTargets extends readonly [infer THead, ...infer TTail] ? THead extends AspectTarget ? TTail extends readonly AspectTarget[] ? CommonAspectSurfaceKindForTargets<TTail, Extract<TCommon, AspectSurfaceKindForTarget<THead>>> : Extract<TCommon, AspectSurfaceKindForTarget<THead>> : never : TCommon;
218
+ /** Compatible target arrays share at least one statically visible surface. */
219
+ export type CompatibleAspectTargets<TTargets extends readonly AspectTarget[]> = CommonAspectSurfaceKindForTargets<TTargets> extends never ? never : TTargets;
220
+ /** Surface union for a common surface-kind set. */
221
+ export type AspectSurfaceForCommonKinds<TKind extends AspectSurfaceKind, TTargets extends readonly AspectTarget[]> = (Extract<TKind, 'metadata'> extends never ? never : MetadataAspectSurface) | (Extract<TKind, 'override'> extends never ? never : OverrideAspectSurface<CommonAspectSchemaForTargets<TTargets>>);
222
+ /** Common surface for target arrays; runtime metadata remains authoritative when inference is broad. */
223
+ export type CommonAspectSurfaceForTargets<TTargets extends readonly AspectTarget[]> = AspectSurfaceForCommonKinds<CommonAspectSurfaceKindForTargets<TTargets>, TTargets>;
224
+ /** Immutable aspect definition returned by aspect.on(...). */
225
+ export interface AspectDefinition<TTarget = AspectTarget | readonly AspectTarget[], TSurface = AspectSurface> {
226
+ readonly kind: 'aspect';
227
+ readonly target: TTarget;
228
+ readonly surface: TSurface;
229
+ readonly selector?: AspectSelector;
230
+ readonly cardinality: AspectCardinality;
231
+ /** @throws AspectDefinitionError when the selector conflicts with an existing selector. */
232
+ where(selector: AspectSelector): AspectDefinition<TTarget, TSurface>;
233
+ /** @throws AspectDefinitionError when called after expectOne(). */
234
+ optional(): AspectDefinition<TTarget, TSurface>;
235
+ /** @throws AspectDefinitionError when called after optional(). */
236
+ expectOne(): AspectDefinition<TTarget, TSurface>;
237
+ }
238
+ /** Aspect definition accepted by runtime render/deploy options after construction. */
239
+ export type AnyAspectDefinition = AspectDefinition<unknown, unknown>;
240
+ /** Public aspect builder. */
241
+ export interface AspectBuilder {
242
+ /** @throws AspectDefinitionError when target metadata or surface compatibility is invalid. */
243
+ on<TTarget extends AspectTarget>(target: TTarget, surface: AspectSurfaceForTarget<TTarget>): AspectDefinition<TTarget, AspectSurfaceForTarget<TTarget>>;
244
+ /** @throws AspectDefinitionError when target metadata or common surface compatibility is invalid. */
245
+ on<const TTargets extends readonly AspectTarget[]>(targets: CompatibleAspectTargets<TTargets>, surface: CommonAspectSurfaceForTargets<TTargets>): AspectDefinition<TTargets, CommonAspectSurfaceForTargets<TTargets>>;
246
+ }
247
+ /** Options for render-time aspect application. */
248
+ export interface ToYamlOptions {
249
+ readonly aspects: readonly AnyAspectDefinition[];
250
+ }
251
+ /** WeakMap-only metadata used for aspect matching. */
252
+ export interface ResourceAspectMetadata {
253
+ readonly factoryTarget?: string;
254
+ readonly targetGroups?: readonly string[];
255
+ readonly surfaces?: readonly AspectSurfaceKind[];
256
+ readonly slot?: string;
257
+ readonly id?: string;
258
+ readonly name?: string;
259
+ readonly namespace?: string;
260
+ readonly kind?: string;
261
+ readonly labels?: Readonly<Record<string, string>>;
262
+ }
263
+ /** Internal options shared by direct, Kro, and render-time application paths. */
264
+ export interface ApplyAspectsOptions {
265
+ readonly mode: AspectMode;
266
+ readonly aspects: readonly AnyAspectDefinition[];
267
+ }
268
+ /** Context used when validating mode-specific aspect safety. */
269
+ export interface AspectSafetyContext {
270
+ readonly mode: AspectMode;
271
+ readonly resourceId?: string;
272
+ readonly resourceKind?: string;
273
+ readonly resourceName?: string;
274
+ readonly surface: AspectSurfaceKind;
275
+ readonly fieldPath: AspectFieldPath;
276
+ readonly operation: AspectOperationKind;
277
+ }
278
+ /** Diagnostic policy for aspect errors and optional debug output. */
279
+ export interface AspectDiagnosticsPolicy {
280
+ /** Successful application is quiet by default; no health, metric, or log stream is required. */
281
+ readonly emitSuccessEvents: false;
282
+ /** Error diagnostics may include resource identity, selector, mode, operation, and field path. */
283
+ readonly allowedErrorFields: readonly ('aspectIndex' | 'target' | 'selector' | 'matchCount' | 'resourceId' | 'resourceKind' | 'resourceName' | 'mode' | 'surface' | 'operation' | 'fieldPath' | 'reason')[];
284
+ /** Error diagnostics must not include secret-bearing values or full manifests. */
285
+ readonly redactedErrorFields: readonly ('operationValue' | 'resourceManifest' | 'envValue' | 'secretData' | 'configMapData' | 'serializedAspectPayload')[];
286
+ }
287
+ export type AspectDefinitionFunctionName = 'aspect.on' | 'metadata' | 'override' | 'hotReload' | 'replace' | 'merge' | 'append' | 'slot';
288
+ /** Error thrown for invalid aspect definitions before resource application. */
289
+ export declare class AspectDefinitionError extends TypeKroError {
290
+ readonly functionName: AspectDefinitionFunctionName;
291
+ readonly reason: string;
292
+ constructor(functionName: AspectDefinitionFunctionName, reason: string);
293
+ }
294
+ /** Error thrown while applying aspects to matched resources. */
295
+ export declare class AspectApplicationError extends TypeKroError {
296
+ readonly aspectIndex: number;
297
+ readonly target: string;
298
+ readonly selector?: AspectSelector;
299
+ readonly matchCount?: number;
300
+ readonly resourceId?: string;
301
+ readonly resourceKind?: string;
302
+ readonly resourceName?: string;
303
+ readonly mode: AspectMode;
304
+ readonly surface?: AspectSurfaceKind;
305
+ readonly operation?: AspectOperationKind;
306
+ readonly fieldPath?: string;
307
+ readonly reason: string;
308
+ }
309
+ export declare const allResources: AspectTargetGroup<'allResources'>;
310
+ /**
311
+ * All schema-capable resources.
312
+ *
313
+ * Design decision: broad `resources` targeting supersedes the earlier workload-only
314
+ * target group so Service and future schema-bearing resources can receive typed
315
+ * overrides without adding one target group per Kubernetes kind. The tradeoff is
316
+ * that concrete factory targets still provide stronger compile-time type
317
+ * narrowing, while runtime validation remains best-effort for optional fields
318
+ * absent from the initial manifest. Use `allResources` for metadata-only
319
+ * stack-wide mutation.
320
+ */
321
+ export declare const resources: AspectTargetGroup<'resources'>;
322
+ /**
323
+ * Workload-focused compatibility group for Deployment and StatefulSet-style overrides.
324
+ *
325
+ * Prefer `resources` when the intent is any schema-capable resource, or concrete
326
+ * factory targets such as `simple.Deployment` when the intent is kind-specific
327
+ * type narrowing.
328
+ */
329
+ export declare const workloads: AspectTargetGroup<'workloads'>;
330
+ export declare const aspect: AspectBuilder;
331
+ /** @throws AspectDefinitionError when value is not valid for the selected surface field. */
332
+ export declare function replace<T>(value: T): ReplaceOperation<T>;
333
+ /** @throws AspectDefinitionError when value is not a concrete object merge patch. */
334
+ export declare function merge<T extends object>(value: Partial<T>): MergeOperation<T>;
335
+ /** @throws AspectDefinitionError when value is not a concrete array append payload. */
336
+ export declare function append<TElement>(value: readonly TElement[]): AppendOperation<TElement>;
337
+ /** @throws AspectDefinitionError when metadata fields contain unsupported operations. */
338
+ export declare function metadata(surface: Omit<MetadataAspectSurface, 'kind'>): MetadataAspectSurface;
339
+ /** @throws AspectDefinitionError when override fields contain unsupported operations. */
340
+ export declare function override<TSchema extends object>(patch: AspectOverridePatch<TSchema>): OverrideAspectSurface<TSchema>;
341
+ /** @throws AspectDefinitionError when hot reload options are malformed. */
342
+ export declare function hotReload(options: HotReloadAspectOptions): OverrideAspectSurface<HotReloadAspectSchema>;
343
+ /** @throws AspectDefinitionError when the slot name is empty or already assigned incompatibly. */
344
+ export declare function slot<TResource extends object>(name: string, resource: TResource): TResource;
345
+ declare module '../types/deployment.js' {
346
+ interface PublicFactoryOptions {
347
+ /** Ordered aspects applied before factory resources are rendered or deployed. */
348
+ aspects?: readonly AnyAspectDefinition[];
349
+ }
350
+ interface TypedResourceGraph<TSpec extends KroCompatibleType = KroCompatibleType, TStatus extends KroCompatibleType = KroCompatibleType> {
351
+ /** @throws AspectApplicationError when render-time aspects fail target, selector, schema, or Kro-safety validation. */
352
+ toYaml(options: ToYamlOptions): string;
353
+ }
354
+ }
355
+ declare module '../types/resource-graph.js' {
356
+ interface ResourceGraph<TSpec extends KroCompatibleType = KroCompatibleType, TStatus extends KroCompatibleType = KroCompatibleType> {
357
+ /** @throws AspectApplicationError when render-time aspects fail target, selector, schema, or Kro-safety validation. */
358
+ toYaml(options: ToYamlOptions): string;
359
+ }
360
+ }
361
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/aspects/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { TypeKroError } from '../errors.js';
2
+ /** Error thrown for invalid aspect definitions before resource application. */
3
+ export class AspectDefinitionError extends TypeKroError {
4
+ functionName;
5
+ reason;
6
+ constructor(functionName, reason) {
7
+ super(`Invalid aspect definition in ${functionName}: ${reason}`, 'ASPECT_DEFINITION_ERROR', {
8
+ functionName,
9
+ reason,
10
+ });
11
+ this.functionName = functionName;
12
+ this.reason = reason;
13
+ this.name = 'AspectDefinitionError';
14
+ }
15
+ }
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/aspects/types.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA8f5C,+EAA+E;AAC/E,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IAE1C;IACA;IAFX,YACW,YAA0C,EAC1C,MAAc;QAEvB,KAAK,CAAC,gCAAgC,YAAY,KAAK,MAAM,EAAE,EAAE,yBAAyB,EAAE;YAC1F,YAAY;YACZ,MAAM;SACP,CAAC,CAAC;QANM,iBAAY,GAAZ,YAAY,CAA8B;QAC1C,WAAM,GAAN,MAAM,CAAQ;QAMvB,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import { workloads } from './primitives.js';
2
+ import type { AspectDefinition, AspectOverridePatch, EnvVarMap, ImagePullPolicy, OverrideAspectSurface, WorkloadPodTemplateAspectSchema } from './types.js';
3
+ import type { V1EnvFromSource, V1ResourceRequirements } from '@kubernetes/client-node';
4
+ export declare function workloadOverride(patch: AspectOverridePatch<WorkloadPodTemplateAspectSchema>): AspectDefinition<typeof workloads, OverrideAspectSurface<WorkloadPodTemplateAspectSchema>>;
5
+ /** Creates a workload aspect that sets replica count. */
6
+ export declare function withReplicas(count: number): AspectDefinition<typeof workloads, OverrideAspectSurface<WorkloadPodTemplateAspectSchema>>;
7
+ /** Creates a workload aspect that adds or updates env vars on every container. */
8
+ export declare function withEnvVars(vars: EnvVarMap): AspectDefinition<typeof workloads, OverrideAspectSurface<WorkloadPodTemplateAspectSchema>>;
9
+ /** Creates a workload aspect that appends envFrom sources to every container. */
10
+ export declare function withEnvFrom(envFrom: readonly V1EnvFromSource[]): AspectDefinition<typeof workloads, OverrideAspectSurface<WorkloadPodTemplateAspectSchema>>;
11
+ /** Creates a workload aspect that sets resource requirements on every container. */
12
+ export declare function withResourceDefaults(resources: V1ResourceRequirements): AspectDefinition<typeof workloads, OverrideAspectSurface<WorkloadPodTemplateAspectSchema>>;
13
+ /** Creates a workload aspect that sets imagePullPolicy on every container. */
14
+ export declare function withImagePullPolicy(policy: ImagePullPolicy): AspectDefinition<typeof workloads, OverrideAspectSurface<WorkloadPodTemplateAspectSchema>>;
15
+ /** Creates a workload aspect that sets serviceAccountName on pod templates. */
16
+ export declare function withServiceAccount(serviceAccountName: string): AspectDefinition<typeof workloads, OverrideAspectSurface<WorkloadPodTemplateAspectSchema>>;
17
+ //# sourceMappingURL=workload-aspects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workload-aspects.d.ts","sourceRoot":"","sources":["../../../src/core/aspects/workload-aspects.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6D,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEvG,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,+BAA+B,EAChC,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAY,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjG,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,mBAAmB,CAAC,+BAA+B,CAAC,GAC1D,gBAAgB,CAAC,OAAO,SAAS,EAAE,qBAAqB,CAAC,+BAA+B,CAAC,CAAC,CAK5F;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,GACZ,gBAAgB,CAAC,OAAO,SAAS,EAAE,qBAAqB,CAAC,+BAA+B,CAAC,CAAC,CAE5F;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CACzB,IAAI,EAAE,SAAS,GACd,gBAAgB,CAAC,OAAO,SAAS,EAAE,qBAAqB,CAAC,+BAA+B,CAAC,CAAC,CAK5F;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CACzB,OAAO,EAAE,SAAS,eAAe,EAAE,GAClC,gBAAgB,CAAC,OAAO,SAAS,EAAE,qBAAqB,CAAC,+BAA+B,CAAC,CAAC,CAI5F;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,sBAAsB,GAChC,gBAAgB,CAAC,OAAO,SAAS,EAAE,qBAAqB,CAAC,+BAA+B,CAAC,CAAC,CAI5F;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,GACtB,gBAAgB,CAAC,OAAO,SAAS,EAAE,qBAAqB,CAAC,+BAA+B,CAAC,CAAC,CAI5F;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,MAAM,GACzB,gBAAgB,CAAC,OAAO,SAAS,EAAE,qBAAqB,CAAC,+BAA+B,CAAC,CAAC,CAI5F"}
@@ -0,0 +1,40 @@
1
+ import { append, aspect, mergeByName, override, patchEach, replace, workloads } from './primitives.js';
2
+ export function workloadOverride(patch) {
3
+ return aspect.on(workloads, override(patch));
4
+ }
5
+ /** Creates a workload aspect that sets replica count. */
6
+ export function withReplicas(count) {
7
+ return workloadOverride({ spec: { replicas: replace(count) } });
8
+ }
9
+ /** Creates a workload aspect that adds or updates env vars on every container. */
10
+ export function withEnvVars(vars) {
11
+ const env = Object.entries(vars).map(([name, value]) => ({ name, value }));
12
+ return workloadOverride({
13
+ spec: { template: { spec: { containers: patchEach({ env: mergeByName(env) }) } } },
14
+ });
15
+ }
16
+ /** Creates a workload aspect that appends envFrom sources to every container. */
17
+ export function withEnvFrom(envFrom) {
18
+ return workloadOverride({
19
+ spec: { template: { spec: { containers: patchEach({ envFrom: append(envFrom) }) } } },
20
+ });
21
+ }
22
+ /** Creates a workload aspect that sets resource requirements on every container. */
23
+ export function withResourceDefaults(resources) {
24
+ return workloadOverride({
25
+ spec: { template: { spec: { containers: patchEach({ resources: replace(resources) }) } } },
26
+ });
27
+ }
28
+ /** Creates a workload aspect that sets imagePullPolicy on every container. */
29
+ export function withImagePullPolicy(policy) {
30
+ return workloadOverride({
31
+ spec: { template: { spec: { containers: patchEach({ imagePullPolicy: replace(policy) }) } } },
32
+ });
33
+ }
34
+ /** Creates a workload aspect that sets serviceAccountName on pod templates. */
35
+ export function withServiceAccount(serviceAccountName) {
36
+ return workloadOverride({
37
+ spec: { template: { spec: { serviceAccountName: replace(serviceAccountName) } } },
38
+ });
39
+ }
40
+ //# sourceMappingURL=workload-aspects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workload-aspects.js","sourceRoot":"","sources":["../../../src/core/aspects/workload-aspects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAYvG,MAAM,UAAU,gBAAgB,CAC9B,KAA2D;IAE3D,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAkC,KAAK,CAAC,CAG3E,CAAC;AACJ,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAC1B,KAAa;IAEb,OAAO,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,WAAW,CACzB,IAAe;IAEf,MAAM,GAAG,GAAe,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACvF,OAAO,gBAAgB,CAAC;QACtB,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;KACnF,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,WAAW,CACzB,OAAmC;IAEnC,OAAO,gBAAgB,CAAC;QACtB,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;KACtF,CAAC,CAAC;AACL,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,oBAAoB,CAClC,SAAiC;IAEjC,OAAO,gBAAgB,CAAC;QACtB,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;KAC3F,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CACjC,MAAuB;IAEvB,OAAO,gBAAgB,CAAC;QACtB,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;KAC9F,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAChC,kBAA0B;IAE1B,OAAO,gBAAgB,CAAC;QACtB,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE;KAClF,CAAC,CAAC;AACL,CAAC"}
@@ -11,6 +11,9 @@
11
11
  * single canonical location to avoid accidental duplication.
12
12
  */
13
13
  import type { DeploymentClosure } from '../types/deployment.js';
14
+ import type { SingletonDefinitionRecord } from '../types/deployment.js';
15
+ import type { KubernetesResource } from '../types/kubernetes.js';
16
+ import type { KroCompatibleType, ResourceGraphDefinition } from '../types/serialization.js';
14
17
  import type { Enhanced } from '../types.js';
15
18
  /**
16
19
  * Context for imperative composition pattern.
@@ -18,7 +21,7 @@ import type { Enhanced } from '../types.js';
18
21
  */
19
22
  export interface CompositionContext {
20
23
  /** Map of resource ID to Enhanced resource */
21
- resources: Record<string, Enhanced<any, any>>;
24
+ resources: Record<string, Enhanced<unknown, unknown>>;
22
25
  /** Map of closure ID to deployment closure */
23
26
  closures: Record<string, DeploymentClosure>;
24
27
  /** Counter for generating unique resource IDs */
@@ -30,7 +33,7 @@ export interface CompositionContext {
30
33
  /** Map of variable names to resource IDs for CEL expression generation */
31
34
  variableMappings: Record<string, string>;
32
35
  /** Add a resource to the context */
33
- addResource(id: string, resource: Enhanced<any, any>): void;
36
+ addResource(id: string, resource: Enhanced<unknown, unknown>): void;
34
37
  /** Add a deployment closure to the context */
35
38
  addClosure(id: string, closure: DeploymentClosure): void;
36
39
  /** Add a variable to resource ID mapping */
@@ -53,6 +56,46 @@ export interface CompositionContext {
53
56
  * without relying on string-pattern heuristics.
54
57
  */
55
58
  nestedCompositionIds?: Set<string>;
59
+ /**
60
+ * Map of nested composition baseId → its `compositionFn` reference.
61
+ *
62
+ * Populated alongside `nestedCompositionIds` whenever a nested composition
63
+ * is registered. Used by `arktypeToKroSchema` to source-parse each inner
64
+ * composition for `?? <literal>` defaults via `extractNullishDefaults`,
65
+ * and merge those defaults into the outer schema's specFields. Without
66
+ * this, the outer schema would emit `${schema.spec.X.Y}` references for
67
+ * fields that the inner declares with a JS default but the outer never
68
+ * exposes — and KRO would reject the RGD because the field isn't in
69
+ * the outer schema.
70
+ *
71
+ * Entries propagate up across nesting levels: an inner composition's
72
+ * own nested fns are copied into its parent's map at merge time so
73
+ * default-extraction at the outermost level can see all nesting depths.
74
+ */
75
+ nestedCompositionFns?: Map<string, (...args: any[]) => unknown>;
76
+ /** Map of nested composition baseId -> nested composition schema definition. */
77
+ nestedCompositionDefinitions?: Map<string, ResourceGraphDefinition<KroCompatibleType, KroCompatibleType>>;
78
+ /** Map of nested composition baseId -> resources emitted during its proxy execution. */
79
+ nestedCompositionResources?: Map<string, Record<string, KubernetesResource>>;
80
+ /** Map of nested composition baseId -> inner spec path prefix to parent spec path prefix. */
81
+ nestedCompositionSpecMappings?: Map<string, Record<string, string>>;
82
+ /** Map of nested composition baseId -> returned status snapshot. */
83
+ nestedStatusSnapshots?: Map<string, Record<string, unknown>>;
84
+ /** Singleton definitions collected while executing the composition. */
85
+ singletonDefinitions?: Map<string, SingletonDefinitionRecord>;
86
+ /** True when this context is a direct-mode re-execution. */
87
+ isReExecution?: boolean | undefined;
88
+ /**
89
+ * True when this context was created to execute a composition AS A NESTED
90
+ * CALL with a concrete spec from the caller (as opposed to the composition's
91
+ * own definition-time pass with a schema proxy). Used by
92
+ * `processCompositionBodyAnalysis` to skip hybrid-branch re-capture — the
93
+ * outer composition is the authority on branch conditions, and re-running
94
+ * the inner composition with a fresh inner schema proxy would produce
95
+ * differential conditionals referencing inner-schema fields that don't
96
+ * exist in the outer RGD.
97
+ */
98
+ isNestedCall?: boolean | undefined;
56
99
  }
57
100
  /**
58
101
  * Options for composition context creation.
@@ -64,6 +107,19 @@ export interface CompositionContextOptions {
64
107
  * resources with the same id (e.g., 'regionDep' → 'regionDep', 'regionDep-1', 'regionDep-2').
65
108
  */
66
109
  deduplicateIds?: boolean;
110
+ /**
111
+ * When true, this context is a direct-mode re-execution with real spec
112
+ * values. Nested compositions should skip their definition-time proxy
113
+ * pass (which generates CEL) and only run the spec-driven execution.
114
+ */
115
+ isReExecution?: boolean;
116
+ /**
117
+ * When true, this context was created to execute a composition as a
118
+ * nested call with a concrete spec from the caller. Signals to
119
+ * `processCompositionBodyAnalysis` that hybrid-branch re-capture should
120
+ * be skipped — see {@link CompositionContext.isNestedCall}.
121
+ */
122
+ isNestedCall?: boolean;
67
123
  }
68
124
  /**
69
125
  * Check if the current execution is within a status builder context.
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/composition/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC5C,iDAAiD;IACjD,eAAe,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,0BAA0B,EAAE,MAAM,CAAC;IACnC,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,oCAAoC;IACpC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5D,8CAA8C;IAC9C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzD,4CAA4C;IAC5C,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnE,oCAAoC;IACpC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxD,mCAAmC;IACnC,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AA4BD;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE3D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,kBAAkB,GAAG,SAAS,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAExF;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,iBAAiB,EACnE,cAAc,EAAE,MAAM,CAAC,EACvB,IAAI,CAAC,EAAE,MAAM,GACZ,CAAC,CAYH;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,CAAC,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,yBAAyB,GACzC,kBAAkB,CAkCpB"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/composition/context.ts"],"names":[],"mappings":"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"}
@@ -96,6 +96,10 @@ export function createCompositionContext(name, contextOptions) {
96
96
  closureCounter: 0,
97
97
  compositionInstanceCounter: 0,
98
98
  variableMappings: {},
99
+ nestedStatusSnapshots: new Map(),
100
+ singletonDefinitions: new Map(),
101
+ isReExecution: contextOptions?.isReExecution,
102
+ isNestedCall: contextOptions?.isNestedCall,
99
103
  addResource(id, resource) {
100
104
  if (contextOptions?.deduplicateIds && id in this.resources) {
101
105
  // Append numeric suffix to make the key unique
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/core/composition/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/core/composition/context.ts"],"names":[],"mappings":"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"}