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,288 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resource Reference Type Validation
|
|
3
|
+
*
|
|
4
|
+
* This module provides validation for resource references during JavaScript
|
|
5
|
+
* to CEL expression conversion. It ensures that resource references are
|
|
6
|
+
* type-safe and that field paths are valid.
|
|
7
|
+
*/
|
|
8
|
+
import { ensureError } from '../../errors.js';
|
|
9
|
+
import { createDefaultMetadata, findSimilarFieldNames, findSimilarResourceNames, getAvailableResourceFields, getAvailableSchemaFields, getChainResultType, getFieldReplacement, getResourceApiVersion, getResourceFieldType, getResourceKind, getSchemaFieldType, hasPerformanceImplications, isCommonKubernetesField, isDeprecatedField, } from './resource-field-utils.js';
|
|
10
|
+
import { ResourceValidationError, ResourceValidationWarning } from './resource-validation-types.js';
|
|
11
|
+
// Re-export everything from sub-modules for backward compatibility
|
|
12
|
+
export { ResourceValidationError, ResourceValidationWarning, } from './resource-validation-types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Resource reference validator
|
|
15
|
+
*/
|
|
16
|
+
export class ResourceReferenceValidator {
|
|
17
|
+
validationCache = new Map();
|
|
18
|
+
dependencyGraph = new Map();
|
|
19
|
+
/**
|
|
20
|
+
* Validate a KubernetesRef object
|
|
21
|
+
*/
|
|
22
|
+
validateKubernetesRef(ref, availableResources, schemaProxy, context) {
|
|
23
|
+
const refKey = `${ref.resourceId}.${ref.fieldPath}`;
|
|
24
|
+
// Check cache first
|
|
25
|
+
const cached = this.validationCache.get(refKey);
|
|
26
|
+
if (cached && !context?.skipCache) {
|
|
27
|
+
return cached;
|
|
28
|
+
}
|
|
29
|
+
const errors = [];
|
|
30
|
+
const warnings = [];
|
|
31
|
+
const suggestions = [];
|
|
32
|
+
let resolvedType;
|
|
33
|
+
let metadata;
|
|
34
|
+
try {
|
|
35
|
+
if (ref.resourceId === '__schema__') {
|
|
36
|
+
// Validate schema reference
|
|
37
|
+
const result = this.validateSchemaReference(ref, schemaProxy, context);
|
|
38
|
+
resolvedType = result.resolvedType;
|
|
39
|
+
metadata = result.metadata;
|
|
40
|
+
errors.push(...result.errors);
|
|
41
|
+
warnings.push(...result.warnings);
|
|
42
|
+
suggestions.push(...result.suggestions);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// Validate resource reference
|
|
46
|
+
const result = this.validateResourceReference(ref, availableResources, context);
|
|
47
|
+
resolvedType = result.resolvedType;
|
|
48
|
+
metadata = result.metadata;
|
|
49
|
+
errors.push(...result.errors);
|
|
50
|
+
warnings.push(...result.warnings);
|
|
51
|
+
suggestions.push(...result.suggestions);
|
|
52
|
+
}
|
|
53
|
+
// Check for circular dependencies
|
|
54
|
+
if (context?.checkCircularDependencies) {
|
|
55
|
+
const circularCheck = this.checkCircularDependencies(ref, context.dependencyChain || []);
|
|
56
|
+
if (!circularCheck.valid) {
|
|
57
|
+
errors.push(...circularCheck.errors);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const result = {
|
|
61
|
+
valid: errors.length === 0,
|
|
62
|
+
...(resolvedType && { resolvedType }),
|
|
63
|
+
errors,
|
|
64
|
+
warnings,
|
|
65
|
+
suggestions,
|
|
66
|
+
metadata,
|
|
67
|
+
};
|
|
68
|
+
// Cache the result
|
|
69
|
+
this.validationCache.set(refKey, result);
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
const validationError = new ResourceValidationError(`Validation failed: ${ensureError(error).message}`, refKey, 'INVALID_FIELD_PATH');
|
|
74
|
+
const result = {
|
|
75
|
+
valid: false,
|
|
76
|
+
errors: [validationError],
|
|
77
|
+
warnings,
|
|
78
|
+
suggestions,
|
|
79
|
+
metadata: createDefaultMetadata(),
|
|
80
|
+
};
|
|
81
|
+
this.validationCache.set(refKey, result);
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Validate multiple KubernetesRef objects
|
|
87
|
+
*/
|
|
88
|
+
validateKubernetesRefs(refs, availableResources, schemaProxy, context) {
|
|
89
|
+
return refs.map((ref) => this.validateKubernetesRef(ref, availableResources, schemaProxy, context));
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Validate that a resource reference chain is type-safe
|
|
93
|
+
*/
|
|
94
|
+
validateReferenceChain(refs, availableResources, schemaProxy) {
|
|
95
|
+
const errors = [];
|
|
96
|
+
const warnings = [];
|
|
97
|
+
const suggestions = [];
|
|
98
|
+
// Build dependency chain
|
|
99
|
+
const dependencyChain = refs.map((ref) => `${ref.resourceId}.${ref.fieldPath}`);
|
|
100
|
+
// Check for circular dependencies by looking for duplicates
|
|
101
|
+
const seen = new Set();
|
|
102
|
+
for (const refKey of dependencyChain) {
|
|
103
|
+
if (seen.has(refKey)) {
|
|
104
|
+
// Found a circular dependency
|
|
105
|
+
const circularIndex = dependencyChain.indexOf(refKey);
|
|
106
|
+
const circularChain = dependencyChain.slice(circularIndex);
|
|
107
|
+
errors.push(ResourceValidationError.forCircularReference(refKey, circularChain));
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
seen.add(refKey);
|
|
111
|
+
}
|
|
112
|
+
// Validate each reference in the chain
|
|
113
|
+
for (let i = 0; i < refs.length; i++) {
|
|
114
|
+
const ref = refs[i];
|
|
115
|
+
if (!ref)
|
|
116
|
+
continue;
|
|
117
|
+
const context = {
|
|
118
|
+
checkCircularDependencies: true,
|
|
119
|
+
dependencyChain: dependencyChain.slice(0, i),
|
|
120
|
+
skipCache: false,
|
|
121
|
+
};
|
|
122
|
+
const result = this.validateKubernetesRef(ref, availableResources, schemaProxy, context);
|
|
123
|
+
errors.push(...result.errors);
|
|
124
|
+
warnings.push(...result.warnings);
|
|
125
|
+
suggestions.push(...result.suggestions);
|
|
126
|
+
// If this reference is invalid, stop validation
|
|
127
|
+
if (!result.valid) {
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const resolvedType = refs.length > 0 ? getChainResultType(refs) : undefined;
|
|
132
|
+
return {
|
|
133
|
+
valid: errors.length === 0,
|
|
134
|
+
...(resolvedType && { resolvedType }),
|
|
135
|
+
errors,
|
|
136
|
+
warnings,
|
|
137
|
+
suggestions,
|
|
138
|
+
metadata: createDefaultMetadata(),
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Validate schema reference
|
|
143
|
+
*/
|
|
144
|
+
validateSchemaReference(ref, schemaProxy, _context) {
|
|
145
|
+
const errors = [];
|
|
146
|
+
const warnings = [];
|
|
147
|
+
const suggestions = [];
|
|
148
|
+
if (!schemaProxy) {
|
|
149
|
+
errors.push(new ResourceValidationError('Schema reference used but no schema proxy available', `${ref.resourceId}.${ref.fieldPath}`, 'SCHEMA_FIELD_NOT_FOUND'));
|
|
150
|
+
return {
|
|
151
|
+
valid: false,
|
|
152
|
+
errors,
|
|
153
|
+
warnings,
|
|
154
|
+
suggestions,
|
|
155
|
+
metadata: createDefaultMetadata(),
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
// Validate field path exists in schema
|
|
159
|
+
const fieldType = getSchemaFieldType(schemaProxy, ref.fieldPath);
|
|
160
|
+
if (!fieldType) {
|
|
161
|
+
const availableFields = getAvailableSchemaFields(schemaProxy);
|
|
162
|
+
errors.push(ResourceValidationError.forSchemaFieldNotFound(`${ref.resourceId}.${ref.fieldPath}`, ref.fieldPath, availableFields));
|
|
163
|
+
// Suggest similar field names
|
|
164
|
+
const similarFields = findSimilarFieldNames(ref.fieldPath, availableFields);
|
|
165
|
+
if (similarFields.length > 0) {
|
|
166
|
+
suggestions.push(`Did you mean: ${similarFields.join(', ')}?`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Check for potential null access
|
|
170
|
+
if (fieldType && (fieldType.optional || fieldType.nullable)) {
|
|
171
|
+
warnings.push(ResourceValidationWarning.forPotentialNullAccess(`${ref.resourceId}.${ref.fieldPath}`, ref.fieldPath));
|
|
172
|
+
suggestions.push('Consider using optional chaining (?.) for safer access');
|
|
173
|
+
}
|
|
174
|
+
const metadata = {
|
|
175
|
+
resourceType: 'Schema',
|
|
176
|
+
fieldOptional: fieldType?.optional || false,
|
|
177
|
+
fieldNullable: fieldType?.nullable || false,
|
|
178
|
+
dependencyDepth: ref.fieldPath.split('.').length,
|
|
179
|
+
isStatusField: ref.fieldPath.startsWith('status.'),
|
|
180
|
+
isSpecField: ref.fieldPath.startsWith('spec.'),
|
|
181
|
+
isMetadataField: ref.fieldPath.startsWith('metadata.'),
|
|
182
|
+
};
|
|
183
|
+
return {
|
|
184
|
+
valid: errors.length === 0,
|
|
185
|
+
...(fieldType && { resolvedType: fieldType }),
|
|
186
|
+
errors,
|
|
187
|
+
warnings,
|
|
188
|
+
suggestions,
|
|
189
|
+
metadata,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Validate resource reference
|
|
194
|
+
*/
|
|
195
|
+
validateResourceReference(ref, availableResources, _context) {
|
|
196
|
+
const errors = [];
|
|
197
|
+
const warnings = [];
|
|
198
|
+
const suggestions = [];
|
|
199
|
+
// Check if resource exists
|
|
200
|
+
const resource = availableResources[ref.resourceId];
|
|
201
|
+
if (!resource) {
|
|
202
|
+
const availableResourceIds = Object.keys(availableResources);
|
|
203
|
+
// Missing resources are errors by default
|
|
204
|
+
errors.push(new ResourceValidationError(`Resource '${ref.resourceId}' not found. Available resources: ${availableResourceIds.join(', ')}`, `${ref.resourceId}.${ref.fieldPath}`, 'RESOURCE_NOT_FOUND'));
|
|
205
|
+
// Suggest similar resource names
|
|
206
|
+
const similarResources = findSimilarResourceNames(ref.resourceId, availableResourceIds);
|
|
207
|
+
if (similarResources.length > 0) {
|
|
208
|
+
suggestions.push(`Did you mean: ${similarResources.join(', ')}?`);
|
|
209
|
+
}
|
|
210
|
+
return {
|
|
211
|
+
valid: false, // Invalid when resource not found
|
|
212
|
+
errors,
|
|
213
|
+
warnings,
|
|
214
|
+
suggestions,
|
|
215
|
+
metadata: createDefaultMetadata(),
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
// Validate field path on resource
|
|
219
|
+
const fieldType = getResourceFieldType(resource, ref.fieldPath);
|
|
220
|
+
const availableFields = getAvailableResourceFields(resource);
|
|
221
|
+
// Check if field path is potentially invalid (but be lenient for common patterns)
|
|
222
|
+
const isCommonField = isCommonKubernetesField(ref.fieldPath);
|
|
223
|
+
if (!fieldType && !isCommonField) {
|
|
224
|
+
// Unknown fields are errors by default
|
|
225
|
+
errors.push(new ResourceValidationError(`Field path '${ref.fieldPath}' is not valid for resource type '${resource.constructor.name}'`, `${ref.resourceId}.${ref.fieldPath}`, 'INVALID_FIELD_PATH'));
|
|
226
|
+
// Suggest similar field names
|
|
227
|
+
const similarFields = findSimilarFieldNames(ref.fieldPath, availableFields);
|
|
228
|
+
if (similarFields.length > 0) {
|
|
229
|
+
suggestions.push(`Did you mean: ${similarFields.join(', ')}?`);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
// Check for potential null access
|
|
233
|
+
if (fieldType && (fieldType.optional || fieldType.nullable)) {
|
|
234
|
+
warnings.push(ResourceValidationWarning.forPotentialNullAccess(`${ref.resourceId}.${ref.fieldPath}`, ref.fieldPath));
|
|
235
|
+
}
|
|
236
|
+
// Check for deprecated fields
|
|
237
|
+
if (isDeprecatedField(resource, ref.fieldPath)) {
|
|
238
|
+
const replacement = getFieldReplacement(resource, ref.fieldPath);
|
|
239
|
+
warnings.push(ResourceValidationWarning.forDeprecatedField(`${ref.resourceId}.${ref.fieldPath}`, ref.fieldPath, replacement));
|
|
240
|
+
}
|
|
241
|
+
// Check for performance implications
|
|
242
|
+
if (hasPerformanceImplications(resource, ref.fieldPath)) {
|
|
243
|
+
warnings.push(ResourceValidationWarning.forPerformanceImpact(`${ref.resourceId}.${ref.fieldPath}`, 'Accessing this field may require additional API calls'));
|
|
244
|
+
}
|
|
245
|
+
const apiVersion = getResourceApiVersion(resource);
|
|
246
|
+
const kind = getResourceKind(resource);
|
|
247
|
+
const metadata = {
|
|
248
|
+
resourceType: resource.constructor.name,
|
|
249
|
+
fieldOptional: fieldType?.optional || false,
|
|
250
|
+
fieldNullable: fieldType?.nullable || false,
|
|
251
|
+
dependencyDepth: ref.fieldPath.split('.').length,
|
|
252
|
+
isStatusField: ref.fieldPath.startsWith('status.'),
|
|
253
|
+
isSpecField: ref.fieldPath.startsWith('spec.'),
|
|
254
|
+
isMetadataField: ref.fieldPath.startsWith('metadata.'),
|
|
255
|
+
...(apiVersion && { apiVersion }),
|
|
256
|
+
...(kind && { kind }),
|
|
257
|
+
};
|
|
258
|
+
return {
|
|
259
|
+
valid: errors.length === 0,
|
|
260
|
+
...(fieldType && { resolvedType: fieldType }),
|
|
261
|
+
errors,
|
|
262
|
+
warnings,
|
|
263
|
+
suggestions,
|
|
264
|
+
metadata,
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Check for circular dependencies
|
|
269
|
+
*/
|
|
270
|
+
checkCircularDependencies(ref, dependencyChain) {
|
|
271
|
+
const refKey = `${ref.resourceId}.${ref.fieldPath}`;
|
|
272
|
+
if (dependencyChain.includes(refKey)) {
|
|
273
|
+
return {
|
|
274
|
+
valid: false,
|
|
275
|
+
errors: [ResourceValidationError.forCircularReference(refKey, dependencyChain)],
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
return { valid: true, errors: [] };
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Clear validation cache
|
|
282
|
+
*/
|
|
283
|
+
clearCache() {
|
|
284
|
+
this.validationCache.clear();
|
|
285
|
+
this.dependencyGraph.clear();
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
//# sourceMappingURL=resource-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-validation.js","sourceRoot":"","sources":["../../../../src/core/expressions/validation/resource-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Type Inference
|
|
2
|
+
* Type Inference Types and Error Classes
|
|
3
3
|
*
|
|
4
|
-
* This module
|
|
5
|
-
*
|
|
6
|
-
* to determine their result types and validates type compatibility.
|
|
4
|
+
* This module contains all type definitions, interfaces, and error classes
|
|
5
|
+
* used by the CEL type inference engine.
|
|
7
6
|
*/
|
|
8
|
-
import
|
|
9
|
-
import type { Enhanced } from '
|
|
10
|
-
import type { SchemaProxy } from '
|
|
11
|
-
import type { TypeInfo
|
|
7
|
+
import { TypeKroError } from '../../errors.js';
|
|
8
|
+
import type { Enhanced } from '../../types/kubernetes.js';
|
|
9
|
+
import type { SchemaProxy } from '../../types/serialization.js';
|
|
10
|
+
import type { TypeInfo } from './type-safety.js';
|
|
12
11
|
/**
|
|
13
12
|
* CEL expression type inference result
|
|
14
13
|
*/
|
|
@@ -29,7 +28,7 @@ export interface CelTypeInferenceResult {
|
|
|
29
28
|
/**
|
|
30
29
|
* Type inference error
|
|
31
30
|
*/
|
|
32
|
-
export declare class TypeInferenceError extends
|
|
31
|
+
export declare class TypeInferenceError extends TypeKroError {
|
|
33
32
|
readonly celExpression: string;
|
|
34
33
|
readonly location?: {
|
|
35
34
|
start: number;
|
|
@@ -92,84 +91,6 @@ export interface TypeInferenceMetadata {
|
|
|
92
91
|
/** Complexity score of the expression (0-10) */
|
|
93
92
|
complexityScore: number;
|
|
94
93
|
}
|
|
95
|
-
/**
|
|
96
|
-
* CEL type inference engine
|
|
97
|
-
*/
|
|
98
|
-
export declare class CelTypeInferenceEngine {
|
|
99
|
-
private functionTypes;
|
|
100
|
-
private operatorTypes;
|
|
101
|
-
constructor();
|
|
102
|
-
/**
|
|
103
|
-
* Infer the type of a CEL expression
|
|
104
|
-
*/
|
|
105
|
-
inferType(celExpression: CelExpression, context: TypeInferenceContext): CelTypeInferenceResult;
|
|
106
|
-
/**
|
|
107
|
-
* Infer types for multiple CEL expressions
|
|
108
|
-
*/
|
|
109
|
-
inferTypes(celExpressions: CelExpression[], context: TypeInferenceContext): CelTypeInferenceResult[];
|
|
110
|
-
/**
|
|
111
|
-
* Validate type compatibility between expressions
|
|
112
|
-
*/
|
|
113
|
-
validateTypeCompatibility(sourceType: TypeInfo, targetType: TypeInfo): TypeValidationResult;
|
|
114
|
-
/**
|
|
115
|
-
* Analyze a CEL expression and infer its type
|
|
116
|
-
*/
|
|
117
|
-
private analyzeExpression;
|
|
118
|
-
/**
|
|
119
|
-
* Analyze binary operations (>, <, ==, !=, &&, ||, +, -, *, /)
|
|
120
|
-
*/
|
|
121
|
-
private analyzeBinaryOperation;
|
|
122
|
-
/**
|
|
123
|
-
* Analyze function calls
|
|
124
|
-
*/
|
|
125
|
-
private analyzeFunctionCall;
|
|
126
|
-
/**
|
|
127
|
-
* Analyze resource references (resources.name.field)
|
|
128
|
-
*/
|
|
129
|
-
private analyzeResourceReference;
|
|
130
|
-
/**
|
|
131
|
-
* Analyze schema references (schema.spec.field)
|
|
132
|
-
*/
|
|
133
|
-
private analyzeSchemaReference;
|
|
134
|
-
/**
|
|
135
|
-
* Analyze literal values
|
|
136
|
-
*/
|
|
137
|
-
private analyzeLiteral;
|
|
138
|
-
/**
|
|
139
|
-
* Analyze conditional expressions (condition ? true : false)
|
|
140
|
-
*/
|
|
141
|
-
private analyzeConditionalExpression;
|
|
142
|
-
/**
|
|
143
|
-
* Initialize builtin CEL function and operator types
|
|
144
|
-
*/
|
|
145
|
-
private initializeBuiltinTypes;
|
|
146
|
-
/**
|
|
147
|
-
* Utility methods
|
|
148
|
-
*/
|
|
149
|
-
private tokenizeExpression;
|
|
150
|
-
private isBinaryOperation;
|
|
151
|
-
private isFunctionCall;
|
|
152
|
-
private isResourceReference;
|
|
153
|
-
private isSchemaReference;
|
|
154
|
-
private isLiteral;
|
|
155
|
-
private isConditionalExpression;
|
|
156
|
-
private findMainOperator;
|
|
157
|
-
private getOperatorResultType;
|
|
158
|
-
private isAssignable;
|
|
159
|
-
private requiresImplicitConversion;
|
|
160
|
-
private inferResourceFieldType;
|
|
161
|
-
private getMetadataFieldType;
|
|
162
|
-
private getSpecFieldType;
|
|
163
|
-
private getStatusFieldType;
|
|
164
|
-
private inferSchemaFieldType;
|
|
165
|
-
private inferTypeFromValue;
|
|
166
|
-
private unifyTypes;
|
|
167
|
-
private createEmptyMetadata;
|
|
168
|
-
/**
|
|
169
|
-
* Extract resource references from the expression
|
|
170
|
-
*/
|
|
171
|
-
private extractResourceReferences;
|
|
172
|
-
}
|
|
173
94
|
/**
|
|
174
95
|
* Type inference context
|
|
175
96
|
*/
|
|
@@ -181,4 +102,29 @@ export interface TypeInferenceContext {
|
|
|
181
102
|
/** Factory type affects available functions */
|
|
182
103
|
factoryType: 'direct' | 'kro';
|
|
183
104
|
}
|
|
184
|
-
|
|
105
|
+
/**
|
|
106
|
+
* Expression analysis result
|
|
107
|
+
*/
|
|
108
|
+
export interface ExpressionAnalysisResult {
|
|
109
|
+
type: TypeInfo;
|
|
110
|
+
errors: TypeInferenceError[];
|
|
111
|
+
warnings: TypeInferenceWarning[];
|
|
112
|
+
confidence: number;
|
|
113
|
+
metadata: TypeInferenceMetadata;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* CEL function signature
|
|
117
|
+
*/
|
|
118
|
+
export interface CelFunctionSignature {
|
|
119
|
+
parameters: TypeInfo[];
|
|
120
|
+
returnType: TypeInfo;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* CEL operator signature
|
|
124
|
+
*/
|
|
125
|
+
export interface CelOperatorSignature {
|
|
126
|
+
leftType: TypeInfo;
|
|
127
|
+
rightType: TypeInfo;
|
|
128
|
+
returnType: TypeInfo;
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=type-inference-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-inference-types.d.ts","sourceRoot":"","sources":["../../../../src/core/expressions/validation/type-inference-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type Inference Types and Error Classes
|
|
3
|
+
*
|
|
4
|
+
* This module contains all type definitions, interfaces, and error classes
|
|
5
|
+
* used by the CEL type inference engine.
|
|
6
|
+
*/
|
|
7
|
+
import { TypeKroError } from '../../errors.js';
|
|
8
|
+
/**
|
|
9
|
+
* Type inference error
|
|
10
|
+
*/
|
|
11
|
+
export class TypeInferenceError extends TypeKroError {
|
|
12
|
+
celExpression;
|
|
13
|
+
location;
|
|
14
|
+
constructor(message, celExpression, location) {
|
|
15
|
+
super(message, 'TYPE_INFERENCE_ERROR', {
|
|
16
|
+
celExpression,
|
|
17
|
+
location,
|
|
18
|
+
});
|
|
19
|
+
this.celExpression = celExpression;
|
|
20
|
+
this.location = location;
|
|
21
|
+
this.name = 'TypeInferenceError';
|
|
22
|
+
}
|
|
23
|
+
static forUnknownFunction(celExpression, functionName, location) {
|
|
24
|
+
return new TypeInferenceError(`Unknown CEL function: ${functionName}`, celExpression, location);
|
|
25
|
+
}
|
|
26
|
+
static forIncompatibleOperands(celExpression, operator, leftType, rightType, location) {
|
|
27
|
+
return new TypeInferenceError(`Incompatible operands for operator '${operator}': ${leftType.typeName} and ${rightType.typeName}`, celExpression, location);
|
|
28
|
+
}
|
|
29
|
+
static forUnresolvableReference(celExpression, reference, location) {
|
|
30
|
+
return new TypeInferenceError(`Cannot resolve reference: ${reference}`, celExpression, location);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Type inference warning
|
|
35
|
+
*/
|
|
36
|
+
export class TypeInferenceWarning {
|
|
37
|
+
message;
|
|
38
|
+
celExpression;
|
|
39
|
+
location;
|
|
40
|
+
constructor(message, celExpression, location) {
|
|
41
|
+
this.message = message;
|
|
42
|
+
this.celExpression = celExpression;
|
|
43
|
+
this.location = location;
|
|
44
|
+
}
|
|
45
|
+
static forPotentialNullDereference(celExpression, reference, location) {
|
|
46
|
+
return new TypeInferenceWarning(`Potential null dereference: ${reference}`, celExpression, location);
|
|
47
|
+
}
|
|
48
|
+
static forImplicitTypeConversion(celExpression, fromType, toType, location) {
|
|
49
|
+
return new TypeInferenceWarning(`Implicit type conversion from ${fromType} to ${toType}`, celExpression, location);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=type-inference-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-inference-types.js","sourceRoot":"","sources":["../../../../src/core/expressions/validation/type-inference-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA4B/C;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAGhC;IACA;IAHlB,YACE,OAAe,EACC,aAAqB,EACrB,QAAyC;QAEzD,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE;YACrC,aAAa;YACb,QAAQ;SACT,CAAC,CAAC;QANa,kBAAa,GAAb,aAAa,CAAQ;QACrB,aAAQ,GAAR,QAAQ,CAAiC;QAMzD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,kBAAkB,CACvB,aAAqB,EACrB,YAAoB,EACpB,QAAyC;QAEzC,OAAO,IAAI,kBAAkB,CAAC,yBAAyB,YAAY,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,CAAC,uBAAuB,CAC5B,aAAqB,EACrB,QAAgB,EAChB,QAAkB,EAClB,SAAmB,EACnB,QAAyC;QAEzC,OAAO,IAAI,kBAAkB,CAC3B,uCAAuC,QAAQ,MAAM,QAAQ,CAAC,QAAQ,QAAQ,SAAS,CAAC,QAAQ,EAAE,EAClG,aAAa,EACb,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,wBAAwB,CAC7B,aAAqB,EACrB,SAAiB,EACjB,QAAyC;QAEzC,OAAO,IAAI,kBAAkB,CAC3B,6BAA6B,SAAS,EAAE,EACxC,aAAa,EACb,QAAQ,CACT,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAEb;IACA;IACA;IAHlB,YACkB,OAAe,EACf,aAAqB,EACrB,QAAyC;QAFzC,YAAO,GAAP,OAAO,CAAQ;QACf,kBAAa,GAAb,aAAa,CAAQ;QACrB,aAAQ,GAAR,QAAQ,CAAiC;IACxD,CAAC;IAEJ,MAAM,CAAC,2BAA2B,CAChC,aAAqB,EACrB,SAAiB,EACjB,QAAyC;QAEzC,OAAO,IAAI,oBAAoB,CAC7B,+BAA+B,SAAS,EAAE,EAC1C,aAAa,EACb,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,yBAAyB,CAC9B,aAAqB,EACrB,QAAgB,EAChB,MAAc,EACd,QAAyC;QAEzC,OAAO,IAAI,oBAAoB,CAC7B,iCAAiC,QAAQ,OAAO,MAAM,EAAE,EACxD,aAAa,EACb,QAAQ,CACT,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type Inference for CEL Expressions
|
|
3
|
+
*
|
|
4
|
+
* This module provides type inference capabilities for CEL expressions
|
|
5
|
+
* generated from JavaScript expressions. It analyzes CEL expressions
|
|
6
|
+
* to determine their result types and validates type compatibility.
|
|
7
|
+
*/
|
|
8
|
+
import type { CelExpression } from '../../types/common.js';
|
|
9
|
+
import type { CelTypeInferenceResult, TypeInferenceContext } from './type-inference-types.js';
|
|
10
|
+
import type { TypeInfo, TypeValidationResult } from './type-safety.js';
|
|
11
|
+
export { getMetadataFieldType, getSpecFieldType, getStatusFieldType, inferResourceFieldType, inferSchemaFieldType, inferTypeFromValue, } from './kubernetes-field-types.js';
|
|
12
|
+
export type { CelFunctionSignature, CelOperatorSignature, CelTypeInferenceResult, ExpressionAnalysisResult, TypeInferenceContext, TypeInferenceMetadata, } from './type-inference-types.js';
|
|
13
|
+
export { TypeInferenceError, TypeInferenceWarning, } from './type-inference-types.js';
|
|
14
|
+
/**
|
|
15
|
+
* CEL type inference engine
|
|
16
|
+
*/
|
|
17
|
+
export declare class CelTypeInferenceEngine {
|
|
18
|
+
private functionTypes;
|
|
19
|
+
private operatorTypes;
|
|
20
|
+
constructor();
|
|
21
|
+
/**
|
|
22
|
+
* Infer the type of a CEL expression
|
|
23
|
+
*/
|
|
24
|
+
inferType(celExpression: CelExpression, context: TypeInferenceContext): CelTypeInferenceResult;
|
|
25
|
+
/**
|
|
26
|
+
* Infer types for multiple CEL expressions
|
|
27
|
+
*/
|
|
28
|
+
inferTypes(celExpressions: CelExpression[], context: TypeInferenceContext): CelTypeInferenceResult[];
|
|
29
|
+
/**
|
|
30
|
+
* Validate type compatibility between expressions
|
|
31
|
+
*/
|
|
32
|
+
validateTypeCompatibility(sourceType: TypeInfo, targetType: TypeInfo): TypeValidationResult;
|
|
33
|
+
/**
|
|
34
|
+
* Analyze a CEL expression and infer its type
|
|
35
|
+
*/
|
|
36
|
+
private analyzeExpression;
|
|
37
|
+
/**
|
|
38
|
+
* Analyze binary operations (>, <, ==, !=, &&, ||, +, -, *, /)
|
|
39
|
+
*/
|
|
40
|
+
private analyzeBinaryOperation;
|
|
41
|
+
/**
|
|
42
|
+
* Analyze function calls
|
|
43
|
+
*/
|
|
44
|
+
private analyzeFunctionCall;
|
|
45
|
+
/**
|
|
46
|
+
* Analyze resource references (resources.name.field)
|
|
47
|
+
*/
|
|
48
|
+
private analyzeResourceReference;
|
|
49
|
+
/**
|
|
50
|
+
* Analyze schema references (schema.spec.field)
|
|
51
|
+
*/
|
|
52
|
+
private analyzeSchemaReference;
|
|
53
|
+
/**
|
|
54
|
+
* Analyze literal values
|
|
55
|
+
*/
|
|
56
|
+
private analyzeLiteral;
|
|
57
|
+
/**
|
|
58
|
+
* Analyze conditional expressions (condition ? true : false)
|
|
59
|
+
*/
|
|
60
|
+
private analyzeConditionalExpression;
|
|
61
|
+
/**
|
|
62
|
+
* Initialize builtin CEL function and operator types
|
|
63
|
+
*/
|
|
64
|
+
private initializeBuiltinTypes;
|
|
65
|
+
/**
|
|
66
|
+
* Utility methods
|
|
67
|
+
*/
|
|
68
|
+
private tokenizeExpression;
|
|
69
|
+
private isBinaryOperation;
|
|
70
|
+
private isFunctionCall;
|
|
71
|
+
private isResourceReference;
|
|
72
|
+
private isSchemaReference;
|
|
73
|
+
private isLiteral;
|
|
74
|
+
private isConditionalExpression;
|
|
75
|
+
private findMainOperator;
|
|
76
|
+
private getOperatorResultType;
|
|
77
|
+
private isAssignable;
|
|
78
|
+
private requiresImplicitConversion;
|
|
79
|
+
private unifyTypes;
|
|
80
|
+
private createEmptyMetadata;
|
|
81
|
+
/**
|
|
82
|
+
* Extract resource references from the expression
|
|
83
|
+
*/
|
|
84
|
+
private extractResourceReferences;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=type-inference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-inference.d.ts","sourceRoot":"","sources":["../../../../src/core/expressions/validation/type-inference.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAGV,sBAAsB,EAEtB,oBAAoB,EAErB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGvE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,aAAa,CAA2C;IAChE,OAAO,CAAC,aAAa,CAA2C;;IAMhE;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,sBAAsB;IA8B9F;;OAEG;IACH,UAAU,CACR,cAAc,EAAE,aAAa,EAAE,EAC/B,OAAO,EAAE,oBAAoB,GAC5B,sBAAsB,EAAE;IAI3B;;OAEG;IACH,yBAAyB,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,GAAG,oBAAoB;IAkD3F;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiDzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkF9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4D3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAoEhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiD9B;;OAEG;IACH,OAAO,CAAC,cAAc;IA6DtB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAqDpC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0D9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAkBlC"}
|