typekro 0.33.9 → 0.34.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 (352) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +0 -33
  3. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
  4. package/dist/compositions/typekro-runtime/typekro-runtime.js +63 -1
  5. package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
  6. package/dist/compositions/typekro-runtime/types.d.ts +8 -0
  7. package/dist/compositions/typekro-runtime/types.d.ts.map +1 -1
  8. package/dist/compositions/typekro-runtime/types.js +1 -0
  9. package/dist/compositions/typekro-runtime/types.js.map +1 -1
  10. package/dist/core/aspects/values-merge.d.ts +17 -0
  11. package/dist/core/aspects/values-merge.d.ts.map +1 -1
  12. package/dist/core/aspects/values-merge.js +67 -8
  13. package/dist/core/aspects/values-merge.js.map +1 -1
  14. package/dist/core/deployment/direct-factory.d.ts +9 -0
  15. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  16. package/dist/core/deployment/direct-factory.js +37 -3
  17. package/dist/core/deployment/direct-factory.js.map +1 -1
  18. package/dist/core/deployment/engine.d.ts +34 -0
  19. package/dist/core/deployment/engine.d.ts.map +1 -1
  20. package/dist/core/deployment/engine.js +173 -29
  21. package/dist/core/deployment/engine.js.map +1 -1
  22. package/dist/core/deployment/index.d.ts +2 -0
  23. package/dist/core/deployment/index.d.ts.map +1 -1
  24. package/dist/core/deployment/index.js +1 -0
  25. package/dist/core/deployment/index.js.map +1 -1
  26. package/dist/core/deployment/k8s-helpers.d.ts +73 -0
  27. package/dist/core/deployment/k8s-helpers.d.ts.map +1 -1
  28. package/dist/core/deployment/k8s-helpers.js +198 -4
  29. package/dist/core/deployment/k8s-helpers.js.map +1 -1
  30. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  31. package/dist/core/deployment/kro-factory.js +21 -1
  32. package/dist/core/deployment/kro-factory.js.map +1 -1
  33. package/dist/core/deployment/status-leaf-resolution.d.ts +101 -0
  34. package/dist/core/deployment/status-leaf-resolution.d.ts.map +1 -0
  35. package/dist/core/deployment/status-leaf-resolution.js +232 -0
  36. package/dist/core/deployment/status-leaf-resolution.js.map +1 -0
  37. package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
  38. package/dist/core/deployment/strategies/base-strategy.js +31 -3
  39. package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
  40. package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -1
  41. package/dist/core/deployment/strategies/kro-strategy.js +8 -1
  42. package/dist/core/deployment/strategies/kro-strategy.js.map +1 -1
  43. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
  44. package/dist/core/expressions/composition/composition-analyzer-helpers.js +20 -2
  45. package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -1
  46. package/dist/core/kro/index.d.ts +6 -0
  47. package/dist/core/kro/index.d.ts.map +1 -0
  48. package/dist/core/kro/index.js +6 -0
  49. package/dist/core/kro/index.js.map +1 -0
  50. package/dist/core/kro/label-guard-capability.d.ts +141 -0
  51. package/dist/core/kro/label-guard-capability.d.ts.map +1 -0
  52. package/dist/core/kro/label-guard-capability.js +257 -0
  53. package/dist/core/kro/label-guard-capability.js.map +1 -0
  54. package/dist/core/kro/labels.d.ts +56 -0
  55. package/dist/core/kro/labels.d.ts.map +1 -0
  56. package/dist/core/kro/labels.js +62 -0
  57. package/dist/core/kro/labels.js.map +1 -0
  58. package/dist/core/kubernetes/api-capability.d.ts +196 -0
  59. package/dist/core/kubernetes/api-capability.d.ts.map +1 -0
  60. package/dist/core/kubernetes/api-capability.js +301 -0
  61. package/dist/core/kubernetes/api-capability.js.map +1 -0
  62. package/dist/core/kubernetes/index.d.ts +2 -0
  63. package/dist/core/kubernetes/index.d.ts.map +1 -1
  64. package/dist/core/kubernetes/index.js +2 -0
  65. package/dist/core/kubernetes/index.js.map +1 -1
  66. package/dist/core/kubernetes/naming.d.ts +100 -0
  67. package/dist/core/kubernetes/naming.d.ts.map +1 -0
  68. package/dist/core/kubernetes/naming.js +93 -0
  69. package/dist/core/kubernetes/naming.js.map +1 -0
  70. package/dist/core/planning/direct-runtime-adapter.d.ts.map +1 -1
  71. package/dist/core/planning/direct-runtime-adapter.js +54 -17
  72. package/dist/core/planning/direct-runtime-adapter.js.map +1 -1
  73. package/dist/core/planning/planner.d.ts.map +1 -1
  74. package/dist/core/planning/planner.js +17 -0
  75. package/dist/core/planning/planner.js.map +1 -1
  76. package/dist/core/planning/schema.d.ts.map +1 -1
  77. package/dist/core/planning/schema.js +7 -3
  78. package/dist/core/planning/schema.js.map +1 -1
  79. package/dist/core/references/cel-lexical-scanner.d.ts +100 -1
  80. package/dist/core/references/cel-lexical-scanner.d.ts.map +1 -1
  81. package/dist/core/references/cel-lexical-scanner.js +196 -2
  82. package/dist/core/references/cel-lexical-scanner.js.map +1 -1
  83. package/dist/core/references/cel.d.ts +249 -1
  84. package/dist/core/references/cel.d.ts.map +1 -1
  85. package/dist/core/references/cel.js +289 -8
  86. package/dist/core/references/cel.js.map +1 -1
  87. package/dist/core/serialization/arktype-ast.d.ts +21 -0
  88. package/dist/core/serialization/arktype-ast.d.ts.map +1 -0
  89. package/dist/core/serialization/arktype-ast.js +29 -0
  90. package/dist/core/serialization/arktype-ast.js.map +1 -0
  91. package/dist/core/serialization/cel-references.d.ts +133 -32
  92. package/dist/core/serialization/cel-references.d.ts.map +1 -1
  93. package/dist/core/serialization/cel-references.js +908 -109
  94. package/dist/core/serialization/cel-references.js.map +1 -1
  95. package/dist/core/serialization/core.d.ts.map +1 -1
  96. package/dist/core/serialization/core.js +13 -2
  97. package/dist/core/serialization/core.js.map +1 -1
  98. package/dist/core/serialization/schema.d.ts +16 -2
  99. package/dist/core/serialization/schema.d.ts.map +1 -1
  100. package/dist/core/serialization/schema.js +113 -21
  101. package/dist/core/serialization/schema.js.map +1 -1
  102. package/dist/core/types/composable.d.ts +7 -1
  103. package/dist/core/types/composable.d.ts.map +1 -1
  104. package/dist/core/types/deployment.d.ts +32 -2
  105. package/dist/core/types/deployment.d.ts.map +1 -1
  106. package/dist/core/types/serialization.d.ts +37 -0
  107. package/dist/core/types/serialization.d.ts.map +1 -1
  108. package/dist/core/validation/cel-dialect.d.ts +246 -0
  109. package/dist/core/validation/cel-dialect.d.ts.map +1 -0
  110. package/dist/core/validation/cel-dialect.js +1997 -0
  111. package/dist/core/validation/cel-dialect.js.map +1 -0
  112. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  113. package/dist/core/validation/cel-validator.js +8 -1
  114. package/dist/core/validation/cel-validator.js.map +1 -1
  115. package/dist/core/validation/literal-status.d.ts +107 -0
  116. package/dist/core/validation/literal-status.d.ts.map +1 -0
  117. package/dist/core/validation/literal-status.js +346 -0
  118. package/dist/core/validation/literal-status.js.map +1 -0
  119. package/dist/core/validation/structural-spec-dependence.d.ts +179 -0
  120. package/dist/core/validation/structural-spec-dependence.d.ts.map +1 -0
  121. package/dist/core/validation/structural-spec-dependence.js +911 -0
  122. package/dist/core/validation/structural-spec-dependence.js.map +1 -0
  123. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -1
  124. package/dist/factories/apisix/compositions/apisix-bootstrap.js +9 -0
  125. package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -1
  126. package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts +6 -0
  127. package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts.map +1 -1
  128. package/dist/factories/clickhouse/compositions/clickhouse-cluster.js +273 -23
  129. package/dist/factories/clickhouse/compositions/clickhouse-cluster.js.map +1 -1
  130. package/dist/factories/clickhouse/resources/index.d.ts +1 -0
  131. package/dist/factories/clickhouse/resources/index.d.ts.map +1 -1
  132. package/dist/factories/clickhouse/resources/index.js +1 -0
  133. package/dist/factories/clickhouse/resources/index.js.map +1 -1
  134. package/dist/factories/clickhouse/resources/installation.d.ts.map +1 -1
  135. package/dist/factories/clickhouse/resources/installation.js +31 -4
  136. package/dist/factories/clickhouse/resources/installation.js.map +1 -1
  137. package/dist/factories/clickhouse/resources/s3-backup.d.ts +215 -0
  138. package/dist/factories/clickhouse/resources/s3-backup.d.ts.map +1 -0
  139. package/dist/factories/clickhouse/resources/s3-backup.js +410 -0
  140. package/dist/factories/clickhouse/resources/s3-backup.js.map +1 -0
  141. package/dist/factories/clickhouse/types.d.ts +416 -20
  142. package/dist/factories/clickhouse/types.d.ts.map +1 -1
  143. package/dist/factories/clickhouse/types.js +235 -11
  144. package/dist/factories/clickhouse/types.js.map +1 -1
  145. package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts +42 -0
  146. package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts.map +1 -1
  147. package/dist/factories/clickhouse/utils/helm-values-mapper.js +48 -0
  148. package/dist/factories/clickhouse/utils/helm-values-mapper.js.map +1 -1
  149. package/dist/factories/clickhouse/utils/index.d.ts +2 -0
  150. package/dist/factories/clickhouse/utils/index.d.ts.map +1 -1
  151. package/dist/factories/clickhouse/utils/index.js +2 -0
  152. package/dist/factories/clickhouse/utils/index.js.map +1 -1
  153. package/dist/factories/clickhouse/utils/s3-storage.d.ts +503 -0
  154. package/dist/factories/clickhouse/utils/s3-storage.d.ts.map +1 -0
  155. package/dist/factories/clickhouse/utils/s3-storage.js +1139 -0
  156. package/dist/factories/clickhouse/utils/s3-storage.js.map +1 -0
  157. package/dist/factories/clickhouse/utils/validation.d.ts +103 -0
  158. package/dist/factories/clickhouse/utils/validation.d.ts.map +1 -1
  159. package/dist/factories/clickhouse/utils/validation.js +129 -0
  160. package/dist/factories/clickhouse/utils/validation.js.map +1 -1
  161. package/dist/factories/clickhouse/utils/xml.d.ts +87 -0
  162. package/dist/factories/clickhouse/utils/xml.d.ts.map +1 -0
  163. package/dist/factories/clickhouse/utils/xml.js +151 -0
  164. package/dist/factories/clickhouse/utils/xml.js.map +1 -0
  165. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +57 -0
  166. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts.map +1 -1
  167. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +266 -7
  168. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js.map +1 -1
  169. package/dist/factories/clickstack/types.d.ts +205 -26
  170. package/dist/factories/clickstack/types.d.ts.map +1 -1
  171. package/dist/factories/clickstack/types.js +106 -8
  172. package/dist/factories/clickstack/types.js.map +1 -1
  173. package/dist/factories/clickstack/utils/collector-config.d.ts +104 -0
  174. package/dist/factories/clickstack/utils/collector-config.d.ts.map +1 -0
  175. package/dist/factories/clickstack/utils/collector-config.js +266 -0
  176. package/dist/factories/clickstack/utils/collector-config.js.map +1 -0
  177. package/dist/factories/clickstack/utils/helm-values-mapper.d.ts +26 -0
  178. package/dist/factories/clickstack/utils/helm-values-mapper.d.ts.map +1 -1
  179. package/dist/factories/clickstack/utils/helm-values-mapper.js +53 -12
  180. package/dist/factories/clickstack/utils/helm-values-mapper.js.map +1 -1
  181. package/dist/factories/clickstack/utils/index.d.ts +2 -0
  182. package/dist/factories/clickstack/utils/index.d.ts.map +1 -1
  183. package/dist/factories/clickstack/utils/index.js +2 -0
  184. package/dist/factories/clickstack/utils/index.js.map +1 -1
  185. package/dist/factories/clickstack/utils/storage.d.ts +449 -0
  186. package/dist/factories/clickstack/utils/storage.d.ts.map +1 -0
  187. package/dist/factories/clickstack/utils/storage.js +698 -0
  188. package/dist/factories/clickstack/utils/storage.js.map +1 -0
  189. package/dist/factories/cnpg/resources/helm.d.ts.map +1 -1
  190. package/dist/factories/cnpg/resources/helm.js +4 -4
  191. package/dist/factories/cnpg/resources/helm.js.map +1 -1
  192. package/dist/factories/cnpg/types.d.ts +10 -1
  193. package/dist/factories/cnpg/types.d.ts.map +1 -1
  194. package/dist/factories/cnpg/types.js.map +1 -1
  195. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts +19 -2
  196. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts.map +1 -1
  197. package/dist/factories/cnpg/utils/helm-values-mapper.js +22 -4
  198. package/dist/factories/cnpg/utils/helm-values-mapper.js.map +1 -1
  199. package/dist/factories/envoy-ai-gateway/compositions/gateway.d.ts.map +1 -1
  200. package/dist/factories/envoy-ai-gateway/compositions/gateway.js +16 -3
  201. package/dist/factories/envoy-ai-gateway/compositions/gateway.js.map +1 -1
  202. package/dist/factories/envoy-ai-gateway/constants.d.ts +5 -2
  203. package/dist/factories/envoy-ai-gateway/constants.d.ts.map +1 -1
  204. package/dist/factories/envoy-ai-gateway/constants.js +5 -2
  205. package/dist/factories/envoy-ai-gateway/constants.js.map +1 -1
  206. package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts +12 -0
  207. package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts.map +1 -1
  208. package/dist/factories/envoy-ai-gateway/resources/gateway.js +27 -104
  209. package/dist/factories/envoy-ai-gateway/resources/gateway.js.map +1 -1
  210. package/dist/factories/envoy-ai-gateway/types.d.ts +15 -47
  211. package/dist/factories/envoy-ai-gateway/types.d.ts.map +1 -1
  212. package/dist/factories/envoy-ai-gateway/types.js.map +1 -1
  213. package/dist/factories/gateway-api/constants.d.ts +27 -0
  214. package/dist/factories/gateway-api/constants.d.ts.map +1 -0
  215. package/dist/factories/gateway-api/constants.js +27 -0
  216. package/dist/factories/gateway-api/constants.js.map +1 -0
  217. package/dist/factories/gateway-api/index.d.ts +14 -0
  218. package/dist/factories/gateway-api/index.d.ts.map +1 -0
  219. package/dist/factories/gateway-api/index.js +14 -0
  220. package/dist/factories/gateway-api/index.js.map +1 -0
  221. package/dist/factories/gateway-api/readiness.d.ts +67 -0
  222. package/dist/factories/gateway-api/readiness.d.ts.map +1 -0
  223. package/dist/factories/gateway-api/readiness.js +213 -0
  224. package/dist/factories/gateway-api/readiness.js.map +1 -0
  225. package/dist/factories/gateway-api/resources/gateway.d.ts +91 -0
  226. package/dist/factories/gateway-api/resources/gateway.d.ts.map +1 -0
  227. package/dist/factories/gateway-api/resources/gateway.js +99 -0
  228. package/dist/factories/gateway-api/resources/gateway.js.map +1 -0
  229. package/dist/factories/gateway-api/resources/index.d.ts +2 -0
  230. package/dist/factories/gateway-api/resources/index.d.ts.map +1 -0
  231. package/dist/factories/gateway-api/resources/index.js +2 -0
  232. package/dist/factories/gateway-api/resources/index.js.map +1 -0
  233. package/dist/factories/gateway-api/types.d.ts +1269 -0
  234. package/dist/factories/gateway-api/types.d.ts.map +1 -0
  235. package/dist/factories/gateway-api/types.js +417 -0
  236. package/dist/factories/gateway-api/types.js.map +1 -0
  237. package/dist/factories/helm/readiness-evaluators.d.ts +21 -3
  238. package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
  239. package/dist/factories/helm/readiness-evaluators.js +117 -11
  240. package/dist/factories/helm/readiness-evaluators.js.map +1 -1
  241. package/dist/factories/helm/types.d.ts +28 -0
  242. package/dist/factories/helm/types.d.ts.map +1 -1
  243. package/dist/factories/index.d.ts +2 -0
  244. package/dist/factories/index.d.ts.map +1 -1
  245. package/dist/factories/index.js +8 -0
  246. package/dist/factories/index.js.map +1 -1
  247. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -1
  248. package/dist/factories/inngest/compositions/inngest-bootstrap.js +10 -0
  249. package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -1
  250. package/dist/factories/kubernetes/admission/index.d.ts +2 -0
  251. package/dist/factories/kubernetes/admission/index.d.ts.map +1 -1
  252. package/dist/factories/kubernetes/admission/index.js +2 -0
  253. package/dist/factories/kubernetes/admission/index.js.map +1 -1
  254. package/dist/factories/kubernetes/admission/label-propagation-guard.d.ts +108 -0
  255. package/dist/factories/kubernetes/admission/label-propagation-guard.d.ts.map +1 -0
  256. package/dist/factories/kubernetes/admission/label-propagation-guard.js +247 -0
  257. package/dist/factories/kubernetes/admission/label-propagation-guard.js.map +1 -0
  258. package/dist/factories/kubernetes/admission/mutating-admission-policy.d.ts +286 -0
  259. package/dist/factories/kubernetes/admission/mutating-admission-policy.d.ts.map +1 -0
  260. package/dist/factories/kubernetes/admission/mutating-admission-policy.js +157 -0
  261. package/dist/factories/kubernetes/admission/mutating-admission-policy.js.map +1 -0
  262. package/dist/factories/opensearch/compositions/cluster.d.ts.map +1 -1
  263. package/dist/factories/opensearch/compositions/cluster.js +6 -1
  264. package/dist/factories/opensearch/compositions/cluster.js.map +1 -1
  265. package/dist/factories/ory/compositions/ory-identity-stack.d.ts +8 -8
  266. package/dist/factories/ory/types.d.ts +16 -16
  267. package/dist/factories/rook/compositions/object-storage-claim.d.ts +1 -1
  268. package/dist/factories/rook/compositions/rook-ceph-platform.js +8 -1
  269. package/dist/factories/rook/compositions/rook-ceph-platform.js.map +1 -1
  270. package/dist/factories/rook/types.d.ts +1 -1
  271. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts +1 -1
  272. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -1
  273. package/dist/factories/searxng/compositions/searxng-bootstrap.js +18 -13
  274. package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -1
  275. package/dist/factories/searxng/index.d.ts +3 -0
  276. package/dist/factories/searxng/index.d.ts.map +1 -1
  277. package/dist/factories/searxng/index.js +3 -0
  278. package/dist/factories/searxng/index.js.map +1 -1
  279. package/dist/factories/searxng/types.js +1 -1
  280. package/dist/factories/searxng/types.js.map +1 -1
  281. package/dist/factories/traefik/compositions/index.d.ts +6 -0
  282. package/dist/factories/traefik/compositions/index.d.ts.map +1 -0
  283. package/dist/factories/traefik/compositions/index.js +6 -0
  284. package/dist/factories/traefik/compositions/index.js.map +1 -0
  285. package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts +185 -0
  286. package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts.map +1 -0
  287. package/dist/factories/traefik/compositions/traefik-bootstrap.js +339 -0
  288. package/dist/factories/traefik/compositions/traefik-bootstrap.js.map +1 -0
  289. package/dist/factories/traefik/compositions/traefik-helm-repository.d.ts +16 -0
  290. package/dist/factories/traefik/compositions/traefik-helm-repository.d.ts.map +1 -0
  291. package/dist/factories/traefik/compositions/traefik-helm-repository.js +31 -0
  292. package/dist/factories/traefik/compositions/traefik-helm-repository.js.map +1 -0
  293. package/dist/factories/traefik/constants.d.ts +78 -0
  294. package/dist/factories/traefik/constants.d.ts.map +1 -0
  295. package/dist/factories/traefik/constants.js +104 -0
  296. package/dist/factories/traefik/constants.js.map +1 -0
  297. package/dist/factories/traefik/index.d.ts +25 -0
  298. package/dist/factories/traefik/index.d.ts.map +1 -0
  299. package/dist/factories/traefik/index.js +25 -0
  300. package/dist/factories/traefik/index.js.map +1 -0
  301. package/dist/factories/traefik/resources/common.d.ts +68 -0
  302. package/dist/factories/traefik/resources/common.d.ts.map +1 -0
  303. package/dist/factories/traefik/resources/common.js +59 -0
  304. package/dist/factories/traefik/resources/common.js.map +1 -0
  305. package/dist/factories/traefik/resources/gateway.d.ts +85 -0
  306. package/dist/factories/traefik/resources/gateway.d.ts.map +1 -0
  307. package/dist/factories/traefik/resources/gateway.js +109 -0
  308. package/dist/factories/traefik/resources/gateway.js.map +1 -0
  309. package/dist/factories/traefik/resources/helm.d.ts +56 -0
  310. package/dist/factories/traefik/resources/helm.d.ts.map +1 -0
  311. package/dist/factories/traefik/resources/helm.js +131 -0
  312. package/dist/factories/traefik/resources/helm.js.map +1 -0
  313. package/dist/factories/traefik/resources/index.d.ts +10 -0
  314. package/dist/factories/traefik/resources/index.d.ts.map +1 -0
  315. package/dist/factories/traefik/resources/index.js +10 -0
  316. package/dist/factories/traefik/resources/index.js.map +1 -0
  317. package/dist/factories/traefik/resources/middleware.d.ts +169 -0
  318. package/dist/factories/traefik/resources/middleware.d.ts.map +1 -0
  319. package/dist/factories/traefik/resources/middleware.js +225 -0
  320. package/dist/factories/traefik/resources/middleware.js.map +1 -0
  321. package/dist/factories/traefik/resources/routing.d.ts +113 -0
  322. package/dist/factories/traefik/resources/routing.d.ts.map +1 -0
  323. package/dist/factories/traefik/resources/routing.js +119 -0
  324. package/dist/factories/traefik/resources/routing.js.map +1 -0
  325. package/dist/factories/traefik/resources/tls.d.ts +85 -0
  326. package/dist/factories/traefik/resources/tls.d.ts.map +1 -0
  327. package/dist/factories/traefik/resources/tls.js +93 -0
  328. package/dist/factories/traefik/resources/tls.js.map +1 -0
  329. package/dist/factories/traefik/types.d.ts +2690 -0
  330. package/dist/factories/traefik/types.d.ts.map +1 -0
  331. package/dist/factories/traefik/types.js +1084 -0
  332. package/dist/factories/traefik/types.js.map +1 -0
  333. package/dist/factories/traefik/utils/helm-values-mapper.d.ts +198 -0
  334. package/dist/factories/traefik/utils/helm-values-mapper.d.ts.map +1 -0
  335. package/dist/factories/traefik/utils/helm-values-mapper.js +372 -0
  336. package/dist/factories/traefik/utils/helm-values-mapper.js.map +1 -0
  337. package/dist/factories/traefik/utils/index.d.ts +6 -0
  338. package/dist/factories/traefik/utils/index.d.ts.map +1 -0
  339. package/dist/factories/traefik/utils/index.js +6 -0
  340. package/dist/factories/traefik/utils/index.js.map +1 -0
  341. package/dist/factories/traefik/utils/middleware-validation.d.ts +42 -0
  342. package/dist/factories/traefik/utils/middleware-validation.d.ts.map +1 -0
  343. package/dist/factories/traefik/utils/middleware-validation.js +78 -0
  344. package/dist/factories/traefik/utils/middleware-validation.js.map +1 -0
  345. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
  346. package/dist/factories/webapp/compositions/web-app-with-processing.js +10 -0
  347. package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
  348. package/dist/index.d.ts +4 -3
  349. package/dist/index.d.ts.map +1 -1
  350. package/dist/index.js +3 -1
  351. package/dist/index.js.map +1 -1
  352. package/package.json +9 -1
