typekro 0.5.0 → 0.7.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 (283) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core/composition/context.d.ts +14 -0
  3. package/dist/core/composition/context.d.ts.map +1 -1
  4. package/dist/core/composition/context.js.map +1 -1
  5. package/dist/core/composition/imperative.d.ts.map +1 -1
  6. package/dist/core/composition/imperative.js +59 -30
  7. package/dist/core/composition/imperative.js.map +1 -1
  8. package/dist/core/composition/nested-status-cel.d.ts +50 -0
  9. package/dist/core/composition/nested-status-cel.d.ts.map +1 -0
  10. package/dist/core/composition/nested-status-cel.js +169 -0
  11. package/dist/core/composition/nested-status-cel.js.map +1 -0
  12. package/dist/core/constants/brands.d.ts +1 -1
  13. package/dist/core/constants/brands.d.ts.map +1 -1
  14. package/dist/core/constants/brands.js +1 -1
  15. package/dist/core/constants/brands.js.map +1 -1
  16. package/dist/core/containers/build.d.ts +50 -0
  17. package/dist/core/containers/build.d.ts.map +1 -0
  18. package/dist/core/containers/build.js +146 -0
  19. package/dist/core/containers/build.js.map +1 -0
  20. package/dist/core/containers/errors.d.ts +14 -0
  21. package/dist/core/containers/errors.d.ts.map +1 -0
  22. package/dist/core/containers/errors.js +48 -0
  23. package/dist/core/containers/errors.js.map +1 -0
  24. package/dist/core/containers/exec.d.ts +36 -0
  25. package/dist/core/containers/exec.d.ts.map +1 -0
  26. package/dist/core/containers/exec.js +110 -0
  27. package/dist/core/containers/exec.js.map +1 -0
  28. package/dist/core/containers/index.d.ts +21 -0
  29. package/dist/core/containers/index.d.ts.map +1 -0
  30. package/dist/core/containers/index.js +20 -0
  31. package/dist/core/containers/index.js.map +1 -0
  32. package/dist/core/containers/registries/ecr.d.ts +22 -0
  33. package/dist/core/containers/registries/ecr.d.ts.map +1 -0
  34. package/dist/core/containers/registries/ecr.js +118 -0
  35. package/dist/core/containers/registries/ecr.js.map +1 -0
  36. package/dist/core/containers/registries/index.d.ts +9 -0
  37. package/dist/core/containers/registries/index.d.ts.map +1 -0
  38. package/dist/core/containers/registries/index.js +23 -0
  39. package/dist/core/containers/registries/index.js.map +1 -0
  40. package/dist/core/containers/registries/orbstack.d.ts +14 -0
  41. package/dist/core/containers/registries/orbstack.d.ts.map +1 -0
  42. package/dist/core/containers/registries/orbstack.js +24 -0
  43. package/dist/core/containers/registries/orbstack.js.map +1 -0
  44. package/dist/core/containers/registries/types.d.ts +94 -0
  45. package/dist/core/containers/registries/types.d.ts.map +1 -0
  46. package/dist/core/containers/registries/types.js +11 -0
  47. package/dist/core/containers/registries/types.js.map +1 -0
  48. package/dist/core/dependencies/graph.d.ts +4 -0
  49. package/dist/core/dependencies/graph.d.ts.map +1 -1
  50. package/dist/core/dependencies/graph.js +6 -0
  51. package/dist/core/dependencies/graph.js.map +1 -1
  52. package/dist/core/dependencies/resolver.d.ts +28 -0
  53. package/dist/core/dependencies/resolver.d.ts.map +1 -1
  54. package/dist/core/dependencies/resolver.js +138 -5
  55. package/dist/core/dependencies/resolver.js.map +1 -1
  56. package/dist/core/deployment/direct-factory.d.ts +13 -0
  57. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  58. package/dist/core/deployment/direct-factory.js +99 -0
  59. package/dist/core/deployment/direct-factory.js.map +1 -1
  60. package/dist/core/deployment/engine.d.ts.map +1 -1
  61. package/dist/core/deployment/engine.js +45 -2
  62. package/dist/core/deployment/engine.js.map +1 -1
  63. package/dist/core/deployment/kro-factory.d.ts +7 -0
  64. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  65. package/dist/core/deployment/kro-factory.js +203 -9
  66. package/dist/core/deployment/kro-factory.js.map +1 -1
  67. package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
  68. package/dist/core/deployment/kro-readiness.js +10 -1
  69. package/dist/core/deployment/kro-readiness.js.map +1 -1
  70. package/dist/core/deployment/nested-composition-status.d.ts +33 -0
  71. package/dist/core/deployment/nested-composition-status.d.ts.map +1 -0
  72. package/dist/core/deployment/nested-composition-status.js +101 -0
  73. package/dist/core/deployment/nested-composition-status.js.map +1 -0
  74. package/dist/core/deployment/readiness-waiter.d.ts.map +1 -1
  75. package/dist/core/deployment/readiness-waiter.js +23 -6
  76. package/dist/core/deployment/readiness-waiter.js.map +1 -1
  77. package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
  78. package/dist/core/deployment/rollback-manager.js +19 -0
  79. package/dist/core/deployment/rollback-manager.js.map +1 -1
  80. package/dist/core/deployment/strategies/direct-strategy.d.ts +6 -0
  81. package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
  82. package/dist/core/deployment/strategies/direct-strategy.js +133 -35
  83. package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
  84. package/dist/core/expressions/composition/imperative-analyzer.d.ts +8 -0
  85. package/dist/core/expressions/composition/imperative-analyzer.d.ts.map +1 -1
  86. package/dist/core/expressions/composition/imperative-analyzer.js +111 -16
  87. package/dist/core/expressions/composition/imperative-analyzer.js.map +1 -1
  88. package/dist/core/metadata/resource-metadata.d.ts +4 -0
  89. package/dist/core/metadata/resource-metadata.d.ts.map +1 -1
  90. package/dist/core/metadata/resource-metadata.js.map +1 -1
  91. package/dist/core/proxy/create-resource.d.ts.map +1 -1
  92. package/dist/core/proxy/create-resource.js +63 -21
  93. package/dist/core/proxy/create-resource.js.map +1 -1
  94. package/dist/core/references/external-refs.d.ts +2 -0
  95. package/dist/core/references/external-refs.d.ts.map +1 -1
  96. package/dist/core/references/external-refs.js +3 -0
  97. package/dist/core/references/external-refs.js.map +1 -1
  98. package/dist/core/references/resolver.d.ts +12 -4
  99. package/dist/core/references/resolver.d.ts.map +1 -1
  100. package/dist/core/references/resolver.js +152 -69
  101. package/dist/core/references/resolver.js.map +1 -1
  102. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  103. package/dist/core/references/schema-proxy.js +5 -4
  104. package/dist/core/references/schema-proxy.js.map +1 -1
  105. package/dist/core/serialization/cel-references.d.ts +1 -1
  106. package/dist/core/serialization/cel-references.d.ts.map +1 -1
  107. package/dist/core/serialization/cel-references.js +133 -8
  108. package/dist/core/serialization/cel-references.js.map +1 -1
  109. package/dist/core/serialization/core.d.ts +2 -0
  110. package/dist/core/serialization/core.d.ts.map +1 -1
  111. package/dist/core/serialization/core.js +16 -2
  112. package/dist/core/serialization/core.js.map +1 -1
  113. package/dist/core/serialization/schema.d.ts +2 -2
  114. package/dist/core/serialization/schema.d.ts.map +1 -1
  115. package/dist/core/serialization/schema.js +34 -17
  116. package/dist/core/serialization/schema.js.map +1 -1
  117. package/dist/core/serialization/status-analysis-pipeline.d.ts +4 -0
  118. package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -1
  119. package/dist/core/serialization/status-analysis-pipeline.js +127 -10
  120. package/dist/core/serialization/status-analysis-pipeline.js.map +1 -1
  121. package/dist/core/serialization/yaml.d.ts.map +1 -1
  122. package/dist/core/serialization/yaml.js +7 -2
  123. package/dist/core/serialization/yaml.js.map +1 -1
  124. package/dist/core/types/composable.d.ts +62 -0
  125. package/dist/core/types/composable.d.ts.map +1 -0
  126. package/dist/core/types/composable.js +51 -0
  127. package/dist/core/types/composable.js.map +1 -0
  128. package/dist/core/types/deployment.d.ts +2 -1
  129. package/dist/core/types/deployment.d.ts.map +1 -1
  130. package/dist/core/types/index.d.ts +1 -0
  131. package/dist/core/types/index.d.ts.map +1 -1
  132. package/dist/core/types/index.js +1 -0
  133. package/dist/core/types/index.js.map +1 -1
  134. package/dist/core/types/serialization.d.ts +2 -1
  135. package/dist/core/types/serialization.d.ts.map +1 -1
  136. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  137. package/dist/core/validation/cel-validator.js +55 -31
  138. package/dist/core/validation/cel-validator.js.map +1 -1
  139. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +55 -0
  140. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts.map +1 -0
  141. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +92 -0
  142. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js.map +1 -0
  143. package/dist/factories/cnpg/compositions/index.d.ts +2 -0
  144. package/dist/factories/cnpg/compositions/index.d.ts.map +1 -0
  145. package/dist/factories/cnpg/compositions/index.js +2 -0
  146. package/dist/factories/cnpg/compositions/index.js.map +1 -0
  147. package/dist/factories/cnpg/index.d.ts +42 -0
  148. package/dist/factories/cnpg/index.d.ts.map +1 -0
  149. package/dist/factories/cnpg/index.js +42 -0
  150. package/dist/factories/cnpg/index.js.map +1 -0
  151. package/dist/factories/cnpg/resources/backup.d.ts +34 -0
  152. package/dist/factories/cnpg/resources/backup.d.ts.map +1 -0
  153. package/dist/factories/cnpg/resources/backup.js +87 -0
  154. package/dist/factories/cnpg/resources/backup.js.map +1 -0
  155. package/dist/factories/cnpg/resources/cluster.d.ts +55 -0
  156. package/dist/factories/cnpg/resources/cluster.d.ts.map +1 -0
  157. package/dist/factories/cnpg/resources/cluster.js +123 -0
  158. package/dist/factories/cnpg/resources/cluster.js.map +1 -0
  159. package/dist/factories/cnpg/resources/helm.d.ts +45 -0
  160. package/dist/factories/cnpg/resources/helm.d.ts.map +1 -0
  161. package/dist/factories/cnpg/resources/helm.js +78 -0
  162. package/dist/factories/cnpg/resources/helm.js.map +1 -0
  163. package/dist/factories/cnpg/resources/index.d.ts +6 -0
  164. package/dist/factories/cnpg/resources/index.d.ts.map +1 -0
  165. package/dist/factories/cnpg/resources/index.js +6 -0
  166. package/dist/factories/cnpg/resources/index.js.map +1 -0
  167. package/dist/factories/cnpg/resources/pooler.d.ts +38 -0
  168. package/dist/factories/cnpg/resources/pooler.d.ts.map +1 -0
  169. package/dist/factories/cnpg/resources/pooler.js +97 -0
  170. package/dist/factories/cnpg/resources/pooler.js.map +1 -0
  171. package/dist/factories/cnpg/resources/scheduled-backup.d.ts +35 -0
  172. package/dist/factories/cnpg/resources/scheduled-backup.d.ts.map +1 -0
  173. package/dist/factories/cnpg/resources/scheduled-backup.js +68 -0
  174. package/dist/factories/cnpg/resources/scheduled-backup.js.map +1 -0
  175. package/dist/factories/cnpg/types.d.ts +507 -0
  176. package/dist/factories/cnpg/types.d.ts.map +1 -0
  177. package/dist/factories/cnpg/types.js +398 -0
  178. package/dist/factories/cnpg/types.js.map +1 -0
  179. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts +70 -0
  180. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts.map +1 -0
  181. package/dist/factories/cnpg/utils/helm-values-mapper.js +79 -0
  182. package/dist/factories/cnpg/utils/helm-values-mapper.js.map +1 -0
  183. package/dist/factories/cnpg/utils/index.d.ts +2 -0
  184. package/dist/factories/cnpg/utils/index.d.ts.map +1 -0
  185. package/dist/factories/cnpg/utils/index.js +2 -0
  186. package/dist/factories/cnpg/utils/index.js.map +1 -0
  187. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  188. package/dist/factories/helm/helm-release.js +4 -0
  189. package/dist/factories/helm/helm-release.js.map +1 -1
  190. package/dist/factories/helm/types.d.ts +2 -0
  191. package/dist/factories/helm/types.d.ts.map +1 -1
  192. package/dist/factories/inngest/compositions/index.d.ts +2 -0
  193. package/dist/factories/inngest/compositions/index.d.ts.map +1 -0
  194. package/dist/factories/inngest/compositions/index.js +2 -0
  195. package/dist/factories/inngest/compositions/index.js.map +1 -0
  196. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +150 -0
  197. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -0
  198. package/dist/factories/inngest/compositions/inngest-bootstrap.js +90 -0
  199. package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -0
  200. package/dist/factories/inngest/index.d.ts +45 -0
  201. package/dist/factories/inngest/index.d.ts.map +1 -0
  202. package/dist/factories/inngest/index.js +45 -0
  203. package/dist/factories/inngest/index.js.map +1 -0
  204. package/dist/factories/inngest/resources/helm.d.ts +53 -0
  205. package/dist/factories/inngest/resources/helm.d.ts.map +1 -0
  206. package/dist/factories/inngest/resources/helm.js +88 -0
  207. package/dist/factories/inngest/resources/helm.js.map +1 -0
  208. package/dist/factories/inngest/resources/index.d.ts +2 -0
  209. package/dist/factories/inngest/resources/index.d.ts.map +1 -0
  210. package/dist/factories/inngest/resources/index.js +2 -0
  211. package/dist/factories/inngest/resources/index.js.map +1 -0
  212. package/dist/factories/inngest/types.d.ts +177 -0
  213. package/dist/factories/inngest/types.d.ts.map +1 -0
  214. package/dist/factories/inngest/types.js +189 -0
  215. package/dist/factories/inngest/types.js.map +1 -0
  216. package/dist/factories/inngest/utils/helm-values-mapper.d.ts +127 -0
  217. package/dist/factories/inngest/utils/helm-values-mapper.d.ts.map +1 -0
  218. package/dist/factories/inngest/utils/helm-values-mapper.js +116 -0
  219. package/dist/factories/inngest/utils/helm-values-mapper.js.map +1 -0
  220. package/dist/factories/inngest/utils/index.d.ts +2 -0
  221. package/dist/factories/inngest/utils/index.d.ts.map +1 -0
  222. package/dist/factories/inngest/utils/index.js +2 -0
  223. package/dist/factories/inngest/utils/index.js.map +1 -0
  224. package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -1
  225. package/dist/factories/kubernetes/core/namespace.js +1 -1
  226. package/dist/factories/kubernetes/core/namespace.js.map +1 -1
  227. package/dist/factories/valkey/compositions/index.d.ts +2 -0
  228. package/dist/factories/valkey/compositions/index.d.ts.map +1 -0
  229. package/dist/factories/valkey/compositions/index.js +2 -0
  230. package/dist/factories/valkey/compositions/index.js.map +1 -0
  231. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +41 -0
  232. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -0
  233. package/dist/factories/valkey/compositions/valkey-bootstrap.js +105 -0
  234. package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -0
  235. package/dist/factories/valkey/index.d.ts +50 -0
  236. package/dist/factories/valkey/index.d.ts.map +1 -0
  237. package/dist/factories/valkey/index.js +50 -0
  238. package/dist/factories/valkey/index.js.map +1 -0
  239. package/dist/factories/valkey/resources/helm.d.ts +53 -0
  240. package/dist/factories/valkey/resources/helm.d.ts.map +1 -0
  241. package/dist/factories/valkey/resources/helm.js +82 -0
  242. package/dist/factories/valkey/resources/helm.js.map +1 -0
  243. package/dist/factories/valkey/resources/index.d.ts +3 -0
  244. package/dist/factories/valkey/resources/index.d.ts.map +1 -0
  245. package/dist/factories/valkey/resources/index.js +3 -0
  246. package/dist/factories/valkey/resources/index.js.map +1 -0
  247. package/dist/factories/valkey/resources/valkey.d.ts +46 -0
  248. package/dist/factories/valkey/resources/valkey.d.ts.map +1 -0
  249. package/dist/factories/valkey/resources/valkey.js +123 -0
  250. package/dist/factories/valkey/resources/valkey.js.map +1 -0
  251. package/dist/factories/valkey/types.d.ts +185 -0
  252. package/dist/factories/valkey/types.d.ts.map +1 -0
  253. package/dist/factories/valkey/types.js +204 -0
  254. package/dist/factories/valkey/types.js.map +1 -0
  255. package/dist/factories/valkey/utils/helm-values-mapper.d.ts +32 -0
  256. package/dist/factories/valkey/utils/helm-values-mapper.d.ts.map +1 -0
  257. package/dist/factories/valkey/utils/helm-values-mapper.js +58 -0
  258. package/dist/factories/valkey/utils/helm-values-mapper.js.map +1 -0
  259. package/dist/factories/valkey/utils/index.d.ts +2 -0
  260. package/dist/factories/valkey/utils/index.d.ts.map +1 -0
  261. package/dist/factories/valkey/utils/index.js +2 -0
  262. package/dist/factories/valkey/utils/index.js.map +1 -0
  263. package/dist/factories/webapp/compositions/index.d.ts +2 -0
  264. package/dist/factories/webapp/compositions/index.d.ts.map +1 -0
  265. package/dist/factories/webapp/compositions/index.js +2 -0
  266. package/dist/factories/webapp/compositions/index.js.map +1 -0
  267. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +98 -0
  268. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -0
  269. package/dist/factories/webapp/compositions/web-app-with-processing.js +221 -0
  270. package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -0
  271. package/dist/factories/webapp/index.d.ts +53 -0
  272. package/dist/factories/webapp/index.d.ts.map +1 -0
  273. package/dist/factories/webapp/index.js +53 -0
  274. package/dist/factories/webapp/index.js.map +1 -0
  275. package/dist/factories/webapp/types.d.ts +69 -0
  276. package/dist/factories/webapp/types.d.ts.map +1 -0
  277. package/dist/factories/webapp/types.js +92 -0
  278. package/dist/factories/webapp/types.js.map +1 -0
  279. package/dist/shared/brands.d.ts +16 -0
  280. package/dist/shared/brands.d.ts.map +1 -1
  281. package/dist/shared/brands.js +16 -0
  282. package/dist/shared/brands.js.map +1 -1
  283. package/package.json +25 -1
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Orbstack Registry Handler
3
+ *
4
+ * Orbstack makes locally-built Docker images automatically available to its
5
+ * built-in Kubernetes cluster. No push step is needed — `docker build` is
6
+ * sufficient.
7
+ */
8
+ import type { RegistryHandler } from './types.js';
9
+ export declare class OrbstackRegistryHandler implements RegistryHandler {
10
+ resolveImageUri(imageName: string, tag: string): Promise<string>;
11
+ authenticate(): Promise<void>;
12
+ push(_imageUri: string, _imageName: string): Promise<boolean>;
13
+ }
14
+ //# sourceMappingURL=orbstack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orbstack.d.ts","sourceRoot":"","sources":["../../../../src/core/containers/registries/orbstack.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,qBAAa,uBAAwB,YAAW,eAAe;IACvD,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhE,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAKpE"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Orbstack Registry Handler
3
+ *
4
+ * Orbstack makes locally-built Docker images automatically available to its
5
+ * built-in Kubernetes cluster. No push step is needed — `docker build` is
6
+ * sufficient.
7
+ */
8
+ import { getComponentLogger } from '../../logging/index.js';
9
+ const logger = getComponentLogger('container-registry-orbstack');
10
+ export class OrbstackRegistryHandler {
11
+ async resolveImageUri(imageName, tag) {
12
+ return `${imageName}:${tag}`;
13
+ }
14
+ async authenticate() {
15
+ // No authentication needed — Orbstack uses the local Docker daemon.
16
+ logger.debug('Orbstack registry: no authentication needed');
17
+ }
18
+ async push(_imageUri, _imageName) {
19
+ // No push needed — images built locally are auto-available to Orbstack K8s.
20
+ logger.debug('Orbstack registry: skipping push (images auto-available to local K8s)');
21
+ return false;
22
+ }
23
+ }
24
+ //# sourceMappingURL=orbstack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orbstack.js","sourceRoot":"","sources":["../../../../src/core/containers/registries/orbstack.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,MAAM,MAAM,GAAG,kBAAkB,CAAC,6BAA6B,CAAC,CAAC;AAEjE,MAAM,OAAO,uBAAuB;IAClC,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,GAAW;QAClD,OAAO,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,oEAAoE;QACpE,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,UAAkB;QAC9C,4EAA4E;QAC5E,MAAM,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;QACtF,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Container Registry Types
3
+ *
4
+ * Defines the registry configuration interface and the internal handler
5
+ * contract. New registries (GCR, ACR, etc.) are added by:
6
+ * 1. Adding a config variant to RegistryConfig
7
+ * 2. Implementing RegistryHandler
8
+ * 3. Registering in the resolver
9
+ */
10
+ export interface OrbstackRegistryConfig {
11
+ type: 'orbstack';
12
+ }
13
+ /**
14
+ * ECR registry configuration.
15
+ *
16
+ * Credential options are passed directly to the AWS SDK's
17
+ * `fromNodeProviderChain`, which handles env vars, profiles,
18
+ * SSO sessions, instance roles, web identity tokens, and role
19
+ * assumption. Any option accepted by the SDK's DefaultProviderInit
20
+ * can be passed via `credentials`.
21
+ */
22
+ export interface EcrRegistryConfig {
23
+ type: 'ecr';
24
+ /** AWS account ID. Auto-detected from STS if omitted. */
25
+ accountId?: string;
26
+ /** AWS region. Falls back to AWS_REGION / AWS_DEFAULT_REGION env vars. */
27
+ region?: string;
28
+ /** Create the ECR repository if it doesn't exist (default: true). */
29
+ createRepository?: boolean;
30
+ /**
31
+ * AWS credential options passed to `fromNodeProviderChain`.
32
+ * Common options: `profile`, `roleArn`, `roleSessionName`,
33
+ * `mfaCodeProvider`, `configFilepath`.
34
+ * Omit to use the default credential chain (env vars, profiles, SSO, etc.).
35
+ */
36
+ credentials?: import('@aws-sdk/credential-provider-node').DefaultProviderInit;
37
+ }
38
+ export interface GcrRegistryConfig {
39
+ type: 'gcr';
40
+ projectId: string;
41
+ }
42
+ export interface AcrRegistryConfig {
43
+ type: 'acr';
44
+ registryName: string;
45
+ }
46
+ /** Discriminated union of all supported container registries. */
47
+ export type RegistryConfig = OrbstackRegistryConfig | EcrRegistryConfig | GcrRegistryConfig | AcrRegistryConfig;
48
+ export interface ContainerBuildOptions {
49
+ /** Path to the build context directory (contains the Dockerfile). */
50
+ context: string;
51
+ /** Dockerfile path relative to context (default: 'Dockerfile'). */
52
+ dockerfile?: string;
53
+ /** Image name without registry prefix or tag (e.g., 'collectorbills'). */
54
+ imageName: string;
55
+ /** Tag: explicit string, 'content-hash' for SHA-based, or undefined for 'latest'. */
56
+ tag?: string;
57
+ /** Target platform (e.g., 'linux/amd64'). Omit for native platform. */
58
+ platform?: string;
59
+ /** Additional Docker build arguments. */
60
+ buildArgs?: Record<string, string>;
61
+ /** Docker build target for multi-stage builds. */
62
+ target?: string;
63
+ /** Suppress build output — only log on error. */
64
+ quiet?: boolean;
65
+ /** Build timeout in milliseconds (default: 300_000 = 5 minutes). */
66
+ timeout?: number;
67
+ /**
68
+ * Extra Docker CLI arguments appended to the build command.
69
+ * Escape hatch for --secret, --ssh, --cache-from, etc.
70
+ */
71
+ extraDockerArgs?: string[];
72
+ /** Registry to push the built image to. */
73
+ registry: RegistryConfig;
74
+ }
75
+ export interface ContainerBuildResult {
76
+ /** Full image URI (e.g., '123456.dkr.ecr.us-east-1.amazonaws.com/app:sha-abc123'). */
77
+ imageUri: string;
78
+ /** The tag that was applied. */
79
+ tag: string;
80
+ /** Build duration in milliseconds. */
81
+ duration: number;
82
+ /** Whether the image was pushed to a remote registry. */
83
+ pushed: boolean;
84
+ }
85
+ /** Internal interface that each registry implementation fulfills. */
86
+ export interface RegistryHandler {
87
+ /** Compute the full image URI (registry prefix + name + tag). */
88
+ resolveImageUri(imageName: string, tag: string): Promise<string>;
89
+ /** Authenticate with the registry. No-op for local registries. */
90
+ authenticate(): Promise<void>;
91
+ /** Push the image to the registry. Returns true if pushed, false for local registries. */
92
+ push(imageUri: string, imageName: string): Promise<boolean>;
93
+ }
94
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/containers/registries/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC;IACZ,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,mCAAmC,EAAE,mBAAmB,CAAC;CAC/E;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,iEAAiE;AACjE,MAAM,MAAM,cAAc,GACtB,sBAAsB,GACtB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,CAAC;AAMtB,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,2CAA2C;IAC3C,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,sFAAsF;IACtF,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,MAAM,EAAE,OAAO,CAAC;CACjB;AAMD,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,kEAAkE;IAClE,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,0FAA0F;IAC1F,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7D"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Container Registry Types
3
+ *
4
+ * Defines the registry configuration interface and the internal handler
5
+ * contract. New registries (GCR, ACR, etc.) are added by:
6
+ * 1. Adding a config variant to RegistryConfig
7
+ * 2. Implementing RegistryHandler
8
+ * 3. Registering in the resolver
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/containers/registries/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -8,6 +8,10 @@ import type { DependencyNode } from '../types/dependencies.js';
8
8
  import type { DeployableK8sResource, Enhanced } from '../types/kubernetes.js';
