typekro 0.3.1 → 0.5.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/README.md +142 -1054
- package/dist/.tsbuildinfo +1 -1
- package/dist/advanced/index.d.ts +52 -0
- package/dist/advanced/index.d.ts.map +1 -0
- package/dist/advanced/index.js +60 -0
- package/dist/advanced/index.js.map +1 -0
- package/dist/alchemy/deployers.d.ts +0 -5
- package/dist/alchemy/deployers.d.ts.map +1 -1
- package/dist/alchemy/deployers.js +26 -89
- package/dist/alchemy/deployers.js.map +1 -1
- package/dist/alchemy/index.d.ts +8 -8
- package/dist/alchemy/index.d.ts.map +1 -1
- package/dist/alchemy/index.js +12 -11
- package/dist/alchemy/index.js.map +1 -1
- package/dist/alchemy/resolver.d.ts.map +1 -1
- package/dist/alchemy/resolver.js +6 -5
- package/dist/alchemy/resolver.js.map +1 -1
- package/dist/alchemy/resource-registration.d.ts.map +1 -1
- package/dist/alchemy/resource-registration.js +20 -8
- package/dist/alchemy/resource-registration.js.map +1 -1
- package/dist/alchemy/type-inference.d.ts.map +1 -1
- package/dist/alchemy/type-inference.js +6 -5
- package/dist/alchemy/type-inference.js.map +1 -1
- package/dist/alchemy/types.d.ts +1 -1
- package/dist/alchemy/types.d.ts.map +1 -1
- package/dist/alchemy/utilities.d.ts.map +1 -1
- package/dist/alchemy/utilities.js +1 -1
- package/dist/alchemy/utilities.js.map +1 -1
- package/dist/alchemy/wrapper.d.ts +4 -2
- package/dist/alchemy/wrapper.d.ts.map +1 -1
- package/dist/alchemy/wrapper.js +2 -1
- package/dist/alchemy/wrapper.js.map +1 -1
- package/dist/compositions/typekro-runtime/index.d.ts +3 -0
- package/dist/compositions/typekro-runtime/index.d.ts.map +1 -0
- package/dist/compositions/typekro-runtime/index.js.map +1 -0
- package/dist/{core/composition → compositions}/typekro-runtime/typekro-runtime.d.ts +7 -10
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -0
- package/dist/compositions/typekro-runtime/typekro-runtime.js +404 -0
- package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -0
- package/dist/compositions/typekro-runtime/types.d.ts +45 -0
- package/dist/compositions/typekro-runtime/types.d.ts.map +1 -0
- package/dist/compositions/typekro-runtime/types.js.map +1 -0
- package/dist/core/composition/context.d.ts +91 -0
- package/dist/core/composition/context.d.ts.map +1 -0
- package/dist/core/composition/context.js +125 -0
- package/dist/core/composition/context.js.map +1 -0
- package/dist/core/composition/imperative.d.ts +37 -11
- package/dist/core/composition/imperative.d.ts.map +1 -1
- package/dist/core/composition/imperative.js +433 -37
- package/dist/core/composition/imperative.js.map +1 -1
- package/dist/core/composition/index.d.ts +2 -4
- package/dist/core/composition/index.d.ts.map +1 -1
- package/dist/core/composition/index.js +1 -4
- package/dist/core/composition/index.js.map +1 -1
- package/dist/core/composition-debugger.d.ts +78 -0
- package/dist/core/composition-debugger.d.ts.map +1 -0
- package/dist/core/composition-debugger.js +142 -0
- package/dist/core/composition-debugger.js.map +1 -0
- package/dist/core/config/defaults.d.ts +109 -0
- package/dist/core/config/defaults.d.ts.map +1 -0
- package/dist/core/config/defaults.js +150 -0
- package/dist/core/config/defaults.js.map +1 -0
- package/dist/core/config/env.d.ts +12 -0
- package/dist/core/config/env.d.ts.map +1 -0
- package/dist/core/config/env.js +16 -0
- package/dist/core/config/env.js.map +1 -0
- package/dist/core/config/index.d.ts +3 -0
- package/dist/core/config/index.d.ts.map +1 -0
- package/dist/core/config/index.js +3 -0
- package/dist/core/config/index.js.map +1 -0
- package/dist/core/constants/brands.d.ts +4 -37
- package/dist/core/constants/brands.d.ts.map +1 -1
- package/dist/core/constants/brands.js +4 -40
- package/dist/core/constants/brands.js.map +1 -1
- package/dist/core/dependencies/graph.d.ts.map +1 -1
- package/dist/core/dependencies/graph.js +4 -4
- package/dist/core/dependencies/graph.js.map +1 -1
- package/dist/core/dependencies/resolver.d.ts.map +1 -1
- package/dist/core/dependencies/resolver.js +3 -3
- package/dist/core/dependencies/resolver.js.map +1 -1
- package/dist/core/deployment/client-provider-manager.d.ts +40 -0
- package/dist/core/deployment/client-provider-manager.d.ts.map +1 -0
- package/dist/core/deployment/client-provider-manager.js +63 -0
- package/dist/core/deployment/client-provider-manager.js.map +1 -0
- package/dist/core/deployment/closure-planner.d.ts +20 -0
- package/dist/core/deployment/closure-planner.d.ts.map +1 -0
- package/dist/core/deployment/closure-planner.js +96 -0
- package/dist/core/deployment/closure-planner.js.map +1 -0
- package/dist/core/deployment/crd-manager.d.ts +52 -0
- package/dist/core/deployment/crd-manager.d.ts.map +1 -0
- package/dist/core/deployment/crd-manager.js +227 -0
- package/dist/core/deployment/crd-manager.js.map +1 -0
- package/dist/core/deployment/debug-logger.d.ts +3 -14
- package/dist/core/deployment/debug-logger.d.ts.map +1 -1
- package/dist/core/deployment/debug-logger.js +41 -12
- package/dist/core/deployment/debug-logger.js.map +1 -1
- package/dist/core/deployment/direct-factory.d.ts +59 -9
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +494 -117
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +126 -64
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +611 -1227
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/deployment/errors.d.ts +30 -0
- package/dist/core/deployment/errors.d.ts.map +1 -0
- package/dist/core/deployment/errors.js +84 -0
- package/dist/core/deployment/errors.js.map +1 -0
- package/dist/core/deployment/event-filter.d.ts.map +1 -1
- package/dist/core/deployment/event-filter.js +21 -18
- package/dist/core/deployment/event-filter.js.map +1 -1
- package/dist/core/deployment/event-monitor.d.ts +36 -2
- package/dist/core/deployment/event-monitor.d.ts.map +1 -1
- package/dist/core/deployment/event-monitor.js +279 -51
- package/dist/core/deployment/event-monitor.js.map +1 -1
- package/dist/core/deployment/index.d.ts +5 -2
- package/dist/core/deployment/index.d.ts.map +1 -1
- package/dist/core/deployment/index.js +5 -3
- package/dist/core/deployment/index.js.map +1 -1
- package/dist/core/deployment/k8s-helpers.d.ts +44 -0
- package/dist/core/deployment/k8s-helpers.d.ts.map +1 -0
- package/dist/core/deployment/k8s-helpers.js +109 -0
- package/dist/core/deployment/k8s-helpers.js.map +1 -0
- package/dist/core/deployment/kro-factory.d.ts +41 -13
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +355 -210
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/kro-readiness.d.ts +54 -0
- package/dist/core/deployment/kro-readiness.d.ts.map +1 -0
- package/dist/core/deployment/kro-readiness.js +140 -0
- package/dist/core/deployment/kro-readiness.js.map +1 -0
- package/dist/core/deployment/readiness-waiter.d.ts +60 -0
- package/dist/core/deployment/readiness-waiter.d.ts.map +1 -0
- package/dist/core/deployment/readiness-waiter.js +245 -0
- package/dist/core/deployment/readiness-waiter.js.map +1 -0
- package/dist/core/deployment/readiness.d.ts +3 -9
- package/dist/core/deployment/readiness.d.ts.map +1 -1
- package/dist/core/deployment/readiness.js +16 -30
- package/dist/core/deployment/readiness.js.map +1 -1
- package/dist/core/deployment/resource-applier.d.ts +58 -0
- package/dist/core/deployment/resource-applier.d.ts.map +1 -0
- package/dist/core/deployment/resource-applier.js +385 -0
- package/dist/core/deployment/resource-applier.js.map +1 -0
- package/dist/core/deployment/rollback-manager.d.ts +21 -3
- package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
- package/dist/core/deployment/rollback-manager.js +132 -13
- package/dist/core/deployment/rollback-manager.js.map +1 -1
- package/dist/core/deployment/shared-utilities.d.ts +38 -9
- package/dist/core/deployment/shared-utilities.d.ts.map +1 -1
- package/dist/core/deployment/shared-utilities.js +92 -22
- package/dist/core/deployment/shared-utilities.js.map +1 -1
- package/dist/core/deployment/status-hydrator.d.ts +1 -1
- package/dist/core/deployment/status-hydrator.d.ts.map +1 -1
- package/dist/core/deployment/status-hydrator.js +21 -15
- package/dist/core/deployment/status-hydrator.js.map +1 -1
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/alchemy-strategy.js +16 -9
- package/dist/core/deployment/strategies/alchemy-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.d.ts +14 -0
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.js +326 -206
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.d.ts +10 -3
- package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.js +60 -1
- package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.d.ts +16 -6
- package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.js +57 -105
- package/dist/core/deployment/strategies/kro-strategy.js.map +1 -1
- package/dist/core/errors.d.ts +134 -83
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +177 -300
- package/dist/core/errors.js.map +1 -1
- package/dist/core/expressions/analysis/analyzer.d.ts +155 -0
- package/dist/core/expressions/analysis/analyzer.d.ts.map +1 -0
- package/dist/core/expressions/analysis/analyzer.js +540 -0
- package/dist/core/expressions/analysis/analyzer.js.map +1 -0
- package/dist/core/expressions/analysis/array-method-converters.d.ts +19 -0
- package/dist/core/expressions/analysis/array-method-converters.d.ts.map +1 -0
- package/dist/core/expressions/analysis/array-method-converters.js +175 -0
- package/dist/core/expressions/analysis/array-method-converters.js.map +1 -0
- package/dist/core/expressions/analysis/ast-helpers.d.ts +49 -0
- package/dist/core/expressions/analysis/ast-helpers.d.ts.map +1 -0
- package/dist/core/expressions/analysis/ast-helpers.js +106 -0
- package/dist/core/expressions/analysis/ast-helpers.js.map +1 -0
- package/dist/core/expressions/analysis/ast-node-converters.d.ts +15 -0
- package/dist/core/expressions/analysis/ast-node-converters.d.ts.map +1 -0
- package/dist/core/expressions/analysis/ast-node-converters.js +123 -0
- package/dist/core/expressions/analysis/ast-node-converters.js.map +1 -0
- package/dist/core/expressions/analysis/ast-type-guards.d.ts +14 -0
- package/dist/core/expressions/analysis/ast-type-guards.d.ts.map +1 -0
- package/dist/core/expressions/analysis/ast-type-guards.js +15 -0
- package/dist/core/expressions/analysis/ast-type-guards.js.map +1 -0
- package/dist/core/expressions/{cache.d.ts → analysis/cache.d.ts} +1 -1
- package/dist/core/expressions/analysis/cache.d.ts.map +1 -0
- package/dist/core/expressions/{cache.js → analysis/cache.js} +13 -13
- package/dist/core/expressions/analysis/cache.js.map +1 -0
- package/dist/core/expressions/analysis/call-expression-converters.d.ts +18 -0
- package/dist/core/expressions/analysis/call-expression-converters.d.ts.map +1 -0
- package/dist/core/expressions/analysis/call-expression-converters.js +220 -0
- package/dist/core/expressions/analysis/call-expression-converters.js.map +1 -0
- package/dist/core/expressions/analysis/cel-emitter.d.ts +85 -0
- package/dist/core/expressions/analysis/cel-emitter.d.ts.map +1 -0
- package/dist/core/expressions/analysis/cel-emitter.js +455 -0
- package/dist/core/expressions/analysis/cel-emitter.js.map +1 -0
- package/dist/core/expressions/analysis/expression-classifier.d.ts +77 -0
- package/dist/core/expressions/analysis/expression-classifier.d.ts.map +1 -0
- package/dist/core/expressions/analysis/expression-classifier.js +487 -0
- package/dist/core/expressions/analysis/expression-classifier.js.map +1 -0
- package/dist/core/expressions/analysis/fn-toString-self-test.d.ts +146 -0
- package/dist/core/expressions/analysis/fn-toString-self-test.d.ts.map +1 -0
- package/dist/core/expressions/analysis/fn-toString-self-test.js +243 -0
- package/dist/core/expressions/analysis/fn-toString-self-test.js.map +1 -0
- package/dist/core/expressions/analysis/operator-utils.d.ts +35 -0
- package/dist/core/expressions/analysis/operator-utils.d.ts.map +1 -0
- package/dist/core/expressions/analysis/operator-utils.js +167 -0
- package/dist/core/expressions/analysis/operator-utils.js.map +1 -0
- package/dist/core/expressions/analysis/parse-core.d.ts +63 -0
- package/dist/core/expressions/analysis/parse-core.d.ts.map +1 -0
- package/dist/core/expressions/analysis/parse-core.js +115 -0
- package/dist/core/expressions/analysis/parse-core.js.map +1 -0
- package/dist/core/expressions/analysis/parser.d.ts +127 -0
- package/dist/core/expressions/analysis/parser.d.ts.map +1 -0
- package/dist/core/expressions/analysis/parser.js +212 -0
- package/dist/core/expressions/analysis/parser.js.map +1 -0
- package/dist/core/expressions/analysis/scope-resolver.d.ts +57 -0
- package/dist/core/expressions/analysis/scope-resolver.d.ts.map +1 -0
- package/dist/core/expressions/analysis/scope-resolver.js +440 -0
- package/dist/core/expressions/analysis/scope-resolver.js.map +1 -0
- package/dist/core/expressions/analysis/shared-types.d.ts +132 -0
- package/dist/core/expressions/analysis/shared-types.d.ts.map +1 -0
- package/dist/core/expressions/analysis/shared-types.js +13 -0
- package/dist/core/expressions/analysis/shared-types.js.map +1 -0
- package/dist/core/expressions/analysis/source-map.d.ts.map +1 -0
- package/dist/core/expressions/{source-map.js → analysis/source-map.js} +16 -17
- package/dist/core/expressions/analysis/source-map.js.map +1 -0
- package/dist/core/expressions/analysis/string-method-converters.d.ts +27 -0
- package/dist/core/expressions/analysis/string-method-converters.d.ts.map +1 -0
- package/dist/core/expressions/analysis/string-method-converters.js +208 -0
- package/dist/core/expressions/analysis/string-method-converters.js.map +1 -0
- package/dist/core/expressions/{types.d.ts → analysis/types.d.ts} +5 -5
- package/dist/core/expressions/analysis/types.d.ts.map +1 -0
- package/dist/core/expressions/analysis/types.js.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts +92 -0
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-helpers.js +301 -0
- package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts +77 -0
- package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-ternary.js +364 -0
- package/dist/core/expressions/composition/composition-analyzer-ternary.js.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts +37 -0
- package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-traversal.js +375 -0
- package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts +140 -0
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-types.js +8 -0
- package/dist/core/expressions/composition/composition-analyzer-types.js.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer.d.ts +39 -0
- package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer.js +144 -0
- package/dist/core/expressions/composition/composition-analyzer.js.map +1 -0
- package/dist/core/expressions/composition/context-tracker.d.ts +39 -0
- package/dist/core/expressions/composition/context-tracker.d.ts.map +1 -0
- package/dist/core/expressions/composition/context-tracker.js +64 -0
- package/dist/core/expressions/composition/context-tracker.js.map +1 -0
- package/dist/core/expressions/composition/expression-analyzer.d.ts +101 -0
- package/dist/core/expressions/composition/expression-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/composition/expression-analyzer.js +425 -0
- package/dist/core/expressions/composition/expression-analyzer.js.map +1 -0
- package/dist/core/expressions/{imperative-analyzer.d.ts → composition/imperative-analyzer.d.ts} +3 -3
- package/dist/core/expressions/composition/imperative-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/{imperative-analyzer.js → composition/imperative-analyzer.js} +68 -30
- package/dist/core/expressions/composition/imperative-analyzer.js.map +1 -0
- package/dist/core/expressions/composition/index.d.ts +17 -0
- package/dist/core/expressions/composition/index.d.ts.map +1 -0
- package/dist/core/expressions/composition/index.js +18 -0
- package/dist/core/expressions/composition/index.js.map +1 -0
- package/dist/core/expressions/composition/integration-hooks.d.ts +71 -0
- package/dist/core/expressions/composition/integration-hooks.d.ts.map +1 -0
- package/dist/core/expressions/composition/integration-hooks.js +248 -0
- package/dist/core/expressions/composition/integration-hooks.js.map +1 -0
- package/dist/core/expressions/composition/scope-manager.d.ts +93 -0
- package/dist/core/expressions/composition/scope-manager.d.ts.map +1 -0
- package/dist/core/expressions/composition/scope-manager.js +215 -0
- package/dist/core/expressions/composition/scope-manager.js.map +1 -0
- package/dist/core/expressions/composition/types.d.ts +41 -0
- package/dist/core/expressions/composition/types.d.ts.map +1 -0
- package/dist/core/expressions/composition/types.js +7 -0
- package/dist/core/expressions/composition/types.js.map +1 -0
- package/dist/core/expressions/{conditional-expression-processor.d.ts → conditional/conditional-expression-processor.d.ts} +3 -3
- package/dist/core/expressions/conditional/conditional-expression-processor.d.ts.map +1 -0
- package/dist/core/expressions/{conditional-expression-processor.js → conditional/conditional-expression-processor.js} +59 -50
- package/dist/core/expressions/conditional/conditional-expression-processor.js.map +1 -0
- package/dist/core/expressions/{conditional-integration.d.ts → conditional/conditional-integration.d.ts} +13 -35
- package/dist/core/expressions/conditional/conditional-integration.d.ts.map +1 -0
- package/dist/core/expressions/{conditional-integration.js → conditional/conditional-integration.js} +92 -86
- package/dist/core/expressions/conditional/conditional-integration.js.map +1 -0
- package/dist/core/expressions/{context-aware-generator.d.ts → context/context-aware-generator.d.ts} +4 -28
- package/dist/core/expressions/context/context-aware-generator.d.ts.map +1 -0
- package/dist/core/expressions/{context-aware-generator.js → context/context-aware-generator.js} +27 -121
- package/dist/core/expressions/context/context-aware-generator.js.map +1 -0
- package/dist/core/expressions/{context-detector.d.ts → context/context-detector.d.ts} +7 -13
- package/dist/core/expressions/context/context-detector.d.ts.map +1 -0
- package/dist/core/expressions/{context-detector.js → context/context-detector.js} +45 -63
- package/dist/core/expressions/context/context-detector.js.map +1 -0
- package/dist/core/expressions/{context-validator.d.ts → context/context-validator.d.ts} +5 -36
- package/dist/core/expressions/context/context-validator.d.ts.map +1 -0
- package/dist/core/expressions/{context-validator.js → context/context-validator.js} +55 -124
- package/dist/core/expressions/context/context-validator.js.map +1 -0
- package/dist/core/expressions/{cel-conversion-engine.d.ts → factory/cel-conversion-engine.d.ts} +3 -3
- package/dist/core/expressions/factory/cel-conversion-engine.d.ts.map +1 -0
- package/dist/core/expressions/{cel-conversion-engine.js → factory/cel-conversion-engine.js} +19 -19
- package/dist/core/expressions/factory/cel-conversion-engine.js.map +1 -0
- package/dist/core/expressions/factory/dependency-tracker.d.ts +222 -0
- package/dist/core/expressions/factory/dependency-tracker.d.ts.map +1 -0
- package/dist/core/expressions/factory/dependency-tracker.js +512 -0
- package/dist/core/expressions/factory/dependency-tracker.js.map +1 -0
- package/dist/core/expressions/{factory-integration.d.ts → factory/factory-integration.d.ts} +3 -18
- package/dist/core/expressions/factory/factory-integration.d.ts.map +1 -0
- package/dist/core/expressions/{factory-integration.js → factory/factory-integration.js} +28 -29
- package/dist/core/expressions/factory/factory-integration.js.map +1 -0
- package/dist/core/expressions/{factory-pattern-handler.d.ts → factory/factory-pattern-handler.d.ts} +8 -8
- package/dist/core/expressions/factory/factory-pattern-handler.d.ts.map +1 -0
- package/dist/core/expressions/{factory-pattern-handler.js → factory/factory-pattern-handler.js} +101 -73
- package/dist/core/expressions/factory/factory-pattern-handler.js.map +1 -0
- package/dist/core/expressions/{migration-helpers.d.ts → factory/migration-helpers.d.ts} +4 -4
- package/dist/core/expressions/factory/migration-helpers.d.ts.map +1 -0
- package/dist/core/expressions/{migration-helpers.js → factory/migration-helpers.js} +28 -26
- package/dist/core/expressions/factory/migration-helpers.js.map +1 -0
- package/dist/core/expressions/factory/resource-analyzer.d.ts +139 -0
- package/dist/core/expressions/factory/resource-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/factory/resource-analyzer.js +286 -0
- package/dist/core/expressions/factory/resource-analyzer.js.map +1 -0
- package/dist/core/expressions/factory/resource-type-validator.d.ts +149 -0
- package/dist/core/expressions/factory/resource-type-validator.d.ts.map +1 -0
- package/dist/core/expressions/factory/resource-type-validator.js +318 -0
- package/dist/core/expressions/factory/resource-type-validator.js.map +1 -0
- package/dist/core/expressions/factory/status-ast-utils.d.ts +36 -0
- package/dist/core/expressions/factory/status-ast-utils.d.ts.map +1 -0
- package/dist/core/expressions/factory/status-ast-utils.js +320 -0
- package/dist/core/expressions/factory/status-ast-utils.js.map +1 -0
- package/dist/core/expressions/factory/status-builder-analyzer.d.ts +91 -0
- package/dist/core/expressions/factory/status-builder-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/factory/status-builder-analyzer.js +374 -0
- package/dist/core/expressions/factory/status-builder-analyzer.js.map +1 -0
- package/dist/core/expressions/factory/status-builder-types.d.ts +166 -0
- package/dist/core/expressions/factory/status-builder-types.d.ts.map +1 -0
- package/dist/core/expressions/factory/status-builder-types.js +8 -0
- package/dist/core/expressions/factory/status-builder-types.js.map +1 -0
- package/dist/core/expressions/factory/status-cel-generation.d.ts +67 -0
- package/dist/core/expressions/factory/status-cel-generation.d.ts.map +1 -0
- package/dist/core/expressions/factory/status-cel-generation.js +330 -0
- package/dist/core/expressions/factory/status-cel-generation.js.map +1 -0
- package/dist/core/expressions/factory/status-field-analysis.d.ts +57 -0
- package/dist/core/expressions/factory/status-field-analysis.d.ts.map +1 -0
- package/dist/core/expressions/factory/status-field-analysis.js +475 -0
- package/dist/core/expressions/factory/status-field-analysis.js.map +1 -0
- package/dist/core/expressions/index.d.ts +39 -49
- package/dist/core/expressions/index.d.ts.map +1 -1
- package/dist/core/expressions/index.js +46 -45
- package/dist/core/expressions/index.js.map +1 -1
- package/dist/core/expressions/{magic-assignable-analyzer.d.ts → magic-proxy/magic-assignable-analyzer.d.ts} +5 -5
- package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/{magic-assignable-analyzer.js → magic-proxy/magic-assignable-analyzer.js} +29 -24
- package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.js.map +1 -0
- package/dist/core/expressions/{magic-proxy-analyzer.d.ts → magic-proxy/magic-proxy-analyzer.d.ts} +15 -68
- package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/{magic-proxy-analyzer.js → magic-proxy/magic-proxy-analyzer.js} +45 -195
- package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.js.map +1 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts +44 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.js +175 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.js.map +1 -0
- package/dist/core/expressions/{magic-proxy-detector.d.ts → magic-proxy/magic-proxy-detector.d.ts} +7 -7
- package/dist/core/expressions/magic-proxy/magic-proxy-detector.d.ts.map +1 -0
- package/dist/core/expressions/{magic-proxy-detector.js → magic-proxy/magic-proxy-detector.js} +36 -28
- package/dist/core/expressions/magic-proxy/magic-proxy-detector.js.map +1 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts +36 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-types.js +8 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-types.js.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-analysis.d.ts +54 -0
- package/dist/core/expressions/magic-proxy/optionality-analysis.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-analysis.js +239 -0
- package/dist/core/expressions/magic-proxy/optionality-analysis.js.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-cel-generation.d.ts +51 -0
- package/dist/core/expressions/magic-proxy/optionality-cel-generation.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-cel-generation.js +201 -0
- package/dist/core/expressions/magic-proxy/optionality-cel-generation.js.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-handler.d.ts +119 -0
- package/dist/core/expressions/magic-proxy/optionality-handler.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-handler.js +321 -0
- package/dist/core/expressions/magic-proxy/optionality-handler.js.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-hydration.d.ts +84 -0
- package/dist/core/expressions/magic-proxy/optionality-hydration.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-hydration.js +378 -0
- package/dist/core/expressions/magic-proxy/optionality-hydration.js.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-optional-chaining.d.ts +61 -0
- package/dist/core/expressions/magic-proxy/optionality-optional-chaining.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-optional-chaining.js +218 -0
- package/dist/core/expressions/magic-proxy/optionality-optional-chaining.js.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-types.d.ts +206 -0
- package/dist/core/expressions/magic-proxy/optionality-types.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-types.js +9 -0
- package/dist/core/expressions/magic-proxy/optionality-types.js.map +1 -0
- package/dist/core/expressions/validation/compile-time-checker.d.ts +74 -0
- package/dist/core/expressions/validation/compile-time-checker.d.ts.map +1 -0
- package/dist/core/expressions/{compile-time-validation.js → validation/compile-time-checker.js} +44 -91
- package/dist/core/expressions/validation/compile-time-checker.js.map +1 -0
- package/dist/core/expressions/validation/compile-time-errors.d.ts +70 -0
- package/dist/core/expressions/validation/compile-time-errors.d.ts.map +1 -0
- package/dist/core/expressions/validation/compile-time-errors.js +63 -0
- package/dist/core/expressions/validation/compile-time-errors.js.map +1 -0
- package/dist/core/expressions/validation/compile-time-types.d.ts +147 -0
- package/dist/core/expressions/validation/compile-time-types.d.ts.map +1 -0
- package/dist/core/expressions/validation/compile-time-types.js +8 -0
- package/dist/core/expressions/validation/compile-time-types.js.map +1 -0
- package/dist/core/expressions/validation/compile-time-validation.d.ts +13 -0
- package/dist/core/expressions/validation/compile-time-validation.d.ts.map +1 -0
- package/dist/core/expressions/validation/compile-time-validation.js +14 -0
- package/dist/core/expressions/validation/compile-time-validation.js.map +1 -0
- package/dist/core/expressions/validation/kubernetes-field-types.d.ts +35 -0
- package/dist/core/expressions/validation/kubernetes-field-types.d.ts.map +1 -0
- package/dist/core/expressions/validation/kubernetes-field-types.js +230 -0
- package/dist/core/expressions/validation/kubernetes-field-types.js.map +1 -0
- package/dist/core/expressions/validation/resource-field-utils.d.ts +69 -0
- package/dist/core/expressions/validation/resource-field-utils.d.ts.map +1 -0
- package/dist/core/expressions/validation/resource-field-utils.js +280 -0
- package/dist/core/expressions/validation/resource-field-utils.js.map +1 -0
- package/dist/core/expressions/{resource-validation.d.ts → validation/resource-validation-types.d.ts} +6 -63
- package/dist/core/expressions/validation/resource-validation-types.d.ts.map +1 -0
- package/dist/core/expressions/validation/resource-validation-types.js +69 -0
- package/dist/core/expressions/validation/resource-validation-types.js.map +1 -0
- package/dist/core/expressions/validation/resource-validation.d.ts +49 -0
- package/dist/core/expressions/validation/resource-validation.d.ts.map +1 -0
- package/dist/core/expressions/validation/resource-validation.js +288 -0
- package/dist/core/expressions/validation/resource-validation.js.map +1 -0
- package/dist/core/expressions/{type-inference.d.ts → validation/type-inference-types.d.ts} +34 -88
- package/dist/core/expressions/validation/type-inference-types.d.ts.map +1 -0
- package/dist/core/expressions/validation/type-inference-types.js +52 -0
- package/dist/core/expressions/validation/type-inference-types.js.map +1 -0
- package/dist/core/expressions/validation/type-inference.d.ts +86 -0
- package/dist/core/expressions/validation/type-inference.d.ts.map +1 -0
- package/dist/core/expressions/{type-inference.js → validation/type-inference.js} +66 -299
- package/dist/core/expressions/validation/type-inference.js.map +1 -0
- package/dist/core/expressions/{type-safety.d.ts → validation/type-safety.d.ts} +6 -5
- package/dist/core/expressions/validation/type-safety.d.ts.map +1 -0
- package/dist/core/expressions/{type-safety.js → validation/type-safety.js} +34 -19
- package/dist/core/expressions/validation/type-safety.js.map +1 -0
- package/dist/core/kubernetes/api.d.ts.map +1 -1
- package/dist/core/kubernetes/api.js +26 -18
- package/dist/core/kubernetes/api.js.map +1 -1
- package/dist/core/kubernetes/bun-api-client.d.ts +117 -0
- package/dist/core/kubernetes/bun-api-client.d.ts.map +1 -0
- package/dist/core/kubernetes/bun-api-client.js +183 -0
- package/dist/core/kubernetes/bun-api-client.js.map +1 -0
- package/dist/core/kubernetes/bun-http-library.d.ts +104 -0
- package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -0
- package/dist/core/kubernetes/bun-http-library.js +240 -0
- package/dist/core/kubernetes/bun-http-library.js.map +1 -0
- package/dist/core/kubernetes/client-provider.d.ts +124 -35
- package/dist/core/kubernetes/client-provider.d.ts.map +1 -1
- package/dist/core/kubernetes/client-provider.js +209 -84
- package/dist/core/kubernetes/client-provider.js.map +1 -1
- package/dist/core/kubernetes/errors.d.ts +189 -0
- package/dist/core/kubernetes/errors.d.ts.map +1 -0
- package/dist/core/kubernetes/errors.js +298 -0
- package/dist/core/kubernetes/errors.js.map +1 -0
- package/dist/core/kubernetes/index.d.ts +20 -0
- package/dist/core/kubernetes/index.d.ts.map +1 -0
- package/dist/core/kubernetes/index.js +23 -0
- package/dist/core/kubernetes/index.js.map +1 -0
- package/dist/core/kubernetes/type-guards.d.ts +142 -0
- package/dist/core/kubernetes/type-guards.d.ts.map +1 -0
- package/dist/core/kubernetes/type-guards.js +151 -0
- package/dist/core/kubernetes/type-guards.js.map +1 -0
- package/dist/core/logging/config.d.ts.map +1 -1
- package/dist/core/logging/config.js +20 -4
- package/dist/core/logging/config.js.map +1 -1
- package/dist/core/logging/logger.d.ts +3 -3
- package/dist/core/logging/logger.d.ts.map +1 -1
- package/dist/core/logging/logger.js +19 -11
- package/dist/core/logging/logger.js.map +1 -1
- package/dist/core/logging/types.d.ts +13 -8
- package/dist/core/logging/types.d.ts.map +1 -1
- package/dist/core/metadata/index.d.ts +9 -0
- package/dist/core/metadata/index.d.ts.map +1 -0
- package/dist/core/metadata/index.js +9 -0
- package/dist/core/metadata/index.js.map +1 -0
- package/dist/core/metadata/resource-metadata.d.ts +116 -0
- package/dist/core/metadata/resource-metadata.d.ts.map +1 -0
- package/dist/core/metadata/resource-metadata.js +217 -0
- package/dist/core/metadata/resource-metadata.js.map +1 -0
- package/dist/core/proxy/create-resource.d.ts +50 -0
- package/dist/core/proxy/create-resource.d.ts.map +1 -0
- package/dist/core/proxy/create-resource.js +393 -0
- package/dist/core/proxy/create-resource.js.map +1 -0
- package/dist/core/proxy/index.d.ts +8 -0
- package/dist/core/proxy/index.d.ts.map +1 -0
- package/dist/core/proxy/index.js +7 -0
- package/dist/core/proxy/index.js.map +1 -0
- package/dist/core/proxy/known-status-fields.d.ts +27 -0
- package/dist/core/proxy/known-status-fields.d.ts.map +1 -0
- package/dist/core/proxy/known-status-fields.js +185 -0
- package/dist/core/proxy/known-status-fields.js.map +1 -0
- package/dist/core/readiness/evaluator-factories.d.ts +100 -0
- package/dist/core/readiness/evaluator-factories.d.ts.map +1 -0
- package/dist/core/readiness/evaluator-factories.js +168 -0
- package/dist/core/readiness/evaluator-factories.js.map +1 -0
- package/dist/core/readiness/evaluator.d.ts +21 -0
- package/dist/core/readiness/evaluator.d.ts.map +1 -0
- package/dist/core/readiness/evaluator.js +38 -0
- package/dist/core/readiness/evaluator.js.map +1 -0
- package/dist/core/readiness/index.d.ts +3 -0
- package/dist/core/readiness/index.d.ts.map +1 -1
- package/dist/core/readiness/index.js +2 -0
- package/dist/core/readiness/index.js.map +1 -1
- package/dist/core/readiness/registry.d.ts +3 -3
- package/dist/core/readiness/registry.d.ts.map +1 -1
- package/dist/core/readiness/registry.js +2 -0
- package/dist/core/readiness/registry.js.map +1 -1
- package/dist/core/references/cel-evaluator.d.ts +11 -0
- package/dist/core/references/cel-evaluator.d.ts.map +1 -1
- package/dist/core/references/cel-evaluator.js +77 -29
- package/dist/core/references/cel-evaluator.js.map +1 -1
- package/dist/core/references/cel.d.ts +66 -23
- package/dist/core/references/cel.d.ts.map +1 -1
- package/dist/core/references/cel.js +184 -117
- package/dist/core/references/cel.js.map +1 -1
- package/dist/core/references/external-refs.d.ts +39 -21
- package/dist/core/references/external-refs.d.ts.map +1 -1
- package/dist/core/references/external-refs.js +70 -30
- package/dist/core/references/external-refs.js.map +1 -1
- package/dist/core/references/index.d.ts +5 -4
- package/dist/core/references/index.d.ts.map +1 -1
- package/dist/core/references/index.js +6 -6
- package/dist/core/references/index.js.map +1 -1
- package/dist/core/references/resolver.d.ts +26 -3
- package/dist/core/references/resolver.d.ts.map +1 -1
- package/dist/core/references/resolver.js +322 -47
- package/dist/core/references/resolver.js.map +1 -1
- package/dist/core/references/schema-proxy.d.ts.map +1 -1
- package/dist/core/references/schema-proxy.js +105 -14
- package/dist/core/references/schema-proxy.js.map +1 -1
- package/dist/core/resources/factory-registry.d.ts +99 -0
- package/dist/core/resources/factory-registry.d.ts.map +1 -0
- package/dist/core/resources/factory-registry.js +166 -0
- package/dist/core/resources/factory-registry.js.map +1 -0
- package/dist/core/resources/id.d.ts +44 -0
- package/dist/core/resources/id.d.ts.map +1 -0
- package/dist/core/resources/id.js +78 -0
- package/dist/core/resources/id.js.map +1 -0
- package/dist/core/resources/index.d.ts +7 -0
- package/dist/core/resources/index.d.ts.map +1 -0
- package/dist/core/resources/index.js +6 -0
- package/dist/core/resources/index.js.map +1 -0
- package/dist/core/runtime-patches/crd-patcher.d.ts +30 -0
- package/dist/core/runtime-patches/crd-patcher.d.ts.map +1 -0
- package/dist/core/runtime-patches/crd-patcher.js +124 -0
- package/dist/core/runtime-patches/crd-patcher.js.map +1 -0
- package/dist/core/runtime-patches/crd-schema-fix.d.ts +145 -0
- package/dist/core/runtime-patches/crd-schema-fix.d.ts.map +1 -0
- package/dist/core/runtime-patches/crd-schema-fix.js +349 -0
- package/dist/core/runtime-patches/crd-schema-fix.js.map +1 -0
- package/dist/core/runtime-patches/index.d.ts +8 -0
- package/dist/core/runtime-patches/index.d.ts.map +1 -0
- package/dist/core/runtime-patches/index.js +8 -0
- package/dist/core/runtime-patches/index.js.map +1 -0
- package/dist/core/{evaluation → serialization}/cel-optimizer.d.ts +2 -2
- package/dist/core/serialization/cel-optimizer.d.ts.map +1 -0
- package/dist/core/{evaluation → serialization}/cel-optimizer.js +11 -23
- package/dist/core/serialization/cel-optimizer.js.map +1 -0
- package/dist/core/serialization/cel-references.d.ts +36 -0
- package/dist/core/serialization/cel-references.d.ts.map +1 -0
- package/dist/core/serialization/cel-references.js +183 -0
- package/dist/core/serialization/cel-references.js.map +1 -0
- package/dist/core/serialization/core.d.ts +168 -3
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +392 -691
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/index.d.ts +3 -1
- package/dist/core/serialization/index.d.ts.map +1 -1
- package/dist/core/serialization/index.js +5 -1
- package/dist/core/serialization/index.js.map +1 -1
- package/dist/core/serialization/schema.d.ts +34 -3
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +141 -11
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/serialization/status-analysis-helpers.d.ts +68 -0
- package/dist/core/serialization/status-analysis-helpers.d.ts.map +1 -0
- package/dist/core/serialization/status-analysis-helpers.js +284 -0
- package/dist/core/serialization/status-analysis-helpers.js.map +1 -0
- package/dist/core/serialization/status-analysis-pipeline.d.ts +63 -0
- package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -0
- package/dist/core/serialization/status-analysis-pipeline.js +419 -0
- package/dist/core/serialization/status-analysis-pipeline.js.map +1 -0
- package/dist/core/serialization/validation.d.ts.map +1 -1
- package/dist/core/serialization/validation.js +5 -3
- package/dist/core/serialization/validation.js.map +1 -1
- package/dist/core/serialization/yaml.d.ts +14 -3
- package/dist/core/serialization/yaml.d.ts.map +1 -1
- package/dist/core/serialization/yaml.js +453 -13
- package/dist/core/serialization/yaml.js.map +1 -1
- package/dist/core/types/common.d.ts +66 -9
- package/dist/core/types/common.d.ts.map +1 -1
- package/dist/core/types/deployment.d.ts +289 -81
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/core/types/deployment.js +1 -23
- package/dist/core/types/deployment.js.map +1 -1
- package/dist/core/types/index.d.ts +6 -10
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js +32 -4
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/kubernetes.d.ts +371 -19
- package/dist/core/types/kubernetes.d.ts.map +1 -1
- package/dist/core/types/kubernetes.js +11 -1
- package/dist/core/types/kubernetes.js.map +1 -1
- package/dist/core/types/references.d.ts +74 -4
- package/dist/core/types/references.d.ts.map +1 -1
- package/dist/core/types/references.js +3 -2
- package/dist/core/types/references.js.map +1 -1
- package/dist/core/types/resource-graph.d.ts +9 -33
- package/dist/core/types/resource-graph.d.ts.map +1 -1
- package/dist/core/types/resource-graph.js +2 -2
- package/dist/core/types/schema.d.ts +51 -0
- package/dist/core/types/schema.d.ts.map +1 -0
- package/dist/core/types/schema.js +9 -0
- package/dist/core/types/schema.js.map +1 -0
- package/dist/core/types/serialization.d.ts +105 -35
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/core/types/yaml.d.ts +0 -24
- package/dist/core/types/yaml.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.d.ts +5 -5
- package/dist/core/validation/cel-validator.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.js +83 -19
- package/dist/core/validation/cel-validator.js.map +1 -1
- package/dist/core/yaml/path-resolver.d.ts +21 -6
- package/dist/core/yaml/path-resolver.d.ts.map +1 -1
- package/dist/core/yaml/path-resolver.js +404 -38
- package/dist/core/yaml/path-resolver.js.map +1 -1
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts +42 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.js +267 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -0
- package/dist/factories/apisix/compositions/index.d.ts +5 -0
- package/dist/factories/apisix/compositions/index.d.ts.map +1 -0
- package/dist/factories/apisix/compositions/index.js +5 -0
- package/dist/factories/apisix/compositions/index.js.map +1 -0
- package/dist/factories/apisix/index.d.ts +11 -0
- package/dist/factories/apisix/index.d.ts.map +1 -0
- package/dist/factories/apisix/index.js +11 -0
- package/dist/factories/apisix/index.js.map +1 -0
- package/dist/factories/apisix/resources/helm.d.ts +59 -0
- package/dist/factories/apisix/resources/helm.d.ts.map +1 -0
- package/dist/factories/apisix/resources/helm.js +148 -0
- package/dist/factories/apisix/resources/helm.js.map +1 -0
- package/dist/factories/apisix/resources/index.d.ts +5 -0
- package/dist/factories/apisix/resources/index.d.ts.map +1 -0
- package/dist/factories/apisix/resources/index.js +5 -0
- package/dist/factories/apisix/resources/index.js.map +1 -0
- package/dist/factories/apisix/types.d.ts +372 -0
- package/dist/factories/apisix/types.d.ts.map +1 -0
- package/dist/factories/apisix/types.js +88 -0
- package/dist/factories/apisix/types.js.map +1 -0
- package/dist/factories/apisix/utils/admin-credentials.d.ts +43 -0
- package/dist/factories/apisix/utils/admin-credentials.d.ts.map +1 -0
- package/dist/factories/apisix/utils/admin-credentials.js +82 -0
- package/dist/factories/apisix/utils/admin-credentials.js.map +1 -0
- package/dist/factories/apisix/utils/helm-values-mapper.d.ts +19 -0
- package/dist/factories/apisix/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/apisix/utils/helm-values-mapper.js +106 -0
- package/dist/factories/apisix/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/apisix/utils/index.d.ts +6 -0
- package/dist/factories/apisix/utils/index.d.ts.map +1 -0
- package/dist/factories/apisix/utils/index.js +6 -0
- package/dist/factories/apisix/utils/index.js.map +1 -0
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts +45 -0
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts.map +1 -0
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js +309 -0
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js.map +1 -0
- package/dist/factories/cert-manager/compositions/index.d.ts +2 -0
- package/dist/factories/cert-manager/compositions/index.d.ts.map +1 -0
- package/dist/factories/cert-manager/compositions/index.js +2 -0
- package/dist/factories/cert-manager/compositions/index.js.map +1 -0
- package/dist/factories/cert-manager/index.d.ts +10 -0
- package/dist/factories/cert-manager/index.d.ts.map +1 -0
- package/dist/factories/cert-manager/index.js +19 -0
- package/dist/factories/cert-manager/index.js.map +1 -0
- package/dist/factories/cert-manager/resources/certificates.d.ts +39 -0
- package/dist/factories/cert-manager/resources/certificates.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/certificates.js +97 -0
- package/dist/factories/cert-manager/resources/certificates.js.map +1 -0
- package/dist/factories/cert-manager/resources/challenges.d.ts +113 -0
- package/dist/factories/cert-manager/resources/challenges.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/challenges.js +281 -0
- package/dist/factories/cert-manager/resources/challenges.js.map +1 -0
- package/dist/factories/cert-manager/resources/helm.d.ts +37 -0
- package/dist/factories/cert-manager/resources/helm.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/helm.js +253 -0
- package/dist/factories/cert-manager/resources/helm.js.map +1 -0
- package/dist/factories/cert-manager/resources/index.d.ts +5 -0
- package/dist/factories/cert-manager/resources/index.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/index.js +6 -0
- package/dist/factories/cert-manager/resources/index.js.map +1 -0
- package/dist/factories/cert-manager/resources/issuers.d.ts +79 -0
- package/dist/factories/cert-manager/resources/issuers.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/issuers.js +109 -0
- package/dist/factories/cert-manager/resources/issuers.js.map +1 -0
- package/dist/factories/cert-manager/types.d.ts +942 -0
- package/dist/factories/cert-manager/types.d.ts.map +1 -0
- package/dist/factories/cert-manager/types.js +178 -0
- package/dist/factories/cert-manager/types.js.map +1 -0
- package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts +23 -0
- package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/cert-manager/utils/helm-values-mapper.js +116 -0
- package/dist/factories/cert-manager/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/cert-manager/utils/index.d.ts +2 -0
- package/dist/factories/cert-manager/utils/index.d.ts.map +1 -0
- package/dist/factories/cert-manager/utils/index.js +2 -0
- package/dist/factories/cert-manager/utils/index.js.map +1 -0
- package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts +220 -0
- package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts.map +1 -0
- package/dist/factories/cilium/compositions/cilium-bootstrap.js +321 -0
- package/dist/factories/cilium/compositions/cilium-bootstrap.js.map +1 -0
- package/dist/factories/cilium/compositions/index.d.ts +8 -0
- package/dist/factories/cilium/compositions/index.d.ts.map +1 -0
- package/dist/factories/cilium/compositions/index.js +11 -0
- package/dist/factories/cilium/compositions/index.js.map +1 -0
- package/dist/factories/cilium/errors.d.ts +41 -0
- package/dist/factories/cilium/errors.d.ts.map +1 -0
- package/dist/factories/cilium/errors.js +75 -0
- package/dist/factories/cilium/errors.js.map +1 -0
- package/dist/factories/cilium/index.d.ts +11 -0
- package/dist/factories/cilium/index.d.ts.map +1 -0
- package/dist/factories/cilium/index.js +23 -0
- package/dist/factories/cilium/index.js.map +1 -0
- package/dist/factories/cilium/resources/gateway.d.ts +72 -0
- package/dist/factories/cilium/resources/gateway.d.ts.map +1 -0
- package/dist/factories/cilium/resources/gateway.js +116 -0
- package/dist/factories/cilium/resources/gateway.js.map +1 -0
- package/dist/factories/cilium/resources/helm.d.ts +93 -0
- package/dist/factories/cilium/resources/helm.d.ts.map +1 -0
- package/dist/factories/cilium/resources/helm.js +369 -0
- package/dist/factories/cilium/resources/helm.js.map +1 -0
- package/dist/factories/cilium/resources/index.d.ts +10 -0
- package/dist/factories/cilium/resources/index.d.ts.map +1 -0
- package/dist/factories/cilium/resources/index.js +19 -0
- package/dist/factories/cilium/resources/index.js.map +1 -0
- package/dist/factories/cilium/resources/networking.d.ts +198 -0
- package/dist/factories/cilium/resources/networking.d.ts.map +1 -0
- package/dist/factories/cilium/resources/networking.js +482 -0
- package/dist/factories/cilium/resources/networking.js.map +1 -0
- package/dist/factories/cilium/types.d.ts +957 -0
- package/dist/factories/cilium/types.d.ts.map +1 -0
- package/dist/factories/cilium/types.js +10 -0
- package/dist/factories/cilium/types.js.map +1 -0
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts +32 -0
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts.map +1 -0
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.js +146 -0
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.js.map +1 -0
- package/dist/factories/external-dns/compositions/index.d.ts +2 -0
- package/dist/factories/external-dns/compositions/index.d.ts.map +1 -0
- package/dist/factories/external-dns/compositions/index.js +3 -0
- package/dist/factories/external-dns/compositions/index.js.map +1 -0
- package/dist/factories/external-dns/index.d.ts +10 -0
- package/dist/factories/external-dns/index.d.ts.map +1 -0
- package/dist/factories/external-dns/index.js +19 -0
- package/dist/factories/external-dns/index.js.map +1 -0
- package/dist/factories/external-dns/resources/dns-endpoint.d.ts +54 -0
- package/dist/factories/external-dns/resources/dns-endpoint.d.ts.map +1 -0
- package/dist/factories/external-dns/resources/dns-endpoint.js +53 -0
- package/dist/factories/external-dns/resources/dns-endpoint.js.map +1 -0
- package/dist/factories/external-dns/resources/helm.d.ts +57 -0
- package/dist/factories/external-dns/resources/helm.d.ts.map +1 -0
- package/dist/factories/external-dns/resources/helm.js +440 -0
- package/dist/factories/external-dns/resources/helm.js.map +1 -0
- package/dist/factories/external-dns/resources/index.d.ts +3 -0
- package/dist/factories/external-dns/resources/index.d.ts.map +1 -0
- package/dist/factories/external-dns/resources/index.js +4 -0
- package/dist/factories/external-dns/resources/index.js.map +1 -0
- package/dist/factories/external-dns/types.d.ts +180 -0
- package/dist/factories/external-dns/types.d.ts.map +1 -0
- package/dist/factories/external-dns/types.js +39 -0
- package/dist/factories/external-dns/types.js.map +1 -0
- package/dist/factories/flux/git-repository.d.ts +14 -4
- package/dist/factories/flux/git-repository.d.ts.map +1 -1
- package/dist/factories/flux/git-repository.js +33 -0
- package/dist/factories/flux/git-repository.js.map +1 -1
- package/dist/factories/flux/kustomize/kustomization.d.ts +2 -0
- package/dist/factories/flux/kustomize/kustomization.d.ts.map +1 -1
- package/dist/factories/flux/kustomize/kustomization.js.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 +3 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/helm-release.d.ts +13 -0
- package/dist/factories/helm/helm-release.d.ts.map +1 -1
- package/dist/factories/helm/helm-release.js +35 -16
- package/dist/factories/helm/helm-release.js.map +1 -1
- package/dist/factories/helm/helm-repository.d.ts +26 -1
- package/dist/factories/helm/helm-repository.d.ts.map +1 -1
- package/dist/factories/helm/helm-repository.js +30 -17
- package/dist/factories/helm/helm-repository.js.map +1 -1
- package/dist/factories/helm/index.d.ts +10 -4
- package/dist/factories/helm/index.d.ts.map +1 -1
- package/dist/factories/helm/index.js +10 -4
- package/dist/factories/helm/index.js.map +1 -1
- package/dist/factories/helm/readiness-evaluators.d.ts +21 -8
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/helm/readiness-evaluators.js +98 -82
- package/dist/factories/helm/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/types.d.ts +37 -3
- package/dist/factories/helm/types.d.ts.map +1 -1
- package/dist/factories/index.d.ts +8 -3
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +27 -4
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/kro/kro-crd.d.ts.map +1 -1
- package/dist/factories/kro/kro-crd.js +3 -2
- package/dist/factories/kro/kro-crd.js.map +1 -1
- package/dist/factories/kro/kro-custom-resource.d.ts.map +1 -1
- package/dist/factories/kro/kro-custom-resource.js +3 -2
- package/dist/factories/kro/kro-custom-resource.js.map +1 -1
- package/dist/factories/kro/resource-graph-definition.d.ts +29 -1
- package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -1
- package/dist/factories/kro/resource-graph-definition.js +26 -8
- package/dist/factories/kro/resource-graph-definition.js.map +1 -1
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts +3 -2
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts.map +1 -1
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js +3 -2
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js.map +1 -1
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts +3 -2
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts.map +1 -1
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.js +3 -2
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.js.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts +3 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts +3 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js +2 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js.map +1 -1
- package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts +3 -1
- package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts.map +1 -1
- package/dist/factories/kubernetes/certificates/certificate-signing-request.js.map +1 -1
- package/dist/factories/kubernetes/config/config-map.d.ts +17 -1
- package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -1
- package/dist/factories/kubernetes/config/config-map.js +25 -7
- package/dist/factories/kubernetes/config/config-map.js.map +1 -1
- package/dist/factories/kubernetes/config/secret.d.ts +23 -1
- package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
- package/dist/factories/kubernetes/config/secret.js +31 -7
- package/dist/factories/kubernetes/config/secret.js.map +1 -1
- package/dist/factories/kubernetes/coordination/lease.d.ts +3 -1
- package/dist/factories/kubernetes/coordination/lease.d.ts.map +1 -1
- package/dist/factories/kubernetes/coordination/lease.js +2 -1
- package/dist/factories/kubernetes/coordination/lease.js.map +1 -1
- package/dist/factories/kubernetes/core/component-status.d.ts +3 -1
- package/dist/factories/kubernetes/core/component-status.d.ts.map +1 -1
- package/dist/factories/kubernetes/core/component-status.js.map +1 -1
- package/dist/factories/kubernetes/core/namespace.d.ts +10 -0
- package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -1
- package/dist/factories/kubernetes/core/namespace.js +13 -2
- package/dist/factories/kubernetes/core/namespace.js.map +1 -1
- package/dist/factories/kubernetes/core/node.d.ts +3 -1
- package/dist/factories/kubernetes/core/node.d.ts.map +1 -1
- package/dist/factories/kubernetes/core/node.js.map +1 -1
- package/dist/factories/kubernetes/core/pod.d.ts +3 -1
- package/dist/factories/kubernetes/core/pod.d.ts.map +1 -1
- package/dist/factories/kubernetes/core/pod.js +2 -1
- package/dist/factories/kubernetes/core/pod.js.map +1 -1
- package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts +3 -1
- package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts.map +1 -1
- package/dist/factories/kubernetes/extensions/custom-resource-definition.js.map +1 -1
- package/dist/factories/kubernetes/extensions/custom-resource.d.ts +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource.d.ts.map +1 -1
- package/dist/factories/kubernetes/extensions/custom-resource.js +5 -1
- package/dist/factories/kubernetes/extensions/custom-resource.js.map +1 -1
- package/dist/factories/kubernetes/index.d.ts +0 -2
- package/dist/factories/kubernetes/index.d.ts.map +1 -1
- package/dist/factories/kubernetes/index.js +3 -8
- package/dist/factories/kubernetes/index.js.map +1 -1
- package/dist/factories/kubernetes/networking/endpoint-slice.d.ts +3 -1
- package/dist/factories/kubernetes/networking/endpoint-slice.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/endpoint-slice.js.map +1 -1
- package/dist/factories/kubernetes/networking/endpoints.d.ts +3 -1
- package/dist/factories/kubernetes/networking/endpoints.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/endpoints.js +3 -2
- package/dist/factories/kubernetes/networking/endpoints.js.map +1 -1
- package/dist/factories/kubernetes/networking/ingress-class.d.ts +3 -1
- package/dist/factories/kubernetes/networking/ingress-class.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/ingress-class.js +2 -7
- package/dist/factories/kubernetes/networking/ingress-class.js.map +1 -1
- package/dist/factories/kubernetes/networking/ingress.d.ts +15 -2
- package/dist/factories/kubernetes/networking/ingress.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/ingress.js +64 -11
- package/dist/factories/kubernetes/networking/ingress.js.map +1 -1
- package/dist/factories/kubernetes/networking/network-policy.d.ts +3 -1
- package/dist/factories/kubernetes/networking/network-policy.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/network-policy.js +2 -8
- package/dist/factories/kubernetes/networking/network-policy.js.map +1 -1
- package/dist/factories/kubernetes/networking/service.d.ts +14 -1
- package/dist/factories/kubernetes/networking/service.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/service.js +28 -3
- package/dist/factories/kubernetes/networking/service.js.map +1 -1
- package/dist/factories/kubernetes/policy/limit-range.d.ts +3 -1
- package/dist/factories/kubernetes/policy/limit-range.d.ts.map +1 -1
- package/dist/factories/kubernetes/policy/limit-range.js +2 -8
- package/dist/factories/kubernetes/policy/limit-range.js.map +1 -1
- package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts +3 -1
- package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts.map +1 -1
- package/dist/factories/kubernetes/policy/pod-disruption-budget.js +3 -2
- package/dist/factories/kubernetes/policy/pod-disruption-budget.js.map +1 -1
- package/dist/factories/kubernetes/policy/resource-quota.d.ts +3 -1
- package/dist/factories/kubernetes/policy/resource-quota.d.ts.map +1 -1
- package/dist/factories/kubernetes/policy/resource-quota.js +3 -2
- package/dist/factories/kubernetes/policy/resource-quota.js.map +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts +20 -1
- package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts.map +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js +19 -8
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js.map +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role.d.ts +3 -1
- package/dist/factories/kubernetes/rbac/cluster-role.d.ts.map +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role.js +2 -8
- package/dist/factories/kubernetes/rbac/cluster-role.js.map +1 -1
- package/dist/factories/kubernetes/rbac/role-binding.d.ts +3 -1
- package/dist/factories/kubernetes/rbac/role-binding.d.ts.map +1 -1
- package/dist/factories/kubernetes/rbac/role-binding.js +2 -8
- package/dist/factories/kubernetes/rbac/role-binding.js.map +1 -1
- package/dist/factories/kubernetes/rbac/role.d.ts +3 -1
- package/dist/factories/kubernetes/rbac/role.d.ts.map +1 -1
- package/dist/factories/kubernetes/rbac/role.js +2 -8
- package/dist/factories/kubernetes/rbac/role.js.map +1 -1
- package/dist/factories/kubernetes/rbac/service-account.d.ts +3 -1
- package/dist/factories/kubernetes/rbac/service-account.d.ts.map +1 -1
- package/dist/factories/kubernetes/rbac/service-account.js +2 -8
- package/dist/factories/kubernetes/rbac/service-account.js.map +1 -1
- package/dist/factories/kubernetes/scheduling/priority-class.d.ts +3 -1
- package/dist/factories/kubernetes/scheduling/priority-class.d.ts.map +1 -1
- package/dist/factories/kubernetes/scheduling/priority-class.js +2 -7
- package/dist/factories/kubernetes/scheduling/priority-class.js.map +1 -1
- package/dist/factories/kubernetes/scheduling/runtime-class.d.ts +3 -2
- package/dist/factories/kubernetes/scheduling/runtime-class.d.ts.map +1 -1
- package/dist/factories/kubernetes/scheduling/runtime-class.js +2 -1
- package/dist/factories/kubernetes/scheduling/runtime-class.js.map +1 -1
- package/dist/factories/kubernetes/storage/csi-driver.d.ts +3 -1
- package/dist/factories/kubernetes/storage/csi-driver.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/csi-driver.js +2 -7
- package/dist/factories/kubernetes/storage/csi-driver.js.map +1 -1
- package/dist/factories/kubernetes/storage/csi-node.d.ts +3 -1
- package/dist/factories/kubernetes/storage/csi-node.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/csi-node.js +2 -1
- package/dist/factories/kubernetes/storage/csi-node.js.map +1 -1
- package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts +14 -1
- package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/persistent-volume-claim.js +13 -1
- package/dist/factories/kubernetes/storage/persistent-volume-claim.js.map +1 -1
- package/dist/factories/kubernetes/storage/persistent-volume.d.ts +3 -1
- package/dist/factories/kubernetes/storage/persistent-volume.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/persistent-volume.js +3 -2
- package/dist/factories/kubernetes/storage/persistent-volume.js.map +1 -1
- package/dist/factories/kubernetes/storage/storage-class.d.ts +3 -1
- package/dist/factories/kubernetes/storage/storage-class.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/storage-class.js +2 -8
- package/dist/factories/kubernetes/storage/storage-class.js.map +1 -1
- package/dist/factories/kubernetes/storage/volume-attachment.d.ts +3 -1
- package/dist/factories/kubernetes/storage/volume-attachment.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/volume-attachment.js +10 -0
- package/dist/factories/kubernetes/storage/volume-attachment.js.map +1 -1
- package/dist/factories/kubernetes/workloads/cron-job.d.ts +14 -1
- package/dist/factories/kubernetes/workloads/cron-job.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/cron-job.js +14 -2
- package/dist/factories/kubernetes/workloads/cron-job.js.map +1 -1
- package/dist/factories/kubernetes/workloads/daemon-set.d.ts +14 -1
- package/dist/factories/kubernetes/workloads/daemon-set.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/daemon-set.js +13 -1
- package/dist/factories/kubernetes/workloads/daemon-set.js.map +1 -1
- package/dist/factories/kubernetes/workloads/deployment.d.ts +14 -1
- package/dist/factories/kubernetes/workloads/deployment.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/deployment.js +35 -5
- package/dist/factories/kubernetes/workloads/deployment.js.map +1 -1
- package/dist/factories/kubernetes/workloads/job.d.ts +14 -1
- package/dist/factories/kubernetes/workloads/job.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/job.js +19 -2
- package/dist/factories/kubernetes/workloads/job.js.map +1 -1
- package/dist/factories/kubernetes/workloads/replica-set.d.ts +3 -1
- package/dist/factories/kubernetes/workloads/replica-set.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/replica-set.js +2 -1
- package/dist/factories/kubernetes/workloads/replica-set.js.map +1 -1
- package/dist/factories/kubernetes/workloads/replication-controller.d.ts +3 -1
- package/dist/factories/kubernetes/workloads/replication-controller.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/replication-controller.js +3 -2
- package/dist/factories/kubernetes/workloads/replication-controller.js.map +1 -1
- package/dist/factories/kubernetes/workloads/stateful-set.d.ts +14 -1
- package/dist/factories/kubernetes/workloads/stateful-set.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/stateful-set.js +22 -2
- package/dist/factories/kubernetes/workloads/stateful-set.js.map +1 -1
- package/dist/factories/kubernetes/yaml/conflict-handler.d.ts +23 -0
- package/dist/factories/kubernetes/yaml/conflict-handler.d.ts.map +1 -0
- package/dist/factories/kubernetes/yaml/conflict-handler.js +83 -0
- package/dist/factories/kubernetes/yaml/conflict-handler.js.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts +6 -11
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-directory.js +10 -75
- package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts +72 -13
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.js +271 -91
- package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
- package/dist/factories/pebble/compositions/index.d.ts +2 -0
- package/dist/factories/pebble/compositions/index.d.ts.map +1 -0
- package/dist/factories/pebble/compositions/index.js +3 -0
- package/dist/factories/pebble/compositions/index.js.map +1 -0
- package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts +56 -0
- package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts.map +1 -0
- package/dist/factories/pebble/compositions/pebble-bootstrap.js +95 -0
- package/dist/factories/pebble/compositions/pebble-bootstrap.js.map +1 -0
- package/dist/factories/pebble/index.d.ts +10 -0
- package/dist/factories/pebble/index.d.ts.map +1 -0
- package/dist/factories/pebble/index.js +19 -0
- package/dist/factories/pebble/index.js.map +1 -0
- package/dist/factories/pebble/resources/helm.d.ts +99 -0
- package/dist/factories/pebble/resources/helm.d.ts.map +1 -0
- package/dist/factories/pebble/resources/helm.js +148 -0
- package/dist/factories/pebble/resources/helm.js.map +1 -0
- package/dist/factories/pebble/resources/index.d.ts +2 -0
- package/dist/factories/pebble/resources/index.d.ts.map +1 -0
- package/dist/factories/pebble/resources/index.js +3 -0
- package/dist/factories/pebble/resources/index.js.map +1 -0
- package/dist/factories/pebble/types.d.ts +184 -0
- package/dist/factories/pebble/types.d.ts.map +1 -0
- package/dist/factories/pebble/types.js +23 -0
- package/dist/factories/pebble/types.js.map +1 -0
- package/dist/factories/pebble/utils/helm-values-mapper.d.ts +21 -0
- package/dist/factories/pebble/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/pebble/utils/helm-values-mapper.js +96 -0
- package/dist/factories/pebble/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/shared.d.ts +12 -54
- package/dist/factories/shared.d.ts.map +1 -1
- package/dist/factories/shared.js +10 -450
- package/dist/factories/shared.js.map +1 -1
- package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.d.ts +11 -0
- package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -1
- package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.js +12 -0
- package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.js.map +1 -1
- package/dist/factories/simple/compositions/web-service.d.ts +35 -0
- package/dist/factories/simple/compositions/web-service.d.ts.map +1 -0
- package/dist/{core/composition/composition.js → factories/simple/compositions/web-service.js} +15 -2
- package/dist/factories/simple/compositions/web-service.js.map +1 -0
- package/dist/factories/simple/config/config-map.d.ts +18 -2
- package/dist/factories/simple/config/config-map.d.ts.map +1 -1
- package/dist/factories/simple/config/config-map.js +14 -0
- package/dist/factories/simple/config/config-map.js.map +1 -1
- package/dist/factories/simple/config/secret.d.ts +22 -2
- package/dist/factories/simple/config/secret.d.ts.map +1 -1
- package/dist/factories/simple/config/secret.js +39 -3
- package/dist/factories/simple/config/secret.js.map +1 -1
- package/dist/factories/simple/helm/index.d.ts +10 -0
- package/dist/factories/simple/helm/index.d.ts.map +1 -1
- package/dist/factories/simple/helm/index.js +10 -0
- package/dist/factories/simple/helm/index.js.map +1 -1
- package/dist/factories/simple/index.d.ts +1 -1
- package/dist/factories/simple/networking/ingress.d.ts +14 -2
- package/dist/factories/simple/networking/ingress.d.ts.map +1 -1
- package/dist/factories/simple/networking/ingress.js +12 -0
- package/dist/factories/simple/networking/ingress.js.map +1 -1
- package/dist/factories/simple/networking/network-policy.d.ts +11 -1
- package/dist/factories/simple/networking/network-policy.d.ts.map +1 -1
- package/dist/factories/simple/networking/network-policy.js +10 -0
- package/dist/factories/simple/networking/network-policy.js.map +1 -1
- package/dist/factories/simple/networking/service.d.ts +10 -0
- package/dist/factories/simple/networking/service.d.ts.map +1 -1
- package/dist/factories/simple/networking/service.js +10 -0
- package/dist/factories/simple/networking/service.js.map +1 -1
- package/dist/factories/simple/storage/persistent-volume-claim.d.ts +10 -0
- package/dist/factories/simple/storage/persistent-volume-claim.d.ts.map +1 -1
- package/dist/factories/simple/storage/persistent-volume-claim.js +11 -0
- package/dist/factories/simple/storage/persistent-volume-claim.js.map +1 -1
- package/dist/factories/simple/storage/persistent-volume.d.ts +11 -0
- package/dist/factories/simple/storage/persistent-volume.d.ts.map +1 -1
- package/dist/factories/simple/storage/persistent-volume.js +12 -0
- package/dist/factories/simple/storage/persistent-volume.js.map +1 -1
- package/dist/factories/simple/types.d.ts +21 -1
- package/dist/factories/simple/types.d.ts.map +1 -1
- package/dist/factories/simple/workloads/cron-job.d.ts +10 -0
- package/dist/factories/simple/workloads/cron-job.d.ts.map +1 -1
- package/dist/factories/simple/workloads/cron-job.js +11 -0
- package/dist/factories/simple/workloads/cron-job.js.map +1 -1
- package/dist/factories/simple/workloads/daemon-set.d.ts +9 -0
- package/dist/factories/simple/workloads/daemon-set.d.ts.map +1 -1
- package/dist/factories/simple/workloads/daemon-set.js +9 -0
- package/dist/factories/simple/workloads/daemon-set.js.map +1 -1
- package/dist/factories/simple/workloads/deployment.d.ts +11 -1
- package/dist/factories/simple/workloads/deployment.d.ts.map +1 -1
- package/dist/factories/simple/workloads/deployment.js +19 -9
- package/dist/factories/simple/workloads/deployment.js.map +1 -1
- package/dist/factories/simple/workloads/job.d.ts +10 -0
- package/dist/factories/simple/workloads/job.d.ts.map +1 -1
- package/dist/factories/simple/workloads/job.js +11 -0
- package/dist/factories/simple/workloads/job.js.map +1 -1
- package/dist/factories/simple/workloads/stateful-set.d.ts +11 -0
- package/dist/factories/simple/workloads/stateful-set.d.ts.map +1 -1
- package/dist/factories/simple/workloads/stateful-set.js +12 -0
- package/dist/factories/simple/workloads/stateful-set.js.map +1 -1
- package/dist/factories/simple/yaml/index.d.ts +8 -0
- package/dist/factories/simple/yaml/index.d.ts.map +1 -1
- package/dist/factories/simple/yaml/index.js +8 -0
- package/dist/factories/simple/yaml/index.js.map +1 -1
- package/dist/index.d.ts +105 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +115 -42
- package/dist/index.js.map +1 -1
- package/dist/shared/brands.d.ts +32 -0
- package/dist/shared/brands.d.ts.map +1 -0
- package/dist/shared/brands.js +32 -0
- package/dist/shared/brands.js.map +1 -0
- package/dist/utils/helpers.d.ts +31 -57
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +47 -428
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/index.d.ts +5 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +8 -6
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/string.d.ts +31 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/dist/utils/string.js +82 -0
- package/dist/utils/string.js.map +1 -0
- package/dist/utils/type-guards.d.ts +20 -6
- package/dist/utils/type-guards.d.ts.map +1 -1
- package/dist/utils/type-guards.js +78 -20
- package/dist/utils/type-guards.js.map +1 -1
- package/package.json +66 -16
- package/dist/core/composition/composition.d.ts +0 -10
- package/dist/core/composition/composition.d.ts.map +0 -1
- package/dist/core/composition/composition.js.map +0 -1
- package/dist/core/composition/typekro-runtime/index.d.ts +0 -3
- package/dist/core/composition/typekro-runtime/index.d.ts.map +0 -1
- package/dist/core/composition/typekro-runtime/index.js.map +0 -1
- package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +0 -1
- package/dist/core/composition/typekro-runtime/typekro-runtime.js +0 -99
- package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +0 -1
- package/dist/core/composition/typekro-runtime/types.d.ts +0 -16
- package/dist/core/composition/typekro-runtime/types.d.ts.map +0 -1
- package/dist/core/composition/typekro-runtime/types.js.map +0 -1
- package/dist/core/composition/types.d.ts +0 -27
- package/dist/core/composition/types.d.ts.map +0 -1
- package/dist/core/composition/types.js +0 -8
- package/dist/core/composition/types.js.map +0 -1
- package/dist/core/dependencies/type-guards.d.ts +0 -17
- package/dist/core/dependencies/type-guards.d.ts.map +0 -1
- package/dist/core/dependencies/type-guards.js +0 -40
- package/dist/core/dependencies/type-guards.js.map +0 -1
- package/dist/core/deployment/deployment-strategies.d.ts +0 -12
- package/dist/core/deployment/deployment-strategies.d.ts.map +0 -1
- package/dist/core/deployment/deployment-strategies.js +0 -11
- package/dist/core/deployment/deployment-strategies.js.map +0 -1
- package/dist/core/deployment/event-streamer.d.ts +0 -112
- package/dist/core/deployment/event-streamer.d.ts.map +0 -1
- package/dist/core/deployment/event-streamer.js +0 -348
- package/dist/core/deployment/event-streamer.js.map +0 -1
- package/dist/core/direct-deployment.d.ts +0 -8
- package/dist/core/direct-deployment.d.ts.map +0 -1
- package/dist/core/direct-deployment.js +0 -9
- package/dist/core/direct-deployment.js.map +0 -1
- package/dist/core/evaluation/cel-optimizer.d.ts.map +0 -1
- package/dist/core/evaluation/cel-optimizer.js.map +0 -1
- package/dist/core/expressions/analyzer.d.ts +0 -584
- package/dist/core/expressions/analyzer.d.ts.map +0 -1
- package/dist/core/expressions/analyzer.js +0 -2956
- package/dist/core/expressions/analyzer.js.map +0 -1
- package/dist/core/expressions/cache.d.ts.map +0 -1
- package/dist/core/expressions/cache.js.map +0 -1
- package/dist/core/expressions/cel-conversion-engine.d.ts.map +0 -1
- package/dist/core/expressions/cel-conversion-engine.js.map +0 -1
- package/dist/core/expressions/compile-time-validation.d.ts +0 -270
- package/dist/core/expressions/compile-time-validation.d.ts.map +0 -1
- package/dist/core/expressions/compile-time-validation.js.map +0 -1
- package/dist/core/expressions/composition-integration.d.ts +0 -315
- package/dist/core/expressions/composition-integration.d.ts.map +0 -1
- package/dist/core/expressions/composition-integration.js +0 -936
- package/dist/core/expressions/composition-integration.js.map +0 -1
- package/dist/core/expressions/conditional-expression-processor.d.ts.map +0 -1
- package/dist/core/expressions/conditional-expression-processor.js.map +0 -1
- package/dist/core/expressions/conditional-integration.d.ts.map +0 -1
- package/dist/core/expressions/conditional-integration.js.map +0 -1
- package/dist/core/expressions/conditional-validation.d.ts +0 -181
- package/dist/core/expressions/conditional-validation.d.ts.map +0 -1
- package/dist/core/expressions/conditional-validation.js +0 -460
- package/dist/core/expressions/conditional-validation.js.map +0 -1
- package/dist/core/expressions/context-aware-generator.d.ts.map +0 -1
- package/dist/core/expressions/context-aware-generator.js.map +0 -1
- package/dist/core/expressions/context-detector.d.ts.map +0 -1
- package/dist/core/expressions/context-detector.js.map +0 -1
- package/dist/core/expressions/context-switcher.d.ts +0 -185
- package/dist/core/expressions/context-switcher.d.ts.map +0 -1
- package/dist/core/expressions/context-switcher.js +0 -515
- package/dist/core/expressions/context-switcher.js.map +0 -1
- package/dist/core/expressions/context-validator.d.ts.map +0 -1
- package/dist/core/expressions/context-validator.js.map +0 -1
- package/dist/core/expressions/custom-context-manager.d.ts +0 -194
- package/dist/core/expressions/custom-context-manager.d.ts.map +0 -1
- package/dist/core/expressions/custom-context-manager.js +0 -390
- package/dist/core/expressions/custom-context-manager.js.map +0 -1
- package/dist/core/expressions/expression-proxy.d.ts +0 -80
- package/dist/core/expressions/expression-proxy.d.ts.map +0 -1
- package/dist/core/expressions/expression-proxy.js +0 -227
- package/dist/core/expressions/expression-proxy.js.map +0 -1
- package/dist/core/expressions/factory-integration.d.ts.map +0 -1
- package/dist/core/expressions/factory-integration.js.map +0 -1
- package/dist/core/expressions/factory-pattern-handler.d.ts.map +0 -1
- package/dist/core/expressions/factory-pattern-handler.js.map +0 -1
- package/dist/core/expressions/field-hydration-processor.d.ts +0 -188
- package/dist/core/expressions/field-hydration-processor.d.ts.map +0 -1
- package/dist/core/expressions/field-hydration-processor.js +0 -562
- package/dist/core/expressions/field-hydration-processor.js.map +0 -1
- package/dist/core/expressions/imperative-analyzer.d.ts.map +0 -1
- package/dist/core/expressions/imperative-analyzer.js.map +0 -1
- package/dist/core/expressions/lazy-analysis.d.ts +0 -1128
- package/dist/core/expressions/lazy-analysis.d.ts.map +0 -1
- package/dist/core/expressions/lazy-analysis.js +0 -2443
- package/dist/core/expressions/lazy-analysis.js.map +0 -1
- package/dist/core/expressions/magic-assignable-analyzer.d.ts.map +0 -1
- package/dist/core/expressions/magic-assignable-analyzer.js.map +0 -1
- package/dist/core/expressions/magic-proxy-analyzer.d.ts.map +0 -1
- package/dist/core/expressions/magic-proxy-analyzer.js.map +0 -1
- package/dist/core/expressions/magic-proxy-detector.d.ts.map +0 -1
- package/dist/core/expressions/magic-proxy-detector.js.map +0 -1
- package/dist/core/expressions/migration-helpers.d.ts.map +0 -1
- package/dist/core/expressions/migration-helpers.js.map +0 -1
- package/dist/core/expressions/optionality-handler.d.ts +0 -503
- package/dist/core/expressions/optionality-handler.d.ts.map +0 -1
- package/dist/core/expressions/optionality-handler.js +0 -1306
- package/dist/core/expressions/optionality-handler.js.map +0 -1
- package/dist/core/expressions/readiness-integration.d.ts +0 -119
- package/dist/core/expressions/readiness-integration.d.ts.map +0 -1
- package/dist/core/expressions/readiness-integration.js +0 -386
- package/dist/core/expressions/readiness-integration.js.map +0 -1
- package/dist/core/expressions/resource-analyzer.d.ts +0 -486
- package/dist/core/expressions/resource-analyzer.d.ts.map +0 -1
- package/dist/core/expressions/resource-analyzer.js +0 -1086
- package/dist/core/expressions/resource-analyzer.js.map +0 -1
- package/dist/core/expressions/resource-validation.d.ts.map +0 -1
- package/dist/core/expressions/resource-validation.js +0 -552
- package/dist/core/expressions/resource-validation.js.map +0 -1
- package/dist/core/expressions/runtime-error-mapper.d.ts +0 -138
- package/dist/core/expressions/runtime-error-mapper.d.ts.map +0 -1
- package/dist/core/expressions/runtime-error-mapper.js +0 -412
- package/dist/core/expressions/runtime-error-mapper.js.map +0 -1
- package/dist/core/expressions/source-map.d.ts.map +0 -1
- package/dist/core/expressions/source-map.js.map +0 -1
- package/dist/core/expressions/status-builder-analyzer.d.ts +0 -353
- package/dist/core/expressions/status-builder-analyzer.d.ts.map +0 -1
- package/dist/core/expressions/status-builder-analyzer.js +0 -1311
- package/dist/core/expressions/status-builder-analyzer.js.map +0 -1
- package/dist/core/expressions/type-inference.d.ts.map +0 -1
- package/dist/core/expressions/type-inference.js.map +0 -1
- package/dist/core/expressions/type-safety.d.ts.map +0 -1
- package/dist/core/expressions/type-safety.js.map +0 -1
- package/dist/core/expressions/types.d.ts.map +0 -1
- package/dist/core/expressions/types.js.map +0 -1
- package/dist/core/factory.d.ts +0 -12
- package/dist/core/factory.d.ts.map +0 -1
- package/dist/core/factory.js +0 -13
- package/dist/core/factory.js.map +0 -1
- package/dist/core/readiness/cluster-state.d.ts +0 -229
- package/dist/core/readiness/cluster-state.d.ts.map +0 -1
- package/dist/core/readiness/cluster-state.js +0 -366
- package/dist/core/readiness/cluster-state.js.map +0 -1
- package/dist/core.d.ts +0 -30
- package/dist/core.d.ts.map +0 -1
- package/dist/core.js +0 -59
- package/dist/core.js.map +0 -1
- /package/dist/{core/composition → compositions}/typekro-runtime/index.js +0 -0
- /package/dist/{core/composition → compositions}/typekro-runtime/types.js +0 -0
- /package/dist/core/expressions/{source-map.d.ts → analysis/source-map.d.ts} +0 -0
- /package/dist/core/expressions/{types.js → analysis/types.js} +0 -0
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field hydration timing and undefined-to-defined transition handling
|
|
3
|
+
* for the Enhanced Type Optionality Handler.
|
|
4
|
+
*
|
|
5
|
+
* These standalone functions handle analyzing hydration states, creating
|
|
6
|
+
* transition plans, and generating expressions for different hydration phases.
|
|
7
|
+
*/
|
|
8
|
+
import { DEFAULT_EARLY_HYDRATION_DURATION, DEFAULT_LATE_HYDRATION_DURATION, } from '../../config/defaults.js';
|
|
9
|
+
import { CEL_EXPRESSION_BRAND, KUBERNETES_REF_BRAND } from '../../constants/brands.js';
|
|
10
|
+
import { ensureError } from '../../errors.js';
|
|
11
|
+
import { convertToBasicCel } from './optionality-cel-generation.js';
|
|
12
|
+
import { convertToKroOptionalSyntax } from './optionality-optional-chaining.js';
|
|
13
|
+
/**
|
|
14
|
+
* Analyze hydration states for KubernetesRef objects
|
|
15
|
+
*/
|
|
16
|
+
export function analyzeHydrationStates(kubernetesRefs, hydrationStates) {
|
|
17
|
+
const unhydratedRefs = [];
|
|
18
|
+
const hydratedRefs = [];
|
|
19
|
+
const hydratingRefs = [];
|
|
20
|
+
const failedRefs = [];
|
|
21
|
+
for (const ref of kubernetesRefs) {
|
|
22
|
+
const stateKey = `${ref.resourceId}:${ref.fieldPath}`;
|
|
23
|
+
const state = hydrationStates.get(stateKey);
|
|
24
|
+
if (!state) {
|
|
25
|
+
unhydratedRefs.push(ref);
|
|
26
|
+
}
|
|
27
|
+
else if (state.hydrationFailed) {
|
|
28
|
+
failedRefs.push(ref);
|
|
29
|
+
}
|
|
30
|
+
else if (state.isHydrated) {
|
|
31
|
+
hydratedRefs.push(ref);
|
|
32
|
+
}
|
|
33
|
+
else if (state.isHydrating) {
|
|
34
|
+
hydratingRefs.push(ref);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
unhydratedRefs.push(ref);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
unhydratedRefs,
|
|
42
|
+
hydratedRefs,
|
|
43
|
+
hydratingRefs,
|
|
44
|
+
failedRefs,
|
|
45
|
+
totalRefs: kubernetesRefs.length,
|
|
46
|
+
hydrationProgress: hydratedRefs.length / kubernetesRefs.length,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Create transition plan for hydration phases
|
|
51
|
+
*/
|
|
52
|
+
export function createTransitionPlan(kubernetesRefs, _hydrationStates, _context) {
|
|
53
|
+
const phases = [];
|
|
54
|
+
const criticalFields = [];
|
|
55
|
+
// Group fields by expected hydration timing
|
|
56
|
+
const immediateFields = [];
|
|
57
|
+
const earlyFields = [];
|
|
58
|
+
const lateFields = [];
|
|
59
|
+
for (const ref of kubernetesRefs) {
|
|
60
|
+
const fieldPath = ref.fieldPath || '';
|
|
61
|
+
if (ref.resourceId === '__schema__' ||
|
|
62
|
+
fieldPath.startsWith('metadata.') ||
|
|
63
|
+
fieldPath.startsWith('spec.')) {
|
|
64
|
+
immediateFields.push(ref);
|
|
65
|
+
}
|
|
66
|
+
else if (fieldPath.includes('ready') ||
|
|
67
|
+
fieldPath.includes('available') ||
|
|
68
|
+
fieldPath.includes('replicas')) {
|
|
69
|
+
earlyFields.push(ref);
|
|
70
|
+
if (fieldPath.includes('ready') || fieldPath.includes('available')) {
|
|
71
|
+
criticalFields.push(`${ref.resourceId}.${fieldPath}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
lateFields.push(ref);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// Create phases
|
|
79
|
+
if (immediateFields.length > 0) {
|
|
80
|
+
phases.push({
|
|
81
|
+
name: 'immediate',
|
|
82
|
+
fields: immediateFields,
|
|
83
|
+
expectedDuration: 0,
|
|
84
|
+
dependencies: [],
|
|
85
|
+
isCritical: false,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
if (earlyFields.length > 0) {
|
|
89
|
+
phases.push({
|
|
90
|
+
name: 'early',
|
|
91
|
+
fields: earlyFields,
|
|
92
|
+
expectedDuration: DEFAULT_EARLY_HYDRATION_DURATION,
|
|
93
|
+
dependencies: immediateFields.map((ref) => `${ref.resourceId}.${ref.fieldPath}`),
|
|
94
|
+
isCritical: true,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
if (lateFields.length > 0) {
|
|
98
|
+
phases.push({
|
|
99
|
+
name: 'late',
|
|
100
|
+
fields: lateFields,
|
|
101
|
+
expectedDuration: DEFAULT_LATE_HYDRATION_DURATION,
|
|
102
|
+
dependencies: [...immediateFields, ...earlyFields].map((ref) => `${ref.resourceId}.${ref.fieldPath}`),
|
|
103
|
+
isCritical: false,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
const totalDuration = phases.reduce((sum, phase) => sum + phase.expectedDuration, 0);
|
|
107
|
+
return { phases, totalDuration, criticalFields };
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Generate hydration transition handlers
|
|
111
|
+
*/
|
|
112
|
+
export function generateHydrationTransitionHandlers(expression, hydrationAnalysis, context) {
|
|
113
|
+
const handlers = [];
|
|
114
|
+
// Handler for unhydrated -> hydrating transition
|
|
115
|
+
if (hydrationAnalysis.unhydratedRefs.length > 0) {
|
|
116
|
+
handlers.push({
|
|
117
|
+
fromState: 'unhydrated',
|
|
118
|
+
toState: 'hydrating',
|
|
119
|
+
triggerCondition: generateHydrationStartCondition(hydrationAnalysis.unhydratedRefs),
|
|
120
|
+
transitionExpression: generateHydrationStartExpression(expression, hydrationAnalysis.unhydratedRefs, context),
|
|
121
|
+
priority: 1,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// Handler for hydrating -> hydrated transition
|
|
125
|
+
if (hydrationAnalysis.hydratingRefs.length > 0) {
|
|
126
|
+
handlers.push({
|
|
127
|
+
fromState: 'hydrating',
|
|
128
|
+
toState: 'hydrated',
|
|
129
|
+
triggerCondition: generateHydrationCompleteCondition(hydrationAnalysis.hydratingRefs),
|
|
130
|
+
transitionExpression: generateHydrationCompleteExpression(expression, hydrationAnalysis.hydratingRefs, context),
|
|
131
|
+
priority: 2,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
// Handler for hydration failure
|
|
135
|
+
if (hydrationAnalysis.failedRefs.length > 0) {
|
|
136
|
+
handlers.push({
|
|
137
|
+
fromState: 'hydrating',
|
|
138
|
+
toState: 'failed',
|
|
139
|
+
triggerCondition: generateHydrationFailureCondition(hydrationAnalysis.failedRefs),
|
|
140
|
+
transitionExpression: generateHydrationFailureExpression(expression, hydrationAnalysis.failedRefs, context),
|
|
141
|
+
priority: 3,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
return handlers;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Generate phase expressions for different hydration phases
|
|
148
|
+
*/
|
|
149
|
+
export function generatePhaseExpressions(expression, transitionPlan, context, logger) {
|
|
150
|
+
const phaseExpressions = new Map();
|
|
151
|
+
for (const phase of transitionPlan.phases) {
|
|
152
|
+
try {
|
|
153
|
+
const phaseExpression = generatePhaseSpecificExpression(expression, phase, context);
|
|
154
|
+
phaseExpressions.set(phase.name, phaseExpression);
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
logger.error(`Failed to generate expression for phase ${phase.name}`, ensureError(error));
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return phaseExpressions;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Generate watch expressions for monitoring hydration progress
|
|
164
|
+
*/
|
|
165
|
+
export function generateWatchExpressions(transitionPlan, _context) {
|
|
166
|
+
const watchExpressions = [];
|
|
167
|
+
for (const phase of transitionPlan.phases) {
|
|
168
|
+
for (const field of phase.fields) {
|
|
169
|
+
const resourcePath = field.resourceId === '__schema__'
|
|
170
|
+
? `schema.${field.fieldPath}`
|
|
171
|
+
: `resources.${field.resourceId}.${field.fieldPath}`;
|
|
172
|
+
const watchExpression = {
|
|
173
|
+
[CEL_EXPRESSION_BRAND]: true,
|
|
174
|
+
expression: `has(${resourcePath})`,
|
|
175
|
+
type: 'boolean',
|
|
176
|
+
};
|
|
177
|
+
watchExpressions.push(watchExpression);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return watchExpressions;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Generate fallback expressions for hydration failures
|
|
184
|
+
*/
|
|
185
|
+
export function generateFallbackExpressions(_expression, transitionPlan, _context) {
|
|
186
|
+
const fallbackExpressions = new Map();
|
|
187
|
+
for (const phase of transitionPlan.phases) {
|
|
188
|
+
const fallbackExpression = {
|
|
189
|
+
[CEL_EXPRESSION_BRAND]: true,
|
|
190
|
+
expression: phase.isCritical ? 'false' : 'null',
|
|
191
|
+
type: phase.isCritical ? 'boolean' : 'null',
|
|
192
|
+
};
|
|
193
|
+
fallbackExpressions.set(phase.name, fallbackExpression);
|
|
194
|
+
}
|
|
195
|
+
return fallbackExpressions;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Generate phase-specific expression
|
|
199
|
+
*/
|
|
200
|
+
export function generatePhaseSpecificExpression(_expression, phase, _context) {
|
|
201
|
+
// Generate expression that only uses fields available in this phase
|
|
202
|
+
const availableFields = phase.fields.map((field) => {
|
|
203
|
+
const resourcePath = field.resourceId === '__schema__'
|
|
204
|
+
? `schema.${field.fieldPath}`
|
|
205
|
+
: `resources.${field.resourceId}.${field.fieldPath}`;
|
|
206
|
+
return resourcePath;
|
|
207
|
+
});
|
|
208
|
+
// Create a simplified expression using only available fields
|
|
209
|
+
const phaseExpression = availableFields.length > 0 ? availableFields.join(' && ') : 'true';
|
|
210
|
+
return {
|
|
211
|
+
[CEL_EXPRESSION_BRAND]: true,
|
|
212
|
+
expression: phaseExpression,
|
|
213
|
+
type: 'boolean',
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Generate condition for hydration start
|
|
218
|
+
*/
|
|
219
|
+
export function generateHydrationStartCondition(refs) {
|
|
220
|
+
const conditions = refs.map((ref) => {
|
|
221
|
+
const resourcePath = ref.resourceId === '__schema__'
|
|
222
|
+
? `schema.${ref.fieldPath}`
|
|
223
|
+
: `resources.${ref.resourceId}.${ref.fieldPath}`;
|
|
224
|
+
return `!has(${resourcePath})`;
|
|
225
|
+
});
|
|
226
|
+
return conditions.join(' && ');
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Generate expression for hydration start
|
|
230
|
+
*/
|
|
231
|
+
export function generateHydrationStartExpression(_expression, _refs, _context) {
|
|
232
|
+
return {
|
|
233
|
+
[CEL_EXPRESSION_BRAND]: true,
|
|
234
|
+
expression: 'null', // Return null while hydrating
|
|
235
|
+
type: 'null',
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Generate condition for hydration complete
|
|
240
|
+
*/
|
|
241
|
+
export function generateHydrationCompleteCondition(refs) {
|
|
242
|
+
const conditions = refs.map((ref) => {
|
|
243
|
+
const resourcePath = ref.resourceId === '__schema__'
|
|
244
|
+
? `schema.${ref.fieldPath}`
|
|
245
|
+
: `resources.${ref.resourceId}.${ref.fieldPath}`;
|
|
246
|
+
return `has(${resourcePath})`;
|
|
247
|
+
});
|
|
248
|
+
return conditions.join(' && ');
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Generate expression for hydration complete
|
|
252
|
+
*/
|
|
253
|
+
export function generateHydrationCompleteExpression(expression, _refs, context) {
|
|
254
|
+
// Use the original expression since all fields are now available
|
|
255
|
+
return convertToBasicCel(expression, context);
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Generate condition for hydration failure
|
|
259
|
+
*/
|
|
260
|
+
export function generateHydrationFailureCondition(_refs) {
|
|
261
|
+
// This would typically check for timeout or error conditions
|
|
262
|
+
return 'false'; // Placeholder
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Generate expression for hydration failure
|
|
266
|
+
*/
|
|
267
|
+
export function generateHydrationFailureExpression(_expression, _refs, _context) {
|
|
268
|
+
return {
|
|
269
|
+
[CEL_EXPRESSION_BRAND]: true,
|
|
270
|
+
expression: 'false', // Return false on failure
|
|
271
|
+
type: 'boolean',
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Generate pre-hydration expression (for unhydrated fields)
|
|
276
|
+
*/
|
|
277
|
+
export function generatePreHydrationExpression(_expression, _unhydratedRefs, _context) {
|
|
278
|
+
// For pre-hydration, return a safe default or null check
|
|
279
|
+
return {
|
|
280
|
+
[CEL_EXPRESSION_BRAND]: true,
|
|
281
|
+
expression: 'false', // Safe default before hydration
|
|
282
|
+
type: 'boolean',
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Generate post-hydration expression (for hydrated fields)
|
|
287
|
+
*/
|
|
288
|
+
export function generatePostHydrationExpression(expression, _hydratedRefs, context) {
|
|
289
|
+
// For post-hydration, can use the fields directly
|
|
290
|
+
return convertToBasicCel(expression, context);
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Generate hydration-dependent expression (for fields being hydrated)
|
|
294
|
+
*/
|
|
295
|
+
export function generateHydrationDependentExpression(_expression, hydratingRefs, _context) {
|
|
296
|
+
// For fields being hydrated, use conditional checks
|
|
297
|
+
const conditionalChecks = hydratingRefs
|
|
298
|
+
.map((ref) => {
|
|
299
|
+
const resourcePath = ref.resourceId === '__schema__'
|
|
300
|
+
? `schema.${ref.fieldPath}`
|
|
301
|
+
: `resources.${ref.resourceId}.${ref.fieldPath}`;
|
|
302
|
+
return `has(${resourcePath})`;
|
|
303
|
+
})
|
|
304
|
+
.join(' && ');
|
|
305
|
+
return {
|
|
306
|
+
[CEL_EXPRESSION_BRAND]: true,
|
|
307
|
+
expression: conditionalChecks,
|
|
308
|
+
type: 'boolean',
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Extract potential KubernetesRef objects from Enhanced resources
|
|
313
|
+
*/
|
|
314
|
+
export function extractPotentialKubernetesRefsFromEnhanced(_enhancedResource, resourceId) {
|
|
315
|
+
const refs = [];
|
|
316
|
+
// Common field paths that might contain KubernetesRef objects in Enhanced types
|
|
317
|
+
const commonFieldPaths = [
|
|
318
|
+
'status.readyReplicas',
|
|
319
|
+
'status.availableReplicas',
|
|
320
|
+
'status.conditions',
|
|
321
|
+
'status.phase',
|
|
322
|
+
'status.podIP',
|
|
323
|
+
'status.hostIP',
|
|
324
|
+
'status.loadBalancer.ingress',
|
|
325
|
+
'spec.replicas',
|
|
326
|
+
'spec.selector',
|
|
327
|
+
'metadata.name',
|
|
328
|
+
'metadata.namespace',
|
|
329
|
+
'metadata.labels',
|
|
330
|
+
'metadata.annotations',
|
|
331
|
+
];
|
|
332
|
+
for (const fieldPath of commonFieldPaths) {
|
|
333
|
+
// Create a potential KubernetesRef for analysis
|
|
334
|
+
const potentialRef = {
|
|
335
|
+
[KUBERNETES_REF_BRAND]: true,
|
|
336
|
+
resourceId,
|
|
337
|
+
fieldPath,
|
|
338
|
+
type: 'unknown',
|
|
339
|
+
};
|
|
340
|
+
refs.push(potentialRef);
|
|
341
|
+
}
|
|
342
|
+
return refs;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Generate Enhanced type-specific null-safety patterns
|
|
346
|
+
*/
|
|
347
|
+
export function generateEnhancedTypeNullSafetyPattern(kubernetesRef, context) {
|
|
348
|
+
const resourcePath = kubernetesRef.resourceId === '__schema__'
|
|
349
|
+
? `schema.${kubernetesRef.fieldPath}`
|
|
350
|
+
: `resources.${kubernetesRef.resourceId}.${kubernetesRef.fieldPath}`;
|
|
351
|
+
// For Enhanced types, we need to be extra careful about null-safety
|
|
352
|
+
if (context.generateHasChecks) {
|
|
353
|
+
// Use has() checks for potentially undefined Enhanced type fields
|
|
354
|
+
if (kubernetesRef.fieldPath?.includes('.')) {
|
|
355
|
+
// For nested fields, check each level
|
|
356
|
+
const pathParts = kubernetesRef.fieldPath.split('.');
|
|
357
|
+
const checks = [];
|
|
358
|
+
for (let i = 0; i < pathParts.length; i++) {
|
|
359
|
+
const partialPath = pathParts.slice(0, i + 1).join('.');
|
|
360
|
+
const fullPath = kubernetesRef.resourceId === '__schema__'
|
|
361
|
+
? `schema.${partialPath}`
|
|
362
|
+
: `resources.${kubernetesRef.resourceId}.${partialPath}`;
|
|
363
|
+
checks.push(`has(${fullPath})`);
|
|
364
|
+
}
|
|
365
|
+
return `${checks.join(' && ')} && ${resourcePath}`;
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
return `has(${resourcePath}) && ${resourcePath}`;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
if (context.useKroConditionals) {
|
|
372
|
+
// Use Kro's ? prefix operator for Enhanced types
|
|
373
|
+
return convertToKroOptionalSyntax(resourcePath);
|
|
374
|
+
}
|
|
375
|
+
// Fallback to basic null check
|
|
376
|
+
return `${resourcePath} != null && ${resourcePath}`;
|
|
377
|
+
}
|
|
378
|
+
//# sourceMappingURL=optionality-hydration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optionality-hydration.js","sourceRoot":"","sources":["../../../../src/core/expressions/magic-proxy/optionality-hydration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional chaining pattern analysis and CEL generation
|
|
3
|
+
* for the Enhanced Type Optionality Handler.
|
|
4
|
+
*
|
|
5
|
+
* These standalone functions handle analyzing optional chaining patterns
|
|
6
|
+
* in expressions with Enhanced types and generating corresponding CEL expressions.
|
|
7
|
+
*/
|
|
8
|
+
import type { KubernetesRef } from '../../types/common.js';
|
|
9
|
+
import type { CelConversionResult } from '../analysis/shared-types.js';
|
|
10
|
+
import type { EnhancedTypeFieldInfo, OptionalChainingPattern, OptionalityContext } from './optionality-types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Analyze optional chaining patterns in expressions with Enhanced types
|
|
13
|
+
*/
|
|
14
|
+
export declare function analyzeOptionalChainingPatterns(expression: unknown, context: OptionalityContext): {
|
|
15
|
+
patterns: OptionalChainingPattern[];
|
|
16
|
+
enhancedTypeFields: EnhancedTypeFieldInfo[];
|
|
17
|
+
requiresSpecialHandling: boolean;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Analyze Enhanced type field information
|
|
21
|
+
*/
|
|
22
|
+
export declare function analyzeEnhancedTypeField(kubernetesRef: KubernetesRef<unknown>, context: OptionalityContext): EnhancedTypeFieldInfo;
|
|
23
|
+
/**
|
|
24
|
+
* Generate CEL expression for optional chaining with Enhanced types
|
|
25
|
+
*/
|
|
26
|
+
export declare function generateOptionalChainingCelExpression(expression: unknown, optionalChainingAnalysis: {
|
|
27
|
+
patterns: OptionalChainingPattern[];
|
|
28
|
+
enhancedTypeFields: EnhancedTypeFieldInfo[];
|
|
29
|
+
requiresSpecialHandling: boolean;
|
|
30
|
+
}, context: OptionalityContext, analyzeAndGenerate: (expr: unknown, ctx: OptionalityContext) => CelConversionResult): CelConversionResult;
|
|
31
|
+
/**
|
|
32
|
+
* Generate Kro CEL expression with ? prefix operator for optional chaining
|
|
33
|
+
*
|
|
34
|
+
* Kro uses the ? operator as a prefix before field names for optional access
|
|
35
|
+
*/
|
|
36
|
+
export declare function generateKroOptionalChainingExpression(patterns: OptionalChainingPattern[], _context: OptionalityContext): string;
|
|
37
|
+
/**
|
|
38
|
+
* Convert a field path to Kro's ? prefix optional syntax
|
|
39
|
+
* Example: resources.service.status.loadBalancer.ingress[0].ip
|
|
40
|
+
* Becomes: resources.service.status.?loadBalancer.?ingress[0].?ip
|
|
41
|
+
*
|
|
42
|
+
* The ? operator should be placed before fields that might not exist
|
|
43
|
+
*/
|
|
44
|
+
export declare function convertToKroOptionalSyntax(resourcePath: string): string;
|
|
45
|
+
/**
|
|
46
|
+
* Generate has() check expression for optional chaining
|
|
47
|
+
*/
|
|
48
|
+
export declare function generateHasCheckOptionalChainingExpression(patterns: OptionalChainingPattern[], _context: OptionalityContext): string;
|
|
49
|
+
/**
|
|
50
|
+
* Generate nested has() checks for a field path
|
|
51
|
+
*/
|
|
52
|
+
export declare function generateNestedHasChecksForPath(resourcePath: string): string[];
|
|
53
|
+
/**
|
|
54
|
+
* Calculate chaining depth for a field path
|
|
55
|
+
*/
|
|
56
|
+
export declare function calculateChainingDepth(fieldPath: string): number;
|
|
57
|
+
/**
|
|
58
|
+
* Generate optional chaining CEL pattern for a KubernetesRef
|
|
59
|
+
*/
|
|
60
|
+
export declare function generateOptionalChainingCelPattern(kubernetesRef: KubernetesRef<unknown>, context: OptionalityContext): string;
|
|
61
|
+
//# sourceMappingURL=optionality-optional-chaining.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optionality-optional-chaining.d.ts","sourceRoot":"","sources":["../../../../src/core/expressions/magic-proxy/optionality-optional-chaining.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAOvE,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,kBAAkB,GAC1B;IACD,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,kBAAkB,EAAE,qBAAqB,EAAE,CAAC;IAC5C,uBAAuB,EAAE,OAAO,CAAC;CAClC,CAkCA;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,EACrC,OAAO,EAAE,kBAAkB,GAC1B,qBAAqB,CAkBvB;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CACnD,UAAU,EAAE,OAAO,EACnB,wBAAwB,EAAE;IACxB,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,kBAAkB,EAAE,qBAAqB,EAAE,CAAC;IAC5C,uBAAuB,EAAE,OAAO,CAAC;CAClC,EACD,OAAO,EAAE,kBAAkB,EAC3B,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,kBAAkB,KAAK,mBAAmB,GAClF,mBAAmB,CA4DrB;AAED;;;;GAIG;AACH,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,uBAAuB,EAAE,EACnC,QAAQ,EAAE,kBAAkB,GAC3B,MAAM,CAwBR;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CA0BvE;AAED;;GAEG;AACH,wBAAgB,0CAA0C,CACxD,QAAQ,EAAE,uBAAuB,EAAE,EACnC,QAAQ,EAAE,kBAAkB,GAC3B,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAU7E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,EACrC,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAcR"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional chaining pattern analysis and CEL generation
|
|
3
|
+
* for the Enhanced Type Optionality Handler.
|
|
4
|
+
*
|
|
5
|
+
* These standalone functions handle analyzing optional chaining patterns
|
|
6
|
+
* in expressions with Enhanced types and generating corresponding CEL expressions.
|
|
7
|
+
*/
|
|
8
|
+
import { CEL_EXPRESSION_BRAND } from '../../constants/brands.js';
|
|
9
|
+
import { ConversionError, ensureError } from '../../errors.js';
|
|
10
|
+
import { calculateOptionalityConfidence, extractKubernetesRefsFromExpression, isPotentiallyUndefinedAtRuntime, } from './optionality-analysis.js';
|
|
11
|
+
import { generateSourceMapping, inferExpressionType } from './optionality-cel-generation.js';
|
|
12
|
+
/**
|
|
13
|
+
* Analyze optional chaining patterns in expressions with Enhanced types
|
|
14
|
+
*/
|
|
15
|
+
export function analyzeOptionalChainingPatterns(expression, context) {
|
|
16
|
+
const patterns = [];
|
|
17
|
+
const enhancedTypeFields = [];
|
|
18
|
+
// Extract KubernetesRef objects that might be involved in optional chaining
|
|
19
|
+
const kubernetesRefs = extractKubernetesRefsFromExpression(expression);
|
|
20
|
+
for (const ref of kubernetesRefs) {
|
|
21
|
+
// Check if this KubernetesRef represents an Enhanced type field
|
|
22
|
+
const enhancedFieldInfo = analyzeEnhancedTypeField(ref, context);
|
|
23
|
+
if (enhancedFieldInfo.isEnhancedType) {
|
|
24
|
+
enhancedTypeFields.push(enhancedFieldInfo);
|
|
25
|
+
// Create optional chaining pattern for this Enhanced type field
|
|
26
|
+
const pattern = {
|
|
27
|
+
kubernetesRef: ref,
|
|
28
|
+
fieldPath: ref.fieldPath || '',
|
|
29
|
+
isEnhancedType: true,
|
|
30
|
+
appearsNonOptional: enhancedFieldInfo.appearsNonOptional,
|
|
31
|
+
actuallyOptional: enhancedFieldInfo.actuallyOptional,
|
|
32
|
+
chainingDepth: calculateChainingDepth(ref.fieldPath || ''),
|
|
33
|
+
suggestedCelPattern: generateOptionalChainingCelPattern(ref, context),
|
|
34
|
+
};
|
|
35
|
+
patterns.push(pattern);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const requiresSpecialHandling = enhancedTypeFields.some((field) => field.appearsNonOptional && field.actuallyOptional);
|
|
39
|
+
return { patterns, enhancedTypeFields, requiresSpecialHandling };
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Analyze Enhanced type field information
|
|
43
|
+
*/
|
|
44
|
+
export function analyzeEnhancedTypeField(kubernetesRef, context) {
|
|
45
|
+
const fieldPath = kubernetesRef.fieldPath || '';
|
|
46
|
+
const isStatusField = fieldPath.startsWith('status.');
|
|
47
|
+
// Enhanced types in status fields appear non-optional but are actually optional
|
|
48
|
+
const appearsNonOptional = !fieldPath.includes('?') && !fieldPath.includes('|');
|
|
49
|
+
const actuallyOptional = isStatusField || isPotentiallyUndefinedAtRuntime(kubernetesRef, context);
|
|
50
|
+
return {
|
|
51
|
+
kubernetesRef,
|
|
52
|
+
fieldPath,
|
|
53
|
+
isEnhancedType: true,
|
|
54
|
+
appearsNonOptional,
|
|
55
|
+
actuallyOptional,
|
|
56
|
+
isStatusField,
|
|
57
|
+
requiresOptionalChaining: appearsNonOptional && actuallyOptional,
|
|
58
|
+
confidence: calculateOptionalityConfidence(kubernetesRef, context),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Generate CEL expression for optional chaining with Enhanced types
|
|
63
|
+
*/
|
|
64
|
+
export function generateOptionalChainingCelExpression(expression, optionalChainingAnalysis, context, analyzeAndGenerate) {
|
|
65
|
+
try {
|
|
66
|
+
if (!optionalChainingAnalysis.requiresSpecialHandling) {
|
|
67
|
+
// No special handling needed - use regular conversion
|
|
68
|
+
return analyzeAndGenerate(expression, context);
|
|
69
|
+
}
|
|
70
|
+
// Generate CEL expression with proper optional chaining support
|
|
71
|
+
let celExpression;
|
|
72
|
+
if (context.useKroConditionals) {
|
|
73
|
+
// Use Kro's conditional operators for optional chaining
|
|
74
|
+
celExpression = generateKroOptionalChainingExpression(optionalChainingAnalysis.patterns, context);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
// Use has() checks for optional chaining
|
|
78
|
+
celExpression = generateHasCheckOptionalChainingExpression(optionalChainingAnalysis.patterns, context);
|
|
79
|
+
}
|
|
80
|
+
const dependencies = optionalChainingAnalysis.patterns.map((p) => p.kubernetesRef);
|
|
81
|
+
return {
|
|
82
|
+
valid: true,
|
|
83
|
+
celExpression: {
|
|
84
|
+
[CEL_EXPRESSION_BRAND]: true,
|
|
85
|
+
expression: celExpression,
|
|
86
|
+
type: inferExpressionType(expression, context),
|
|
87
|
+
},
|
|
88
|
+
dependencies,
|
|
89
|
+
sourceMap: generateSourceMapping(expression, { [CEL_EXPRESSION_BRAND]: true, expression: celExpression }, context),
|
|
90
|
+
errors: [],
|
|
91
|
+
warnings: [],
|
|
92
|
+
requiresConversion: true,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
const conversionError = new ConversionError(`Failed to generate optional chaining CEL: ${ensureError(error).message}`, String(expression), 'optional-chaining');
|
|
97
|
+
return {
|
|
98
|
+
valid: false,
|
|
99
|
+
celExpression: null,
|
|
100
|
+
dependencies: optionalChainingAnalysis.patterns.map((p) => p.kubernetesRef),
|
|
101
|
+
sourceMap: [],
|
|
102
|
+
errors: [conversionError],
|
|
103
|
+
warnings: [],
|
|
104
|
+
requiresConversion: true,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Generate Kro CEL expression with ? prefix operator for optional chaining
|
|
110
|
+
*
|
|
111
|
+
* Kro uses the ? operator as a prefix before field names for optional access
|
|
112
|
+
*/
|
|
113
|
+
export function generateKroOptionalChainingExpression(patterns, _context) {
|
|
114
|
+
if (patterns.length === 0) {
|
|
115
|
+
return 'null';
|
|
116
|
+
}
|
|
117
|
+
// For Kro, use ? prefix operator for optional field access
|
|
118
|
+
const expressions = patterns.map((pattern) => {
|
|
119
|
+
const resourcePath = pattern.kubernetesRef.resourceId === '__schema__'
|
|
120
|
+
? `schema.${pattern.fieldPath}`
|
|
121
|
+
: `resources.${pattern.kubernetesRef.resourceId}.${pattern.fieldPath}`;
|
|
122
|
+
// Convert field.path.to.value to field.?path.?to.?value (Kro ? prefix syntax)
|
|
123
|
+
const optionalPath = convertToKroOptionalSyntax(resourcePath);
|
|
124
|
+
return optionalPath;
|
|
125
|
+
});
|
|
126
|
+
// Combine multiple patterns if needed
|
|
127
|
+
if (expressions.length === 1) {
|
|
128
|
+
return expressions[0] || 'null';
|
|
129
|
+
}
|
|
130
|
+
// For multiple patterns, use logical AND
|
|
131
|
+
return expressions.join(' && ');
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Convert a field path to Kro's ? prefix optional syntax
|
|
135
|
+
* Example: resources.service.status.loadBalancer.ingress[0].ip
|
|
136
|
+
* Becomes: resources.service.status.?loadBalancer.?ingress[0].?ip
|
|
137
|
+
*
|
|
138
|
+
* The ? operator should be placed before fields that might not exist
|
|
139
|
+
*/
|
|
140
|
+
export function convertToKroOptionalSyntax(resourcePath) {
|
|
141
|
+
// Split the path into parts, handling array access
|
|
142
|
+
const parts = resourcePath.split('.');
|
|
143
|
+
const result = [];
|
|
144
|
+
for (let i = 0; i < parts.length; i++) {
|
|
145
|
+
const part = parts[i];
|
|
146
|
+
// Ensure part is defined
|
|
147
|
+
if (!part)
|
|
148
|
+
continue;
|
|
149
|
+
// Don't add ? to root parts (resources, schema) or the resource ID
|
|
150
|
+
if (i < 3) {
|
|
151
|
+
result.push(part);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
// Add ? prefix for optional access to nested fields that might not exist
|
|
155
|
+
if (part.includes('[')) {
|
|
156
|
+
// Handle array access: field[0] becomes ?field[0]
|
|
157
|
+
result.push(`?${part}`);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
result.push(`?${part}`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return result.join('.');
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Generate has() check expression for optional chaining
|
|
168
|
+
*/
|
|
169
|
+
export function generateHasCheckOptionalChainingExpression(patterns, _context) {
|
|
170
|
+
if (patterns.length === 0) {
|
|
171
|
+
return 'null';
|
|
172
|
+
}
|
|
173
|
+
const expressions = [];
|
|
174
|
+
for (const pattern of patterns) {
|
|
175
|
+
const resourcePath = pattern.kubernetesRef.resourceId === '__schema__'
|
|
176
|
+
? `schema.${pattern.fieldPath}`
|
|
177
|
+
: `resources.${pattern.kubernetesRef.resourceId}.${pattern.fieldPath}`;
|
|
178
|
+
// Generate nested has() checks for the field path
|
|
179
|
+
const hasChecks = generateNestedHasChecksForPath(resourcePath);
|
|
180
|
+
const finalExpression = `${hasChecks.join(' && ')} && ${resourcePath}`;
|
|
181
|
+
expressions.push(finalExpression);
|
|
182
|
+
}
|
|
183
|
+
return expressions.join(' && ');
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Generate nested has() checks for a field path
|
|
187
|
+
*/
|
|
188
|
+
export function generateNestedHasChecksForPath(resourcePath) {
|
|
189
|
+
const checks = [];
|
|
190
|
+
const parts = resourcePath.split('.');
|
|
191
|
+
for (let i = 0; i < parts.length; i++) {
|
|
192
|
+
const partialPath = parts.slice(0, i + 1).join('.');
|
|
193
|
+
checks.push(`has(${partialPath})`);
|
|
194
|
+
}
|
|
195
|
+
return checks;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Calculate chaining depth for a field path
|
|
199
|
+
*/
|
|
200
|
+
export function calculateChainingDepth(fieldPath) {
|
|
201
|
+
return fieldPath.split('.').length;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Generate optional chaining CEL pattern for a KubernetesRef
|
|
205
|
+
*/
|
|
206
|
+
export function generateOptionalChainingCelPattern(kubernetesRef, context) {
|
|
207
|
+
const resourcePath = kubernetesRef.resourceId === '__schema__'
|
|
208
|
+
? `schema.${kubernetesRef.fieldPath}`
|
|
209
|
+
: `resources.${kubernetesRef.resourceId}.${kubernetesRef.fieldPath}`;
|
|
210
|
+
if (context.useKroConditionals) {
|
|
211
|
+
// Use Kro's ? prefix operator for optional access
|
|
212
|
+
return convertToKroOptionalSyntax(resourcePath);
|
|
213
|
+
}
|
|
214
|
+
// Fallback to has() checks for better null safety
|
|
215
|
+
const hasChecks = generateNestedHasChecksForPath(resourcePath);
|
|
216
|
+
return `${hasChecks.join(' && ')} ? ${resourcePath} : null`;
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=optionality-optional-chaining.js.map
|