terradev-cli 5.4.2__tar.gz → 5.4.4__tar.gz
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.
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/PKG-INFO +22 -2
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/README.md +21 -1
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/pyproject.toml +1 -1
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/cli.py +14 -2
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli.egg-info/PKG-INFO +22 -2
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/.env.example +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/.github/workflows/action.yml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/.github/workflows/ci.yml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/.github/workflows/release.yml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/.github/workflows/static.yml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/.terradev/custom_providers.example.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/CODEMAP.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/Deployment Package/BNF_GRAMMAR.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/Deployment Package/LIFECYCLES.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/Deployment Package/architecture.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/Deployment Package/overview.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/Deployment Package/security.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/Deployment Package/troubleshooting.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/Dockerfile +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/Dockerfile.test +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/LICENSE +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/MANIFEST.in +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/agentic-template/helm/values-agentic.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/agentic-template/k8s/fleet-manifests.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/glm-5/README.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/glm-5/helm/values-glm5.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/glm-5/k8s/hpa.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/glm-5/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/glm-5/k8s/namespace.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/glm-5/k8s/pdb.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/glm-5/k8s/service.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/glm-5/k8s/sglang-deployment.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/glm-5/k8s/vllm-deployment.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/glm-5/task.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/glm-5/terraform/main.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/glm-5/terraform/outputs.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/glm-5/terraform/variables.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/llmd-template/README.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/llmd-template/helm/values-llmd.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/llmd-template/k8s/gateway.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/llmd-template/k8s/leaderworkerset.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/llmd-template/k8s/llminferenceservice.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/llmd-template/task.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/Chart.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/templates/_helpers.tpl +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/templates/deployment.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/templates/pvc-adapter.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/templates/pvc-registry.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/templates/service.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/templates/serviceaccount.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/values-lora.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/k8s/adapter-pvc.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/k8s/namespace.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/k8s/registry-pvc.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/k8s/service.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/k8s/serviceaccount.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lorax-template/helm/Chart.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lorax-template/helm/templates/_helpers.tpl +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lorax-template/helm/templates/deployment.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lorax-template/helm/templates/pvc.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lorax-template/helm/templates/service.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lorax-template/helm/templates/serviceaccount.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lorax-template/helm/values-lorax.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/moe-template/README.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/moe-template/helm/values-moe.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/moe-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/moe-template/k8s/hpa.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/moe-template/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/moe-template/k8s/namespace.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/moe-template/k8s/pdb.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/moe-template/k8s/service.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/moe-template/task.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/moe-template/terraform/main.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/moe-template/terraform/outputs.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/moe-template/terraform/variables.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/rag-template/README.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/rag-template/helm/values-rag.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/rag-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/rag-template/terraform/main.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/demo/RECORDING_GUIDE.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/demo/generate_gif.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/demo/terradev-demo.gif +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/ADVANCED_FINANCIAL_INNOVATIONS.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/API_DOCUMENTATION.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/BingSiteAuth.xml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/FINOPS_ATTRIBUTION_SYSTEM.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/LORA_COMMAND_LIFECYCLE.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/USER_GUIDE.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/VLLM_AUTO_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/VLLM_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/architecture.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/index.html +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/overview.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/robots.txt +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/sitemap.xml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/docs/test_spot_provision.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/examples/aws_ssm_starter.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/examples/config.example.json +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/examples/demo_k8s_config.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/examples/direct_aws_starter.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/examples/ec2_user_data_starter.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/examples/example-pipeline.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/examples/kubernetes_training_deployment.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/examples/simple_ssm_starter.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/examples/ssh_server_starter.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/examples/start_aws_servers.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/helm/terradev/Chart.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/helm/terradev/templates/_helpers.tpl +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/helm/terradev/templates/deployment.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/helm/terradev/values.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/infrastructure/bucket-policy.json +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/infrastructure/grafana_training_dashboard.json +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/infrastructure/kubernetes/microservices.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/infrastructure/terraform/main.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/infrastructure/terraform/parallelism.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/integrations/cli-tool.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/integrations/cloud-management-widgets.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/integrations/cloud-provider-apis.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/integrations/critical-widgets.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/integrations/devops-cicd-widgets.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/integrations/devops-essential-tools.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/integrations/docker-integration.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/integrations/kubernetes-operator.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/integrations/mlflow-integration.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/marketing/bare-metal-latitude-post.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/modules/datadog/README.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/modules/datadog/dashboard.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/modules/datadog/monitors.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/modules/datadog/outputs.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/modules/datadog/provider.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/modules/datadog/variables.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/modules/datadog/versions.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/modules/prometheus_training_config.yml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/INTEGRATION_GUIDE.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/PERFORMANCE_OPTIMIZATIONS.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/README.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-artifact-verification/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-artifact-verification/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-artifact-verification/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-artifact-verification/src/verifier.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-authentication/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-authentication/src/encoding.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-authentication/src/hmac.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-authentication/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-authentication/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-cache-eviction/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-cache-eviction/src/cache.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-cache-eviction/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-cache-eviction/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-command-executor/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-command-executor/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-config-validator/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-config-validator/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-config-validator/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-config-validator/src/validator.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-connection-pool/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-connection-pool/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-connection-pool/src/pool.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-connection-pool/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-cost-calculator/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-cost-calculator/src/calculator.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-cost-calculator/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-cost-calculator/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-cost-scaler/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-cost-scaler/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-credential-vault/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-credential-vault/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-credential-vault/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-credential-vault/src/vault.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-dag-executor/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-dag-executor/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-distributed-lock/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-distributed-lock/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-distributed-lock/src/lock.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-distributed-lock/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-egress-optimizer/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-egress-optimizer/src/graph.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-egress-optimizer/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-egress-optimizer/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-event-bus/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-event-bus/src/bus.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-event-bus/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-event-bus/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-governance/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-governance/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-gpu-discovery/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-gpu-discovery/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-gpu-topology/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-gpu-topology/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-gpu-topology/src/topology.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-gpu-topology/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-helm-generator/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-helm-generator/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-mcp-codec/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-mcp-codec/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-mcp-optimizer/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-mcp-optimizer/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-price-intelligence/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-price-intelligence/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-quota-manager/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-quota-manager/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-quota-manager/src/manager.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-quota-manager/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-resource-pool/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-resource-pool/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-resource-pool/src/pool.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-resource-pool/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-result-compressor/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-result-compressor/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-semantic-router/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-semantic-router/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-snapshot-manager/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-snapshot-manager/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-snapshot-manager/src/snapshot.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-snapshot-manager/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-state-machine/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-state-machine/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-state-machine/src/state.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-state-machine/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-telemetry/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-telemetry/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-telemetry/src/pipeline.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-telemetry/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-tool-registry/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-tool-registry/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-vram-estimator/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-vram-estimator/src/estimator.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-vram-estimator/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-vram-estimator/src/types.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-warm-pool/Cargo.toml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-warm-pool/src/lib.rs +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/scripts/action.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/scripts/gpu-check.sh +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/setup/Lambda Cloud API spec 1.8.3.json +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/setup/docker-compose.yml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/setup/nginx.conf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/setup/setup.sh +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/setup.cfg +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/CHANGELOG.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/COMPLETE_COMMAND_REFERENCE.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/COMPLETE_INTEGRATION_GUIDE.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/IMPLEMENTATION_SUMMARY.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/MAKING_SPOT_WORK_FOR_STATEFUL_WORKLOADS.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/README.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/SGLANG_COMMAND_GUIDE.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/TERRADEV_STACK_CHART.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/__init__.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/__main__.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/cli_hf_spaces.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/cli_karpenter.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/__init__.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/agentic_provisioner.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/agentic_topology.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/async_config.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/auth.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/auto_lineage.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/cache_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/checkpoint_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/command_executor.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/config.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/config_validator.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/cost_scaler.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/cost_tracker.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/credential_vault.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/cuda_graph_integrator.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/dag_executor.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/data_governance.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/dataset_stager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/deployment_router.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/distributed_lock.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/drift_detector.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/egress_cost_monitor.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/egress_optimizer.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/evaluation_orchestrator.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/event_system.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/gitops_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/gpu_discovery.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/gpu_topology.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/helm_generator.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/hf_cli_integration.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/hf_smart_templates.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/hf_spaces.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/inference_router.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/inference_spot_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/job_state_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/kv_cache_checkpoint_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/kv_cache_checkpoint_tests.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/kv_sharing.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/lora_consistency.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/lora_cost_attribution.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/lora_versioning.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/manifest_cache.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/manifest_example.json +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/mig_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/migration_orchestrator.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/mla_vram_estimator.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/mla_vram_tests.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/model_orchestrator.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/oidc_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/optimization_config.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/parallel_provisioner.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/pd_transport.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/pipeline_schema.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/preflight_validator.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/price_discovery.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/price_intelligence.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/public_ip_billing_tracker.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/quick_start.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/quota_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/rate_limiter.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/rust_telemetry.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/semantic_router.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/semantic_signals/__init__.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/semantic_signals/base_signal.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/semantic_signals/complexity_signal.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/semantic_signals/domain_signal.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/semantic_signals/keyword_signal.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/semantic_signals/language_signal.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/semantic_signals/modality_signal.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/semantic_signals/orchestrator.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/semantic_signals/routing_policy.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/semantic_signals/safety_signal.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/session_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/ssh_key_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/telemetry.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/terradev_engine.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/trace_viewer.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/training_monitor.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/training_orchestrator.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/user_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/warm_pool_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/weight_streaming_benchmarks.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/core/weight_streaming_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/cost_optimizer.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/credential_prompt.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/demo.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/entry_point.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/integrations/Terradev LOGO BLACK.png +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/integrations/Terradev LOGO WHITEW.png +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/integrations/__init__.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/integrations/databricks_integration.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/integrations/datadog_integration.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/integrations/helicone_integration.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/integrations/prometheus_integration.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/integrations/wandb_integration.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/k8s/terraform_wrapper.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/kubernetes/inferx-cost-optimized.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/kubernetes/inferx-infrastructure.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/kubernetes/inferx-models.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/kubernetes/inferx-platform.yaml +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/kubernetes/inferx_setup.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/mcp/__init__.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/mcp/server.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/__init__.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/agentic_serving.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/drift_retrain_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/dvc_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/guardrails_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/huggingface_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/kserve_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/kubernetes_enhanced.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/kubernetes_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/langchain_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/langfuse_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/langgraph_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/lmcache_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/lora_registry.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/lorax_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/mlflow_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/model_router.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/ollama_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/peft_import_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/phoenix_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/qdrant_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/ray_enhanced.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/ray_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/sglang_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/vllm_service.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/ml_services/wandb_enhanced.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/optimization/__init__.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/optimization/auto_optimizer.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/optimization/cuco_optimizer.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/LATITUDE_PROVIDER.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/__init__.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/alibaba_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/aws_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/azure_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/base_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/baseten_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/coreweave_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/crusoe_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/demo_mode.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/digitalocean_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/e2e_networks_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/fluidstack_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/gcp_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/gpu_catalog.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/hetzner_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/huggingface_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/hyperstack_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/inferx_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/lambda_labs_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/latitude_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/oracle_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/ovhcloud_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/provider_factory.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/provider_profiles.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/real_pricing.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/registry.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/runpod_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/siliconflow_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/tensordock_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/types.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/vastai_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/providers/yottalabs_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/requirements.txt +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/requirements_minimal.txt +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/main.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/__init__.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-aws/bootstrap.sh +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-aws/main.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-aws/outputs.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-aws/variables.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-aws/versions.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-hyperstack/bootstrap.sh +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-hyperstack/main.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-hyperstack/outputs.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-hyperstack/variables.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-hyperstack/versions.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-lambda/bootstrap.sh +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-lambda/main.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-lambda/outputs.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-lambda/variables.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-lambda/versions.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-vastai/bootstrap.sh +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-vastai/main.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-vastai/outputs.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-vastai/variables.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/gpu-node-vastai/versions.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/k8s-control-plane/join-script.tpl +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/k8s-control-plane/kubeconfig.tpl +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/k8s-control-plane/main.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/k8s-control-plane/outputs.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/k8s-control-plane/variables.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/k8s-control-plane/versions.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/networking/main.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/networking/outputs.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/networking/variables.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/modules/networking/versions.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/outputs.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/price-optimizer/optimal-allocation.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/providers.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/terraform/variables.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/test_summary.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/utils/__init__.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli/utils/formatters.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli.egg-info/SOURCES.txt +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli.egg-info/dependency_links.txt +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli.egg-info/entry_points.txt +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli.egg-info/requires.txt +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terradev_cli.egg-info/top_level.txt +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform.tfvars.example +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_optimization/backend.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_optimization/error_handling.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_optimization/parallel_provisioning.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_optimization/storage_choice_matrix.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_optimization/test_error_handler.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_optimization/versions.tf +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_transparency/audit_demo/trail_3caed73ad5bf.json +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_transparency/audit_trail.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_transparency/audit_trails.json +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_transparency/decision_engine.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_transparency/decision_logs.json +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_transparency/operations.json +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_transparency/terraform_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_transparency/terraform_plans.json +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_transparency/transparency_demo.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/terraform_transparency/transparency_report.json +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/CREDENTIAL_STRATEGY.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/INTEGRATION_STRATEGY.md +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/Makefile +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/ci_pipeline.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/conftest.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/root_tests/test_cli_ux_battle.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/root_tests/test_cli_ux_battle_fixed.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/root_tests/test_cli_ux_final.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/root_tests/test_final_integration.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/root_tests/test_integrated_optimization.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/root_tests/test_p10_production_failover.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/root_tests/test_sso_phase1.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/root_tests/test_vllm_optimization.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/simple_test.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_ai_integrations.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_checkpoint_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_cli_smoke.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_dag_executor.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_flashoptim.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_integration.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_job_state_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_k8s_regression.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_latitude_provider.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_major_providers.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_mcp_handlers.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_new_providers.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_provider_conformance.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_providers.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_semantic_router.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_sglang_optimization.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_ssh_key_manager.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_training_monitor.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_training_orchestrator.py +0 -0
- {terradev_cli-5.4.2 → terradev_cli-5.4.4}/tests/test_vllm_features.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: terradev-cli
|
|
3
|
-
Version: 5.4.
|
|
3
|
+
Version: 5.4.4
|
|
4
4
|
Summary: An imperative command-line-interface for AI workload orchestration.
|
|
5
5
|
Author-email: Terradev Team <team@terradev.com>
|
|
6
6
|
Maintainer-email: Terradev Team <team@terradev.com>
|
|
@@ -93,7 +93,7 @@ Requires-Dist: redis>=5.0.0; extra == "enterprise"
|
|
|
93
93
|
Requires-Dist: PyJWT>=2.8.0; extra == "enterprise"
|
|
94
94
|
Dynamic: license-file
|
|
95
95
|
|
|
96
|
-
# Terradev CLI v5.4.
|
|
96
|
+
# Terradev CLI v5.4.4
|
|
97
97
|
|
|
98
98
|
**An imperative command-line-interface for AI workload orchestration.**
|
|
99
99
|
|
|
@@ -111,6 +111,26 @@ Continued focus on lower cost, faster provisioning, and topology-aware execution
|
|
|
111
111
|
|
|
112
112
|
Model agnostic. Dataset agnostic. GPU agnostic. Provider agnostic. The only thing Terradev is not agnostic about is correctness: it enforces topology, idempotency, and sequencing.
|
|
113
113
|
|
|
114
|
+
**NOTES ON 5.4.4**
|
|
115
|
+
|
|
116
|
+
Fixed **case-sensitivity bug** in placeholder detection in `_provider_creds()`:
|
|
117
|
+
|
|
118
|
+
- **Bug**: The placeholder pattern check in `_provider_creds()` was not properly lowercasing the credential value before checking for placeholder patterns. The placeholder "PASTE_NEW_RUNPOD_KEY_HERE" (uppercase) was not being detected by the pattern "paste_" (lowercase), causing the method to treat it as a real credential instead of falling back to flat format.
|
|
119
|
+
|
|
120
|
+
- **Fix**: Changed the placeholder detection to explicitly lowercase the credential value before checking against placeholder patterns: `v_lower = v.lower()` then `if not any(pattern in v_lower for pattern in placeholder_patterns)`.
|
|
121
|
+
|
|
122
|
+
- **Impact**: Nested credentials with uppercase placeholders (e.g., "PASTE_NEW_RUNPOD_KEY_HERE") are now correctly identified as placeholders, allowing fallback to real flat-format credentials.
|
|
123
|
+
|
|
124
|
+
**NOTES ON 5.4.3**
|
|
125
|
+
|
|
126
|
+
Fixed **credential format fallback bug** in `_provider_creds()`:
|
|
127
|
+
|
|
128
|
+
- **Bug**: When credentials file contains both nested format `{"runpod": {"api_key": "..."}}` and flat format `{"runpod_api_key": "..."}`, the `_provider_creds()` method prioritized nested format even if it contained placeholder values like "PASTE_NEW_RUNPOD_KEY_HERE". This caused `terradev quote` to fail because it used placeholder credentials instead of real flat-format credentials.
|
|
129
|
+
|
|
130
|
+
- **Fix**: Added placeholder detection in `_provider_creds()` to check if nested values are placeholders (containing "paste_", "your_", "example_", "test_", "placeholder_", "xxx"). If nested format contains only placeholders, the method now falls back to flat format credentials.
|
|
131
|
+
|
|
132
|
+
- **Impact**: Users with mixed credential formats (nested placeholders from configure + real flat keys from onboarding) now get real credentials from the flat format, enabling `terradev quote` to return actual pricing data.
|
|
133
|
+
|
|
114
134
|
**NOTES ON 5.4.2**
|
|
115
135
|
|
|
116
136
|
Fixed **credential type checking bug** in `is_first_time_user()` and onboarding:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Terradev CLI v5.4.
|
|
1
|
+
# Terradev CLI v5.4.4
|
|
2
2
|
|
|
3
3
|
**An imperative command-line-interface for AI workload orchestration.**
|
|
4
4
|
|
|
@@ -16,6 +16,26 @@ Continued focus on lower cost, faster provisioning, and topology-aware execution
|
|
|
16
16
|
|
|
17
17
|
Model agnostic. Dataset agnostic. GPU agnostic. Provider agnostic. The only thing Terradev is not agnostic about is correctness: it enforces topology, idempotency, and sequencing.
|
|
18
18
|
|
|
19
|
+
**NOTES ON 5.4.4**
|
|
20
|
+
|
|
21
|
+
Fixed **case-sensitivity bug** in placeholder detection in `_provider_creds()`:
|
|
22
|
+
|
|
23
|
+
- **Bug**: The placeholder pattern check in `_provider_creds()` was not properly lowercasing the credential value before checking for placeholder patterns. The placeholder "PASTE_NEW_RUNPOD_KEY_HERE" (uppercase) was not being detected by the pattern "paste_" (lowercase), causing the method to treat it as a real credential instead of falling back to flat format.
|
|
24
|
+
|
|
25
|
+
- **Fix**: Changed the placeholder detection to explicitly lowercase the credential value before checking against placeholder patterns: `v_lower = v.lower()` then `if not any(pattern in v_lower for pattern in placeholder_patterns)`.
|
|
26
|
+
|
|
27
|
+
- **Impact**: Nested credentials with uppercase placeholders (e.g., "PASTE_NEW_RUNPOD_KEY_HERE") are now correctly identified as placeholders, allowing fallback to real flat-format credentials.
|
|
28
|
+
|
|
29
|
+
**NOTES ON 5.4.3**
|
|
30
|
+
|
|
31
|
+
Fixed **credential format fallback bug** in `_provider_creds()`:
|
|
32
|
+
|
|
33
|
+
- **Bug**: When credentials file contains both nested format `{"runpod": {"api_key": "..."}}` and flat format `{"runpod_api_key": "..."}`, the `_provider_creds()` method prioritized nested format even if it contained placeholder values like "PASTE_NEW_RUNPOD_KEY_HERE". This caused `terradev quote` to fail because it used placeholder credentials instead of real flat-format credentials.
|
|
34
|
+
|
|
35
|
+
- **Fix**: Added placeholder detection in `_provider_creds()` to check if nested values are placeholders (containing "paste_", "your_", "example_", "test_", "placeholder_", "xxx"). If nested format contains only placeholders, the method now falls back to flat format credentials.
|
|
36
|
+
|
|
37
|
+
- **Impact**: Users with mixed credential formats (nested placeholders from configure + real flat keys from onboarding) now get real credentials from the flat format, enabling `terradev quote` to return actual pricing data.
|
|
38
|
+
|
|
19
39
|
**NOTES ON 5.4.2**
|
|
20
40
|
|
|
21
41
|
Fixed **credential type checking bug** in `is_first_time_user()` and onboarding:
|
|
@@ -272,8 +272,20 @@ class TerradevAPI:
|
|
|
272
272
|
# Check for nested dict format first (from configure --provider)
|
|
273
273
|
nested = self.credentials.get(provider_name, {})
|
|
274
274
|
if isinstance(nested, dict) and nested:
|
|
275
|
-
#
|
|
276
|
-
|
|
275
|
+
# Check if nested values are placeholders (not real credentials)
|
|
276
|
+
placeholder_patterns = ["paste_", "your_", "example_", "test_", "placeholder_", "xxx"]
|
|
277
|
+
has_real_creds = False
|
|
278
|
+
for v in nested.values():
|
|
279
|
+
if isinstance(v, str) and v:
|
|
280
|
+
v_lower = v.lower()
|
|
281
|
+
if not any(pattern in v_lower for pattern in placeholder_patterns):
|
|
282
|
+
has_real_creds = True
|
|
283
|
+
break
|
|
284
|
+
|
|
285
|
+
if has_real_creds:
|
|
286
|
+
# Nested dict has real credentials, use it
|
|
287
|
+
return {k: str(v) for k, v in nested.items() if v}
|
|
288
|
+
# Otherwise fall back to flat format
|
|
277
289
|
|
|
278
290
|
creds: Dict[str, str] = {}
|
|
279
291
|
if provider_name == "aws":
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: terradev-cli
|
|
3
|
-
Version: 5.4.
|
|
3
|
+
Version: 5.4.4
|
|
4
4
|
Summary: An imperative command-line-interface for AI workload orchestration.
|
|
5
5
|
Author-email: Terradev Team <team@terradev.com>
|
|
6
6
|
Maintainer-email: Terradev Team <team@terradev.com>
|
|
@@ -93,7 +93,7 @@ Requires-Dist: redis>=5.0.0; extra == "enterprise"
|
|
|
93
93
|
Requires-Dist: PyJWT>=2.8.0; extra == "enterprise"
|
|
94
94
|
Dynamic: license-file
|
|
95
95
|
|
|
96
|
-
# Terradev CLI v5.4.
|
|
96
|
+
# Terradev CLI v5.4.4
|
|
97
97
|
|
|
98
98
|
**An imperative command-line-interface for AI workload orchestration.**
|
|
99
99
|
|
|
@@ -111,6 +111,26 @@ Continued focus on lower cost, faster provisioning, and topology-aware execution
|
|
|
111
111
|
|
|
112
112
|
Model agnostic. Dataset agnostic. GPU agnostic. Provider agnostic. The only thing Terradev is not agnostic about is correctness: it enforces topology, idempotency, and sequencing.
|
|
113
113
|
|
|
114
|
+
**NOTES ON 5.4.4**
|
|
115
|
+
|
|
116
|
+
Fixed **case-sensitivity bug** in placeholder detection in `_provider_creds()`:
|
|
117
|
+
|
|
118
|
+
- **Bug**: The placeholder pattern check in `_provider_creds()` was not properly lowercasing the credential value before checking for placeholder patterns. The placeholder "PASTE_NEW_RUNPOD_KEY_HERE" (uppercase) was not being detected by the pattern "paste_" (lowercase), causing the method to treat it as a real credential instead of falling back to flat format.
|
|
119
|
+
|
|
120
|
+
- **Fix**: Changed the placeholder detection to explicitly lowercase the credential value before checking against placeholder patterns: `v_lower = v.lower()` then `if not any(pattern in v_lower for pattern in placeholder_patterns)`.
|
|
121
|
+
|
|
122
|
+
- **Impact**: Nested credentials with uppercase placeholders (e.g., "PASTE_NEW_RUNPOD_KEY_HERE") are now correctly identified as placeholders, allowing fallback to real flat-format credentials.
|
|
123
|
+
|
|
124
|
+
**NOTES ON 5.4.3**
|
|
125
|
+
|
|
126
|
+
Fixed **credential format fallback bug** in `_provider_creds()`:
|
|
127
|
+
|
|
128
|
+
- **Bug**: When credentials file contains both nested format `{"runpod": {"api_key": "..."}}` and flat format `{"runpod_api_key": "..."}`, the `_provider_creds()` method prioritized nested format even if it contained placeholder values like "PASTE_NEW_RUNPOD_KEY_HERE". This caused `terradev quote` to fail because it used placeholder credentials instead of real flat-format credentials.
|
|
129
|
+
|
|
130
|
+
- **Fix**: Added placeholder detection in `_provider_creds()` to check if nested values are placeholders (containing "paste_", "your_", "example_", "test_", "placeholder_", "xxx"). If nested format contains only placeholders, the method now falls back to flat format credentials.
|
|
131
|
+
|
|
132
|
+
- **Impact**: Users with mixed credential formats (nested placeholders from configure + real flat keys from onboarding) now get real credentials from the flat format, enabling `terradev quote` to return actual pricing data.
|
|
133
|
+
|
|
114
134
|
**NOTES ON 5.4.2**
|
|
115
135
|
|
|
116
136
|
Fixed **credential type checking bug** in `is_first_time_user()` and onboarding:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/agentic-template/helm/values-agentic.yaml
RENAMED
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/agentic-template/k8s/fleet-manifests.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/llmd-template/k8s/llminferenceservice.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/templates/_helpers.tpl
RENAMED
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/templates/deployment.yaml
RENAMED
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/templates/pvc-adapter.yaml
RENAMED
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/templates/pvc-registry.yaml
RENAMED
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/templates/service.yaml
RENAMED
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lora-template/helm/templates/serviceaccount.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lorax-template/helm/templates/_helpers.tpl
RENAMED
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lorax-template/helm/templates/deployment.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lorax-template/helm/templates/service.yaml
RENAMED
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/clusters/lorax-template/helm/templates/serviceaccount.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{terradev_cli-5.4.2 → terradev_cli-5.4.4}/rust/terradev-artifact-verification/src/verifier.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|