@@ -287,6 +287,29 @@ function celValueForTernary(value) {
287
287
  // Plain string → quote as CEL string literal
288
288
  return `"${escapeCelString(str)}"`;
289
289
  }
290
+ /**
291
+ * True when a value is a structured *literal* — a plain object or array written
292
+ * out at the call site — rather than a ref or a CEL expression.
293
+ *
294
+ * The distinction decides whether the two branches of an emitted ternary need
295
+ * widening. KRO gives a schema or resource reference a **nominal** object type
296
+ * taken from the resource's schema, while a CEL object literal is inferred as a
297
+ * `map` and a list literal as a `list`. Both materialize to the same Kubernetes
298
+ * JSON, but cel-go's checker rejects a ternary whose branches carry static types
299
+ * that do not unify, so a nominal branch next to a literal branch fails at RGD
300
+ * admission while cel-js evaluates it happily. A ref or CEL-expression fallback
301
+ * carries the same nominal type as the other branch and needs nothing.
302
+ *
303
+ * `dyn()` is the fix: it unifies with everything in the checker, is identity at
304
+ * runtime, and is implemented by both direct-mode evaluators — so wrapping is
305
+ * free where it is unnecessary and load-bearing where it is not.
306
+ */
307
+ function isStructuredLiteral(value) {
308
+ return (value !== null &&
309
+ typeof value === 'object' &&
310
+ !isKubernetesRef(value) &&
311
+ !isCelExpression(value));
312
+ }
290
313
  /**
291
314
  * Creates a conditional CEL expression with smart value conversion.
292
315
  *
@@ -352,15 +375,10 @@ function defaultValue(value, fallback) {
352
375
  : has(value).expression;
353
376
  const celValue = celValueForTernary(value);
354
377
  const fallbackCel = celValueForTernary(fallback);
355
- // KRO gives schema object references a nominal object type while CEL object
356
- // literals are inferred as maps. Although both values materialize to the same
357
- // Kubernetes JSON object, CEL rejects a ternary that mixes those static types.
358
378
  // Widen both structured branches to dyn so KRO can validate the expression
359
- // without changing the runtime value or direct-mode `??` behavior.
360
- const hasStructuredLiteralFallback = fallback !== null &&
361
- typeof fallback === 'object' &&
362
- !isKubernetesRef(fallback) &&
363
- !isCelExpression(fallback);
379
+ // without changing the runtime value or direct-mode `??` behavior. See
380
+ // {@link isStructuredLiteral} for why the mixed static types are a problem.
381
+ const hasStructuredLiteralFallback = isStructuredLiteral(fallback);
364
382
  const selectedValue = hasStructuredLiteralFallback ? `dyn(${celValue})` : celValue;
365
383
  const selectedFallback = hasStructuredLiteralFallback ? `dyn(${fallbackCel})` : fallbackCel;
366
384
  // KRO's CEL checker rejects `typedScalar != null` even though the runtime
@@ -375,6 +393,255 @@ function defaultValue(value, fallback) {
375
393
  }
376
394
  /** Alias for {@link defaultValue}. */
