typekro 0.5.0 → 0.8.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 (345) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +1 -1
  3. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
  4. package/dist/compositions/typekro-runtime/typekro-runtime.js +16 -2
  5. package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
  6. package/dist/core/composition/context.d.ts +14 -0
  7. package/dist/core/composition/context.d.ts.map +1 -1
  8. package/dist/core/composition/context.js.map +1 -1
  9. package/dist/core/composition/imperative.d.ts.map +1 -1
  10. package/dist/core/composition/imperative.js +59 -30
  11. package/dist/core/composition/imperative.js.map +1 -1
  12. package/dist/core/composition/nested-status-cel.d.ts +50 -0
  13. package/dist/core/composition/nested-status-cel.d.ts.map +1 -0
  14. package/dist/core/composition/nested-status-cel.js +169 -0
  15. package/dist/core/composition/nested-status-cel.js.map +1 -0
  16. package/dist/core/constants/brands.d.ts +1 -1
  17. package/dist/core/constants/brands.d.ts.map +1 -1
  18. package/dist/core/constants/brands.js +1 -1
  19. package/dist/core/constants/brands.js.map +1 -1
  20. package/dist/core/containers/build.d.ts +50 -0
  21. package/dist/core/containers/build.d.ts.map +1 -0
  22. package/dist/core/containers/build.js +146 -0
  23. package/dist/core/containers/build.js.map +1 -0
  24. package/dist/core/containers/errors.d.ts +14 -0
  25. package/dist/core/containers/errors.d.ts.map +1 -0
  26. package/dist/core/containers/errors.js +48 -0
  27. package/dist/core/containers/errors.js.map +1 -0
  28. package/dist/core/containers/exec.d.ts +36 -0
  29. package/dist/core/containers/exec.d.ts.map +1 -0
  30. package/dist/core/containers/exec.js +110 -0
  31. package/dist/core/containers/exec.js.map +1 -0
  32. package/dist/core/containers/index.d.ts +21 -0
  33. package/dist/core/containers/index.d.ts.map +1 -0
  34. package/dist/core/containers/index.js +20 -0
  35. package/dist/core/containers/index.js.map +1 -0
  36. package/dist/core/containers/registries/ecr.d.ts +22 -0
  37. package/dist/core/containers/registries/ecr.d.ts.map +1 -0
  38. package/dist/core/containers/registries/ecr.js +118 -0
  39. package/dist/core/containers/registries/ecr.js.map +1 -0
  40. package/dist/core/containers/registries/index.d.ts +9 -0
  41. package/dist/core/containers/registries/index.d.ts.map +1 -0
  42. package/dist/core/containers/registries/index.js +23 -0
  43. package/dist/core/containers/registries/index.js.map +1 -0
  44. package/dist/core/containers/registries/orbstack.d.ts +14 -0
  45. package/dist/core/containers/registries/orbstack.d.ts.map +1 -0
  46. package/dist/core/containers/registries/orbstack.js +24 -0
  47. package/dist/core/containers/registries/orbstack.js.map +1 -0
  48. package/dist/core/containers/registries/types.d.ts +94 -0
  49. package/dist/core/containers/registries/types.d.ts.map +1 -0
  50. package/dist/core/containers/registries/types.js +11 -0
  51. package/dist/core/containers/registries/types.js.map +1 -0
  52. package/dist/core/dependencies/graph.d.ts +4 -0
  53. package/dist/core/dependencies/graph.d.ts.map +1 -1
  54. package/dist/core/dependencies/graph.js +6 -0
  55. package/dist/core/dependencies/graph.js.map +1 -1
  56. package/dist/core/dependencies/resolver.d.ts +28 -0
  57. package/dist/core/dependencies/resolver.d.ts.map +1 -1
  58. package/dist/core/dependencies/resolver.js +138 -5
  59. package/dist/core/dependencies/resolver.js.map +1 -1
  60. package/dist/core/deployment/direct-factory.d.ts +13 -0
  61. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  62. package/dist/core/deployment/direct-factory.js +99 -0
  63. package/dist/core/deployment/direct-factory.js.map +1 -1
  64. package/dist/core/deployment/engine.d.ts.map +1 -1
  65. package/dist/core/deployment/engine.js +45 -2
  66. package/dist/core/deployment/engine.js.map +1 -1
  67. package/dist/core/deployment/kro-factory.d.ts +28 -0
  68. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  69. package/dist/core/deployment/kro-factory.js +243 -13
  70. package/dist/core/deployment/kro-factory.js.map +1 -1
  71. package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
  72. package/dist/core/deployment/kro-readiness.js +10 -1
  73. package/dist/core/deployment/kro-readiness.js.map +1 -1
  74. package/dist/core/deployment/nested-composition-status.d.ts +33 -0
  75. package/dist/core/deployment/nested-composition-status.d.ts.map +1 -0
  76. package/dist/core/deployment/nested-composition-status.js +101 -0
  77. package/dist/core/deployment/nested-composition-status.js.map +1 -0
  78. package/dist/core/deployment/readiness-waiter.d.ts.map +1 -1
  79. package/dist/core/deployment/readiness-waiter.js +23 -6
  80. package/dist/core/deployment/readiness-waiter.js.map +1 -1
  81. package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
  82. package/dist/core/deployment/rollback-manager.js +19 -0
  83. package/dist/core/deployment/rollback-manager.js.map +1 -1
  84. package/dist/core/deployment/strategies/direct-strategy.d.ts +6 -0
  85. package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
  86. package/dist/core/deployment/strategies/direct-strategy.js +133 -35
  87. package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
  88. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts +8 -2
  89. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
  90. package/dist/core/expressions/composition/composition-analyzer-helpers.js +34 -2
  91. package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -1
  92. package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts.map +1 -1
  93. package/dist/core/expressions/composition/composition-analyzer-ternary.js +52 -28
  94. package/dist/core/expressions/composition/composition-analyzer-ternary.js.map +1 -1
  95. package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts.map +1 -1
  96. package/dist/core/expressions/composition/composition-analyzer-traversal.js +11 -4
  97. package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -1
  98. package/dist/core/expressions/composition/composition-analyzer-types.d.ts +8 -0
  99. package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -1
  100. package/dist/core/expressions/composition/composition-analyzer.d.ts +1 -1
  101. package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -1
  102. package/dist/core/expressions/composition/composition-analyzer.js +8 -2
  103. package/dist/core/expressions/composition/composition-analyzer.js.map +1 -1
  104. package/dist/core/expressions/composition/imperative-analyzer.d.ts +8 -0
  105. package/dist/core/expressions/composition/imperative-analyzer.d.ts.map +1 -1
  106. package/dist/core/expressions/composition/imperative-analyzer.js +111 -16
  107. package/dist/core/expressions/composition/imperative-analyzer.js.map +1 -1
  108. package/dist/core/metadata/resource-metadata.d.ts +4 -0
  109. package/dist/core/metadata/resource-metadata.d.ts.map +1 -1
  110. package/dist/core/metadata/resource-metadata.js.map +1 -1
  111. package/dist/core/proxy/create-resource.d.ts.map +1 -1
  112. package/dist/core/proxy/create-resource.js +63 -21
  113. package/dist/core/proxy/create-resource.js.map +1 -1
  114. package/dist/core/references/cel.d.ts +48 -0
  115. package/dist/core/references/cel.d.ts.map +1 -1
  116. package/dist/core/references/cel.js +82 -0
  117. package/dist/core/references/cel.js.map +1 -1
  118. package/dist/core/references/external-refs.d.ts +2 -0
  119. package/dist/core/references/external-refs.d.ts.map +1 -1
  120. package/dist/core/references/external-refs.js +3 -0
  121. package/dist/core/references/external-refs.js.map +1 -1
  122. package/dist/core/references/resolver.d.ts +12 -4
  123. package/dist/core/references/resolver.d.ts.map +1 -1
  124. package/dist/core/references/resolver.js +152 -69
  125. package/dist/core/references/resolver.js.map +1 -1
  126. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  127. package/dist/core/references/schema-proxy.js +5 -4
  128. package/dist/core/references/schema-proxy.js.map +1 -1
  129. package/dist/core/serialization/cel-references.d.ts +1 -1
  130. package/dist/core/serialization/cel-references.d.ts.map +1 -1
  131. package/dist/core/serialization/cel-references.js +191 -24
  132. package/dist/core/serialization/cel-references.js.map +1 -1
  133. package/dist/core/serialization/core.d.ts +8 -1
  134. package/dist/core/serialization/core.d.ts.map +1 -1
  135. package/dist/core/serialization/core.js +434 -7
  136. package/dist/core/serialization/core.js.map +1 -1
  137. package/dist/core/serialization/kro-post-processing.d.ts +46 -0
  138. package/dist/core/serialization/kro-post-processing.d.ts.map +1 -0
  139. package/dist/core/serialization/kro-post-processing.js +103 -0
  140. package/dist/core/serialization/kro-post-processing.js.map +1 -0
  141. package/dist/core/serialization/schema.d.ts +61 -3
  142. package/dist/core/serialization/schema.d.ts.map +1 -1
  143. package/dist/core/serialization/schema.js +520 -18
  144. package/dist/core/serialization/schema.js.map +1 -1
  145. package/dist/core/serialization/status-analysis-pipeline.d.ts +4 -0
  146. package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -1
  147. package/dist/core/serialization/status-analysis-pipeline.js +127 -10
  148. package/dist/core/serialization/status-analysis-pipeline.js.map +1 -1
  149. package/dist/core/serialization/yaml.d.ts.map +1 -1
  150. package/dist/core/serialization/yaml.js +27 -4
  151. package/dist/core/serialization/yaml.js.map +1 -1
  152. package/dist/core/types/composable.d.ts +62 -0
  153. package/dist/core/types/composable.d.ts.map +1 -0
  154. package/dist/core/types/composable.js +51 -0
  155. package/dist/core/types/composable.js.map +1 -0
  156. package/dist/core/types/deployment.d.ts +2 -1
  157. package/dist/core/types/deployment.d.ts.map +1 -1
  158. package/dist/core/types/index.d.ts +1 -0
  159. package/dist/core/types/index.d.ts.map +1 -1
  160. package/dist/core/types/index.js +1 -0
  161. package/dist/core/types/index.js.map +1 -1
  162. package/dist/core/types/serialization.d.ts +40 -1
  163. package/dist/core/types/serialization.d.ts.map +1 -1
  164. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  165. package/dist/core/validation/cel-validator.js +55 -31
  166. package/dist/core/validation/cel-validator.js.map +1 -1
  167. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +55 -0
  168. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts.map +1 -0
  169. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +92 -0
  170. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js.map +1 -0
  171. package/dist/factories/cnpg/compositions/index.d.ts +2 -0
  172. package/dist/factories/cnpg/compositions/index.d.ts.map +1 -0
  173. package/dist/factories/cnpg/compositions/index.js +2 -0
  174. package/dist/factories/cnpg/compositions/index.js.map +1 -0
  175. package/dist/factories/cnpg/index.d.ts +42 -0
  176. package/dist/factories/cnpg/index.d.ts.map +1 -0
  177. package/dist/factories/cnpg/index.js +42 -0
  178. package/dist/factories/cnpg/index.js.map +1 -0
  179. package/dist/factories/cnpg/resources/backup.d.ts +34 -0
  180. package/dist/factories/cnpg/resources/backup.d.ts.map +1 -0
  181. package/dist/factories/cnpg/resources/backup.js +87 -0
  182. package/dist/factories/cnpg/resources/backup.js.map +1 -0
  183. package/dist/factories/cnpg/resources/cluster.d.ts +55 -0
  184. package/dist/factories/cnpg/resources/cluster.d.ts.map +1 -0
  185. package/dist/factories/cnpg/resources/cluster.js +123 -0
  186. package/dist/factories/cnpg/resources/cluster.js.map +1 -0
  187. package/dist/factories/cnpg/resources/helm.d.ts +45 -0
  188. package/dist/factories/cnpg/resources/helm.d.ts.map +1 -0
  189. package/dist/factories/cnpg/resources/helm.js +78 -0
  190. package/dist/factories/cnpg/resources/helm.js.map +1 -0
  191. package/dist/factories/cnpg/resources/index.d.ts +6 -0
  192. package/dist/factories/cnpg/resources/index.d.ts.map +1 -0
  193. package/dist/factories/cnpg/resources/index.js +6 -0
  194. package/dist/factories/cnpg/resources/index.js.map +1 -0
  195. package/dist/factories/cnpg/resources/pooler.d.ts +38 -0
  196. package/dist/factories/cnpg/resources/pooler.d.ts.map +1 -0
  197. package/dist/factories/cnpg/resources/pooler.js +97 -0
  198. package/dist/factories/cnpg/resources/pooler.js.map +1 -0
  199. package/dist/factories/cnpg/resources/scheduled-backup.d.ts +35 -0
  200. package/dist/factories/cnpg/resources/scheduled-backup.d.ts.map +1 -0
  201. package/dist/factories/cnpg/resources/scheduled-backup.js +68 -0
  202. package/dist/factories/cnpg/resources/scheduled-backup.js.map +1 -0
  203. package/dist/factories/cnpg/types.d.ts +507 -0
  204. package/dist/factories/cnpg/types.d.ts.map +1 -0
  205. package/dist/factories/cnpg/types.js +398 -0
  206. package/dist/factories/cnpg/types.js.map +1 -0
  207. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts +70 -0
  208. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts.map +1 -0
  209. package/dist/factories/cnpg/utils/helm-values-mapper.js +79 -0
  210. package/dist/factories/cnpg/utils/helm-values-mapper.js.map +1 -0
  211. package/dist/factories/cnpg/utils/index.d.ts +2 -0
  212. package/dist/factories/cnpg/utils/index.d.ts.map +1 -0
  213. package/dist/factories/cnpg/utils/index.js +2 -0
  214. package/dist/factories/cnpg/utils/index.js.map +1 -0
  215. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  216. package/dist/factories/helm/helm-release.js +4 -0
  217. package/dist/factories/helm/helm-release.js.map +1 -1
  218. package/dist/factories/helm/types.d.ts +2 -0
  219. package/dist/factories/helm/types.d.ts.map +1 -1
  220. package/dist/factories/inngest/compositions/index.d.ts +2 -0
  221. package/dist/factories/inngest/compositions/index.d.ts.map +1 -0
  222. package/dist/factories/inngest/compositions/index.js +2 -0
  223. package/dist/factories/inngest/compositions/index.js.map +1 -0
  224. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +150 -0
  225. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -0
  226. package/dist/factories/inngest/compositions/inngest-bootstrap.js +90 -0
  227. package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -0
  228. package/dist/factories/inngest/index.d.ts +45 -0
  229. package/dist/factories/inngest/index.d.ts.map +1 -0
  230. package/dist/factories/inngest/index.js +45 -0
  231. package/dist/factories/inngest/index.js.map +1 -0
  232. package/dist/factories/inngest/resources/helm.d.ts +53 -0
  233. package/dist/factories/inngest/resources/helm.d.ts.map +1 -0
  234. package/dist/factories/inngest/resources/helm.js +88 -0
  235. package/dist/factories/inngest/resources/helm.js.map +1 -0
  236. package/dist/factories/inngest/resources/index.d.ts +2 -0
  237. package/dist/factories/inngest/resources/index.d.ts.map +1 -0
  238. package/dist/factories/inngest/resources/index.js +2 -0
  239. package/dist/factories/inngest/resources/index.js.map +1 -0
  240. package/dist/factories/inngest/types.d.ts +177 -0
  241. package/dist/factories/inngest/types.d.ts.map +1 -0
  242. package/dist/factories/inngest/types.js +189 -0
  243. package/dist/factories/inngest/types.js.map +1 -0
  244. package/dist/factories/inngest/utils/helm-values-mapper.d.ts +127 -0
  245. package/dist/factories/inngest/utils/helm-values-mapper.d.ts.map +1 -0
  246. package/dist/factories/inngest/utils/helm-values-mapper.js +116 -0
  247. package/dist/factories/inngest/utils/helm-values-mapper.js.map +1 -0
  248. package/dist/factories/inngest/utils/index.d.ts +2 -0
  249. package/dist/factories/inngest/utils/index.d.ts.map +1 -0
  250. package/dist/factories/inngest/utils/index.js +2 -0
  251. package/dist/factories/inngest/utils/index.js.map +1 -0
  252. package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
  253. package/dist/factories/kubernetes/config/secret.js +11 -1
  254. package/dist/factories/kubernetes/config/secret.js.map +1 -1
  255. package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -1
  256. package/dist/factories/kubernetes/core/namespace.js +1 -1
  257. package/dist/factories/kubernetes/core/namespace.js.map +1 -1
  258. package/dist/factories/searxng/compositions/index.d.ts +2 -0
  259. package/dist/factories/searxng/compositions/index.d.ts.map +1 -0
  260. package/dist/factories/searxng/compositions/index.js +2 -0
  261. package/dist/factories/searxng/compositions/index.js.map +1 -0
  262. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts +65 -0
  263. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -0
  264. package/dist/factories/searxng/compositions/searxng-bootstrap.js +237 -0
  265. package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -0
  266. package/dist/factories/searxng/index.d.ts +29 -0
  267. package/dist/factories/searxng/index.d.ts.map +1 -0
  268. package/dist/factories/searxng/index.js +27 -0
  269. package/dist/factories/searxng/index.js.map +1 -0
  270. package/dist/factories/searxng/resources/index.d.ts +2 -0
  271. package/dist/factories/searxng/resources/index.d.ts.map +1 -0
  272. package/dist/factories/searxng/resources/index.js +2 -0
  273. package/dist/factories/searxng/resources/index.js.map +1 -0
  274. package/dist/factories/searxng/resources/searxng.d.ts +65 -0
  275. package/dist/factories/searxng/resources/searxng.d.ts.map +1 -0
  276. package/dist/factories/searxng/resources/searxng.js +188 -0
  277. package/dist/factories/searxng/resources/searxng.js.map +1 -0
  278. package/dist/factories/searxng/types.d.ts +126 -0
  279. package/dist/factories/searxng/types.d.ts.map +1 -0
  280. package/dist/factories/searxng/types.js +176 -0
  281. package/dist/factories/searxng/types.js.map +1 -0
  282. package/dist/factories/searxng/utils/settings-builder.d.ts +46 -0
  283. package/dist/factories/searxng/utils/settings-builder.d.ts.map +1 -0
  284. package/dist/factories/searxng/utils/settings-builder.js +52 -0
  285. package/dist/factories/searxng/utils/settings-builder.js.map +1 -0
  286. package/dist/factories/simple/config/secret.d.ts.map +1 -1
  287. package/dist/factories/simple/config/secret.js +28 -0
  288. package/dist/factories/simple/config/secret.js.map +1 -1
  289. package/dist/factories/valkey/compositions/index.d.ts +2 -0
  290. package/dist/factories/valkey/compositions/index.d.ts.map +1 -0
  291. package/dist/factories/valkey/compositions/index.js +2 -0
  292. package/dist/factories/valkey/compositions/index.js.map +1 -0
  293. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +41 -0
  294. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -0
  295. package/dist/factories/valkey/compositions/valkey-bootstrap.js +105 -0
  296. package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -0
  297. package/dist/factories/valkey/index.d.ts +50 -0
  298. package/dist/factories/valkey/index.d.ts.map +1 -0
  299. package/dist/factories/valkey/index.js +50 -0
  300. package/dist/factories/valkey/index.js.map +1 -0
  301. package/dist/factories/valkey/resources/helm.d.ts +53 -0
  302. package/dist/factories/valkey/resources/helm.d.ts.map +1 -0
  303. package/dist/factories/valkey/resources/helm.js +82 -0
  304. package/dist/factories/valkey/resources/helm.js.map +1 -0
  305. package/dist/factories/valkey/resources/index.d.ts +3 -0
  306. package/dist/factories/valkey/resources/index.d.ts.map +1 -0
  307. package/dist/factories/valkey/resources/index.js +3 -0
  308. package/dist/factories/valkey/resources/index.js.map +1 -0
  309. package/dist/factories/valkey/resources/valkey.d.ts +46 -0
  310. package/dist/factories/valkey/resources/valkey.d.ts.map +1 -0
  311. package/dist/factories/valkey/resources/valkey.js +123 -0
  312. package/dist/factories/valkey/resources/valkey.js.map +1 -0
  313. package/dist/factories/valkey/types.d.ts +185 -0
  314. package/dist/factories/valkey/types.d.ts.map +1 -0
  315. package/dist/factories/valkey/types.js +204 -0
  316. package/dist/factories/valkey/types.js.map +1 -0
  317. package/dist/factories/valkey/utils/helm-values-mapper.d.ts +32 -0
  318. package/dist/factories/valkey/utils/helm-values-mapper.d.ts.map +1 -0
  319. package/dist/factories/valkey/utils/helm-values-mapper.js +58 -0
  320. package/dist/factories/valkey/utils/helm-values-mapper.js.map +1 -0
  321. package/dist/factories/valkey/utils/index.d.ts +2 -0
  322. package/dist/factories/valkey/utils/index.d.ts.map +1 -0
  323. package/dist/factories/valkey/utils/index.js +2 -0
  324. package/dist/factories/valkey/utils/index.js.map +1 -0
  325. package/dist/factories/webapp/compositions/index.d.ts +2 -0
  326. package/dist/factories/webapp/compositions/index.d.ts.map +1 -0
  327. package/dist/factories/webapp/compositions/index.js +2 -0
  328. package/dist/factories/webapp/compositions/index.js.map +1 -0
  329. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +97 -0
  330. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -0
  331. package/dist/factories/webapp/compositions/web-app-with-processing.js +220 -0
  332. package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -0
  333. package/dist/factories/webapp/index.d.ts +53 -0
  334. package/dist/factories/webapp/index.d.ts.map +1 -0
  335. package/dist/factories/webapp/index.js +53 -0
  336. package/dist/factories/webapp/index.js.map +1 -0
  337. package/dist/factories/webapp/types.d.ts +69 -0
  338. package/dist/factories/webapp/types.d.ts.map +1 -0
  339. package/dist/factories/webapp/types.js +92 -0
  340. package/dist/factories/webapp/types.js.map +1 -0
  341. package/dist/shared/brands.d.ts +16 -0
  342. package/dist/shared/brands.d.ts.map +1 -1
  343. package/dist/shared/brands.js +16 -0
  344. package/dist/shared/brands.js.map +1 -1
  345. package/package.json +29 -1
