terradev-cli 5.4.4__tar.gz → 5.4.6__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.4 → terradev_cli-5.4.6}/PKG-INFO +24 -2
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/README.md +23 -1
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/pyproject.toml +1 -1
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/cli.py +16 -2
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli.egg-info/PKG-INFO +24 -2
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/.env.example +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/.github/workflows/action.yml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/.github/workflows/ci.yml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/.github/workflows/release.yml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/.github/workflows/static.yml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/.terradev/custom_providers.example.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/CODEMAP.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Deployment Package/BNF_GRAMMAR.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Deployment Package/LIFECYCLES.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Deployment Package/architecture.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Deployment Package/overview.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Deployment Package/security.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Deployment Package/troubleshooting.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Dockerfile +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Dockerfile.test +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/LICENSE +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/MANIFEST.in +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/agentic-template/helm/values-agentic.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/agentic-template/k8s/fleet-manifests.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/README.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/helm/values-glm5.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/hpa.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/namespace.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/pdb.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/service.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/sglang-deployment.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/vllm-deployment.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/task.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/terraform/main.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/terraform/outputs.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/terraform/variables.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/llmd-template/README.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/llmd-template/helm/values-llmd.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/llmd-template/k8s/gateway.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/llmd-template/k8s/leaderworkerset.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/llmd-template/k8s/llminferenceservice.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/llmd-template/task.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/Chart.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/_helpers.tpl +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/deployment.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/pvc-adapter.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/pvc-registry.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/service.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/serviceaccount.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/values-lora.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/k8s/adapter-pvc.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/k8s/namespace.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/k8s/registry-pvc.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/k8s/service.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/k8s/serviceaccount.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/Chart.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/templates/_helpers.tpl +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/templates/deployment.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/templates/pvc.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/templates/service.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/templates/serviceaccount.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/values-lorax.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/README.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/helm/values-moe.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/k8s/hpa.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/k8s/namespace.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/k8s/pdb.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/k8s/service.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/task.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/terraform/main.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/terraform/outputs.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/terraform/variables.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/rag-template/README.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/rag-template/helm/values-rag.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/rag-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/rag-template/terraform/main.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/demo/RECORDING_GUIDE.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/demo/generate_gif.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/demo/terradev-demo.gif +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/ADVANCED_FINANCIAL_INNOVATIONS.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/API_DOCUMENTATION.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/BingSiteAuth.xml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/FINOPS_ATTRIBUTION_SYSTEM.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/LORA_COMMAND_LIFECYCLE.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/USER_GUIDE.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/VLLM_AUTO_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/VLLM_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/architecture.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/index.html +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/overview.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/robots.txt +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/sitemap.xml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/test_spot_provision.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/aws_ssm_starter.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/config.example.json +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/demo_k8s_config.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/direct_aws_starter.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/ec2_user_data_starter.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/example-pipeline.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/kubernetes_training_deployment.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/simple_ssm_starter.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/ssh_server_starter.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/start_aws_servers.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/helm/terradev/Chart.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/helm/terradev/templates/_helpers.tpl +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/helm/terradev/templates/deployment.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/helm/terradev/values.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/infrastructure/bucket-policy.json +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/infrastructure/grafana_training_dashboard.json +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/infrastructure/kubernetes/microservices.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/infrastructure/terraform/main.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/infrastructure/terraform/parallelism.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/cli-tool.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/cloud-management-widgets.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/cloud-provider-apis.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/critical-widgets.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/devops-cicd-widgets.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/devops-essential-tools.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/docker-integration.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/kubernetes-operator.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/mlflow-integration.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/marketing/bare-metal-latitude-post.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/README.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/dashboard.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/monitors.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/outputs.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/provider.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/variables.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/versions.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/prometheus_training_config.yml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/INTEGRATION_GUIDE.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/PERFORMANCE_OPTIMIZATIONS.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/README.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-artifact-verification/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-artifact-verification/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-artifact-verification/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-artifact-verification/src/verifier.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-authentication/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-authentication/src/encoding.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-authentication/src/hmac.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-authentication/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-authentication/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cache-eviction/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cache-eviction/src/cache.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cache-eviction/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cache-eviction/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-command-executor/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-command-executor/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-config-validator/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-config-validator/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-config-validator/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-config-validator/src/validator.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-connection-pool/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-connection-pool/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-connection-pool/src/pool.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-connection-pool/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cost-calculator/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cost-calculator/src/calculator.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cost-calculator/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cost-calculator/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cost-scaler/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cost-scaler/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-credential-vault/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-credential-vault/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-credential-vault/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-credential-vault/src/vault.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-dag-executor/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-dag-executor/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-distributed-lock/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-distributed-lock/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-distributed-lock/src/lock.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-distributed-lock/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-egress-optimizer/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-egress-optimizer/src/graph.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-egress-optimizer/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-egress-optimizer/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-event-bus/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-event-bus/src/bus.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-event-bus/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-event-bus/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-governance/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-governance/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-gpu-discovery/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-gpu-discovery/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-gpu-topology/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-gpu-topology/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-gpu-topology/src/topology.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-gpu-topology/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-helm-generator/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-helm-generator/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-mcp-codec/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-mcp-codec/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-mcp-optimizer/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-mcp-optimizer/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-price-intelligence/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-price-intelligence/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-quota-manager/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-quota-manager/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-quota-manager/src/manager.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-quota-manager/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-resource-pool/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-resource-pool/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-resource-pool/src/pool.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-resource-pool/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-result-compressor/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-result-compressor/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-semantic-router/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-semantic-router/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-snapshot-manager/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-snapshot-manager/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-snapshot-manager/src/snapshot.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-snapshot-manager/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-state-machine/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-state-machine/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-state-machine/src/state.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-state-machine/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-telemetry/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-telemetry/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-telemetry/src/pipeline.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-telemetry/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-tool-registry/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-tool-registry/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-vram-estimator/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-vram-estimator/src/estimator.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-vram-estimator/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-vram-estimator/src/types.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-warm-pool/Cargo.toml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-warm-pool/src/lib.rs +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/scripts/action.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/scripts/gpu-check.sh +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/setup/Lambda Cloud API spec 1.8.3.json +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/setup/docker-compose.yml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/setup/nginx.conf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/setup/setup.sh +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/setup.cfg +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/CHANGELOG.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/COMPLETE_COMMAND_REFERENCE.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/COMPLETE_INTEGRATION_GUIDE.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/IMPLEMENTATION_SUMMARY.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/MAKING_SPOT_WORK_FOR_STATEFUL_WORKLOADS.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/README.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/SGLANG_COMMAND_GUIDE.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/TERRADEV_STACK_CHART.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/__init__.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/__main__.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/cli_hf_spaces.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/cli_karpenter.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/__init__.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/agentic_provisioner.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/agentic_topology.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/async_config.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/auth.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/auto_lineage.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/cache_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/checkpoint_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/command_executor.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/config.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/config_validator.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/cost_scaler.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/cost_tracker.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/credential_vault.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/cuda_graph_integrator.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/dag_executor.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/data_governance.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/dataset_stager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/deployment_router.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/distributed_lock.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/drift_detector.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/egress_cost_monitor.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/egress_optimizer.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/evaluation_orchestrator.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/event_system.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/gitops_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/gpu_discovery.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/gpu_topology.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/helm_generator.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/hf_cli_integration.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/hf_smart_templates.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/hf_spaces.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/inference_router.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/inference_spot_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/job_state_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/kv_cache_checkpoint_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/kv_cache_checkpoint_tests.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/kv_sharing.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/lora_consistency.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/lora_cost_attribution.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/lora_versioning.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/manifest_cache.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/manifest_example.json +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/mig_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/migration_orchestrator.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/mla_vram_estimator.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/mla_vram_tests.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/model_orchestrator.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/oidc_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/optimization_config.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/parallel_provisioner.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/pd_transport.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/pipeline_schema.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/preflight_validator.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/price_discovery.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/price_intelligence.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/public_ip_billing_tracker.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/quick_start.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/quota_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/rate_limiter.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/rust_telemetry.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_router.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/__init__.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/base_signal.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/complexity_signal.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/domain_signal.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/keyword_signal.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/language_signal.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/modality_signal.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/orchestrator.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/routing_policy.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/safety_signal.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/session_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/ssh_key_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/telemetry.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/terradev_engine.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/trace_viewer.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/training_monitor.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/training_orchestrator.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/user_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/warm_pool_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/weight_streaming_benchmarks.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/weight_streaming_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/cost_optimizer.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/credential_prompt.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/demo.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/entry_point.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/Terradev LOGO BLACK.png +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/Terradev LOGO WHITEW.png +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/__init__.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/databricks_integration.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/datadog_integration.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/helicone_integration.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/prometheus_integration.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/wandb_integration.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/k8s/terraform_wrapper.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/kubernetes/inferx-cost-optimized.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/kubernetes/inferx-infrastructure.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/kubernetes/inferx-models.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/kubernetes/inferx-platform.yaml +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/kubernetes/inferx_setup.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/mcp/__init__.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/mcp/server.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/__init__.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/agentic_serving.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/drift_retrain_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/dvc_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/guardrails_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/huggingface_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/kserve_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/kubernetes_enhanced.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/kubernetes_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/langchain_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/langfuse_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/langgraph_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/lmcache_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/lora_registry.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/lorax_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/mlflow_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/model_router.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/ollama_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/peft_import_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/phoenix_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/qdrant_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/ray_enhanced.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/ray_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/sglang_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/vllm_service.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/wandb_enhanced.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/optimization/__init__.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/optimization/auto_optimizer.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/optimization/cuco_optimizer.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/LATITUDE_PROVIDER.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/__init__.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/alibaba_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/aws_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/azure_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/base_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/baseten_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/coreweave_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/crusoe_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/demo_mode.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/digitalocean_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/e2e_networks_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/fluidstack_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/gcp_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/gpu_catalog.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/hetzner_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/huggingface_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/hyperstack_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/inferx_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/lambda_labs_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/latitude_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/oracle_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/ovhcloud_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/provider_factory.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/provider_profiles.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/real_pricing.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/registry.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/runpod_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/siliconflow_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/tensordock_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/types.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/vastai_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/yottalabs_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/requirements.txt +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/requirements_minimal.txt +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/main.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/__init__.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-aws/bootstrap.sh +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-aws/main.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-aws/outputs.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-aws/variables.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-aws/versions.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/bootstrap.sh +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/main.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/outputs.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/variables.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/versions.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-lambda/bootstrap.sh +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-lambda/main.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-lambda/outputs.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-lambda/variables.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-lambda/versions.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-vastai/bootstrap.sh +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-vastai/main.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-vastai/outputs.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-vastai/variables.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-vastai/versions.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/k8s-control-plane/join-script.tpl +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/k8s-control-plane/kubeconfig.tpl +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/k8s-control-plane/main.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/k8s-control-plane/outputs.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/k8s-control-plane/variables.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/k8s-control-plane/versions.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/networking/main.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/networking/outputs.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/networking/variables.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/networking/versions.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/outputs.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/price-optimizer/optimal-allocation.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/providers.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/variables.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/test_summary.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/utils/__init__.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/utils/formatters.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli.egg-info/SOURCES.txt +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli.egg-info/dependency_links.txt +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli.egg-info/entry_points.txt +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli.egg-info/requires.txt +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli.egg-info/top_level.txt +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform.tfvars.example +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_optimization/backend.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_optimization/error_handling.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_optimization/parallel_provisioning.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_optimization/storage_choice_matrix.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_optimization/test_error_handler.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_optimization/versions.tf +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/audit_demo/trail_3caed73ad5bf.json +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/audit_trail.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/audit_trails.json +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/decision_engine.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/decision_logs.json +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/operations.json +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/terraform_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/terraform_plans.json +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/transparency_demo.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/transparency_report.json +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/CREDENTIAL_STRATEGY.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/INTEGRATION_STRATEGY.md +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/Makefile +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/ci_pipeline.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/conftest.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_cli_ux_battle.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_cli_ux_battle_fixed.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_cli_ux_final.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_final_integration.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_integrated_optimization.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_p10_production_failover.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_sso_phase1.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_vllm_optimization.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/simple_test.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_ai_integrations.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_checkpoint_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_cli_smoke.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_dag_executor.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_flashoptim.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_integration.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_job_state_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_k8s_regression.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_latitude_provider.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_major_providers.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_mcp_handlers.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_new_providers.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_provider_conformance.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_providers.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_semantic_router.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_sglang_optimization.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_ssh_key_manager.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_training_monitor.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_training_orchestrator.py +0 -0
- {terradev_cli-5.4.4 → terradev_cli-5.4.6}/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.6
|
|
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.6
|
|
97
97
|
|
|
98
98
|
**An imperative command-line-interface for AI workload orchestration.**
|
|
99
99
|
|
|
@@ -111,6 +111,28 @@ 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.6**
|
|
115
|
+
|
|
116
|
+
Added **debug logging** to `_get_provider_quotes()` for troubleshooting credential and API issues:
|
|
117
|
+
|
|
118
|
+
- **Purpose**: Added stderr debug output to log credentials being passed to each provider and the number of quotes returned. This helps diagnose why `terradev quote` returns empty results.
|
|
119
|
+
|
|
120
|
+
- **Changes**:
|
|
121
|
+
- Added `print(f"[DEBUG] {provider_name} creds: {creds}", file=sys.stderr)` to log credentials
|
|
122
|
+
- Added `print(f"[DEBUG] {provider_name} returned {len(raw_quotes) if raw_quotes else 0} quotes", file=sys.stderr)` to log quote counts
|
|
123
|
+
|
|
124
|
+
- **Impact**: Debug output appears in stderr when running `terradev quote`, helping identify credential issues, API failures, or empty responses from providers.
|
|
125
|
+
|
|
126
|
+
**NOTES ON 5.4.5**
|
|
127
|
+
|
|
128
|
+
Fixed **nested credential detection bug** in `is_first_time_user()`:
|
|
129
|
+
|
|
130
|
+
- **Bug**: The `is_first_time_user()` function only checked top-level credential values, but credentials now use nested dict format `{"runpod": {"api_key": "rpa_..."}}` from `configure --provider`. When a value was a dict, it was skipped entirely, so the function always returned `True` (first time user) even when real credentials existed.
|
|
131
|
+
|
|
132
|
+
- **Fix**: Added recursion into dict values to check nested credentials. The loop now handles both flat format `{"runpod_api_key": "rpa_..."}` and nested format `{"runpod": {"api_key": "rpa_..."}}`.
|
|
133
|
+
|
|
134
|
+
- **Impact**: Users with nested credential format are now correctly identified as having real credentials, preventing unwanted onboarding prompts and enabling proper credential validation.
|
|
135
|
+
|
|
114
136
|
**NOTES ON 5.4.4**
|
|
115
137
|
|
|
116
138
|
Fixed **case-sensitivity bug** in placeholder detection in `_provider_creds()`:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Terradev CLI v5.4.
|
|
1
|
+
# Terradev CLI v5.4.6
|
|
2
2
|
|
|
3
3
|
**An imperative command-line-interface for AI workload orchestration.**
|
|
4
4
|
|
|
@@ -16,6 +16,28 @@ 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.6**
|
|
20
|
+
|
|
21
|
+
Added **debug logging** to `_get_provider_quotes()` for troubleshooting credential and API issues:
|
|
22
|
+
|
|
23
|
+
- **Purpose**: Added stderr debug output to log credentials being passed to each provider and the number of quotes returned. This helps diagnose why `terradev quote` returns empty results.
|
|
24
|
+
|
|
25
|
+
- **Changes**:
|
|
26
|
+
- Added `print(f"[DEBUG] {provider_name} creds: {creds}", file=sys.stderr)` to log credentials
|
|
27
|
+
- Added `print(f"[DEBUG] {provider_name} returned {len(raw_quotes) if raw_quotes else 0} quotes", file=sys.stderr)` to log quote counts
|
|
28
|
+
|
|
29
|
+
- **Impact**: Debug output appears in stderr when running `terradev quote`, helping identify credential issues, API failures, or empty responses from providers.
|
|
30
|
+
|
|
31
|
+
**NOTES ON 5.4.5**
|
|
32
|
+
|
|
33
|
+
Fixed **nested credential detection bug** in `is_first_time_user()`:
|
|
34
|
+
|
|
35
|
+
- **Bug**: The `is_first_time_user()` function only checked top-level credential values, but credentials now use nested dict format `{"runpod": {"api_key": "rpa_..."}}` from `configure --provider`. When a value was a dict, it was skipped entirely, so the function always returned `True` (first time user) even when real credentials existed.
|
|
36
|
+
|
|
37
|
+
- **Fix**: Added recursion into dict values to check nested credentials. The loop now handles both flat format `{"runpod_api_key": "rpa_..."}` and nested format `{"runpod": {"api_key": "rpa_..."}}`.
|
|
38
|
+
|
|
39
|
+
- **Impact**: Users with nested credential format are now correctly identified as having real credentials, preventing unwanted onboarding prompts and enabling proper credential validation.
|
|
40
|
+
|
|
19
41
|
**NOTES ON 5.4.4**
|
|
20
42
|
|
|
21
43
|
Fixed **case-sensitivity bug** in placeholder detection in `_provider_creds()`:
|
|
@@ -116,10 +116,18 @@ class TerradevAPI:
|
|
|
116
116
|
# Check if all credentials are still placeholder values
|
|
117
117
|
placeholder_patterns = ["your_", "example_", "test_", "placeholder_", "xxx"]
|
|
118
118
|
for key, value in self.credentials.items():
|
|
119
|
-
if
|
|
119
|
+
if isinstance(value, dict):
|
|
120
|
+
# Check nested credentials (from configure --provider)
|
|
121
|
+
for nested_key, nested_value in value.items():
|
|
122
|
+
if nested_value and isinstance(nested_value, str) and not any(
|
|
123
|
+
pattern in nested_value.lower()
|
|
124
|
+
for pattern in placeholder_patterns
|
|
125
|
+
):
|
|
126
|
+
return False # Found a real nested credential
|
|
127
|
+
elif value and isinstance(value, str) and not any(
|
|
120
128
|
pattern in value.lower() for pattern in placeholder_patterns
|
|
121
129
|
):
|
|
122
|
-
return False # Found a real credential
|
|
130
|
+
return False # Found a real flat credential
|
|
123
131
|
|
|
124
132
|
return True # All credentials appear to be placeholders
|
|
125
133
|
|
|
@@ -479,9 +487,15 @@ class TerradevAPI:
|
|
|
479
487
|
|
|
480
488
|
factory = ProviderFactory()
|
|
481
489
|
creds = self._provider_creds(provider_name)
|
|
490
|
+
|
|
491
|
+
# Debug: log credentials for troubleshooting
|
|
492
|
+
import sys
|
|
493
|
+
print(f"[DEBUG] {provider_name} creds: {creds}", file=sys.stderr)
|
|
494
|
+
|
|
482
495
|
provider = factory.create_provider(provider_name, creds)
|
|
483
496
|
try:
|
|
484
497
|
raw_quotes = await provider.get_instance_quotes(gpu_type)
|
|
498
|
+
print(f"[DEBUG] {provider_name} returned {len(raw_quotes) if raw_quotes else 0} quotes", file=sys.stderr)
|
|
485
499
|
finally:
|
|
486
500
|
# Close aiohttp session to avoid ResourceWarning
|
|
487
501
|
if provider.session:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: terradev-cli
|
|
3
|
-
Version: 5.4.
|
|
3
|
+
Version: 5.4.6
|
|
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.6
|
|
97
97
|
|
|
98
98
|
**An imperative command-line-interface for AI workload orchestration.**
|
|
99
99
|
|
|
@@ -111,6 +111,28 @@ 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.6**
|
|
115
|
+
|
|
116
|
+
Added **debug logging** to `_get_provider_quotes()` for troubleshooting credential and API issues:
|
|
117
|
+
|
|
118
|
+
- **Purpose**: Added stderr debug output to log credentials being passed to each provider and the number of quotes returned. This helps diagnose why `terradev quote` returns empty results.
|
|
119
|
+
|
|
120
|
+
- **Changes**:
|
|
121
|
+
- Added `print(f"[DEBUG] {provider_name} creds: {creds}", file=sys.stderr)` to log credentials
|
|
122
|
+
- Added `print(f"[DEBUG] {provider_name} returned {len(raw_quotes) if raw_quotes else 0} quotes", file=sys.stderr)` to log quote counts
|
|
123
|
+
|
|
124
|
+
- **Impact**: Debug output appears in stderr when running `terradev quote`, helping identify credential issues, API failures, or empty responses from providers.
|
|
125
|
+
|
|
126
|
+
**NOTES ON 5.4.5**
|
|
127
|
+
|
|
128
|
+
Fixed **nested credential detection bug** in `is_first_time_user()`:
|
|
129
|
+
|
|
130
|
+
- **Bug**: The `is_first_time_user()` function only checked top-level credential values, but credentials now use nested dict format `{"runpod": {"api_key": "rpa_..."}}` from `configure --provider`. When a value was a dict, it was skipped entirely, so the function always returned `True` (first time user) even when real credentials existed.
|
|
131
|
+
|
|
132
|
+
- **Fix**: Added recursion into dict values to check nested credentials. The loop now handles both flat format `{"runpod_api_key": "rpa_..."}` and nested format `{"runpod": {"api_key": "rpa_..."}}`.
|
|
133
|
+
|
|
134
|
+
- **Impact**: Users with nested credential format are now correctly identified as having real credentials, preventing unwanted onboarding prompts and enabling proper credential validation.
|
|
135
|
+
|
|
114
136
|
**NOTES ON 5.4.4**
|
|
115
137
|
|
|
116
138
|
Fixed **case-sensitivity bug** in placeholder detection in `_provider_creds()`:
|
|
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.4 → terradev_cli-5.4.6}/clusters/agentic-template/helm/values-agentic.yaml
RENAMED
|
File without changes
|
{terradev_cli-5.4.4 → terradev_cli-5.4.6}/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.4 → terradev_cli-5.4.6}/clusters/llmd-template/k8s/llminferenceservice.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/_helpers.tpl
RENAMED
|
File without changes
|
{terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/deployment.yaml
RENAMED
|
File without changes
|
{terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/pvc-adapter.yaml
RENAMED
|
File without changes
|
{terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/pvc-registry.yaml
RENAMED
|
File without changes
|
{terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/service.yaml
RENAMED
|
File without changes
|
{terradev_cli-5.4.4 → terradev_cli-5.4.6}/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.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/templates/_helpers.tpl
RENAMED
|
File without changes
|
{terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/templates/deployment.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/templates/service.yaml
RENAMED
|
File without changes
|
{terradev_cli-5.4.4 → terradev_cli-5.4.6}/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.4 → terradev_cli-5.4.6}/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
|