9
9
  export declare class DependencyGraph {
10
10
  private nodes;
11
+ /**
12
+ * Check if a node exists in the graph
13
+ */
14
+ hasNode(id: string): boolean;
11
15
  /**
12
16
  * Add a node to the dependency graph
13
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/core/dependencies/graph.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE9E,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAqC;IAElD;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;IAiBtF;;;;OAIG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAuBxD;;OAEG;IACH,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAIvC;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI/C;;OAEG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAKrC;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAKnC;;OAEG;IACH,SAAS,IAAI,OAAO;IASpB;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE,EAAE;IAyCxB;;;OAGG;IACH,mBAAmB,IAAI,MAAM,EAAE;IA4C/B;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAMxB;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAMxB;;OAEG;IACH,KAAK,IAAI,eAAe;IAkBxB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,eAAe;CA0BhD"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/core/dependencies/graph.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE9E,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAqC;IAElD;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI5B;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;IAiBtF;;;;OAIG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAuBxD;;OAEG;IACH,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAIvC;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI/C;;OAEG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAKrC;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAKnC;;OAEG;IACH,SAAS,IAAI,OAAO;IASpB;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE,EAAE;IAyCxB;;;OAGG;IACH,mBAAmB,IAAI,MAAM,EAAE;IA4C/B;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAMxB;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAMxB;;OAEG;IACH,KAAK,IAAI,eAAe;IAkBxB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,eAAe;CA0BhD"}
@@ -7,6 +7,12 @@
7
7
  import { CircularDependencyError, TypeKroError } from '../errors.js';
8
8
  export class DependencyGraph {
9
9
  nodes = new Map();
10
+ /**
11
+ * Check if a node exists in the graph
12
+ */
13
+ hasNode(id) {
14
+ return this.nodes.has(id);
15
+ }
10
16
  /**
11
17
  * Add a node to the dependency graph
12
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/core/dependencies/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/core/dependencies/graph.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,19 @@ export declare class DependencyResolver {
24
24
  * Extract all references from a resource
25
25
  */
26
26
  private extractReferences;
27
+ /**
28
+ * Parse embedded KubernetesRef marker strings from serialized values.
29
+ *
30
+ * When a KubernetesRef proxy is used in a template literal (e.g.,
31
+ * `postgresql://${database.status.writeService}:5432/mydb`), the
32
+ * Symbol.toPrimitive handler produces a marker string:
33
+ * __KUBERNETES_REF_{resourceId}_{fieldPath}__
34
+ *
35
+ * This method extracts those markers so the dependency resolver can
36
+ * detect references to other resources embedded in string values.
37
+ * The same marker format is used by schema-proxy.ts.
38
+ */
39
+ private parseMarkerReferences;
27
40
  /**
28
41
  * Parse CEL expressions to extract resource references
29
42
  */
@@ -32,6 +45,21 @@ export declare class DependencyResolver {
32
45
  * Analyze deployment order and identify parallelizable resources
33
46
  */
34
47
  analyzeDeploymentOrder(graph: DependencyGraph): DeploymentPlan;
48
+ /**
49
+ * Analyze deletion order — reverse of deployment levels.
50
+ *
51
+ * Returns parallelizable levels where the LAST deployment level (leaf
52
+ * resources with the most dependencies) is deleted FIRST. This ensures
53
+ * dependents are removed before their dependencies (e.g., App before
54
+ * Database, Database before Namespace).
55
+ *
56
+ * Resources with `lifecycle: 'shared'` are excluded from the deletion plan.
57
+ */
58
+ analyzeDeletionOrder(graph: DependencyGraph, sharedResourceIds?: Set<string>): DeploymentPlan;
59
+ /**
60
+ * Build a subgraph excluding shared resources for deletion planning.
61
+ */
62
+ private buildDeletionSubgraph;
35
63
  /**
36
64
  * Get rollback order (reverse of deployment order)
37
65
  */
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/core/dependencies/resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA6C;IAE3D;;OAEG;IACH,oBAAoB,CAClB,SAAS,EAAE,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,GAC7D,eAAe;IAgClB;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,EAAE;IAIrD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAS9C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,cAAc;IA0C9D;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,EAAE;IAKlD;;OAEG;IACH,wBAAwB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,EAAE;IAI1D;;OAEG;IACH,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,EAAE;CAGxD;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/core/dependencies/resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA6C;IAE3D;;OAEG;IACH,oBAAoB,CAClB,SAAS,EAAE,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,GAC7D,eAAe;IAkFlB;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,EAAE;IAIrD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAS9C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,cAAc;IA0C9D;;;;;;;;;OASG;IACH,oBAAoB,CAClB,KAAK,EAAE,eAAe,EACtB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC9B,cAAc;IAejB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,EAAE;IAKlD;;OAEG;IACH,wBAAwB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,EAAE;IAI1D;;OAEG;IACH,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,EAAE;CAGxD;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB"}
@@ -5,9 +5,10 @@
5
5
  * topological ordering for deployment.
6
6
  */
7
7
  import { isCelExpression, isKubernetesRef } from '../../utils/type-guards.js';
8
- import { KUBERNETES_REF_BRAND } from '../constants/brands.js';
8
+ import { KUBERNETES_REF_BRAND, KUBERNETES_REF_MARKER_PATTERN } from '../constants/brands.js';
9
9
  import { CircularDependencyError, TypeKroError } from '../errors.js';
10
10
  import { getComponentLogger } from '../logging/index.js';
11
+ import { getResourceId } from '../metadata/index.js';
11
12
  import { DependencyGraph } from './graph.js';
12
13
  export class DependencyResolver {
13
14
  logger = getComponentLogger('dependency-resolver');
@@ -16,9 +17,17 @@ export class DependencyResolver {
16
17
  */
17
18
  buildDependencyGraph(resources) {
18
19
  const graph = new DependencyGraph();
19
- // Add all resources as nodes first
20
+ // Add all resources as nodes and build a reverse map from original
21
+ // composition IDs (e.g., 'database') to graph IDs (e.g., 'testappResource0Database').
22
+ // Marker strings in template literals use the original composition ID, but
23
+ // the graph nodes use the prefixed deployment ID.
24
+ const originalIdToGraphId = new Map();
20
25
  for (const resource of resources) {
21
26
  graph.addNode(resource.id, resource);
27
+ const originalId = getResourceId(resource);
28
+ if (originalId && originalId !== resource.id) {
29
+ originalIdToGraphId.set(originalId, resource.id);
30
+ }
22
31
  }
23
32
  // Analyze each resource for references and add edges
24
33
  for (const resource of resources) {
@@ -26,10 +35,19 @@ export class DependencyResolver {
26
35
  for (const ref of references) {
27
36
  // Skip schema references (these are internal TypeKro references)
28
37
  if (ref.resourceId !== '__schema__') {
29
- try {
30
- graph.addEdge(resource.id, ref.resourceId);
38
+ // Resolve the reference ID: try graph ID first, then original ID mapping
39
+ const targetId = graph.hasNode(ref.resourceId)
40
+ ? ref.resourceId
41
+ : originalIdToGraphId.get(ref.resourceId);
42
+ if (targetId) {
43
+ try {
44
+ graph.addEdge(resource.id, targetId);
45
+ }
46
+ catch {
47
+ // Edge already exists — safe to ignore
48
+ }
31
49
  }
32
- catch {
50
+ else {
33
51
  // Log warning if referenced resource doesn't exist in the graph
34
52
  // This might be an external reference that will be resolved at runtime
35
53
  this.logger.warn('Reference to unknown resource', {
@@ -40,6 +58,37 @@ export class DependencyResolver {
40
58
  }
41
59
  }
42
60
  }
61
+ // Detect implicit namespace dependencies: if a resource has metadata.namespace
62
+ // matching the metadata.name of a Namespace resource in the graph, the resource
63
+ // depends on that Namespace being created first.
64
+ const namespaceResources = new Map(); // namespace name → resource graph ID
65
+ for (const resource of resources) {
66
+ if (resource.kind === 'Namespace' && resource.metadata?.name) {
67
+ namespaceResources.set(resource.metadata.name, resource.id);
68
+ }
69
+ }
70
+ if (namespaceResources.size > 0) {
71
+ for (const resource of resources) {
72
+ const ns = resource.metadata?.namespace;
73
+ if (ns && namespaceResources.has(ns)) {
74
+ const nsResourceId = namespaceResources.get(ns);
75
+ // Don't add self-dependency
76
+ if (nsResourceId !== resource.id) {
77
+ try {
78
+ graph.addEdge(resource.id, nsResourceId);
79
+ this.logger.debug('Added implicit namespace dependency', {
80
+ resource: resource.id,
81
+ namespace: ns,
82
+ namespaceResource: nsResourceId,
83
+ });
84
+ }
85
+ catch {
86
+ // Edge already exists or other issue — safe to ignore
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
43
92
  return graph;
44
93
  }
45
94
  /**
@@ -76,6 +125,12 @@ export class DependencyResolver {
76
125
  const celRefs = this.parseCelReferences(obj.expression);
77
126
  refs.push(...celRefs);
78
127
  }
128
+ else if (typeof obj === 'string') {
129
+ // Detect embedded KubernetesRef marker strings from template literals.
130
+ // Format: __KUBERNETES_REF_{resourceId}_{fieldPath}__
131
+ const markerRefs = this.parseMarkerReferences(obj);
132
+ refs.push(...markerRefs);
133
+ }
79
134
  else if (Array.isArray(obj)) {
80
135
  obj.forEach((item, index) => {
81
136
  traverse(item, `${path}[${index}]`);
@@ -90,6 +145,37 @@ export class DependencyResolver {
90
145
  traverse(resource);
91
146
  return refs;
92
147
  }
148
+ /**
149
+ * Parse embedded KubernetesRef marker strings from serialized values.
150
+ *
151
+ * When a KubernetesRef proxy is used in a template literal (e.g.,
152
+ * `postgresql://${database.status.writeService}:5432/mydb`), the
153
+ * Symbol.toPrimitive handler produces a marker string:
154
+ * __KUBERNETES_REF_{resourceId}_{fieldPath}__
155
+ *
156
+ * This method extracts those markers so the dependency resolver can
157
+ * detect references to other resources embedded in string values.
158
+ * The same marker format is used by schema-proxy.ts.
159
+ */
160
+ parseMarkerReferences(value) {
161
+ const refs = [];
162
+ // Match __KUBERNETES_REF_{resourceId}_{fieldPath}__
163
+ // resourceId: word chars, hyphens, digits (e.g., 'database', 'inngest-bootstrap1')
164
+ // fieldPath: word chars, dots, hyphens (e.g., 'status.writeService', 'metadata.name')
165
+ // Exclude __schema__ refs — those are schema proxy refs, not resource dependencies
166
+ const markerPattern = new RegExp(KUBERNETES_REF_MARKER_PATTERN.source, 'g');
167
+ let match = markerPattern.exec(value);
168
+ while (match !== null) {
169
+ const [, resourceId, fieldPath] = match;
170
+ refs.push({
171
+ [KUBERNETES_REF_BRAND]: true,
172
+ resourceId,
173
+ fieldPath,
174
+ });
175
+ match = markerPattern.exec(value);
176
+ }
177
+ return refs;
178
+ }
93
179
  /**
94
180
  * Parse CEL expressions to extract resource references
95
181
  */
@@ -143,6 +229,53 @@ export class DependencyResolver {
143
229
  maxParallelism: Math.max(...levels.map((level) => level.length)),
144
230
  };
145
231
  }
232
+ /**
233
+ * Analyze deletion order — reverse of deployment levels.
234
+ *
235
+ * Returns parallelizable levels where the LAST deployment level (leaf
236
+ * resources with the most dependencies) is deleted FIRST. This ensures
237
+ * dependents are removed before their dependencies (e.g., App before
238
+ * Database, Database before Namespace).
239
+ *
240
+ * Resources with `lifecycle: 'shared'` are excluded from the deletion plan.
241
+ */
242
+ analyzeDeletionOrder(graph, sharedResourceIds) {
243
+ // Build a subgraph excluding shared resources
244
+ const deletionGraph = sharedResourceIds
245
+ ? this.buildDeletionSubgraph(graph, sharedResourceIds)
246
+ : graph;
247
+ const deploymentPlan = this.analyzeDeploymentOrder(deletionGraph);
248
+ return {
249
+ levels: [...deploymentPlan.levels].reverse(),
250
+ totalResources: deploymentPlan.totalResources,
251
+ maxParallelism: deploymentPlan.maxParallelism,
252
+ };
253
+ }
254
+ /**
255
+ * Build a subgraph excluding shared resources for deletion planning.
256
+ */
257
+ buildDeletionSubgraph(graph, sharedResourceIds) {
258
+ const subgraph = new DependencyGraph();
259
+ for (const nodeId of graph.getTopologicalOrder()) {
260
+ if (sharedResourceIds.has(nodeId))
261
+ continue;
262
+ const node = graph.getNode(nodeId);
263
+ if (node)
264
+ subgraph.addNode(nodeId, node.resource);
265
+ }
266
+ for (const nodeId of graph.getTopologicalOrder()) {
267
+ if (sharedResourceIds.has(nodeId))
268
+ continue;
269
+ for (const dep of graph.getDependencies(nodeId)) {
270
+ if (sharedResourceIds.has(dep))
271
+ continue;
272
+ if (subgraph.hasNode(dep)) {
273
+ subgraph.addEdge(nodeId, dep);
274
+ }
275
+ }
276
+ }
277
+ return subgraph;
278
+ }
146
279
  /**
147
280
  * Get rollback order (reverse of deployment order)
148
281
  */
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/core/dependencies/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/core/dependencies/resolver.ts"],"names":[],"mappings":"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"}
@@ -121,6 +121,19 @@ export declare class DirectResourceFactoryImpl<TSpec extends KroCompatibleType,
121
121
  * This is used by the deployment strategy to use computed status instead of calling status builder with proxy functions
122
122
  */
123
123
  getReExecutedStatus(): TStatus | null;
124
+ /**
125
+ * Re-execute the composition with live status data from deployed resources.
126
+ *
127
+ * After deployment completes, we have live status for each resource.
128
+ * This method re-runs the composition function with that live data injected
129
+ * into the proxy system, so status comparisons like
130
+ * `database.status.readyInstances >= 1` evaluate correctly.
131
+ *
132
+ * @param spec - The original spec
133
+ * @param liveStatusMap - Map of resource ID to live status object
134
+ * @returns Re-executed status with live data, or null on failure
135
+ */
136
+ reExecuteWithLiveStatus(spec: TSpec, liveStatusMap: Map<string, Record<string, unknown>>): TStatus | null;
124
137
  /**
125
138
  * Deep resolve any KubernetesRef objects in a value to their string representation
126
139
  * This is needed because when composition functions build objects with schema proxy values,
@@ -1 +1 @@
1
- {"version":3,"file":"direct-factory.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/direct-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"direct-factory.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/direct-factory.ts"],"names":[],"mappings":"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"}