typekro 0.32.1 → 0.33.1

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 (99) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/alchemy/resource-registration.d.ts +48 -1
  3. package/dist/alchemy/resource-registration.d.ts.map +1 -1
  4. package/dist/alchemy/resource-registration.js +250 -3
  5. package/dist/alchemy/resource-registration.js.map +1 -1
  6. package/dist/core/dependencies/resolver.d.ts.map +1 -1
  7. package/dist/core/dependencies/resolver.js +13 -3
  8. package/dist/core/dependencies/resolver.js.map +1 -1
  9. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  10. package/dist/core/deployment/direct-factory.js +78 -4
  11. package/dist/core/deployment/direct-factory.js.map +1 -1
  12. package/dist/core/deployment/errors.d.ts +3 -2
  13. package/dist/core/deployment/errors.d.ts.map +1 -1
  14. package/dist/core/deployment/errors.js +20 -3
  15. package/dist/core/deployment/errors.js.map +1 -1
  16. package/dist/core/deployment/kro-artifact-binding-migration.d.ts +15 -0
  17. package/dist/core/deployment/kro-artifact-binding-migration.d.ts.map +1 -0
  18. package/dist/core/deployment/kro-artifact-binding-migration.js +181 -0
  19. package/dist/core/deployment/kro-artifact-binding-migration.js.map +1 -0
  20. package/dist/core/deployment/kro-factory.d.ts +1 -1
  21. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  22. package/dist/core/deployment/kro-factory.js +27 -34
  23. package/dist/core/deployment/kro-factory.js.map +1 -1
  24. package/dist/core/planning/compiler.d.ts.map +1 -1
  25. package/dist/core/planning/compiler.js +9 -23
  26. package/dist/core/planning/compiler.js.map +1 -1
  27. package/dist/core/planning/plan-codec.d.ts.map +1 -1
  28. package/dist/core/planning/plan-codec.js +3 -0
  29. package/dist/core/planning/plan-codec.js.map +1 -1
  30. package/dist/core/planning/types.d.ts +3 -0
  31. package/dist/core/planning/types.d.ts.map +1 -1
  32. package/dist/core/planning/values.d.ts.map +1 -1
  33. package/dist/core/planning/values.js +3 -0
  34. package/dist/core/planning/values.js.map +1 -1
  35. package/dist/core/references/cel-evaluator.d.ts +0 -5
  36. package/dist/core/references/cel-evaluator.d.ts.map +1 -1
  37. package/dist/core/references/cel-evaluator.js +7 -32
  38. package/dist/core/references/cel-evaluator.js.map +1 -1
  39. package/dist/core/references/cel-lexical-scanner.d.ts +14 -0
  40. package/dist/core/references/cel-lexical-scanner.d.ts.map +1 -0
  41. package/dist/core/references/cel-lexical-scanner.js +90 -0
  42. package/dist/core/references/cel-lexical-scanner.js.map +1 -0
  43. package/dist/core/references/cel.d.ts.map +1 -1
  44. package/dist/core/references/cel.js +5 -1
  45. package/dist/core/references/cel.js.map +1 -1
  46. package/dist/core/serialization/cel-references.d.ts.map +1 -1
  47. package/dist/core/serialization/cel-references.js +3 -1
  48. package/dist/core/serialization/cel-references.js.map +1 -1
  49. package/dist/factories/envoy-ai-gateway/compositions/gateway.d.ts +9 -0
  50. package/dist/factories/envoy-ai-gateway/compositions/gateway.d.ts.map +1 -0
  51. package/dist/factories/envoy-ai-gateway/compositions/gateway.js +773 -0
  52. package/dist/factories/envoy-ai-gateway/compositions/gateway.js.map +1 -0
  53. package/dist/factories/envoy-ai-gateway/compositions/index.d.ts +4 -0
  54. package/dist/factories/envoy-ai-gateway/compositions/index.d.ts.map +1 -0
  55. package/dist/factories/envoy-ai-gateway/compositions/index.js +4 -0
  56. package/dist/factories/envoy-ai-gateway/compositions/index.js.map +1 -0
  57. package/dist/factories/envoy-ai-gateway/compositions/platform.d.ts +70 -0
  58. package/dist/factories/envoy-ai-gateway/compositions/platform.d.ts.map +1 -0
  59. package/dist/factories/envoy-ai-gateway/compositions/platform.js +376 -0
  60. package/dist/factories/envoy-ai-gateway/compositions/platform.js.map +1 -0
  61. package/dist/factories/envoy-ai-gateway/compositions/repository.d.ts +13 -0
  62. package/dist/factories/envoy-ai-gateway/compositions/repository.d.ts.map +1 -0
  63. package/dist/factories/envoy-ai-gateway/compositions/repository.js +29 -0
  64. package/dist/factories/envoy-ai-gateway/compositions/repository.js.map +1 -0
  65. package/dist/factories/envoy-ai-gateway/constants.d.ts +18 -0
  66. package/dist/factories/envoy-ai-gateway/constants.d.ts.map +1 -0
  67. package/dist/factories/envoy-ai-gateway/constants.js +18 -0
  68. package/dist/factories/envoy-ai-gateway/constants.js.map +1 -0
  69. package/dist/factories/envoy-ai-gateway/index.d.ts +11 -0
  70. package/dist/factories/envoy-ai-gateway/index.d.ts.map +1 -0
  71. package/dist/factories/envoy-ai-gateway/index.js +11 -0
  72. package/dist/factories/envoy-ai-gateway/index.js.map +1 -0
  73. package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts +29 -0
  74. package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts.map +1 -0
  75. package/dist/factories/envoy-ai-gateway/resources/gateway.js +195 -0
  76. package/dist/factories/envoy-ai-gateway/resources/gateway.js.map +1 -0
  77. package/dist/factories/envoy-ai-gateway/resources/helm.d.ts +11 -0
  78. package/dist/factories/envoy-ai-gateway/resources/helm.d.ts.map +1 -0
  79. package/dist/factories/envoy-ai-gateway/resources/helm.js +54 -0
  80. package/dist/factories/envoy-ai-gateway/resources/helm.js.map +1 -0
  81. package/dist/factories/envoy-ai-gateway/resources/index.d.ts +3 -0
  82. package/dist/factories/envoy-ai-gateway/resources/index.d.ts.map +1 -0
  83. package/dist/factories/envoy-ai-gateway/resources/index.js +3 -0
  84. package/dist/factories/envoy-ai-gateway/resources/index.js.map +1 -0
  85. package/dist/factories/envoy-ai-gateway/types.d.ts +451 -0
  86. package/dist/factories/envoy-ai-gateway/types.d.ts.map +1 -0
  87. package/dist/factories/envoy-ai-gateway/types.js +54 -0
  88. package/dist/factories/envoy-ai-gateway/types.js.map +1 -0
  89. package/dist/factories/index.d.ts +1 -0
  90. package/dist/factories/index.d.ts.map +1 -1
  91. package/dist/factories/index.js +4 -0
  92. package/dist/factories/index.js.map +1 -1
  93. package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -1
  94. package/dist/factories/kro/resource-graph-definition.js +15 -7
  95. package/dist/factories/kro/resource-graph-definition.js.map +1 -1
  96. package/dist/factories/nats/compositions/nats-bootstrap.d.ts.map +1 -1
  97. package/dist/factories/nats/compositions/nats-bootstrap.js +15 -3
  98. package/dist/factories/nats/compositions/nats-bootstrap.js.map +1 -1
  99. package/package.json +5 -1
