typekro 0.1.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 (620) hide show
  1. package/LICENSE +185 -0
  2. package/README.md +1137 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/alchemy/deployers.d.ts +39 -0
  5. package/dist/alchemy/deployers.d.ts.map +1 -0
  6. package/dist/alchemy/deployers.js +194 -0
  7. package/dist/alchemy/deployers.js.map +1 -0
  8. package/dist/alchemy/deployment.d.ts +12 -0
  9. package/dist/alchemy/deployment.d.ts.map +1 -0
  10. package/dist/alchemy/deployment.js +12 -0
  11. package/dist/alchemy/deployment.js.map +1 -0
  12. package/dist/alchemy/index.d.ts +17 -0
  13. package/dist/alchemy/index.d.ts.map +1 -0
  14. package/dist/alchemy/index.js +20 -0
  15. package/dist/alchemy/index.js.map +1 -0
  16. package/dist/alchemy/resolver.d.ts +127 -0
  17. package/dist/alchemy/resolver.d.ts.map +1 -0
  18. package/dist/alchemy/resolver.js +341 -0
  19. package/dist/alchemy/resolver.js.map +1 -0
  20. package/dist/alchemy/resource-registration.d.ts +22 -0
  21. package/dist/alchemy/resource-registration.d.ts.map +1 -0
  22. package/dist/alchemy/resource-registration.js +218 -0
  23. package/dist/alchemy/resource-registration.js.map +1 -0
  24. package/dist/alchemy/type-inference.d.ts +13 -0
  25. package/dist/alchemy/type-inference.d.ts.map +1 -0
  26. package/dist/alchemy/type-inference.js +67 -0
  27. package/dist/alchemy/type-inference.js.map +1 -0
  28. package/dist/alchemy/types.d.ts +92 -0
  29. package/dist/alchemy/types.d.ts.map +1 -0
  30. package/dist/alchemy/types.js +8 -0
  31. package/dist/alchemy/types.js.map +1 -0
  32. package/dist/alchemy/utilities.d.ts +12 -0
  33. package/dist/alchemy/utilities.d.ts.map +1 -0
  34. package/dist/alchemy/utilities.js +16 -0
  35. package/dist/alchemy/utilities.js.map +1 -0
  36. package/dist/alchemy/wrapper.d.ts +16 -0
  37. package/dist/alchemy/wrapper.d.ts.map +1 -0
  38. package/dist/alchemy/wrapper.js +23 -0
  39. package/dist/alchemy/wrapper.js.map +1 -0
  40. package/dist/core/composition/composition.d.ts +94 -0
  41. package/dist/core/composition/composition.d.ts.map +1 -0
  42. package/dist/core/composition/composition.js +230 -0
  43. package/dist/core/composition/composition.js.map +1 -0
  44. package/dist/core/composition/index.d.ts +12 -0
  45. package/dist/core/composition/index.d.ts.map +1 -0
  46. package/dist/core/composition/index.js +12 -0
  47. package/dist/core/composition/index.js.map +1 -0
  48. package/dist/core/composition/typekro-runtime/index.d.ts +3 -0
  49. package/dist/core/composition/typekro-runtime/index.d.ts.map +1 -0
  50. package/dist/core/composition/typekro-runtime/index.js +2 -0
  51. package/dist/core/composition/typekro-runtime/index.js.map +1 -0
  52. package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts +39 -0
  53. package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +1 -0
  54. package/dist/core/composition/typekro-runtime/typekro-runtime.js +100 -0
  55. package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +1 -0
  56. package/dist/core/composition/typekro-runtime/types.d.ts +16 -0
  57. package/dist/core/composition/typekro-runtime/types.d.ts.map +1 -0
  58. package/dist/core/composition/typekro-runtime/types.js +12 -0
  59. package/dist/core/composition/typekro-runtime/types.js.map +1 -0
  60. package/dist/core/composition/types.d.ts +264 -0
  61. package/dist/core/composition/types.d.ts.map +1 -0
  62. package/dist/core/composition/types.js +2 -0
  63. package/dist/core/composition/types.js.map +1 -0
  64. package/dist/core/constants/brands.d.ts +42 -0
  65. package/dist/core/constants/brands.d.ts.map +1 -0
  66. package/dist/core/constants/brands.js +51 -0
  67. package/dist/core/constants/brands.js.map +1 -0
  68. package/dist/core/dependencies/graph.d.ts +67 -0
  69. package/dist/core/dependencies/graph.d.ts.map +1 -0
  70. package/dist/core/dependencies/graph.js +220 -0
  71. package/dist/core/dependencies/graph.js.map +1 -0
  72. package/dist/core/dependencies/index.d.ts +7 -0
  73. package/dist/core/dependencies/index.d.ts.map +1 -0
  74. package/dist/core/dependencies/index.js +8 -0
  75. package/dist/core/dependencies/index.js.map +1 -0
  76. package/dist/core/dependencies/resolver.d.ts +53 -0
  77. package/dist/core/dependencies/resolver.d.ts.map +1 -0
  78. package/dist/core/dependencies/resolver.js +167 -0
  79. package/dist/core/dependencies/resolver.js.map +1 -0
  80. package/dist/core/dependencies/type-guards.d.ts +17 -0
  81. package/dist/core/dependencies/type-guards.d.ts.map +1 -0
  82. package/dist/core/dependencies/type-guards.js +35 -0
  83. package/dist/core/dependencies/type-guards.js.map +1 -0
  84. package/dist/core/deployment/deployment-strategies.d.ts +12 -0
  85. package/dist/core/deployment/deployment-strategies.d.ts.map +1 -0
  86. package/dist/core/deployment/deployment-strategies.js +11 -0
  87. package/dist/core/deployment/deployment-strategies.js.map +1 -0
  88. package/dist/core/deployment/direct-factory.d.ts +111 -0
  89. package/dist/core/deployment/direct-factory.d.ts.map +1 -0
  90. package/dist/core/deployment/direct-factory.js +627 -0
  91. package/dist/core/deployment/direct-factory.js.map +1 -0
  92. package/dist/core/deployment/engine.d.ts +128 -0
  93. package/dist/core/deployment/engine.d.ts.map +1 -0
  94. package/dist/core/deployment/engine.js +1408 -0
  95. package/dist/core/deployment/engine.js.map +1 -0
  96. package/dist/core/deployment/index.d.ts +14 -0
  97. package/dist/core/deployment/index.d.ts.map +1 -0
  98. package/dist/core/deployment/index.js +14 -0
  99. package/dist/core/deployment/index.js.map +1 -0
  100. package/dist/core/deployment/kro-factory.d.ts +143 -0
  101. package/dist/core/deployment/kro-factory.d.ts.map +1 -0
  102. package/dist/core/deployment/kro-factory.js +837 -0
  103. package/dist/core/deployment/kro-factory.js.map +1 -0
  104. package/dist/core/deployment/readiness.d.ts +54 -0
  105. package/dist/core/deployment/readiness.d.ts.map +1 -0
  106. package/dist/core/deployment/readiness.js +175 -0
  107. package/dist/core/deployment/readiness.js.map +1 -0
  108. package/dist/core/deployment/rollback-manager.d.ts +63 -0
  109. package/dist/core/deployment/rollback-manager.d.ts.map +1 -0
  110. package/dist/core/deployment/rollback-manager.js +225 -0
  111. package/dist/core/deployment/rollback-manager.js.map +1 -0
  112. package/dist/core/deployment/shared-utilities.d.ts +41 -0
  113. package/dist/core/deployment/shared-utilities.d.ts.map +1 -0
  114. package/dist/core/deployment/shared-utilities.js +100 -0
  115. package/dist/core/deployment/shared-utilities.js.map +1 -0
  116. package/dist/core/deployment/status-hydrator.d.ts +86 -0
  117. package/dist/core/deployment/status-hydrator.d.ts.map +1 -0
  118. package/dist/core/deployment/status-hydrator.js +262 -0
  119. package/dist/core/deployment/status-hydrator.js.map +1 -0
  120. package/dist/core/deployment/strategies/alchemy-strategy.d.ts +107 -0
  121. package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +1 -0
  122. package/dist/core/deployment/strategies/alchemy-strategy.js +446 -0
  123. package/dist/core/deployment/strategies/alchemy-strategy.js.map +1 -0
  124. package/dist/core/deployment/strategies/base-strategy.d.ts +50 -0
  125. package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -0
  126. package/dist/core/deployment/strategies/base-strategy.js +82 -0
  127. package/dist/core/deployment/strategies/base-strategy.js.map +1 -0
  128. package/dist/core/deployment/strategies/direct-strategy.d.ts +29 -0
  129. package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -0
  130. package/dist/core/deployment/strategies/direct-strategy.js +80 -0
  131. package/dist/core/deployment/strategies/direct-strategy.js.map +1 -0
  132. package/dist/core/deployment/strategies/index.d.ts +12 -0
  133. package/dist/core/deployment/strategies/index.d.ts.map +1 -0
  134. package/dist/core/deployment/strategies/index.js +12 -0
  135. package/dist/core/deployment/strategies/index.js.map +1 -0
  136. package/dist/core/deployment/strategies/kro-strategy.d.ts +41 -0
  137. package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -0
  138. package/dist/core/deployment/strategies/kro-strategy.js +270 -0
  139. package/dist/core/deployment/strategies/kro-strategy.js.map +1 -0
  140. package/dist/core/direct-deployment.d.ts +8 -0
  141. package/dist/core/direct-deployment.d.ts.map +1 -0
  142. package/dist/core/direct-deployment.js +9 -0
  143. package/dist/core/direct-deployment.js.map +1 -0
  144. package/dist/core/errors.d.ts +73 -0
  145. package/dist/core/errors.d.ts.map +1 -0
  146. package/dist/core/errors.js +250 -0
  147. package/dist/core/errors.js.map +1 -0
  148. package/dist/core/evaluation/cel-optimizer.d.ts +48 -0
  149. package/dist/core/evaluation/cel-optimizer.d.ts.map +1 -0
  150. package/dist/core/evaluation/cel-optimizer.js +176 -0
  151. package/dist/core/evaluation/cel-optimizer.js.map +1 -0
  152. package/dist/core/factory.d.ts +12 -0
  153. package/dist/core/factory.d.ts.map +1 -0
  154. package/dist/core/factory.js +13 -0
  155. package/dist/core/factory.js.map +1 -0
  156. package/dist/core/kubernetes/api.d.ts +43 -0
  157. package/dist/core/kubernetes/api.d.ts.map +1 -0
  158. package/dist/core/kubernetes/api.js +209 -0
  159. package/dist/core/kubernetes/api.js.map +1 -0
  160. package/dist/core/kubernetes/client-provider.d.ts +204 -0
  161. package/dist/core/kubernetes/client-provider.d.ts.map +1 -0
  162. package/dist/core/kubernetes/client-provider.js +421 -0
  163. package/dist/core/kubernetes/client-provider.js.map +1 -0
  164. package/dist/core/logging/config.d.ts +14 -0
  165. package/dist/core/logging/config.d.ts.map +1 -0
  166. package/dist/core/logging/config.js +57 -0
  167. package/dist/core/logging/config.js.map +1 -0
  168. package/dist/core/logging/index.d.ts +4 -0
  169. package/dist/core/logging/index.d.ts.map +1 -0
  170. package/dist/core/logging/index.js +4 -0
  171. package/dist/core/logging/index.js.map +1 -0
  172. package/dist/core/logging/logger.d.ts +26 -0
  173. package/dist/core/logging/logger.d.ts.map +1 -0
  174. package/dist/core/logging/logger.js +114 -0
  175. package/dist/core/logging/logger.js.map +1 -0
  176. package/dist/core/logging/types.d.ts +93 -0
  177. package/dist/core/logging/types.d.ts.map +1 -0
  178. package/dist/core/logging/types.js +2 -0
  179. package/dist/core/logging/types.js.map +1 -0
  180. package/dist/core/readiness/cluster-state.d.ts +229 -0
  181. package/dist/core/readiness/cluster-state.d.ts.map +1 -0
  182. package/dist/core/readiness/cluster-state.js +360 -0
  183. package/dist/core/readiness/cluster-state.js.map +1 -0
  184. package/dist/core/readiness/index.d.ts +5 -0
  185. package/dist/core/readiness/index.d.ts.map +1 -0
  186. package/dist/core/readiness/index.js +5 -0
  187. package/dist/core/readiness/index.js.map +1 -0
  188. package/dist/core/readiness/registry.d.ts +45 -0
  189. package/dist/core/readiness/registry.d.ts.map +1 -0
  190. package/dist/core/readiness/registry.js +62 -0
  191. package/dist/core/readiness/registry.js.map +1 -0
  192. package/dist/core/references/cel-evaluator.d.ts +102 -0
  193. package/dist/core/references/cel-evaluator.d.ts.map +1 -0
  194. package/dist/core/references/cel-evaluator.js +288 -0
  195. package/dist/core/references/cel-evaluator.js.map +1 -0
  196. package/dist/core/references/cel.d.ts +75 -0
  197. package/dist/core/references/cel.d.ts.map +1 -0
  198. package/dist/core/references/cel.js +213 -0
  199. package/dist/core/references/cel.js.map +1 -0
  200. package/dist/core/references/external-refs.d.ts +37 -0
  201. package/dist/core/references/external-refs.d.ts.map +1 -0
  202. package/dist/core/references/external-refs.js +53 -0
  203. package/dist/core/references/external-refs.js.map +1 -0
  204. package/dist/core/references/index.d.ts +15 -0
  205. package/dist/core/references/index.d.ts.map +1 -0
  206. package/dist/core/references/index.js +19 -0
  207. package/dist/core/references/index.js.map +1 -0
  208. package/dist/core/references/resolver.d.ts +117 -0
  209. package/dist/core/references/resolver.d.ts.map +1 -0
  210. package/dist/core/references/resolver.js +554 -0
  211. package/dist/core/references/resolver.js.map +1 -0
  212. package/dist/core/references/schema-proxy.d.ts +38 -0
  213. package/dist/core/references/schema-proxy.d.ts.map +1 -0
  214. package/dist/core/references/schema-proxy.js +163 -0
  215. package/dist/core/references/schema-proxy.js.map +1 -0
  216. package/dist/core/serialization/core.d.ts +15 -0
  217. package/dist/core/serialization/core.d.ts.map +1 -0
  218. package/dist/core/serialization/core.js +169 -0
  219. package/dist/core/serialization/core.js.map +1 -0
  220. package/dist/core/serialization/index.d.ts +9 -0
  221. package/dist/core/serialization/index.d.ts.map +1 -0
  222. package/dist/core/serialization/index.js +12 -0
  223. package/dist/core/serialization/index.js.map +1 -0
  224. package/dist/core/serialization/schema.d.ts +14 -0
  225. package/dist/core/serialization/schema.d.ts.map +1 -0
  226. package/dist/core/serialization/schema.js +33 -0
  227. package/dist/core/serialization/schema.js.map +1 -0
  228. package/dist/core/serialization/validation.d.ts +18 -0
  229. package/dist/core/serialization/validation.d.ts.map +1 -0
  230. package/dist/core/serialization/validation.js +165 -0
  231. package/dist/core/serialization/validation.js.map +1 -0
  232. package/dist/core/serialization/yaml.d.ts +10 -0
  233. package/dist/core/serialization/yaml.d.ts.map +1 -0
  234. package/dist/core/serialization/yaml.js +63 -0
  235. package/dist/core/serialization/yaml.js.map +1 -0
  236. package/dist/core/types/common.d.ts +41 -0
  237. package/dist/core/types/common.d.ts.map +1 -0
  238. package/dist/core/types/common.js +9 -0
  239. package/dist/core/types/common.js.map +1 -0
  240. package/dist/core/types/dependencies.d.ts +14 -0
  241. package/dist/core/types/dependencies.d.ts.map +1 -0
  242. package/dist/core/types/dependencies.js +5 -0
  243. package/dist/core/types/dependencies.js.map +1 -0
  244. package/dist/core/types/deployment.d.ts +265 -0
  245. package/dist/core/types/deployment.d.ts.map +1 -0
  246. package/dist/core/types/deployment.js +20 -0
  247. package/dist/core/types/deployment.js.map +1 -0
  248. package/dist/core/types/index.d.ts +19 -0
  249. package/dist/core/types/index.d.ts.map +1 -0
  250. package/dist/core/types/index.js +15 -0
  251. package/dist/core/types/index.js.map +1 -0
  252. package/dist/core/types/kubernetes.d.ts +352 -0
  253. package/dist/core/types/kubernetes.d.ts.map +1 -0
  254. package/dist/core/types/kubernetes.js +5 -0
  255. package/dist/core/types/kubernetes.js.map +1 -0
  256. package/dist/core/types/references.d.ts +54 -0
  257. package/dist/core/types/references.d.ts.map +1 -0
  258. package/dist/core/types/references.js +14 -0
  259. package/dist/core/types/references.js.map +1 -0
  260. package/dist/core/types/resource-graph.d.ts +93 -0
  261. package/dist/core/types/resource-graph.d.ts.map +1 -0
  262. package/dist/core/types/resource-graph.js +8 -0
  263. package/dist/core/types/resource-graph.js.map +1 -0
  264. package/dist/core/types/serialization.d.ts +210 -0
  265. package/dist/core/types/serialization.d.ts.map +1 -0
  266. package/dist/core/types/serialization.js +5 -0
  267. package/dist/core/types/serialization.js.map +1 -0
  268. package/dist/core/types/yaml.d.ts +92 -0
  269. package/dist/core/types/yaml.d.ts.map +1 -0
  270. package/dist/core/types/yaml.js +2 -0
  271. package/dist/core/types/yaml.js.map +1 -0
  272. package/dist/core/types.d.ts +8 -0
  273. package/dist/core/types.d.ts.map +1 -0
  274. package/dist/core/types.js +9 -0
  275. package/dist/core/types.js.map +1 -0
  276. package/dist/core/validation/cel-validator.d.ts +47 -0
  277. package/dist/core/validation/cel-validator.d.ts.map +1 -0
  278. package/dist/core/validation/cel-validator.js +200 -0
  279. package/dist/core/validation/cel-validator.js.map +1 -0
  280. package/dist/core/yaml/index.d.ts +5 -0
  281. package/dist/core/yaml/index.d.ts.map +1 -0
  282. package/dist/core/yaml/index.js +5 -0
  283. package/dist/core/yaml/index.js.map +1 -0
  284. package/dist/core/yaml/path-resolver.d.ts +122 -0
  285. package/dist/core/yaml/path-resolver.d.ts.map +1 -0
  286. package/dist/core/yaml/path-resolver.js +556 -0
  287. package/dist/core/yaml/path-resolver.js.map +1 -0
  288. package/dist/core.d.ts +30 -0
  289. package/dist/core.d.ts.map +1 -0
  290. package/dist/core.js +59 -0
  291. package/dist/core.js.map +1 -0
  292. package/dist/factories/flux/git-repository.d.ts +62 -0
  293. package/dist/factories/flux/git-repository.d.ts.map +1 -0
  294. package/dist/factories/flux/git-repository.js +34 -0
  295. package/dist/factories/flux/git-repository.js.map +1 -0
  296. package/dist/factories/flux/index.d.ts +10 -0
  297. package/dist/factories/flux/index.d.ts.map +1 -0
  298. package/dist/factories/flux/index.js +11 -0
  299. package/dist/factories/flux/index.js.map +1 -0
  300. package/dist/factories/flux/kustomize/index.d.ts +4 -0
  301. package/dist/factories/flux/kustomize/index.d.ts.map +1 -0
  302. package/dist/factories/flux/kustomize/index.js +3 -0
  303. package/dist/factories/flux/kustomize/index.js.map +1 -0
  304. package/dist/factories/flux/kustomize/kustomization.d.ts +178 -0
  305. package/dist/factories/flux/kustomize/kustomization.d.ts.map +1 -0
  306. package/dist/factories/flux/kustomize/kustomization.js +108 -0
  307. package/dist/factories/flux/kustomize/kustomization.js.map +1 -0
  308. package/dist/factories/flux/kustomize/readiness-evaluators.d.ts +9 -0
  309. package/dist/factories/flux/kustomize/readiness-evaluators.d.ts.map +1 -0
  310. package/dist/factories/flux/kustomize/readiness-evaluators.js +71 -0
  311. package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -0
  312. package/dist/factories/flux/kustomize/types.d.ts +2 -0
  313. package/dist/factories/flux/kustomize/types.d.ts.map +1 -0
  314. package/dist/factories/flux/kustomize/types.js +2 -0
  315. package/dist/factories/flux/kustomize/types.js.map +1 -0
  316. package/dist/factories/helm/helm-release.d.ts +139 -0
  317. package/dist/factories/helm/helm-release.d.ts.map +1 -0
  318. package/dist/factories/helm/helm-release.js +180 -0
  319. package/dist/factories/helm/helm-release.js.map +1 -0
  320. package/dist/factories/helm/helm-repository.d.ts +24 -0
  321. package/dist/factories/helm/helm-repository.d.ts.map +1 -0
  322. package/dist/factories/helm/helm-repository.js +57 -0
  323. package/dist/factories/helm/helm-repository.js.map +1 -0
  324. package/dist/factories/helm/index.d.ts +8 -0
  325. package/dist/factories/helm/index.d.ts.map +1 -0
  326. package/dist/factories/helm/index.js +8 -0
  327. package/dist/factories/helm/index.js.map +1 -0
  328. package/dist/factories/helm/readiness-evaluators.d.ts +55 -0
  329. package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -0
  330. package/dist/factories/helm/readiness-evaluators.js +295 -0
  331. package/dist/factories/helm/readiness-evaluators.js.map +1 -0
  332. package/dist/factories/helm/types.d.ts +21 -0
  333. package/dist/factories/helm/types.d.ts.map +1 -0
  334. package/dist/factories/helm/types.js +2 -0
  335. package/dist/factories/helm/types.js.map +1 -0
  336. package/dist/factories/index.d.ts +12 -0
  337. package/dist/factories/index.d.ts.map +1 -0
  338. package/dist/factories/index.js +31 -0
  339. package/dist/factories/index.js.map +1 -0
  340. package/dist/factories/kro/index.d.ts +11 -0
  341. package/dist/factories/kro/index.d.ts.map +1 -0
  342. package/dist/factories/kro/index.js +10 -0
  343. package/dist/factories/kro/index.js.map +1 -0
  344. package/dist/factories/kro/kro-crd.d.ts +14 -0
  345. package/dist/factories/kro/kro-crd.d.ts.map +1 -0
  346. package/dist/factories/kro/kro-crd.js +51 -0
  347. package/dist/factories/kro/kro-crd.js.map +1 -0
  348. package/dist/factories/kro/kro-custom-resource.d.ts +23 -0
  349. package/dist/factories/kro/kro-custom-resource.d.ts.map +1 -0
  350. package/dist/factories/kro/kro-custom-resource.js +153 -0
  351. package/dist/factories/kro/kro-custom-resource.js.map +1 -0
  352. package/dist/factories/kro/resource-graph-definition.d.ts +12 -0
  353. package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -0
  354. package/dist/factories/kro/resource-graph-definition.js +94 -0
  355. package/dist/factories/kro/resource-graph-definition.js.map +1 -0
  356. package/dist/factories/kubernetes/admission/index.d.ts +9 -0
  357. package/dist/factories/kubernetes/admission/index.d.ts.map +1 -0
  358. package/dist/factories/kubernetes/admission/index.js +9 -0
  359. package/dist/factories/kubernetes/admission/index.js.map +1 -0
  360. package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts +5 -0
  361. package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts.map +1 -0
  362. package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js +10 -0
  363. package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js.map +1 -0
  364. package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts +5 -0
  365. package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts.map +1 -0
  366. package/dist/factories/kubernetes/admission/validating-webhook-configuration.js +10 -0
  367. package/dist/factories/kubernetes/admission/validating-webhook-configuration.js.map +1 -0
  368. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts +6 -0
  369. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts.map +1 -0
  370. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js +35 -0
  371. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js.map +1 -0
  372. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts +6 -0
  373. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -0
  374. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js +31 -0
  375. package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js.map +1 -0
  376. package/dist/factories/kubernetes/autoscaling/index.d.ts +9 -0
  377. package/dist/factories/kubernetes/autoscaling/index.d.ts.map +1 -0
  378. package/dist/factories/kubernetes/autoscaling/index.js +9 -0
  379. package/dist/factories/kubernetes/autoscaling/index.js.map +1 -0
  380. package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts +6 -0
  381. package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts.map +1 -0
  382. package/dist/factories/kubernetes/certificates/certificate-signing-request.js +48 -0
  383. package/dist/factories/kubernetes/certificates/certificate-signing-request.js.map +1 -0
  384. package/dist/factories/kubernetes/certificates/index.d.ts +8 -0
  385. package/dist/factories/kubernetes/certificates/index.d.ts.map +1 -0
  386. package/dist/factories/kubernetes/certificates/index.js +8 -0
  387. package/dist/factories/kubernetes/certificates/index.js.map +1 -0
  388. package/dist/factories/kubernetes/config/config-map.d.ts +5 -0
  389. package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -0
  390. package/dist/factories/kubernetes/config/config-map.js +16 -0
  391. package/dist/factories/kubernetes/config/config-map.js.map +1 -0
  392. package/dist/factories/kubernetes/config/index.d.ts +9 -0
  393. package/dist/factories/kubernetes/config/index.d.ts.map +1 -0
  394. package/dist/factories/kubernetes/config/index.js +9 -0
  395. package/dist/factories/kubernetes/config/index.js.map +1 -0
  396. package/dist/factories/kubernetes/config/secret.d.ts +5 -0
  397. package/dist/factories/kubernetes/config/secret.d.ts.map +1 -0
  398. package/dist/factories/kubernetes/config/secret.js +16 -0
  399. package/dist/factories/kubernetes/config/secret.js.map +1 -0
  400. package/dist/factories/kubernetes/coordination/index.d.ts +8 -0
  401. package/dist/factories/kubernetes/coordination/index.d.ts.map +1 -0
  402. package/dist/factories/kubernetes/coordination/index.js +8 -0
  403. package/dist/factories/kubernetes/coordination/index.js.map +1 -0
  404. package/dist/factories/kubernetes/coordination/lease.d.ts +5 -0
  405. package/dist/factories/kubernetes/coordination/lease.d.ts.map +1 -0
  406. package/dist/factories/kubernetes/coordination/lease.js +10 -0
  407. package/dist/factories/kubernetes/coordination/lease.js.map +1 -0
  408. package/dist/factories/kubernetes/core/component-status.d.ts +4 -0
  409. package/dist/factories/kubernetes/core/component-status.d.ts.map +1 -0
  410. package/dist/factories/kubernetes/core/component-status.js +25 -0
  411. package/dist/factories/kubernetes/core/component-status.js.map +1 -0
  412. package/dist/factories/kubernetes/core/index.d.ts +11 -0
  413. package/dist/factories/kubernetes/core/index.d.ts.map +1 -0
  414. package/dist/factories/kubernetes/core/index.js +11 -0
  415. package/dist/factories/kubernetes/core/index.js.map +1 -0
  416. package/dist/factories/kubernetes/core/namespace.d.ts +9 -0
  417. package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -0
  418. package/dist/factories/kubernetes/core/namespace.js +48 -0
  419. package/dist/factories/kubernetes/core/namespace.js.map +1 -0
  420. package/dist/factories/kubernetes/core/node.d.ts +6 -0
  421. package/dist/factories/kubernetes/core/node.d.ts.map +1 -0
  422. package/dist/factories/kubernetes/core/node.js +34 -0
  423. package/dist/factories/kubernetes/core/node.js.map +1 -0
  424. package/dist/factories/kubernetes/core/pod.d.ts +6 -0
  425. package/dist/factories/kubernetes/core/pod.d.ts.map +1 -0
  426. package/dist/factories/kubernetes/core/pod.js +44 -0
  427. package/dist/factories/kubernetes/core/pod.js.map +1 -0
  428. package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts +6 -0
  429. package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts.map +1 -0
  430. package/dist/factories/kubernetes/extensions/custom-resource-definition.js +45 -0
  431. package/dist/factories/kubernetes/extensions/custom-resource-definition.js.map +1 -0
  432. package/dist/factories/kubernetes/extensions/custom-resource.d.ts +12 -0
  433. package/dist/factories/kubernetes/extensions/custom-resource.d.ts.map +1 -0
  434. package/dist/factories/kubernetes/extensions/custom-resource.js +17 -0
  435. package/dist/factories/kubernetes/extensions/custom-resource.js.map +1 -0
  436. package/dist/factories/kubernetes/extensions/index.d.ts +9 -0
  437. package/dist/factories/kubernetes/extensions/index.d.ts.map +1 -0
  438. package/dist/factories/kubernetes/extensions/index.js +9 -0
  439. package/dist/factories/kubernetes/extensions/index.js.map +1 -0
  440. package/dist/factories/kubernetes/index.d.ts +24 -0
  441. package/dist/factories/kubernetes/index.d.ts.map +1 -0
  442. package/dist/factories/kubernetes/index.js +75 -0
  443. package/dist/factories/kubernetes/index.js.map +1 -0
  444. package/dist/factories/kubernetes/networking/endpoint-slice.d.ts +4 -0
  445. package/dist/factories/kubernetes/networking/endpoint-slice.d.ts.map +1 -0
  446. package/dist/factories/kubernetes/networking/endpoint-slice.js +10 -0
  447. package/dist/factories/kubernetes/networking/endpoint-slice.js.map +1 -0
  448. package/dist/factories/kubernetes/networking/endpoints.d.ts +4 -0
  449. package/dist/factories/kubernetes/networking/endpoints.d.ts.map +1 -0
  450. package/dist/factories/kubernetes/networking/endpoints.js +39 -0
  451. package/dist/factories/kubernetes/networking/endpoints.js.map +1 -0
  452. package/dist/factories/kubernetes/networking/index.d.ts +13 -0
  453. package/dist/factories/kubernetes/networking/index.d.ts.map +1 -0
  454. package/dist/factories/kubernetes/networking/index.js +13 -0
  455. package/dist/factories/kubernetes/networking/index.js.map +1 -0
  456. package/dist/factories/kubernetes/networking/ingress-class.d.ts +5 -0
  457. package/dist/factories/kubernetes/networking/ingress-class.d.ts.map +1 -0
  458. package/dist/factories/kubernetes/networking/ingress-class.js +16 -0
  459. package/dist/factories/kubernetes/networking/ingress-class.js.map +1 -0
  460. package/dist/factories/kubernetes/networking/ingress.d.ts +5 -0
  461. package/dist/factories/kubernetes/networking/ingress.d.ts.map +1 -0
  462. package/dist/factories/kubernetes/networking/ingress.js +33 -0
  463. package/dist/factories/kubernetes/networking/ingress.js.map +1 -0
  464. package/dist/factories/kubernetes/networking/network-policy.d.ts +5 -0
  465. package/dist/factories/kubernetes/networking/network-policy.d.ts.map +1 -0
  466. package/dist/factories/kubernetes/networking/network-policy.js +17 -0
  467. package/dist/factories/kubernetes/networking/network-policy.js.map +1 -0
  468. package/dist/factories/kubernetes/networking/service.d.ts +5 -0
  469. package/dist/factories/kubernetes/networking/service.d.ts.map +1 -0
  470. package/dist/factories/kubernetes/networking/service.js +64 -0
  471. package/dist/factories/kubernetes/networking/service.js.map +1 -0
  472. package/dist/factories/kubernetes/policy/index.d.ts +10 -0
  473. package/dist/factories/kubernetes/policy/index.d.ts.map +1 -0
  474. package/dist/factories/kubernetes/policy/index.js +10 -0
  475. package/dist/factories/kubernetes/policy/index.js.map +1 -0
  476. package/dist/factories/kubernetes/policy/limit-range.d.ts +5 -0
  477. package/dist/factories/kubernetes/policy/limit-range.d.ts.map +1 -0
  478. package/dist/factories/kubernetes/policy/limit-range.js +17 -0
  479. package/dist/factories/kubernetes/policy/limit-range.js.map +1 -0
  480. package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts +6 -0
  481. package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts.map +1 -0
  482. package/dist/factories/kubernetes/policy/pod-disruption-budget.js +55 -0
  483. package/dist/factories/kubernetes/policy/pod-disruption-budget.js.map +1 -0
  484. package/dist/factories/kubernetes/policy/resource-quota.d.ts +6 -0
  485. package/dist/factories/kubernetes/policy/resource-quota.d.ts.map +1 -0
  486. package/dist/factories/kubernetes/policy/resource-quota.js +43 -0
  487. package/dist/factories/kubernetes/policy/resource-quota.js.map +1 -0
  488. package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts +4 -0
  489. package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts.map +1 -0
  490. package/dist/factories/kubernetes/rbac/cluster-role-binding.js +17 -0
  491. package/dist/factories/kubernetes/rbac/cluster-role-binding.js.map +1 -0
  492. package/dist/factories/kubernetes/rbac/cluster-role.d.ts +4 -0
  493. package/dist/factories/kubernetes/rbac/cluster-role.d.ts.map +1 -0
  494. package/dist/factories/kubernetes/rbac/cluster-role.js +17 -0
  495. package/dist/factories/kubernetes/rbac/cluster-role.js.map +1 -0
  496. package/dist/factories/kubernetes/rbac/index.d.ts +12 -0
  497. package/dist/factories/kubernetes/rbac/index.d.ts.map +1 -0
  498. package/dist/factories/kubernetes/rbac/index.js +12 -0
  499. package/dist/factories/kubernetes/rbac/index.js.map +1 -0
  500. package/dist/factories/kubernetes/rbac/role-binding.d.ts +4 -0
  501. package/dist/factories/kubernetes/rbac/role-binding.d.ts.map +1 -0
  502. package/dist/factories/kubernetes/rbac/role-binding.js +17 -0
  503. package/dist/factories/kubernetes/rbac/role-binding.js.map +1 -0
  504. package/dist/factories/kubernetes/rbac/role.d.ts +4 -0
  505. package/dist/factories/kubernetes/rbac/role.d.ts.map +1 -0
  506. package/dist/factories/kubernetes/rbac/role.js +17 -0
  507. package/dist/factories/kubernetes/rbac/role.js.map +1 -0
  508. package/dist/factories/kubernetes/rbac/service-account.d.ts +4 -0
  509. package/dist/factories/kubernetes/rbac/service-account.d.ts.map +1 -0
  510. package/dist/factories/kubernetes/rbac/service-account.js +17 -0
  511. package/dist/factories/kubernetes/rbac/service-account.js.map +1 -0
  512. package/dist/factories/kubernetes/scheduling/index.d.ts +9 -0
  513. package/dist/factories/kubernetes/scheduling/index.d.ts.map +1 -0
  514. package/dist/factories/kubernetes/scheduling/index.js +9 -0
  515. package/dist/factories/kubernetes/scheduling/index.js.map +1 -0
  516. package/dist/factories/kubernetes/scheduling/priority-class.d.ts +4 -0
  517. package/dist/factories/kubernetes/scheduling/priority-class.d.ts.map +1 -0
  518. package/dist/factories/kubernetes/scheduling/priority-class.js +16 -0
  519. package/dist/factories/kubernetes/scheduling/priority-class.js.map +1 -0
  520. package/dist/factories/kubernetes/scheduling/runtime-class.d.ts +5 -0
  521. package/dist/factories/kubernetes/scheduling/runtime-class.d.ts.map +1 -0
  522. package/dist/factories/kubernetes/scheduling/runtime-class.js +10 -0
  523. package/dist/factories/kubernetes/scheduling/runtime-class.js.map +1 -0
  524. package/dist/factories/kubernetes/storage/csi-driver.d.ts +5 -0
  525. package/dist/factories/kubernetes/storage/csi-driver.d.ts.map +1 -0
  526. package/dist/factories/kubernetes/storage/csi-driver.js +16 -0
  527. package/dist/factories/kubernetes/storage/csi-driver.js.map +1 -0
  528. package/dist/factories/kubernetes/storage/csi-node.d.ts +5 -0
  529. package/dist/factories/kubernetes/storage/csi-node.d.ts.map +1 -0
  530. package/dist/factories/kubernetes/storage/csi-node.js +10 -0
  531. package/dist/factories/kubernetes/storage/csi-node.js.map +1 -0
  532. package/dist/factories/kubernetes/storage/index.d.ts +13 -0
  533. package/dist/factories/kubernetes/storage/index.d.ts.map +1 -0
  534. package/dist/factories/kubernetes/storage/index.js +13 -0
  535. package/dist/factories/kubernetes/storage/index.js.map +1 -0
  536. package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts +6 -0
  537. package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts.map +1 -0
  538. package/dist/factories/kubernetes/storage/persistent-volume-claim.js +30 -0
  539. package/dist/factories/kubernetes/storage/persistent-volume-claim.js.map +1 -0
  540. package/dist/factories/kubernetes/storage/persistent-volume.d.ts +6 -0
  541. package/dist/factories/kubernetes/storage/persistent-volume.d.ts.map +1 -0
  542. package/dist/factories/kubernetes/storage/persistent-volume.js +47 -0
  543. package/dist/factories/kubernetes/storage/persistent-volume.js.map +1 -0
  544. package/dist/factories/kubernetes/storage/storage-class.d.ts +4 -0
  545. package/dist/factories/kubernetes/storage/storage-class.d.ts.map +1 -0
  546. package/dist/factories/kubernetes/storage/storage-class.js +17 -0
  547. package/dist/factories/kubernetes/storage/storage-class.js.map +1 -0
  548. package/dist/factories/kubernetes/storage/volume-attachment.d.ts +6 -0
  549. package/dist/factories/kubernetes/storage/volume-attachment.d.ts.map +1 -0
  550. package/dist/factories/kubernetes/storage/volume-attachment.js +10 -0
  551. package/dist/factories/kubernetes/storage/volume-attachment.js.map +1 -0
  552. package/dist/factories/kubernetes/types.d.ts +8 -0
  553. package/dist/factories/kubernetes/types.d.ts.map +1 -0
  554. package/dist/factories/kubernetes/types.js +8 -0
  555. package/dist/factories/kubernetes/types.js.map +1 -0
  556. package/dist/factories/kubernetes/workloads/cron-job.d.ts +6 -0
  557. package/dist/factories/kubernetes/workloads/cron-job.d.ts.map +1 -0
  558. package/dist/factories/kubernetes/workloads/cron-job.js +53 -0
  559. package/dist/factories/kubernetes/workloads/cron-job.js.map +1 -0
  560. package/dist/factories/kubernetes/workloads/daemon-set.d.ts +6 -0
  561. package/dist/factories/kubernetes/workloads/daemon-set.d.ts.map +1 -0
  562. package/dist/factories/kubernetes/workloads/daemon-set.js +32 -0
  563. package/dist/factories/kubernetes/workloads/daemon-set.js.map +1 -0
  564. package/dist/factories/kubernetes/workloads/deployment.d.ts +5 -0
  565. package/dist/factories/kubernetes/workloads/deployment.d.ts.map +1 -0
  566. package/dist/factories/kubernetes/workloads/deployment.js +59 -0
  567. package/dist/factories/kubernetes/workloads/deployment.js.map +1 -0
  568. package/dist/factories/kubernetes/workloads/index.d.ts +14 -0
  569. package/dist/factories/kubernetes/workloads/index.d.ts.map +1 -0
  570. package/dist/factories/kubernetes/workloads/index.js +14 -0
  571. package/dist/factories/kubernetes/workloads/index.js.map +1 -0
  572. package/dist/factories/kubernetes/workloads/job.d.ts +6 -0
  573. package/dist/factories/kubernetes/workloads/job.d.ts.map +1 -0
  574. package/dist/factories/kubernetes/workloads/job.js +105 -0
  575. package/dist/factories/kubernetes/workloads/job.js.map +1 -0
  576. package/dist/factories/kubernetes/workloads/replica-set.d.ts +6 -0
  577. package/dist/factories/kubernetes/workloads/replica-set.d.ts.map +1 -0
  578. package/dist/factories/kubernetes/workloads/replica-set.js +33 -0
  579. package/dist/factories/kubernetes/workloads/replica-set.js.map +1 -0
  580. package/dist/factories/kubernetes/workloads/replication-controller.d.ts +6 -0
  581. package/dist/factories/kubernetes/workloads/replication-controller.d.ts.map +1 -0
  582. package/dist/factories/kubernetes/workloads/replication-controller.js +56 -0
  583. package/dist/factories/kubernetes/workloads/replication-controller.js.map +1 -0
  584. package/dist/factories/kubernetes/workloads/stateful-set.d.ts +6 -0
  585. package/dist/factories/kubernetes/workloads/stateful-set.d.ts.map +1 -0
  586. package/dist/factories/kubernetes/workloads/stateful-set.js +81 -0
  587. package/dist/factories/kubernetes/workloads/stateful-set.js.map +1 -0
  588. package/dist/factories/kubernetes/yaml/index.d.ts +6 -0
  589. package/dist/factories/kubernetes/yaml/index.d.ts.map +1 -0
  590. package/dist/factories/kubernetes/yaml/index.js +6 -0
  591. package/dist/factories/kubernetes/yaml/index.js.map +1 -0
  592. package/dist/factories/kubernetes/yaml/yaml-directory.d.ts +54 -0
  593. package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -0
  594. package/dist/factories/kubernetes/yaml/yaml-directory.js +178 -0
  595. package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -0
  596. package/dist/factories/kubernetes/yaml/yaml-file.d.ts +54 -0
  597. package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -0
  598. package/dist/factories/kubernetes/yaml/yaml-file.js +181 -0
  599. package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -0
  600. package/dist/factories/shared.d.ts +11 -0
  601. package/dist/factories/shared.d.ts.map +1 -0
  602. package/dist/factories/shared.js +364 -0
  603. package/dist/factories/shared.js.map +1 -0
  604. package/dist/index.d.ts +9 -0
  605. package/dist/index.d.ts.map +1 -0
  606. package/dist/index.js +49 -0
  607. package/dist/index.js.map +1 -0
  608. package/dist/utils/helpers.d.ts +69 -0
  609. package/dist/utils/helpers.d.ts.map +1 -0
  610. package/dist/utils/helpers.js +405 -0
  611. package/dist/utils/helpers.js.map +1 -0
  612. package/dist/utils/index.d.ts +9 -0
  613. package/dist/utils/index.d.ts.map +1 -0
  614. package/dist/utils/index.js +11 -0
  615. package/dist/utils/index.js.map +1 -0
  616. package/dist/utils/type-guards.d.ts +34 -0
  617. package/dist/utils/type-guards.d.ts.map +1 -0
  618. package/dist/utils/type-guards.js +66 -0
  619. package/dist/utils/type-guards.js.map +1 -0
  620. package/package.json +109 -0