377
395
  const coalesce = defaultValue;
396
+ const UNSAFE_CEL_LIST_PATH = Symbol.for('typekro.unsafeCelListPath');
397
+ /**
398
+ * Name a list by its CEL path, when there is no proxy to select it from.
399
+ *
400
+ * **Unsafe** in one specific sense: nothing checks the path. Not that the named
401
+ * resource is in the graph, not that the path reaches a list, and not that the
402
+ * elements are what `TElement` says they are. Get any of that wrong and the
403
+ * mistake surfaces on a cluster rather than at compile time, which is exactly
404
+ * what selecting the field off a proxy avoids.
405
+ *
406
+ * Reach for it only where the proxy genuinely is not in scope — a bootstrap
407
+ * composition that names a graph resource by id because the resource is created
408
+ * by a Helm chart rather than declared in the composition, for instance. The
409
+ * element type is still declared and still checked, so `field` keeps its
410
+ * `keyof` check even here.
411
+ *
412
+ * @example
413
+ * ```typescript
414
+ * // The Gateway is created by its controller; only its resource id is in scope.
415
+ * Cel.firstWhereHas(
416
+ * Cel.unsafeListPath<{ value: string }>(`${resourceId}.status.addresses`),
417
+ * 'value'
418
+ * )
419
+ * ```
420
+ */
421
+ function unsafeListPath(path) {
422
+ const trimmed = path.trim();
423
+ if (trimmed.length === 0) {
424
+ throw new TypeKroError('Cel.unsafeListPath() requires a non-empty CEL path string.', 'CEL_INVALID_INPUT');
425
+ }
426
+ return { [UNSAFE_CEL_LIST_PATH]: trimmed };
427
+ }
428
+ function isUnsafeCelListPath(value) {
429
+ return (value !== null &&
430
+ typeof value === 'object' &&
431
+ typeof value[UNSAFE_CEL_LIST_PATH] === 'string');
432
+ }
433
+ /** Resolve a list argument to the CEL path text that names it. */
434
+ function celListPath(list, helperName) {
435
+ if (isUnsafeCelListPath(list))
436
+ return list[UNSAFE_CEL_LIST_PATH];
437
+ if (isKubernetesRef(list))
438
+ return getInnerCelPath(list);
439
+ throw new TypeKroError(`${helperName}() requires a list field selected from a resource or schema proxy ` +
440
+ '(for example `service.status.loadBalancer.ingress`). To name a list by its CEL path ' +
441
+ 'instead, wrap it in Cel.unsafeListPath().', 'CEL_INVALID_INPUT');
442
+ }
443
+ /**
444
+ * Chain a `has()` guard for every hop of a CEL path below its root identifier.
445
+ *
446
+ * `a.status.loadBalancer.ingress` becomes
447
+ * `has(a.status) && has(a.status.loadBalancer) && has(a.status.loadBalancer.ingress)`.
448
+ * Returns `undefined` when the path has no hop to guard (a bare identifier) or
449
+ * is not a plain dotted path, in which case the caller guards the whole thing.
450
+ */
451
+ function chainedHasGuard(path) {
452
+ if (!/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)+$/.test(path))
453
+ return undefined;
454
+ const segments = path.split('.');
455
+ return segments
456
+ .slice(1)
457
+ .map((_, index) => `has(${segments.slice(0, index + 2).join('.')})`)
458
+ .join(' && ');
459
+ }
460
+ /**
461
+ * The fallback a projection helper was given, or the `''` default.
462
+ *
463
+ * The parameter is a rest tuple because {@link CelFallbackArgs} decides at the
464
+ * type level whether the argument may be omitted; at runtime that reduces to
465
+ * "the argument if one was passed". An explicitly passed `undefined` is treated
466
+ * as omitted, so it cannot reach `celValueForTernary` and be rendered as `""`
467
+ * on a field whose type is not a string.
468
+ */
469
+ function defaultedFallback(fallback) {
470
+ const [given] = fallback;
471
+ return given === undefined ? '' : given;
472
+ }
473
+ /**
474
+ * Render a projection helper's fallback and decide how to write the branches.
475
+ *
476
+ * **Structured fallbacks are supported.** A projection of an object- or
477
+ * list-typed field takes an object or array literal, which
478
+ * {@link celValueForTernary} renders as a CEL map or list literal with nested
479
+ * refs and CEL expressions rendered by the same `RefOrValue` rules as a scalar
480
+ * fallback; `{}` and `[]` render as the empty literals. Because the other branch
481
+ * of the ternary reads a field whose CEL type comes from the referenced
482
+ * resource's schema, a structured literal fallback makes both branches `dyn` —
483
+ * see {@link isStructuredLiteral} for why, and why `dyn()` costs nothing when
484
+ * the field happens to be `dyn` already.
485
+ *
486
+ * **`null` is not a fallback.** A projection is typed `NonNullable`, so the type
487
+ * level rejects `null` and an explicit `undefined` for every projected type that
488
+ * does not admit them — which is every structured one. This guards the same
489
+ * thing for callers with no types: without it a `null` fallback on an
490
+ * object-typed field rendered as `""`, a branch cel-go rejects outright and
491
+ * cel-js quietly returns, which is exactly the class of bug the fallback typing
492
+ * exists to prevent. `null` is not usable even where cel-go admits it against a
493
+ * message type, because the engines disagree on it.
494
+ */
495
+ function projectionFallback(helperName, fallback) {
496
+ const [given] = fallback;
497
+ if (given === null) {
498
+ throw new TypeKroError(`${helperName}() fallback cannot be null. The projection is typed as the field it ` +
499
+ 'projects and cel-go rejects a ternary whose branches disagree, so pass a value of ' +
500
+ 'that type instead: an object or array literal for a structured field, or a ' +
501
+ 'KubernetesRef or CEL expression of the projected type.', 'CEL_INVALID_INPUT');
502
+ }
503
+ const value = defaultedFallback(fallback);
504
+ const cel = celValueForTernary(value);
505
+ const widen = isStructuredLiteral(value);
506
+ return { cel, branch: widen ? (expression) => `dyn(${expression})` : (expression) => expression };
507
+ }
508
+ /**
509
+ * Project the first entry of an optional nested list that actually carries a
510
+ * field, in the one CEL form both engines accept.
511
+ *
512
+ * ## Why this helper exists
513
+ *
514
+ * An optional nested list — `service.status.loadBalancer.ingress`,
515
+ * `helmRelease.status.history` — is absent until a controller fills it in, and
516
+ * the two CEL engines TypeKro emits for disagree about how to guard it:
517
+ *
518
+ * - **`has()` on an index expression** (`has(list[0].field)`) is rejected by
519
+ * cel-js: "has() does not support atomic expressions".
520
+ * - **`"field" in list[0]`** is rejected by cel-go under KRO's type env, which
521
+ * types a list entry as a message rather than a map.
522
+ * - **A `has()` guard on the *right* of `&&`** (`size(list) > 0 && has(list)`)
523
+ * is absorbed by cel-go but propagates in cel-js, which evaluates operands
524
+ * left to right.
525
+ *
526
+ * The form both engines accept is `list.filter(entry, has(entry.field))` inside
527
+ * a **lazy ternary**, which is exactly what this helper emits:
528
+ *
529
+ * ```
530
+ * has(a.status) && has(a.status.list)
531
+ * ? (size(<matching>) > 0 ? <matching>[0].<field> : <fallback>)
532
+ * : <fallback>
533
+ * ```
534
+ *
535
+ * ## Selecting the list
536
+ *
537
+ * `list` is a list-typed field read off a resource or schema proxy, which gives
538
+ * this helper the element type and lets `field` be checked against the element's
539
+ * own keys — `Cel.firstWhereHas(service.status.loadBalancer.ingress, 'hostnmae')`
540
+ * is a compile error rather than a status field that is permanently `''`. Where
541
+ * no proxy is in scope, name the path with {@link unsafeListPath}.
542
+ *
543
+ * @param list The list to read, selected from a resource or schema proxy.
544
+ * @param field The field an entry must carry to be selected. Must be a key of
545
+ * the list's element type.
546
+ * @param fallback Value used when the list is absent, empty, or has no entry
547
+ * carrying `field`. Has the type of the projected field — both because the
548
+ * projection is typed as that field, and because cel-go rejects a ternary
549
+ * whose branches disagree. Defaults to the empty string only where that field
550
+ * type admits `''`; elsewhere it is required, structured fields included — an
551
+ * object- or list-typed field takes an object or array literal, a
552
+ * `KubernetesRef`, or a CEL expression of that type. See
553
+ * {@link CelFallbackArgs} and {@link projectionFallback}.
554
+ *
555
+ * @example
556
+ * ```typescript
557
+ * // First ingress entry that reports a hostname, or '' while none does.
558
+ * hostname: Cel.firstWhereHas(service.status.loadBalancer.ingress, 'hostname')
559
+ *
560
+ * // Naming a graph resource by id, as bootstrap compositions do.
561
+ * version: Cel.firstWhereHas(
562
+ * Cel.unsafeListPath<{ chartVersion: string }>('release.status.history'),
563
+ * 'chartVersion'
564
+ * )
565
+ * ```
566
+ */
567
+ function firstWhereHas(list, field, ...fallback) {
568
+ if (!/^[A-Za-z_$][\w$]*$/.test(field)) {
569
+ throw new TypeKroError(`Cel.firstWhereHas() field must be a simple CEL identifier, received '${field}'.`, 'CEL_INVALID_INPUT');
570
+ }
571
+ const path = celListPath(list, 'Cel.firstWhereHas');
572
+ const matching = `${path}.filter(entry, has(entry.${field}))`;
573
+ const guard = chainedHasGuard(path) ?? `has(${path})`;
574
+ const { cel, branch } = projectionFallback('Cel.firstWhereHas', fallback);
575
+ const projected = branch(`${matching}[0].${field}`);
576
+ const otherwise = branch(cel);
577
+ return {
578
+ [CEL_EXPRESSION_BRAND]: true,
579
+ expression: `${guard} ? (size(${matching}) > 0 ? ${projected} : ${otherwise}) : ${otherwise}`,
580
+ };
581
+ }
582
+ /**
583
+ * First entry of an optional nested list of scalars, with the same
584
+ * dual-dialect-safe guard as {@link firstWhereHas}.
585
+ *
586
+ * Use this when list entries are plain values (`status.endpoints.secure` is a
587
+ * list of URLs) and there is therefore no field to filter on. Every hop of the
588
+ * path is guarded, so an absent intermediate object yields the fallback instead
589
+ * of the cel-js "Identifier not found" error that a single `has()` on the full
590
+ * path produces.
591
+ *
592
+ * As with {@link firstWhereHas}, the list is selected from a resource or schema
593
+ * proxy; a hand-written path has to go through {@link unsafeListPath}.
594
+ *
595
+ * @param list The list to read, selected from a resource or schema proxy.
596
+ * @param fallback Value used when the list is absent or empty. Has the element
597
+ * type, and is optional only where that type admits `''` — so a list of
598
+ * objects requires an object fallback. See {@link CelFallbackArgs} and
599
+ * {@link projectionFallback}.
600
+ *
601
+ * @example
602
+ * ```typescript
603
+ * endpoint: Cel.firstOf(Cel.unsafeListPath<string>('objectStore.status.endpoints.secure'))
604
+ * ```
605
+ */
606
+ function firstOf(list, ...fallback) {
607
+ const path = celListPath(list, 'Cel.firstOf');
608
+ const guard = chainedHasGuard(path) ?? `has(${path})`;
609
+ const { cel, branch } = projectionFallback('Cel.firstOf', fallback);
610
+ const projected = branch(`${path}[0]`);
611
+ const otherwise = branch(cel);
612
+ return {
613
+ [CEL_EXPRESSION_BRAND]: true,
614
+ expression: `${guard} ? (size(${path}) > 0 ? ${projected} : ${otherwise}) : ${otherwise}`,
615
+ };
616
+ }
617
+ /**
618
+ * Project a Service's load balancer address in the one CEL form both engines
619
+ * accept.
620
+ *
621
+ * A `LoadBalancer` Service reports its address as `status.loadBalancer.ingress`,
622
+ * a list that does not exist until the cloud provider assigns one, and whose
623
+ * entries carry `ip` **or** `hostname` depending on the provider. This is
624
+ * {@link firstWhereHas} bound to that shape, so factories stop hand-rolling the
625
+ * guard.
626
+ *
627
+ * Yields the fallback (default `''`) while the Service has no address, and for
628
+ * the field the provider does not report.
629
+ *
630
+ * @param service The Service resource, selected from the graph.
631
+ * @param field `'ip'` for L4 load balancers, `'hostname'` for name-based ones.
632
+ * @param fallback Value while no matching entry exists. Defaults to `''`.
633
+ *
634
+ * @example
635
+ * ```typescript
636
+ * loadBalancer: {
637
+ * ip: Cel.loadBalancerAddress(gatewayService, 'ip'),
638
+ * hostname: Cel.loadBalancerAddress(gatewayService, 'hostname'),
639
+ * }
640
+ * ```
641
+ */
642
+ function loadBalancerAddress(service, field = 'ip', fallback = '') {
643
+ return firstWhereHas(service.status.loadBalancer.ingress, field, fallback);
644
+ }
378
645
  /**
379
646
  * Creates a mixed string template that combines literal strings with CEL expressions
380
647
  *
@@ -541,6 +808,20 @@ export const Cel = {
541
808
  concat,
542
809
  has,
543
810
  not,
811
+ /**
812
+ * First entry of an optional nested list that carries `field`, in the one
813
+ * guard form cel-js and cel-go both accept.
814
+ */
815
+ firstWhereHas,
816
+ /** First entry of an optional nested list of scalars, dual-dialect safe. */
817
+ firstOf,
818
+ /**
819
+ * Name a list by its CEL path where no proxy is in scope. Nothing about the
820
+ * path is checked — prefer selecting the field off a resource or schema proxy.
821
+ */
822
+ unsafeListPath,
823
+ /** A Service's load balancer `ip`/`hostname`, dual-dialect safe. */
824
+ loadBalancerAddress,
544
825
  /** Tagged template literal for CEL expressions. Alias: standalone `cel` export. */