@@ -0,0 +1,103 @@
1
+ /**
2
+ * KRO YAML Post-Processing Utilities
3
+ *
4
+ * Shared helpers for applying ternary conditionals to resource data before
5
+ * YAML serialization. Used by both the toResourceGraph pipeline (core.ts)
6
+ * and the KRO factory deployment path (kro-factory.ts).
7
+ *
8
+ * Extracted to avoid circular dependencies between core.ts and kro-factory.ts.
9
+ *
10
+ * Note: KRO 0.9+ omit() wrapping for optional fields is NOT in this module —
11
+ * it's applied inline during ref-to-CEL conversion via
12
+ * `SerializationContext.omitFields` in `cel-references.ts`. That keeps
13
+ * `has() ? ... : omit()` generation as a structured operation on
14
+ * KubernetesRef objects instead of a post-hoc regex rewrite of the
15
+ * serialized YAML string.
16
+ */
17
+ /**
18
+ * Apply ternary conditionals to resource data by replacing raw marker sections
19
+ * with CEL conditional expressions. This runs BEFORE processResourceReferences
20
+ * so that the markers within the truthy branch get converted to mixed-template
21
+ * CEL format by the normal pipeline.
22
+ *
23
+ * For `spec.redisUrl ? \`redis:\n url: ${spec.redisUrl}\` : ''`, the raw
24
+ * settings.yml string contains the redis section with a __KUBERNETES_REF__
25
+ * marker. This function replaces that section with a CEL conditional that
26
+ * processResourceReferences will then convert to the final mixed-template form.
27
+ *
28
+ * FRAGILE: operates on raw string values inside resource data by substring
29
+ * matching. The `proxySection` must be byte-identical to what was extracted
30
+ * by `extractTernaryConditionals` in schema.ts — meaning the composition's
31
+ * string construction (typically a template literal) and the re-execution
32
+ * pass both need to produce the same newline/indentation layout. If a
33
+ * composition author post-processes the settings string, interpolates it
34
+ * through another templating layer, or if the extraction heuristic in
35
+ * schema.ts is updated to include/exclude different surrounding context,
36
+ * the match will fail silently and the ternary will not be applied.
37
+ *
38
+ * Tracked for replacement with AST-based detection in
39
+ * https://github.com/yehudacohen/typekro/issues/57
40
+ */
41
+ export function applyTernaryConditionalsToResources(resources, conditionals) {
42
+ for (const { proxySection, conditionField } of conditionals) {
43
+ replaceInResources(resources, proxySection, (matchedSection) => {
44
+ // Split the matched section on markers so we can separately handle
45
+ // LITERAL text (needs CEL string-literal escaping) and CEL REFERENCES
46
+ // (must NOT be escaped — they're emitted as `string(ref)` concatenation).
47
+ const markerRe = /__KUBERNETES_REF_(__schema__|[^_]+)_([a-zA-Z0-9.$]+)__/g;
48
+ let celTruthy = '';
49
+ let lastIndex = 0;
50
+ let m = markerRe.exec(matchedSection);
51
+ while (m !== null) {
52
+ if (m.index > lastIndex) {
53
+ celTruthy += escapeCelStringLiteral(matchedSection.slice(lastIndex, m.index));
54
+ }
55
+ const resourceId = m[1];
56
+ const fieldPath = m[2];
57
+ const celPath = resourceId === '__schema__' ? `schema.${fieldPath}` : `${resourceId}.${fieldPath}`;
58
+ celTruthy += `" + string(${celPath}) + "`;
59
+ lastIndex = m.index + m[0].length;
60
+ m = markerRe.exec(matchedSection);
61
+ }
62
+ if (lastIndex < matchedSection.length) {
63
+ celTruthy += escapeCelStringLiteral(matchedSection.slice(lastIndex));
64
+ }
65
+ return `\${has(schema.spec.${conditionField}) ? "${celTruthy}" : ""}`;
66
+ });
67
+ }
68
+ }
69
+ /**
70
+ * Escape a literal text chunk for inclusion inside a CEL double-quoted
71
+ * string. Must handle backslash, double quote, newline, carriage return,
72
+ * and tab — in that order, so that the backslash escape doesn't re-escape
73
+ * the backslashes introduced by later substitutions.
74
+ *
75
+ * Previous implementation only escaped newlines, which left literal `"` and
76
+ * `\` characters unescaped. That was a latent bug: any composition that
77
+ * emitted quoted YAML values or Windows-style paths inside a ternary branch
78
+ * would produce malformed CEL and the KRO reconciler would reject the RGD.
79
+ */
80
+ function escapeCelStringLiteral(literal) {
81
+ return literal
82
+ .replace(/\\/g, '\\\\')
83
+ .replace(/"/g, '\\"')
84
+ .replace(/\n/g, '\\n')
85
+ .replace(/\r/g, '\\r')
86
+ .replace(/\t/g, '\\t');
87
+ }
88
+ /** Recursively find and replace string sections in resource data. */
89
+ function replaceInResources(obj, section, replacer) {
90
+ if (!obj || typeof obj !== 'object')
91
+ return;
92
+ const record = obj;
93
+ for (const key of Object.keys(record)) {
94
+ const val = record[key];
95
+ if (typeof val === 'string' && val.includes(section)) {
96
+ record[key] = val.replaceAll(section, replacer(section));
97
+ }
98
+ else if (typeof val === 'object' && val !== null) {
99
+ replaceInResources(val, section, replacer);
100
+ }
101
+ }
102
+ }
103
+ //# sourceMappingURL=kro-post-processing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kro-post-processing.js","sourceRoot":"","sources":["../../../src/core/serialization/kro-post-processing.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,66 @@
6
6
  * from resource maps.
7
7
  */
8
8
  import type { Type } from 'arktype';
9
- import type { SchemaDefinition } from '../types/serialization.js';
9
+ import type { KroSimpleSchemaWithMetadata, SchemaDefinition } from '../types/serialization.js';
10
10
  import type { KroCompatibleType, KroSimpleSchema, KubernetesResource } from '../types.js';
11
+ /**
12
+ * Extract literal default values from `spec.field ?? literalValue` patterns
13
+ * in a composition function's source code.
14
+ *
15
+ * **FAST PATH — NOT AUTHORITATIVE.** This regex-based extraction runs first
16
+ * to catch the common case where a composition uses `spec.X ?? 'literal'`
17
+ * with a literal right-hand side. It is intentionally conservative:
18
+ *
19
+ * - Both `??` and the literal must be on the same source line.
20
+ * - The literal must be a string, number, boolean, or minified !0/!1 form.
21
+ * - The right-hand side cannot be a constant, variable, template literal,
22
+ * function call, or expression involving other spec fields.
23
+ *
24
+ * Anything this regex misses is caught by {@link resolveDefaultsByReExecution}
25
+ * (Phase 2), which actually executes the composition function with optional
26
+ * fields set to `undefined` and observes the concrete resolved values. Phase 2
27
+ * is the authoritative source; this function only exists to short-circuit
28
+ * the common case so the heavy re-execution doesn't need to compare every
29
+ * field for every composition.
30
+ *
31
+ * In KRO mode, `??` doesn't trigger for proxy objects (they're truthy).
32
+ * Instead, we detect these patterns via fn.toString() and add
33
+ * `| default=<value>` annotations to the KRO SimpleSchema so that KRO
34
+ * uses the intended default when the field isn't provided in the CR.
35
+ *
36
+ * NOTE: `.orValue()` is NOT supported in KRO resource templates (only in
37
+ * status CEL). Schema `| default=` is the correct mechanism for resource
38
+ * template defaults.
39
+ *
40
+ * Handles:
41
+ * - `spec.field ?? 'string'` or `spec.field ?? "string"`
42
+ * - `spec.field ?? 123` (numbers)
43
+ * - `spec.field ?? true/false` (booleans, including minified !0/!1)
44
+ * - `spec.parent?.child ?? value` (optional chaining)
45
+ */
46
+ export declare function extractNullishDefaults(fnSource: string): Record<string, string | number | boolean>;
47
+ /**
48
+ * Placeholder value passed in place of required spec fields during the
49
+ * defaults-extraction re-execution. Any captured leaf value that IS this
50
+ * string, CONTAINS this string as a substring (from template-literal
51
+ * interpolation), or is NaN (from arithmetic coercion of the string) is
52
+ * filtered out by the sentinel-detection logic in `extractDefaultsByComparison`
53
+ * so it never gets recorded as a real schema default.
54
+ *
55
+ * The choice of a string (rather than a Symbol or object) is deliberate:
56
+ * - String concatenation preserves the token so template-literal usage
57
+ * produces a clearly-identifiable captured value (e.g. `"__typekro_default__-cfg"`).
58
+ * - Truthiness matches the real proxy behavior (proxies are truthy), so
59
+ * `if (spec.requiredField)` takes the same branch in both runs.
60
+ * - Numeric contexts coerce to NaN in both runs (proxies also coerce to
61
+ * NaN because functions have no numeric value), so arithmetic-derived
62
+ * NaN values are symmetric across runs and don't produce spurious defaults.
63
+ *
64
+ * If the propagation ever drifts out of this sentinel's shape (e.g. someone
65
+ * introduces a Symbol-based sentinel), update `isSentinelDerivedValue` below
66
+ * to match.
67
+ */
68
+ export declare const REQUIRED_FIELD_SENTINEL = "__typekro_default__";
11
69
  /**
12
70
  * Convert an Arktype schema to a Kro-compatible schema definition.
13
71
  *
@@ -22,7 +80,7 @@ export declare function arktypeToKroSchema(name: string, schemaDefinition: {
22
80
  kind: string;
23
81
  spec: Type;
24
82
  status: Type;
25
- }, _resources?: Record<string, KubernetesResource>, statusMappings?: Record<string, unknown>): KroSimpleSchema;
83
+ }, resources?: Record<string, KubernetesResource>, statusMappings?: Record<string, unknown>, nestedStatusCel?: Record<string, string>): KroSimpleSchemaWithMetadata;
26
84
  /**
27
85
  * Generate a minimal Kro schema from a resource map (no Arktype).
28
86
  *
@@ -41,5 +99,5 @@ export declare function generateKroSchema(name: string, _resources: Record<strin
41
99
  * @see {@link arktypeToKroSchema} for the low-level variant.
42
100
  * @see {@link generateKroSchema} for a simple variant without Arktype.
43
101
  */
44
- export declare function generateKroSchemaFromArktype<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType>(name: string, schemaDefinition: SchemaDefinition<TSpec, TStatus>, resources?: Record<string, KubernetesResource>, statusMappings?: Record<string, unknown>): KroSimpleSchema;
102
+ export declare function generateKroSchemaFromArktype<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType>(name: string, schemaDefinition: SchemaDefinition<TSpec, TStatus>, resources?: Record<string, KubernetesResource>, statusMappings?: Record<string, unknown>, nestedStatusCel?: Record<string, string>): KroSimpleSchemaWithMetadata;
45
103
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/core/serialization/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA0G1F;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,IAAI,CAAC;CACd,EACD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC/C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,eAAe,CA6BjB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAC7C,eAAe,CAajB;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,SAAS,iBAAiB,EAC/B,OAAO,SAAS,iBAAiB,EAEjC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAClD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC9C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,eAAe,CAEjB"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/core/serialization/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAIpC,OAAO,KAAK,EACV,2BAA2B,EAC3B,gBAAgB,EAEjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA4G1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CA0BlG;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AA8a7D;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,IAAI,CAAC;CACd,EACD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC9C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,2BAA2B,CA0G7B;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAC7C,eAAe,CAajB;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,SAAS,iBAAiB,EAC/B,OAAO,SAAS,iBAAiB,EAEjC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAClD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC9C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,2BAA2B,CAE7B"}