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
@@ -1,6 +1,26 @@
1
- /** Preserve offsets while hiding quoted CEL data from reference scanners. */
1
+ /**
2
+ * Preserve offsets while hiding quoted CEL data from reference scanners.
3
+ *
4
+ * "Preserve offsets" is the whole contract, and it is a contract about UTF-16
5
+ * **code units**, because that is what `String.prototype.indexOf`, `slice`,
6
+ * `length` and every `RegExpExecArray.index` in the callers are counted in. So
7
+ * the walk is by code unit — `split('')` — and every blanked unit becomes one
8
+ * space, which makes `maskCelStringLiterals(x).length === x.length` for every
9
+ * input.
10
+ *
11
+ * Iterating by *code point* (`[...expression]`, `Array.from`, `for…of`, a `/u`
12
+ * regex replacing each match with a single space) breaks it silently: an astral
13
+ * character — an emoji, anything above U+FFFF — is one code point and two code
14
+ * units, so blanking it emits one space where the original had two units, and
15
+ * every offset after it drifts by one between the mask and the text it is
16
+ * supposed to index. A caller then slices a fragment one character short, reads
17
+ * a bracket index that points between two tokens, or re-lexes a literal from
18
+ * the wrong place — and only for expressions that happen to contain an emoji
19
+ * inside a string, which is exactly the bug that does not show up in a test
20
+ * suite written in ASCII.
21
+ */
2
22
  export function maskCelStringLiterals(expression) {
3
- const characters = [...expression];
23
+ const characters = expression.split('');
4
24
  let quote;
5
25
  let escaped = false;
6
26
  for (let index = 0; index < characters.length; index += 1) {
@@ -25,6 +45,180 @@ export function maskCelStringLiterals(expression) {
25
45
  }
26
46
  return characters.join('');
27
47
  }
48
+ /** CEL `IDENT ::= [_a-zA-Z][_a-zA-Z0-9]*` — first character, then the rest. */
49
+ const CEL_IDENT_START = /[A-Za-z_]/;
50
+ const IDENT_CHARACTER = /[A-Za-z0-9_]/;
51
+ /** The four `STRING_LIT` delimiters, longest first so `"""` beats `"`. */
52
+ const CEL_STRING_DELIMITERS = ['"""', "'''", '"', "'"];
53
+ /**
54
+ * End of the `STRING_LIT`/`BYTES_LIT` token starting at `at`, or `at` for none.
55
+ *
56
+ * The langdef lexis (cel-spec `doc/langdef.md`) is
57
+ * `STRING_LIT ::= [rR]? ( '"' ~('"'|NEWLINE)* '"' | "'" ~("'"|NEWLINE)* "'"`
58
+ * `| '"""' ~'"""'* '"""' | "'''" ~"'''"* "'''" )` and
59
+ * `BYTES_LIT ::= [bB] STRING_LIT`. cel-go accepts the two prefix letters in
60
+ * either order and in either case, so at most one of each is taken. A prefix
61
+ * letter with no quote behind it is not a string at all and is handed back for
62
+ * `IDENT` to consume, which is what makes `b + "x"` an identifier, an operator
63
+ * and a string rather than a bytes literal.
64
+ *
65
+ * Escapes are lexed in the NON-raw forms only: cel-go's lexer spells the raw
66
+ * forms `RAW '"' ~["\n\r]* '"'`, with no `ESC_SEQ` alternative, so the `"` in
67
+ * `r"a\"` CLOSES the literal. A single-delimiter form cannot span a newline; a
68
+ * triple-quoted one can, and closes at the first matching triple. An
69
+ * unterminated literal is not a token — the caller then steps over the opening
70
+ * quote as ordinary text, which is the behaviour marker-laden template text
71
+ * depends on.
72
+ *
73
+ * This is the STRING-ONLY entry point: it knows nothing about `//` comments, so
74
+ * a caller that runs over text which is not wholly CEL — KRO mixed templates,
75
+ * where `http://` must not read as a comment — can lex the literal family
76
+ * completely without inheriting comment masking. Callers that ARE looking at
77
+ * whole CEL expressions want {@link maskClosedCelLiteralsAndComments} instead.
78
+ */
79
+ export function celStringLiteralEnd(text, at) {
80
+ let index = at;
81
+ let raw = false;
82
+ let bytes = false;
83
+ for (let take = 0; take < 2; take += 1) {
84
+ const character = text[index];
85
+ if (!raw && (character === 'r' || character === 'R')) {
86
+ raw = true;
87
+ index += 1;
88
+ }
89
+ else if (!bytes && (character === 'b' || character === 'B')) {
90
+ bytes = true;
91
+ index += 1;
92
+ }
93
+ else
94
+ break;
95
+ }
96
+ const delimiter = CEL_STRING_DELIMITERS.find((candidate) => text.startsWith(candidate, index));
97
+ if (delimiter === undefined)
98
+ return at;
99
+ for (let scan = index + delimiter.length; scan < text.length; scan += 1) {
100
+ const character = text[scan];
101
+ if (!raw && character === '\\') {
102
+ if (scan + 1 >= text.length)
103
+ return at;
104
+ scan += 1;
105
+ continue;
106
+ }
107
+ if (delimiter.length === 1 && (character === '\n' || character === '\r'))
108
+ return at;
109
+ if (text.startsWith(delimiter, scan))
110
+ return scan + delimiter.length;
111
+ }
112
+ return at;
113
+ }
114
+ /**
115
+ * End of the `COMMENT ::= '//' ~NEWLINE*` starting at `at`, or `at` for none.
116
+ *
117
+ * The comment stops BEFORE its newline, so masking one never disturbs the line
118
+ * structure of a multi-line expression.
119
+ *
120
+ * Exported as the comment half of this lexis, the sibling of
121
+ * {@link celStringLiteralEnd}, for callers that walk a REGION of CEL rather
122
+ * than a whole expression and so cannot use the whole-text masks below. Such a
123
+ * caller owes itself the ordering rule {@link celLiteralRegions} encodes: ask
124
+ * this question and the string question at the same index, in one source-ordered
125
+ * walk, so that a `//` inside a literal opens no comment and a quote inside a
126
+ * comment opens no literal.
127
+ */
128
+ export function celLineCommentEnd(text, at) {
129
+ if (text[at] !== '/' || text[at + 1] !== '/')
130
+ return at;
131
+ const newline = text.slice(at).search(/[\r\n]/);
132
+ return newline < 0 ? text.length : at + newline;
133
+ }
134
+ /**
135
+ * Locate every closed string literal AND every line comment, in ONE
136
+ * source-ordered walk.
137
+ *
138
+ * Two orderings are what a strings-only scan gets wrong, and both fall out of
139
+ * walking in source order: a `//` INSIDE a string literal is part of the
140
+ * literal and opens no comment (`"a // b"` is a string), and a quote INSIDE a
141
+ * comment is part of the comment and opens no literal (`// it's` does not open
142
+ * one, where a strings-only scan would flip the masking of everything after
143
+ * that apostrophe).
144
+ */
145
+ function celLiteralRegions(expression) {
146
+ const regions = [];
147
+ let index = 0;
148
+ while (index < expression.length) {
149
+ const commentEnd = celLineCommentEnd(expression, index);
150
+ if (commentEnd > index) {
151
+ regions.push({ kind: 'comment', start: index, end: commentEnd });
152
+ index = commentEnd;
153
+ continue;
154
+ }
155
+ const literalEnd = celStringLiteralEnd(expression, index);
156
+ if (literalEnd > index) {
157
+ regions.push({ kind: 'string', start: index, end: literalEnd });
158
+ index = literalEnd;
159
+ continue;
160
+ }
161
+ if (CEL_IDENT_START.test(expression[index])) {
162
+ index += 1;
163
+ while (index < expression.length && IDENT_CHARACTER.test(expression[index])) {
164
+ index += 1;
165
+ }
166
+ continue;
167
+ }
168
+ index += 1;
169
+ }
170
+ return regions;
171
+ }
172
+ /** Blank `regions` out of `expression`, one space per UTF-16 code unit. */
173
+ function blankRegions(expression, regions) {
174
+ if (regions.length === 0)
175
+ return expression;
176
+ const characters = expression.split('');
177
+ for (const region of regions) {
178
+ for (let index = region.start; index < region.end; index += 1) {
179
+ characters[index] = ' ';
180
+ }
181
+ }
182
+ return characters.join('');
183
+ }
184
+ /**
185
+ * Locate every CLOSED CEL string literal in `expression`, in source order.
186
+ *
187
+ * The whole `STRING_LIT`/`BYTES_LIT` family is recognised — `r`/`R`/`b`/`B`
188
+ * prefixes in either order, the two triple-quoted forms, escapes in the non-raw
189
+ * forms — and the span INCLUDES the prefix letters, because they are part of
190
+ * the token.
191
+ *
192
+ * The walk is source-ordered and consumes an `IDENT` whole, which is what keeps
193
+ * a prefix letter that merely ENDS an identifier from opening a literal:
194
+ * `ab"x"` is the identifier `ab` followed by a string, never a bytes literal.
195
+ * Restarting the scan at every character cannot make that distinction. A quote
196
+ * inside a `//` comment opens no literal — see {@link celLiteralRegions}.
197
+ *
198
+ * A quote that is never terminated is NOT reported as a literal: callers run
199
+ * over text that is not always well-formed CEL — marker-laden strings derived
200
+ * from template literals may carry a bare apostrophe (`it's ready`) — and
201
+ * swallowing the rest of such a string would silently suppress substitutions
202
+ * in real expression text. Offsets index UTF-16 code units so a caller can
203
+ * splice by them.
204
+ */
205
+ export function celStringLiteralSpans(expression) {
206
+ return celLiteralRegions(expression)
207
+ .filter((region) => region.kind === 'string')
208
+ .map(({ start, end }) => ({ start, end }));
209
+ }
210
+ /**
211
+ * Blank out every CLOSED CEL string literal AND every `//` line comment.
212
+ *
213
+ * This is what a scanner that REWRITES an expression must read: a token inside
214
+ * quoted data is not a reference, and neither is one inside a comment. Offsets
215
+ * and length are preserved exactly — one space per UTF-16 code unit, newlines
216
+ * left in place — so a caller may match over the masked copy and splice
217
+ * replacements into the original text at the reported offsets.
218
+ */
219
+ export function maskClosedCelLiteralsAndComments(expression) {
220
+ return blankRegions(expression, celLiteralRegions(expression));
221
+ }
28
222
  /**
29
223
  * Locate each lexical CEL collection-macro body without treating a lambda
30
224
  * identifier as expression-global.
@@ -1 +1 @@
1
- {"version":3,"file":"cel-lexical-scanner.js","sourceRoot":"","sources":["../../../src/core/references/cel-lexical-scanner.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IACnC,IAAI,KAA4B,CAAC;IACjC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAC3C,KAAK,GAAG,SAAS,CAAC;gBAClB,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YAC1B,CAAC;YACD,SAAS;QACX,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACxB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC9B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YAC/B,KAAK,GAAG,SAAS,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC;AAQD;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,8CAA8C,CAAC;IACpE,IAAI,KAAK,GAA2B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAElE,OAAO,KAAK,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7F,IAAI,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ;oBACR,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,UAAU;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,MAAc,EACd,MAAiC;IAEjC,OAAO,MAAM,CAAC,IAAI,CAChB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,UAAU,IAAI,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAChG,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,UAAkB,EAClB,SAAiB;IASjB,IAAI,SAAS,GAAG,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG;QAAE,OAAO,SAAS,CAAC;IAErE,MAAM,KAAK,GAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,UAA8B,CAAC;IACnC,KAAK,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtE,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QACD,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACzE,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAChD,KAAK,CAAC,GAAG,EAAE,CAAC;YACZ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,UAAU,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;gBAC/C,OAAO;oBACL,kBAAkB,EAAE,SAAS,GAAG,CAAC;oBACjC,gBAAgB,EAAE,UAAU;oBAC5B,SAAS,EAAE,UAAU,GAAG,CAAC;oBACzB,UAAU,EAAE,KAAK;iBAClB,CAAC;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,SAAS,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACxE,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"cel-lexical-scanner.js","sourceRoot":"","sources":["../../../src/core/references/cel-lexical-scanner.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CelExpression, RefOrValue } from '../types.js';
1
+ import type { CelExpression, KubernetesRef, RefOrValue } from '../types.js';
2
2
  /**
3
3
  * Build a CEL expression from parts. Accepts resource references (`schema.spec.*`,
4
4
  * `resources.*.status.*`), other CEL expressions, and literal strings/numbers/booleans.
@@ -118,6 +118,240 @@ declare function cond<T = unknown>(condition: RefOrValue<unknown>, trueValue: Re
118
118
  */
119
119
  declare function defaultValue<T extends CelValue>(value: RefOrValue<T>, fallback: RefOrValue<NonNullable<T>>): CelExpression<NonNullable<T>> & NonNullable<T>;
120
120
  declare function defaultValue<T extends object | null | undefined>(value: RefOrValue<T>, fallback: RefOrValue<NonNullable<T>>): CelExpression<NonNullable<T>> & NonNullable<T>;
121
+ declare const UNSAFE_CEL_LIST_PATH: unique symbol;
122
+ /**
123
+ * A CEL path to a list, written out by hand instead of selected.
124
+ *
125
+ * Produced only by {@link unsafeListPath}. It is a distinct type rather than a
126
+ * bare `string` so that the guarded-list helpers can accept a hand-written path
127
+ * where one is genuinely needed, while still rejecting an arbitrary string that
128
+ * was passed by mistake.
129
+ */
130
+ export interface UnsafeCelListPath<TElement = unknown> {
131
+ readonly [UNSAFE_CEL_LIST_PATH]: string;
132
+ /** Phantom: carries the declared element type, never present at runtime. */
133
+ readonly __element?: TElement;
134
+ }
135
+ /**
136
+ * A selectable reference to a list-typed field.
137
+ *
138
+ * The ordinary way to produce one is to read the field off a resource or schema
139
+ * proxy — `service.status.loadBalancer.ingress` — which gives the helpers both
140
+ * the CEL path and the element type. `TElement` is inferred from it, so the
141
+ * `field` argument can be checked against the element's own keys.
142
+ *
143
+ * A hand-written path is accepted only in the {@link UnsafeCelListPath} form, so
144
+ * it has to be asked for by name.
145
+ */
146
+ export type CelListSelector<TElement> = readonly TElement[] | undefined | KubernetesRef<readonly TElement[]> | KubernetesRef<readonly TElement[] | undefined> | UnsafeCelListPath<TElement>;
147
+ /**
148
+ * What projecting `TField` off an entry of a `TElement` list yields.
149
+ *
150
+ * Written out rather than left as an inferrable type parameter on purpose: a
151
+ * free `TResult` would be inferred from the *contextual* type at the call site —
152
+ * the status field's own declared type — so a loosely typed status field would
153
+ * silently widen the projection back to whatever it declares, which is exactly
154
+ * the type safety this signature exists to provide.
155
+ */
156
+ export type CelFieldProjection<TElement, TField extends keyof TElement> = CelExpression<NonNullable<TElement[TField]>> & NonNullable<TElement[TField]>;
157
+ /** What projecting the first entry of a `TElement` list yields. */
158
+ export type CelEntryProjection<TElement> = CelExpression<NonNullable<TElement>> & NonNullable<TElement>;
159
+ /**
160
+ * The trailing `fallback` parameter of a projection helper, constrained to the
161
+ * type being projected.
162
+ *
163
+ * Two things are being said at once, which is why this is a parameter *list*
164
+ * rather than a parameter type:
165
+ *
166
+ * - **The fallback has the projected type.** A projection is typed as the field
167
+ * it projects, so a fallback of any other type makes that type a lie. Worse,
168
+ * the helpers emit the fallback as the `else` branch of a CEL ternary, and a
169
+ * ternary whose branches have different types is rejected outright by cel-go
170
+ * when KRO admits the ResourceGraphDefinition — while cel-js evaluates it
171
+ * happily, so the mismatch survives every direct-mode test and surfaces only
172
+ * on a cluster.
173
+ * - **The default is available exactly where the projected type admits it.**
174
+ * The default is not "some string", it is the empty string, so the question
175
+ * is `'' extends T` — whether `''` itself is assignable to `T`. The narrower
176
+ * `string extends T` asks whether `T` admits *any* string, which is a
177
+ * different question and the wrong one: a literal union like
178
+ * `'' | 'Ready' | 'Failed'` admits the default perfectly well, yet fails
179
+ * `string extends T` and so used to force the author to restate `''` by hand.
180
+ * The two tests agree everywhere else that matters — both true for `string`
181
+ * and for a union containing it, both false for `number`, for `boolean`, for
182
+ * a string-literal union `''` is not a member of, and for a template-literal
183
+ * type such as `` `${number}px` `` that no empty string inhabits. Where the
184
+ * test is false the argument is required, so a numeric field with no fallback
185
+ * is a compile error rather than a silent `''` that KRO will reject.
186
+ *
187
+ * `RefOrValue` is kept, so a `KubernetesRef` or a CEL expression of the right
188
+ * type is still accepted in place of a literal.
189
+ *
190
+ * **Structured projections are included in all of this.** A projection of an
191
+ * object- or list-typed field takes an object or array fallback, `{}` and `[]`
192
+ * included, and it is rendered as the CEL map or list literal of that shape —
193
+ * see {@link projectionFallback}. Nothing special is needed at the type level to
194
+ * say so, and that is the point: `''` is not assignable to an object type, so
195
+ * such a projection requires its fallback, and neither `null` nor `undefined` is
196
+ * assignable to `RefOrValue<T>` for a `NonNullable` `T`, so neither can be
197
+ * passed. The runtime rejects `null` as well, for callers with no types.
198
+ */
199
+ export type CelFallbackArgs<T> = '' extends T ? [fallback?: RefOrValue<T>] : [fallback: RefOrValue<T>];
200
+ /**
201
+ * Name a list by its CEL path, when there is no proxy to select it from.
202
+ *
203
+ * **Unsafe** in one specific sense: nothing checks the path. Not that the named
204
+ * resource is in the graph, not that the path reaches a list, and not that the
205
+ * elements are what `TElement` says they are. Get any of that wrong and the
206
+ * mistake surfaces on a cluster rather than at compile time, which is exactly
207
+ * what selecting the field off a proxy avoids.
208
+ *
209
+ * Reach for it only where the proxy genuinely is not in scope — a bootstrap
210
+ * composition that names a graph resource by id because the resource is created
211
+ * by a Helm chart rather than declared in the composition, for instance. The
212
+ * element type is still declared and still checked, so `field` keeps its
213
+ * `keyof` check even here.
214
+ *
215
+ * @example
216
+ * ```typescript
217
+ * // The Gateway is created by its controller; only its resource id is in scope.
218
+ * Cel.firstWhereHas(
219
+ * Cel.unsafeListPath<{ value: string }>(`${resourceId}.status.addresses`),
220
+ * 'value'
221
+ * )
222
+ * ```
223
+ */
224
+ declare function unsafeListPath<TElement = unknown>(path: string): UnsafeCelListPath<TElement>;
225
+ /**
226
+ * Project the first entry of an optional nested list that actually carries a
227
+ * field, in the one CEL form both engines accept.
228
+ *
229
+ * ## Why this helper exists
230
+ *
231
+ * An optional nested list — `service.status.loadBalancer.ingress`,
232
+ * `helmRelease.status.history` — is absent until a controller fills it in, and
233
+ * the two CEL engines TypeKro emits for disagree about how to guard it:
234
+ *
235
+ * - **`has()` on an index expression** (`has(list[0].field)`) is rejected by
236
+ * cel-js: "has() does not support atomic expressions".
237
+ * - **`"field" in list[0]`** is rejected by cel-go under KRO's type env, which
238
+ * types a list entry as a message rather than a map.
239
+ * - **A `has()` guard on the *right* of `&&`** (`size(list) > 0 && has(list)`)
240
+ * is absorbed by cel-go but propagates in cel-js, which evaluates operands
241
+ * left to right.
242
+ *
243
+ * The form both engines accept is `list.filter(entry, has(entry.field))` inside
244
+ * a **lazy ternary**, which is exactly what this helper emits:
245
+ *
246
+ * ```
247
+ * has(a.status) && has(a.status.list)
248
+ * ? (size(<matching>) > 0 ? <matching>[0].<field> : <fallback>)
249
+ * : <fallback>
250
+ * ```
251
+ *
252
+ * ## Selecting the list
253
+ *
254
+ * `list` is a list-typed field read off a resource or schema proxy, which gives
255
+ * this helper the element type and lets `field` be checked against the element's
256
+ * own keys — `Cel.firstWhereHas(service.status.loadBalancer.ingress, 'hostnmae')`
257
+ * is a compile error rather than a status field that is permanently `''`. Where
258
+ * no proxy is in scope, name the path with {@link unsafeListPath}.
259
+ *
260
+ * @param list The list to read, selected from a resource or schema proxy.
261
+ * @param field The field an entry must carry to be selected. Must be a key of
262
+ * the list's element type.
263
+ * @param fallback Value used when the list is absent, empty, or has no entry
264
+ * carrying `field`. Has the type of the projected field — both because the
265
+ * projection is typed as that field, and because cel-go rejects a ternary
266
+ * whose branches disagree. Defaults to the empty string only where that field
267
+ * type admits `''`; elsewhere it is required, structured fields included — an
268
+ * object- or list-typed field takes an object or array literal, a
269
+ * `KubernetesRef`, or a CEL expression of that type. See
270
+ * {@link CelFallbackArgs} and {@link projectionFallback}.
271
+ *
272
+ * @example
273
+ * ```typescript
274
+ * // First ingress entry that reports a hostname, or '' while none does.
275
+ * hostname: Cel.firstWhereHas(service.status.loadBalancer.ingress, 'hostname')
276
+ *
277
+ * // Naming a graph resource by id, as bootstrap compositions do.
278
+ * version: Cel.firstWhereHas(
279
+ * Cel.unsafeListPath<{ chartVersion: string }>('release.status.history'),
280
+ * 'chartVersion'
281
+ * )
282
+ * ```
283
+ */
284
+ declare function firstWhereHas<TElement extends object, TField extends Extract<keyof TElement, string>>(list: CelListSelector<TElement>, field: TField, ...fallback: CelFallbackArgs<NonNullable<TElement[TField]>>): CelFieldProjection<TElement, TField>;
285
+ /**
286
+ * First entry of an optional nested list of scalars, with the same
287
+ * dual-dialect-safe guard as {@link firstWhereHas}.
288
+ *
289
+ * Use this when list entries are plain values (`status.endpoints.secure` is a
290
+ * list of URLs) and there is therefore no field to filter on. Every hop of the
291
+ * path is guarded, so an absent intermediate object yields the fallback instead
292
+ * of the cel-js "Identifier not found" error that a single `has()` on the full
293
+ * path produces.
294
+ *
295
+ * As with {@link firstWhereHas}, the list is selected from a resource or schema
296
+ * proxy; a hand-written path has to go through {@link unsafeListPath}.
297
+ *
298
+ * @param list The list to read, selected from a resource or schema proxy.
299
+ * @param fallback Value used when the list is absent or empty. Has the element
300
+ * type, and is optional only where that type admits `''` — so a list of
301
+ * objects requires an object fallback. See {@link CelFallbackArgs} and
302
+ * {@link projectionFallback}.
303
+ *
304
+ * @example
305
+ * ```typescript
306
+ * endpoint: Cel.firstOf(Cel.unsafeListPath<string>('objectStore.status.endpoints.secure'))
307
+ * ```
308
+ */
309
+ declare function firstOf<TElement>(list: CelListSelector<TElement>, ...fallback: CelFallbackArgs<NonNullable<TElement>>): CelEntryProjection<TElement>;
310
+ /** One entry of a Service's `status.loadBalancer.ingress`. */
311
+ export interface LoadBalancerIngressEntry {
312
+ readonly ip?: string | undefined;
313
+ readonly hostname?: string | undefined;
314
+ }
315
+ /**
316
+ * A Service whose `status.loadBalancer.ingress` can be projected.
317
+ *
318
+ * The Service itself, selected from the graph — not its resource id. Where only
319
+ * the id is in scope, project the ingress list directly with
320
+ * {@link firstWhereHas} over a {@link unsafeListPath}.
321
+ */
322
+ export interface LoadBalancerServiceRef {
323
+ readonly status: {
324
+ readonly loadBalancer: {
325
+ readonly ingress?: readonly LoadBalancerIngressEntry[] | undefined;
326
+ };
327
+ };
328
+ }
329
+ /**
330
+ * Project a Service's load balancer address in the one CEL form both engines
331
+ * accept.
332
+ *
333
+ * A `LoadBalancer` Service reports its address as `status.loadBalancer.ingress`,
334
+ * a list that does not exist until the cloud provider assigns one, and whose
335
+ * entries carry `ip` **or** `hostname` depending on the provider. This is
336
+ * {@link firstWhereHas} bound to that shape, so factories stop hand-rolling the
337
+ * guard.
338
+ *
339
+ * Yields the fallback (default `''`) while the Service has no address, and for
340
+ * the field the provider does not report.
341
+ *
342
+ * @param service The Service resource, selected from the graph.
343
+ * @param field `'ip'` for L4 load balancers, `'hostname'` for name-based ones.
344
+ * @param fallback Value while no matching entry exists. Defaults to `''`.
345
+ *
346
+ * @example
347
+ * ```typescript
348
+ * loadBalancer: {
349
+ * ip: Cel.loadBalancerAddress(gatewayService, 'ip'),
350
+ * hostname: Cel.loadBalancerAddress(gatewayService, 'hostname'),
351
+ * }
352
+ * ```
353
+ */
354
+ declare function loadBalancerAddress(service: LoadBalancerServiceRef, field?: 'ip' | 'hostname', fallback?: RefOrValue<string>): CelExpression<string> & string;
121
355
  /**
122
356
  * Creates a mixed string template that combines literal strings with CEL expressions
123
357
  *
@@ -191,6 +425,20 @@ export declare const Cel: {
191
425
  concat: typeof concat;
192
426
  has: typeof has;
193
427
  not: typeof not;
428
+ /**
429
+ * First entry of an optional nested list that carries `field`, in the one
430
+ * guard form cel-js and cel-go both accept.
431
+ */
432
+ firstWhereHas: typeof firstWhereHas;
433
+ /** First entry of an optional nested list of scalars, dual-dialect safe. */
434
+ firstOf: typeof firstOf;
435
+ /**
436
+ * Name a list by its CEL path where no proxy is in scope. Nothing about the
437
+ * path is checked — prefer selecting the field off a resource or schema proxy.
438
+ */
439
+ unsafeListPath: typeof unsafeListPath;
440
+ /** A Service's load balancer `ip`/`hostname`, dual-dialect safe. */
441
+ loadBalancerAddress: typeof loadBalancerAddress;
194
442
  /** Tagged template literal for CEL expressions. Alias: standalone `cel` export. */
195
443
  tag: typeof cel;
196
444
  /** Create a boolean CEL expression. Shorthand for Cel.expr<boolean>(...). */
@@ -1 +1 @@
1
- {"version":3,"file":"cel.d.ts","sourceRoot":"","sources":["../../../src/core/references/cel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cel.d.ts","sourceRoot":"","sources":["../../../src/core/references/cel.ts"],"names":[],"mappings":"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"}