545
826
  tag: cel,
546
827
  // Typed convenience methods — pre-bound type parameters for Cel.expr
@@ -1 +1 @@
1
- {"version":3,"file":"cel.js","sourceRoot":"","sources":["../../../src/core/references/cel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cel.js","sourceRoot":"","sources":["../../../src/core/references/cel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Helpers for reading ArkType's JSON AST.
3
+ *
4
+ * ArkType serializes a constraint two different ways depending on whether it
5
+ * carries metadata. Declared plainly it is its own value (`maxLength: 46`);
6
+ * declared with a custom error message — anything configured through
7
+ * `.configure({ message })` — it becomes `{ rule: 46, meta: { message } }`
8
+ * instead. Every consumer that reads the AST has to account for both, or a
9
+ * schema that explains its limit to the caller quietly stops carrying that
10
+ * limit into the artifacts generated from it.
11
+ */
12
+ /**
13
+ * Read the rule out of an ArkType constraint, with or without metadata.
14
+ *
15
+ * Bounds and patterns wrap as `{ rule, meta }`; a domain wraps as
16
+ * `{ domain, meta }`. Anything else — including a flagged pattern
17
+ * (`{ rule, flags }`), which a caller has to see whole in order to reject its
18
+ * flags rather than discard them — is returned unchanged.
19
+ */
20
+ export declare function arkConstraintRule(value: unknown): unknown;
21
+ //# sourceMappingURL=arktype-ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arktype-ast.d.ts","sourceRoot":"","sources":["../../../src/core/serialization/arktype-ast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMzD"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Helpers for reading ArkType's JSON AST.
3
+ *
4
+ * ArkType serializes a constraint two different ways depending on whether it
5
+ * carries metadata. Declared plainly it is its own value (`maxLength: 46`);
6
+ * declared with a custom error message — anything configured through
7
+ * `.configure({ message })` — it becomes `{ rule: 46, meta: { message } }`
8
+ * instead. Every consumer that reads the AST has to account for both, or a
9
+ * schema that explains its limit to the caller quietly stops carrying that
10
+ * limit into the artifacts generated from it.
11
+ */
12
+ /**
13
+ * Read the rule out of an ArkType constraint, with or without metadata.
14
+ *
15
+ * Bounds and patterns wrap as `{ rule, meta }`; a domain wraps as
16
+ * `{ domain, meta }`. Anything else — including a flagged pattern
17
+ * (`{ rule, flags }`), which a caller has to see whole in order to reject its
18
+ * flags rather than discard them — is returned unchanged.
19
+ */
20
+ export function arkConstraintRule(value) {
21
+ if (value && typeof value === 'object' && !Array.isArray(value) && 'meta' in value) {
22
+ if ('rule' in value)
23
+ return Reflect.get(value, 'rule');
24
+ if ('domain' in value)
25
+ return Reflect.get(value, 'domain');
26
+ }
27
+ return value;
28
+ }
29
+ //# sourceMappingURL=arktype-ast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arktype-ast.js","sourceRoot":"","sources":["../../../src/core/serialization/arktype-ast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACnF,IAAI,MAAM,IAAI,KAAK;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,QAAQ,IAAI,KAAK;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -10,6 +10,107 @@
10
10
  */
11
11
  import type { KubernetesRef } from '../types/common.js';
12
12
  import type { SerializationContext } from '../types/serialization.js';
13
+ /**
14
+ * Rewrite every dotted numeric path segment as a CEL index: `items.0` → `items[0]`.
15
+ *
16
+ * CEL has no `.0` field select — a `SELECT` takes an `IDENT`, and an `IDENT` may
17
+ * not begin with a digit — so a dotted numeric segment is a parse error on both
18
+ * evaluation engines and `[0]` is the only spelling of that access. Paths reach
19
+ * this module in the dotted form from several producers (`extractNestedStatusCel`
20
+ * builds an array element's key as `` `${fieldPath}.${index}` ``, and the marker
21
+ * field-path charset admits that form too), so this is the sweep that makes them
22
+ * valid.
23
+ *
24
+ * **The rule.** A `.` followed by one or more digits becomes `[<digits>]` when
25
+ * both contexts allow it:
26
+ *
27
+ * 1. *Left* — the text EMITTED SO FAR ends with a CEL identifier or with a `]`
28
+ * ({@link endsWithIndexableTarget}). Reading the left context off the OUTPUT
29
+ * rather than the input is what lets a run of numeric segments chain: in
30
+ * `a.0.1.b` the first run emits `a[0]`, so the second run sees the `]` this
31
+ * function has just written and the whole path comes out as `a[0][1].b`. Read
32
+ * off the INPUT the second run would see the digit `0`, stop, and leave the
33
+ * equally invalid `a[0].1.b` behind. This is the same semantics
34
+ * {@link splitFieldPathSegments} applies to a field path — a whole-digit
35
+ * segment is an index on the segment before it — now agreed on by both.
36
+ *
37
+ * NUMBER literals are left alone by that same test: in `1.0` and `2.5e3` the
38
+ * digits before the `.` are not anchored by an identifier start, so the
39
+ * fraction survives, and a leading `.5` has no left context at all. Where the
40
+ * digits ARE the tail of an identifier, the index reading is the only one CEL
41
+ * has, because `a1.5` is not a float literal — a NUMBER may not begin with an
42
+ * identifier character — which is why `v2.0` becomes `v2[0]` while `v2.name`,
43
+ * having no digit run to convert, is untouched.
44
+ *
45
+ * `)` is deliberately NOT a left context: a postfix that lands after a
46
+ * parenthesised nested-status expansion is normalised at its source, by
47
+ * {@link splitFieldPathSegments}, where the segment structure is still known.
48
+ *
49
+ * 2. *Right* — the run ends the text, or is followed by a character that can
50
+ * neither continue a number nor start an identifier
51
+ * ({@link CEL_INDEX_RUN_TERMINATOR}). This is what keeps the `5` of `2.5e3`
52
+ * out independently of the left-context test.
53
+ *
54
+ * Quoted data is skipped, and skipped with the WHOLE `STRING_LIT`/`BYTES_LIT`
55
+ * lexis: `r`/`R`/`b`/`B` prefixes in either order, the two triple-quoted forms,
56
+ * and escapes in the non-raw forms only ({@link celStringLiteralEndAt}).
57
+ * `//` COMMENTS are skipped whole too, but only where the text is CEL — see
58
+ * {@link celRegionCommentEnd}, and the boundary in the next paragraph. What is
59
+ * deliberately NOT used is a WHOLE-TEXT mask,
60
+ * {@link maskClosedCelLiteralsAndComments} or `celStringLiteralSpans`: this
61
+ * function runs over KRO MIXED-TEMPLATE text rather than over CEL alone, its
62
+ * inputs include values like `` `http://${string(service.spec.ports.0.port)}` ``,
63
+ * and a whole-text walk would read that URL scheme's `//` — which sits in
64
+ * LITERAL text, where CEL's lexis does not reach — as a `COMMENT` and blank the
65
+ * template that follows, silently dropping this rewrite.
66
+ *
67
+ * **Where the rewrite applies.** The inputs above are KRO MIXED TEMPLATES: a
68
+ * `${ … }` CEL region embedded in LITERAL text that KRO emits verbatim. Only
69
+ * the CEL regions are rewritten; literal text is copied through untouched. A
70
+ * `.<digits>` run after an identifier is a perfectly ordinary thing for literal
71
+ * text to contain — the `v1.2` of a URL path, an `image:tag.1`, a `file.txt.1`,
72
+ * a version string like `alpha.3` — and none of those is a CEL index. Applying
73
+ * the rule to the whole string corrupted them into `v1[2]` and the like,
74
+ * changing text KRO would have emitted as written.
75
+ *
76
+ * That split is also the boundary of CEL's COMMENT rule. A region's body and a
77
+ * bare CEL expression are CEL, so a `//` outside a string literal there begins a
78
+ * comment and is copied through whole; literal template text is not CEL, is
79
+ * never comment-scanned, and keeps its `http://`. The two never collide: a URL
80
+ * that appears inside a region is inside a STRING_LIT, which is skipped whole
81
+ * before the `//` is ever reached.
82
+ *
83
+ * A region's end is found by brace balancing that is STRING-LITERAL AND COMMENT
84
+ * AWARE ({@link celTemplateRegionEnd}), because a CEL region may legitimately
85
+ * contain a `{` or `}` that closes nothing — inside a map literal, inside a
86
+ * STRING_LIT as in `${"}" + a.0}`, or inside a comment as in `${a.0 // {`.
87
+ * Each region is rewritten independently, from an empty left context, so a run
88
+ * never chains across the literal text between two regions.
89
+ *
90
+ * Text with no `${` is rewritten whole only when it is GENUINELY BARE CEL, and
91
+ * that takes a second condition: no `__KUBERNETES_REF_…__` marker either. Bare
92
+ * CEL is the form `getInnerCelPath` and `markerToCelPath` build, and the form
93
+ * the marker and nested-status resolvers hand over. Being CEL, it is read with
94
+ * the comment rule too.
95
+ *
96
+ * MARKER-LADEN TEXT is the other thing that arrives without a `${`: a string
97
+ * derived from a template literal whose interpolations coerced to markers, as
98
+ * in `http://__KUBERNETES_REF___schema___spec.name__:8080/api/v1.2`. That is
99
+ * literal text with references embedded in it, not an expression — its `v1.2`
100
+ * is a URL path segment — yet the whole-string branch rewrote it to `v1[2]`,
101
+ * the very corruption the region split above exists to prevent, arriving by the
102
+ * other door. So text carrying a marker is copied through untouched
103
+ * ({@link CARRIES_KUBERNETES_REF_MARKER}), and nothing is lost by that: a
104
+ * marker's OWN dotted digits are normalised when the marker itself is converted,
105
+ * by {@link markerToCelPath}, which calls this function on the bare
106
+ * `<resourceId>.<fieldPath>` path — which, carrying no marker, still takes the
107
+ * whole-string branch.
108
+ *
109
+ * A text may hold BOTH markers and `${ … }` regions. The region split already
110
+ * gets that right — regions are rewritten, the literal text between them,
111
+ * markers included, is copied — so the marker test guards only the whole-string
112
+ * branch.
113
+ */
13
114
  export declare function normalizeCelArrayIndexPaths(expr: string): string;
14
115
  /**
15
116
  * Compute the inner CEL path for a {@link KubernetesRef}.
@@ -44,40 +145,40 @@ export declare function isStaticExpression(expr: string, nestedStatusCel: Record
44
145
  /**
45
146
  * Look up a nested composition's analyzed expression by `(resourceId, fieldName)`.
46
147
  *
47
- * **Single source of truth** for the nested-status match strategy. Used by
48
- * every code path that needs to find an inner expression from a
49
- * `nestedStatusCel` table — both the structured-ref paths
50
- * (`generateCelExpression`, `serializeStatusMappingsToCel`) and the
51
- * string-resolver path (`substituteNestedRefsOnce`,
52
- * `resolveNestedRefMarkers`).
53
- *
54
- * Returns `undefined` when no match is found, leaving the caller to
55
- * decide how to handle missing entries (typically: leave the reference
56
- * in place and let downstream validation flag it).
57
- *
58
- * Match priority:
59
- * 1. **Exact baseId match.** The reference uses the virtual nested
60
- * composition baseId verbatim (e.g., from a template literal on a
61
- * nested status proxy where `toString()` embeds the baseId).
62
- * 2. **Base-name match (instance digits stripped).** Both the requested
63
- * id and the candidate baseIds have their trailing instance digits
64
- * stripped, then compared for equality. Handles the case where the
65
- * reference uses `webAppWithProcessing2` but the table has
66
- * `webAppWithProcessing1`.
67
- * 3. **Unambiguous camelCase / case-insensitive prefix.** The
68
- * reference uses a name that structurally relates to one (and only
69
- * one) baseId stem (e.g., `inngest` matching `inngestBootstrap`).
70
- * 4. **Field-name uniqueness.** When exactly one nested composition in
71
- * the table provides the requested field, use it. Handles the case
72
- * of arbitrary local variable names (e.g.,
73
- * `const stack = webAppWithProcessing(...); stack.status.databaseUrl`).
74
- *
75
- * Ambiguous matches (multiple candidates from the prefix or field-name
76
- * strategies) emit a warning log and return `undefined` so the caller
77
- * can fall through to its own error handling.
148
+ * Thin projection of {@link lookupNestedEntry} for callers that only need the
149
+ * expression text. Anything resolving a DOTTED path wants
150
+ * {@link resolveNestedField} instead.
78
151
  */
79
152
  export declare function lookupNestedExpression(resourceId: string, fieldName: string, nestedStatusCel: Record<string, string>, allowFieldFallback?: boolean): string | undefined;
80
153
  export declare function inlineNestedStatusRefs(expr: string, nestedStatusCel: Record<string, string> | undefined, resourceIds?: ReadonlySet<string>): string;
154
+ /**
155
+ * Internal bookkeeping of one {@link resolveNestedCompositionRefs} pass.
156
+ *
157
+ * @internal Implementation detail, surfaced only so tests can assert that a
158
+ * cycle was cut by the in-progress set (`cycleHits`) rather than by the depth
159
+ * guard (`depthExceeded`), and that an entry reached under two different alias
160
+ * spellings is expanded once and then served from the memo. `cel-references.ts`
161
+ * is not re-exported wholesale from `src/index.ts`, so this is not public API.
162
+ */
163
+ export interface NestedRefResolutionStats {
164
+ /** Expansions cut short because the entry was already on the current path. */
165
+ readonly cycleHits: number;
166
+ /** Whether {@link NESTED_REF_RESOLUTION_DEPTH_LIMIT} stopped an expansion. */
167
+ readonly depthExceeded: boolean;
168
+ /** Texts walked: 1 for the input, plus one per entry actually expanded. */
169
+ readonly textPasses: number;
170
+ /** Expansions answered from the memo instead of being walked again. */
171
+ readonly memoHits: number;
172
+ }
173
+ /**
174
+ * {@link inlineNestedStatusRefs} plus the resolver's internal counters.
175
+ *
176
+ * @internal Test-only. See {@link NestedRefResolutionStats}.
177
+ */
178
+ export declare function inlineNestedStatusRefsWithStats(expr: string, nestedStatusCel: Record<string, string> | undefined, resourceIds?: ReadonlySet<string>): {
179
+ readonly text: string;
180
+ readonly stats: NestedRefResolutionStats;
181
+ };
81
182
  /**
82
183
  * Produce the final KRO CEL form for a nested-composition value, with all
83
184
  * nested references substituted in and all schema markers converted to
@@ -94,7 +195,7 @@ export declare function inlineNestedStatusRefs(expr: string, nestedStatusCel: Re
94
195
  * - Plain-CEL input (raw CEL with no markers or `${…}`) → wrapped in
95
196
  * `${…}` so KRO recognizes it as an expression to evaluate.
96
197
  */
97
- export declare function finalizeCelForKro(expr: string, nestedStatusCel: Record<string, string> | undefined, context?: SerializationContext, resolveKnownNestedResourceRefs?: boolean): string;
198
+ export declare function finalizeCelForKro(expr: string, nestedStatusCel: Record<string, string> | undefined, context?: SerializationContext, resolveKnownNestedResourceRefs?: boolean, seedKey?: string): string;
98
199
  export declare function celLiteralForValueTree(value: unknown, context: SerializationContext | undefined, path: string): string;
99
200
  export declare function processResourceReferences(obj: unknown, context?: SerializationContext, path?: string): unknown;
100
201
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"cel-references.d.ts","sourceRoot":"","sources":["../../../src/core/serialization/cel-references.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAQtE,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmDhE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM,CAGnE;AAwMD,qFAAqF;AACrF,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAajG;AA+ED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACnD,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC9B,8BAA8B,UAAQ,GACrC,OAAO,CAUT;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,kBAAkB,GAAE,OAAc,GACjC,MAAM,GAAG,SAAS,CAyEpB;AA+DD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACnD,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAChC,MAAM,CAER;AAuID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACnD,OAAO,CAAC,EAAE,oBAAoB,EAC9B,8BAA8B,UAAO,GACpC,MAAM,CAiBR;AAiND,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,IAAI,EAAE,MAAM,GACX,MAAM,CAqDR;AA8jBD,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE,oBAAoB,EAC9B,IAAI,SAAK,GACR,OAAO,CAgHT;AAMD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7C,oBAAoB,GAAE,WAAW,CAAC,MAAM,CAAa,GACpD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC,CA0L9D"}
1
+ {"version":3,"file":"cel-references.d.ts","sourceRoot":"","sources":["../../../src/core/serialization/cel-references.ts"],"names":[],"mappings":"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"}