@@ -0,0 +1,405 @@
1
+ /**
2
+ * General utility functions for TypeKro
3
+ *
4
+ * This module contains helper functions that are used across the codebase
5
+ * for common operations like string manipulation, ID generation, and
6
+ * data processing.
7
+ */
8
+ import { isKubernetesRef, isCelExpression } from './type-guards.js';
9
+ import { ReadinessEvaluatorRegistry } from '../core/readiness/index.js';
10
+ /**
11
+ * Generate deterministic resource ID based on resource metadata
12
+ * This ensures stable IDs across multiple applications for GitOps workflows
13
+ */
14
+ export function generateDeterministicResourceId(kind, name, _namespace) {
15
+ const cleanKind = kind.toLowerCase().replace(/[^a-zA-Z0-9]/g, '');
16
+ // Handle case where name is a KubernetesRef (schema reference)
17
+ if (isKubernetesRef(name)) {
18
+ // For schema references, we can't generate a deterministic ID without evaluation
19
+ // Throw an error suggesting the user provide an explicit ID
20
+ throw new Error(`Cannot generate deterministic resource ID for ${kind} with KubernetesRef name. ` +
21
+ `Please provide an explicit 'id' field in the resource config, e.g.: ` +
22
+ `simpleDeployment({ name: schema.spec.name, image: 'nginx', id: 'my-deployment' })`);
23
+ }
24
+ // Handle case where name is a CEL expression
25
+ if (isCelExpression(name)) {
26
+ // For CEL expressions, we can't generate a deterministic ID without evaluation
27
+ // Throw an error suggesting the user provide an explicit ID
28
+ throw new Error(`Cannot generate deterministic resource ID for ${kind} with CEL expression name. ` +
29
+ `Please provide an explicit 'id' field in the resource config, e.g.: ` +
30
+ `simpleDeployment({ name: Cel.expr('my-', schema.spec.name), image: 'nginx', id: 'my-deployment' })`);
31
+ }
32
+ // Handle normal string names - these are safe for deterministic ID generation
33
+ const nameStr = name;
34
+ // Check if the name contains template expressions (legacy string templates)
35
+ if (nameStr.includes('${') || nameStr.includes('{{')) {
36
+ throw new Error(`Cannot generate deterministic resource ID for ${kind} with template expression in name: "${nameStr}". ` +
37
+ `Please either use static names or provide an explicit 'id' in the resource factory options.`);
38
+ }
39
+ // For static names, generate a clean, deterministic ID
40
+ // If the name already contains the kind, just use the name
41
+ if (nameStr.toLowerCase().includes(cleanKind)) {
42
+ return toCamelCase(nameStr);
43
+ }
44
+ // Otherwise, prefix with kind for clarity
45
+ return toCamelCase(`${cleanKind}-${nameStr}`);
46
+ }
47
+ /**
48
+ * Converts a kebab-case or snake_case string to camelCase
49
+ */
50
+ export function toCamelCase(str) {
51
+ // Return early for empty strings to avoid errors.
52
+ if (!str) {
53
+ return '';
54
+ }
55
+ return str
56
+ .split(/[-_]/)
57
+ .map((word, index) => {
58
+ // If it's the first word, just lowercase the first letter and keep the rest.
59
+ if (index === 0) {
60
+ return word.charAt(0).toLowerCase() + word.slice(1);
61
+ }
62
+ // For all subsequent words, capitalize the first letter and lowercase the rest.
63
+ return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
64
+ })
65
+ .join('');
66
+ }
67
+ /**
68
+ * Generates a unique resource ID (legacy random version for development)
69
+ */
70
+ export function generateResourceId(name) {
71
+ const timestamp = Date.now().toString(36);
72
+ const random = Math.random().toString(36).substring(2, 8);
73
+ return name
74
+ ? `${name.replace(/[^a-zA-Z0-9-]/g, '')}-${timestamp}-${random}`
75
+ : `resource-${timestamp}-${random}`;
76
+ }
77
+ /**
78
+ * Converts a string to PascalCase.
79
+ */
80
+ export function pascalCase(str) {
81
+ return str
82
+ .split(/[-_\s]+/)
83
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
84
+ .join('');
85
+ }
86
+ /**
87
+ * Generate CEL expression with configurable context.
88
+ * This now uses the shared helper function from cel.ts.
89
+ */
90
+ function generateCelExpression(ref, _context) {
91
+ // Use the single, authoritative function to get the correct path.
92
+ const expression = getInnerCelPath(ref);
93
+ return `\${${expression}}`;
94
+ }
95
+ /**
96
+ * Generate inner CEL reference without ${} wrapper for building expressions
97
+ */
98
+ export function generateCelReference(ref) {
99
+ const resourceId = ref.resourceId === '__schema__' ? 'schema' : ref.resourceId;
100
+ return `${resourceId}.${ref.fieldPath}`;
101
+ }
102
+ /**
103
+ * Gets the inner CEL path for a KubernetesRef, handling special cases like schema refs.
104
+ * This is the new, authoritative function.
105
+ */
106
+ export function getInnerCelPath(ref) {
107
+ const resourceId = ref.resourceId === '__schema__' ? 'schema' : ref.resourceId;
108
+ return `${resourceId}.${ref.fieldPath}`;
109
+ }
110
+ /**
111
+ * Recursively replaces all KubernetesRef objects with CEL expressions for Kro.
112
+ * This is the ONLY function that should perform this transformation.
113
+ */
114
+ export function processResourceReferences(obj, context) {
115
+ if (isKubernetesRef(obj)) {
116
+ // Use configurable CEL expression format instead of hardcoded "resources."
117
+ return generateCelExpression(obj, context);
118
+ }
119
+ if (isCelExpression(obj)) {
120
+ // Check if this is a template expression (mixed string with embedded CEL)
121
+ if (obj.__isTemplate) {
122
+ // Template expressions already contain ${...} placeholders, don't wrap again
123
+ return obj.expression;
124
+ }
125
+ // Regular CEL expressions need to be wrapped with ${} for Kro
126
+ return `\${${obj.expression}}`;
127
+ }
128
+ if (Array.isArray(obj)) {
129
+ return obj.map((item) => processResourceReferences(item, context));
130
+ }
131
+ if (obj && typeof obj === 'object') {
132
+ const result = {};
133
+ // Use Object.entries to get enumerable properties
134
+ for (const [key, value] of Object.entries(obj)) {
135
+ // Exclude the hidden resourceId property and id field from the final template
136
+ if (key === '__resourceId' || key === 'id')
137
+ continue;
138
+ result[key] = processResourceReferences(value, context);
139
+ }
140
+ // Preserve the readinessEvaluator function if it exists (it's non-enumerable)
141
+ const originalObj = obj;
142
+ if (originalObj.readinessEvaluator && typeof originalObj.readinessEvaluator === 'function') {
143
+ Object.defineProperty(result, 'readinessEvaluator', {
144
+ value: originalObj.readinessEvaluator,
145
+ enumerable: false,
146
+ configurable: true,
147
+ writable: false,
148
+ });
149
+ }
150
+ return result;
151
+ }
152
+ return obj;
153
+ }
154
+ /**
155
+ * Converts an Arktype JSON AST node into a Kro-compatible type string.
156
+ * This is the final version, corrected to handle single-quoted literals.
157
+ * @param node The Arktype JSON AST node.
158
+ * @returns A string representing the Kro type.
159
+ */
160
+ function getKroTypeFromJson(node) {
161
+ // Case 1: The node is an object describing a type.
162
+ if (typeof node === 'object' && node !== null && !Array.isArray(node)) {
163
+ const nodeObj = node;
164
+ if (nodeObj.proto === 'Array' && nodeObj.sequence) {
165
+ return `[]${getKroTypeFromJson(nodeObj.sequence)}`;
166
+ }
167
+ if (nodeObj.domain === 'number' && nodeObj.divisor === 1) {
168
+ return 'integer';
169
+ }
170
+ }
171
+ // Case 2: The node is an array, representing a union of literals.
172
+ if (Array.isArray(node)) {
173
+ if (node.length === 2 &&
174
+ node.some((branch) => branch.unit === true) &&
175
+ node.some((branch) => branch.unit === false)) {
176
+ return 'boolean';
177
+ }
178
+ // Handle literal unions - use Kro Simple Schema enum format
179
+ const enumValues = node.map((branch) => {
180
+ if (typeof branch.unit === 'string') {
181
+ return branch.unit;
182
+ }
183
+ return String(branch.unit);
184
+ });
185
+ // Return as Kro Simple Schema enum format: string | enum="value1,value2,value3"
186
+ return `string | enum="${enumValues.join(',')}"`;
187
+ }
188
+ // Case 3: The node is a simple string representing a primitive type.
189
+ if (typeof node === 'string') {
190
+ if (node.includes('%')) {
191
+ const [domain] = node.split('%');
192
+ if (domain === 'number')
193
+ return 'integer';
194
+ }
195
+ switch (node) {
196
+ case 'number':
197
+ return 'integer';
198
+ case 'string':
199
+ case 'boolean':
200
+ return node;
201
+ }
202
+ }
203
+ // Fallback for safety.
204
+ return 'string';
205
+ }
206
+ function arktypeJsonToKroFields(node, prefix = '') {
207
+ let fields = {};
208
+ // Handle case where node doesn't have required/optional structure
209
+ if (!node || typeof node !== 'object') {
210
+ return fields;
211
+ }
212
+ const nodeObj = node;
213
+ if (!nodeObj.required && !nodeObj.optional) {
214
+ return fields;
215
+ }
216
+ const required = Array.isArray(nodeObj.required) ? nodeObj.required : [];
217
+ const optional = Array.isArray(nodeObj.optional) ? nodeObj.optional : [];
218
+ const props = [...required, ...optional];
219
+ for (const prop of props) {
220
+ // THIS IS THE CORRECTED LOGIC FOR CREATING THE KEY
221
+ // It correctly joins camelCased keys like "connection" and "poolSize".
222
+ const newKey = prefix
223
+ ? `${prefix}${prop.key.charAt(0).toUpperCase() + prop.key.slice(1)}`
224
+ : prop.key;
225
+ const childNode = prop.value;
226
+ if (typeof childNode === 'object' &&
227
+ childNode !== null &&
228
+ (childNode.required || childNode.optional)) {
229
+ const nestedFields = arktypeJsonToKroFields(childNode, newKey);
230
+ fields = { ...fields, ...nestedFields };
231
+ }
232
+ else {
233
+ fields[newKey] = getKroTypeFromJson(childNode);
234
+ }
235
+ }
236
+ return fields;
237
+ }
238
+ /**
239
+ * Serialize user-defined status mappings to CEL expressions for Kro schema
240
+ * Only processes dynamic fields that require Kro resolution
241
+ */
242
+ function serializeStatusMappingsToCel(statusMappings) {
243
+ const celExpressions = {};
244
+ function serializeValue(value) {
245
+ // Handle KubernetesRef objects (can be functions due to proxy)
246
+ if (isKubernetesRef(value)) {
247
+ return `\${${value.resourceId}.${value.fieldPath}}`;
248
+ }
249
+ // Handle CelExpression objects
250
+ if (isCelExpression(value)) {
251
+ // Check if this is a template expression (mixed string with embedded CEL)
252
+ if (value.__isTemplate) {
253
+ // Template expressions already contain ${...} placeholders, don't wrap again
254
+ return value.expression;
255
+ }
256
+ return `\${${value.expression}}`;
257
+ }
258
+ // Handle nested objects recursively
259
+ if (value && typeof value === 'object' && !Array.isArray(value)) {
260
+ const nestedExpressions = {};
261
+ for (const [key, nestedValue] of Object.entries(value)) {
262
+ nestedExpressions[key] = serializeValue(nestedValue);
263
+ }
264
+ return nestedExpressions; // Return as any for nested objects
265
+ }
266
+ // Handle primitive values
267
+ if (typeof value === 'string') {
268
+ return `\${"${value}"}`;
269
+ }
270
+ if (typeof value === 'number') {
271
+ return `\${${value}}`;
272
+ }
273
+ if (typeof value === 'boolean') {
274
+ return `\${${value}}`;
275
+ }
276
+ // Fallback for unknown types
277
+ return `\${""}`;
278
+ }
279
+ for (const [fieldName, fieldValue] of Object.entries(statusMappings)) {
280
+ celExpressions[fieldName] = serializeValue(fieldValue);
281
+ }
282
+ return celExpressions;
283
+ }
284
+ /**
285
+ * Determines if a status field value requires Kro resolution (contains Kubernetes references or CEL expressions)
286
+ */
287
+ function _requiresKroResolution(value) {
288
+ if (isKubernetesRef(value)) {
289
+ return true;
290
+ }
291
+ if (isCelExpression(value)) {
292
+ // Check if the CEL expression contains resource references
293
+ const expression = value.expression;
294
+ const resourceRefPattern = /([a-zA-Z][a-zA-Z0-9]*)\.(status|spec|metadata)\./;
295
+ return resourceRefPattern.test(expression);
296
+ }
297
+ if (value && typeof value === 'object' && !Array.isArray(value) && !isCelExpression(value)) {
298
+ // Recursively check nested objects
299
+ return Object.values(value).some(_requiresKroResolution);
300
+ }
301
+ return false;
302
+ }
303
+ /**
304
+ * Convert kebab-case or snake_case to camelCase and ensure a readiness evaluator by using the appropriate factory function
305
+ * This leverages existing factory functions that already have readiness evaluators defined
306
+ */
307
+ export function ensureReadinessEvaluator(resource) {
308
+ // First: Check if resource already has attached evaluator
309
+ if (typeof resource.readinessEvaluator === 'function') {
310
+ return resource;
311
+ }
312
+ // Second: Look up in registry by KIND
313
+ const registry = ReadinessEvaluatorRegistry.getInstance();
314
+ const evaluator = registry.getEvaluatorForKind(resource.kind);
315
+ if (evaluator) {
316
+ // Attach the registry evaluator to this resource instance
317
+ Object.defineProperty(resource, 'readinessEvaluator', {
318
+ value: evaluator,
319
+ enumerable: false,
320
+ configurable: true,
321
+ writable: false,
322
+ });
323
+ return resource;
324
+ }
325
+ // Third: No evaluator found anywhere
326
+ throw new Error(`No readiness evaluator found for ${resource.kind}/${resource.metadata?.name}. ` +
327
+ `Use a factory function like deployment(), configMap(), etc., or call .withReadinessEvaluator().`);
328
+ }
329
+ /**
330
+ * Recursively converts an Enhanced resource proxy into a plain JavaScript object.
331
+ * This is a safe way to serialize the object for the Kubernetes client, preserving
332
+ * all nested properties and stripping any remaining proxy logic.
333
+ * @param obj The object to convert.
334
+ * @param visited A set to track circular references.
335
+ * @returns A plain JavaScript object.
336
+ */
337
+ export function toPlainObject(obj, visited = new Set()) {
338
+ if (obj === null || typeof obj !== 'object') {
339
+ return obj;
340
+ }
341
+ if (visited.has(obj)) {
342
+ return obj; // Avoid circular loops
343
+ }
344
+ visited.add(obj);
345
+ // Handle arrays by converting each item
346
+ if (Array.isArray(obj)) {
347
+ const plainArray = obj.map((item) => toPlainObject(item, visited));
348
+ visited.delete(obj);
349
+ return plainArray;
350
+ }
351
+ // Use getOwnPropertyNames and getOwnPropertySymbols to capture all keys,
352
+ // including non-enumerable ones (like our brand symbols) if needed.
353
+ const plainObj = {};
354
+ const keys = Reflect.ownKeys(obj);
355
+ for (const key of keys) {
356
+ const value = obj[key];
357
+ // Preserve readinessEvaluator function as-is
358
+ if (key === 'readinessEvaluator') {
359
+ plainObj[key] = value;
360
+ }
361
+ // Skip other functions like 'withReadinessEvaluator'
362
+ else if (typeof value !== 'function') {
363
+ plainObj[key] = toPlainObject(value, visited);
364
+ }
365
+ }
366
+ visited.delete(obj);
367
+ return plainObj;
368
+ }
369
+ /**
370
+ * Converts an Arktype schema to a Kro-compatible schema definition
371
+ *
372
+ * IMPORTANT: Status fields in Kro now use user-defined mappings from the StatusBuilder function
373
+ * instead of auto-generated CEL expressions.
374
+ */
375
+ export function arktypeToKroSchema(name, schemaDefinition, _resources, statusMappings) {
376
+ const specFields = arktypeJsonToKroFields(schemaDefinition.spec.json);
377
+ if (!specFields.name) {
378
+ specFields.name = `string | default="${name}"`;
379
+ }
380
+ // Separate static and dynamic status fields
381
+ const { dynamicFields } = statusMappings
382
+ ? separateStatusFields(statusMappings)
383
+ : { dynamicFields: {} };
384
+ // Only serialize dynamic fields that need Kro resolution
385
+ const statusCelExpressions = Object.keys(dynamicFields).length > 0 ? serializeStatusMappingsToCel(dynamicFields) : {};
386
+ // Extract just the version part for the schema (Kro expects v1alpha1, not kro.run/v1alpha1)
387
+ const schemaApiVersion = schemaDefinition.apiVersion.includes('/')
388
+ ? schemaDefinition.apiVersion.split('/')[1] || schemaDefinition.apiVersion
389
+ : schemaDefinition.apiVersion;
390
+ return {
391
+ apiVersion: schemaApiVersion,
392
+ kind: schemaDefinition.kind,
393
+ spec: specFields,
394
+ status: {
395
+ // Only dynamic status field mappings as CEL expressions
396
+ // Static fields will be hydrated directly by TypeKro
397
+ // Kro automatically injects default fields (phase, message, observedGeneration, conditions, state)
398
+ ...statusCelExpressions,
399
+ },
400
+ };
401
+ }
402
+ // Function removed - status mappings are now user-defined via StatusBuilder
403
+ // Import type guards from the type-guards module (removed duplicate import)
404
+ import { separateStatusFields } from '../core/validation/cel-validator.js';
405
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Utilities Module
3
+ *
4
+ * This module provides general utility functions and type guards
5
+ * that are used throughout the TypeKro codebase.
6
+ */
7
+ export { arktypeToKroSchema, generateCelReference, generateDeterministicResourceId, generateResourceId, getInnerCelPath, pascalCase, processResourceReferences, } from './helpers.js';
8
+ export { extractResourceReferences, isCelExpression, isKubernetesRef, isResourceReference, } from './type-guards.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Utilities Module
3
+ *
4
+ * This module provides general utility functions and type guards
5
+ * that are used throughout the TypeKro codebase.
6
+ */
7
+ // Export helper functions
8
+ export { arktypeToKroSchema, generateCelReference, generateDeterministicResourceId, generateResourceId, getInnerCelPath, pascalCase, processResourceReferences, } from './helpers.js';
9
+ // Export type guard functions
10
+ export { extractResourceReferences, isCelExpression, isKubernetesRef, isResourceReference, } from './type-guards.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,0BAA0B;AAC1B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,8BAA8B;AAC9B,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Type guard functions for TypeKro
3
+ *
4
+ * This module contains type guard functions that are used throughout
5
+ * the codebase to safely check and narrow types at runtime.
6
+ */
7
+ import type { CelExpression, KubernetesRef, ResourceReference } from '../core/types.js';
8
+ import { MIXED_TEMPLATE_BRAND } from '../core/constants/brands.js';
9
+ /**
10
+ * Type guard to check if a value is a compile-time KubernetesRef.
11
+ * Note: At runtime, these are the objects created by the proxy.
12
+ */
13
+ export declare function isKubernetesRef(obj: unknown): obj is KubernetesRef<unknown>;
14
+ /**
15
+ * Type guard to check if a value is a runtime ResourceReference.
16
+ * This is what the serializer looks for.
17
+ */
18
+ export declare function isResourceReference(obj: unknown): obj is ResourceReference<unknown>;
19
+ /**
20
+ * Type guard to check if a value is a CEL expression
21
+ */
22
+ export declare function isCelExpression<T = unknown>(value: unknown): value is CelExpression<T>;
23
+ /**
24
+ * Type guard to check if a value is a mixed template (literal string with embedded CEL)
25
+ */
26
+ export declare function isMixedTemplate(value: unknown): value is {
27
+ [MIXED_TEMPLATE_BRAND]: true;
28
+ expression: string;
29
+ };
30
+ /**
31
+ * Recursively extracts all KubernetesRef objects from a resource definition.
32
+ */
33
+ export declare function extractResourceReferences(obj: unknown): KubernetesRef<unknown>[];
34
+ //# sourceMappingURL=type-guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../src/utils/type-guards.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAExF,OAAO,EAA8C,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE/G;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAS3E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAInF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAOtF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAO7G;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAmBhF"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Type guard functions for TypeKro
3
+ *
4
+ * This module contains type guard functions that are used throughout
5
+ * the codebase to safely check and narrow types at runtime.
6
+ */
7
+ import { KUBERNETES_REF_BRAND, CEL_EXPRESSION_BRAND, MIXED_TEMPLATE_BRAND } from '../core/constants/brands.js';
8
+ /**
9
+ * Type guard to check if a value is a compile-time KubernetesRef.
10
+ * Note: At runtime, these are the objects created by the proxy.
11
+ */
12
+ export function isKubernetesRef(obj) {
13
+ // A KubernetesRef is an object that has our specific brand property.
14
+ // We check for the function type as well, since our ref factory is a proxy around a function.
15
+ // Note: We access the property directly since it's defined as non-enumerable
16
+ return ((typeof obj === 'object' || typeof obj === 'function') &&
17
+ obj !== null &&
18
+ KUBERNETES_REF_BRAND in obj);
19
+ }
20
+ /**
21
+ * Type guard to check if a value is a runtime ResourceReference.
22
+ * This is what the serializer looks for.
23
+ */
24
+ export function isResourceReference(obj) {
25
+ return (obj !== null && typeof obj === 'object' && '__type' in obj && obj.__type === 'ResourceReference');
26
+ }
27
+ /**
28
+ * Type guard to check if a value is a CEL expression
29
+ */
30
+ export function isCelExpression(value) {
31
+ return Boolean(value &&
32
+ typeof value === 'object' &&
33
+ value !== null &&
34
+ CEL_EXPRESSION_BRAND in value);
35
+ }
36
+ /**
37
+ * Type guard to check if a value is a mixed template (literal string with embedded CEL)
38
+ */
39
+ export function isMixedTemplate(value) {
40
+ return Boolean(value &&
41
+ typeof value === 'object' &&
42
+ value !== null &&
43
+ MIXED_TEMPLATE_BRAND in value);
44
+ }
45
+ /**
46
+ * Recursively extracts all KubernetesRef objects from a resource definition.
47
+ */
48
+ export function extractResourceReferences(obj) {
49
+ const refs = [];
50
+ if (isKubernetesRef(obj)) {
51
+ refs.push(obj);
52
+ return refs;
53
+ }
54
+ if (Array.isArray(obj)) {
55
+ obj.forEach((item) => {
56
+ refs.push(...extractResourceReferences(item));
57
+ });
58
+ }
59
+ else if (obj && typeof obj === 'object') {
60
+ for (const value of Object.values(obj)) {
61
+ refs.push(...extractResourceReferences(value));
62
+ }
63
+ }
64
+ return refs;
65
+ }
66
+ //# sourceMappingURL=type-guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../src/utils/type-guards.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE/G;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,qEAAqE;IACrE,8FAA8F;IAC9F,6EAA6E;IAC7E,OAAO,CACL,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,UAAU,CAAC;QACtD,GAAG,KAAK,IAAI;QACZ,oBAAoB,IAAI,GAAG,CAC5B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,CACL,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,mBAAmB,CACjG,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAc,KAAc;IACzD,OAAO,OAAO,CACZ,KAAK;QACH,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,oBAAoB,IAAI,KAAK,CAChC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,CACZ,KAAK;QACH,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,oBAAoB,IAAI,KAAK,CAChC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,MAAM,IAAI,GAA6B,EAAE,CAAC;IAE1C,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}