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,250 @@
1
+ /**
2
+ * Enhanced error handling for TypeKro
3
+ * Provides detailed, actionable error messages with context
4
+ */
5
+ export class TypeKroError extends Error {
6
+ code;
7
+ context;
8
+ constructor(message, code, context) {
9
+ super(message);
10
+ this.code = code;
11
+ this.context = context;
12
+ this.name = 'TypeKroError';
13
+ }
14
+ }
15
+ export class ValidationError extends TypeKroError {
16
+ resourceKind;
17
+ resourceName;
18
+ field;
19
+ suggestions;
20
+ constructor(message, resourceKind, resourceName, field, suggestions) {
21
+ super(message, 'VALIDATION_ERROR', {
22
+ resourceKind,
23
+ resourceName,
24
+ field,
25
+ suggestions,
26
+ });
27
+ this.resourceKind = resourceKind;
28
+ this.resourceName = resourceName;
29
+ this.field = field;
30
+ this.suggestions = suggestions;
31
+ this.name = 'ValidationError';
32
+ }
33
+ }
34
+ export class TypeKroReferenceError extends TypeKroError {
35
+ fromResource;
36
+ toResource;
37
+ fieldPath;
38
+ suggestions;
39
+ constructor(message, fromResource, toResource, fieldPath, suggestions) {
40
+ super(message, 'REFERENCE_ERROR', {
41
+ fromResource,
42
+ toResource,
43
+ fieldPath,
44
+ suggestions,
45
+ });
46
+ this.fromResource = fromResource;
47
+ this.toResource = toResource;
48
+ this.fieldPath = fieldPath;
49
+ this.suggestions = suggestions;
50
+ this.name = 'TypeKroReferenceError';
51
+ }
52
+ }
53
+ export class CircularDependencyError extends TypeKroError {
54
+ cycle;
55
+ suggestions;
56
+ constructor(message, cycle, suggestions) {
57
+ super(message, 'CIRCULAR_DEPENDENCY', {
58
+ cycle,
59
+ suggestions,
60
+ });
61
+ this.cycle = cycle;
62
+ this.suggestions = suggestions;
63
+ this.name = 'CircularDependencyError';
64
+ }
65
+ }
66
+ /**
67
+ * Format Arktype validation errors with helpful context and suggestions
68
+ */
69
+ export function formatArktypeError(error, resourceKind, resourceName, _spec) {
70
+ const problems = error.problems || [];
71
+ if (problems.length === 0) {
72
+ return new ValidationError(`Invalid ${resourceKind} spec: ${error.summary}`, resourceKind, resourceName, undefined, ['Check the resource specification against the schema']);
73
+ }
74
+ // Get the first problem for detailed error
75
+ const firstProblem = problems[0];
76
+ const fieldPath = firstProblem.path?.join('.') || 'root';
77
+ const expectedType = firstProblem.expected || 'unknown';
78
+ const actualValue = firstProblem.actual;
79
+ let message = `Invalid ${resourceKind} '${resourceName}' at field '${fieldPath}':`;
80
+ message += `\n Expected: ${expectedType}`;
81
+ message += `\n Received: ${typeof actualValue} (${JSON.stringify(actualValue)})`;
82
+ const suggestions = [];
83
+ // Add specific suggestions based on the error type
84
+ if (firstProblem.code === 'missing') {
85
+ suggestions.push(`Add the required field '${fieldPath}' to your ${resourceKind} spec`);
86
+ suggestions.push(`Example: { ${fieldPath}: ${getExampleValue(expectedType)} }`);
87
+ }
88
+ else if (firstProblem.code === 'type') {
89
+ suggestions.push(`Change '${fieldPath}' to be of type ${expectedType}`);
90
+ if (expectedType.includes('|')) {
91
+ const options = expectedType.split('|').map((s) => s.trim());
92
+ suggestions.push(`Valid options: ${options.join(', ')}`);
93
+ }
94
+ }
95
+ else if (firstProblem.code === 'format') {
96
+ suggestions.push(`Ensure '${fieldPath}' matches the expected format: ${expectedType}`);
97
+ }
98
+ // Add all problems if there are multiple
99
+ if (problems.length > 1) {
100
+ message += `\n\nAdditional validation errors:`;
101
+ problems.slice(1).forEach((problem, index) => {
102
+ const path = problem.path?.join('.') || 'root';
103
+ message += `\n ${index + 2}. ${path}: ${problem.message}`;
104
+ });
105
+ suggestions.push(`Fix all ${problems.length} validation errors listed above`);
106
+ }
107
+ return new ValidationError(message, resourceKind, resourceName, fieldPath, suggestions);
108
+ }
109
+ /**
110
+ * Generate example values for common types
111
+ */
112
+ function getExampleValue(expectedType) {
113
+ if (expectedType.includes('string'))
114
+ return '"example-value"';
115
+ if (expectedType.includes('number'))
116
+ return '42';
117
+ if (expectedType.includes('boolean'))
118
+ return 'true';
119
+ if (expectedType.includes('array'))
120
+ return '[]';
121
+ if (expectedType.includes('object'))
122
+ return '{}';
123
+ if (expectedType.includes('|')) {
124
+ const options = expectedType.split('|').map((s) => s.trim());
125
+ return options[0] || '"value"';
126
+ }
127
+ return '"value"';
128
+ }
129
+ /**
130
+ * Format reference resolution errors with helpful context
131
+ */
132
+ export function formatReferenceError(fromResourceId, toResourceId, fieldPath, availableResources) {
133
+ const message = `Resource reference failed: '${fromResourceId}' tried to reference '${toResourceId}.${fieldPath}' but resource '${toResourceId}' was not found in the resource graph.`;
134
+ const suggestions = [];
135
+ // Suggest similar resource names
136
+ const similarResources = availableResources.filter((id) => id.includes(toResourceId) ||
137
+ toResourceId.includes(id) ||
138
+ levenshteinDistance(id, toResourceId) <= 2);
139
+ if (similarResources.length > 0) {
140
+ suggestions.push(`Did you mean one of these resources? ${similarResources.join(', ')}`);
141
+ }
142
+ suggestions.push(`Available resources: ${availableResources.join(', ')}`);
143
+ suggestions.push(`Make sure the referenced resource is included in your toResourceGraph() call`);
144
+ suggestions.push(`Check that the resource name and namespace are correct`);
145
+ return new TypeKroReferenceError(message, fromResourceId, toResourceId, fieldPath, suggestions);
146
+ }
147
+ /**
148
+ * Format circular dependency errors with helpful context
149
+ */
150
+ export function formatCircularDependencyError(cycle) {
151
+ const cycleStr = `${cycle.join(' → ')} → ${cycle[0]}`;
152
+ const message = `Circular dependency detected in resource graph: ${cycleStr}`;
153
+ const suggestions = [
154
+ 'Remove one of the dependencies to break the cycle',
155
+ "Consider using a different approach that doesn't require circular references",
156
+ 'Use external configuration or environment variables instead of cross-resource references',
157
+ "Split the resources into separate resource graphs if they don't need to be deployed together",
158
+ ];
159
+ return new CircularDependencyError(message, cycle, suggestions);
160
+ }
161
+ /**
162
+ * Simple Levenshtein distance calculation for suggesting similar resource names
163
+ */
164
+ function levenshteinDistance(str1, str2) {
165
+ const matrix = Array(str2.length + 1)
166
+ .fill(null)
167
+ .map(() => Array(str1.length + 1).fill(0));
168
+ for (let i = 0; i <= str1.length; i++)
169
+ matrix[0][i] = i;
170
+ for (let j = 0; j <= str2.length; j++)
171
+ matrix[j][0] = j;
172
+ for (let j = 1; j <= str2.length; j++) {
173
+ for (let i = 1; i <= str1.length; i++) {
174
+ const indicator = str1[i - 1] === str2[j - 1] ? 0 : 1;
175
+ matrix[j][i] = Math.min(matrix[j]?.[i - 1] + 1, matrix[j - 1]?.[i] + 1, matrix[j - 1]?.[i - 1] + indicator);
176
+ }
177
+ }
178
+ return matrix[str2.length]?.[str1.length];
179
+ }
180
+ /**
181
+
182
+ * Error thrown when ResourceGraphDefinition deployment fails
183
+ */
184
+ export class ResourceGraphFactoryError extends TypeKroError {
185
+ factoryName;
186
+ operation;
187
+ cause;
188
+ constructor(message, factoryName, operation, cause) {
189
+ super(message, 'RESOURCE_GRAPH_FACTORY_ERROR', {
190
+ factoryName,
191
+ operation,
192
+ cause: cause?.message,
193
+ });
194
+ this.factoryName = factoryName;
195
+ this.operation = operation;
196
+ this.cause = cause;
197
+ this.name = 'ResourceGraphFactoryError';
198
+ }
199
+ }
200
+ /**
201
+ * Error thrown when CRD instance operations fail
202
+ */
203
+ export class CRDInstanceError extends TypeKroError {
204
+ apiVersion;
205
+ kind;
206
+ instanceName;
207
+ operation;
208
+ cause;
209
+ constructor(message, apiVersion, kind, instanceName, operation, cause) {
210
+ super(message, 'CRD_INSTANCE_ERROR', {
211
+ apiVersion,
212
+ kind,
213
+ instanceName,
214
+ operation,
215
+ cause: cause?.message,
216
+ });
217
+ this.apiVersion = apiVersion;
218
+ this.kind = kind;
219
+ this.instanceName = instanceName;
220
+ this.operation = operation;
221
+ this.cause = cause;
222
+ this.name = 'CRDInstanceError';
223
+ }
224
+ }
225
+ /**
226
+ * Error thrown when schema validation fails for Kro compatibility
227
+ */
228
+ export class KroSchemaValidationError extends TypeKroError {
229
+ schemaType;
230
+ fieldPath;
231
+ expectedType;
232
+ actualType;
233
+ suggestions;
234
+ constructor(message, schemaType, fieldPath, expectedType, actualType, suggestions) {
235
+ super(message, 'KRO_SCHEMA_VALIDATION_ERROR', {
236
+ schemaType,
237
+ fieldPath,
238
+ expectedType,
239
+ actualType,
240
+ suggestions,
241
+ });
242
+ this.schemaType = schemaType;
243
+ this.fieldPath = fieldPath;
244
+ this.expectedType = expectedType;
245
+ this.actualType = actualType;
246
+ this.suggestions = suggestions;
247
+ this.name = 'KroSchemaValidationError';
248
+ }
249
+ }
250
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * CEL Expression Optimizer for Compile-time Resolution
3
+ *
4
+ * This module performs compile-time optimization of CEL expressions and resource references.
5
+ * It does NOT evaluate CEL expressions at runtime - that's handled by:
6
+ * - Kro operator (for Kro mode deployment)
7
+ * - ReferenceResolver (for Direct mode deployment)
8
+ *
9
+ * Purpose:
10
+ * - Resolve known resource references to concrete values when possible
11
+ * - Optimize CEL expressions by substituting known values
12
+ * - Prepare expressions for serialization to ResourceGraphDefinitions
13
+ *
14
+ * When to use:
15
+ * - During ResourceGraphDefinition generation
16
+ * - For status mapping optimization before serialization
17
+ * - When preparing CEL expressions for Kro operator consumption
18
+ */
19
+ import type { CelExpression, KubernetesResource } from '../types.js';
20
+ export interface EvaluationContext {
21
+ resources: Record<string, KubernetesResource>;
22
+ schema?: Record<string, unknown>;
23
+ }
24
+ export interface EvaluationResult {
25
+ expression: string;
26
+ wasOptimized: boolean;
27
+ optimizations: string[];
28
+ }
29
+ /**
30
+ * Optimizes a CEL expression by resolving known values at compile time
31
+ *
32
+ * NOTE: This does NOT evaluate CEL expressions at runtime. It only performs
33
+ * compile-time optimizations by substituting known resource values.
34
+ */
35
+ export declare function optimizeCelExpression(expression: CelExpression<unknown> | string, context: EvaluationContext): EvaluationResult;
36
+ /**
37
+ * Optimizes all CEL expressions in a status mapping object for serialization
38
+ *
39
+ * This prepares status mappings for ResourceGraphDefinition serialization by:
40
+ * - Resolving known resource references to concrete values
41
+ * - Optimizing CEL expressions where possible
42
+ * - Preserving KubernetesRef objects for proper CEL string generation
43
+ */
44
+ export declare function optimizeStatusMappings(statusMappings: Record<string, any>, context: EvaluationContext): {
45
+ mappings: Record<string, any>;
46
+ optimizations: string[];
47
+ };
48
+ //# sourceMappingURL=cel-optimizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cel-optimizer.d.ts","sourceRoot":"","sources":["../../../src/core/evaluation/cel-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAiB,MAAM,aAAa,CAAC;AAKpF,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AA2CD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM,EAC3C,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,CA4DlB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,OAAO,EAAE,iBAAiB,GACzB;IAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CAyD5D"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * CEL Expression Optimizer for Compile-time Resolution
3
+ *
4
+ * This module performs compile-time optimization of CEL expressions and resource references.
5
+ * It does NOT evaluate CEL expressions at runtime - that's handled by:
6
+ * - Kro operator (for Kro mode deployment)
7
+ * - ReferenceResolver (for Direct mode deployment)
8
+ *
9
+ * Purpose:
10
+ * - Resolve known resource references to concrete values when possible
11
+ * - Optimize CEL expressions by substituting known values
12
+ * - Prepare expressions for serialization to ResourceGraphDefinitions
13
+ *
14
+ * When to use:
15
+ * - During ResourceGraphDefinition generation
16
+ * - For status mapping optimization before serialization
17
+ * - When preparing CEL expressions for Kro operator consumption
18
+ */
19
+ import { isCelExpression, isKubernetesRef } from '../../utils/type-guards.js';
20
+ import { getInnerCelPath } from '../../utils/helpers.js';
21
+ import { CEL_EXPRESSION_BRAND } from '../constants/brands.js';
22
+ /**
23
+ * Attempts to resolve a resource reference to its actual value if known at compile time
24
+ */
25
+ function resolveResourceReference(ref, context) {
26
+ const { resourceId, fieldPath } = ref;
27
+ // Handle schema references
28
+ if (resourceId === '__schema__') {
29
+ return `schema.${fieldPath}`;
30
+ }
31
+ // Find the resource
32
+ const resource = Object.values(context.resources).find(r => r.id === resourceId);
33
+ if (!resource) {
34
+ return null;
35
+ }
36
+ // Try to resolve the field path to a known value
37
+ const pathParts = fieldPath.split('.');
38
+ let current = resource;
39
+ for (const part of pathParts) {
40
+ if (current && typeof current === 'object' && part in current) {
41
+ current = current[part];
42
+ }
43
+ else {
44
+ // Can't resolve further, return the CEL reference
45
+ return `${resourceId}.${fieldPath}`;
46
+ }
47
+ }
48
+ // If we resolved to a concrete value, return it
49
+ if (typeof current === 'string') {
50
+ return `"${current}"`;
51
+ }
52
+ else if (typeof current === 'number' || typeof current === 'boolean') {
53
+ return String(current);
54
+ }
55
+ // Otherwise, return the CEL reference
56
+ return `${resourceId}.${fieldPath}`;
57
+ }
58
+ /**
59
+ * Optimizes a CEL expression by resolving known values at compile time
60
+ *
61
+ * NOTE: This does NOT evaluate CEL expressions at runtime. It only performs
62
+ * compile-time optimizations by substituting known resource values.
63
+ */
64
+ export function optimizeCelExpression(expression, context) {
65
+ const optimizations = [];
66
+ let wasOptimized = false;
67
+ if (typeof expression === 'string') {
68
+ return {
69
+ expression,
70
+ wasOptimized: false,
71
+ optimizations: []
72
+ };
73
+ }
74
+ if (!isCelExpression(expression)) {
75
+ return {
76
+ expression: String(expression),
77
+ wasOptimized: false,
78
+ optimizations: []
79
+ };
80
+ }
81
+ let optimizedExpression = expression.expression;
82
+ // Pattern 1: Simple string concatenation with known values
83
+ // Example: "http://" + resourceName where resourceName is known
84
+ const concatPattern = /"([^"]*)" \+ ([a-zA-Z][a-zA-Z0-9]*\.metadata\.name)/g;
85
+ optimizedExpression = optimizedExpression.replace(concatPattern, (match, prefix, resourceRef) => {
86
+ // Extract resource ID from the reference
87
+ const resourceId = resourceRef.split('.')[0];
88
+ const resource = Object.values(context.resources).find(r => r.id === resourceId);
89
+ if (resource?.metadata?.name) {
90
+ optimizations.push(`Resolved ${resourceRef} to "${resource.metadata.name}"`);
91
+ wasOptimized = true;
92
+ return `"${prefix}${resource.metadata.name}"`;
93
+ }
94
+ return match;
95
+ });
96
+ // Pattern 2: Conditional expressions with known boolean values
97
+ // Example: condition ? "value1" : "value2" where condition can be evaluated
98
+ const conditionalPattern = /([a-zA-Z][a-zA-Z0-9]*\.[a-zA-Z0-9.]*) ([><=!]+) (\d+) \? "([^"]*)" : "([^"]*)"/g;
99
+ optimizedExpression = optimizedExpression.replace(conditionalPattern, (match, leftSide, _operator, _rightSide, _trueValue, _falseValue) => {
100
+ // For now, we can't evaluate the condition at compile time without actual resource status
101
+ // But we can validate that the reference exists
102
+ const resourceId = leftSide.split('.')[0];
103
+ const resource = Object.values(context.resources).find(r => r.id === resourceId);
104
+ if (!resource) {
105
+ optimizations.push(`Warning: Referenced resource '${resourceId}' not found`);
106
+ }
107
+ return match; // Return unchanged for now
108
+ });
109
+ return {
110
+ expression: optimizedExpression,
111
+ wasOptimized,
112
+ optimizations
113
+ };
114
+ }
115
+ /**
116
+ * Optimizes all CEL expressions in a status mapping object for serialization
117
+ *
118
+ * This prepares status mappings for ResourceGraphDefinition serialization by:
119
+ * - Resolving known resource references to concrete values
120
+ * - Optimizing CEL expressions where possible
121
+ * - Preserving KubernetesRef objects for proper CEL string generation
122
+ */
123
+ export function optimizeStatusMappings(statusMappings, context) {
124
+ const optimizedMappings = {};
125
+ const allOptimizations = [];
126
+ function evaluateValue(value, path) {
127
+ if (isKubernetesRef(value)) {
128
+ const resolved = resolveResourceReference(value, context);
129
+ if (resolved) {
130
+ allOptimizations.push(`Resolved reference at ${path}: ${getInnerCelPath(value)} -> ${resolved}`);
131
+ // For status field serialization, preserve KubernetesRef objects instead of converting to strings
132
+ // The serializeStatusMappingsToCel function expects KubernetesRef objects to generate proper CEL expressions
133
+ if (resolved === `${value.resourceId}.${value.fieldPath}`) {
134
+ // If the resolved value is the same as the original reference, preserve the KubernetesRef
135
+ return value;
136
+ }
137
+ else {
138
+ // If the resolved value is different (e.g., a concrete value), convert to CelExpression
139
+ return {
140
+ [CEL_EXPRESSION_BRAND]: true,
141
+ expression: resolved.startsWith('"') ? resolved.slice(1, -1) : resolved
142
+ };
143
+ }
144
+ }
145
+ return value;
146
+ }
147
+ if (isCelExpression(value)) {
148
+ const result = optimizeCelExpression(value, context);
149
+ if (result.wasOptimized) {
150
+ allOptimizations.push(`Optimized CEL expression at ${path}: ${value.expression} -> ${result.expression}`);
151
+ allOptimizations.push(...result.optimizations.map(opt => ` ${opt}`));
152
+ }
153
+ return {
154
+ [CEL_EXPRESSION_BRAND]: true,
155
+ expression: result.expression,
156
+ ...((value.__isTemplate) && { __isTemplate: true })
157
+ };
158
+ }
159
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
160
+ const optimizedObject = {};
161
+ for (const [key, nestedValue] of Object.entries(value)) {
162
+ optimizedObject[key] = evaluateValue(nestedValue, `${path}.${key}`);
163
+ }
164
+ return optimizedObject;
165
+ }
166
+ return value;
167
+ }
168
+ for (const [fieldName, fieldValue] of Object.entries(statusMappings)) {
169
+ optimizedMappings[fieldName] = evaluateValue(fieldValue, fieldName);
170
+ }
171
+ return {
172
+ mappings: optimizedMappings,
173
+ optimizations: allOptimizations
174
+ };
175
+ }
176
+ //# sourceMappingURL=cel-optimizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cel-optimizer.js","sourceRoot":"","sources":["../../../src/core/evaluation/cel-optimizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Core Factory - Legacy factory functions (to be moved to organized structure)
3
+ *
4
+ * This file contains the old factory functions that should be moved to the new
5
+ * organized structure in src/factories/. It's kept temporarily for backward compatibility.
6
+ *
7
+ * @deprecated Use the organized factory functions from src/factories/ instead
8
+ */
9
+ export * from '../factories/index.js';
10
+ export { createResource } from '../factories/shared.js';
11
+ export type * from './types/kubernetes.js';
12
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/core/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,mBAAmB,uBAAuB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Core Factory - Legacy factory functions (to be moved to organized structure)
3
+ *
4
+ * This file contains the old factory functions that should be moved to the new
5
+ * organized structure in src/factories/. It's kept temporarily for backward compatibility.
6
+ *
7
+ * @deprecated Use the organized factory functions from src/factories/ instead
8
+ */
9
+ // Re-export all factory functions from the organized structure
10
+ export * from '../factories/index.js';
11
+ // Re-export the shared utilities from the new location
12
+ export { createResource } from '../factories/shared.js';
13
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/core/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,+DAA+D;AAC/D,cAAc,uBAAuB,CAAC;AACtC,uDAAuD;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * A Kubernetes API client that reads configuration from environment variables.
3
+ * This client provides basic apply, get, and delete operations for Kubernetes resources.
4
+ */
5
+ export declare class KubernetesApi {
6
+ private kc;
7
+ private k8sApi;
8
+ private logger;
9
+ constructor();
10
+ /**
11
+ * Loads Kubernetes API configuration from environment variables.
12
+ * @throws Error if KUBERNETES_API_SERVER or KUBERNETES_API_TOKEN are not set.
13
+ */
14
+ private loadConfigFromEnv;
15
+ /**
16
+ * Validate TLS configuration and provide actionable error messages
17
+ */
18
+ private validateTLSConfiguration;
19
+ /**
20
+ * Applies a Kubernetes manifest (YAML or JSON string) to the cluster.
21
+ * This method handles both creation and updates of resources.
22
+ * @param manifestString The Kubernetes YAML or JSON manifest as a string.
23
+ */
24
+ apply(manifestString: string): Promise<void>;
25
+ /**
26
+ * Retrieves a Kubernetes resource.
27
+ * @param apiVersion The apiVersion of the resource (e.g., "apps/v1").
28
+ * @param kind The kind of the resource (e.g., "Deployment").
29
+ * @param name The name of the resource.
30
+ * @param namespace The namespace of the resource.
31
+ * @returns The retrieved resource object.
32
+ */
33
+ get(_apiVersion: string, kind: string, name: string, namespace?: string): Promise<any>;
34
+ /**
35
+ * Deletes a Kubernetes resource.
36
+ * @param apiVersion The apiVersion of the resource (e.g., "apps/v1").
37
+ * @param kind The kind of the resource (e.g., "Deployment").
38
+ * @param name The name of the resource.
39
+ * @param namespace The namespace of the resource.
40
+ */
41
+ delete(apiVersion: string, kind: string, name: string, namespace?: string): Promise<void>;
42
+ }
43
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/core/kubernetes/api.ts"],"names":[],"mappings":"AAmCA;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,MAAM,CAAwC;;IAyBtD;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiCzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAiChC;;;;OAIG;IACU,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsDzD;;;;;;;OAOG;IACU,GAAG,CACd,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAkB,GAC5B,OAAO,CAAC,GAAG,CAAC;IAcf;;;;;;OAMG;IACU,MAAM,CACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAkB,GAC5B,OAAO,CAAC,IAAI,CAAC;CAsBjB"}