typekro 0.8.0 → 0.10.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/alchemy/deployers.d.ts +16 -1
- package/dist/alchemy/deployers.d.ts.map +1 -1
- package/dist/alchemy/deployers.js +131 -18
- package/dist/alchemy/deployers.js.map +1 -1
- package/dist/alchemy/deployment.d.ts +1 -1
- package/dist/alchemy/deployment.d.ts.map +1 -1
- package/dist/alchemy/deployment.js +1 -1
- package/dist/alchemy/deployment.js.map +1 -1
- package/dist/alchemy/kro-delete.d.ts +66 -0
- package/dist/alchemy/kro-delete.d.ts.map +1 -0
- package/dist/alchemy/kro-delete.js +183 -0
- package/dist/alchemy/kro-delete.js.map +1 -0
- package/dist/alchemy/resource-registration.d.ts +16 -0
- package/dist/alchemy/resource-registration.d.ts.map +1 -1
- package/dist/alchemy/resource-registration.js +138 -24
- package/dist/alchemy/resource-registration.js.map +1 -1
- package/dist/alchemy/types.d.ts +8 -4
- package/dist/alchemy/types.d.ts.map +1 -1
- package/dist/aspects.d.ts +3 -0
- package/dist/aspects.d.ts.map +1 -0
- package/dist/aspects.js +2 -0
- package/dist/aspects.js.map +1 -0
- 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 +27 -9
- package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
- package/dist/core/aspects/apply.d.ts +30 -0
- package/dist/core/aspects/apply.d.ts.map +1 -0
- package/dist/core/aspects/apply.js +369 -0
- package/dist/core/aspects/apply.js.map +1 -0
- package/dist/core/aspects/dev-aspects.d.ts +14 -0
- package/dist/core/aspects/dev-aspects.d.ts.map +1 -0
- package/dist/core/aspects/dev-aspects.js +70 -0
- package/dist/core/aspects/dev-aspects.js.map +1 -0
- package/dist/core/aspects/index.d.ts +31 -0
- package/dist/core/aspects/index.d.ts.map +1 -0
- package/dist/core/aspects/index.js +30 -0
- package/dist/core/aspects/index.js.map +1 -0
- package/dist/core/aspects/metadata-aspects.d.ts +12 -0
- package/dist/core/aspects/metadata-aspects.d.ts.map +1 -0
- package/dist/core/aspects/metadata-aspects.js +24 -0
- package/dist/core/aspects/metadata-aspects.js.map +1 -0
- package/dist/core/aspects/metadata.d.ts +16 -0
- package/dist/core/aspects/metadata.d.ts.map +1 -0
- package/dist/core/aspects/metadata.js +24 -0
- package/dist/core/aspects/metadata.js.map +1 -0
- package/dist/core/aspects/primitives.d.ts +23 -0
- package/dist/core/aspects/primitives.d.ts.map +1 -0
- package/dist/core/aspects/primitives.js +258 -0
- package/dist/core/aspects/primitives.js.map +1 -0
- package/dist/core/aspects/targets.d.ts +9 -0
- package/dist/core/aspects/targets.d.ts.map +1 -0
- package/dist/core/aspects/targets.js +23 -0
- package/dist/core/aspects/targets.js.map +1 -0
- package/dist/core/aspects/types.d.ts +361 -0
- package/dist/core/aspects/types.d.ts.map +1 -0
- package/dist/core/aspects/types.js +16 -0
- package/dist/core/aspects/types.js.map +1 -0
- package/dist/core/aspects/workload-aspects.d.ts +17 -0
- package/dist/core/aspects/workload-aspects.d.ts.map +1 -0
- package/dist/core/aspects/workload-aspects.js +40 -0
- package/dist/core/aspects/workload-aspects.js.map +1 -0
- package/dist/core/composition/context.d.ts +58 -2
- package/dist/core/composition/context.d.ts.map +1 -1
- package/dist/core/composition/context.js +4 -0
- package/dist/core/composition/context.js.map +1 -1
- package/dist/core/composition/imperative.d.ts +9 -0
- package/dist/core/composition/imperative.d.ts.map +1 -1
- package/dist/core/composition/imperative.js +538 -54
- package/dist/core/composition/imperative.js.map +1 -1
- package/dist/core/composition/nested-status-cel.d.ts +34 -1
- package/dist/core/composition/nested-status-cel.d.ts.map +1 -1
- package/dist/core/composition/nested-status-cel.js +379 -41
- package/dist/core/composition/nested-status-cel.js.map +1 -1
- package/dist/core/composition-debugger.d.ts +1 -1
- package/dist/core/composition-debugger.d.ts.map +1 -1
- package/dist/core/composition-debugger.js.map +1 -1
- package/dist/core/constants/brands.d.ts +1 -1
- package/dist/core/constants/brands.d.ts.map +1 -1
- package/dist/core/constants/brands.js +1 -1
- package/dist/core/constants/brands.js.map +1 -1
- package/dist/core/containers/build.d.ts.map +1 -1
- package/dist/core/containers/build.js +40 -12
- package/dist/core/containers/build.js.map +1 -1
- package/dist/core/dependencies/resolver.d.ts +19 -0
- package/dist/core/dependencies/resolver.d.ts.map +1 -1
- package/dist/core/dependencies/resolver.js +261 -1
- package/dist/core/dependencies/resolver.js.map +1 -1
- package/dist/core/deployment/client-provider-manager.d.ts +9 -3
- package/dist/core/deployment/client-provider-manager.d.ts.map +1 -1
- package/dist/core/deployment/client-provider-manager.js +12 -0
- package/dist/core/deployment/client-provider-manager.js.map +1 -1
- package/dist/core/deployment/crd-manager.d.ts +24 -0
- package/dist/core/deployment/crd-manager.d.ts.map +1 -1
- package/dist/core/deployment/crd-manager.js +79 -1
- package/dist/core/deployment/crd-manager.js.map +1 -1
- package/dist/core/deployment/deployment-state-discovery.d.ts +116 -0
- package/dist/core/deployment/deployment-state-discovery.d.ts.map +1 -0
- package/dist/core/deployment/deployment-state-discovery.js +400 -0
- package/dist/core/deployment/deployment-state-discovery.js.map +1 -0
- package/dist/core/deployment/direct-factory.d.ts +65 -6
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +584 -62
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +64 -3
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +194 -27
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/deployment/event-filter.js +1 -1
- package/dist/core/deployment/event-filter.js.map +1 -1
- package/dist/core/deployment/event-monitor.d.ts +11 -0
- package/dist/core/deployment/event-monitor.d.ts.map +1 -1
- package/dist/core/deployment/event-monitor.js +14 -0
- package/dist/core/deployment/event-monitor.js.map +1 -1
- package/dist/core/deployment/handle-tracing.d.ts +14 -0
- package/dist/core/deployment/handle-tracing.d.ts.map +1 -0
- package/dist/core/deployment/handle-tracing.js +38 -0
- package/dist/core/deployment/handle-tracing.js.map +1 -0
- package/dist/core/deployment/kro-factory.d.ts +115 -3
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +922 -278
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
- package/dist/core/deployment/kro-readiness.js +21 -12
- package/dist/core/deployment/kro-readiness.js.map +1 -1
- package/dist/core/deployment/nested-composition-status.d.ts +1 -1
- package/dist/core/deployment/nested-composition-status.d.ts.map +1 -1
- package/dist/core/deployment/nested-composition-status.js +96 -53
- package/dist/core/deployment/nested-composition-status.js.map +1 -1
- package/dist/core/deployment/resource-applier.d.ts +15 -2
- package/dist/core/deployment/resource-applier.d.ts.map +1 -1
- package/dist/core/deployment/resource-applier.js +75 -25
- package/dist/core/deployment/resource-applier.js.map +1 -1
- package/dist/core/deployment/resource-tagging.d.ts +220 -0
- package/dist/core/deployment/resource-tagging.d.ts.map +1 -0
- package/dist/core/deployment/resource-tagging.js +292 -0
- package/dist/core/deployment/resource-tagging.js.map +1 -0
- package/dist/core/deployment/rollback-manager.d.ts +25 -4
- package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
- package/dist/core/deployment/rollback-manager.js +70 -57
- package/dist/core/deployment/rollback-manager.js.map +1 -1
- package/dist/core/deployment/shared-utilities.d.ts +6 -0
- package/dist/core/deployment/shared-utilities.d.ts.map +1 -1
- package/dist/core/deployment/shared-utilities.js +32 -2
- package/dist/core/deployment/shared-utilities.js.map +1 -1
- package/dist/core/deployment/singleton-owner-drift.d.ts +16 -0
- package/dist/core/deployment/singleton-owner-drift.d.ts.map +1 -0
- package/dist/core/deployment/singleton-owner-drift.js +54 -0
- package/dist/core/deployment/singleton-owner-drift.js.map +1 -0
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts +3 -1
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/alchemy-strategy.js +121 -18
- package/dist/core/deployment/strategies/alchemy-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.d.ts +9 -3
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.js +32 -4
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.d.ts +12 -4
- package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.js +112 -8
- package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
- package/dist/core/errors.d.ts +2 -2
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/core/expressions/analysis/cache.d.ts +2 -2
- package/dist/core/expressions/analysis/cache.d.ts.map +1 -1
- package/dist/core/expressions/analysis/cache.js +4 -0
- package/dist/core/expressions/analysis/cache.js.map +1 -1
- package/dist/core/expressions/analysis/fn-toString-self-test.d.ts.map +1 -1
- package/dist/core/expressions/analysis/fn-toString-self-test.js +0 -1
- package/dist/core/expressions/analysis/fn-toString-self-test.js.map +1 -1
- package/dist/core/expressions/analysis/shared-types.d.ts +2 -2
- package/dist/core/expressions/analysis/shared-types.d.ts.map +1 -1
- package/dist/core/expressions/analysis/source-map.d.ts.map +1 -1
- package/dist/core/expressions/analysis/source-map.js +1 -0
- package/dist/core/expressions/analysis/source-map.js.map +1 -1
- package/dist/core/expressions/analysis/types.d.ts +7 -7
- package/dist/core/expressions/analysis/types.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts +29 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.js +348 -17
- package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts +2 -2
- package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-ternary.js +221 -10
- 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 +67 -2
- package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts +52 -0
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer.js +150 -6
- package/dist/core/expressions/composition/composition-analyzer.js.map +1 -1
- package/dist/core/expressions/composition/expression-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/composition/expression-analyzer.js +21 -4
- package/dist/core/expressions/composition/expression-analyzer.js.map +1 -1
- package/dist/core/expressions/composition/imperative-analyzer.d.ts +1 -1
- package/dist/core/expressions/composition/imperative-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/composition/imperative-analyzer.js +31 -7
- package/dist/core/expressions/composition/imperative-analyzer.js.map +1 -1
- package/dist/core/expressions/composition/scope-manager.d.ts +2 -2
- package/dist/core/expressions/composition/scope-manager.d.ts.map +1 -1
- package/dist/core/expressions/composition/scope-manager.js.map +1 -1
- package/dist/core/expressions/conditional/conditional-expression-processor.d.ts +3 -3
- package/dist/core/expressions/conditional/conditional-expression-processor.d.ts.map +1 -1
- package/dist/core/expressions/conditional/conditional-expression-processor.js.map +1 -1
- package/dist/core/expressions/conditional/conditional-integration.d.ts.map +1 -1
- package/dist/core/expressions/conditional/conditional-integration.js.map +1 -1
- package/dist/core/expressions/context/context-aware-generator.d.ts +5 -5
- package/dist/core/expressions/context/context-aware-generator.d.ts.map +1 -1
- package/dist/core/expressions/context/context-aware-generator.js.map +1 -1
- package/dist/core/expressions/context/context-detector.d.ts +3 -3
- package/dist/core/expressions/context/context-detector.d.ts.map +1 -1
- package/dist/core/expressions/context/context-detector.js.map +1 -1
- package/dist/core/expressions/context/context-validator.d.ts +6 -6
- package/dist/core/expressions/context/context-validator.d.ts.map +1 -1
- package/dist/core/expressions/context/context-validator.js +2 -2
- package/dist/core/expressions/context/context-validator.js.map +1 -1
- package/dist/core/expressions/factory/cel-conversion-engine.d.ts +4 -4
- package/dist/core/expressions/factory/cel-conversion-engine.d.ts.map +1 -1
- package/dist/core/expressions/factory/cel-conversion-engine.js.map +1 -1
- package/dist/core/expressions/factory/dependency-tracker.d.ts +2 -2
- package/dist/core/expressions/factory/dependency-tracker.d.ts.map +1 -1
- package/dist/core/expressions/factory/dependency-tracker.js +21 -5
- package/dist/core/expressions/factory/dependency-tracker.js.map +1 -1
- package/dist/core/expressions/factory/factory-integration.d.ts +2 -4
- package/dist/core/expressions/factory/factory-integration.d.ts.map +1 -1
- package/dist/core/expressions/factory/factory-integration.js +0 -6
- package/dist/core/expressions/factory/factory-integration.js.map +1 -1
- package/dist/core/expressions/factory/factory-pattern-handler.d.ts +3 -3
- package/dist/core/expressions/factory/factory-pattern-handler.d.ts.map +1 -1
- package/dist/core/expressions/factory/factory-pattern-handler.js +1 -0
- package/dist/core/expressions/factory/factory-pattern-handler.js.map +1 -1
- package/dist/core/expressions/factory/migration-helpers.js.map +1 -1
- package/dist/core/expressions/factory/resource-analyzer.d.ts +4 -4
- package/dist/core/expressions/factory/resource-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/factory/resource-analyzer.js.map +1 -1
- package/dist/core/expressions/factory/resource-type-validator.d.ts +5 -5
- package/dist/core/expressions/factory/resource-type-validator.d.ts.map +1 -1
- package/dist/core/expressions/factory/resource-type-validator.js.map +1 -1
- package/dist/core/expressions/factory/status-builder-analyzer.d.ts +6 -7
- package/dist/core/expressions/factory/status-builder-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/factory/status-builder-analyzer.js +0 -3
- package/dist/core/expressions/factory/status-builder-analyzer.js.map +1 -1
- package/dist/core/expressions/factory/status-builder-types.d.ts +1 -1
- package/dist/core/expressions/factory/status-builder-types.d.ts.map +1 -1
- package/dist/core/expressions/factory/status-cel-generation.d.ts +1 -1
- package/dist/core/expressions/factory/status-cel-generation.d.ts.map +1 -1
- package/dist/core/expressions/factory/status-cel-generation.js +1 -1
- package/dist/core/expressions/factory/status-cel-generation.js.map +1 -1
- package/dist/core/expressions/factory/status-field-analysis.d.ts +3 -3
- package/dist/core/expressions/factory/status-field-analysis.d.ts.map +1 -1
- package/dist/core/expressions/factory/status-field-analysis.js.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.d.ts +5 -5
- package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.js +1 -1
- package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.js.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.d.ts +10 -10
- package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.js +5 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.js.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts +2 -2
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.js.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-detector.d.ts +5 -5
- package/dist/core/expressions/magic-proxy/magic-proxy-detector.d.ts.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-detector.js.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts +2 -2
- package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts.map +1 -1
- package/dist/core/expressions/magic-proxy/optionality-handler.d.ts +1 -2
- package/dist/core/expressions/magic-proxy/optionality-handler.d.ts.map +1 -1
- package/dist/core/expressions/magic-proxy/optionality-handler.js +2 -15
- package/dist/core/expressions/magic-proxy/optionality-handler.js.map +1 -1
- package/dist/core/expressions/validation/compile-time-checker.d.ts +1 -1
- package/dist/core/expressions/validation/compile-time-checker.d.ts.map +1 -1
- package/dist/core/expressions/validation/compile-time-checker.js.map +1 -1
- package/dist/core/expressions/validation/compile-time-types.d.ts +2 -2
- package/dist/core/expressions/validation/compile-time-types.d.ts.map +1 -1
- package/dist/core/expressions/validation/kubernetes-field-types.d.ts +4 -4
- package/dist/core/expressions/validation/kubernetes-field-types.d.ts.map +1 -1
- package/dist/core/expressions/validation/kubernetes-field-types.js.map +1 -1
- package/dist/core/expressions/validation/resource-field-utils.d.ts +10 -10
- package/dist/core/expressions/validation/resource-field-utils.d.ts.map +1 -1
- package/dist/core/expressions/validation/resource-field-utils.js.map +1 -1
- package/dist/core/expressions/validation/resource-validation.d.ts +3 -3
- package/dist/core/expressions/validation/resource-validation.d.ts.map +1 -1
- package/dist/core/expressions/validation/resource-validation.js.map +1 -1
- package/dist/core/expressions/validation/type-inference-types.d.ts +2 -2
- package/dist/core/expressions/validation/type-inference-types.d.ts.map +1 -1
- package/dist/core/expressions/validation/type-safety.d.ts +2 -2
- package/dist/core/expressions/validation/type-safety.d.ts.map +1 -1
- package/dist/core/expressions/validation/type-safety.js +1 -0
- package/dist/core/expressions/validation/type-safety.js.map +1 -1
- package/dist/core/kubernetes/bun-api-client.js.map +1 -1
- package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -1
- package/dist/core/kubernetes/bun-http-library.js +29 -3
- package/dist/core/kubernetes/bun-http-library.js.map +1 -1
- package/dist/core/kubernetes/client-provider.d.ts +12 -0
- package/dist/core/kubernetes/client-provider.d.ts.map +1 -1
- package/dist/core/kubernetes/client-provider.js +35 -0
- package/dist/core/kubernetes/client-provider.js.map +1 -1
- package/dist/core/metadata/resource-metadata.d.ts +49 -1
- package/dist/core/metadata/resource-metadata.d.ts.map +1 -1
- package/dist/core/metadata/resource-metadata.js.map +1 -1
- package/dist/core/proxy/create-resource.d.ts +15 -0
- package/dist/core/proxy/create-resource.d.ts.map +1 -1
- package/dist/core/proxy/create-resource.js +79 -2
- package/dist/core/proxy/create-resource.js.map +1 -1
- package/dist/core/readiness/registry.js +2 -2
- package/dist/core/readiness/registry.js.map +1 -1
- package/dist/core/references/cel-evaluator.d.ts +1 -4
- package/dist/core/references/cel-evaluator.d.ts.map +1 -1
- package/dist/core/references/cel-evaluator.js +3 -7
- package/dist/core/references/cel-evaluator.js.map +1 -1
- package/dist/core/references/cel.d.ts +22 -0
- package/dist/core/references/cel.d.ts.map +1 -1
- package/dist/core/references/cel.js +106 -8
- package/dist/core/references/cel.js.map +1 -1
- package/dist/core/references/external-refs.d.ts.map +1 -1
- package/dist/core/references/external-refs.js +3 -0
- package/dist/core/references/external-refs.js.map +1 -1
- package/dist/core/references/resolver.d.ts.map +1 -1
- package/dist/core/references/resolver.js +28 -17
- package/dist/core/references/resolver.js.map +1 -1
- package/dist/core/references/schema-proxy.d.ts +18 -10
- package/dist/core/references/schema-proxy.d.ts.map +1 -1
- package/dist/core/references/schema-proxy.js +174 -23
- package/dist/core/references/schema-proxy.js.map +1 -1
- package/dist/core/runtime-patches/crd-schema-fix.d.ts.map +1 -1
- package/dist/core/runtime-patches/crd-schema-fix.js +4 -1
- package/dist/core/runtime-patches/crd-schema-fix.js.map +1 -1
- package/dist/core/serialization/cel-optimizer.d.ts.map +1 -1
- package/dist/core/serialization/cel-optimizer.js +2 -0
- package/dist/core/serialization/cel-optimizer.js.map +1 -1
- package/dist/core/serialization/cel-references.d.ts +75 -1
- package/dist/core/serialization/cel-references.d.ts.map +1 -1
- package/dist/core/serialization/cel-references.js +692 -156
- package/dist/core/serialization/cel-references.js.map +1 -1
- package/dist/core/serialization/core.d.ts +8 -8
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +672 -90
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/kro-post-processing.d.ts +1 -1
- package/dist/core/serialization/kro-post-processing.d.ts.map +1 -1
- package/dist/core/serialization/kro-post-processing.js +69 -22
- package/dist/core/serialization/kro-post-processing.js.map +1 -1
- package/dist/core/serialization/schema.d.ts +1 -0
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +378 -50
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/serialization/status-analysis-pipeline.d.ts +1 -1
- package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -1
- package/dist/core/serialization/status-analysis-pipeline.js.map +1 -1
- package/dist/core/serialization/yaml.d.ts +3 -2
- package/dist/core/serialization/yaml.d.ts.map +1 -1
- package/dist/core/serialization/yaml.js +385 -55
- package/dist/core/serialization/yaml.js.map +1 -1
- package/dist/core/singleton/singleton.d.ts +16 -0
- package/dist/core/singleton/singleton.d.ts.map +1 -0
- package/dist/core/singleton/singleton.js +135 -0
- package/dist/core/singleton/singleton.js.map +1 -0
- package/dist/core/types/common.d.ts +2 -2
- package/dist/core/types/common.d.ts.map +1 -1
- package/dist/core/types/composable.d.ts +1 -1
- package/dist/core/types/composable.d.ts.map +1 -1
- package/dist/core/types/deployment.d.ts +129 -9
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/core/types/deployment.js +1 -1
- package/dist/core/types/deployment.js.map +1 -1
- package/dist/core/types/kubernetes.d.ts +25 -17
- package/dist/core/types/kubernetes.d.ts.map +1 -1
- package/dist/core/types/references.d.ts +1 -1
- package/dist/core/types/references.d.ts.map +1 -1
- package/dist/core/types/references.js.map +1 -1
- package/dist/core/types/resource-graph.d.ts +2 -1
- package/dist/core/types/resource-graph.d.ts.map +1 -1
- package/dist/core/types/schema.d.ts +1 -1
- package/dist/core/types/schema.d.ts.map +1 -1
- package/dist/core/types/serialization.d.ts +24 -6
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.d.ts +15 -2
- package/dist/core/validation/cel-validator.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.js +144 -63
- package/dist/core/validation/cel-validator.js.map +1 -1
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts +2 -41
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -1
- package/dist/factories/apisix/compositions/apisix-bootstrap.js +262 -217
- package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -1
- package/dist/factories/apisix/index.d.ts +2 -2
- package/dist/factories/apisix/index.js +2 -2
- package/dist/factories/apisix/resources/helm.d.ts +2 -2
- package/dist/factories/apisix/resources/helm.d.ts.map +1 -1
- package/dist/factories/apisix/resources/helm.js.map +1 -1
- package/dist/factories/apisix/types.d.ts +21 -11
- package/dist/factories/apisix/types.d.ts.map +1 -1
- package/dist/factories/apisix/types.js +106 -4
- package/dist/factories/apisix/types.js.map +1 -1
- package/dist/factories/apisix/utils/admin-credentials.d.ts +5 -3
- package/dist/factories/apisix/utils/admin-credentials.d.ts.map +1 -1
- package/dist/factories/apisix/utils/admin-credentials.js +14 -10
- package/dist/factories/apisix/utils/admin-credentials.js.map +1 -1
- package/dist/factories/apisix/utils/helm-values-mapper.d.ts.map +1 -1
- package/dist/factories/apisix/utils/helm-values-mapper.js +4 -2
- package/dist/factories/apisix/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/cert-manager/resources/challenges.js.map +1 -1
- package/dist/factories/cert-manager/types.d.ts +3 -3
- package/dist/factories/cert-manager/types.d.ts.map +1 -1
- package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts +4 -4
- package/dist/factories/cilium/types.d.ts +3 -3
- package/dist/factories/cilium/types.d.ts.map +1 -1
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +1 -0
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts.map +1 -1
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +48 -0
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.js.map +1 -1
- package/dist/factories/cnpg/resources/cluster.js +1 -1
- package/dist/factories/cnpg/resources/cluster.js.map +1 -1
- package/dist/factories/cnpg/resources/helm.d.ts.map +1 -1
- package/dist/factories/cnpg/resources/helm.js +1 -0
- package/dist/factories/cnpg/resources/helm.js.map +1 -1
- package/dist/factories/cnpg/resources/pooler.js +1 -1
- package/dist/factories/cnpg/resources/pooler.js.map +1 -1
- package/dist/factories/cnpg/types.d.ts +9 -8
- package/dist/factories/cnpg/types.d.ts.map +1 -1
- package/dist/factories/cnpg/types.js +11 -0
- package/dist/factories/cnpg/types.js.map +1 -1
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts.map +1 -1
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.js +153 -41
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.js.map +1 -1
- package/dist/factories/external-dns/resources/dns-endpoint.js +1 -1
- package/dist/factories/external-dns/resources/dns-endpoint.js.map +1 -1
- package/dist/factories/external-dns/resources/helm.d.ts +1 -1
- package/dist/factories/external-dns/resources/helm.d.ts.map +1 -1
- package/dist/factories/external-dns/resources/helm.js +17 -10
- package/dist/factories/external-dns/resources/helm.js.map +1 -1
- package/dist/factories/external-dns/types.d.ts +5 -2
- package/dist/factories/external-dns/types.d.ts.map +1 -1
- package/dist/factories/external-dns/types.js.map +1 -1
- package/dist/factories/flux/git-repository.d.ts.map +1 -1
- package/dist/factories/flux/git-repository.js +1 -1
- package/dist/factories/flux/git-repository.js.map +1 -1
- package/dist/factories/flux/kustomize/kustomization.d.ts +2 -2
- package/dist/factories/flux/kustomize/kustomization.d.ts.map +1 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.d.ts +1 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.js +1 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/helm-release.d.ts +3 -2
- package/dist/factories/helm/helm-release.d.ts.map +1 -1
- package/dist/factories/helm/helm-release.js +1 -0
- package/dist/factories/helm/helm-release.js.map +1 -1
- package/dist/factories/helm/helm-repository.d.ts +1 -1
- package/dist/factories/helm/helm-repository.d.ts.map +1 -1
- package/dist/factories/helm/helm-repository.js +6 -4
- package/dist/factories/helm/helm-repository.js.map +1 -1
- package/dist/factories/helm/readiness-evaluators.d.ts +6 -6
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/helm/readiness-evaluators.js +15 -9
- package/dist/factories/helm/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/types.d.ts +5 -1
- package/dist/factories/helm/types.d.ts.map +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +1 -0
- package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.js +4 -3
- package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -1
- package/dist/factories/inngest/resources/helm.js +1 -1
- package/dist/factories/inngest/resources/helm.js.map +1 -1
- package/dist/factories/inngest/types.d.ts +5 -4
- package/dist/factories/inngest/types.d.ts.map +1 -1
- package/dist/factories/inngest/types.js +2 -0
- package/dist/factories/inngest/types.js.map +1 -1
- package/dist/factories/kro/kro-custom-resource.js +1 -1
- package/dist/factories/kro/kro-custom-resource.js.map +1 -1
- package/dist/factories/kubernetes/config/config-map.d.ts +2 -2
- package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -1
- package/dist/factories/kubernetes/config/secret.d.ts +2 -2
- package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/service.js +1 -1
- package/dist/factories/kubernetes/networking/service.js.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-directory.js +9 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.js +9 -0
- package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
- package/dist/factories/pebble/resources/helm.js.map +1 -1
- package/dist/factories/pebble/types.d.ts +2 -2
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts +3 -2
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.js +205 -167
- package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -1
- package/dist/factories/searxng/resources/searxng.d.ts +1 -1
- package/dist/factories/searxng/resources/searxng.js +1 -1
- package/dist/factories/searxng/types.d.ts +5 -4
- package/dist/factories/searxng/types.d.ts.map +1 -1
- package/dist/factories/searxng/types.js +8 -7
- package/dist/factories/searxng/types.js.map +1 -1
- package/dist/factories/searxng/utils/settings-builder.d.ts +4 -3
- package/dist/factories/searxng/utils/settings-builder.d.ts.map +1 -1
- package/dist/factories/searxng/utils/settings-builder.js +4 -3
- package/dist/factories/searxng/utils/settings-builder.js.map +1 -1
- package/dist/factories/simple/config/config-map.d.ts +2 -2
- package/dist/factories/simple/config/config-map.d.ts.map +1 -1
- package/dist/factories/simple/config/secret.d.ts +2 -2
- package/dist/factories/simple/config/secret.d.ts.map +1 -1
- package/dist/factories/simple/helm/index.d.ts +1 -1
- package/dist/factories/simple/helm/index.d.ts.map +1 -1
- package/dist/factories/simple/helm/index.js.map +1 -1
- package/dist/factories/simple/index.d.ts +3 -3
- package/dist/factories/simple/index.d.ts.map +1 -1
- package/dist/factories/simple/storage/persistent-volume.js.map +1 -1
- package/dist/factories/simple/types.d.ts +11 -1
- package/dist/factories/simple/types.d.ts.map +1 -1
- package/dist/factories/simple/workloads/deployment.d.ts +4 -1
- package/dist/factories/simple/workloads/deployment.d.ts.map +1 -1
- package/dist/factories/simple/workloads/deployment.js +9 -2
- package/dist/factories/simple/workloads/deployment.js.map +1 -1
- package/dist/factories/simple/workloads/stateful-set.d.ts +4 -1
- package/dist/factories/simple/workloads/stateful-set.d.ts.map +1 -1
- package/dist/factories/simple/workloads/stateful-set.js +6 -2
- package/dist/factories/simple/workloads/stateful-set.js.map +1 -1
- package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +1 -0
- package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -1
- package/dist/factories/valkey/compositions/valkey-bootstrap.js +116 -0
- package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -1
- package/dist/factories/valkey/resources/valkey.js +1 -1
- package/dist/factories/valkey/resources/valkey.js.map +1 -1
- package/dist/factories/valkey/types.d.ts +6 -5
- package/dist/factories/valkey/types.d.ts.map +1 -1
- package/dist/factories/valkey/types.js +10 -0
- package/dist/factories/valkey/types.js.map +1 -1
- package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +90 -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 +180 -20
- package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
- package/dist/factories/webapp/index.d.ts +3 -4
- package/dist/factories/webapp/index.d.ts.map +1 -1
- package/dist/factories/webapp/index.js +3 -4
- package/dist/factories/webapp/index.js.map +1 -1
- package/dist/factories/webapp/types.d.ts +60 -2
- package/dist/factories/webapp/types.d.ts.map +1 -1
- package/dist/factories/webapp/types.js +80 -3
- package/dist/factories/webapp/types.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/shared/brands.d.ts +18 -8
- package/dist/shared/brands.d.ts.map +1 -1
- package/dist/shared/brands.js +19 -9
- package/dist/shared/brands.js.map +1 -1
- package/dist/utils/cel-escape.d.ts +12 -0
- package/dist/utils/cel-escape.d.ts.map +1 -0
- package/dist/utils/cel-escape.js +19 -0
- package/dist/utils/cel-escape.js.map +1 -0
- package/package.json +7 -2
|
@@ -79,6 +79,13 @@ export function isFactoryCall(node) {
|
|
|
79
79
|
const name = callee.name;
|
|
80
80
|
return isKnownFactory(name) || KNOWN_FACTORY_NAMES.has(name);
|
|
81
81
|
}
|
|
82
|
+
if (callee.type === 'MemberExpression' && !callee.computed) {
|
|
83
|
+
const property = callee.property;
|
|
84
|
+
if (property?.type === 'Identifier') {
|
|
85
|
+
const name = property.name;
|
|
86
|
+
return isKnownFactory(name) || KNOWN_FACTORY_NAMES.has(name);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
82
89
|
return false;
|
|
83
90
|
}
|
|
84
91
|
/** Extract the factory function name from a factory call expression */
|
|
@@ -86,6 +93,12 @@ export function extractFactoryName(call) {
|
|
|
86
93
|
if (call.callee.type === 'Identifier') {
|
|
87
94
|
return call.callee.name;
|
|
88
95
|
}
|
|
96
|
+
if (call.callee.type === 'MemberExpression' && !call.callee.computed) {
|
|
97
|
+
const property = call.callee.property;
|
|
98
|
+
if (property?.type === 'Identifier') {
|
|
99
|
+
return property.name;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
89
102
|
return 'Unknown';
|
|
90
103
|
}
|
|
91
104
|
/**
|
|
@@ -134,6 +147,54 @@ export function extractFactoryId(call) {
|
|
|
134
147
|
*/
|
|
135
148
|
export function conditionToCel(node, fullSource, specParamName, optionalFieldNames) {
|
|
136
149
|
let source = getSource(node, fullSource);
|
|
150
|
+
const optionalTruthinessGuard = (path, negation) => {
|
|
151
|
+
if (!optionalFieldNames || optionalFieldNames.size === 0)
|
|
152
|
+
return undefined;
|
|
153
|
+
const refMatch = /^schema\.spec\.([A-Za-z_$][\w$.]*)$/.exec(path);
|
|
154
|
+
const refPath = refMatch?.[1];
|
|
155
|
+
if (!refPath)
|
|
156
|
+
return undefined;
|
|
157
|
+
const segments = refPath.split('.');
|
|
158
|
+
let shallowestOptionalIndex;
|
|
159
|
+
for (let i = 1; i <= segments.length; i++) {
|
|
160
|
+
const prefix = segments.slice(0, i).join('.');
|
|
161
|
+
if (optionalFieldNames.has(prefix)) {
|
|
162
|
+
shallowestOptionalIndex ??= i;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (shallowestOptionalIndex === undefined)
|
|
166
|
+
return undefined;
|
|
167
|
+
const guards = [];
|
|
168
|
+
for (let i = shallowestOptionalIndex; i <= segments.length; i++) {
|
|
169
|
+
guards.push(`has(schema.spec.${segments.slice(0, i).join('.')})`);
|
|
170
|
+
}
|
|
171
|
+
const guard = guards.join(' && ');
|
|
172
|
+
return negation ? (guards.length === 1 ? `!${guard}` : `!(${guard})`) : guard;
|
|
173
|
+
};
|
|
174
|
+
const optionalChainGuards = (basePath, tailPath) => {
|
|
175
|
+
const baseRef = basePath.replace(/^schema\.spec\./, '');
|
|
176
|
+
const fullRef = `${baseRef}.${tailPath}`;
|
|
177
|
+
const segments = fullRef.split('.');
|
|
178
|
+
const baseDepth = baseRef.split('.').length;
|
|
179
|
+
const guards = [];
|
|
180
|
+
for (let i = baseDepth; i <= segments.length; i++) {
|
|
181
|
+
guards.push(`has(schema.spec.${segments.slice(0, i).join('.')})`);
|
|
182
|
+
}
|
|
183
|
+
return {
|
|
184
|
+
fullPath: `schema.spec.${fullRef}`,
|
|
185
|
+
present: guards.join(' && '),
|
|
186
|
+
missing: guards.map((guard) => `!${guard}`).join(' || '),
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
const optionalComparisonGuard = (refPath, operator, rightValue) => {
|
|
190
|
+
const present = optionalTruthinessGuard(refPath, '');
|
|
191
|
+
if (!present)
|
|
192
|
+
return undefined;
|
|
193
|
+
if (operator === '!=') {
|
|
194
|
+
return `(!(${present}) || ${refPath} ${operator} ${rightValue})`;
|
|
195
|
+
}
|
|
196
|
+
return `(${present} && ${refPath} ${operator} ${rightValue})`;
|
|
197
|
+
};
|
|
137
198
|
// Replace the spec parameter name with schema.spec
|
|
138
199
|
// Must use word boundary to avoid replacing substrings
|
|
139
200
|
// escapeRegExp prevents regex injection if specParamName contains metacharacters
|
|
@@ -141,37 +202,96 @@ export function conditionToCel(node, fullSource, specParamName, optionalFieldNam
|
|
|
141
202
|
// JS → CEL operator conversions
|
|
142
203
|
source = source.replace(/===/g, '==');
|
|
143
204
|
source = source.replace(/!==/g, '!=');
|
|
205
|
+
// Bun/esbuild may minify booleans inside function source: `false` → `!1`,
|
|
206
|
+
// `true` → `!0`. Normalize them back to plain CEL booleans for readability
|
|
207
|
+
// and stable test output.
|
|
208
|
+
source = source.replace(/(^|[^\w])!1(?=$|[^\w])/g, '$1false');
|
|
209
|
+
source = source.replace(/(^|[^\w])!0(?=$|[^\w])/g, '$1true');
|
|
210
|
+
source = source.replace(/(schema\.spec\.[A-Za-z_$][\w$.]*)\?\.([A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)*)\s*(==|!=|>=|>|<=|<)\s*((?:true|false)|(?:-?\d+(?:\.\d+)?)|(?:"[^"]*")|(?:'[^']*')|(?:schema\.spec\.[A-Za-z_$][\w$.]*))/g, (_match, basePath, tailPath, operator, rightValue) => {
|
|
211
|
+
const { fullPath, present, missing } = optionalChainGuards(basePath, tailPath);
|
|
212
|
+
if (operator === '!=') {
|
|
213
|
+
return `${missing} || ${fullPath} ${operator} ${rightValue}`;
|
|
214
|
+
}
|
|
215
|
+
return `${present} && ${fullPath} ${operator} ${rightValue}`;
|
|
216
|
+
});
|
|
217
|
+
source = source.replace(/(^|[\s(])(!?)(schema\.spec\.[A-Za-z_$][\w$.]*)\?\.([A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)*)(?=\s*(?:&&|\|\||\)|$))/g, (_match, leading, negation, basePath, tailPath) => {
|
|
218
|
+
const { fullPath, present, missing } = optionalChainGuards(basePath, tailPath);
|
|
219
|
+
return negation ? `${leading}${missing} || !${fullPath}` : `${leading}${present} && ${fullPath}`;
|
|
220
|
+
});
|
|
221
|
+
if (optionalFieldNames && optionalFieldNames.size > 0) {
|
|
222
|
+
source = source.replace(/(schema\.spec\.[A-Za-z_$][\w$.]*)\s*(==|!=|>=|>|<=|<)\s*((?:true|false)|(?:-?\d+(?:\.\d+)?)|(?:"[^"]*")|(?:'[^']*')|(?:schema\.spec\.[A-Za-z_$][\w$.]*))/g, (match, refPath, operator, rightValue) => optionalComparisonGuard(refPath, operator, rightValue) ?? match);
|
|
223
|
+
}
|
|
224
|
+
// Kro CEL has no optional chaining syntax. Optional-chain expressions above
|
|
225
|
+
// preserve JS missing-parent semantics; any remaining optional chains fall
|
|
226
|
+
// through to normal has(...) wrapping where possible.
|
|
227
|
+
source = source.replace(/\?\./g, '.');
|
|
228
|
+
// JS `Object.keys(X).length` → CEL `size(X)`. The `.length` on a map
|
|
229
|
+
// enumeration is equivalent to the map's size in CEL. We convert the
|
|
230
|
+
// whole `Object.keys(X).length` expression in one pass so the result
|
|
231
|
+
// composes cleanly with any surrounding comparison operators
|
|
232
|
+
// (`> 0`, `>= N`, etc.).
|
|
233
|
+
source = source.replace(/Object\.keys\((schema\.spec\.[a-zA-Z0-9_.]+)\)\.length/g, 'size($1)');
|
|
234
|
+
// JS `X.length` on a schema reference where X is known to be an array
|
|
235
|
+
// or map-like also maps to `size(X)` in CEL. This handles the common
|
|
236
|
+
// pattern `if (spec.items.length > 0)` without requiring Object.keys.
|
|
237
|
+
source = source.replace(/(schema\.spec\.[a-zA-Z0-9_.]+)\.length\b/g, 'size($1)');
|
|
238
|
+
if (optionalFieldNames && optionalFieldNames.size > 0) {
|
|
239
|
+
source = source.replace(/size\((schema\.spec\.[a-zA-Z0-9_.]+)\)/g, (match, path) => {
|
|
240
|
+
const guard = optionalTruthinessGuard(path, '');
|
|
241
|
+
return guard ? `(${guard} ? ${match} : 0)` : match;
|
|
242
|
+
});
|
|
243
|
+
}
|
|
144
244
|
// Truthiness → has() for OPTIONAL fields only. JavaScript's
|
|
145
245
|
// `if (spec.x)` means "the field is set" when x is optional, but
|
|
146
246
|
// "the value is truthy" when x is a required boolean. We pick the
|
|
147
247
|
// right interpretation based on whether the tested field is declared
|
|
148
|
-
// as optional in the schema.
|
|
248
|
+
// as optional in the schema. KRO CEL's `has(schema.spec.X)` is the
|
|
249
|
+
// canonical presence check; a bare `schema.spec.X` used as a boolean
|
|
250
|
+
// throws when X is absent.
|
|
251
|
+
//
|
|
252
|
+
// Three passes:
|
|
253
|
+
//
|
|
254
|
+
// 1. **Standalone bare ref** — the *entire* condition is a single
|
|
255
|
+
// `schema.spec.<path>` (or its negation). Rewrite to `has(...)`.
|
|
256
|
+
// Handles `if (spec.x)`, `if (!spec.x)`, `if (spec.a.b.c)`.
|
|
149
257
|
//
|
|
150
|
-
//
|
|
151
|
-
//
|
|
152
|
-
//
|
|
153
|
-
//
|
|
154
|
-
// (c) `schema.spec.x.y.z` → `has(schema.spec.x.y.z)` (if x optional)
|
|
258
|
+
// 2. **Bare ref in a compound** — the condition has `&&` or `||`,
|
|
259
|
+
// and one side is a bare optional ref (e.g. the left operand
|
|
260
|
+
// of `spec.secrets && size(spec.secrets) > 0`). Wrap just that
|
|
261
|
+
// operand with `has()` so the compound evaluates safely.
|
|
155
262
|
//
|
|
156
|
-
//
|
|
157
|
-
//
|
|
158
|
-
//
|
|
263
|
+
// 3. **Bare ref as a ternary test** — full ternary expressions like
|
|
264
|
+
// `spec.feature ? 'on' : 'off'` are converted as a whole, so the
|
|
265
|
+
// optional ref is not the entire source string. Wrap the condition
|
|
266
|
+
// operand before the `?`.
|
|
267
|
+
//
|
|
268
|
+
// In both passes, the check fires only when the top-level segment
|
|
269
|
+
// of the referenced path is a declared optional field — required
|
|
270
|
+
// fields keep their JS semantics (value-based truthiness).
|
|
159
271
|
//
|
|
160
272
|
// Note: We do NOT convert quotes here. Bun's transpiler normalizes JS strings
|
|
161
273
|
// to double quotes in fn.toString(), so the source text already uses double quotes.
|
|
162
274
|
// For template values (inside resource templates), double quotes work fine because
|
|
163
275
|
// they're nested in the YAML structure. For status values, the caller is responsible
|
|
164
276
|
// for converting double quotes to single quotes if needed to avoid YAML escaping.
|
|
277
|
+
// Pass 1: standalone bare ref.
|
|
165
278
|
const bareRefPattern = /^(!?)(schema\.spec\.([\w]+)(?:\.[\w]+)*)\s*$/;
|
|
166
279
|
const bareMatch = bareRefPattern.exec(source);
|
|
167
280
|
if (bareMatch) {
|
|
168
281
|
const negation = bareMatch[1];
|
|
169
282
|
const path = bareMatch[2];
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
source = `${negation}has(${path})`;
|
|
283
|
+
if (path) {
|
|
284
|
+
source = optionalTruthinessGuard(path, negation ?? '') ?? source;
|
|
173
285
|
}
|
|
174
286
|
}
|
|
287
|
+
// Pass 2: bare ref as an operand of `&&` / `||`. Handles the common
|
|
288
|
+
// pattern `spec.secrets && size(spec.secrets) > 0` where the LHS
|
|
289
|
+
// needs has() to avoid throwing on absent optional fields.
|
|
290
|
+
if (optionalFieldNames && optionalFieldNames.size > 0) {
|
|
291
|
+
source = source.replace(/(^|[\s(])(!?)(schema\.spec\.([\w]+)(?:\.[\w]+)*)(?=\s*(?:&&|\|\|))/g, (match, leading, negation, path) => `${leading}${optionalTruthinessGuard(path, negation) ?? match.slice(String(leading).length)}`);
|
|
292
|
+
source = source.replace(/(&&|\|\|)(\s+)(!?)(schema\.spec\.([\w]+)(?:\.[\w]+)*)(?=\s*(?:&&|\|\||\)|$))/g, (match, operator, spacing, negation, path) => `${operator}${spacing}${optionalTruthinessGuard(path, negation) ?? match.slice(`${operator}${spacing}`.length)}`);
|
|
293
|
+
source = source.replace(/(^|[(:?,]\s*)(!?)(schema\.spec\.([\w]+)(?:\.[\w]+)*)(?=\s*\?)/g, (match, leading, negation, path) => `${leading}${optionalTruthinessGuard(path, negation) ?? match.slice(String(leading).length)}`);
|
|
294
|
+
}
|
|
175
295
|
return `\${${source}}`;
|
|
176
296
|
}
|
|
177
297
|
/**
|
|
@@ -224,6 +344,7 @@ export function isCompileTimeLiteral(node) {
|
|
|
224
344
|
export function referencesSpec(node, specParamName) {
|
|
225
345
|
let found = false;
|
|
226
346
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- estraverse types are loose
|
|
347
|
+
// biome-ignore lint/suspicious/noExplicitAny: estraverse expects broad ESTree node shapes.
|
|
227
348
|
estraverse.traverse(node, {
|
|
228
349
|
enter(n) {
|
|
229
350
|
if (n.type === 'Identifier' && getIdentifierName(n) === specParamName) {
|
|
@@ -236,6 +357,206 @@ export function referencesSpec(node, specParamName) {
|
|
|
236
357
|
});
|
|
237
358
|
return found;
|
|
238
359
|
}
|
|
360
|
+
/**
|
|
361
|
+
* Check if an expression references a resource's status field — i.e.,
|
|
362
|
+
* contains a `<identifier>.status.<field>` MemberExpression where the
|
|
363
|
+
* root identifier is NOT the spec parameter and NOT a known JS global.
|
|
364
|
+
*
|
|
365
|
+
* Returns the `{ variableName, statusField }` if found, or `undefined`.
|
|
366
|
+
* Used by the ternary detector to widen its gate beyond spec-only conditions.
|
|
367
|
+
*
|
|
368
|
+
* **Limitation — compound conditions**: Returns on the first match
|
|
369
|
+
* (`VisitorOption.Break`). For compound expressions like
|
|
370
|
+
* `cache.status.ready && db.status.instances >= 1`, only the first
|
|
371
|
+
* status ref (`cache.status.ready`) is captured. The inverted run
|
|
372
|
+
* then flips only that field, which may not fully invert the ternary
|
|
373
|
+
* if the second condition also contributes. This is acceptable for
|
|
374
|
+
* now: compound resource-status ternaries are rare, and `dependsOn`
|
|
375
|
+
* + `Cel.cond` can handle them explicitly.
|
|
376
|
+
*/
|
|
377
|
+
export function extractResourceStatusRef(node, specParamName, optionalFieldNames) {
|
|
378
|
+
const GLOBALS = new Set([
|
|
379
|
+
'this', 'globalThis', 'window', 'console', 'process', 'Math', 'JSON',
|
|
380
|
+
'Object', 'Array', 'String', 'Number', 'Boolean', 'Promise', 'Date',
|
|
381
|
+
'Map', 'Set', 'WeakMap', 'WeakSet', 'RegExp', 'Error', 'Symbol',
|
|
382
|
+
'Proxy', 'Reflect', 'Buffer', 'undefined', 'NaN', 'Infinity',
|
|
383
|
+
'setTimeout', 'setInterval', 'queueMicrotask', 'Intl',
|
|
384
|
+
'module', 'exports', 'require', 'schema',
|
|
385
|
+
]);
|
|
386
|
+
let result;
|
|
387
|
+
const memberPath = (member) => {
|
|
388
|
+
if (member.type === 'ChainExpression') {
|
|
389
|
+
return memberPath(member.expression);
|
|
390
|
+
}
|
|
391
|
+
if (member.type === 'Identifier')
|
|
392
|
+
return [getIdentifierName(member) ?? ''];
|
|
393
|
+
const property = member.property;
|
|
394
|
+
if (member.type === 'MemberExpression' &&
|
|
395
|
+
!member.computed &&
|
|
396
|
+
property?.type === 'Identifier') {
|
|
397
|
+
const objectPath = memberPath(member.object);
|
|
398
|
+
const propertyName = getIdentifierName(property);
|
|
399
|
+
if (objectPath && propertyName)
|
|
400
|
+
return [...objectPath, propertyName];
|
|
401
|
+
}
|
|
402
|
+
return undefined;
|
|
403
|
+
};
|
|
404
|
+
const statusAccess = (member) => {
|
|
405
|
+
const path = memberPath(member);
|
|
406
|
+
if (!path || path.length < 3 || path[1] !== 'status')
|
|
407
|
+
return undefined;
|
|
408
|
+
const variableName = path[0];
|
|
409
|
+
if (!variableName || variableName === specParamName || GLOBALS.has(variableName))
|
|
410
|
+
return undefined;
|
|
411
|
+
return { variableName, statusField: path.slice(2).join('.') };
|
|
412
|
+
};
|
|
413
|
+
const firstStatusSegment = (statusField) => statusField.split('.')[0] ?? statusField;
|
|
414
|
+
const literalToCel = (literal) => {
|
|
415
|
+
if (typeof literal.value === 'string')
|
|
416
|
+
return JSON.stringify(literal.value);
|
|
417
|
+
if (literal.value === null)
|
|
418
|
+
return 'null';
|
|
419
|
+
return String(literal.value);
|
|
420
|
+
};
|
|
421
|
+
const wrapOptionalSpecTruthiness = (source) => {
|
|
422
|
+
if (!optionalFieldNames || optionalFieldNames.size === 0)
|
|
423
|
+
return source;
|
|
424
|
+
const optionalTruthinessGuard = (path, negation) => {
|
|
425
|
+
const refMatch = /^schema\.spec\.([A-Za-z_$][\w$.]*)$/.exec(path);
|
|
426
|
+
const refPath = refMatch?.[1];
|
|
427
|
+
if (!refPath)
|
|
428
|
+
return undefined;
|
|
429
|
+
const segments = refPath.split('.');
|
|
430
|
+
let shallowestOptionalIndex;
|
|
431
|
+
for (let i = 1; i <= segments.length; i++) {
|
|
432
|
+
const prefix = segments.slice(0, i).join('.');
|
|
433
|
+
if (optionalFieldNames.has(prefix)) {
|
|
434
|
+
shallowestOptionalIndex ??= i;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
if (shallowestOptionalIndex === undefined)
|
|
438
|
+
return undefined;
|
|
439
|
+
const guards = [];
|
|
440
|
+
for (let i = shallowestOptionalIndex; i <= segments.length; i++) {
|
|
441
|
+
guards.push(`has(schema.spec.${segments.slice(0, i).join('.')})`);
|
|
442
|
+
}
|
|
443
|
+
const guard = guards.join(' && ');
|
|
444
|
+
return negation ? (guards.length === 1 ? `!${guard}` : `!(${guard})`) : guard;
|
|
445
|
+
};
|
|
446
|
+
const bareRefPattern = /^(!?)(schema\.spec\.[\w]+(?:\.[\w]+)*)\s*$/;
|
|
447
|
+
const bareMatch = bareRefPattern.exec(source);
|
|
448
|
+
if (bareMatch) {
|
|
449
|
+
const negation = bareMatch[1];
|
|
450
|
+
const path = bareMatch[2];
|
|
451
|
+
if (path)
|
|
452
|
+
return optionalTruthinessGuard(path, negation ?? '') ?? source;
|
|
453
|
+
}
|
|
454
|
+
let wrapped = source.replace(/(^|[\s(])(!?)(schema\.spec\.[\w]+(?:\.[\w]+)*)(?=\s*(?:&&|\|\|))/g, (match, leading, negation, path) => `${leading}${optionalTruthinessGuard(path, negation) ?? match.slice(String(leading).length)}`);
|
|
455
|
+
wrapped = wrapped.replace(/(&&|\|\|)(\s+)(!?)(schema\.spec\.[\w]+(?:\.[\w]+)*)(?=\s*(?:&&|\|\||\)|$))/g, (match, operator, spacing, negation, path) => `${operator}${spacing}${optionalTruthinessGuard(path, negation) ?? match.slice(`${operator}${spacing}`.length)}`);
|
|
456
|
+
return wrapped;
|
|
457
|
+
};
|
|
458
|
+
const expressionNodeToCel = (expr) => {
|
|
459
|
+
if (expr.type === 'ChainExpression') {
|
|
460
|
+
return expressionNodeToCel(expr.expression);
|
|
461
|
+
}
|
|
462
|
+
if (expr.type === 'Identifier')
|
|
463
|
+
return getIdentifierName(expr) ?? '';
|
|
464
|
+
if (expr.type === 'Literal')
|
|
465
|
+
return literalToCel(expr);
|
|
466
|
+
if (expr.type === 'MemberExpression') {
|
|
467
|
+
const path = memberPath(expr);
|
|
468
|
+
if (!path)
|
|
469
|
+
return '';
|
|
470
|
+
return path[0] === specParamName ? ['schema', ...path].join('.') : path.join('.');
|
|
471
|
+
}
|
|
472
|
+
if (expr.type === 'BinaryExpression' || expr.type === 'LogicalExpression') {
|
|
473
|
+
const left = expressionNodeToCel(expr.left);
|
|
474
|
+
const right = expressionNodeToCel(expr.right);
|
|
475
|
+
const operator = String(expr.operator).replace('===', '==').replace('!==', '!=');
|
|
476
|
+
return wrapOptionalSpecTruthiness(`${left} ${operator} ${right}`);
|
|
477
|
+
}
|
|
478
|
+
if (expr.type === 'UnaryExpression') {
|
|
479
|
+
const unary = expr;
|
|
480
|
+
if (unary.operator === '!' && unary.argument?.type === 'Literal') {
|
|
481
|
+
const value = unary.argument.value;
|
|
482
|
+
if (value === 0)
|
|
483
|
+
return 'true';
|
|
484
|
+
if (value === 1)
|
|
485
|
+
return 'false';
|
|
486
|
+
}
|
|
487
|
+
return wrapOptionalSpecTruthiness(`${expr.operator ?? ''}${expressionNodeToCel(expr.argument)}`);
|
|
488
|
+
}
|
|
489
|
+
if (expr.type === 'CallExpression') {
|
|
490
|
+
const call = expr;
|
|
491
|
+
const callee = call.callee;
|
|
492
|
+
if (callee.type === 'MemberExpression' && !callee.computed) {
|
|
493
|
+
const target = expressionNodeToCel(callee.object);
|
|
494
|
+
const methodName = getIdentifierName(callee.property) ?? '';
|
|
495
|
+
const method = methodName === 'some' ? 'exists' : methodName === 'every' ? 'all' : methodName;
|
|
496
|
+
const args = call.arguments.map((arg) => expressionNodeToCel(arg)).join(', ');
|
|
497
|
+
return `${target}.${method}(${args})`;
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
if (expr.type === 'ArrowFunctionExpression') {
|
|
501
|
+
const param = expr.params?.[0];
|
|
502
|
+
const paramName = param?.type === 'Identifier' ? getIdentifierName(param) : undefined;
|
|
503
|
+
return `${paramName ?? '_'}, ${expressionNodeToCel(expr.body)}`;
|
|
504
|
+
}
|
|
505
|
+
return '';
|
|
506
|
+
};
|
|
507
|
+
// biome-ignore lint/suspicious/noExplicitAny: estraverse expects broad ESTree node shapes.
|
|
508
|
+
estraverse.traverse(node, {
|
|
509
|
+
enter(n) {
|
|
510
|
+
const astNode = n;
|
|
511
|
+
if (astNode.type === 'CallExpression') {
|
|
512
|
+
const call = astNode;
|
|
513
|
+
if (call.callee.type === 'MemberExpression' && !call.callee.computed) {
|
|
514
|
+
const target = statusAccess(call.callee.object);
|
|
515
|
+
const method = getIdentifierName(call.callee.property);
|
|
516
|
+
if (target && method) {
|
|
517
|
+
result = {
|
|
518
|
+
variableName: target.variableName,
|
|
519
|
+
statusField: firstStatusSegment(target.statusField),
|
|
520
|
+
conditionExpression: expressionNodeToCel(node),
|
|
521
|
+
};
|
|
522
|
+
return estraverse.VisitorOption.Break;
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
// Match: X.status.Y where X is an Identifier
|
|
527
|
+
if (astNode.type === 'MemberExpression' &&
|
|
528
|
+
!astNode.computed &&
|
|
529
|
+
astNode.property?.type === 'Identifier') {
|
|
530
|
+
const access = statusAccess(astNode);
|
|
531
|
+
if (access) {
|
|
532
|
+
result = {
|
|
533
|
+
...access,
|
|
534
|
+
statusField: firstStatusSegment(access.statusField),
|
|
535
|
+
conditionExpression: expressionNodeToCel(node),
|
|
536
|
+
};
|
|
537
|
+
return estraverse.VisitorOption.Break;
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
return undefined;
|
|
541
|
+
},
|
|
542
|
+
fallback: 'iteration',
|
|
543
|
+
});
|
|
544
|
+
return result;
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* Rewrite every `<jsVariable>.status.` reference in a CEL-ish condition to its
|
|
548
|
+
* serialized KRO resource ID. Compound conditions can reference more than the
|
|
549
|
+
* primary variable captured by `extractResourceStatusRef`.
|
|
550
|
+
*/
|
|
551
|
+
export function remapResourceStatusReferences(conditionExpression, variableToResourceId) {
|
|
552
|
+
let remapped = conditionExpression;
|
|
553
|
+
for (const [variableName, resourceId] of variableToResourceId) {
|
|
554
|
+
const escapedVariableName = variableName.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
555
|
+
const variableStatusRef = new RegExp(`(^|[^A-Za-z0-9_$])${escapedVariableName}\\.status\\.`, 'g');
|
|
556
|
+
remapped = remapped.replace(variableStatusRef, `$1${resourceId}.status.`);
|
|
557
|
+
}
|
|
558
|
+
return remapped;
|
|
559
|
+
}
|
|
239
560
|
// ---------------------------------------------------------------------------
|
|
240
561
|
// Factory call search
|
|
241
562
|
// ---------------------------------------------------------------------------
|
|
@@ -244,7 +565,7 @@ export function referencesSpec(node, specParamName) {
|
|
|
244
565
|
*/
|
|
245
566
|
export function findFactoryCallsInSubtree(node) {
|
|
246
567
|
const calls = [];
|
|
247
|
-
//
|
|
568
|
+
// biome-ignore lint/suspicious/noExplicitAny: estraverse expects broad ESTree node shapes.
|
|
248
569
|
estraverse.traverse(node, {
|
|
249
570
|
enter(n) {
|
|
250
571
|
const astNode = n;
|
|
@@ -252,7 +573,7 @@ export function findFactoryCallsInSubtree(node) {
|
|
|
252
573
|
const call = astNode;
|
|
253
574
|
const id = extractFactoryId(call);
|
|
254
575
|
if (id) {
|
|
255
|
-
calls.push({ id, factoryName: extractFactoryName(call) });
|
|
576
|
+
calls.push({ id, factoryName: extractFactoryName(call), node: call });
|
|
256
577
|
}
|
|
257
578
|
}
|
|
258
579
|
return undefined;
|
|
@@ -295,8 +616,8 @@ export function extractSpecParamName(functionSource) {
|
|
|
295
616
|
* - Single quotes → double quotes
|
|
296
617
|
* - Wraps in `${}`
|
|
297
618
|
*/
|
|
298
|
-
export function expressionToCel(node, fullSource, specParamName) {
|
|
299
|
-
return conditionToCel(node, fullSource, specParamName);
|
|
619
|
+
export function expressionToCel(node, fullSource, specParamName, optionalFieldNames) {
|
|
620
|
+
return conditionToCel(node, fullSource, specParamName, optionalFieldNames);
|
|
300
621
|
}
|
|
301
622
|
/**
|
|
302
623
|
* Map a factory argument property key name to its template property path.
|
|
@@ -318,6 +639,16 @@ export function factoryArgKeyToTemplatePath(key) {
|
|
|
318
639
|
return 'metadata.labels';
|
|
319
640
|
if (key === 'annotations')
|
|
320
641
|
return 'metadata.annotations';
|
|
642
|
+
if (key === 'data')
|
|
643
|
+
return 'data';
|
|
644
|
+
if (key === 'stringData')
|
|
645
|
+
return 'stringData';
|
|
646
|
+
if (key === 'binaryData')
|
|
647
|
+
return 'binaryData';
|
|
648
|
+
if (key === 'immutable')
|
|
649
|
+
return 'immutable';
|
|
650
|
+
if (key === 'type')
|
|
651
|
+
return 'type';
|
|
321
652
|
return `spec.${key}`;
|
|
322
653
|
}
|
|
323
654
|
/**
|
|
@@ -328,6 +659,6 @@ export function factoryArgKeyToTemplatePath(key) {
|
|
|
328
659
|
export function negateCondition(condition) {
|
|
329
660
|
// Remove ${...} wrapper
|
|
330
661
|
const inner = condition.replace(/^\$\{/, '').replace(/\}$/, '');
|
|
331
|
-
return `\${
|
|
662
|
+
return `\${!(${inner})}`;
|
|
332
663
|
}
|
|
333
664
|
//# sourceMappingURL=composition-analyzer-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composition-analyzer-helpers.js","sourceRoot":"","sources":["../../../../src/core/expressions/composition/composition-analyzer-helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"composition-analyzer-helpers.js","sourceRoot":"","sources":["../../../../src/core/expressions/composition/composition-analyzer-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,12 +17,12 @@ import type { ASTAnalysisResult, ASTNode, CallExpression, CollectionVariable } f
|
|
|
17
17
|
*
|
|
18
18
|
* Detected ternaries are stored as templateOverrides in the analysis result.
|
|
19
19
|
*/
|
|
20
|
-
export declare function analyzeFactoryArgTernaries(call: CallExpression, resourceId: string, fullSource: string, specParamName: string, result: ASTAnalysisResult): void;
|
|
20
|
+
export declare function analyzeFactoryArgTernaries(call: CallExpression, resourceId: string, fullSource: string, specParamName: string, result: ASTAnalysisResult, optionalFieldNames?: Set<string>): void;
|
|
21
21
|
/**
|
|
22
22
|
* Analyze a ReturnStatement's object literal for ternary expressions
|
|
23
23
|
* referencing the spec parameter. These become status overrides.
|
|
24
24
|
*/
|
|
25
|
-
export declare function analyzeReturnStatementTernaries(returnNode: ASTNode, fullSource: string, specParamName: string, result: ASTAnalysisResult): void;
|
|
25
|
+
export declare function analyzeReturnStatementTernaries(returnNode: ASTNode, fullSource: string, specParamName: string, result: ASTAnalysisResult, optionalFieldNames?: Set<string>): void;
|
|
26
26
|
/**
|
|
27
27
|
* Check if a CallExpression is a `.map()` call on a spec array whose callback
|
|
28
28
|
* contains factory calls. If so, return the resource ID from the factory.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composition-analyzer-ternary.d.ts","sourceRoot":"","sources":["../../../../src/core/expressions/composition/composition-analyzer-ternary.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"composition-analyzer-ternary.d.ts","sourceRoot":"","sources":["../../../../src/core/expressions/composition/composition-analyzer-ternary.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,OAAO,KAAK,EACV,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,kBAAkB,EAOnB,MAAM,iCAAiC,CAAC;AAQzC;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,iBAAiB,EACzB,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC/B,IAAI,CAKN;AAyXD;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,iBAAiB,EACzB,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC/B,IAAI,CAyCN;AAMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoB3F;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAkCjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC7C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,iBAAiB,GACxB,IAAI,CAgCN;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAC5C,MAAM,GAAG,SAAS,CA8CpB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAC5C,MAAM,GAAG,SAAS,CAsFpB"}
|