@@ -0,0 +1,181 @@
1
+ import { ensureError } from '../errors.js';
2
+ import { createBunCompatibleKubernetesObjectApi } from '../kubernetes/index.js';
3
+ import { KRO_ARTIFACT_BINDINGS_SPEC_FIELD } from '../planning/values.js';
4
+ const STABLE_BINDING_SCHEMA = 'map[string]map[string]string';
5
+ const MAX_CRD_PATCH_ATTEMPTS = 5;
6
+ function statusCode(error) {
7
+ const candidate = error;
8
+ return candidate.statusCode ?? candidate.code ?? candidate.body?.code;
9
+ }
10
+ async function findGeneratedCrd(api, group, kind) {
11
+ const listed = (await api.list('apiextensions.k8s.io/v1', 'CustomResourceDefinition'));
12
+ return listed.items?.find((candidate) => candidate.spec?.group === group && candidate.spec?.names?.kind === kind);
13
+ }
14
+ function propertySchema(version) {
15
+ const root = version.schema?.openAPIV3Schema?.properties;
16
+ const spec = root?.spec;
17
+ if (!spec || typeof spec !== 'object')
18
+ return undefined;
19
+ const properties = Reflect.get(spec, 'properties');
20
+ if (!properties || typeof properties !== 'object')
21
+ return undefined;
22
+ const bindings = Reflect.get(properties, KRO_ARTIFACT_BINDINGS_SPEC_FIELD);
23
+ return bindings && typeof bindings === 'object'
24
+ ? bindings
25
+ : undefined;
26
+ }
27
+ function nestedStringMapSchema() {
28
+ return {
29
+ type: 'object',
30
+ additionalProperties: {
31
+ type: 'object',
32
+ additionalProperties: { type: 'string' },
33
+ },
34
+ };
35
+ }
36
+ function isNestedStringMap(schema) {
37
+ const outer = schema.additionalProperties;
38
+ if (!outer || typeof outer !== 'object')
39
+ return false;
40
+ const inner = Reflect.get(outer, 'additionalProperties');
41
+ return (schema.type === 'object' &&
42
+ Reflect.get(outer, 'type') === 'object' &&
43
+ Boolean(inner && typeof inner === 'object' && Reflect.get(inner, 'type') === 'string'));
44
+ }
45
+ function isLegacyArtifactBindingSchema(schema) {
46
+ if (schema.type !== 'object' || schema.additionalProperties !== undefined)
47
+ return false;
48
+ const requirements = schema.properties;
49
+ if (!requirements || typeof requirements !== 'object')
50
+ return false;
51
+ return Object.values(requirements).every((requirement) => {
52
+ if (!requirement || typeof requirement !== 'object')
53
+ return false;
54
+ if (Reflect.get(requirement, 'type') !== 'object')
55
+ return false;
56
+ const outputs = Reflect.get(requirement, 'properties');
57
+ return (outputs !== undefined &&
58
+ typeof outputs === 'object' &&
59
+ Object.values(outputs).every((output) => output !== null && typeof output === 'object' && Reflect.get(output, 'type') === 'string'));
60
+ });
61
+ }
62
+ function needsRgdReconcileRetry(rgd) {
63
+ const generation = rgd.metadata?.generation;
64
+ return (typeof generation === 'number' &&
65
+ rgd.status?.conditions?.some((condition) => condition.type === 'KindReady' &&
66
+ condition.status === 'False' &&
67
+ condition.observedGeneration === generation) === true);
68
+ }
69
+ async function requestRgdReconcile(api, rgdName) {
70
+ await api.patch({
71
+ apiVersion: 'kro.run/v1alpha1',
72
+ kind: 'ResourceGraphDefinition',
73
+ metadata: {
74
+ name: rgdName,
75
+ annotations: {
76
+ 'typekro.io/artifact-binding-migration-retry': new Date().toISOString(),
77
+ },
78
+ },
79
+ }, undefined, undefined, undefined, undefined, 'application/merge-patch+json');
80
+ }
81
+ /**
82
+ * Broadens the generated CRD's released v0.32 artifact-binding schema before
83
+ * KRO sees the topology-independent RGD. KRO rejects a direct fixed-object →
84
+ * map transition as a property removal even though every existing value is
85
+ * valid under the map. Updating the CRD first is non-destructive: it only
86
+ * broadens validation and preserves the persisted nested key/value shape.
87
+ */
88
+ export async function migrateLegacyKroArtifactBindingCrd(kubeConfig, desiredResource, dependencies = {}) {
89
+ const desiredRgd = desiredResource;
90
+ if (desiredRgd.spec?.schema?.spec?.[KRO_ARTIFACT_BINDINGS_SPEC_FIELD] !== STABLE_BINDING_SCHEMA) {
91
+ return;
92
+ }
93
+ const rgdName = desiredRgd.metadata?.name;
94
+ const apiVersion = desiredRgd.spec.schema.apiVersion;
95
+ const kind = desiredRgd.spec.schema.kind;
96
+ if (!rgdName || !apiVersion || !kind)
97
+ return;
98
+ const api = dependencies.api ?? createBunCompatibleKubernetesObjectApi(kubeConfig);
99
+ let liveRgd;
100
+ try {
101
+ liveRgd = (await api.read({
102
+ apiVersion: 'kro.run/v1alpha1',
103
+ kind: 'ResourceGraphDefinition',
104
+ metadata: { name: rgdName },
105
+ }));
106
+ }
107
+ catch (error) {
108
+ if (statusCode(error) === 404)
109
+ return;
110
+ throw new Error(`Could not inspect ResourceGraphDefinition ${rgdName} before artifact-binding migration: ${ensureError(error).message}`);
111
+ }
112
+ const liveBindingSchema = liveRgd.spec?.schema?.spec?.[KRO_ARTIFACT_BINDINGS_SPEC_FIELD];
113
+ if (!liveBindingSchema)
114
+ return;
115
+ if (liveBindingSchema !== STABLE_BINDING_SCHEMA &&
116
+ (typeof liveBindingSchema !== 'object' ||
117
+ !Object.values(liveBindingSchema).every((requirement) => requirement !== null && typeof requirement === 'object'))) {
118
+ throw new Error(`Cannot safely migrate ${rgdName}: ${KRO_ARTIFACT_BINDINGS_SPEC_FIELD} is not a recognized v0.32 or stable schema`);
119
+ }
120
+ const group = desiredRgd.spec.schema.group ??
121
+ (apiVersion.includes('/') ? apiVersion.slice(0, apiVersion.lastIndexOf('/')) : undefined);
122
+ if (!group) {
123
+ throw new Error(`Cannot migrate artifact bindings for ${rgdName}: the desired RGD schema has no API group`);
124
+ }
125
+ // Put the desired RGD in place before broadening the generated CRD. If the
126
+ // legacy RGD remains live, KRO can immediately reconcile and restore its old
127
+ // topology-shaped schema between this patch and the caller's normal apply.
128
+ // Applying the desired RGD first may briefly produce KindReady=False; the CRD
129
+ // broadening below removes that incompatibility and the normal deployment
130
+ // readiness gate waits for the same generation to become ready.
131
+ await api.patch(desiredRgd, undefined, undefined, undefined, undefined, 'application/merge-patch+json');
132
+ for (let attempt = 1; attempt <= MAX_CRD_PATCH_ATTEMPTS; attempt += 1) {
133
+ const crd = await findGeneratedCrd(api, group, kind);
134
+ if (!crd?.metadata?.name || !crd.spec?.versions) {
135
+ throw new Error(`Cannot migrate artifact bindings for ${rgdName}: its generated CRD for ${group}/${kind} was not found`);
136
+ }
137
+ let changed = false;
138
+ const versions = structuredClone(crd.spec.versions);
139
+ for (const version of versions) {
140
+ const bindings = propertySchema(version);
141
+ if (!bindings || isNestedStringMap(bindings))
142
+ continue;
143
+ if (!isLegacyArtifactBindingSchema(bindings)) {
144
+ throw new Error(`Cannot safely migrate ${crd.metadata.name}: ${KRO_ARTIFACT_BINDINGS_SPEC_FIELD} is not a recognized v0.32 schema`);
145
+ }
146
+ const root = version.schema?.openAPIV3Schema?.properties;
147
+ const spec = root?.spec;
148
+ if (!spec?.properties)
149
+ continue;
150
+ spec.properties[KRO_ARTIFACT_BINDINGS_SPEC_FIELD] = nestedStringMapSchema();
151
+ changed = true;
152
+ }
153
+ if (!changed) {
154
+ if (needsRgdReconcileRetry(liveRgd)) {
155
+ await requestRgdReconcile(api, rgdName);
156
+ }
157
+ return;
158
+ }
159
+ try {
160
+ await api.patch({
161
+ apiVersion: 'apiextensions.k8s.io/v1',
162
+ kind: 'CustomResourceDefinition',
163
+ metadata: {
164
+ name: crd.metadata.name,
165
+ ...(crd.metadata.resourceVersion
166
+ ? { resourceVersion: crd.metadata.resourceVersion }
167
+ : {}),
168
+ },
169
+ spec: { versions },
170
+ }, undefined, undefined, undefined, undefined, 'application/merge-patch+json');
171
+ await requestRgdReconcile(api, rgdName);
172
+ return;
173
+ }
174
+ catch (error) {
175
+ if (statusCode(error) !== 409 || attempt === MAX_CRD_PATCH_ATTEMPTS) {
176
+ throw new Error(`Could not migrate generated CRD ${crd.metadata.name} after ${attempt} attempt${attempt === 1 ? '' : 's'}: ${ensureError(error).message}`);
177
+ }
178
+ }
179
+ }
180
+ }
181
+ //# sourceMappingURL=kro-artifact-binding-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kro-artifact-binding-migration.js","sourceRoot":"","sources":["../../../src/core/deployment/kro-artifact-binding-migration.ts"],"names":[],"mappings":"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"}
@@ -429,7 +429,6 @@ export declare class KroResourceFactoryImpl<TSpec extends KroCompatibleType, TSt
429
429
  * {@link hoistedNamespaceRefs} / {@link resourcesForRgd}.
