terradev-cli 5.7.4__tar.gz → 5.7.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.7.4 → terradev_cli-5.7.6}/.github/workflows/release.yml +29 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/Deployment Package/LIFECYCLES.md +1 -1
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/PKG-INFO +5 -3
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/README.md +2 -2
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/index.html +1 -1
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/pyproject.toml +2 -1
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/server.json +2 -2
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/COMPLETE_COMMAND_REFERENCE.md +1 -1
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/README.md +2 -2
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/__init__.py +1 -1
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/cli.py +32 -3
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/commands/__init__.py +23 -1
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/commands/canary.py +8 -1
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/command_executor.py +46 -11
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/manifest_cache.py +2 -0
- terradev_cli-5.7.6/terradev_cli/core/node_span_stream.py +355 -0
- terradev_cli-5.7.6/terradev_cli/core/output.py +315 -0
- terradev_cli-5.7.6/terradev_cli/core/redis_span_exporter.py +275 -0
- terradev_cli-5.7.6/terradev_cli/core/result.py +262 -0
- terradev_cli-5.7.6/terradev_cli/core/telemetry.py +343 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/terradev_engine.py +72 -7
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/router.py +1 -1
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/server.py +2 -2
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli.egg-info/PKG-INFO +5 -3
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli.egg-info/SOURCES.txt +4 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli.egg-info/requires.txt +3 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/conftest.py +4 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_deep_property_based.py +1 -1
- terradev_cli-5.7.4/terradev_cli/core/telemetry.py +0 -63
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/.env.example +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/.github/workflows/action.yml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/.github/workflows/canary-provisioning.yml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/.github/workflows/ci-improved.yml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/.github/workflows/ci.yml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/.github/workflows/publish-mcp.yml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/.github/workflows/static.yml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/.github/workflows/tests.yml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/.gitignore +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/.gitlab-ci.yml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/.terradev/custom_providers.example.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/Deployment Package/BNF_GRAMMAR.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/Deployment Package/architecture.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/Deployment Package/overview.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/Deployment Package/security.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/Deployment Package/troubleshooting.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/Dockerfile +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/LICENSE +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/RELEASE_CHECKLIST.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/agentic-template/helm/values-agentic.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/agentic-template/k8s/fleet-manifests.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/glm-5/README.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/glm-5/helm/values-glm5.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/glm-5/k8s/hpa.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/glm-5/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/glm-5/k8s/namespace.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/glm-5/k8s/pdb.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/glm-5/k8s/service.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/glm-5/k8s/sglang-deployment.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/glm-5/k8s/vllm-deployment.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/glm-5/task.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/glm-5/terraform/main.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/glm-5/terraform/outputs.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/glm-5/terraform/variables.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/llmd-template/README.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/llmd-template/helm/values-llmd.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/llmd-template/k8s/gateway.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/llmd-template/k8s/leaderworkerset.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/llmd-template/k8s/llminferenceservice.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/llmd-template/task.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/helm/Chart.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/helm/templates/_helpers.tpl +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/helm/templates/deployment.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/helm/templates/pvc-adapter.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/helm/templates/pvc-registry.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/helm/templates/service.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/helm/templates/serviceaccount.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/helm/values-lora.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/k8s/adapter-pvc.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/k8s/namespace.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/k8s/registry-pvc.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/k8s/service.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lora-template/k8s/serviceaccount.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lorax-template/helm/Chart.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lorax-template/helm/templates/_helpers.tpl +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lorax-template/helm/templates/deployment.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lorax-template/helm/templates/pvc.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lorax-template/helm/templates/service.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lorax-template/helm/templates/serviceaccount.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/lorax-template/helm/values-lorax.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/moe-template/README.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/moe-template/helm/values-moe.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/moe-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/moe-template/k8s/hpa.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/moe-template/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/moe-template/k8s/namespace.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/moe-template/k8s/pdb.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/moe-template/k8s/service.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/moe-template/task.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/moe-template/terraform/main.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/moe-template/terraform/outputs.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/moe-template/terraform/variables.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/rag-template/README.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/rag-template/helm/values-rag.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/rag-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/clusters/rag-template/terraform/main.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/datadog-terraform/dashboard.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/datadog-terraform/monitors.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/datadog-terraform/provider.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/datadog-terraform/versions.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/demo/RECORDING_GUIDE.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/demo/generate_gif.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/demo/terradev-demo.gif +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/ADVANCED_FINANCIAL_INNOVATIONS.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/API_DOCUMENTATION.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/BingSiteAuth.xml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/FINOPS_ATTRIBUTION_SYSTEM.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/LORA_COMMAND_LIFECYCLE.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/USER_GUIDE.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/VLLM_AUTO_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/VLLM_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/architecture.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/overview.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/robots.txt +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/sitemap.xml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/docs/test_spot_provision.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/examples/aws_ssm_starter.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/examples/config.example.json +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/examples/demo_k8s_config.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/examples/direct_aws_starter.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/examples/ec2_user_data_starter.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/examples/example-pipeline.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/examples/kubernetes_training_deployment.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/examples/simple_ssm_starter.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/examples/ssh_server_starter.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/examples/start_aws_servers.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/guardrails/test-0/config.yml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/guardrails/test-0/rails/jailbreak.co +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/guardrails/test-0/rails/pii.co +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/guardrails/test-0/rails/topical.co +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/helm/terradev/Chart.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/helm/terradev/templates/_helpers.tpl +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/helm/terradev/templates/deployment.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/helm/terradev/values.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/infrastructure/bucket-policy.json +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/infrastructure/grafana_training_dashboard.json +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/infrastructure/kubernetes/microservices.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/infrastructure/terraform/main.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/infrastructure/terraform/parallelism.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/integrations/cli-tool.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/integrations/cloud-management-widgets.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/integrations/cloud-provider-apis.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/integrations/critical-widgets.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/integrations/devops-cicd-widgets.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/integrations/devops-essential-tools.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/integrations/docker-integration.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/integrations/kubernetes-operator.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/integrations/mlflow-integration.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/marketing/bare-metal-latitude-post.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/modules/datadog/README.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/modules/datadog/dashboard.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/modules/datadog/monitors.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/modules/datadog/outputs.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/modules/datadog/provider.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/modules/datadog/variables.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/modules/datadog/versions.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/modules/prometheus_training_config.yml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/.gitignore +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/INTEGRATION_GUIDE.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/PERFORMANCE_OPTIMIZATIONS.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/README.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-artifact-verification/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-artifact-verification/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-artifact-verification/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-artifact-verification/src/verifier.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-authentication/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-authentication/src/encoding.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-authentication/src/hmac.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-authentication/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-authentication/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-cache-eviction/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-cache-eviction/src/cache.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-cache-eviction/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-cache-eviction/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-command-executor/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-command-executor/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-config-validator/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-config-validator/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-config-validator/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-config-validator/src/validator.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-connection-pool/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-connection-pool/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-connection-pool/src/pool.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-connection-pool/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-cost-calculator/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-cost-calculator/src/calculator.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-cost-calculator/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-cost-calculator/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-cost-scaler/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-cost-scaler/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-credential-vault/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-credential-vault/pyproject.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-credential-vault/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-credential-vault/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-credential-vault/src/vault.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-dag-executor/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-dag-executor/pyproject.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-dag-executor/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-distributed-lock/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-distributed-lock/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-distributed-lock/src/lock.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-distributed-lock/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-egress-optimizer/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-egress-optimizer/src/graph.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-egress-optimizer/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-egress-optimizer/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-event-bus/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-event-bus/src/bus.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-event-bus/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-event-bus/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-governance/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-governance/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-gpu-discovery/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-gpu-discovery/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-gpu-topology/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-gpu-topology/pyproject.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-gpu-topology/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-gpu-topology/src/topology.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-gpu-topology/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-helm-generator/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-helm-generator/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-mcp-codec/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-mcp-codec/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-mcp-optimizer/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-mcp-optimizer/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-price-intelligence/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-price-intelligence/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-quota-manager/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-quota-manager/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-quota-manager/src/manager.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-quota-manager/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-resource-pool/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-resource-pool/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-resource-pool/src/pool.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-resource-pool/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-result-compressor/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-result-compressor/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-semantic-router/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-semantic-router/pyproject.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-semantic-router/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-snapshot-manager/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-snapshot-manager/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-snapshot-manager/src/snapshot.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-snapshot-manager/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-state-machine/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-state-machine/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-state-machine/src/state.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-state-machine/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-telemetry/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-telemetry/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-telemetry/src/pipeline.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-telemetry/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-tool-registry/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-tool-registry/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-vram-estimator/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-vram-estimator/src/estimator.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-vram-estimator/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-vram-estimator/src/types.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-warm-pool/Cargo.toml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/rust/terradev-warm-pool/src/lib.rs +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/scripts/action.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/scripts/build_rust.sh +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/scripts/gpu-check.sh +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/setup/Lambda Cloud API spec 1.8.3.json +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/setup/docker-compose.yml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/setup/nginx.conf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/setup/setup.sh +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/setup.cfg +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev-training/terradev-training/Chart.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev-training/terradev-training/README.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev-training/terradev-training/templates/NOTES.txt +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev-training/terradev-training/templates/_helpers.tpl +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev-training/terradev-training/templates/configmap.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev-training/terradev-training/templates/job.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev-training/terradev-training/templates/pvc.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev-training/terradev-training/templates/serviceaccount.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev-training/terradev-training/values.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/CHANGELOG.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/COMPLETE_INTEGRATION_GUIDE.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/IMPLEMENTATION_SUMMARY.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/MAKING_SPOT_WORK_FOR_STATEFUL_WORKLOADS.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/SGLANG_COMMAND_GUIDE.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/TERRADEV_STACK_CHART.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/__main__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/cli_hf_spaces.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/cli_karpenter.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/commands/_api.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/commands/compute.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/commands/inference.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/commands/infrastructure.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/commands/k8s.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/commands/ml.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/commands/mlops.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/commands/platform.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/commands/providers.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/commands/training.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/agentic_provisioner.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/agentic_topology.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/async_config.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/auth.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/auto_lineage.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/cache_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/checkpoint_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/config.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/config_validator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/cost_scaler.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/cost_tracker.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/credential_vault.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/cuda_graph_integrator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/dag_executor.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/data_governance.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/database_connection.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/dataset_stager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/deployment_router.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/distributed_lock.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/drift_detector.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/egress_cost_monitor.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/egress_optimizer.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/enterprise_auth.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/evaluation_orchestrator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/event_system.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/gateway_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/gitops_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/gpu_discovery.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/gpu_topology.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/helm_generator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/hf_cli_integration.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/hf_smart_templates.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/hf_spaces.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/inference_router.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/inference_spot_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/job_state_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/kv_cache_checkpoint_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/kv_cache_checkpoint_tests.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/kv_sharing.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/lora_consistency.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/lora_cost_attribution.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/lora_versioning.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/manifest_example.json +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/mig_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/migration_orchestrator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/mla_vram_estimator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/mla_vram_tests.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/model_orchestrator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/monitoring.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/observe.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/oidc_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/optimization_config.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/parallel_provisioner.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/pd_transport.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/pipeline_schema.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/preflight_validator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/price_discovery.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/price_intelligence.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/provision_preflight.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/public_ip_billing_tracker.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/quick_start.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/quota_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/rate_limiter.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/rust_telemetry.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/saml_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/schedule.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/semantic_router.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/semantic_signals/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/semantic_signals/base_signal.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/semantic_signals/complexity_signal.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/semantic_signals/domain_signal.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/semantic_signals/keyword_signal.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/semantic_signals/language_signal.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/semantic_signals/modality_signal.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/semantic_signals/orchestrator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/semantic_signals/routing_policy.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/semantic_signals/safety_signal.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/session_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/ssh_key_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/trace_viewer.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/training_monitor.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/training_orchestrator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/user_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/warm_pool_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/weight_streaming_benchmarks.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/core/weight_streaming_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/cost_optimizer.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/credential_prompt.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/demo.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/entry_point.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/integrations/Terradev LOGO BLACK.png +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/integrations/Terradev LOGO WHITEW.png +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/integrations/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/integrations/databricks_integration.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/integrations/datadog_integration.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/integrations/helicone_integration.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/integrations/prometheus_integration.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/integrations/wandb_integration.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/k8s/terraform_wrapper.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/kubernetes/inferx-cost-optimized.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/kubernetes/inferx-infrastructure.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/kubernetes/inferx-models.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/kubernetes/inferx-platform.yaml +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/kubernetes/inferx_setup.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/executor.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/compute.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/core.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/gitops.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/governance.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/inference.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/integrations.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/k8s.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/ml.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/monitoring.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/networking.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/orchestration.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/pricing.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/handlers/training.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/new_feature_tools.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/registry_data.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/compute.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/core.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/gitops.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/governance.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/inference.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/integrations.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/k8s.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/ml.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/monitoring.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/networking.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/orchestration.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/pricing.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/mcp/schemas/training.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/agentic_serving.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/drift_retrain_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/dvc_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/guardrails_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/huggingface_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/kserve_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/kubernetes_enhanced.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/kubernetes_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/langchain_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/langfuse_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/langgraph_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/lmcache_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/lora_registry.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/lorax_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/mlflow_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/model_router.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/ollama_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/peft_import_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/phoenix_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/qdrant_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/ray_enhanced.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/ray_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/sglang_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/vllm_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/ml_services/wandb_enhanced.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/optimization/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/optimization/auto_optimizer.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/optimization/cuco_optimizer.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/LATITUDE_PROVIDER.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/alibaba_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/aws_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/azure_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/base_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/baseten_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/coreweave_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/crusoe_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/demo_mode.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/digitalocean_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/e2e_networks_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/fluidstack_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/gcp_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/gpu_catalog.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/hetzner_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/huggingface_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/hyperstack_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/inferx_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/lambda_labs_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/latitude_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/oracle_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/ovhcloud_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/provider_factory.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/provider_profiles.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/real_pricing.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/registry.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/runpod_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/siliconflow_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/tensordock_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/types.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/vastai_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/providers/yottalabs_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/requirements.txt +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/requirements_minimal.txt +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/main.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-aws/bootstrap.sh +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-aws/main.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-aws/outputs.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-aws/variables.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-aws/versions.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/bootstrap.sh +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/main.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/outputs.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/variables.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/versions.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-lambda/bootstrap.sh +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-lambda/main.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-lambda/outputs.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-lambda/variables.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-lambda/versions.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-vastai/bootstrap.sh +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-vastai/main.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-vastai/outputs.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-vastai/variables.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/gpu-node-vastai/versions.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/k8s-control-plane/join-script.tpl +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/k8s-control-plane/kubeconfig.tpl +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/k8s-control-plane/main.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/k8s-control-plane/outputs.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/k8s-control-plane/variables.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/k8s-control-plane/versions.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/networking/main.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/networking/outputs.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/networking/variables.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/modules/networking/versions.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/outputs.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/price-optimizer/optimal-allocation.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/providers.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/terraform/variables.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/test_summary.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/utils/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli/utils/formatters.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli.egg-info/dependency_links.txt +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli.egg-info/entry_points.txt +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terradev_cli.egg-info/top_level.txt +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform.tfvars.example +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_optimization/backend.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_optimization/error_handling.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_optimization/parallel_provisioning.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_optimization/storage_choice_matrix.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_optimization/test_error_handler.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_optimization/versions.tf +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_transparency/audit_demo/trail_3caed73ad5bf.json +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_transparency/audit_trail.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_transparency/audit_trails.json +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_transparency/decision_engine.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_transparency/decision_logs.json +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_transparency/operations.json +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_transparency/terraform_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_transparency/terraform_plans.json +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_transparency/transparency_demo.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/terraform_transparency/transparency_report.json +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/test +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/test_database_connection.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/CREDENTIAL_STRATEGY.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/INTEGRATION_STRATEGY.md +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/Makefile +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/_mcp_stub/mcp/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/_mcp_stub/mcp/client/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/_mcp_stub/mcp/client/session.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/_mcp_stub/mcp/client/stdio.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/_mcp_stub/mcp/server/__init__.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/_mcp_stub/mcp/server/models.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/_mcp_stub/mcp/server/sse.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/_mcp_stub/mcp/server/stdio.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/_mcp_stub/mcp/types.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/ci_pipeline.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/conftest.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_api.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_canary.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_commands_compute.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_commands_inference.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_commands_infrastructure.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_commands_k8s.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_commands_mcp.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_commands_ml.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_commands_ml_smoke.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_commands_mlops.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_commands_platform.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_commands_providers.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_commands_training.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_mlops.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_mlops_functional.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_platform.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/commands/test_platform_functional.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_async_config.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_auth.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_auto_lineage.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_cache_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_command_executor.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_config.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_config_validator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_core_imports.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_cost_scaler.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_cost_tracker.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_credential_vault.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_cuda_graph_integrator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_dag_executor.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_data_governance.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_database_connection.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_dataset_stager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_deployment_router.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_distributed_lock.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_drift_detector.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_egress_cost_monitor.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_egress_optimizer.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_enterprise_auth.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_evaluation_orchestrator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_event_system.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_gateway_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_gitops_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_gpu_discovery.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_hf_spaces.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_inference_router.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_inference_spot_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_job_state_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_kv_cache_checkpoint_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_kv_sharing.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_lora_consistency.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_lora_cost_attribution.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_lora_versioning.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_manifest_cache.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_mig_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_migration_orchestrator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_mla_vram_estimator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_monitoring.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_observe.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_oidc_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_optimization_config.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_parallel_provisioner.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_price_discovery.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_price_intelligence.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_provider_factory.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_public_ip_billing_tracker.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_quick_start.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_quota_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_rate_limiter.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_rust_telemetry.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_schedule.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_semantic_router.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_session_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_ssh_key_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_telemetry.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_trace_viewer.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_user_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_warm_pool_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/core/test_weight_streaming_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/ml_services/conftest.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/ml_services/test_ml_services_smoke.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/ml_services/test_mlflow_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/ml_services/test_phoenix_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/ml_services/test_qdrant_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/ml_services/test_sglang_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/ml_services/test_vllm_service.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/root_tests/test_cli_ux_battle.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/root_tests/test_cli_ux_battle_fixed.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/root_tests/test_cli_ux_final.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/root_tests/test_final_integration.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/root_tests/test_integrated_optimization.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/root_tests/test_p10_production_failover.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/root_tests/test_sso_phase1.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/root_tests/test_vllm_optimization.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/simple_test.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/snapshots/mcp_tools.json +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/snapshots/provider_contracts/runpod_provision_payload.json +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_ai_integrations.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_aiohttp_chaos.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_base_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_canary_provisioning.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_checkpoint_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_cli_commands.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_cli_smoke.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_cli_utils.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_commands_functional_missing.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_commands_help.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_commands_help_full.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_core_components.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_core_smoke.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_cost_optimizer.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_cuco_optimizer.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_datadog_integration.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_deep_quote_fault_injection.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_deep_state_invariants.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_demo_mode.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_flashoptim.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_formatters.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_generated_artifacts.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_gpu_catalog.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_helicone_integration.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_hf_smart_templates.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_integration.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_k8s_regression.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_latitude_provider.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_low_coverage_canary.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_low_coverage_hypothesis.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_major_providers.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_mcp_all_tools.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_mcp_call_tool_compat.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_mcp_chaos.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_mcp_contract.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_mcp_handlers.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_mcp_server.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_mcp_snapshots.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_ml_integrations.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_module_imports.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_new_providers.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_preflight_dataclasses.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_prometheus_integration.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_provider_api_contracts.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_provider_concurrency.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_provider_conformance.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_provider_profiles.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_provider_smoke.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_providers.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_quote_properties.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_real_pricing.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_root_dag_executor.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_root_job_state_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_root_provider_factory.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_root_semantic_router.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_root_session_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_root_ssh_key_manager.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_root_trace_viewer.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_sglang_optimization.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_terradev_engine.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_training_monitor.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_training_orchestrator.py +0 -0
- {terradev_cli-5.7.4 → terradev_cli-5.7.6}/tests/test_vllm_features.py +0 -0
|
@@ -16,6 +16,11 @@ jobs:
|
|
|
16
16
|
steps:
|
|
17
17
|
- name: Checkout code
|
|
18
18
|
uses: actions/checkout@v4
|
|
19
|
+
with:
|
|
20
|
+
fetch-depth: 0
|
|
21
|
+
|
|
22
|
+
- name: Clean dist and build directories
|
|
23
|
+
run: rm -rf dist build
|
|
19
24
|
|
|
20
25
|
- name: Set up Python
|
|
21
26
|
uses: actions/setup-python@v5
|
|
@@ -30,6 +35,30 @@ jobs:
|
|
|
30
35
|
- name: Build package
|
|
31
36
|
run: python -m build
|
|
32
37
|
|
|
38
|
+
- name: Check distribution metadata
|
|
39
|
+
run: twine check dist/*
|
|
40
|
+
|
|
41
|
+
- name: Inspect wheel contents
|
|
42
|
+
run: |
|
|
43
|
+
python - <<'PY'
|
|
44
|
+
import zipfile, glob
|
|
45
|
+
whl = glob.glob('dist/*.whl')[0]
|
|
46
|
+
with zipfile.ZipFile(whl) as z:
|
|
47
|
+
print(f"Wheel: {whl}")
|
|
48
|
+
print(f"Total files: {len(z.namelist())}")
|
|
49
|
+
for name in z.namelist()[:30]:
|
|
50
|
+
print(name)
|
|
51
|
+
PY
|
|
52
|
+
|
|
53
|
+
- name: Local smoke test wheel before upload
|
|
54
|
+
run: |
|
|
55
|
+
python -m venv smoke_env
|
|
56
|
+
source smoke_env/bin/activate
|
|
57
|
+
pip install dist/*.whl
|
|
58
|
+
TERRADEV_SKIP_ONBOARDING=1 terradev mcp list-tools >/dev/null
|
|
59
|
+
deactivate
|
|
60
|
+
rm -rf smoke_env
|
|
61
|
+
|
|
33
62
|
- name: Publish to PyPI
|
|
34
63
|
env:
|
|
35
64
|
TWINE_USERNAME: __token__
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: terradev-cli
|
|
3
|
-
Version: 5.7.
|
|
3
|
+
Version: 5.7.6
|
|
4
4
|
Summary: Cross-cloud GPU infrastructure CLI for training, inference, and AI workload orchestration.
|
|
5
5
|
Author-email: Terradev Team <team@terradev.com>
|
|
6
6
|
Maintainer-email: Terradev Team <team@terradev.com>
|
|
@@ -54,6 +54,8 @@ Requires-Dist: azure-identity>=1.12.0; extra == "azure"
|
|
|
54
54
|
Provides-Extra: lmcache
|
|
55
55
|
Requires-Dist: lmcache>=0.1; extra == "lmcache"
|
|
56
56
|
Requires-Dist: redis>=5.0.0; extra == "lmcache"
|
|
57
|
+
Provides-Extra: redis
|
|
58
|
+
Requires-Dist: redis>=5.0.0; extra == "redis"
|
|
57
59
|
Provides-Extra: mcp
|
|
58
60
|
Requires-Dist: mcp[cli]<2.0.0,>=1.0.0; python_version >= "3.10" and extra == "mcp"
|
|
59
61
|
Provides-Extra: ml
|
|
@@ -107,7 +109,7 @@ Requires-Dist: redis>=5.0.0; extra == "enterprise"
|
|
|
107
109
|
Requires-Dist: PyJWT>=2.8.0; extra == "enterprise"
|
|
108
110
|
Dynamic: license-file
|
|
109
111
|
|
|
110
|
-
# Terradev CLI v5.7.
|
|
112
|
+
# Terradev CLI v5.7.6
|
|
111
113
|
|
|
112
114
|
**Cross-cloud GPU infrastructure CLI for training, inference, and AI workload orchestration.**
|
|
113
115
|
|
|
@@ -126,7 +128,7 @@ Continued focus on lower cost, faster provisioning, and topology-aware execution
|
|
|
126
128
|
|
|
127
129
|
Model agnostic. Dataset agnostic. GPU agnostic. Provider agnostic. The only thing Terradev is not agnostic about is correctness: it enforces topology, idempotency, and sequencing.
|
|
128
130
|
|
|
129
|
-
**NOTES ON 5.7.
|
|
131
|
+
**NOTES ON 5.7.5**
|
|
130
132
|
|
|
131
133
|
- Expanded Python 3.9 support with a compatibility shim for the MCP SDK, plus bundled `EnterpriseAuthManager` and `SAMLProvider` scaffolding for enterprise SSO.
|
|
132
134
|
- Hardened the test suite: provider conformance, Kubernetes CPU parsing, and major-provider error paths are now fully exercised.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Terradev CLI v5.7.
|
|
1
|
+
# Terradev CLI v5.7.6
|
|
2
2
|
|
|
3
3
|
**Cross-cloud GPU infrastructure CLI for training, inference, and AI workload orchestration.**
|
|
4
4
|
|
|
@@ -17,7 +17,7 @@ Continued focus on lower cost, faster provisioning, and topology-aware execution
|
|
|
17
17
|
|
|
18
18
|
Model agnostic. Dataset agnostic. GPU agnostic. Provider agnostic. The only thing Terradev is not agnostic about is correctness: it enforces topology, idempotency, and sequencing.
|
|
19
19
|
|
|
20
|
-
**NOTES ON 5.7.
|
|
20
|
+
**NOTES ON 5.7.5**
|
|
21
21
|
|
|
22
22
|
- Expanded Python 3.9 support with a compatibility shim for the MCP SDK, plus bundled `EnterpriseAuthManager` and `SAMLProvider` scaffolding for enterprise SSO.
|
|
23
23
|
- Hardened the test suite: provider conformance, Kubernetes CPU parsing, and major-provider error paths are now fully exercised.
|
|
@@ -293,7 +293,7 @@
|
|
|
293
293
|
<div class="container">
|
|
294
294
|
<div class="logo">⚡</div>
|
|
295
295
|
<h1>Terradev CLI</h1>
|
|
296
|
-
<div class="version-badge">v5.7.
|
|
296
|
+
<div class="version-badge">v5.7.5</div>
|
|
297
297
|
<div class="subtitle">Cross-Cloud GPU Provisioning · Training · Inference Orchestration</div>
|
|
298
298
|
|
|
299
299
|
<div class="stat-row">
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "terradev-cli"
|
|
7
|
-
version = "5.7.
|
|
7
|
+
version = "5.7.6"
|
|
8
8
|
description = "Cross-cloud GPU infrastructure CLI for training, inference, and AI workload orchestration."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "Apache-2.0"}
|
|
@@ -130,6 +130,7 @@ aws = ["boto3>=1.34.0"]
|
|
|
130
130
|
gcp = ["google-cloud-compute>=1.8.0"]
|
|
131
131
|
azure = ["azure-mgmt-compute>=29.0.0", "azure-identity>=1.12.0"]
|
|
132
132
|
lmcache = ["lmcache>=0.1", "redis>=5.0.0"]
|
|
133
|
+
redis = ["redis>=5.0.0"]
|
|
133
134
|
mcp = ["mcp[cli]>=1.0.0,<2.0.0; python_version >= '3.10'"]
|
|
134
135
|
ml = [
|
|
135
136
|
"torch>=2.0.0",
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
"url": "https://github.com/theoddden/Terradev",
|
|
8
8
|
"source": "github"
|
|
9
9
|
},
|
|
10
|
-
"version": "5.7.
|
|
10
|
+
"version": "5.7.6",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "pypi",
|
|
14
14
|
"registryBaseUrl": "https://pypi.org",
|
|
15
15
|
"identifier": "terradev-cli",
|
|
16
|
-
"version": "5.7.
|
|
16
|
+
"version": "5.7.6",
|
|
17
17
|
"runtimeHint": "uvx",
|
|
18
18
|
"transport": {
|
|
19
19
|
"type": "stdio"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Terradev CLI v5.7.
|
|
1
|
+
# Terradev CLI v5.7.6
|
|
2
2
|
|
|
3
3
|
**Cross-cloud GPU infrastructure CLI for training, inference, and AI workload orchestration.**
|
|
4
4
|
|
|
@@ -16,7 +16,7 @@ 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.7.
|
|
19
|
+
**NOTES ON 5.7.5**
|
|
20
20
|
|
|
21
21
|
- Expanded Python 3.9 support with a compatibility shim for the MCP SDK, plus bundled `EnterpriseAuthManager` and `SAMLProvider` scaffolding for enterprise SSO.
|
|
22
22
|
- Hardened the test suite: provider conformance, Kubernetes CPU parsing, and major-provider error paths are now fully exercised.
|
|
@@ -8,7 +8,7 @@ try:
|
|
|
8
8
|
|
|
9
9
|
__version__ = version("terradev-cli")
|
|
10
10
|
except PackageNotFoundError:
|
|
11
|
-
__version__ = "5.7.
|
|
11
|
+
__version__ = "5.7.6"
|
|
12
12
|
|
|
13
13
|
__author__ = "Terradev Team"
|
|
14
14
|
__description__ = "Cross-cloud GPU infrastructure CLI for training, inference, and AI workload orchestration."
|
|
@@ -26,6 +26,8 @@ logger = logging.getLogger(__name__)
|
|
|
26
26
|
# Import the root group and shared API helpers from the modular commands package.
|
|
27
27
|
# Commands extracted to terradev_cli.commands register themselves on `cli`.
|
|
28
28
|
from terradev_cli.commands import cli
|
|
29
|
+
from terradev_cli.core.node_span_stream import NodeSpanStream
|
|
30
|
+
from terradev_cli.core.telemetry import get_telemetry
|
|
29
31
|
from terradev_cli.commands._api import (
|
|
30
32
|
TerradevAPI,
|
|
31
33
|
validate_credentials,
|
|
@@ -121,24 +123,51 @@ def up(
|
|
|
121
123
|
best_option, router.requirements_analyzer.analyze(user_request)
|
|
122
124
|
)
|
|
123
125
|
|
|
124
|
-
# Create manifest nodes
|
|
126
|
+
# Create manifest nodes and start a span stream sidecar for each one.
|
|
125
127
|
nodes = []
|
|
128
|
+
active_streams = []
|
|
129
|
+
version = f"v{len(cache.list_versions(job)) + 1}"
|
|
126
130
|
for i in range(gpu_count):
|
|
131
|
+
instance_id = deployment_result.get("instance_id", f"instance-{i+1}")
|
|
132
|
+
stream = NodeSpanStream(
|
|
133
|
+
job=job,
|
|
134
|
+
version=version,
|
|
135
|
+
instance_id=instance_id,
|
|
136
|
+
provider=best_option.provider,
|
|
137
|
+
region=region or "us-east-1",
|
|
138
|
+
gpu_type=gpu_type,
|
|
139
|
+
gpu_count=1,
|
|
140
|
+
ttl=ttl,
|
|
141
|
+
)
|
|
142
|
+
stream.start({
|
|
143
|
+
"instance_type": best_option.instance_type,
|
|
144
|
+
"price_per_hour": best_option.price_per_hour,
|
|
145
|
+
"confidence": best_option.confidence,
|
|
146
|
+
})
|
|
147
|
+
# Start a background heartbeat so the stream TTL stays fresh
|
|
148
|
+
# while the node is running (off by default; controlled by env).
|
|
149
|
+
if os.environ.get("TERRADEV_NODE_HEARTBEAT"):
|
|
150
|
+
stream.start_heartbeat(
|
|
151
|
+
int(os.environ.get("TERRADEV_NODE_HEARTBEAT_INTERVAL", "30"))
|
|
152
|
+
)
|
|
153
|
+
active_streams.append(stream)
|
|
154
|
+
|
|
127
155
|
node = ManifestNode(
|
|
128
156
|
provider=best_option.provider,
|
|
129
157
|
pod_id=f"{job}-node-{i+1}",
|
|
130
|
-
instance_id=
|
|
158
|
+
instance_id=instance_id,
|
|
131
159
|
gpus=1,
|
|
132
160
|
gpu_type=gpu_type,
|
|
133
161
|
region=region or "us-east-1",
|
|
134
162
|
status="running",
|
|
135
163
|
created_at=datetime.now(timezone.utc).replace(tzinfo=None).isoformat(),
|
|
136
164
|
ttl=ttl,
|
|
165
|
+
stream_key=stream.stream_key,
|
|
166
|
+
trace_id=stream.trace_id,
|
|
137
167
|
)
|
|
138
168
|
nodes.append(node)
|
|
139
169
|
|
|
140
170
|
# Create manifest
|
|
141
|
-
version = f"v{len(cache.list_versions(job)) + 1}"
|
|
142
171
|
dataset_hash = (
|
|
143
172
|
cache.compute_dataset_hash(dataset) if dataset else "sha256:none"
|
|
144
173
|
)
|
|
@@ -12,15 +12,19 @@ import sys
|
|
|
12
12
|
|
|
13
13
|
from terradev_cli import __version__
|
|
14
14
|
from terradev_cli.commands._api import TerradevAPI, run_interactive_onboarding
|
|
15
|
+
from terradev_cli.core.output import TerradevOutput
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
@click.group()
|
|
18
19
|
@click.version_option(version=__version__, prog_name="Terradev CLI")
|
|
19
20
|
@click.option("--config", "-c", help="Configuration file path")
|
|
20
21
|
@click.option("--verbose", "-v", is_flag=True, help="Verbose output")
|
|
22
|
+
@click.option("--format", "output_format", default=None,
|
|
23
|
+
type=click.Choice(["human", "json", "jsonl"]),
|
|
24
|
+
help="Output format. Defaults to TERRADEV_OUTPUT or JSON in non-TTY/CI.")
|
|
21
25
|
@click.option("--skip-onboarding", is_flag=True, help="Skip first-time setup")
|
|
22
26
|
@click.pass_context
|
|
23
|
-
def cli(ctx, config=None, verbose=False, skip_onboarding=False):
|
|
27
|
+
def cli(ctx, config=None, verbose=False, output_format=None, skip_onboarding=False):
|
|
24
28
|
"""
|
|
25
29
|
Terradev CLI - Cross-Cloud Compute Optimization Platform
|
|
26
30
|
|
|
@@ -33,6 +37,24 @@ def cli(ctx, config=None, verbose=False, skip_onboarding=False):
|
|
|
33
37
|
ctx.obj["api"] = TerradevAPI()
|
|
34
38
|
api = ctx.obj["api"]
|
|
35
39
|
|
|
40
|
+
# Set up the composable output collector. This is the key to Pillar IV:
|
|
41
|
+
# existing commands can be piped in Docker/CI without adding new commands.
|
|
42
|
+
output = TerradevOutput(format=output_format, command=ctx.invoked_subcommand)
|
|
43
|
+
ctx.obj["terradev_output"] = output
|
|
44
|
+
|
|
45
|
+
# Redirect plain ``print`` calls through the output collector while a command runs.
|
|
46
|
+
capture = output.capture_print()
|
|
47
|
+
capture.__enter__()
|
|
48
|
+
ctx.obj["_terradev_capture_exit"] = capture.__exit__
|
|
49
|
+
|
|
50
|
+
def _close_output():
|
|
51
|
+
capture_exit = ctx.obj.get("_terradev_capture_exit")
|
|
52
|
+
if capture_exit:
|
|
53
|
+
capture_exit(None, None, None)
|
|
54
|
+
output.close()
|
|
55
|
+
|
|
56
|
+
ctx.call_on_close(_close_output)
|
|
57
|
+
|
|
36
58
|
# Check for first-time user and trigger onboarding (skip if --help is present,
|
|
37
59
|
# or if the MCP server is being run non-interactively by an agent client)
|
|
38
60
|
if not skip_onboarding and not os.environ.get("TERRADEV_SKIP_ONBOARDING"):
|
|
@@ -7,6 +7,7 @@ and produces a human-readable or JSON summary.
|
|
|
7
7
|
|
|
8
8
|
import json
|
|
9
9
|
import os
|
|
10
|
+
import sys
|
|
10
11
|
from datetime import datetime, timezone
|
|
11
12
|
from pathlib import Path
|
|
12
13
|
from typing import Any, Dict, List
|
|
@@ -14,6 +15,7 @@ from typing import Any, Dict, List
|
|
|
14
15
|
import click
|
|
15
16
|
|
|
16
17
|
from . import cli
|
|
18
|
+
from terradev_cli.core.output import get_output
|
|
17
19
|
|
|
18
20
|
|
|
19
21
|
def _default_canary_output() -> Path:
|
|
@@ -151,7 +153,12 @@ def canary_report(output, file, provider, gpu):
|
|
|
151
153
|
summary = _summarize_records(records)
|
|
152
154
|
|
|
153
155
|
if output == "json":
|
|
154
|
-
|
|
156
|
+
# Canary already produces stable JSON; suppress the global wrapper and
|
|
157
|
+
# emit the raw canary report so existing scripts/pipes keep working.
|
|
158
|
+
out = get_output()
|
|
159
|
+
if out is not None:
|
|
160
|
+
out._closed = True
|
|
161
|
+
sys.stdout.write(json.dumps(summary, indent=2, default=str) + "\n")
|
|
155
162
|
return
|
|
156
163
|
|
|
157
164
|
print("=" * 60)
|
|
@@ -11,8 +11,11 @@ Rust implementation provides:
|
|
|
11
11
|
|
|
12
12
|
import asyncio
|
|
13
13
|
import logging
|
|
14
|
+
import time
|
|
14
15
|
from typing import Dict, List, Optional, Tuple
|
|
15
16
|
|
|
17
|
+
from .telemetry import get_telemetry
|
|
18
|
+
|
|
16
19
|
logger = logging.getLogger(__name__)
|
|
17
20
|
|
|
18
21
|
# Rust command executor integration
|
|
@@ -32,16 +35,12 @@ async def execute_command(
|
|
|
32
35
|
cwd: Optional[str] = None,
|
|
33
36
|
env: Optional[Dict[str, str]] = None,
|
|
34
37
|
) -> Dict:
|
|
35
|
-
"""Execute a single command"""
|
|
38
|
+
"""Execute a single command and mirror to active Redis span streams."""
|
|
39
|
+
start = time.time()
|
|
36
40
|
if USE_RUST_EXECUTOR:
|
|
37
41
|
executor = CommandExecutor(max_concurrent=1000)
|
|
38
42
|
result = await executor.execute_command(command, args, cwd)
|
|
39
|
-
|
|
40
|
-
"stdout": result.stdout,
|
|
41
|
-
"stderr": result.stderr,
|
|
42
|
-
"returncode": result.returncode,
|
|
43
|
-
"success": result.returncode == 0,
|
|
44
|
-
}
|
|
43
|
+
returncode = result.returncode
|
|
45
44
|
else:
|
|
46
45
|
# Python fallback with asyncio
|
|
47
46
|
proc = await asyncio.create_subprocess_exec(
|
|
@@ -53,12 +52,25 @@ async def execute_command(
|
|
|
53
52
|
env=env,
|
|
54
53
|
)
|
|
55
54
|
stdout, stderr = await proc.communicate()
|
|
55
|
+
returncode = proc.returncode
|
|
56
|
+
|
|
57
|
+
duration_ms = (time.time() - start) * 1000
|
|
58
|
+
success = returncode == 0
|
|
59
|
+
_record_command(command, args, success, returncode, duration_ms)
|
|
60
|
+
|
|
61
|
+
if USE_RUST_EXECUTOR:
|
|
56
62
|
return {
|
|
57
|
-
"stdout": stdout
|
|
58
|
-
"stderr": stderr
|
|
59
|
-
"returncode":
|
|
60
|
-
"success":
|
|
63
|
+
"stdout": result.stdout,
|
|
64
|
+
"stderr": result.stderr,
|
|
65
|
+
"returncode": returncode,
|
|
66
|
+
"success": success,
|
|
61
67
|
}
|
|
68
|
+
return {
|
|
69
|
+
"stdout": stdout.decode(),
|
|
70
|
+
"stderr": stderr.decode(),
|
|
71
|
+
"returncode": returncode,
|
|
72
|
+
"success": success,
|
|
73
|
+
}
|
|
62
74
|
|
|
63
75
|
|
|
64
76
|
async def execute_parallel(
|
|
@@ -69,6 +81,8 @@ async def execute_parallel(
|
|
|
69
81
|
executor = CommandExecutor(max_concurrent=1000)
|
|
70
82
|
rust_commands = [(cmd, args, cwd) for cmd, args, cwd in commands]
|
|
71
83
|
results = await executor.execute_parallel(rust_commands)
|
|
84
|
+
for (cmd, args, cwd), r in zip(commands, results):
|
|
85
|
+
_record_command(cmd, args, r.returncode == 0, r.returncode, 0)
|
|
72
86
|
return [
|
|
73
87
|
{
|
|
74
88
|
"stdout": r.stdout,
|
|
@@ -82,3 +96,24 @@ async def execute_parallel(
|
|
|
82
96
|
# Python fallback
|
|
83
97
|
tasks = [execute_command(cmd, args, cwd) for cmd, args, cwd in commands]
|
|
84
98
|
return await asyncio.gather(*tasks)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def _record_command(
|
|
102
|
+
command: str,
|
|
103
|
+
args: List[str],
|
|
104
|
+
success: bool,
|
|
105
|
+
returncode: int,
|
|
106
|
+
duration_ms: float,
|
|
107
|
+
) -> None:
|
|
108
|
+
"""Record a command in all active node span streams."""
|
|
109
|
+
try:
|
|
110
|
+
get_telemetry().record_command_to_active_streams(
|
|
111
|
+
command=command,
|
|
112
|
+
args=args,
|
|
113
|
+
success=success,
|
|
114
|
+
returncode=returncode,
|
|
115
|
+
duration_ms=duration_ms,
|
|
116
|
+
attributes={"cwd": "", "source": "command_executor"},
|
|
117
|
+
)
|
|
118
|
+
except Exception:
|
|
119
|
+
pass
|