typekro 0.1.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/LICENSE +185 -0
- package/README.md +1137 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/alchemy/deployers.d.ts +39 -0
- package/dist/alchemy/deployers.d.ts.map +1 -0
- package/dist/alchemy/deployers.js +194 -0
- package/dist/alchemy/deployers.js.map +1 -0
- package/dist/alchemy/deployment.d.ts +12 -0
- package/dist/alchemy/deployment.d.ts.map +1 -0
- package/dist/alchemy/deployment.js +12 -0
- package/dist/alchemy/deployment.js.map +1 -0
- package/dist/alchemy/index.d.ts +17 -0
- package/dist/alchemy/index.d.ts.map +1 -0
- package/dist/alchemy/index.js +20 -0
- package/dist/alchemy/index.js.map +1 -0
- package/dist/alchemy/resolver.d.ts +127 -0
- package/dist/alchemy/resolver.d.ts.map +1 -0
- package/dist/alchemy/resolver.js +341 -0
- package/dist/alchemy/resolver.js.map +1 -0
- package/dist/alchemy/resource-registration.d.ts +22 -0
- package/dist/alchemy/resource-registration.d.ts.map +1 -0
- package/dist/alchemy/resource-registration.js +218 -0
- package/dist/alchemy/resource-registration.js.map +1 -0
- package/dist/alchemy/type-inference.d.ts +13 -0
- package/dist/alchemy/type-inference.d.ts.map +1 -0
- package/dist/alchemy/type-inference.js +67 -0
- package/dist/alchemy/type-inference.js.map +1 -0
- package/dist/alchemy/types.d.ts +92 -0
- package/dist/alchemy/types.d.ts.map +1 -0
- package/dist/alchemy/types.js +8 -0
- package/dist/alchemy/types.js.map +1 -0
- package/dist/alchemy/utilities.d.ts +12 -0
- package/dist/alchemy/utilities.d.ts.map +1 -0
- package/dist/alchemy/utilities.js +16 -0
- package/dist/alchemy/utilities.js.map +1 -0
- package/dist/alchemy/wrapper.d.ts +16 -0
- package/dist/alchemy/wrapper.d.ts.map +1 -0
- package/dist/alchemy/wrapper.js +23 -0
- package/dist/alchemy/wrapper.js.map +1 -0
- package/dist/core/composition/composition.d.ts +94 -0
- package/dist/core/composition/composition.d.ts.map +1 -0
- package/dist/core/composition/composition.js +230 -0
- package/dist/core/composition/composition.js.map +1 -0
- package/dist/core/composition/index.d.ts +12 -0
- package/dist/core/composition/index.d.ts.map +1 -0
- package/dist/core/composition/index.js +12 -0
- package/dist/core/composition/index.js.map +1 -0
- package/dist/core/composition/typekro-runtime/index.d.ts +3 -0
- package/dist/core/composition/typekro-runtime/index.d.ts.map +1 -0
- package/dist/core/composition/typekro-runtime/index.js +2 -0
- package/dist/core/composition/typekro-runtime/index.js.map +1 -0
- package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts +39 -0
- package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +1 -0
- package/dist/core/composition/typekro-runtime/typekro-runtime.js +100 -0
- package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +1 -0
- package/dist/core/composition/typekro-runtime/types.d.ts +16 -0
- package/dist/core/composition/typekro-runtime/types.d.ts.map +1 -0
- package/dist/core/composition/typekro-runtime/types.js +12 -0
- package/dist/core/composition/typekro-runtime/types.js.map +1 -0
- package/dist/core/composition/types.d.ts +264 -0
- package/dist/core/composition/types.d.ts.map +1 -0
- package/dist/core/composition/types.js +2 -0
- package/dist/core/composition/types.js.map +1 -0
- package/dist/core/constants/brands.d.ts +42 -0
- package/dist/core/constants/brands.d.ts.map +1 -0
- package/dist/core/constants/brands.js +51 -0
- package/dist/core/constants/brands.js.map +1 -0
- package/dist/core/dependencies/graph.d.ts +67 -0
- package/dist/core/dependencies/graph.d.ts.map +1 -0
- package/dist/core/dependencies/graph.js +220 -0
- package/dist/core/dependencies/graph.js.map +1 -0
- package/dist/core/dependencies/index.d.ts +7 -0
- package/dist/core/dependencies/index.d.ts.map +1 -0
- package/dist/core/dependencies/index.js +8 -0
- package/dist/core/dependencies/index.js.map +1 -0
- package/dist/core/dependencies/resolver.d.ts +53 -0
- package/dist/core/dependencies/resolver.d.ts.map +1 -0
- package/dist/core/dependencies/resolver.js +167 -0
- package/dist/core/dependencies/resolver.js.map +1 -0
- package/dist/core/dependencies/type-guards.d.ts +17 -0
- package/dist/core/dependencies/type-guards.d.ts.map +1 -0
- package/dist/core/dependencies/type-guards.js +35 -0
- package/dist/core/dependencies/type-guards.js.map +1 -0
- package/dist/core/deployment/deployment-strategies.d.ts +12 -0
- package/dist/core/deployment/deployment-strategies.d.ts.map +1 -0
- package/dist/core/deployment/deployment-strategies.js +11 -0
- package/dist/core/deployment/deployment-strategies.js.map +1 -0
- package/dist/core/deployment/direct-factory.d.ts +111 -0
- package/dist/core/deployment/direct-factory.d.ts.map +1 -0
- package/dist/core/deployment/direct-factory.js +627 -0
- package/dist/core/deployment/direct-factory.js.map +1 -0
- package/dist/core/deployment/engine.d.ts +128 -0
- package/dist/core/deployment/engine.d.ts.map +1 -0
- package/dist/core/deployment/engine.js +1408 -0
- package/dist/core/deployment/engine.js.map +1 -0
- package/dist/core/deployment/index.d.ts +14 -0
- package/dist/core/deployment/index.d.ts.map +1 -0
- package/dist/core/deployment/index.js +14 -0
- package/dist/core/deployment/index.js.map +1 -0
- package/dist/core/deployment/kro-factory.d.ts +143 -0
- package/dist/core/deployment/kro-factory.d.ts.map +1 -0
- package/dist/core/deployment/kro-factory.js +837 -0
- package/dist/core/deployment/kro-factory.js.map +1 -0
- package/dist/core/deployment/readiness.d.ts +54 -0
- package/dist/core/deployment/readiness.d.ts.map +1 -0
- package/dist/core/deployment/readiness.js +175 -0
- package/dist/core/deployment/readiness.js.map +1 -0
- package/dist/core/deployment/rollback-manager.d.ts +63 -0
- package/dist/core/deployment/rollback-manager.d.ts.map +1 -0
- package/dist/core/deployment/rollback-manager.js +225 -0
- package/dist/core/deployment/rollback-manager.js.map +1 -0
- package/dist/core/deployment/shared-utilities.d.ts +41 -0
- package/dist/core/deployment/shared-utilities.d.ts.map +1 -0
- package/dist/core/deployment/shared-utilities.js +100 -0
- package/dist/core/deployment/shared-utilities.js.map +1 -0
- package/dist/core/deployment/status-hydrator.d.ts +86 -0
- package/dist/core/deployment/status-hydrator.d.ts.map +1 -0
- package/dist/core/deployment/status-hydrator.js +262 -0
- package/dist/core/deployment/status-hydrator.js.map +1 -0
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts +107 -0
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +1 -0
- package/dist/core/deployment/strategies/alchemy-strategy.js +446 -0
- package/dist/core/deployment/strategies/alchemy-strategy.js.map +1 -0
- package/dist/core/deployment/strategies/base-strategy.d.ts +50 -0
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -0
- package/dist/core/deployment/strategies/base-strategy.js +82 -0
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -0
- package/dist/core/deployment/strategies/direct-strategy.d.ts +29 -0
- package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -0
- package/dist/core/deployment/strategies/direct-strategy.js +80 -0
- package/dist/core/deployment/strategies/direct-strategy.js.map +1 -0
- package/dist/core/deployment/strategies/index.d.ts +12 -0
- package/dist/core/deployment/strategies/index.d.ts.map +1 -0
- package/dist/core/deployment/strategies/index.js +12 -0
- package/dist/core/deployment/strategies/index.js.map +1 -0
- package/dist/core/deployment/strategies/kro-strategy.d.ts +41 -0
- package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -0
- package/dist/core/deployment/strategies/kro-strategy.js +270 -0
- package/dist/core/deployment/strategies/kro-strategy.js.map +1 -0
- package/dist/core/direct-deployment.d.ts +8 -0
- package/dist/core/direct-deployment.d.ts.map +1 -0
- package/dist/core/direct-deployment.js +9 -0
- package/dist/core/direct-deployment.js.map +1 -0
- package/dist/core/errors.d.ts +73 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +250 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/evaluation/cel-optimizer.d.ts +48 -0
- package/dist/core/evaluation/cel-optimizer.d.ts.map +1 -0
- package/dist/core/evaluation/cel-optimizer.js +176 -0
- package/dist/core/evaluation/cel-optimizer.js.map +1 -0
- package/dist/core/factory.d.ts +12 -0
- package/dist/core/factory.d.ts.map +1 -0
- package/dist/core/factory.js +13 -0
- package/dist/core/factory.js.map +1 -0
- package/dist/core/kubernetes/api.d.ts +43 -0
- package/dist/core/kubernetes/api.d.ts.map +1 -0
- package/dist/core/kubernetes/api.js +209 -0
- package/dist/core/kubernetes/api.js.map +1 -0
- package/dist/core/kubernetes/client-provider.d.ts +204 -0
- package/dist/core/kubernetes/client-provider.d.ts.map +1 -0
- package/dist/core/kubernetes/client-provider.js +421 -0
- package/dist/core/kubernetes/client-provider.js.map +1 -0
- package/dist/core/logging/config.d.ts +14 -0
- package/dist/core/logging/config.d.ts.map +1 -0
- package/dist/core/logging/config.js +57 -0
- package/dist/core/logging/config.js.map +1 -0
- package/dist/core/logging/index.d.ts +4 -0
- package/dist/core/logging/index.d.ts.map +1 -0
- package/dist/core/logging/index.js +4 -0
- package/dist/core/logging/index.js.map +1 -0
- package/dist/core/logging/logger.d.ts +26 -0
- package/dist/core/logging/logger.d.ts.map +1 -0
- package/dist/core/logging/logger.js +114 -0
- package/dist/core/logging/logger.js.map +1 -0
- package/dist/core/logging/types.d.ts +93 -0
- package/dist/core/logging/types.d.ts.map +1 -0
- package/dist/core/logging/types.js +2 -0
- package/dist/core/logging/types.js.map +1 -0
- package/dist/core/readiness/cluster-state.d.ts +229 -0
- package/dist/core/readiness/cluster-state.d.ts.map +1 -0
- package/dist/core/readiness/cluster-state.js +360 -0
- package/dist/core/readiness/cluster-state.js.map +1 -0
- package/dist/core/readiness/index.d.ts +5 -0
- package/dist/core/readiness/index.d.ts.map +1 -0
- package/dist/core/readiness/index.js +5 -0
- package/dist/core/readiness/index.js.map +1 -0
- package/dist/core/readiness/registry.d.ts +45 -0
- package/dist/core/readiness/registry.d.ts.map +1 -0
- package/dist/core/readiness/registry.js +62 -0
- package/dist/core/readiness/registry.js.map +1 -0
- package/dist/core/references/cel-evaluator.d.ts +102 -0
- package/dist/core/references/cel-evaluator.d.ts.map +1 -0
- package/dist/core/references/cel-evaluator.js +288 -0
- package/dist/core/references/cel-evaluator.js.map +1 -0
- package/dist/core/references/cel.d.ts +75 -0
- package/dist/core/references/cel.d.ts.map +1 -0
- package/dist/core/references/cel.js +213 -0
- package/dist/core/references/cel.js.map +1 -0
- package/dist/core/references/external-refs.d.ts +37 -0
- package/dist/core/references/external-refs.d.ts.map +1 -0
- package/dist/core/references/external-refs.js +53 -0
- package/dist/core/references/external-refs.js.map +1 -0
- package/dist/core/references/index.d.ts +15 -0
- package/dist/core/references/index.d.ts.map +1 -0
- package/dist/core/references/index.js +19 -0
- package/dist/core/references/index.js.map +1 -0
- package/dist/core/references/resolver.d.ts +117 -0
- package/dist/core/references/resolver.d.ts.map +1 -0
- package/dist/core/references/resolver.js +554 -0
- package/dist/core/references/resolver.js.map +1 -0
- package/dist/core/references/schema-proxy.d.ts +38 -0
- package/dist/core/references/schema-proxy.d.ts.map +1 -0
- package/dist/core/references/schema-proxy.js +163 -0
- package/dist/core/references/schema-proxy.js.map +1 -0
- package/dist/core/serialization/core.d.ts +15 -0
- package/dist/core/serialization/core.d.ts.map +1 -0
- package/dist/core/serialization/core.js +169 -0
- package/dist/core/serialization/core.js.map +1 -0
- package/dist/core/serialization/index.d.ts +9 -0
- package/dist/core/serialization/index.d.ts.map +1 -0
- package/dist/core/serialization/index.js +12 -0
- package/dist/core/serialization/index.js.map +1 -0
- package/dist/core/serialization/schema.d.ts +14 -0
- package/dist/core/serialization/schema.d.ts.map +1 -0
- package/dist/core/serialization/schema.js +33 -0
- package/dist/core/serialization/schema.js.map +1 -0
- package/dist/core/serialization/validation.d.ts +18 -0
- package/dist/core/serialization/validation.d.ts.map +1 -0
- package/dist/core/serialization/validation.js +165 -0
- package/dist/core/serialization/validation.js.map +1 -0
- package/dist/core/serialization/yaml.d.ts +10 -0
- package/dist/core/serialization/yaml.d.ts.map +1 -0
- package/dist/core/serialization/yaml.js +63 -0
- package/dist/core/serialization/yaml.js.map +1 -0
- package/dist/core/types/common.d.ts +41 -0
- package/dist/core/types/common.d.ts.map +1 -0
- package/dist/core/types/common.js +9 -0
- package/dist/core/types/common.js.map +1 -0
- package/dist/core/types/dependencies.d.ts +14 -0
- package/dist/core/types/dependencies.d.ts.map +1 -0
- package/dist/core/types/dependencies.js +5 -0
- package/dist/core/types/dependencies.js.map +1 -0
- package/dist/core/types/deployment.d.ts +265 -0
- package/dist/core/types/deployment.d.ts.map +1 -0
- package/dist/core/types/deployment.js +20 -0
- package/dist/core/types/deployment.js.map +1 -0
- package/dist/core/types/index.d.ts +19 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/core/types/index.js +15 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/types/kubernetes.d.ts +352 -0
- package/dist/core/types/kubernetes.d.ts.map +1 -0
- package/dist/core/types/kubernetes.js +5 -0
- package/dist/core/types/kubernetes.js.map +1 -0
- package/dist/core/types/references.d.ts +54 -0
- package/dist/core/types/references.d.ts.map +1 -0
- package/dist/core/types/references.js +14 -0
- package/dist/core/types/references.js.map +1 -0
- package/dist/core/types/resource-graph.d.ts +93 -0
- package/dist/core/types/resource-graph.d.ts.map +1 -0
- package/dist/core/types/resource-graph.js +8 -0
- package/dist/core/types/resource-graph.js.map +1 -0
- package/dist/core/types/serialization.d.ts +210 -0
- package/dist/core/types/serialization.d.ts.map +1 -0
- package/dist/core/types/serialization.js +5 -0
- package/dist/core/types/serialization.js.map +1 -0
- package/dist/core/types/yaml.d.ts +92 -0
- package/dist/core/types/yaml.d.ts.map +1 -0
- package/dist/core/types/yaml.js +2 -0
- package/dist/core/types/yaml.js.map +1 -0
- package/dist/core/types.d.ts +8 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +9 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/validation/cel-validator.d.ts +47 -0
- package/dist/core/validation/cel-validator.d.ts.map +1 -0
- package/dist/core/validation/cel-validator.js +200 -0
- package/dist/core/validation/cel-validator.js.map +1 -0
- package/dist/core/yaml/index.d.ts +5 -0
- package/dist/core/yaml/index.d.ts.map +1 -0
- package/dist/core/yaml/index.js +5 -0
- package/dist/core/yaml/index.js.map +1 -0
- package/dist/core/yaml/path-resolver.d.ts +122 -0
- package/dist/core/yaml/path-resolver.d.ts.map +1 -0
- package/dist/core/yaml/path-resolver.js +556 -0
- package/dist/core/yaml/path-resolver.js.map +1 -0
- package/dist/core.d.ts +30 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +59 -0
- package/dist/core.js.map +1 -0
- package/dist/factories/flux/git-repository.d.ts +62 -0
- package/dist/factories/flux/git-repository.d.ts.map +1 -0
- package/dist/factories/flux/git-repository.js +34 -0
- package/dist/factories/flux/git-repository.js.map +1 -0
- package/dist/factories/flux/index.d.ts +10 -0
- package/dist/factories/flux/index.d.ts.map +1 -0
- package/dist/factories/flux/index.js +11 -0
- package/dist/factories/flux/index.js.map +1 -0
- package/dist/factories/flux/kustomize/index.d.ts +4 -0
- package/dist/factories/flux/kustomize/index.d.ts.map +1 -0
- package/dist/factories/flux/kustomize/index.js +3 -0
- package/dist/factories/flux/kustomize/index.js.map +1 -0
- package/dist/factories/flux/kustomize/kustomization.d.ts +178 -0
- package/dist/factories/flux/kustomize/kustomization.d.ts.map +1 -0
- package/dist/factories/flux/kustomize/kustomization.js +108 -0
- package/dist/factories/flux/kustomize/kustomization.js.map +1 -0
- package/dist/factories/flux/kustomize/readiness-evaluators.d.ts +9 -0
- package/dist/factories/flux/kustomize/readiness-evaluators.d.ts.map +1 -0
- package/dist/factories/flux/kustomize/readiness-evaluators.js +71 -0
- package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -0
- package/dist/factories/flux/kustomize/types.d.ts +2 -0
- package/dist/factories/flux/kustomize/types.d.ts.map +1 -0
- package/dist/factories/flux/kustomize/types.js +2 -0
- package/dist/factories/flux/kustomize/types.js.map +1 -0
- package/dist/factories/helm/helm-release.d.ts +139 -0
- package/dist/factories/helm/helm-release.d.ts.map +1 -0
- package/dist/factories/helm/helm-release.js +180 -0
- package/dist/factories/helm/helm-release.js.map +1 -0
- package/dist/factories/helm/helm-repository.d.ts +24 -0
- package/dist/factories/helm/helm-repository.d.ts.map +1 -0
- package/dist/factories/helm/helm-repository.js +57 -0
- package/dist/factories/helm/helm-repository.js.map +1 -0
- package/dist/factories/helm/index.d.ts +8 -0
- package/dist/factories/helm/index.d.ts.map +1 -0
- package/dist/factories/helm/index.js +8 -0
- package/dist/factories/helm/index.js.map +1 -0
- package/dist/factories/helm/readiness-evaluators.d.ts +55 -0
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -0
- package/dist/factories/helm/readiness-evaluators.js +295 -0
- package/dist/factories/helm/readiness-evaluators.js.map +1 -0
- package/dist/factories/helm/types.d.ts +21 -0
- package/dist/factories/helm/types.d.ts.map +1 -0
- package/dist/factories/helm/types.js +2 -0
- package/dist/factories/helm/types.js.map +1 -0
- package/dist/factories/index.d.ts +12 -0
- package/dist/factories/index.d.ts.map +1 -0
- package/dist/factories/index.js +31 -0
- package/dist/factories/index.js.map +1 -0
- package/dist/factories/kro/index.d.ts +11 -0
- package/dist/factories/kro/index.d.ts.map +1 -0
- package/dist/factories/kro/index.js +10 -0
- package/dist/factories/kro/index.js.map +1 -0
- package/dist/factories/kro/kro-crd.d.ts +14 -0
- package/dist/factories/kro/kro-crd.d.ts.map +1 -0
- package/dist/factories/kro/kro-crd.js +51 -0
- package/dist/factories/kro/kro-crd.js.map +1 -0
- package/dist/factories/kro/kro-custom-resource.d.ts +23 -0
- package/dist/factories/kro/kro-custom-resource.d.ts.map +1 -0
- package/dist/factories/kro/kro-custom-resource.js +153 -0
- package/dist/factories/kro/kro-custom-resource.js.map +1 -0
- package/dist/factories/kro/resource-graph-definition.d.ts +12 -0
- package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -0
- package/dist/factories/kro/resource-graph-definition.js +94 -0
- package/dist/factories/kro/resource-graph-definition.js.map +1 -0
- package/dist/factories/kubernetes/admission/index.d.ts +9 -0
- package/dist/factories/kubernetes/admission/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/index.js +9 -0
- package/dist/factories/kubernetes/admission/index.js.map +1 -0
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts +5 -0
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js +10 -0
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js.map +1 -0
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts +5 -0
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.js +10 -0
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.js.map +1 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts +6 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts.map +1 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js +35 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js.map +1 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts +6 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js +31 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js.map +1 -0
- package/dist/factories/kubernetes/autoscaling/index.d.ts +9 -0
- package/dist/factories/kubernetes/autoscaling/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/autoscaling/index.js +9 -0
- package/dist/factories/kubernetes/autoscaling/index.js.map +1 -0
- package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts +6 -0
- package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts.map +1 -0
- package/dist/factories/kubernetes/certificates/certificate-signing-request.js +48 -0
- package/dist/factories/kubernetes/certificates/certificate-signing-request.js.map +1 -0
- package/dist/factories/kubernetes/certificates/index.d.ts +8 -0
- package/dist/factories/kubernetes/certificates/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/certificates/index.js +8 -0
- package/dist/factories/kubernetes/certificates/index.js.map +1 -0
- package/dist/factories/kubernetes/config/config-map.d.ts +5 -0
- package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -0
- package/dist/factories/kubernetes/config/config-map.js +16 -0
- package/dist/factories/kubernetes/config/config-map.js.map +1 -0
- package/dist/factories/kubernetes/config/index.d.ts +9 -0
- package/dist/factories/kubernetes/config/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/config/index.js +9 -0
- package/dist/factories/kubernetes/config/index.js.map +1 -0
- package/dist/factories/kubernetes/config/secret.d.ts +5 -0
- package/dist/factories/kubernetes/config/secret.d.ts.map +1 -0
- package/dist/factories/kubernetes/config/secret.js +16 -0
- package/dist/factories/kubernetes/config/secret.js.map +1 -0
- package/dist/factories/kubernetes/coordination/index.d.ts +8 -0
- package/dist/factories/kubernetes/coordination/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/coordination/index.js +8 -0
- package/dist/factories/kubernetes/coordination/index.js.map +1 -0
- package/dist/factories/kubernetes/coordination/lease.d.ts +5 -0
- package/dist/factories/kubernetes/coordination/lease.d.ts.map +1 -0
- package/dist/factories/kubernetes/coordination/lease.js +10 -0
- package/dist/factories/kubernetes/coordination/lease.js.map +1 -0
- package/dist/factories/kubernetes/core/component-status.d.ts +4 -0
- package/dist/factories/kubernetes/core/component-status.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/component-status.js +25 -0
- package/dist/factories/kubernetes/core/component-status.js.map +1 -0
- package/dist/factories/kubernetes/core/index.d.ts +11 -0
- package/dist/factories/kubernetes/core/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/index.js +11 -0
- package/dist/factories/kubernetes/core/index.js.map +1 -0
- package/dist/factories/kubernetes/core/namespace.d.ts +9 -0
- package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/namespace.js +48 -0
- package/dist/factories/kubernetes/core/namespace.js.map +1 -0
- package/dist/factories/kubernetes/core/node.d.ts +6 -0
- package/dist/factories/kubernetes/core/node.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/node.js +34 -0
- package/dist/factories/kubernetes/core/node.js.map +1 -0
- package/dist/factories/kubernetes/core/pod.d.ts +6 -0
- package/dist/factories/kubernetes/core/pod.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/pod.js +44 -0
- package/dist/factories/kubernetes/core/pod.js.map +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts +6 -0
- package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts.map +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource-definition.js +45 -0
- package/dist/factories/kubernetes/extensions/custom-resource-definition.js.map +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource.d.ts +12 -0
- package/dist/factories/kubernetes/extensions/custom-resource.d.ts.map +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource.js +17 -0
- package/dist/factories/kubernetes/extensions/custom-resource.js.map +1 -0
- package/dist/factories/kubernetes/extensions/index.d.ts +9 -0
- package/dist/factories/kubernetes/extensions/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/extensions/index.js +9 -0
- package/dist/factories/kubernetes/extensions/index.js.map +1 -0
- package/dist/factories/kubernetes/index.d.ts +24 -0
- package/dist/factories/kubernetes/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/index.js +75 -0
- package/dist/factories/kubernetes/index.js.map +1 -0
- package/dist/factories/kubernetes/networking/endpoint-slice.d.ts +4 -0
- package/dist/factories/kubernetes/networking/endpoint-slice.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/endpoint-slice.js +10 -0
- package/dist/factories/kubernetes/networking/endpoint-slice.js.map +1 -0
- package/dist/factories/kubernetes/networking/endpoints.d.ts +4 -0
- package/dist/factories/kubernetes/networking/endpoints.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/endpoints.js +39 -0
- package/dist/factories/kubernetes/networking/endpoints.js.map +1 -0
- package/dist/factories/kubernetes/networking/index.d.ts +13 -0
- package/dist/factories/kubernetes/networking/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/index.js +13 -0
- package/dist/factories/kubernetes/networking/index.js.map +1 -0
- package/dist/factories/kubernetes/networking/ingress-class.d.ts +5 -0
- package/dist/factories/kubernetes/networking/ingress-class.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/ingress-class.js +16 -0
- package/dist/factories/kubernetes/networking/ingress-class.js.map +1 -0
- package/dist/factories/kubernetes/networking/ingress.d.ts +5 -0
- package/dist/factories/kubernetes/networking/ingress.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/ingress.js +33 -0
- package/dist/factories/kubernetes/networking/ingress.js.map +1 -0
- package/dist/factories/kubernetes/networking/network-policy.d.ts +5 -0
- package/dist/factories/kubernetes/networking/network-policy.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/network-policy.js +17 -0
- package/dist/factories/kubernetes/networking/network-policy.js.map +1 -0
- package/dist/factories/kubernetes/networking/service.d.ts +5 -0
- package/dist/factories/kubernetes/networking/service.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/service.js +64 -0
- package/dist/factories/kubernetes/networking/service.js.map +1 -0
- package/dist/factories/kubernetes/policy/index.d.ts +10 -0
- package/dist/factories/kubernetes/policy/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/policy/index.js +10 -0
- package/dist/factories/kubernetes/policy/index.js.map +1 -0
- package/dist/factories/kubernetes/policy/limit-range.d.ts +5 -0
- package/dist/factories/kubernetes/policy/limit-range.d.ts.map +1 -0
- package/dist/factories/kubernetes/policy/limit-range.js +17 -0
- package/dist/factories/kubernetes/policy/limit-range.js.map +1 -0
- package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts +6 -0
- package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts.map +1 -0
- package/dist/factories/kubernetes/policy/pod-disruption-budget.js +55 -0
- package/dist/factories/kubernetes/policy/pod-disruption-budget.js.map +1 -0
- package/dist/factories/kubernetes/policy/resource-quota.d.ts +6 -0
- package/dist/factories/kubernetes/policy/resource-quota.d.ts.map +1 -0
- package/dist/factories/kubernetes/policy/resource-quota.js +43 -0
- package/dist/factories/kubernetes/policy/resource-quota.js.map +1 -0
- package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js +17 -0
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js.map +1 -0
- package/dist/factories/kubernetes/rbac/cluster-role.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/cluster-role.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/cluster-role.js +17 -0
- package/dist/factories/kubernetes/rbac/cluster-role.js.map +1 -0
- package/dist/factories/kubernetes/rbac/index.d.ts +12 -0
- package/dist/factories/kubernetes/rbac/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/index.js +12 -0
- package/dist/factories/kubernetes/rbac/index.js.map +1 -0
- package/dist/factories/kubernetes/rbac/role-binding.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/role-binding.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/role-binding.js +17 -0
- package/dist/factories/kubernetes/rbac/role-binding.js.map +1 -0
- package/dist/factories/kubernetes/rbac/role.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/role.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/role.js +17 -0
- package/dist/factories/kubernetes/rbac/role.js.map +1 -0
- package/dist/factories/kubernetes/rbac/service-account.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/service-account.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/service-account.js +17 -0
- package/dist/factories/kubernetes/rbac/service-account.js.map +1 -0
- package/dist/factories/kubernetes/scheduling/index.d.ts +9 -0
- package/dist/factories/kubernetes/scheduling/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/scheduling/index.js +9 -0
- package/dist/factories/kubernetes/scheduling/index.js.map +1 -0
- package/dist/factories/kubernetes/scheduling/priority-class.d.ts +4 -0
- package/dist/factories/kubernetes/scheduling/priority-class.d.ts.map +1 -0
- package/dist/factories/kubernetes/scheduling/priority-class.js +16 -0
- package/dist/factories/kubernetes/scheduling/priority-class.js.map +1 -0
- package/dist/factories/kubernetes/scheduling/runtime-class.d.ts +5 -0
- package/dist/factories/kubernetes/scheduling/runtime-class.d.ts.map +1 -0
- package/dist/factories/kubernetes/scheduling/runtime-class.js +10 -0
- package/dist/factories/kubernetes/scheduling/runtime-class.js.map +1 -0
- package/dist/factories/kubernetes/storage/csi-driver.d.ts +5 -0
- package/dist/factories/kubernetes/storage/csi-driver.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/csi-driver.js +16 -0
- package/dist/factories/kubernetes/storage/csi-driver.js.map +1 -0
- package/dist/factories/kubernetes/storage/csi-node.d.ts +5 -0
- package/dist/factories/kubernetes/storage/csi-node.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/csi-node.js +10 -0
- package/dist/factories/kubernetes/storage/csi-node.js.map +1 -0
- package/dist/factories/kubernetes/storage/index.d.ts +13 -0
- package/dist/factories/kubernetes/storage/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/index.js +13 -0
- package/dist/factories/kubernetes/storage/index.js.map +1 -0
- package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts +6 -0
- package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/persistent-volume-claim.js +30 -0
- package/dist/factories/kubernetes/storage/persistent-volume-claim.js.map +1 -0
- package/dist/factories/kubernetes/storage/persistent-volume.d.ts +6 -0
- package/dist/factories/kubernetes/storage/persistent-volume.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/persistent-volume.js +47 -0
- package/dist/factories/kubernetes/storage/persistent-volume.js.map +1 -0
- package/dist/factories/kubernetes/storage/storage-class.d.ts +4 -0
- package/dist/factories/kubernetes/storage/storage-class.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/storage-class.js +17 -0
- package/dist/factories/kubernetes/storage/storage-class.js.map +1 -0
- package/dist/factories/kubernetes/storage/volume-attachment.d.ts +6 -0
- package/dist/factories/kubernetes/storage/volume-attachment.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/volume-attachment.js +10 -0
- package/dist/factories/kubernetes/storage/volume-attachment.js.map +1 -0
- package/dist/factories/kubernetes/types.d.ts +8 -0
- package/dist/factories/kubernetes/types.d.ts.map +1 -0
- package/dist/factories/kubernetes/types.js +8 -0
- package/dist/factories/kubernetes/types.js.map +1 -0
- package/dist/factories/kubernetes/workloads/cron-job.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/cron-job.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/cron-job.js +53 -0
- package/dist/factories/kubernetes/workloads/cron-job.js.map +1 -0
- package/dist/factories/kubernetes/workloads/daemon-set.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/daemon-set.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/daemon-set.js +32 -0
- package/dist/factories/kubernetes/workloads/daemon-set.js.map +1 -0
- package/dist/factories/kubernetes/workloads/deployment.d.ts +5 -0
- package/dist/factories/kubernetes/workloads/deployment.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/deployment.js +59 -0
- package/dist/factories/kubernetes/workloads/deployment.js.map +1 -0
- package/dist/factories/kubernetes/workloads/index.d.ts +14 -0
- package/dist/factories/kubernetes/workloads/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/index.js +14 -0
- package/dist/factories/kubernetes/workloads/index.js.map +1 -0
- package/dist/factories/kubernetes/workloads/job.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/job.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/job.js +105 -0
- package/dist/factories/kubernetes/workloads/job.js.map +1 -0
- package/dist/factories/kubernetes/workloads/replica-set.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/replica-set.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/replica-set.js +33 -0
- package/dist/factories/kubernetes/workloads/replica-set.js.map +1 -0
- package/dist/factories/kubernetes/workloads/replication-controller.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/replication-controller.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/replication-controller.js +56 -0
- package/dist/factories/kubernetes/workloads/replication-controller.js.map +1 -0
- package/dist/factories/kubernetes/workloads/stateful-set.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/stateful-set.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/stateful-set.js +81 -0
- package/dist/factories/kubernetes/workloads/stateful-set.js.map +1 -0
- package/dist/factories/kubernetes/yaml/index.d.ts +6 -0
- package/dist/factories/kubernetes/yaml/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/yaml/index.js +6 -0
- package/dist/factories/kubernetes/yaml/index.js.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts +54 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.js +178 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts +54 -0
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-file.js +181 -0
- package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -0
- package/dist/factories/shared.d.ts +11 -0
- package/dist/factories/shared.d.ts.map +1 -0
- package/dist/factories/shared.js +364 -0
- package/dist/factories/shared.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/helpers.d.ts +69 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +405 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +11 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/type-guards.d.ts +34 -0
- package/dist/utils/type-guards.d.ts.map +1 -0
- package/dist/utils/type-guards.js +66 -0
- package/dist/utils/type-guards.js.map +1 -0
- package/package.json +109 -0
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utilities for factory functions
|
|
3
|
+
*
|
|
4
|
+
* This module contains common utilities and helper functions that are used
|
|
5
|
+
* across all factory modules for creating Kubernetes resources.
|
|
6
|
+
*/
|
|
7
|
+
import { getComponentLogger } from '../core/logging/index.js';
|
|
8
|
+
import { KUBERNETES_REF_BRAND } from '../core/constants/brands.js';
|
|
9
|
+
import { isCelExpression } from '../utils/type-guards.js';
|
|
10
|
+
import { generateDeterministicResourceId, isKubernetesRef } from '../utils/index.js';
|
|
11
|
+
import { ReadinessEvaluatorRegistry } from '../core/readiness/index.js';
|
|
12
|
+
import { validateResourceId } from '../core/validation/cel-validator.js';
|
|
13
|
+
// Check for the debug environment variable
|
|
14
|
+
const IS_DEBUG_MODE = process.env.TYPEKRO_DEBUG === 'true';
|
|
15
|
+
// Logger for debug mode
|
|
16
|
+
const debugLogger = getComponentLogger('factory-proxy');
|
|
17
|
+
// =============================================================================
|
|
18
|
+
// PROXY ENGINE & BASE FACTORY
|
|
19
|
+
// =============================================================================
|
|
20
|
+
function createRefFactory(resourceId, basePath) {
|
|
21
|
+
const proxyTarget = () => {
|
|
22
|
+
// Empty function used as proxy target
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(proxyTarget, KUBERNETES_REF_BRAND, { value: true });
|
|
25
|
+
Object.defineProperty(proxyTarget, 'resourceId', { value: resourceId });
|
|
26
|
+
Object.defineProperty(proxyTarget, 'fieldPath', { value: basePath });
|
|
27
|
+
// Make the proxy compatible with string, number, and boolean types
|
|
28
|
+
Object.defineProperty(proxyTarget, 'valueOf', {
|
|
29
|
+
value: () => basePath, // Return a string representation
|
|
30
|
+
enumerable: false,
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(proxyTarget, 'toString', {
|
|
33
|
+
value: () => basePath, // Return a string representation
|
|
34
|
+
enumerable: false,
|
|
35
|
+
});
|
|
36
|
+
return new Proxy(proxyTarget, {
|
|
37
|
+
get(target, prop) {
|
|
38
|
+
if (prop in target)
|
|
39
|
+
return target[prop];
|
|
40
|
+
return createRefFactory(resourceId, `${basePath}.${String(prop)}`);
|
|
41
|
+
},
|
|
42
|
+
}); // Force TypeScript to see this as compatible with any type
|
|
43
|
+
}
|
|
44
|
+
function createPropertyProxy(resourceId, basePath, target) {
|
|
45
|
+
if (IS_DEBUG_MODE) {
|
|
46
|
+
debugLogger.debug('Proxy created', { resourceId, basePath });
|
|
47
|
+
}
|
|
48
|
+
return new Proxy(target, {
|
|
49
|
+
get: (obj, prop) => {
|
|
50
|
+
// Handle toJSON specially to ensure proper serialization
|
|
51
|
+
if (prop === 'toJSON') {
|
|
52
|
+
return () => {
|
|
53
|
+
const result = {};
|
|
54
|
+
for (const key of Object.keys(obj)) {
|
|
55
|
+
result[key] = obj[key];
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
// 1. Immediately handle non-string properties.
|
|
61
|
+
if (typeof prop !== 'string') {
|
|
62
|
+
return obj[prop];
|
|
63
|
+
}
|
|
64
|
+
// 2. Check if the user is explicitly requesting a reference with the '$' prefix.
|
|
65
|
+
if (prop.startsWith('$')) {
|
|
66
|
+
const actualProp = prop.substring(1);
|
|
67
|
+
// Return the KubernetesRef for the underlying property.
|
|
68
|
+
return createRefFactory(resourceId, `${basePath}.${actualProp}`);
|
|
69
|
+
}
|
|
70
|
+
// 3. For any other access, default to the "eager value" or "implicit ref for unknown" logic.
|
|
71
|
+
if (prop in obj) {
|
|
72
|
+
// If it's a known property, return its value.
|
|
73
|
+
return obj[prop];
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
// If it's an unknown property (like from a schema), create the reference implicitly.
|
|
77
|
+
return createRefFactory(resourceId, `${basePath}.${String(prop)}`);
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
set: (obj, prop, value) => {
|
|
81
|
+
if (IS_DEBUG_MODE) {
|
|
82
|
+
debugLogger.debug('Proxy property set', { basePath, prop: String(prop), value });
|
|
83
|
+
}
|
|
84
|
+
// Transparently accept KubernetesRef and CelExpression objects
|
|
85
|
+
// The serialization system will handle converting them to CEL expressions
|
|
86
|
+
return Reflect.set(obj, prop, value);
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function createGenericProxyResource(resourceId, resource) {
|
|
91
|
+
Object.defineProperty(resource, '__resourceId', {
|
|
92
|
+
value: resourceId,
|
|
93
|
+
enumerable: false,
|
|
94
|
+
configurable: true,
|
|
95
|
+
});
|
|
96
|
+
// Cache proxies to ensure the same proxy is returned each time
|
|
97
|
+
let specProxy;
|
|
98
|
+
let statusProxy;
|
|
99
|
+
return new Proxy(resource, {
|
|
100
|
+
/**
|
|
101
|
+
* Trap for Object.keys, JSON.stringify, etc.
|
|
102
|
+
* This is crucial for making the proxy serializable. It ensures that
|
|
103
|
+
* when something tries to get the keys of the proxy, it gets the keys
|
|
104
|
+
* of the underlying resource object.
|
|
105
|
+
*/
|
|
106
|
+
ownKeys(target) {
|
|
107
|
+
return Reflect.ownKeys(target);
|
|
108
|
+
},
|
|
109
|
+
get(target, prop, receiver) {
|
|
110
|
+
// Handle toJSON specially to ensure proper serialization
|
|
111
|
+
if (prop === 'toJSON') {
|
|
112
|
+
return () => {
|
|
113
|
+
// Create a plain object with all enumerable properties
|
|
114
|
+
const result = {};
|
|
115
|
+
const targetObj = target;
|
|
116
|
+
for (const key of Object.keys(target)) {
|
|
117
|
+
if (key !== '__resourceId' &&
|
|
118
|
+
key !== 'withReadinessEvaluator' &&
|
|
119
|
+
key !== 'readinessEvaluator') {
|
|
120
|
+
result[key] = targetObj[key];
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return result;
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
if (prop === 'spec') {
|
|
127
|
+
if (!specProxy) {
|
|
128
|
+
const spec = target.spec ?? {};
|
|
129
|
+
specProxy = createPropertyProxy(resourceId, 'spec', spec);
|
|
130
|
+
}
|
|
131
|
+
return specProxy;
|
|
132
|
+
}
|
|
133
|
+
if (prop === 'status') {
|
|
134
|
+
if (!statusProxy) {
|
|
135
|
+
const status = target.status ?? {};
|
|
136
|
+
statusProxy = createPropertyProxy(resourceId, 'status', status);
|
|
137
|
+
}
|
|
138
|
+
return statusProxy;
|
|
139
|
+
}
|
|
140
|
+
if (prop === 'metadata') {
|
|
141
|
+
// For metadata, we need to ensure it's serializable while still providing proxy functionality
|
|
142
|
+
const metadata = target.metadata || {};
|
|
143
|
+
const metadataProxy = createPropertyProxy(resourceId, 'metadata', metadata);
|
|
144
|
+
// Add enumerable properties to make it JSON serializable
|
|
145
|
+
// This ensures that JSON.stringify can access the metadata fields
|
|
146
|
+
if (metadata && typeof metadata === 'object') {
|
|
147
|
+
for (const [key, value] of Object.entries(metadata)) {
|
|
148
|
+
if (!Object.hasOwn(metadataProxy, key)) {
|
|
149
|
+
Object.defineProperty(metadataProxy, key, {
|
|
150
|
+
value: value,
|
|
151
|
+
enumerable: true,
|
|
152
|
+
configurable: true,
|
|
153
|
+
writable: true,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return metadataProxy;
|
|
159
|
+
}
|
|
160
|
+
if (prop === 'id') {
|
|
161
|
+
return resourceId; // Return the resource ID directly
|
|
162
|
+
}
|
|
163
|
+
// Handle common Kubernetes resource fields as magic proxies
|
|
164
|
+
if (prop === 'data' && 'data' in target) {
|
|
165
|
+
const data = target.data ?? {};
|
|
166
|
+
return createPropertyProxy(resourceId, 'data', data);
|
|
167
|
+
}
|
|
168
|
+
if (prop === 'stringData' && 'stringData' in target) {
|
|
169
|
+
const stringData = target.stringData ?? {};
|
|
170
|
+
return createPropertyProxy(resourceId, 'stringData', stringData);
|
|
171
|
+
}
|
|
172
|
+
if (prop === 'rules' && 'rules' in target) {
|
|
173
|
+
const rules = target.rules ?? [];
|
|
174
|
+
return createPropertyProxy(resourceId, 'rules', rules);
|
|
175
|
+
}
|
|
176
|
+
if (prop === 'roleRef' && 'roleRef' in target) {
|
|
177
|
+
const roleRef = target.roleRef ?? {};
|
|
178
|
+
return createPropertyProxy(resourceId, 'roleRef', roleRef);
|
|
179
|
+
}
|
|
180
|
+
if (prop === 'subjects' && 'subjects' in target) {
|
|
181
|
+
const subjects = target.subjects ?? [];
|
|
182
|
+
return createPropertyProxy(resourceId, 'subjects', subjects);
|
|
183
|
+
}
|
|
184
|
+
if (prop === 'provisioner' && 'provisioner' in target) {
|
|
185
|
+
const provisioner = target.provisioner;
|
|
186
|
+
if (provisioner !== undefined) {
|
|
187
|
+
return provisioner; // Return the actual string value
|
|
188
|
+
}
|
|
189
|
+
return createRefFactory(resourceId, 'provisioner'); // Create reference if not set
|
|
190
|
+
}
|
|
191
|
+
if (prop === 'parameters' && 'parameters' in target) {
|
|
192
|
+
const parameters = target.parameters ?? {};
|
|
193
|
+
return createPropertyProxy(resourceId, 'parameters', parameters);
|
|
194
|
+
}
|
|
195
|
+
if (prop === 'subsets' && 'subsets' in target) {
|
|
196
|
+
const subsets = target.subsets ?? [];
|
|
197
|
+
return createPropertyProxy(resourceId, 'subsets', subsets);
|
|
198
|
+
}
|
|
199
|
+
if (typeof prop === 'string' && prop.startsWith('$')) {
|
|
200
|
+
return createRefFactory(resourceId, prop.substring(1));
|
|
201
|
+
}
|
|
202
|
+
return Reflect.get(target, prop, receiver);
|
|
203
|
+
},
|
|
204
|
+
set(target, prop, value, receiver) {
|
|
205
|
+
// Transparently accept KubernetesRef and CelExpression objects
|
|
206
|
+
// The serialization system will handle converting them to CEL expressions
|
|
207
|
+
return Reflect.set(target, prop, value, receiver);
|
|
208
|
+
},
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Default readiness evaluator for resources that don't have custom logic
|
|
213
|
+
*/
|
|
214
|
+
function createDefaultReadinessEvaluator(kind) {
|
|
215
|
+
return (liveResource) => {
|
|
216
|
+
try {
|
|
217
|
+
// For resources that are immediately ready when they exist
|
|
218
|
+
const immediatelyReadyKinds = [
|
|
219
|
+
'ConfigMap',
|
|
220
|
+
'Secret',
|
|
221
|
+
'Role',
|
|
222
|
+
'ClusterRole',
|
|
223
|
+
'RoleBinding',
|
|
224
|
+
'ClusterRoleBinding',
|
|
225
|
+
'ServiceAccount',
|
|
226
|
+
'StorageClass',
|
|
227
|
+
'NetworkPolicy',
|
|
228
|
+
'LimitRange',
|
|
229
|
+
'CSIDriver',
|
|
230
|
+
'CSINode',
|
|
231
|
+
'IngressClass',
|
|
232
|
+
'RuntimeClass',
|
|
233
|
+
'Lease',
|
|
234
|
+
'ComponentStatus',
|
|
235
|
+
];
|
|
236
|
+
if (immediatelyReadyKinds.includes(kind)) {
|
|
237
|
+
return {
|
|
238
|
+
ready: true,
|
|
239
|
+
message: `${kind} is ready when it exists`,
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
// For resources with status conditions, check for common readiness patterns
|
|
243
|
+
const status = liveResource.status;
|
|
244
|
+
if (!status) {
|
|
245
|
+
return {
|
|
246
|
+
ready: false,
|
|
247
|
+
reason: 'StatusMissing',
|
|
248
|
+
message: `${kind} status not available yet`,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
// Check for common readiness conditions
|
|
252
|
+
if (status.conditions && Array.isArray(status.conditions)) {
|
|
253
|
+
const readyCondition = status.conditions.find((c) => c.type === 'Ready');
|
|
254
|
+
if (readyCondition) {
|
|
255
|
+
return {
|
|
256
|
+
ready: readyCondition.status === 'True',
|
|
257
|
+
reason: readyCondition.reason,
|
|
258
|
+
message: readyCondition.message || `${kind} readiness: ${readyCondition.status}`,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
const availableCondition = status.conditions.find((c) => c.type === 'Available');
|
|
262
|
+
if (availableCondition) {
|
|
263
|
+
return {
|
|
264
|
+
ready: availableCondition.status === 'True',
|
|
265
|
+
reason: availableCondition.reason,
|
|
266
|
+
message: availableCondition.message || `${kind} availability: ${availableCondition.status}`,
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
// For resources with phase, check if it's active/bound/running
|
|
271
|
+
if (status.phase) {
|
|
272
|
+
const readyPhases = ['Active', 'Bound', 'Running', 'Succeeded'];
|
|
273
|
+
const ready = readyPhases.includes(status.phase);
|
|
274
|
+
return {
|
|
275
|
+
ready,
|
|
276
|
+
reason: ready ? 'PhaseReady' : 'PhaseNotReady',
|
|
277
|
+
message: `${kind} phase: ${status.phase}`,
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
// Default: assume ready if status exists
|
|
281
|
+
return {
|
|
282
|
+
ready: true,
|
|
283
|
+
message: `${kind} has status, assuming ready`,
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
catch (error) {
|
|
287
|
+
return {
|
|
288
|
+
ready: false,
|
|
289
|
+
reason: 'EvaluationError',
|
|
290
|
+
message: `Error evaluating ${kind} readiness: ${error}`,
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
export function createResource(resource) {
|
|
296
|
+
let resourceId;
|
|
297
|
+
// Check for id field on the resource itself
|
|
298
|
+
if (resource.id) {
|
|
299
|
+
resourceId = resource.id;
|
|
300
|
+
// Validate that the ID follows camelCase convention
|
|
301
|
+
const validation = validateResourceId(resourceId);
|
|
302
|
+
if (!validation.isValid) {
|
|
303
|
+
throw new Error(`Invalid resource ID: ${validation.error}`);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
// Use deterministic ID generation by default
|
|
308
|
+
const name = resource.metadata?.name || resource.kind.toLowerCase();
|
|
309
|
+
const namespace = resource.metadata?.namespace;
|
|
310
|
+
resourceId = generateDeterministicResourceId(resource.kind, name, namespace);
|
|
311
|
+
}
|
|
312
|
+
const enhanced = createGenericProxyResource(resourceId, resource);
|
|
313
|
+
// Always provide a readiness evaluator for factory-created resources
|
|
314
|
+
const defaultEvaluator = createDefaultReadinessEvaluator(resource.kind);
|
|
315
|
+
Object.defineProperty(enhanced, 'readinessEvaluator', {
|
|
316
|
+
value: defaultEvaluator,
|
|
317
|
+
enumerable: false, // Prevents serialization - key requirement
|
|
318
|
+
configurable: true, // Allow withReadinessEvaluator to override
|
|
319
|
+
writable: false, // Cannot be overwritten directly
|
|
320
|
+
});
|
|
321
|
+
// Add fluent builder method for readiness evaluator with serialization protection
|
|
322
|
+
Object.defineProperty(enhanced, 'withReadinessEvaluator', {
|
|
323
|
+
value: function (evaluator) {
|
|
324
|
+
// Register in global registry by KIND when factory defines evaluator
|
|
325
|
+
ReadinessEvaluatorRegistry.getInstance().registerForKind(this.kind, evaluator, 'factory-defined');
|
|
326
|
+
// Still attach to individual resource instance (existing behavior)
|
|
327
|
+
Object.defineProperty(this, 'readinessEvaluator', {
|
|
328
|
+
value: evaluator,
|
|
329
|
+
enumerable: false, // Prevents serialization - key requirement
|
|
330
|
+
configurable: true, // Allow reconfiguration for withReadinessEvaluator
|
|
331
|
+
writable: false, // Cannot be overwritten directly
|
|
332
|
+
});
|
|
333
|
+
return this;
|
|
334
|
+
},
|
|
335
|
+
enumerable: false, // Prevents withReadinessEvaluator from being serialized
|
|
336
|
+
configurable: false, // Cannot be modified
|
|
337
|
+
writable: false, // Cannot be overwritten
|
|
338
|
+
});
|
|
339
|
+
return enhanced;
|
|
340
|
+
}
|
|
341
|
+
export function processPodSpec(podSpec) {
|
|
342
|
+
if (!podSpec?.containers)
|
|
343
|
+
return podSpec;
|
|
344
|
+
podSpec.containers = podSpec.containers.map((container) => {
|
|
345
|
+
if (!container.env)
|
|
346
|
+
return container;
|
|
347
|
+
const processedEnv = container.env.map((envVar) => {
|
|
348
|
+
if (isKubernetesRef(envVar.value)) {
|
|
349
|
+
return { name: envVar.name, value: envVar.value };
|
|
350
|
+
}
|
|
351
|
+
// Check if it's a CelExpression - preserve it as-is
|
|
352
|
+
if (isCelExpression(envVar.value)) {
|
|
353
|
+
return { name: envVar.name, value: envVar.value };
|
|
354
|
+
}
|
|
355
|
+
if (envVar.value !== undefined) {
|
|
356
|
+
return { name: envVar.name, value: String(envVar.value) };
|
|
357
|
+
}
|
|
358
|
+
return envVar;
|
|
359
|
+
});
|
|
360
|
+
return { ...container, env: processedEnv };
|
|
361
|
+
});
|
|
362
|
+
return podSpec;
|
|
363
|
+
}
|
|
364
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/factories/shared.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* typekro - Define Kro resource graphs with full TypeScript safety.
|
|
3
|
+
*/
|
|
4
|
+
export { Cel, type CelExpression, CircularDependencyError, createSchemaProxy, DependencyGraph, DependencyResolver, DirectDeploymentEngine, type Enhanced, externalRef, generateKroSchema, isCelExpression, isKubernetesRef, isSchemaReference, type KroCompatibleType, type KubernetesRef, type KubernetesResource, createContextLogger, createLogger, getComponentLogger, getDeploymentLogger, getResourceLogger, logger, type LoggerConfig, type LoggerContext, type MagicProxy, type TypeKroLogger, ReferenceResolver, type RefOrValue, type ResourceBuilder, type ResourceGraphDefinition, type SchemaProxy, type StatusBuilder, type MagicAssignableShape, serializeResourceGraphToYaml, simpleConfigMap, simpleDeployment, simpleHpa, simpleIngress, simpleJob, simpleNetworkPolicy, simplePvc, simpleSecret, simpleService, type TypedKroResourceGraphDefinition, type TypedResourceGraphFactory, TypeKroError, toResourceGraph, validateResourceGraph, } from './core.js';
|
|
5
|
+
export { ensureResourceTypeRegistered, DirectTypeKroDeployer, KroTypeKroDeployer, createAlchemyResourceId, } from './alchemy/deployment.js';
|
|
6
|
+
export {} from './alchemy/index.js';
|
|
7
|
+
export * from './factories/index.js';
|
|
8
|
+
export { typeKroRuntimeBootstrap, type TypeKroRuntimeConfig, } from './core/composition/typekro-runtime/index.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EACL,GAAG,EACH,KAAK,aAAa,EAElB,uBAAuB,EAIvB,iBAAiB,EACjB,eAAe,EAEf,kBAAkB,EAElB,sBAAsB,EAEtB,KAAK,QAAQ,EACb,WAAW,EACX,iBAAiB,EACjB,eAAe,EAEf,eAAe,EACf,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAEvB,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,aAAa,EAElB,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAEzB,4BAA4B,EAC5B,eAAe,EAEf,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,KAAK,+BAA+B,EACpC,KAAK,yBAAyB,EAC9B,YAAY,EACZ,eAAe,EACf,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAMnB,OAAO,EAQL,4BAA4B,EAC5B,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,MAYT,oBAAoB,CAAC;AAMrB,cAAc,sBAAsB,CAAC;AAMrC,OAAO,EACL,uBAAuB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,6CAA6C,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* typekro - Define Kro resource graphs with full TypeScript safety.
|
|
3
|
+
*/
|
|
4
|
+
// =============================================================================
|
|
5
|
+
// CORE FUNCTIONALITY
|
|
6
|
+
// =============================================================================
|
|
7
|
+
// Export all core functionality (excluding createResource to avoid conflicts with factories)
|
|
8
|
+
export { Cel,
|
|
9
|
+
// Error types
|
|
10
|
+
CircularDependencyError,
|
|
11
|
+
// Alchemy integration - dynamic registration approach (exported below)
|
|
12
|
+
// Schema proxy functions
|
|
13
|
+
createSchemaProxy, DependencyGraph,
|
|
14
|
+
// Dependency resolution
|
|
15
|
+
DependencyResolver,
|
|
16
|
+
// Direct deployment functionality
|
|
17
|
+
DirectDeploymentEngine, externalRef, generateKroSchema, isCelExpression,
|
|
18
|
+
// Utility functions
|
|
19
|
+
isKubernetesRef, isSchemaReference,
|
|
20
|
+
// Logging functionality
|
|
21
|
+
createContextLogger, createLogger, getComponentLogger, getDeploymentLogger, getResourceLogger, logger,
|
|
22
|
+
// Reference resolution and CEL
|
|
23
|
+
ReferenceResolver,
|
|
24
|
+
// Serialization and YAML generation
|
|
25
|
+
serializeResourceGraphToYaml, simpleConfigMap,
|
|
26
|
+
// Composition functions
|
|
27
|
+
simpleDeployment, simpleHpa, simpleIngress, simpleJob, simpleNetworkPolicy, simplePvc, simpleSecret, simpleService, TypeKroError, toResourceGraph, validateResourceGraph, } from './core.js';
|
|
28
|
+
// =============================================================================
|
|
29
|
+
// ALCHEMY INTEGRATION
|
|
30
|
+
// =============================================================================
|
|
31
|
+
// Alchemy resource conversion and wrapper utilities
|
|
32
|
+
export {
|
|
33
|
+
// Resource conversion utilities
|
|
34
|
+
// Alchemy conversion utilities removed - using dynamic registration approach
|
|
35
|
+
// Utility functions (non-conflicting)
|
|
36
|
+
// generateDeterministicResourceId is exported from utils
|
|
37
|
+
// Alchemy dynamic registration exports
|
|
38
|
+
ensureResourceTypeRegistered, DirectTypeKroDeployer, KroTypeKroDeployer, createAlchemyResourceId, } from './alchemy/deployment.js';
|
|
39
|
+
// =============================================================================
|
|
40
|
+
// FACTORY FUNCTIONS
|
|
41
|
+
// =============================================================================
|
|
42
|
+
// Factory functions organized by ecosystem and resource type
|
|
43
|
+
export * from './factories/index.js';
|
|
44
|
+
// =============================================================================
|
|
45
|
+
// BOOTSTRAP COMPOSITIONS
|
|
46
|
+
// =============================================================================
|
|
47
|
+
// Pre-built compositions for infrastructure bootstrap
|
|
48
|
+
export { typeKroRuntimeBootstrap, } from './core/composition/typekro-runtime/index.js';
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAChF,6FAA6F;AAC7F,OAAO,EACL,GAAG;AAEH,cAAc;AACd,uBAAuB;AACvB,uEAAuE;AAEvE,yBAAyB;AACzB,iBAAiB,EACjB,eAAe;AACf,wBAAwB;AACxB,kBAAkB;AAClB,kCAAkC;AAClC,sBAAsB,EAGtB,WAAW,EACX,iBAAiB,EACjB,eAAe;AACf,oBAAoB;AACpB,eAAe,EACf,iBAAiB;AAIjB,wBAAwB;AACxB,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,MAAM;AAKN,+BAA+B;AAC/B,iBAAiB;AAOjB,oCAAoC;AACpC,4BAA4B,EAC5B,eAAe;AACf,wBAAwB;AACxB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,aAAa,EAGb,YAAY,EACZ,eAAe,EACf,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAEnB,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAChF,oDAAoD;AACpD,OAAO;AACL,gCAAgC;AAChC,6EAA6E;AAE7E,sCAAsC;AACtC,yDAAyD;AAEzD,uCAAuC;AACvC,4BAA4B,EAC5B,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAmBjC,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAChF,6DAA6D;AAC7D,cAAc,sBAAsB,CAAC;AAErC,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAChF,sDAAsD;AACtD,OAAO,EACL,uBAAuB,GAExB,MAAM,6CAA6C,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* General utility functions for TypeKro
|
|
3
|
+
*
|
|
4
|
+
* This module contains helper functions that are used across the codebase
|
|
5
|
+
* for common operations like string manipulation, ID generation, and
|
|
6
|
+
* data processing.
|
|
7
|
+
*/
|
|
8
|
+
import type { Type } from 'arktype';
|
|
9
|
+
import type { CelExpression, KubernetesRef } from '../core/types/common.js';
|
|
10
|
+
import type { KroSimpleSchema, SerializationContext } from '../core/types/serialization.js';
|
|
11
|
+
import type { Enhanced, KubernetesResource } from '../core/types/kubernetes.js';
|
|
12
|
+
/**
|
|
13
|
+
* Generate deterministic resource ID based on resource metadata
|
|
14
|
+
* This ensures stable IDs across multiple applications for GitOps workflows
|
|
15
|
+
*/
|
|
16
|
+
export declare function generateDeterministicResourceId(kind: string, name: string | KubernetesRef<unknown> | CelExpression<unknown>, _namespace?: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Converts a kebab-case or snake_case string to camelCase
|
|
19
|
+
*/
|
|
20
|
+
export declare function toCamelCase(str: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Generates a unique resource ID (legacy random version for development)
|
|
23
|
+
*/
|
|
24
|
+
export declare function generateResourceId(name?: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Converts a string to PascalCase.
|
|
27
|
+
*/
|
|
28
|
+
export declare function pascalCase(str: string): string;
|
|
29
|
+
/**
|
|
30
|
+
* Generate inner CEL reference without ${} wrapper for building expressions
|
|
31
|
+
*/
|
|
32
|
+
export declare function generateCelReference(ref: KubernetesRef<unknown>): string;
|
|
33
|
+
/**
|
|
34
|
+
* Gets the inner CEL path for a KubernetesRef, handling special cases like schema refs.
|
|
35
|
+
* This is the new, authoritative function.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getInnerCelPath(ref: KubernetesRef<unknown>): string;
|
|
38
|
+
/**
|
|
39
|
+
* Recursively replaces all KubernetesRef objects with CEL expressions for Kro.
|
|
40
|
+
* This is the ONLY function that should perform this transformation.
|
|
41
|
+
*/
|
|
42
|
+
export declare function processResourceReferences(obj: unknown, context?: SerializationContext): unknown;
|
|
43
|
+
/**
|
|
44
|
+
* Convert kebab-case or snake_case to camelCase and ensure a readiness evaluator by using the appropriate factory function
|
|
45
|
+
* This leverages existing factory functions that already have readiness evaluators defined
|
|
46
|
+
*/
|
|
47
|
+
export declare function ensureReadinessEvaluator<T extends Enhanced<any, any>>(resource: T): T;
|
|
48
|
+
/**
|
|
49
|
+
* Recursively converts an Enhanced resource proxy into a plain JavaScript object.
|
|
50
|
+
* This is a safe way to serialize the object for the Kubernetes client, preserving
|
|
51
|
+
* all nested properties and stripping any remaining proxy logic.
|
|
52
|
+
* @param obj The object to convert.
|
|
53
|
+
* @param visited A set to track circular references.
|
|
54
|
+
* @returns A plain JavaScript object.
|
|
55
|
+
*/
|
|
56
|
+
export declare function toPlainObject<T>(obj: T, visited?: Set<any>): T;
|
|
57
|
+
/**
|
|
58
|
+
* Converts an Arktype schema to a Kro-compatible schema definition
|
|
59
|
+
*
|
|
60
|
+
* IMPORTANT: Status fields in Kro now use user-defined mappings from the StatusBuilder function
|
|
61
|
+
* instead of auto-generated CEL expressions.
|
|
62
|
+
*/
|
|
63
|
+
export declare function arktypeToKroSchema(name: string, schemaDefinition: {
|
|
64
|
+
apiVersion: string;
|
|
65
|
+
kind: string;
|
|
66
|
+
spec: Type;
|
|
67
|
+
status: Type;
|
|
68
|
+
}, _resources?: Record<string, KubernetesResource>, statusMappings?: any): KroSimpleSchema;
|
|
69
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGhF;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EAC9D,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CA4CR;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiB/C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAMxD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK9C;AAeD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM,CAGxE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM,CAGnE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CA6C/F;AAiLD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CA0BrF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,WAAiB,GAAG,CAAC,CAqCpE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,IAAI,CAAC;CACd,EACD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC/C,cAAc,CAAC,EAAE,GAAG,GACnB,eAAe,CAgCjB"}
|