typekro 0.7.0 → 0.8.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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js +16 -2
- package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
- package/dist/core/containers/build.d.ts +4 -4
- package/dist/core/containers/build.js +4 -4
- package/dist/core/containers/registries/types.d.ts +1 -1
- package/dist/core/containers/registries/types.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.d.ts +21 -0
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +42 -6
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts +8 -2
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.js +34 -2
- package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-ternary.js +52 -28
- package/dist/core/expressions/composition/composition-analyzer-ternary.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-traversal.js +11 -4
- package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts +8 -0
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer.d.ts +1 -1
- package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer.js +8 -2
- package/dist/core/expressions/composition/composition-analyzer.js.map +1 -1
- package/dist/core/references/cel.d.ts +48 -0
- package/dist/core/references/cel.d.ts.map +1 -1
- package/dist/core/references/cel.js +82 -0
- package/dist/core/references/cel.js.map +1 -1
- package/dist/core/serialization/cel-references.d.ts.map +1 -1
- package/dist/core/serialization/cel-references.js +61 -19
- package/dist/core/serialization/cel-references.js.map +1 -1
- package/dist/core/serialization/core.d.ts +6 -1
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +418 -5
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/kro-post-processing.d.ts +46 -0
- package/dist/core/serialization/kro-post-processing.d.ts.map +1 -0
- package/dist/core/serialization/kro-post-processing.js +103 -0
- package/dist/core/serialization/kro-post-processing.js.map +1 -0
- package/dist/core/serialization/schema.d.ts +61 -3
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +487 -2
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/serialization/yaml.d.ts.map +1 -1
- package/dist/core/serialization/yaml.js +22 -4
- package/dist/core/serialization/yaml.js.map +1 -1
- package/dist/core/types/serialization.d.ts +38 -0
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
- package/dist/factories/kubernetes/config/secret.js +11 -1
- package/dist/factories/kubernetes/config/secret.js.map +1 -1
- package/dist/factories/searxng/compositions/index.d.ts +2 -0
- package/dist/factories/searxng/compositions/index.d.ts.map +1 -0
- package/dist/factories/searxng/compositions/index.js +2 -0
- package/dist/factories/searxng/compositions/index.js.map +1 -0
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts +65 -0
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -0
- package/dist/factories/searxng/compositions/searxng-bootstrap.js +237 -0
- package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -0
- package/dist/factories/searxng/index.d.ts +29 -0
- package/dist/factories/searxng/index.d.ts.map +1 -0
- package/dist/factories/searxng/index.js +27 -0
- package/dist/factories/searxng/index.js.map +1 -0
- package/dist/factories/searxng/resources/index.d.ts +2 -0
- package/dist/factories/searxng/resources/index.d.ts.map +1 -0
- package/dist/factories/searxng/resources/index.js +2 -0
- package/dist/factories/searxng/resources/index.js.map +1 -0
- package/dist/factories/searxng/resources/searxng.d.ts +65 -0
- package/dist/factories/searxng/resources/searxng.d.ts.map +1 -0
- package/dist/factories/searxng/resources/searxng.js +188 -0
- package/dist/factories/searxng/resources/searxng.js.map +1 -0
- package/dist/factories/searxng/types.d.ts +126 -0
- package/dist/factories/searxng/types.d.ts.map +1 -0
- package/dist/factories/searxng/types.js +176 -0
- package/dist/factories/searxng/types.js.map +1 -0
- package/dist/factories/searxng/utils/settings-builder.d.ts +46 -0
- package/dist/factories/searxng/utils/settings-builder.d.ts.map +1 -0
- package/dist/factories/searxng/utils/settings-builder.js +52 -0
- package/dist/factories/searxng/utils/settings-builder.js.map +1 -0
- package/dist/factories/simple/config/secret.d.ts.map +1 -1
- package/dist/factories/simple/config/secret.js +28 -0
- package/dist/factories/simple/config/secret.js.map +1 -1
- package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +5 -6
- package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
- package/dist/factories/webapp/compositions/web-app-with-processing.js +5 -6
- package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
- package/package.json +5 -1
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* This module provides the main serialization functions to convert
|
|
5
5
|
* TypeScript resource definitions to Kro ResourceGraphDefinition YAML manifests.
|
|
6
6
|
*/
|
|
7
|
+
import { createCompositionContext, runWithCompositionContext } from '../composition/context.js';
|
|
7
8
|
import { createDirectResourceFactory } from '../deployment/direct-factory.js';
|
|
8
9
|
import { createKroResourceFactory } from '../deployment/kro-factory.js';
|
|
9
10
|
import { ensureError, ValidationError } from '../errors.js';
|
|
@@ -15,6 +16,7 @@ import { createExternalRefWithoutRegistration, createSchemaProxy } from '../refe
|
|
|
15
16
|
import { getKindInfo, getSemanticCandidateKinds } from '../resources/factory-registry.js';
|
|
16
17
|
import { validateResourceGraphDefinition } from '../validation/cel-validator.js';
|
|
17
18
|
import { optimizeStatusMappings } from './cel-optimizer.js';
|
|
19
|
+
import { applyTernaryConditionalsToResources } from './kro-post-processing.js';
|
|
18
20
|
import { generateKroSchemaFromArktype } from './schema.js';
|
|
19
21
|
import { runStatusAnalysisPipeline } from './status-analysis-pipeline.js';
|
|
20
22
|
import { serializeResourceGraphToYaml } from './yaml.js';
|
|
@@ -236,16 +238,86 @@ function analyzeAndConvertStatusMappings(definition, statusBuilder, schema, reso
|
|
|
236
238
|
*
|
|
237
239
|
* @internal Exported for testing only
|
|
238
240
|
*/
|
|
239
|
-
function processCompositionBodyAnalysis(statusMappings, resourcesWithKeys, analyzedStatusMappings, serializationLogger) {
|
|
241
|
+
function processCompositionBodyAnalysis(statusMappings, resourcesWithKeys, analyzedStatusMappings, serializationLogger, schemaDefinition) {
|
|
240
242
|
let compositionAnalysis = null;
|
|
241
|
-
const analysisState = { appliedToResources: false };
|
|
243
|
+
const analysisState = { appliedToResources: false, ternaryAndOmitApplied: false };
|
|
242
244
|
const originalCompositionFnForAnalysis = statusMappings
|
|
243
245
|
?.__originalCompositionFn;
|
|
244
246
|
if (originalCompositionFnForAnalysis) {
|
|
245
247
|
try {
|
|
246
248
|
const resourceIds = new Set(Object.keys(resourcesWithKeys));
|
|
247
|
-
|
|
248
|
-
|
|
249
|
+
const specJson = schemaDefinition?.spec?.json;
|
|
250
|
+
const optionalFieldNames = specJson
|
|
251
|
+
? new Set((specJson.optional ?? []).map((p) => p.key))
|
|
252
|
+
: undefined;
|
|
253
|
+
compositionAnalysis = analyzeCompositionBody(originalCompositionFnForAnalysis, resourceIds, optionalFieldNames);
|
|
254
|
+
// Differential execution to capture untaken-branch resources.
|
|
255
|
+
//
|
|
256
|
+
// When a composition uses plain JS control flow (`if (!spec.optional) { ... }`),
|
|
257
|
+
// the truthy proxy pass takes the OPPOSITE branch because `!proxy === false`,
|
|
258
|
+
// which means the resource inside the branch is never registered at runtime.
|
|
259
|
+
// We re-execute the composition with optional fields set to `undefined`
|
|
260
|
+
// (where `!undefined === true` triggers those branches) in an ISOLATED
|
|
261
|
+
// composition context and merge any resources captured there into the main
|
|
262
|
+
// resource map. The AST analyzer has already recorded the correct
|
|
263
|
+
// `includeWhen` for each such resource, and `applyAnalysisToResources`
|
|
264
|
+
// (called later during toYaml()) attaches that metadata — so the final
|
|
265
|
+
// RGD emits the resource with a CEL `has()` / `!has()` conditional
|
|
266
|
+
// derived from the composition's native `if`/`else` statements.
|
|
267
|
+
//
|
|
268
|
+
// Prerequisites: we need the schema definition to know which fields
|
|
269
|
+
// are optional (so we set them to undefined) and which are required
|
|
270
|
+
// (so we set them to a sentinel that prevents the composition from
|
|
271
|
+
// dereferencing undefined). Both runs use the same composition
|
|
272
|
+
// function, so resource IDs and factory calls are deterministic.
|
|
273
|
+
if (schemaDefinition &&
|
|
274
|
+
(compositionAnalysis.unregisteredFactories.length > 0 ||
|
|
275
|
+
collectOverridableOptionalFields(schemaDefinition, compositionAnalysis).size > 0)) {
|
|
276
|
+
const { captured, overriddenFields } = captureHybridRunResources(originalCompositionFnForAnalysis, schemaDefinition, compositionAnalysis);
|
|
277
|
+
// (a) Merge resources that exist ONLY in the hybrid run — these
|
|
278
|
+
// come from branches the proxy run didn't take (e.g., `if (!spec.x)`).
|
|
279
|
+
// The AST analyzer has already attached the appropriate includeWhen.
|
|
280
|
+
for (const [id, resource] of Object.entries(captured)) {
|
|
281
|
+
if (!resourceIds.has(id)) {
|
|
282
|
+
resourcesWithKeys[id] = resource;
|
|
283
|
+
resourceIds.add(id);
|
|
284
|
+
serializationLogger.debug('Captured resource from untaken branch', {
|
|
285
|
+
resourceId: id,
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
// (b) For resources that exist in BOTH runs, walk them in parallel
|
|
290
|
+
// and detect field-level differences. Each differing leaf becomes
|
|
291
|
+
// a CEL `has(...) ? <proxy value> : <hybrid value>` conditional
|
|
292
|
+
// applied in place on the proxy-run resource. This covers the
|
|
293
|
+
// "ternary inside a custom factory's internal transformation" case
|
|
294
|
+
// where the AST analyzer can't see the final template path, since
|
|
295
|
+
// the comparison works on the emitted resource structure directly.
|
|
296
|
+
//
|
|
297
|
+
// MUTATION SAFETY: this step replaces LEAF values (strings, numbers,
|
|
298
|
+
// KubernetesRef proxies) inside the proxy-run resources with CEL
|
|
299
|
+
// conditional strings. It runs after status analysis has captured
|
|
300
|
+
// its own references (so status builders see the pre-mutation state)
|
|
301
|
+
// and before YAML serialization (so the mutated state is what gets
|
|
302
|
+
// emitted). The tree structure is preserved; only leaves change.
|
|
303
|
+
// `processCompositionBodyAnalysis` is called exactly once per
|
|
304
|
+
// `toResourceGraph` invocation, and the walk itself is idempotent
|
|
305
|
+
// (a second pass finds `leafEquals` true for every leaf and no-ops),
|
|
306
|
+
// so multiple `toYaml()` calls on the resulting TypedResourceGraph
|
|
307
|
+
// all see a consistent final state.
|
|
308
|
+
if (overriddenFields.size > 0) {
|
|
309
|
+
for (const id of Object.keys(resourcesWithKeys)) {
|
|
310
|
+
const proxyRes = resourcesWithKeys[id];
|
|
311
|
+
const hybridRes = captured[id];
|
|
312
|
+
if (proxyRes && hybridRes) {
|
|
313
|
+
applyDifferentialFieldConditionals(proxyRes, hybridRes, overriddenFields);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
// Create stub resources for factory calls that STILL weren't registered
|
|
319
|
+
// (e.g., branches the differential run also didn't take because they
|
|
320
|
+
// required a different condition to be truthy).
|
|
249
321
|
for (const unregistered of compositionAnalysis.unregisteredFactories) {
|
|
250
322
|
if (!resourceIds.has(unregistered.resourceId)) {
|
|
251
323
|
const stub = createStubResource(unregistered.factoryName, unregistered.resourceId);
|
|
@@ -276,6 +348,335 @@ function processCompositionBodyAnalysis(statusMappings, resourcesWithKeys, analy
|
|
|
276
348
|
}
|
|
277
349
|
return { compositionAnalysis, analysisState };
|
|
278
350
|
}
|
|
351
|
+
/**
|
|
352
|
+
* Collect the top-level optional spec fields that should be overridden
|
|
353
|
+
* when running the composition for differential branch/field capture.
|
|
354
|
+
*
|
|
355
|
+
* We only override fields that the AST analyzer observed being TESTED
|
|
356
|
+
* in a condition — `if (spec.x)`, `spec.x ? a : b`, or similar.
|
|
357
|
+
* Overriding fields that the composition only READS unconditionally
|
|
358
|
+
* (e.g., `spec.server.secret_key` inside a ConfigMap's stringData) is
|
|
359
|
+
* counterproductive: it would replace those proxy references with
|
|
360
|
+
* `undefined` in the hybrid run, producing incorrect captured
|
|
361
|
+
* resources.
|
|
362
|
+
*
|
|
363
|
+
* The tested fields are extracted from the AST analyzer's recorded
|
|
364
|
+
* `includeWhen` expressions (which, after the `conditionToCel` fix,
|
|
365
|
+
* wrap bare truthiness checks with `has(...)`) by scanning for
|
|
366
|
+
* `schema.spec.<field>` paths.
|
|
367
|
+
*/
|
|
368
|
+
function collectOverridableOptionalFields(schemaDefinition, analysis) {
|
|
369
|
+
const specJson = schemaDefinition.spec.json;
|
|
370
|
+
if (!specJson)
|
|
371
|
+
return new Set();
|
|
372
|
+
const optionalFields = new Set((specJson.optional ?? []).map((p) => p.key));
|
|
373
|
+
const testedFields = new Set();
|
|
374
|
+
// Pull field names from every includeWhen condition the AST analyzer
|
|
375
|
+
// attached to a resource (including resources that were never
|
|
376
|
+
// runtime-registered because their branch wasn't taken).
|
|
377
|
+
for (const entry of analysis.resources.values()) {
|
|
378
|
+
for (const cond of entry.includeWhen) {
|
|
379
|
+
const matches = cond.expression.matchAll(/schema\.spec\.([A-Za-z_$][\w$]*)/g);
|
|
380
|
+
for (const m of matches) {
|
|
381
|
+
const field = m[1];
|
|
382
|
+
if (field && optionalFields.has(field)) {
|
|
383
|
+
testedFields.add(field);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
return testedFields;
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Re-execute the composition function in an isolated composition context
|
|
392
|
+
* with a HYBRID schema spec — the original schema proxy for most fields
|
|
393
|
+
* (so `spec.name`, `spec.server.secret_key`, etc. still produce
|
|
394
|
+
* `KubernetesRef` proxy values that serialize into CEL references) but
|
|
395
|
+
* with specific top-level optional fields overridden to `undefined` so
|
|
396
|
+
* that `if (!spec.x)`, `if (spec.x === undefined)`, and similar
|
|
397
|
+
* field-presence tests take the opposite branch from the proxy run.
|
|
398
|
+
*
|
|
399
|
+
* Used by {@link processCompositionBodyAnalysis} to capture BOTH:
|
|
400
|
+
* (a) resources registered inside branches that the main proxy run
|
|
401
|
+
* skipped because `!proxy === false`
|
|
402
|
+
* (b) resources that exist in both runs but with field-level
|
|
403
|
+
* differences caused by ternary/fallback logic that depends on
|
|
404
|
+
* the overridden fields — used for differential CEL conditional
|
|
405
|
+
* emission by {@link applyDifferentialFieldConditionals}
|
|
406
|
+
*
|
|
407
|
+
* The branches run with real proxy values for every field EXCEPT the
|
|
408
|
+
* overridden ones, so the captured resources contain the correct CEL
|
|
409
|
+
* references just like the proxy-run resources.
|
|
410
|
+
*
|
|
411
|
+
* Composition functions with external side effects will fire those
|
|
412
|
+
* effects a second time during this re-execution — see integration-skill
|
|
413
|
+
* rule #30 for the full contract.
|
|
414
|
+
*/
|
|
415
|
+
function captureHybridRunResources(compositionFn, schemaDefinition, analysis) {
|
|
416
|
+
try {
|
|
417
|
+
const overriddenFields = collectOverridableOptionalFields(schemaDefinition, analysis);
|
|
418
|
+
if (overriddenFields.size === 0)
|
|
419
|
+
return { captured: {}, overriddenFields };
|
|
420
|
+
// Build the hybrid spec: the real schema proxy (so all other field
|
|
421
|
+
// accesses produce KubernetesRef values) wrapped in a Proxy that
|
|
422
|
+
// intercepts the overridden keys and returns `undefined`. Accessing
|
|
423
|
+
// an overridden key's sub-property (e.g., `spec.secretKeyRef.name`)
|
|
424
|
+
// will throw — but that's exactly the code path the override is
|
|
425
|
+
// meant to skip, so the thrown access lives inside the `else`
|
|
426
|
+
// branch that this run intentionally does not execute.
|
|
427
|
+
const realSchema = createSchemaProxy();
|
|
428
|
+
const hybridSpec = new Proxy(realSchema.spec, {
|
|
429
|
+
get(target, prop, receiver) {
|
|
430
|
+
if (typeof prop === 'string' && overriddenFields.has(prop)) {
|
|
431
|
+
return undefined;
|
|
432
|
+
}
|
|
433
|
+
return Reflect.get(target, prop, receiver);
|
|
434
|
+
},
|
|
435
|
+
has(target, prop) {
|
|
436
|
+
if (typeof prop === 'string' && overriddenFields.has(prop)) {
|
|
437
|
+
return false;
|
|
438
|
+
}
|
|
439
|
+
return Reflect.has(target, prop);
|
|
440
|
+
},
|
|
441
|
+
});
|
|
442
|
+
const tempCtx = createCompositionContext('hybrid-capture');
|
|
443
|
+
runWithCompositionContext(tempCtx, () => {
|
|
444
|
+
compositionFn(hybridSpec);
|
|
445
|
+
});
|
|
446
|
+
return {
|
|
447
|
+
captured: tempCtx.resources,
|
|
448
|
+
overriddenFields,
|
|
449
|
+
};
|
|
450
|
+
}
|
|
451
|
+
catch {
|
|
452
|
+
// Best-effort: compositions that throw when running with a hybrid spec
|
|
453
|
+
// degrade gracefully — stub resources still cover the missing factories
|
|
454
|
+
// and the proxy-run resources are used as-is.
|
|
455
|
+
return { captured: {}, overriddenFields: new Set() };
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Walk `proxyRes` and `hybridRes` in parallel and replace any leaf value
|
|
460
|
+
* in `proxyRes` that differs from the corresponding leaf in `hybridRes`
|
|
461
|
+
* with a CEL `has(...) ? <proxy value> : <hybrid value>` conditional.
|
|
462
|
+
*
|
|
463
|
+
* This is how differential field-level branch detection works: when a
|
|
464
|
+
* composition writes `spec.x ? foo(spec.y) : bar()` at a deep nested
|
|
465
|
+
* location inside a custom factory's emitted resource, the proxy run
|
|
466
|
+
* produces one leaf and the hybrid run (with `spec.x` overridden to
|
|
467
|
+
* `undefined`) produces the other. Comparing the two resource trees
|
|
468
|
+
* field-by-field surfaces the divergence and lets us emit the correct
|
|
469
|
+
* KRO CEL conditional without needing to thread AST information through
|
|
470
|
+
* the factory's internal transformations.
|
|
471
|
+
*
|
|
472
|
+
* Assumptions and caveats:
|
|
473
|
+
* - Both resources come from the same factory call with the same
|
|
474
|
+
* resource ID, so their structures are shape-compatible.
|
|
475
|
+
* - The `overriddenFields` set drives the `has(...)` check — with a
|
|
476
|
+
* single overridden field we can emit a direct `has(schema.spec.X)`
|
|
477
|
+
* test. With multiple fields, we use the first one that appears in
|
|
478
|
+
* either leaf value; this is a heuristic, but in practice
|
|
479
|
+
* compositions rarely have multiple optional fields driving the
|
|
480
|
+
* same leaf.
|
|
481
|
+
* - Marker strings (`__KUBERNETES_REF__...__`) and CEL expressions
|
|
482
|
+
* are converted to their dollar-wrapped forms before embedding in
|
|
483
|
+
* the conditional.
|
|
484
|
+
*/
|
|
485
|
+
function applyDifferentialFieldConditionals(proxyRes, hybridRes, overriddenFields) {
|
|
486
|
+
walkAndConditionalize(proxyRes, hybridRes, overriddenFields);
|
|
487
|
+
}
|
|
488
|
+
function walkAndConditionalize(proxy, hybrid, overriddenFields) {
|
|
489
|
+
if (Array.isArray(proxy) && Array.isArray(hybrid)) {
|
|
490
|
+
const maxLen = Math.max(proxy.length, hybrid.length);
|
|
491
|
+
for (let i = 0; i < maxLen; i++) {
|
|
492
|
+
const p = proxy[i];
|
|
493
|
+
const h = hybrid[i];
|
|
494
|
+
if (i >= proxy.length) {
|
|
495
|
+
// New element added by hybrid run — copy it over.
|
|
496
|
+
proxy.push(h);
|
|
497
|
+
continue;
|
|
498
|
+
}
|
|
499
|
+
if (i >= hybrid.length) {
|
|
500
|
+
// Element removed in hybrid — leave the proxy value as-is.
|
|
501
|
+
continue;
|
|
502
|
+
}
|
|
503
|
+
if (isLeafValue(p) && isLeafValue(h)) {
|
|
504
|
+
if (!leafEquals(p, h)) {
|
|
505
|
+
proxy[i] = buildCelConditional(p, h, overriddenFields);
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
else {
|
|
509
|
+
walkAndConditionalize(p, h, overriddenFields);
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
return proxy;
|
|
513
|
+
}
|
|
514
|
+
if (isPlainObject(proxy) && isPlainObject(hybrid)) {
|
|
515
|
+
const keys = new Set([...Object.keys(proxy), ...Object.keys(hybrid)]);
|
|
516
|
+
for (const key of keys) {
|
|
517
|
+
const p = proxy[key];
|
|
518
|
+
const h = hybrid[key];
|
|
519
|
+
if (!(key in hybrid)) {
|
|
520
|
+
continue; // Proxy has it, hybrid doesn't — keep proxy value
|
|
521
|
+
}
|
|
522
|
+
if (!(key in proxy)) {
|
|
523
|
+
proxy[key] = h;
|
|
524
|
+
continue;
|
|
525
|
+
}
|
|
526
|
+
if (isLeafValue(p) && isLeafValue(h)) {
|
|
527
|
+
if (!leafEquals(p, h)) {
|
|
528
|
+
proxy[key] = buildCelConditional(p, h, overriddenFields);
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
else {
|
|
532
|
+
walkAndConditionalize(p, h, overriddenFields);
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
return proxy;
|
|
536
|
+
}
|
|
537
|
+
return proxy;
|
|
538
|
+
}
|
|
539
|
+
function isLeafValue(v) {
|
|
540
|
+
return (v === null ||
|
|
541
|
+
v === undefined ||
|
|
542
|
+
typeof v === 'string' ||
|
|
543
|
+
typeof v === 'number' ||
|
|
544
|
+
typeof v === 'boolean' ||
|
|
545
|
+
// KubernetesRef proxies register as functions (typeof fn is 'function')
|
|
546
|
+
typeof v === 'function');
|
|
547
|
+
}
|
|
548
|
+
function leafEquals(a, b) {
|
|
549
|
+
// For KubernetesRef proxies, compare their string coercions (marker tokens).
|
|
550
|
+
if (typeof a === 'function' || typeof b === 'function') {
|
|
551
|
+
return String(a) === String(b);
|
|
552
|
+
}
|
|
553
|
+
return a === b;
|
|
554
|
+
}
|
|
555
|
+
function isPlainObject(v) {
|
|
556
|
+
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* Build a CEL conditional string from two diverging leaf values.
|
|
560
|
+
*
|
|
561
|
+
* Both values may be concrete primitives, marker strings (from template
|
|
562
|
+
* literals containing proxy references), or KubernetesRef proxies. The
|
|
563
|
+
* returned string is a KRO mixed-template value like
|
|
564
|
+
* `${has(schema.spec.X) ? <proxy repr> : <hybrid repr>}` that later
|
|
565
|
+
* serialization phases treat as a final CEL expression.
|
|
566
|
+
*/
|
|
567
|
+
function buildCelConditional(proxyValue, hybridValue, overriddenFields) {
|
|
568
|
+
const field = pickConditionField(proxyValue, hybridValue, overriddenFields);
|
|
569
|
+
const proxyRepr = celValueRepr(proxyValue);
|
|
570
|
+
const hybridRepr = celValueRepr(hybridValue);
|
|
571
|
+
return `\${has(schema.spec.${field}) ? ${proxyRepr} : ${hybridRepr}}`;
|
|
572
|
+
}
|
|
573
|
+
/**
|
|
574
|
+
* Pick the "controlling" optional field for a diverging leaf. If exactly
|
|
575
|
+
* one overridden field's marker appears in either value, use that. If
|
|
576
|
+
* neither appears explicitly, default to the first field in the set —
|
|
577
|
+
* this covers the common case of a single overridden field driving the
|
|
578
|
+
* whole divergence.
|
|
579
|
+
*/
|
|
580
|
+
function pickConditionField(proxyValue, hybridValue, overriddenFields) {
|
|
581
|
+
const proxyStr = String(proxyValue);
|
|
582
|
+
const hybridStr = String(hybridValue);
|
|
583
|
+
for (const field of overriddenFields) {
|
|
584
|
+
const marker = `__KUBERNETES_REF___schema___spec.${field}`;
|
|
585
|
+
if (proxyStr.includes(marker) || hybridStr.includes(marker)) {
|
|
586
|
+
return field;
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
// Fallback: first overridden field (iteration order = insertion order).
|
|
590
|
+
// Single-field overrides are the common case so this is usually correct;
|
|
591
|
+
// the explicit-marker check above handles the multi-field case. When the
|
|
592
|
+
// fallback fires, the emitted CEL may pick the wrong `has()` condition
|
|
593
|
+
// for compositions with multiple optional fields driving the same leaf —
|
|
594
|
+
// log it at debug level so the case is diagnosable if anyone reports
|
|
595
|
+
// incorrect CEL output.
|
|
596
|
+
const fallback = overriddenFields.values().next().value ?? '';
|
|
597
|
+
getComponentLogger('serialization').debug('pickConditionField fallback: no marker matched, using first overridden field', {
|
|
598
|
+
fallbackField: fallback,
|
|
599
|
+
overriddenFields: Array.from(overriddenFields),
|
|
600
|
+
proxyValuePreview: proxyStr.slice(0, 120),
|
|
601
|
+
hybridValuePreview: hybridStr.slice(0, 120),
|
|
602
|
+
});
|
|
603
|
+
return fallback;
|
|
604
|
+
}
|
|
605
|
+
/**
|
|
606
|
+
* Convert a leaf value into its CEL expression representation.
|
|
607
|
+
*
|
|
608
|
+
* - Marker strings become `schema.spec.X` paths (bare, no `${}`)
|
|
609
|
+
* - KubernetesRef proxies become their inner CEL path
|
|
610
|
+
* - String literals become double-quoted CEL string literals (with
|
|
611
|
+
* embedded markers converted to string() concatenations so the
|
|
612
|
+
* result is valid CEL, not just a raw string)
|
|
613
|
+
* - Numbers and booleans are emitted verbatim
|
|
614
|
+
*/
|
|
615
|
+
function celValueRepr(value) {
|
|
616
|
+
if (value === null || value === undefined)
|
|
617
|
+
return '""';
|
|
618
|
+
if (typeof value === 'number' || typeof value === 'boolean')
|
|
619
|
+
return String(value);
|
|
620
|
+
if (typeof value === 'function') {
|
|
621
|
+
// KubernetesRef proxy — toString yields the marker token which we
|
|
622
|
+
// convert to a bare CEL path via the marker → CEL rules.
|
|
623
|
+
return markerStringToCelBare(String(value));
|
|
624
|
+
}
|
|
625
|
+
if (typeof value === 'string') {
|
|
626
|
+
if (value.includes('__KUBERNETES_REF_')) {
|
|
627
|
+
return markerStringToCelExpr(value);
|
|
628
|
+
}
|
|
629
|
+
// Plain string literal — escape for CEL embedding
|
|
630
|
+
return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
|
|
631
|
+
}
|
|
632
|
+
return '""';
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
635
|
+
* Convert a single-marker string (the whole string is one marker) to
|
|
636
|
+
* its bare CEL path form: `schema.spec.X` or `resources.X.field`.
|
|
637
|
+
*/
|
|
638
|
+
function markerStringToCelBare(str) {
|
|
639
|
+
const m = str.match(/^__KUBERNETES_REF_(__schema__|[^_]+)_([a-zA-Z0-9.$]+)__$/);
|
|
640
|
+
if (!m)
|
|
641
|
+
return markerStringToCelExpr(str);
|
|
642
|
+
const [, resourceId, fieldPath] = m;
|
|
643
|
+
return resourceId === '__schema__' ? `schema.${fieldPath}` : `${resourceId}.${fieldPath}`;
|
|
644
|
+
}
|
|
645
|
+
/**
|
|
646
|
+
* Convert a mixed string containing literal text and markers to a CEL
|
|
647
|
+
* concatenation expression using `string()` wrappers, suitable for
|
|
648
|
+
* embedding inside a CEL ternary.
|
|
649
|
+
*/
|
|
650
|
+
function markerStringToCelExpr(str) {
|
|
651
|
+
// Fast path: whole string is a single marker
|
|
652
|
+
const singleMatch = str.match(/^__KUBERNETES_REF_(__schema__|[^_]+)_([a-zA-Z0-9.$]+)__$/);
|
|
653
|
+
if (singleMatch) {
|
|
654
|
+
const [, resourceId, fieldPath] = singleMatch;
|
|
655
|
+
return resourceId === '__schema__' ? `schema.${fieldPath}` : `${resourceId}.${fieldPath}`;
|
|
656
|
+
}
|
|
657
|
+
// Slow path: interleave literal text and markers via CEL string concatenation
|
|
658
|
+
const parts = [];
|
|
659
|
+
let lastIndex = 0;
|
|
660
|
+
const pattern = /__KUBERNETES_REF_(__schema__|[^_]+)_([a-zA-Z0-9.$]+)__/g;
|
|
661
|
+
let m = pattern.exec(str);
|
|
662
|
+
while (m !== null) {
|
|
663
|
+
if (m.index > lastIndex) {
|
|
664
|
+
const literal = str.slice(lastIndex, m.index);
|
|
665
|
+
parts.push(`"${literal.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`);
|
|
666
|
+
}
|
|
667
|
+
const resourceId = m[1];
|
|
668
|
+
const fieldPath = m[2];
|
|
669
|
+
const celPath = resourceId === '__schema__' ? `schema.${fieldPath}` : `${resourceId}.${fieldPath}`;
|
|
670
|
+
parts.push(`string(${celPath})`);
|
|
671
|
+
lastIndex = m.index + m[0].length;
|
|
672
|
+
m = pattern.exec(str);
|
|
673
|
+
}
|
|
674
|
+
if (lastIndex < str.length) {
|
|
675
|
+
const literal = str.slice(lastIndex);
|
|
676
|
+
parts.push(`"${literal.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`);
|
|
677
|
+
}
|
|
678
|
+
return parts.length === 1 ? parts[0] : parts.join(' + ');
|
|
679
|
+
}
|
|
279
680
|
// =============================================================================
|
|
280
681
|
// Extracted helper: Direct factory status re-analysis
|
|
281
682
|
// =============================================================================
|
|
@@ -436,7 +837,7 @@ function createTypedResourceGraph(definition, resourceBuilder, statusBuilder, op
|
|
|
436
837
|
// 3. Analyze status builder and convert JS expressions to CEL
|
|
437
838
|
const { statusMappings, analyzedStatusMappings, mappingAnalysis, phaseBStatusMappings } = analyzeAndConvertStatusMappings(definition, statusBuilder, schema, resourcesWithKeys, serializationLogger);
|
|
438
839
|
// 4. Analyze composition body for control flow patterns (must run before validation)
|
|
439
|
-
const { compositionAnalysis, analysisState } = processCompositionBodyAnalysis(statusMappings, resourcesWithKeys, analyzedStatusMappings, serializationLogger);
|
|
840
|
+
const { compositionAnalysis, analysisState } = processCompositionBodyAnalysis(statusMappings, resourcesWithKeys, analyzedStatusMappings, serializationLogger, schemaDefinition);
|
|
440
841
|
// 5. Validate resource IDs and CEL expressions
|
|
441
842
|
const validation = validateResourceGraphDefinition(resourcesWithKeys, analyzedStatusMappings);
|
|
442
843
|
if (!validation.isValid) {
|
|
@@ -545,6 +946,18 @@ function createTypedResourceGraph(definition, resourceBuilder, statusBuilder, op
|
|
|
545
946
|
kroSchema.status[override.propertyPath] = yamlSafe;
|
|
546
947
|
}
|
|
547
948
|
}
|
|
949
|
+
// Apply ternary conditionals (once only — guard prevents
|
|
950
|
+
// double-processing if toYaml() is called multiple times).
|
|
951
|
+
// Note: omit() wrapping for optional fields is no longer a
|
|
952
|
+
// post-processing step — it's applied inline during ref-to-CEL
|
|
953
|
+
// conversion via `SerializationContext.omitFields`, which reads
|
|
954
|
+
// from `kroSchema.__omitFields` inside `serializeResourceGraphToYaml`.
|
|
955
|
+
if (!analysisState.ternaryAndOmitApplied) {
|
|
956
|
+
analysisState.ternaryAndOmitApplied = true;
|
|
957
|
+
if (kroSchema.__ternaryConditionals?.length) {
|
|
958
|
+
applyTernaryConditionalsToResources(resourcesWithKeys, kroSchema.__ternaryConditionals);
|
|
959
|
+
}
|
|
960
|
+
}
|
|
548
961
|
return serializeResourceGraphToYaml(definition.name, resourcesWithKeys, options, kroSchema);
|
|
549
962
|
},
|
|
550
963
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/core/serialization/core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/core/serialization/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KRO YAML Post-Processing Utilities
|
|
3
|
+
*
|
|
4
|
+
* Shared helpers for applying ternary conditionals to resource data before
|
|
5
|
+
* YAML serialization. Used by both the toResourceGraph pipeline (core.ts)
|
|
6
|
+
* and the KRO factory deployment path (kro-factory.ts).
|
|
7
|
+
*
|
|
8
|
+
* Extracted to avoid circular dependencies between core.ts and kro-factory.ts.
|
|
9
|
+
*
|
|
10
|
+
* Note: KRO 0.9+ omit() wrapping for optional fields is NOT in this module —
|
|
11
|
+
* it's applied inline during ref-to-CEL conversion via
|
|
12
|
+
* `SerializationContext.omitFields` in `cel-references.ts`. That keeps
|
|
13
|
+
* `has() ? ... : omit()` generation as a structured operation on
|
|
14
|
+
* KubernetesRef objects instead of a post-hoc regex rewrite of the
|
|
15
|
+
* serialized YAML string.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Apply ternary conditionals to resource data by replacing raw marker sections
|
|
19
|
+
* with CEL conditional expressions. This runs BEFORE processResourceReferences
|
|
20
|
+
* so that the markers within the truthy branch get converted to mixed-template
|
|
21
|
+
* CEL format by the normal pipeline.
|
|
22
|
+
*
|
|
23
|
+
* For `spec.redisUrl ? \`redis:\n url: ${spec.redisUrl}\` : ''`, the raw
|
|
24
|
+
* settings.yml string contains the redis section with a __KUBERNETES_REF__
|
|
25
|
+
* marker. This function replaces that section with a CEL conditional that
|
|
26
|
+
* processResourceReferences will then convert to the final mixed-template form.
|
|
27
|
+
*
|
|
28
|
+
* FRAGILE: operates on raw string values inside resource data by substring
|
|
29
|
+
* matching. The `proxySection` must be byte-identical to what was extracted
|
|
30
|
+
* by `extractTernaryConditionals` in schema.ts — meaning the composition's
|
|
31
|
+
* string construction (typically a template literal) and the re-execution
|
|
32
|
+
* pass both need to produce the same newline/indentation layout. If a
|
|
33
|
+
* composition author post-processes the settings string, interpolates it
|
|
34
|
+
* through another templating layer, or if the extraction heuristic in
|
|
35
|
+
* schema.ts is updated to include/exclude different surrounding context,
|
|
36
|
+
* the match will fail silently and the ternary will not be applied.
|
|
37
|
+
*
|
|
38
|
+
* Tracked for replacement with AST-based detection in
|
|
39
|
+
* https://github.com/yehudacohen/typekro/issues/57
|
|
40
|
+
*/
|
|
41
|
+
export declare function applyTernaryConditionalsToResources(resources: Record<string, unknown>, conditionals: Array<{
|
|
42
|
+
proxySection: string;
|
|
43
|
+
falsyValue: string;
|
|
44
|
+
conditionField: string;
|
|
45
|
+
}>): void;
|
|
46
|
+
//# sourceMappingURL=kro-post-processing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kro-post-processing.d.ts","sourceRoot":"","sources":["../../../src/core/serialization/kro-post-processing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mCAAmC,CACjD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,YAAY,EAAE,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,GACxF,IAAI,CA4BN"}
|