typekro 0.33.9 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +0 -33
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js +63 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
- package/dist/compositions/typekro-runtime/types.d.ts +8 -0
- package/dist/compositions/typekro-runtime/types.d.ts.map +1 -1
- package/dist/compositions/typekro-runtime/types.js +1 -0
- package/dist/compositions/typekro-runtime/types.js.map +1 -1
- package/dist/core/aspects/values-merge.d.ts +17 -0
- package/dist/core/aspects/values-merge.d.ts.map +1 -1
- package/dist/core/aspects/values-merge.js +67 -8
- package/dist/core/aspects/values-merge.js.map +1 -1
- package/dist/core/deployment/direct-factory.d.ts +9 -0
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +37 -3
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +34 -0
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +173 -29
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/deployment/index.d.ts +2 -0
- package/dist/core/deployment/index.d.ts.map +1 -1
- package/dist/core/deployment/index.js +1 -0
- package/dist/core/deployment/index.js.map +1 -1
- package/dist/core/deployment/k8s-helpers.d.ts +73 -0
- package/dist/core/deployment/k8s-helpers.d.ts.map +1 -1
- package/dist/core/deployment/k8s-helpers.js +198 -4
- package/dist/core/deployment/k8s-helpers.js.map +1 -1
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +21 -1
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/status-leaf-resolution.d.ts +101 -0
- package/dist/core/deployment/status-leaf-resolution.d.ts.map +1 -0
- package/dist/core/deployment/status-leaf-resolution.js +232 -0
- package/dist/core/deployment/status-leaf-resolution.js.map +1 -0
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.js +31 -3
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.js +8 -1
- package/dist/core/deployment/strategies/kro-strategy.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.js +20 -2
- package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -1
- package/dist/core/kro/index.d.ts +6 -0
- package/dist/core/kro/index.d.ts.map +1 -0
- package/dist/core/kro/index.js +6 -0
- package/dist/core/kro/index.js.map +1 -0
- package/dist/core/kro/label-guard-capability.d.ts +141 -0
- package/dist/core/kro/label-guard-capability.d.ts.map +1 -0
- package/dist/core/kro/label-guard-capability.js +257 -0
- package/dist/core/kro/label-guard-capability.js.map +1 -0
- package/dist/core/kro/labels.d.ts +56 -0
- package/dist/core/kro/labels.d.ts.map +1 -0
- package/dist/core/kro/labels.js +62 -0
- package/dist/core/kro/labels.js.map +1 -0
- package/dist/core/kubernetes/api-capability.d.ts +196 -0
- package/dist/core/kubernetes/api-capability.d.ts.map +1 -0
- package/dist/core/kubernetes/api-capability.js +301 -0
- package/dist/core/kubernetes/api-capability.js.map +1 -0
- package/dist/core/kubernetes/index.d.ts +2 -0
- package/dist/core/kubernetes/index.d.ts.map +1 -1
- package/dist/core/kubernetes/index.js +2 -0
- package/dist/core/kubernetes/index.js.map +1 -1
- package/dist/core/kubernetes/naming.d.ts +100 -0
- package/dist/core/kubernetes/naming.d.ts.map +1 -0
- package/dist/core/kubernetes/naming.js +93 -0
- package/dist/core/kubernetes/naming.js.map +1 -0
- package/dist/core/planning/direct-runtime-adapter.d.ts.map +1 -1
- package/dist/core/planning/direct-runtime-adapter.js +54 -17
- package/dist/core/planning/direct-runtime-adapter.js.map +1 -1
- package/dist/core/planning/planner.d.ts.map +1 -1
- package/dist/core/planning/planner.js +17 -0
- package/dist/core/planning/planner.js.map +1 -1
- package/dist/core/planning/schema.d.ts.map +1 -1
- package/dist/core/planning/schema.js +7 -3
- package/dist/core/planning/schema.js.map +1 -1
- package/dist/core/references/cel-lexical-scanner.d.ts +100 -1
- package/dist/core/references/cel-lexical-scanner.d.ts.map +1 -1
- package/dist/core/references/cel-lexical-scanner.js +196 -2
- package/dist/core/references/cel-lexical-scanner.js.map +1 -1
- package/dist/core/references/cel.d.ts +249 -1
- package/dist/core/references/cel.d.ts.map +1 -1
- package/dist/core/references/cel.js +289 -8
- package/dist/core/references/cel.js.map +1 -1
- package/dist/core/serialization/arktype-ast.d.ts +21 -0
- package/dist/core/serialization/arktype-ast.d.ts.map +1 -0
- package/dist/core/serialization/arktype-ast.js +29 -0
- package/dist/core/serialization/arktype-ast.js.map +1 -0
- package/dist/core/serialization/cel-references.d.ts +133 -32
- package/dist/core/serialization/cel-references.d.ts.map +1 -1
- package/dist/core/serialization/cel-references.js +908 -109
- package/dist/core/serialization/cel-references.js.map +1 -1
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +13 -2
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/schema.d.ts +16 -2
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +113 -21
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/types/composable.d.ts +7 -1
- package/dist/core/types/composable.d.ts.map +1 -1
- package/dist/core/types/deployment.d.ts +32 -2
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/core/types/serialization.d.ts +37 -0
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/core/validation/cel-dialect.d.ts +246 -0
- package/dist/core/validation/cel-dialect.d.ts.map +1 -0
- package/dist/core/validation/cel-dialect.js +1997 -0
- package/dist/core/validation/cel-dialect.js.map +1 -0
- package/dist/core/validation/cel-validator.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.js +8 -1
- package/dist/core/validation/cel-validator.js.map +1 -1
- package/dist/core/validation/literal-status.d.ts +107 -0
- package/dist/core/validation/literal-status.d.ts.map +1 -0
- package/dist/core/validation/literal-status.js +346 -0
- package/dist/core/validation/literal-status.js.map +1 -0
- package/dist/core/validation/structural-spec-dependence.d.ts +179 -0
- package/dist/core/validation/structural-spec-dependence.d.ts.map +1 -0
- package/dist/core/validation/structural-spec-dependence.js +911 -0
- package/dist/core/validation/structural-spec-dependence.js.map +1 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -1
- package/dist/factories/apisix/compositions/apisix-bootstrap.js +9 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -1
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts +6 -0
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts.map +1 -1
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.js +273 -23
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.js.map +1 -1
- package/dist/factories/clickhouse/resources/index.d.ts +1 -0
- package/dist/factories/clickhouse/resources/index.d.ts.map +1 -1
- package/dist/factories/clickhouse/resources/index.js +1 -0
- package/dist/factories/clickhouse/resources/index.js.map +1 -1
- package/dist/factories/clickhouse/resources/installation.d.ts.map +1 -1
- package/dist/factories/clickhouse/resources/installation.js +31 -4
- package/dist/factories/clickhouse/resources/installation.js.map +1 -1
- package/dist/factories/clickhouse/resources/s3-backup.d.ts +215 -0
- package/dist/factories/clickhouse/resources/s3-backup.d.ts.map +1 -0
- package/dist/factories/clickhouse/resources/s3-backup.js +410 -0
- package/dist/factories/clickhouse/resources/s3-backup.js.map +1 -0
- package/dist/factories/clickhouse/types.d.ts +416 -20
- package/dist/factories/clickhouse/types.d.ts.map +1 -1
- package/dist/factories/clickhouse/types.js +235 -11
- package/dist/factories/clickhouse/types.js.map +1 -1
- package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts +42 -0
- package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts.map +1 -1
- package/dist/factories/clickhouse/utils/helm-values-mapper.js +48 -0
- package/dist/factories/clickhouse/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/clickhouse/utils/index.d.ts +2 -0
- package/dist/factories/clickhouse/utils/index.d.ts.map +1 -1
- package/dist/factories/clickhouse/utils/index.js +2 -0
- package/dist/factories/clickhouse/utils/index.js.map +1 -1
- package/dist/factories/clickhouse/utils/s3-storage.d.ts +503 -0
- package/dist/factories/clickhouse/utils/s3-storage.d.ts.map +1 -0
- package/dist/factories/clickhouse/utils/s3-storage.js +1139 -0
- package/dist/factories/clickhouse/utils/s3-storage.js.map +1 -0
- package/dist/factories/clickhouse/utils/validation.d.ts +103 -0
- package/dist/factories/clickhouse/utils/validation.d.ts.map +1 -1
- package/dist/factories/clickhouse/utils/validation.js +129 -0
- package/dist/factories/clickhouse/utils/validation.js.map +1 -1
- package/dist/factories/clickhouse/utils/xml.d.ts +87 -0
- package/dist/factories/clickhouse/utils/xml.d.ts.map +1 -0
- package/dist/factories/clickhouse/utils/xml.js +151 -0
- package/dist/factories/clickhouse/utils/xml.js.map +1 -0
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +57 -0
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts.map +1 -1
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +266 -7
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.js.map +1 -1
- package/dist/factories/clickstack/types.d.ts +205 -26
- package/dist/factories/clickstack/types.d.ts.map +1 -1
- package/dist/factories/clickstack/types.js +106 -8
- package/dist/factories/clickstack/types.js.map +1 -1
- package/dist/factories/clickstack/utils/collector-config.d.ts +104 -0
- package/dist/factories/clickstack/utils/collector-config.d.ts.map +1 -0
- package/dist/factories/clickstack/utils/collector-config.js +266 -0
- package/dist/factories/clickstack/utils/collector-config.js.map +1 -0
- package/dist/factories/clickstack/utils/helm-values-mapper.d.ts +26 -0
- package/dist/factories/clickstack/utils/helm-values-mapper.d.ts.map +1 -1
- package/dist/factories/clickstack/utils/helm-values-mapper.js +53 -12
- package/dist/factories/clickstack/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/clickstack/utils/index.d.ts +2 -0
- package/dist/factories/clickstack/utils/index.d.ts.map +1 -1
- package/dist/factories/clickstack/utils/index.js +2 -0
- package/dist/factories/clickstack/utils/index.js.map +1 -1
- package/dist/factories/clickstack/utils/storage.d.ts +449 -0
- package/dist/factories/clickstack/utils/storage.d.ts.map +1 -0
- package/dist/factories/clickstack/utils/storage.js +698 -0
- package/dist/factories/clickstack/utils/storage.js.map +1 -0
- package/dist/factories/cnpg/resources/helm.d.ts.map +1 -1
- package/dist/factories/cnpg/resources/helm.js +4 -4
- package/dist/factories/cnpg/resources/helm.js.map +1 -1
- package/dist/factories/cnpg/types.d.ts +10 -1
- package/dist/factories/cnpg/types.d.ts.map +1 -1
- package/dist/factories/cnpg/types.js.map +1 -1
- package/dist/factories/cnpg/utils/helm-values-mapper.d.ts +19 -2
- package/dist/factories/cnpg/utils/helm-values-mapper.d.ts.map +1 -1
- package/dist/factories/cnpg/utils/helm-values-mapper.js +22 -4
- package/dist/factories/cnpg/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/compositions/gateway.d.ts.map +1 -1
- package/dist/factories/envoy-ai-gateway/compositions/gateway.js +16 -3
- package/dist/factories/envoy-ai-gateway/compositions/gateway.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/constants.d.ts +5 -2
- package/dist/factories/envoy-ai-gateway/constants.d.ts.map +1 -1
- package/dist/factories/envoy-ai-gateway/constants.js +5 -2
- package/dist/factories/envoy-ai-gateway/constants.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts +12 -0
- package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts.map +1 -1
- package/dist/factories/envoy-ai-gateway/resources/gateway.js +27 -104
- package/dist/factories/envoy-ai-gateway/resources/gateway.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/types.d.ts +15 -47
- package/dist/factories/envoy-ai-gateway/types.d.ts.map +1 -1
- package/dist/factories/envoy-ai-gateway/types.js.map +1 -1
- package/dist/factories/gateway-api/constants.d.ts +27 -0
- package/dist/factories/gateway-api/constants.d.ts.map +1 -0
- package/dist/factories/gateway-api/constants.js +27 -0
- package/dist/factories/gateway-api/constants.js.map +1 -0
- package/dist/factories/gateway-api/index.d.ts +14 -0
- package/dist/factories/gateway-api/index.d.ts.map +1 -0
- package/dist/factories/gateway-api/index.js +14 -0
- package/dist/factories/gateway-api/index.js.map +1 -0
- package/dist/factories/gateway-api/readiness.d.ts +67 -0
- package/dist/factories/gateway-api/readiness.d.ts.map +1 -0
- package/dist/factories/gateway-api/readiness.js +213 -0
- package/dist/factories/gateway-api/readiness.js.map +1 -0
- package/dist/factories/gateway-api/resources/gateway.d.ts +91 -0
- package/dist/factories/gateway-api/resources/gateway.d.ts.map +1 -0
- package/dist/factories/gateway-api/resources/gateway.js +99 -0
- package/dist/factories/gateway-api/resources/gateway.js.map +1 -0
- package/dist/factories/gateway-api/resources/index.d.ts +2 -0
- package/dist/factories/gateway-api/resources/index.d.ts.map +1 -0
- package/dist/factories/gateway-api/resources/index.js +2 -0
- package/dist/factories/gateway-api/resources/index.js.map +1 -0
- package/dist/factories/gateway-api/types.d.ts +1269 -0
- package/dist/factories/gateway-api/types.d.ts.map +1 -0
- package/dist/factories/gateway-api/types.js +417 -0
- package/dist/factories/gateway-api/types.js.map +1 -0
- package/dist/factories/helm/readiness-evaluators.d.ts +21 -3
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/helm/readiness-evaluators.js +117 -11
- package/dist/factories/helm/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/types.d.ts +28 -0
- package/dist/factories/helm/types.d.ts.map +1 -1
- package/dist/factories/index.d.ts +2 -0
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +8 -0
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.js +10 -0
- package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -1
- package/dist/factories/kubernetes/admission/index.d.ts +2 -0
- package/dist/factories/kubernetes/admission/index.d.ts.map +1 -1
- package/dist/factories/kubernetes/admission/index.js +2 -0
- package/dist/factories/kubernetes/admission/index.js.map +1 -1
- package/dist/factories/kubernetes/admission/label-propagation-guard.d.ts +108 -0
- package/dist/factories/kubernetes/admission/label-propagation-guard.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/label-propagation-guard.js +247 -0
- package/dist/factories/kubernetes/admission/label-propagation-guard.js.map +1 -0
- package/dist/factories/kubernetes/admission/mutating-admission-policy.d.ts +286 -0
- package/dist/factories/kubernetes/admission/mutating-admission-policy.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/mutating-admission-policy.js +157 -0
- package/dist/factories/kubernetes/admission/mutating-admission-policy.js.map +1 -0
- package/dist/factories/opensearch/compositions/cluster.d.ts.map +1 -1
- package/dist/factories/opensearch/compositions/cluster.js +6 -1
- package/dist/factories/opensearch/compositions/cluster.js.map +1 -1
- package/dist/factories/ory/compositions/ory-identity-stack.d.ts +8 -8
- package/dist/factories/ory/types.d.ts +16 -16
- package/dist/factories/rook/compositions/object-storage-claim.d.ts +1 -1
- package/dist/factories/rook/compositions/rook-ceph-platform.js +8 -1
- package/dist/factories/rook/compositions/rook-ceph-platform.js.map +1 -1
- package/dist/factories/rook/types.d.ts +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.js +18 -13
- package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -1
- package/dist/factories/searxng/index.d.ts +3 -0
- package/dist/factories/searxng/index.d.ts.map +1 -1
- package/dist/factories/searxng/index.js +3 -0
- package/dist/factories/searxng/index.js.map +1 -1
- package/dist/factories/searxng/types.js +1 -1
- package/dist/factories/searxng/types.js.map +1 -1
- package/dist/factories/traefik/compositions/index.d.ts +6 -0
- package/dist/factories/traefik/compositions/index.d.ts.map +1 -0
- package/dist/factories/traefik/compositions/index.js +6 -0
- package/dist/factories/traefik/compositions/index.js.map +1 -0
- package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts +185 -0
- package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts.map +1 -0
- package/dist/factories/traefik/compositions/traefik-bootstrap.js +339 -0
- package/dist/factories/traefik/compositions/traefik-bootstrap.js.map +1 -0
- package/dist/factories/traefik/compositions/traefik-helm-repository.d.ts +16 -0
- package/dist/factories/traefik/compositions/traefik-helm-repository.d.ts.map +1 -0
- package/dist/factories/traefik/compositions/traefik-helm-repository.js +31 -0
- package/dist/factories/traefik/compositions/traefik-helm-repository.js.map +1 -0
- package/dist/factories/traefik/constants.d.ts +78 -0
- package/dist/factories/traefik/constants.d.ts.map +1 -0
- package/dist/factories/traefik/constants.js +104 -0
- package/dist/factories/traefik/constants.js.map +1 -0
- package/dist/factories/traefik/index.d.ts +25 -0
- package/dist/factories/traefik/index.d.ts.map +1 -0
- package/dist/factories/traefik/index.js +25 -0
- package/dist/factories/traefik/index.js.map +1 -0
- package/dist/factories/traefik/resources/common.d.ts +68 -0
- package/dist/factories/traefik/resources/common.d.ts.map +1 -0
- package/dist/factories/traefik/resources/common.js +59 -0
- package/dist/factories/traefik/resources/common.js.map +1 -0
- package/dist/factories/traefik/resources/gateway.d.ts +85 -0
- package/dist/factories/traefik/resources/gateway.d.ts.map +1 -0
- package/dist/factories/traefik/resources/gateway.js +109 -0
- package/dist/factories/traefik/resources/gateway.js.map +1 -0
- package/dist/factories/traefik/resources/helm.d.ts +56 -0
- package/dist/factories/traefik/resources/helm.d.ts.map +1 -0
- package/dist/factories/traefik/resources/helm.js +131 -0
- package/dist/factories/traefik/resources/helm.js.map +1 -0
- package/dist/factories/traefik/resources/index.d.ts +10 -0
- package/dist/factories/traefik/resources/index.d.ts.map +1 -0
- package/dist/factories/traefik/resources/index.js +10 -0
- package/dist/factories/traefik/resources/index.js.map +1 -0
- package/dist/factories/traefik/resources/middleware.d.ts +169 -0
- package/dist/factories/traefik/resources/middleware.d.ts.map +1 -0
- package/dist/factories/traefik/resources/middleware.js +225 -0
- package/dist/factories/traefik/resources/middleware.js.map +1 -0
- package/dist/factories/traefik/resources/routing.d.ts +113 -0
- package/dist/factories/traefik/resources/routing.d.ts.map +1 -0
- package/dist/factories/traefik/resources/routing.js +119 -0
- package/dist/factories/traefik/resources/routing.js.map +1 -0
- package/dist/factories/traefik/resources/tls.d.ts +85 -0
- package/dist/factories/traefik/resources/tls.d.ts.map +1 -0
- package/dist/factories/traefik/resources/tls.js +93 -0
- package/dist/factories/traefik/resources/tls.js.map +1 -0
- package/dist/factories/traefik/types.d.ts +2690 -0
- package/dist/factories/traefik/types.d.ts.map +1 -0
- package/dist/factories/traefik/types.js +1084 -0
- package/dist/factories/traefik/types.js.map +1 -0
- package/dist/factories/traefik/utils/helm-values-mapper.d.ts +198 -0
- package/dist/factories/traefik/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/traefik/utils/helm-values-mapper.js +372 -0
- package/dist/factories/traefik/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/traefik/utils/index.d.ts +6 -0
- package/dist/factories/traefik/utils/index.d.ts.map +1 -0
- package/dist/factories/traefik/utils/index.js +6 -0
- package/dist/factories/traefik/utils/index.js.map +1 -0
- package/dist/factories/traefik/utils/middleware-validation.d.ts +42 -0
- package/dist/factories/traefik/utils/middleware-validation.d.ts.map +1 -0
- package/dist/factories/traefik/utils/middleware-validation.js +78 -0
- package/dist/factories/traefik/utils/middleware-validation.js.map +1 -0
- package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
- package/dist/factories/webapp/compositions/web-app-with-processing.js +10 -0
- package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +9 -1
|
@@ -287,6 +287,29 @@ function celValueForTernary(value) {
|
|
|
287
287
|
// Plain string → quote as CEL string literal
|
|
288
288
|
return `"${escapeCelString(str)}"`;
|
|
289
289
|
}
|
|
290
|
+
/**
|
|
291
|
+
* True when a value is a structured *literal* — a plain object or array written
|
|
292
|
+
* out at the call site — rather than a ref or a CEL expression.
|
|
293
|
+
*
|
|
294
|
+
* The distinction decides whether the two branches of an emitted ternary need
|
|
295
|
+
* widening. KRO gives a schema or resource reference a **nominal** object type
|
|
296
|
+
* taken from the resource's schema, while a CEL object literal is inferred as a
|
|
297
|
+
* `map` and a list literal as a `list`. Both materialize to the same Kubernetes
|
|
298
|
+
* JSON, but cel-go's checker rejects a ternary whose branches carry static types
|
|
299
|
+
* that do not unify, so a nominal branch next to a literal branch fails at RGD
|
|
300
|
+
* admission while cel-js evaluates it happily. A ref or CEL-expression fallback
|
|
301
|
+
* carries the same nominal type as the other branch and needs nothing.
|
|
302
|
+
*
|
|
303
|
+
* `dyn()` is the fix: it unifies with everything in the checker, is identity at
|
|
304
|
+
* runtime, and is implemented by both direct-mode evaluators — so wrapping is
|
|
305
|
+
* free where it is unnecessary and load-bearing where it is not.
|
|
306
|
+
*/
|
|
307
|
+
function isStructuredLiteral(value) {
|
|
308
|
+
return (value !== null &&
|
|
309
|
+
typeof value === 'object' &&
|
|
310
|
+
!isKubernetesRef(value) &&
|
|
311
|
+
!isCelExpression(value));
|
|
312
|
+
}
|
|
290
313
|
/**
|
|
291
314
|
* Creates a conditional CEL expression with smart value conversion.
|
|
292
315
|
*
|
|
@@ -352,15 +375,10 @@ function defaultValue(value, fallback) {
|
|
|
352
375
|
: has(value).expression;
|
|
353
376
|
const celValue = celValueForTernary(value);
|
|
354
377
|
const fallbackCel = celValueForTernary(fallback);
|
|
355
|
-
// KRO gives schema object references a nominal object type while CEL object
|
|
356
|
-
// literals are inferred as maps. Although both values materialize to the same
|
|
357
|
-
// Kubernetes JSON object, CEL rejects a ternary that mixes those static types.
|
|
358
378
|
// Widen both structured branches to dyn so KRO can validate the expression
|
|
359
|
-
// without changing the runtime value or direct-mode `??` behavior.
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
!isKubernetesRef(fallback) &&
|
|
363
|
-
!isCelExpression(fallback);
|
|
379
|
+
// without changing the runtime value or direct-mode `??` behavior. See
|
|
380
|
+
// {@link isStructuredLiteral} for why the mixed static types are a problem.
|
|
381
|
+
const hasStructuredLiteralFallback = isStructuredLiteral(fallback);
|
|
364
382
|
const selectedValue = hasStructuredLiteralFallback ? `dyn(${celValue})` : celValue;
|
|
365
383
|
const selectedFallback = hasStructuredLiteralFallback ? `dyn(${fallbackCel})` : fallbackCel;
|
|
366
384
|
// KRO's CEL checker rejects `typedScalar != null` even though the runtime
|
|
@@ -375,6 +393,255 @@ function defaultValue(value, fallback) {
|
|
|
375
393
|
}
|
|
376
394
|
/** Alias for {@link defaultValue}. */
|
|
377
395
|
const coalesce = defaultValue;
|
|
396
|
+
const UNSAFE_CEL_LIST_PATH = Symbol.for('typekro.unsafeCelListPath');
|
|
397
|
+
/**
|
|
398
|
+
* Name a list by its CEL path, when there is no proxy to select it from.
|
|
399
|
+
*
|
|
400
|
+
* **Unsafe** in one specific sense: nothing checks the path. Not that the named
|
|
401
|
+
* resource is in the graph, not that the path reaches a list, and not that the
|
|
402
|
+
* elements are what `TElement` says they are. Get any of that wrong and the
|
|
403
|
+
* mistake surfaces on a cluster rather than at compile time, which is exactly
|
|
404
|
+
* what selecting the field off a proxy avoids.
|
|
405
|
+
*
|
|
406
|
+
* Reach for it only where the proxy genuinely is not in scope — a bootstrap
|
|
407
|
+
* composition that names a graph resource by id because the resource is created
|
|
408
|
+
* by a Helm chart rather than declared in the composition, for instance. The
|
|
409
|
+
* element type is still declared and still checked, so `field` keeps its
|
|
410
|
+
* `keyof` check even here.
|
|
411
|
+
*
|
|
412
|
+
* @example
|
|
413
|
+
* ```typescript
|
|
414
|
+
* // The Gateway is created by its controller; only its resource id is in scope.
|
|
415
|
+
* Cel.firstWhereHas(
|
|
416
|
+
* Cel.unsafeListPath<{ value: string }>(`${resourceId}.status.addresses`),
|
|
417
|
+
* 'value'
|
|
418
|
+
* )
|
|
419
|
+
* ```
|
|
420
|
+
*/
|
|
421
|
+
function unsafeListPath(path) {
|
|
422
|
+
const trimmed = path.trim();
|
|
423
|
+
if (trimmed.length === 0) {
|
|
424
|
+
throw new TypeKroError('Cel.unsafeListPath() requires a non-empty CEL path string.', 'CEL_INVALID_INPUT');
|
|
425
|
+
}
|
|
426
|
+
return { [UNSAFE_CEL_LIST_PATH]: trimmed };
|
|
427
|
+
}
|
|
428
|
+
function isUnsafeCelListPath(value) {
|
|
429
|
+
return (value !== null &&
|
|
430
|
+
typeof value === 'object' &&
|
|
431
|
+
typeof value[UNSAFE_CEL_LIST_PATH] === 'string');
|
|
432
|
+
}
|
|
433
|
+
/** Resolve a list argument to the CEL path text that names it. */
|
|
434
|
+
function celListPath(list, helperName) {
|
|
435
|
+
if (isUnsafeCelListPath(list))
|
|
436
|
+
return list[UNSAFE_CEL_LIST_PATH];
|
|
437
|
+
if (isKubernetesRef(list))
|
|
438
|
+
return getInnerCelPath(list);
|
|
439
|
+
throw new TypeKroError(`${helperName}() requires a list field selected from a resource or schema proxy ` +
|
|
440
|
+
'(for example `service.status.loadBalancer.ingress`). To name a list by its CEL path ' +
|
|
441
|
+
'instead, wrap it in Cel.unsafeListPath().', 'CEL_INVALID_INPUT');
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Chain a `has()` guard for every hop of a CEL path below its root identifier.
|
|
445
|
+
*
|
|
446
|
+
* `a.status.loadBalancer.ingress` becomes
|
|
447
|
+
* `has(a.status) && has(a.status.loadBalancer) && has(a.status.loadBalancer.ingress)`.
|
|
448
|
+
* Returns `undefined` when the path has no hop to guard (a bare identifier) or
|
|
449
|
+
* is not a plain dotted path, in which case the caller guards the whole thing.
|
|
450
|
+
*/
|
|
451
|
+
function chainedHasGuard(path) {
|
|
452
|
+
if (!/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)+$/.test(path))
|
|
453
|
+
return undefined;
|
|
454
|
+
const segments = path.split('.');
|
|
455
|
+
return segments
|
|
456
|
+
.slice(1)
|
|
457
|
+
.map((_, index) => `has(${segments.slice(0, index + 2).join('.')})`)
|
|
458
|
+
.join(' && ');
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* The fallback a projection helper was given, or the `''` default.
|
|
462
|
+
*
|
|
463
|
+
* The parameter is a rest tuple because {@link CelFallbackArgs} decides at the
|
|
464
|
+
* type level whether the argument may be omitted; at runtime that reduces to
|
|
465
|
+
* "the argument if one was passed". An explicitly passed `undefined` is treated
|
|
466
|
+
* as omitted, so it cannot reach `celValueForTernary` and be rendered as `""`
|
|
467
|
+
* on a field whose type is not a string.
|
|
468
|
+
*/
|
|
469
|
+
function defaultedFallback(fallback) {
|
|
470
|
+
const [given] = fallback;
|
|
471
|
+
return given === undefined ? '' : given;
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* Render a projection helper's fallback and decide how to write the branches.
|
|
475
|
+
*
|
|
476
|
+
* **Structured fallbacks are supported.** A projection of an object- or
|
|
477
|
+
* list-typed field takes an object or array literal, which
|
|
478
|
+
* {@link celValueForTernary} renders as a CEL map or list literal with nested
|
|
479
|
+
* refs and CEL expressions rendered by the same `RefOrValue` rules as a scalar
|
|
480
|
+
* fallback; `{}` and `[]` render as the empty literals. Because the other branch
|
|
481
|
+
* of the ternary reads a field whose CEL type comes from the referenced
|
|
482
|
+
* resource's schema, a structured literal fallback makes both branches `dyn` —
|
|
483
|
+
* see {@link isStructuredLiteral} for why, and why `dyn()` costs nothing when
|
|
484
|
+
* the field happens to be `dyn` already.
|
|
485
|
+
*
|
|
486
|
+
* **`null` is not a fallback.** A projection is typed `NonNullable`, so the type
|
|
487
|
+
* level rejects `null` and an explicit `undefined` for every projected type that
|
|
488
|
+
* does not admit them — which is every structured one. This guards the same
|
|
489
|
+
* thing for callers with no types: without it a `null` fallback on an
|
|
490
|
+
* object-typed field rendered as `""`, a branch cel-go rejects outright and
|
|
491
|
+
* cel-js quietly returns, which is exactly the class of bug the fallback typing
|
|
492
|
+
* exists to prevent. `null` is not usable even where cel-go admits it against a
|
|
493
|
+
* message type, because the engines disagree on it.
|
|
494
|
+
*/
|
|
495
|
+
function projectionFallback(helperName, fallback) {
|
|
496
|
+
const [given] = fallback;
|
|
497
|
+
if (given === null) {
|
|
498
|
+
throw new TypeKroError(`${helperName}() fallback cannot be null. The projection is typed as the field it ` +
|
|
499
|
+
'projects and cel-go rejects a ternary whose branches disagree, so pass a value of ' +
|
|
500
|
+
'that type instead: an object or array literal for a structured field, or a ' +
|
|
501
|
+
'KubernetesRef or CEL expression of the projected type.', 'CEL_INVALID_INPUT');
|
|
502
|
+
}
|
|
503
|
+
const value = defaultedFallback(fallback);
|
|
504
|
+
const cel = celValueForTernary(value);
|
|
505
|
+
const widen = isStructuredLiteral(value);
|
|
506
|
+
return { cel, branch: widen ? (expression) => `dyn(${expression})` : (expression) => expression };
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* Project the first entry of an optional nested list that actually carries a
|
|
510
|
+
* field, in the one CEL form both engines accept.
|
|
511
|
+
*
|
|
512
|
+
* ## Why this helper exists
|
|
513
|
+
*
|
|
514
|
+
* An optional nested list — `service.status.loadBalancer.ingress`,
|
|
515
|
+
* `helmRelease.status.history` — is absent until a controller fills it in, and
|
|
516
|
+
* the two CEL engines TypeKro emits for disagree about how to guard it:
|
|
517
|
+
*
|
|
518
|
+
* - **`has()` on an index expression** (`has(list[0].field)`) is rejected by
|
|
519
|
+
* cel-js: "has() does not support atomic expressions".
|
|
520
|
+
* - **`"field" in list[0]`** is rejected by cel-go under KRO's type env, which
|
|
521
|
+
* types a list entry as a message rather than a map.
|
|
522
|
+
* - **A `has()` guard on the *right* of `&&`** (`size(list) > 0 && has(list)`)
|
|
523
|
+
* is absorbed by cel-go but propagates in cel-js, which evaluates operands
|
|
524
|
+
* left to right.
|
|
525
|
+
*
|
|
526
|
+
* The form both engines accept is `list.filter(entry, has(entry.field))` inside
|
|
527
|
+
* a **lazy ternary**, which is exactly what this helper emits:
|
|
528
|
+
*
|
|
529
|
+
* ```
|
|
530
|
+
* has(a.status) && has(a.status.list)
|
|
531
|
+
* ? (size(<matching>) > 0 ? <matching>[0].<field> : <fallback>)
|
|
532
|
+
* : <fallback>
|
|
533
|
+
* ```
|
|
534
|
+
*
|
|
535
|
+
* ## Selecting the list
|
|
536
|
+
*
|
|
537
|
+
* `list` is a list-typed field read off a resource or schema proxy, which gives
|
|
538
|
+
* this helper the element type and lets `field` be checked against the element's
|
|
539
|
+
* own keys — `Cel.firstWhereHas(service.status.loadBalancer.ingress, 'hostnmae')`
|
|
540
|
+
* is a compile error rather than a status field that is permanently `''`. Where
|
|
541
|
+
* no proxy is in scope, name the path with {@link unsafeListPath}.
|
|
542
|
+
*
|
|
543
|
+
* @param list The list to read, selected from a resource or schema proxy.
|
|
544
|
+
* @param field The field an entry must carry to be selected. Must be a key of
|
|
545
|
+
* the list's element type.
|
|
546
|
+
* @param fallback Value used when the list is absent, empty, or has no entry
|
|
547
|
+
* carrying `field`. Has the type of the projected field — both because the
|
|
548
|
+
* projection is typed as that field, and because cel-go rejects a ternary
|
|
549
|
+
* whose branches disagree. Defaults to the empty string only where that field
|
|
550
|
+
* type admits `''`; elsewhere it is required, structured fields included — an
|
|
551
|
+
* object- or list-typed field takes an object or array literal, a
|
|
552
|
+
* `KubernetesRef`, or a CEL expression of that type. See
|
|
553
|
+
* {@link CelFallbackArgs} and {@link projectionFallback}.
|
|
554
|
+
*
|
|
555
|
+
* @example
|
|
556
|
+
* ```typescript
|
|
557
|
+
* // First ingress entry that reports a hostname, or '' while none does.
|
|
558
|
+
* hostname: Cel.firstWhereHas(service.status.loadBalancer.ingress, 'hostname')
|
|
559
|
+
*
|
|
560
|
+
* // Naming a graph resource by id, as bootstrap compositions do.
|
|
561
|
+
* version: Cel.firstWhereHas(
|
|
562
|
+
* Cel.unsafeListPath<{ chartVersion: string }>('release.status.history'),
|
|
563
|
+
* 'chartVersion'
|
|
564
|
+
* )
|
|
565
|
+
* ```
|
|
566
|
+
*/
|
|
567
|
+
function firstWhereHas(list, field, ...fallback) {
|
|
568
|
+
if (!/^[A-Za-z_$][\w$]*$/.test(field)) {
|
|
569
|
+
throw new TypeKroError(`Cel.firstWhereHas() field must be a simple CEL identifier, received '${field}'.`, 'CEL_INVALID_INPUT');
|
|
570
|
+
}
|
|
571
|
+
const path = celListPath(list, 'Cel.firstWhereHas');
|
|
572
|
+
const matching = `${path}.filter(entry, has(entry.${field}))`;
|
|
573
|
+
const guard = chainedHasGuard(path) ?? `has(${path})`;
|
|
574
|
+
const { cel, branch } = projectionFallback('Cel.firstWhereHas', fallback);
|
|
575
|
+
const projected = branch(`${matching}[0].${field}`);
|
|
576
|
+
const otherwise = branch(cel);
|
|
577
|
+
return {
|
|
578
|
+
[CEL_EXPRESSION_BRAND]: true,
|
|
579
|
+
expression: `${guard} ? (size(${matching}) > 0 ? ${projected} : ${otherwise}) : ${otherwise}`,
|
|
580
|
+
};
|
|
581
|
+
}
|
|
582
|
+
/**
|
|
583
|
+
* First entry of an optional nested list of scalars, with the same
|
|
584
|
+
* dual-dialect-safe guard as {@link firstWhereHas}.
|
|
585
|
+
*
|
|
586
|
+
* Use this when list entries are plain values (`status.endpoints.secure` is a
|
|
587
|
+
* list of URLs) and there is therefore no field to filter on. Every hop of the
|
|
588
|
+
* path is guarded, so an absent intermediate object yields the fallback instead
|
|
589
|
+
* of the cel-js "Identifier not found" error that a single `has()` on the full
|
|
590
|
+
* path produces.
|
|
591
|
+
*
|
|
592
|
+
* As with {@link firstWhereHas}, the list is selected from a resource or schema
|
|
593
|
+
* proxy; a hand-written path has to go through {@link unsafeListPath}.
|
|
594
|
+
*
|
|
595
|
+
* @param list The list to read, selected from a resource or schema proxy.
|
|
596
|
+
* @param fallback Value used when the list is absent or empty. Has the element
|
|
597
|
+
* type, and is optional only where that type admits `''` — so a list of
|
|
598
|
+
* objects requires an object fallback. See {@link CelFallbackArgs} and
|
|
599
|
+
* {@link projectionFallback}.
|
|
600
|
+
*
|
|
601
|
+
* @example
|
|
602
|
+
* ```typescript
|
|
603
|
+
* endpoint: Cel.firstOf(Cel.unsafeListPath<string>('objectStore.status.endpoints.secure'))
|
|
604
|
+
* ```
|
|
605
|
+
*/
|
|
606
|
+
function firstOf(list, ...fallback) {
|
|
607
|
+
const path = celListPath(list, 'Cel.firstOf');
|
|
608
|
+
const guard = chainedHasGuard(path) ?? `has(${path})`;
|
|
609
|
+
const { cel, branch } = projectionFallback('Cel.firstOf', fallback);
|
|
610
|
+
const projected = branch(`${path}[0]`);
|
|
611
|
+
const otherwise = branch(cel);
|
|
612
|
+
return {
|
|
613
|
+
[CEL_EXPRESSION_BRAND]: true,
|
|
614
|
+
expression: `${guard} ? (size(${path}) > 0 ? ${projected} : ${otherwise}) : ${otherwise}`,
|
|
615
|
+
};
|
|
616
|
+
}
|
|
617
|
+
/**
|
|
618
|
+
* Project a Service's load balancer address in the one CEL form both engines
|
|
619
|
+
* accept.
|
|
620
|
+
*
|
|
621
|
+
* A `LoadBalancer` Service reports its address as `status.loadBalancer.ingress`,
|
|
622
|
+
* a list that does not exist until the cloud provider assigns one, and whose
|
|
623
|
+
* entries carry `ip` **or** `hostname` depending on the provider. This is
|
|
624
|
+
* {@link firstWhereHas} bound to that shape, so factories stop hand-rolling the
|
|
625
|
+
* guard.
|
|
626
|
+
*
|
|
627
|
+
* Yields the fallback (default `''`) while the Service has no address, and for
|
|
628
|
+
* the field the provider does not report.
|
|
629
|
+
*
|
|
630
|
+
* @param service The Service resource, selected from the graph.
|
|
631
|
+
* @param field `'ip'` for L4 load balancers, `'hostname'` for name-based ones.
|
|
632
|
+
* @param fallback Value while no matching entry exists. Defaults to `''`.
|
|
633
|
+
*
|
|
634
|
+
* @example
|
|
635
|
+
* ```typescript
|
|
636
|
+
* loadBalancer: {
|
|
637
|
+
* ip: Cel.loadBalancerAddress(gatewayService, 'ip'),
|
|
638
|
+
* hostname: Cel.loadBalancerAddress(gatewayService, 'hostname'),
|
|
639
|
+
* }
|
|
640
|
+
* ```
|
|
641
|
+
*/
|
|
642
|
+
function loadBalancerAddress(service, field = 'ip', fallback = '') {
|
|
643
|
+
return firstWhereHas(service.status.loadBalancer.ingress, field, fallback);
|
|
644
|
+
}
|
|
378
645
|
/**
|
|
379
646
|
* Creates a mixed string template that combines literal strings with CEL expressions
|
|
380
647
|
*
|
|
@@ -541,6 +808,20 @@ export const Cel = {
|
|
|
541
808
|
concat,
|
|
542
809
|
has,
|
|
543
810
|
not,
|
|
811
|
+
/**
|
|
812
|
+
* First entry of an optional nested list that carries `field`, in the one
|
|
813
|
+
* guard form cel-js and cel-go both accept.
|
|
814
|
+
*/
|
|
815
|
+
firstWhereHas,
|
|
816
|
+
/** First entry of an optional nested list of scalars, dual-dialect safe. */
|
|
817
|
+
firstOf,
|
|
818
|
+
/**
|
|
819
|
+
* Name a list by its CEL path where no proxy is in scope. Nothing about the
|
|
820
|
+
* path is checked — prefer selecting the field off a resource or schema proxy.
|
|
821
|
+
*/
|
|
822
|
+
unsafeListPath,
|
|
823
|
+
/** A Service's load balancer `ip`/`hostname`, dual-dialect safe. */
|
|
824
|
+
loadBalancerAddress,
|
|
544
825
|
/** Tagged template literal for CEL expressions. Alias: standalone `cel` export. */
|
|
545
826
|
tag: cel,
|
|
546
827
|
// Typed convenience methods — pre-bound type parameters for Cel.expr
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cel.js","sourceRoot":"","sources":["../../../src/core/references/cel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cel.js","sourceRoot":"","sources":["../../../src/core/references/cel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers for reading ArkType's JSON AST.
|
|
3
|
+
*
|
|
4
|
+
* ArkType serializes a constraint two different ways depending on whether it
|
|
5
|
+
* carries metadata. Declared plainly it is its own value (`maxLength: 46`);
|
|
6
|
+
* declared with a custom error message — anything configured through
|
|
7
|
+
* `.configure({ message })` — it becomes `{ rule: 46, meta: { message } }`
|
|
8
|
+
* instead. Every consumer that reads the AST has to account for both, or a
|
|
9
|
+
* schema that explains its limit to the caller quietly stops carrying that
|
|
10
|
+
* limit into the artifacts generated from it.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Read the rule out of an ArkType constraint, with or without metadata.
|
|
14
|
+
*
|
|
15
|
+
* Bounds and patterns wrap as `{ rule, meta }`; a domain wraps as
|
|
16
|
+
* `{ domain, meta }`. Anything else — including a flagged pattern
|
|
17
|
+
* (`{ rule, flags }`), which a caller has to see whole in order to reject its
|
|
18
|
+
* flags rather than discard them — is returned unchanged.
|
|
19
|
+
*/
|
|
20
|
+
export declare function arkConstraintRule(value: unknown): unknown;
|
|
21
|
+
//# sourceMappingURL=arktype-ast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arktype-ast.d.ts","sourceRoot":"","sources":["../../../src/core/serialization/arktype-ast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMzD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers for reading ArkType's JSON AST.
|
|
3
|
+
*
|
|
4
|
+
* ArkType serializes a constraint two different ways depending on whether it
|
|
5
|
+
* carries metadata. Declared plainly it is its own value (`maxLength: 46`);
|
|
6
|
+
* declared with a custom error message — anything configured through
|
|
7
|
+
* `.configure({ message })` — it becomes `{ rule: 46, meta: { message } }`
|
|
8
|
+
* instead. Every consumer that reads the AST has to account for both, or a
|
|
9
|
+
* schema that explains its limit to the caller quietly stops carrying that
|
|
10
|
+
* limit into the artifacts generated from it.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Read the rule out of an ArkType constraint, with or without metadata.
|
|
14
|
+
*
|
|
15
|
+
* Bounds and patterns wrap as `{ rule, meta }`; a domain wraps as
|
|
16
|
+
* `{ domain, meta }`. Anything else — including a flagged pattern
|
|
17
|
+
* (`{ rule, flags }`), which a caller has to see whole in order to reject its
|
|
18
|
+
* flags rather than discard them — is returned unchanged.
|
|
19
|
+
*/
|
|
20
|
+
export function arkConstraintRule(value) {
|
|
21
|
+
if (value && typeof value === 'object' && !Array.isArray(value) && 'meta' in value) {
|
|
22
|
+
if ('rule' in value)
|
|
23
|
+
return Reflect.get(value, 'rule');
|
|
24
|
+
if ('domain' in value)
|
|
25
|
+
return Reflect.get(value, 'domain');
|
|
26
|
+
}
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=arktype-ast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arktype-ast.js","sourceRoot":"","sources":["../../../src/core/serialization/arktype-ast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACnF,IAAI,MAAM,IAAI,KAAK;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,QAAQ,IAAI,KAAK;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -10,6 +10,107 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import type { KubernetesRef } from '../types/common.js';
|
|
12
12
|
import type { SerializationContext } from '../types/serialization.js';
|
|
13
|
+
/**
|
|
14
|
+
* Rewrite every dotted numeric path segment as a CEL index: `items.0` → `items[0]`.
|
|
15
|
+
*
|
|
16
|
+
* CEL has no `.0` field select — a `SELECT` takes an `IDENT`, and an `IDENT` may
|
|
17
|
+
* not begin with a digit — so a dotted numeric segment is a parse error on both
|
|
18
|
+
* evaluation engines and `[0]` is the only spelling of that access. Paths reach
|
|
19
|
+
* this module in the dotted form from several producers (`extractNestedStatusCel`
|
|
20
|
+
* builds an array element's key as `` `${fieldPath}.${index}` ``, and the marker
|
|
21
|
+
* field-path charset admits that form too), so this is the sweep that makes them
|
|
22
|
+
* valid.
|
|
23
|
+
*
|
|
24
|
+
* **The rule.** A `.` followed by one or more digits becomes `[<digits>]` when
|
|
25
|
+
* both contexts allow it:
|
|
26
|
+
*
|
|
27
|
+
* 1. *Left* — the text EMITTED SO FAR ends with a CEL identifier or with a `]`
|
|
28
|
+
* ({@link endsWithIndexableTarget}). Reading the left context off the OUTPUT
|
|
29
|
+
* rather than the input is what lets a run of numeric segments chain: in
|
|
30
|
+
* `a.0.1.b` the first run emits `a[0]`, so the second run sees the `]` this
|
|
31
|
+
* function has just written and the whole path comes out as `a[0][1].b`. Read
|
|
32
|
+
* off the INPUT the second run would see the digit `0`, stop, and leave the
|
|
33
|
+
* equally invalid `a[0].1.b` behind. This is the same semantics
|
|
34
|
+
* {@link splitFieldPathSegments} applies to a field path — a whole-digit
|
|
35
|
+
* segment is an index on the segment before it — now agreed on by both.
|
|
36
|
+
*
|
|
37
|
+
* NUMBER literals are left alone by that same test: in `1.0` and `2.5e3` the
|
|
38
|
+
* digits before the `.` are not anchored by an identifier start, so the
|
|
39
|
+
* fraction survives, and a leading `.5` has no left context at all. Where the
|
|
40
|
+
* digits ARE the tail of an identifier, the index reading is the only one CEL
|
|
41
|
+
* has, because `a1.5` is not a float literal — a NUMBER may not begin with an
|
|
42
|
+
* identifier character — which is why `v2.0` becomes `v2[0]` while `v2.name`,
|
|
43
|
+
* having no digit run to convert, is untouched.
|
|
44
|
+
*
|
|
45
|
+
* `)` is deliberately NOT a left context: a postfix that lands after a
|
|
46
|
+
* parenthesised nested-status expansion is normalised at its source, by
|
|
47
|
+
* {@link splitFieldPathSegments}, where the segment structure is still known.
|
|
48
|
+
*
|
|
49
|
+
* 2. *Right* — the run ends the text, or is followed by a character that can
|
|
50
|
+
* neither continue a number nor start an identifier
|
|
51
|
+
* ({@link CEL_INDEX_RUN_TERMINATOR}). This is what keeps the `5` of `2.5e3`
|
|
52
|
+
* out independently of the left-context test.
|
|
53
|
+
*
|
|
54
|
+
* Quoted data is skipped, and skipped with the WHOLE `STRING_LIT`/`BYTES_LIT`
|
|
55
|
+
* lexis: `r`/`R`/`b`/`B` prefixes in either order, the two triple-quoted forms,
|
|
56
|
+
* and escapes in the non-raw forms only ({@link celStringLiteralEndAt}).
|
|
57
|
+
* `//` COMMENTS are skipped whole too, but only where the text is CEL — see
|
|
58
|
+
* {@link celRegionCommentEnd}, and the boundary in the next paragraph. What is
|
|
59
|
+
* deliberately NOT used is a WHOLE-TEXT mask,
|
|
60
|
+
* {@link maskClosedCelLiteralsAndComments} or `celStringLiteralSpans`: this
|
|
61
|
+
* function runs over KRO MIXED-TEMPLATE text rather than over CEL alone, its
|
|
62
|
+
* inputs include values like `` `http://${string(service.spec.ports.0.port)}` ``,
|
|
63
|
+
* and a whole-text walk would read that URL scheme's `//` — which sits in
|
|
64
|
+
* LITERAL text, where CEL's lexis does not reach — as a `COMMENT` and blank the
|
|
65
|
+
* template that follows, silently dropping this rewrite.
|
|
66
|
+
*
|
|
67
|
+
* **Where the rewrite applies.** The inputs above are KRO MIXED TEMPLATES: a
|
|
68
|
+
* `${ … }` CEL region embedded in LITERAL text that KRO emits verbatim. Only
|
|
69
|
+
* the CEL regions are rewritten; literal text is copied through untouched. A
|
|
70
|
+
* `.<digits>` run after an identifier is a perfectly ordinary thing for literal
|
|
71
|
+
* text to contain — the `v1.2` of a URL path, an `image:tag.1`, a `file.txt.1`,
|
|
72
|
+
* a version string like `alpha.3` — and none of those is a CEL index. Applying
|
|
73
|
+
* the rule to the whole string corrupted them into `v1[2]` and the like,
|
|
74
|
+
* changing text KRO would have emitted as written.
|
|
75
|
+
*
|
|
76
|
+
* That split is also the boundary of CEL's COMMENT rule. A region's body and a
|
|
77
|
+
* bare CEL expression are CEL, so a `//` outside a string literal there begins a
|
|
78
|
+
* comment and is copied through whole; literal template text is not CEL, is
|
|
79
|
+
* never comment-scanned, and keeps its `http://`. The two never collide: a URL
|
|
80
|
+
* that appears inside a region is inside a STRING_LIT, which is skipped whole
|
|
81
|
+
* before the `//` is ever reached.
|
|
82
|
+
*
|
|
83
|
+
* A region's end is found by brace balancing that is STRING-LITERAL AND COMMENT
|
|
84
|
+
* AWARE ({@link celTemplateRegionEnd}), because a CEL region may legitimately
|
|
85
|
+
* contain a `{` or `}` that closes nothing — inside a map literal, inside a
|
|
86
|
+
* STRING_LIT as in `${"}" + a.0}`, or inside a comment as in `${a.0 // {`.
|
|
87
|
+
* Each region is rewritten independently, from an empty left context, so a run
|
|
88
|
+
* never chains across the literal text between two regions.
|
|
89
|
+
*
|
|
90
|
+
* Text with no `${` is rewritten whole only when it is GENUINELY BARE CEL, and
|
|
91
|
+
* that takes a second condition: no `__KUBERNETES_REF_…__` marker either. Bare
|
|
92
|
+
* CEL is the form `getInnerCelPath` and `markerToCelPath` build, and the form
|
|
93
|
+
* the marker and nested-status resolvers hand over. Being CEL, it is read with
|
|
94
|
+
* the comment rule too.
|
|
95
|
+
*
|
|
96
|
+
* MARKER-LADEN TEXT is the other thing that arrives without a `${`: a string
|
|
97
|
+
* derived from a template literal whose interpolations coerced to markers, as
|
|
98
|
+
* in `http://__KUBERNETES_REF___schema___spec.name__:8080/api/v1.2`. That is
|
|
99
|
+
* literal text with references embedded in it, not an expression — its `v1.2`
|
|
100
|
+
* is a URL path segment — yet the whole-string branch rewrote it to `v1[2]`,
|
|
101
|
+
* the very corruption the region split above exists to prevent, arriving by the
|
|
102
|
+
* other door. So text carrying a marker is copied through untouched
|
|
103
|
+
* ({@link CARRIES_KUBERNETES_REF_MARKER}), and nothing is lost by that: a
|
|
104
|
+
* marker's OWN dotted digits are normalised when the marker itself is converted,
|
|
105
|
+
* by {@link markerToCelPath}, which calls this function on the bare
|
|
106
|
+
* `<resourceId>.<fieldPath>` path — which, carrying no marker, still takes the
|
|
107
|
+
* whole-string branch.
|
|
108
|
+
*
|
|
109
|
+
* A text may hold BOTH markers and `${ … }` regions. The region split already
|
|
110
|
+
* gets that right — regions are rewritten, the literal text between them,
|
|
111
|
+
* markers included, is copied — so the marker test guards only the whole-string
|
|
112
|
+
* branch.
|
|
113
|
+
*/
|
|
13
114
|
export declare function normalizeCelArrayIndexPaths(expr: string): string;
|
|
14
115
|
/**
|
|
15
116
|
* Compute the inner CEL path for a {@link KubernetesRef}.
|
|
@@ -44,40 +145,40 @@ export declare function isStaticExpression(expr: string, nestedStatusCel: Record
|
|
|
44
145
|
/**
|
|
45
146
|
* Look up a nested composition's analyzed expression by `(resourceId, fieldName)`.
|
|
46
147
|
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* (`generateCelExpression`, `serializeStatusMappingsToCel`) and the
|
|
51
|
-
* string-resolver path (`substituteNestedRefsOnce`,
|
|
52
|
-
* `resolveNestedRefMarkers`).
|
|
53
|
-
*
|
|
54
|
-
* Returns `undefined` when no match is found, leaving the caller to
|
|
55
|
-
* decide how to handle missing entries (typically: leave the reference
|
|
56
|
-
* in place and let downstream validation flag it).
|
|
57
|
-
*
|
|
58
|
-
* Match priority:
|
|
59
|
-
* 1. **Exact baseId match.** The reference uses the virtual nested
|
|
60
|
-
* composition baseId verbatim (e.g., from a template literal on a
|
|
61
|
-
* nested status proxy where `toString()` embeds the baseId).
|
|
62
|
-
* 2. **Base-name match (instance digits stripped).** Both the requested
|
|
63
|
-
* id and the candidate baseIds have their trailing instance digits
|
|
64
|
-
* stripped, then compared for equality. Handles the case where the
|
|
65
|
-
* reference uses `webAppWithProcessing2` but the table has
|
|
66
|
-
* `webAppWithProcessing1`.
|
|
67
|
-
* 3. **Unambiguous camelCase / case-insensitive prefix.** The
|
|
68
|
-
* reference uses a name that structurally relates to one (and only
|
|
69
|
-
* one) baseId stem (e.g., `inngest` matching `inngestBootstrap`).
|
|
70
|
-
* 4. **Field-name uniqueness.** When exactly one nested composition in
|
|
71
|
-
* the table provides the requested field, use it. Handles the case
|
|
72
|
-
* of arbitrary local variable names (e.g.,
|
|
73
|
-
* `const stack = webAppWithProcessing(...); stack.status.databaseUrl`).
|
|
74
|
-
*
|
|
75
|
-
* Ambiguous matches (multiple candidates from the prefix or field-name
|
|
76
|
-
* strategies) emit a warning log and return `undefined` so the caller
|
|
77
|
-
* can fall through to its own error handling.
|
|
148
|
+
* Thin projection of {@link lookupNestedEntry} for callers that only need the
|
|
149
|
+
* expression text. Anything resolving a DOTTED path wants
|
|
150
|
+
* {@link resolveNestedField} instead.
|
|
78
151
|
*/
|
|
79
152
|
export declare function lookupNestedExpression(resourceId: string, fieldName: string, nestedStatusCel: Record<string, string>, allowFieldFallback?: boolean): string | undefined;
|
|
80
153
|
export declare function inlineNestedStatusRefs(expr: string, nestedStatusCel: Record<string, string> | undefined, resourceIds?: ReadonlySet<string>): string;
|
|
154
|
+
/**
|
|
155
|
+
* Internal bookkeeping of one {@link resolveNestedCompositionRefs} pass.
|
|
156
|
+
*
|
|
157
|
+
* @internal Implementation detail, surfaced only so tests can assert that a
|
|
158
|
+
* cycle was cut by the in-progress set (`cycleHits`) rather than by the depth
|
|
159
|
+
* guard (`depthExceeded`), and that an entry reached under two different alias
|
|
160
|
+
* spellings is expanded once and then served from the memo. `cel-references.ts`
|
|
161
|
+
* is not re-exported wholesale from `src/index.ts`, so this is not public API.
|
|
162
|
+
*/
|
|
163
|
+
export interface NestedRefResolutionStats {
|
|
164
|
+
/** Expansions cut short because the entry was already on the current path. */
|
|
165
|
+
readonly cycleHits: number;
|
|
166
|
+
/** Whether {@link NESTED_REF_RESOLUTION_DEPTH_LIMIT} stopped an expansion. */
|
|
167
|
+
readonly depthExceeded: boolean;
|
|
168
|
+
/** Texts walked: 1 for the input, plus one per entry actually expanded. */
|
|
169
|
+
readonly textPasses: number;
|
|
170
|
+
/** Expansions answered from the memo instead of being walked again. */
|
|
171
|
+
readonly memoHits: number;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* {@link inlineNestedStatusRefs} plus the resolver's internal counters.
|
|
175
|
+
*
|
|
176
|
+
* @internal Test-only. See {@link NestedRefResolutionStats}.
|
|
177
|
+
*/
|
|
178
|
+
export declare function inlineNestedStatusRefsWithStats(expr: string, nestedStatusCel: Record<string, string> | undefined, resourceIds?: ReadonlySet<string>): {
|
|
179
|
+
readonly text: string;
|
|
180
|
+
readonly stats: NestedRefResolutionStats;
|
|
181
|
+
};
|
|
81
182
|
/**
|
|
82
183
|
* Produce the final KRO CEL form for a nested-composition value, with all
|
|
83
184
|
* nested references substituted in and all schema markers converted to
|
|
@@ -94,7 +195,7 @@ export declare function inlineNestedStatusRefs(expr: string, nestedStatusCel: Re
|
|
|
94
195
|
* - Plain-CEL input (raw CEL with no markers or `${…}`) → wrapped in
|
|
95
196
|
* `${…}` so KRO recognizes it as an expression to evaluate.
|
|
96
197
|
*/
|
|
97
|
-
export declare function finalizeCelForKro(expr: string, nestedStatusCel: Record<string, string> | undefined, context?: SerializationContext, resolveKnownNestedResourceRefs?: boolean): string;
|
|
198
|
+
export declare function finalizeCelForKro(expr: string, nestedStatusCel: Record<string, string> | undefined, context?: SerializationContext, resolveKnownNestedResourceRefs?: boolean, seedKey?: string): string;
|
|
98
199
|
export declare function celLiteralForValueTree(value: unknown, context: SerializationContext | undefined, path: string): string;
|
|
99
200
|
export declare function processResourceReferences(obj: unknown, context?: SerializationContext, path?: string): unknown;
|
|
100
201
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cel-references.d.ts","sourceRoot":"","sources":["../../../src/core/serialization/cel-references.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"cel-references.d.ts","sourceRoot":"","sources":["../../../src/core/serialization/cel-references.ts"],"names":[],"mappings":"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"}
|