430
430
  */
431
431
  private buildRgdManifest;
432
- private kroArtifactOutputUses;
433
432
  private buildRgdYaml;
434
433
  /**
435
434
  * Assert the emitted RGD carries NO leftover reference to a hoisted (removed)
@@ -458,6 +457,7 @@ export declare class KroResourceFactoryImpl<TSpec extends KroCompatibleType, TSt
458
457
  * not survive on an existing cluster-scoped RGD.
459
458
  */
460
459
  private addRgdSchemaStatusPruneMarkers;
460
+ private migrateLegacyArtifactBindings;
461
461
  /**
462
462
  * Ensure the ResourceGraphDefinition is deployed using DirectDeploymentEngine.
463
463
  *
@@ -1 +1 @@
1
- {"version":3,"file":"kro-factory.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/kro-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kro-factory.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/kro-factory.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ import { getComponentLogger } from '../logging/index.js';
25
25
  // alchemy bridge are injected via FactoryOptions providers (Phase 3.5)
26
26
  // instead of dynamic import() from higher layers.
27
27
  import { copyResourceMetadata, getMetadataField, getReadinessEvaluator, getResourceScope, setMetadataField, setReadinessEvaluator, setResourceId, } from '../metadata/index.js';
28
- import { assertAdapterCapabilitiesSupported, canonicalStringify, collectArtifactOutputUses, collectPlanValueSensitiveBindings, compileKroArtifactPlan, createKroArtifactBundle, decodeKroArtifactBundle, encodeKroArtifactBundle, KRO_ARTIFACT_BINDINGS_SPEC_FIELD, kroArtifactOutputField, kroArtifactPlanToGraphResources, kroArtifactPlanToInstanceResource, kroArtifactPlanToSupportingResources, kroArtifactRequirementField, lowerPlanValue, mapPlanValueSensitiveBindings, materializeKroArtifactBundleOperation, materializePlanValue, mergeKroArtifactBundleOperations, orderKroArtifactBundleOperations, planValueSensitiveBindingNames, resolveStaticYamlSensitiveBindings, schemaToIR, } from '../planning/index.js';
28
+ import { assertAdapterCapabilitiesSupported, canonicalStringify, collectArtifactOutputUses, collectPlanValueSensitiveBindings, compileKroArtifactPlan, createKroArtifactBundle, decodeKroArtifactBundle, encodeKroArtifactBundle, KRO_ARTIFACT_BINDINGS_SPEC_FIELD, kroArtifactPlanToGraphResources, kroArtifactPlanToInstanceResource, kroArtifactPlanToSupportingResources, lowerPlanValue, mapPlanValueSensitiveBindings, materializeKroArtifactBundleOperation, materializePlanValue, mergeKroArtifactBundleOperations, orderKroArtifactBundleOperations, planValueSensitiveBindingNames, resolveStaticYamlSensitiveBindings, schemaToIR, } from '../planning/index.js';
29
29
  import { createAlwaysReadyEvaluator, createCustomResourceDefinitionReadinessEvaluator, ensureReadinessEvaluator, getPortableReadinessStrategy, resolvePortableReadinessStrategy, } from '../readiness/index.js';
30
30
  import { createSchemaProxy, DeploymentMode } from '../references/index.js';
31
31
  import { runStandaloneOperation } from '../runtime/standalone-operation.js';
@@ -40,6 +40,7 @@ import { blockerForRemainingResource, createDeletionResultState, deletionTarget,
40
40
  import { DirectDeploymentEngine } from './engine.js';
41
41
  import { logHandleSnapshot } from './handle-tracing.js';
42
42
  import { isNotFoundError } from './k8s-helpers.js';
43
+ import { migrateLegacyKroArtifactBindingCrd } from './kro-artifact-binding-migration.js';
43
44
  import { assertKroInstanceSpecPreserved } from './kro-instance-admission.js';
44
45
  import { assertKroInstanceNamespaceOwnershipSafe, assertNoHoistWeakenedStatusFields, concreteActiveOwnedResources, concreteOwnedNamespaceResources, findDanglingHoistedReference, resolveConcreteMetadataValue, resolveNamespaceName, rewriteHoistedNamespaceReferences, rewriteHoistedNamespaceRefsInValue, selectHoistedNamespaces, } from './kro-instance-safety.js';
45
46
  import { decideNamespaceOwnershipCreateFirst, deleteNamespaceIfEmpty, HOISTED_NAMESPACES_ANNOTATION, listNamespacesOwnedByRgd, NAMESPACE_OWNER_ANNOTATION, parseHoistedNamespacesAnnotation, readHoistedNamespacesRecord, } from './kro-namespace-teardown.js';
@@ -205,9 +206,11 @@ async function captureKnownControllerDescendants(k8sApi, childTargets, defaultNa
205
206
  });
206
207
  }
207
208
  catch (error) {
208
- const statusCode = error.statusCode ??
209
- error.body?.code;
210
- if (statusCode === 404)
209
+ // @kubernetes/client-node 1.x's KubernetesObjectApi can expose a 404
210
+ // only through its message and a serialized `body` string. Reuse the
211
+ // shared cross-version classifier so an already-absent Job is valid
212
+ // teardown evidence rather than a false discovery failure.
213
+ if (isNotFoundError(error))
211
214
  continue;
212
215
  throw error;
213
216
  }
@@ -1450,6 +1453,12 @@ export class KroResourceFactoryImpl {
1450
1453
  operation.role === 'singleton-owner-rgd') {
1451
1454
  await member.factory.runKroPrerequisiteHook(deploymentEngine, undefined, abortSignal);
1452
1455
  await member.factory.addRgdSchemaStatusPruneMarkers(resource);
1456
+ // Keep the semantic artifact-bundle path equivalent to the legacy
1457
+ // ensureRGDDeployed() path. Existing v0.32 instances may still have a
1458
+ // topology-specific generated CRD even when the desired RGD already
1459
+ // carries the stable map schema, so this must run before the RGD is
1460
+ // applied on every resumable deploy.
1461
+ await member.factory.migrateLegacyArtifactBindings(resource);
1453
1462
  const rgdFactory = member.factory.rgdProvider ??
1454
1463
  (await import('../../factories/kro/resource-graph-definition.js'))
1455
1464
  .resourceGraphDefinition;
@@ -3339,19 +3348,7 @@ export class KroResourceFactoryImpl {
3339
3348
  }
3340
3349
  const kroSchema = generateKroSchemaFromArktype(this.name, this.schemaDefinition, aspectResources, statusMappings, nestedCel, this.factoryOptions.compositionOptions
3341
3350
  ?.schemaFieldValidations);
3342
- const artifactOutputUses = this.kroArtifactOutputUses();
3343
- if (artifactOutputUses.length > 0) {
3344
- const byRequirement = new Map();
3345
- for (const use of artifactOutputUses) {
3346
- const current = byRequirement.get(use.requirementId) ?? [];
3347
- current.push(use);
3348
- byRequirement.set(use.requirementId, current);
3349
- }
3350
- kroSchema.spec[KRO_ARTIFACT_BINDINGS_SPEC_FIELD] = Object.fromEntries([...byRequirement.entries()].map(([requirementId, uses]) => [
3351
- kroArtifactRequirementField(requirementId),
3352
- Object.fromEntries(uses.map((use) => [kroArtifactOutputField(use.output), 'string'])),
3353
- ]));
3354
- }
3351
+ kroSchema.spec[KRO_ARTIFACT_BINDINGS_SPEC_FIELD] = 'map[string]map[string]string';
3355
3352
  // Attach nested status CEL mappings as non-enumerable property so
3356
3353
  // serializeResourceGraphToYaml can inline virtual composition IDs.
3357
3354
  if (nestedCel && Object.keys(nestedCel).length > 0) {
@@ -3407,21 +3404,6 @@ export class KroResourceFactoryImpl {
3407
3404
  this.assertNoDanglingHoistedReferences(JSON.stringify(rgdManifest), new Set(hoistIds.keys()));
3408
3405
  return rgdManifest;
3409
3406
  }
3410
- kroArtifactOutputUses() {
3411
- const capture = this.factoryOptions.semanticCapture;
3412
- if (!capture)
3413
- return [];
3414
- const configuredPlan = this.factoryOptions.plan ?? {};
3415
- const plan = capture.planTemplate({
3416
- ...configuredPlan,
3417
- aspects: configuredPlan.aspects ?? this.factoryOptions.aspects ?? [],
3418
- });
3419
- return collectArtifactOutputUses({
3420
- nodes: plan.nodes,
3421
- outputs: plan.outputs,
3422
- representationRequirements: plan.representationRequirements,
3423
- });
3424
- }
3425
3407
  buildRgdYaml(spec) {
3426
3408
  return serializeResourceGraphDefinitionToYaml(this.buildRgdManifest(spec), {
3427
3409
  ...this.factoryOptions.compositionOptions,
@@ -3528,6 +3510,9 @@ export class KroResourceFactoryImpl {
3528
3510
  });
3529
3511
  }
3530
3512
  }
3513
+ async migrateLegacyArtifactBindings(rgdManifest) {
3514
+ await migrateLegacyKroArtifactBindingCrd(this.getKubeConfig(), rgdManifest);
3515
+ }
3531
3516
  /**
3532
3517
  * Ensure the ResourceGraphDefinition is deployed using DirectDeploymentEngine.
3533
3518
  *
@@ -3559,6 +3544,7 @@ export class KroResourceFactoryImpl {
3559
3544
  },
3560
3545
  };
3561
3546
  await this.addRgdSchemaStatusPruneMarkers(rgdWithMetadata);
3547
+ await this.migrateLegacyArtifactBindings(rgdWithMetadata);
3562
3548
  // Create Enhanced RGD with readiness evaluator
3563
3549
  const rgdFactory = this.rgdProvider ??
3564
3550
  (await import('../../factories/kro/resource-graph-definition.js')).resourceGraphDefinition;
@@ -4343,8 +4329,15 @@ export class KroResourceFactoryImpl {
4343
4329
  instanceNameOverride: instanceName,
4344
4330
  ...(singletonSpecFingerprint ? { singletonSpecFingerprint } : {}),
4345
4331
  });
4346
- if (!compilation)
4347
- return legacyManifest;
4332
+ if (!compilation) {
4333
+ return {
4334
+ ...legacyManifest,
4335
+ spec: {
4336
+ ...spec,
4337
+ [KRO_ARTIFACT_BINDINGS_SPEC_FIELD]: {},
4338
+ },
4339
+ };
4340
+ }
4348
4341
  return kroArtifactPlanToInstanceResource(compilation.artifacts, {
4349
4342
  sensitive: compilation.sensitiveBindings,
4350
4343
  });