terradev-cli 5.7.3__tar.gz → 5.7.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- terradev_cli-5.7.4/.github/workflows/tests.yml +85 -0
- terradev_cli-5.7.4/.gitignore +151 -0
- terradev_cli-5.7.4/.gitlab-ci.yml +283 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/PKG-INFO +2 -1
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/pyproject.toml +5 -1
- terradev_cli-5.7.4/rust/.gitignore +29 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/__init__.py +1 -1
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/commands/__init__.py +1 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/commands/_api.py +9 -0
- terradev_cli-5.7.4/terradev_cli/commands/canary.py +223 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/commands/infrastructure.py +1 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/gateway_service.py +18 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/demo.py +1 -1
- terradev_cli-5.7.4/terradev_cli/mcp/executor.py +890 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/__init__.py +30 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/compute.py +432 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/core.py +794 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/gitops.py +136 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/governance.py +230 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/inference.py +1841 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/integrations.py +243 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/k8s.py +495 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/ml.py +2192 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/monitoring.py +283 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/networking.py +93 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/orchestration.py +262 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/pricing.py +311 -0
- terradev_cli-5.7.4/terradev_cli/mcp/handlers/training.py +552 -0
- terradev_cli-5.7.4/terradev_cli/mcp/registry_data.py +273 -0
- terradev_cli-5.7.4/terradev_cli/mcp/router.py +81 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/__init__.py +30 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/compute.py +27 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/core.py +33 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/gitops.py +21 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/governance.py +23 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/inference.py +50 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/integrations.py +39 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/k8s.py +30 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/ml.py +84 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/monitoring.py +27 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/networking.py +19 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/orchestration.py +27 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/pricing.py +26 -0
- terradev_cli-5.7.4/terradev_cli/mcp/schemas/training.py +34 -0
- terradev_cli-5.7.4/terradev_cli/mcp/server.py +1077 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/sglang_service.py +18 -7
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli.egg-info/PKG-INFO +2 -1
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli.egg-info/SOURCES.txt +56 -3
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli.egg-info/requires.txt +1 -0
- terradev_cli-5.7.4/tests/commands/test_api.py +182 -0
- terradev_cli-5.7.4/tests/commands/test_canary.py +110 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/commands/test_commands_infrastructure.py +9 -0
- terradev_cli-5.7.4/tests/commands/test_mlops.py +215 -0
- terradev_cli-5.7.4/tests/commands/test_mlops_functional.py +215 -0
- terradev_cli-5.7.4/tests/commands/test_platform.py +116 -0
- terradev_cli-5.7.4/tests/commands/test_platform_functional.py +351 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/conftest.py +2 -2
- terradev_cli-5.7.4/tests/core/test_manifest_cache.py +258 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/ml_services/conftest.py +18 -5
- terradev_cli-5.7.4/tests/ml_services/test_mlflow_service.py +269 -0
- terradev_cli-5.7.4/tests/ml_services/test_sglang_service.py +244 -0
- terradev_cli-5.7.4/tests/ml_services/test_vllm_service.py +251 -0
- terradev_cli-5.7.4/tests/test_aiohttp_chaos.py +95 -0
- terradev_cli-5.7.4/tests/test_canary_provisioning.py +725 -0
- terradev_cli-5.7.4/tests/test_commands_functional_missing.py +183 -0
- terradev_cli-5.7.4/tests/test_commands_help_full.py +53 -0
- terradev_cli-5.7.4/tests/test_deep_property_based.py +135 -0
- terradev_cli-5.7.4/tests/test_deep_quote_fault_injection.py +138 -0
- terradev_cli-5.7.4/tests/test_deep_state_invariants.py +158 -0
- terradev_cli-5.7.4/tests/test_generated_artifacts.py +91 -0
- terradev_cli-5.7.4/tests/test_low_coverage_canary.py +721 -0
- terradev_cli-5.7.4/tests/test_low_coverage_hypothesis.py +443 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_ml_integrations.py +154 -0
- terradev_cli-5.7.4/tests/test_provider_concurrency.py +118 -0
- terradev_cli-5.7.4/tests/test_quote_properties.py +126 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_training_orchestrator.py +24 -0
- terradev_cli-5.7.3/CLI_SPLIT_WORKPLAN.md +0 -535
- terradev_cli-5.7.3/Dockerfile.test +0 -45
- terradev_cli-5.7.3/MANIFEST.in +0 -33
- terradev_cli-5.7.3/terradev_cli/mcp/server.py +0 -13228
- terradev_cli-5.7.3/tests/core/test_manifest_cache.py +0 -132
- terradev_cli-5.7.3/tests/test_canary_provisioning.py +0 -244
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/.env.example +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/.github/workflows/action.yml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/.github/workflows/canary-provisioning.yml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/.github/workflows/ci-improved.yml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/.github/workflows/ci.yml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/.github/workflows/publish-mcp.yml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/.github/workflows/release.yml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/.github/workflows/static.yml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/.terradev/custom_providers.example.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/Deployment Package/BNF_GRAMMAR.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/Deployment Package/LIFECYCLES.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/Deployment Package/architecture.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/Deployment Package/overview.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/Deployment Package/security.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/Deployment Package/troubleshooting.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/Dockerfile +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/LICENSE +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/README.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/RELEASE_CHECKLIST.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/agentic-template/helm/values-agentic.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/agentic-template/k8s/fleet-manifests.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/glm-5/README.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/glm-5/helm/values-glm5.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/glm-5/k8s/hpa.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/glm-5/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/glm-5/k8s/namespace.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/glm-5/k8s/pdb.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/glm-5/k8s/service.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/glm-5/k8s/sglang-deployment.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/glm-5/k8s/vllm-deployment.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/glm-5/task.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/glm-5/terraform/main.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/glm-5/terraform/outputs.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/glm-5/terraform/variables.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/llmd-template/README.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/llmd-template/helm/values-llmd.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/llmd-template/k8s/gateway.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/llmd-template/k8s/leaderworkerset.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/llmd-template/k8s/llminferenceservice.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/llmd-template/task.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/helm/Chart.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/helm/templates/_helpers.tpl +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/helm/templates/deployment.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/helm/templates/pvc-adapter.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/helm/templates/pvc-registry.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/helm/templates/service.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/helm/templates/serviceaccount.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/helm/values-lora.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/k8s/adapter-pvc.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/k8s/namespace.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/k8s/registry-pvc.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/k8s/service.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lora-template/k8s/serviceaccount.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lorax-template/helm/Chart.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lorax-template/helm/templates/_helpers.tpl +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lorax-template/helm/templates/deployment.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lorax-template/helm/templates/pvc.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lorax-template/helm/templates/service.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lorax-template/helm/templates/serviceaccount.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/lorax-template/helm/values-lorax.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/moe-template/README.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/moe-template/helm/values-moe.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/moe-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/moe-template/k8s/hpa.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/moe-template/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/moe-template/k8s/namespace.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/moe-template/k8s/pdb.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/moe-template/k8s/service.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/moe-template/task.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/moe-template/terraform/main.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/moe-template/terraform/outputs.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/moe-template/terraform/variables.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/rag-template/README.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/rag-template/helm/values-rag.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/rag-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/clusters/rag-template/terraform/main.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/datadog-terraform/dashboard.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/datadog-terraform/monitors.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/datadog-terraform/provider.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/datadog-terraform/versions.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/demo/RECORDING_GUIDE.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/demo/generate_gif.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/demo/terradev-demo.gif +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/ADVANCED_FINANCIAL_INNOVATIONS.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/API_DOCUMENTATION.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/BingSiteAuth.xml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/FINOPS_ATTRIBUTION_SYSTEM.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/LORA_COMMAND_LIFECYCLE.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/USER_GUIDE.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/VLLM_AUTO_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/VLLM_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/architecture.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/index.html +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/overview.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/robots.txt +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/sitemap.xml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/docs/test_spot_provision.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/examples/aws_ssm_starter.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/examples/config.example.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/examples/demo_k8s_config.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/examples/direct_aws_starter.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/examples/ec2_user_data_starter.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/examples/example-pipeline.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/examples/kubernetes_training_deployment.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/examples/simple_ssm_starter.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/examples/ssh_server_starter.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/examples/start_aws_servers.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/guardrails/test-0/config.yml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/guardrails/test-0/rails/jailbreak.co +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/guardrails/test-0/rails/pii.co +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/guardrails/test-0/rails/topical.co +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/helm/terradev/Chart.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/helm/terradev/templates/_helpers.tpl +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/helm/terradev/templates/deployment.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/helm/terradev/values.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/infrastructure/bucket-policy.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/infrastructure/grafana_training_dashboard.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/infrastructure/kubernetes/microservices.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/infrastructure/terraform/main.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/infrastructure/terraform/parallelism.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/integrations/cli-tool.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/integrations/cloud-management-widgets.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/integrations/cloud-provider-apis.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/integrations/critical-widgets.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/integrations/devops-cicd-widgets.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/integrations/devops-essential-tools.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/integrations/docker-integration.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/integrations/kubernetes-operator.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/integrations/mlflow-integration.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/marketing/bare-metal-latitude-post.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/modules/datadog/README.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/modules/datadog/dashboard.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/modules/datadog/monitors.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/modules/datadog/outputs.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/modules/datadog/provider.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/modules/datadog/variables.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/modules/datadog/versions.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/modules/prometheus_training_config.yml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/INTEGRATION_GUIDE.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/PERFORMANCE_OPTIMIZATIONS.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/README.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-artifact-verification/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-artifact-verification/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-artifact-verification/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-artifact-verification/src/verifier.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-authentication/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-authentication/src/encoding.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-authentication/src/hmac.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-authentication/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-authentication/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-cache-eviction/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-cache-eviction/src/cache.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-cache-eviction/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-cache-eviction/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-command-executor/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-command-executor/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-config-validator/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-config-validator/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-config-validator/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-config-validator/src/validator.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-connection-pool/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-connection-pool/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-connection-pool/src/pool.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-connection-pool/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-cost-calculator/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-cost-calculator/src/calculator.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-cost-calculator/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-cost-calculator/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-cost-scaler/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-cost-scaler/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-credential-vault/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-credential-vault/pyproject.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-credential-vault/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-credential-vault/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-credential-vault/src/vault.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-dag-executor/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-dag-executor/pyproject.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-dag-executor/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-distributed-lock/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-distributed-lock/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-distributed-lock/src/lock.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-distributed-lock/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-egress-optimizer/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-egress-optimizer/src/graph.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-egress-optimizer/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-egress-optimizer/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-event-bus/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-event-bus/src/bus.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-event-bus/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-event-bus/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-governance/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-governance/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-gpu-discovery/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-gpu-discovery/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-gpu-topology/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-gpu-topology/pyproject.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-gpu-topology/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-gpu-topology/src/topology.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-gpu-topology/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-helm-generator/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-helm-generator/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-mcp-codec/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-mcp-codec/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-mcp-optimizer/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-mcp-optimizer/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-price-intelligence/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-price-intelligence/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-quota-manager/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-quota-manager/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-quota-manager/src/manager.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-quota-manager/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-resource-pool/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-resource-pool/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-resource-pool/src/pool.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-resource-pool/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-result-compressor/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-result-compressor/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-semantic-router/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-semantic-router/pyproject.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-semantic-router/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-snapshot-manager/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-snapshot-manager/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-snapshot-manager/src/snapshot.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-snapshot-manager/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-state-machine/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-state-machine/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-state-machine/src/state.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-state-machine/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-telemetry/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-telemetry/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-telemetry/src/pipeline.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-telemetry/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-tool-registry/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-tool-registry/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-vram-estimator/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-vram-estimator/src/estimator.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-vram-estimator/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-vram-estimator/src/types.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-warm-pool/Cargo.toml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/rust/terradev-warm-pool/src/lib.rs +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/scripts/action.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/scripts/build_rust.sh +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/scripts/gpu-check.sh +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/server.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/setup/Lambda Cloud API spec 1.8.3.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/setup/docker-compose.yml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/setup/nginx.conf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/setup/setup.sh +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/setup.cfg +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev-training/terradev-training/Chart.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev-training/terradev-training/README.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev-training/terradev-training/templates/NOTES.txt +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev-training/terradev-training/templates/_helpers.tpl +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev-training/terradev-training/templates/configmap.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev-training/terradev-training/templates/job.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev-training/terradev-training/templates/pvc.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev-training/terradev-training/templates/serviceaccount.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev-training/terradev-training/values.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/CHANGELOG.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/COMPLETE_COMMAND_REFERENCE.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/COMPLETE_INTEGRATION_GUIDE.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/IMPLEMENTATION_SUMMARY.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/MAKING_SPOT_WORK_FOR_STATEFUL_WORKLOADS.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/README.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/SGLANG_COMMAND_GUIDE.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/TERRADEV_STACK_CHART.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/__main__.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/cli.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/cli_hf_spaces.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/cli_karpenter.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/commands/compute.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/commands/inference.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/commands/k8s.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/commands/ml.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/commands/mlops.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/commands/platform.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/commands/providers.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/commands/training.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/__init__.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/agentic_provisioner.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/agentic_topology.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/async_config.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/auth.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/auto_lineage.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/cache_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/checkpoint_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/command_executor.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/config.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/config_validator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/cost_scaler.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/cost_tracker.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/credential_vault.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/cuda_graph_integrator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/dag_executor.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/data_governance.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/database_connection.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/dataset_stager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/deployment_router.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/distributed_lock.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/drift_detector.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/egress_cost_monitor.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/egress_optimizer.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/enterprise_auth.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/evaluation_orchestrator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/event_system.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/gitops_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/gpu_discovery.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/gpu_topology.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/helm_generator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/hf_cli_integration.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/hf_smart_templates.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/hf_spaces.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/inference_router.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/inference_spot_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/job_state_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/kv_cache_checkpoint_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/kv_cache_checkpoint_tests.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/kv_sharing.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/lora_consistency.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/lora_cost_attribution.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/lora_versioning.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/manifest_cache.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/manifest_example.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/mig_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/migration_orchestrator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/mla_vram_estimator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/mla_vram_tests.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/model_orchestrator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/monitoring.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/observe.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/oidc_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/optimization_config.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/parallel_provisioner.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/pd_transport.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/pipeline_schema.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/preflight_validator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/price_discovery.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/price_intelligence.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/provision_preflight.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/public_ip_billing_tracker.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/quick_start.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/quota_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/rate_limiter.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/rust_telemetry.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/saml_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/schedule.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/semantic_router.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/semantic_signals/__init__.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/semantic_signals/base_signal.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/semantic_signals/complexity_signal.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/semantic_signals/domain_signal.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/semantic_signals/keyword_signal.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/semantic_signals/language_signal.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/semantic_signals/modality_signal.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/semantic_signals/orchestrator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/semantic_signals/routing_policy.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/semantic_signals/safety_signal.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/session_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/ssh_key_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/telemetry.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/terradev_engine.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/trace_viewer.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/training_monitor.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/training_orchestrator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/user_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/warm_pool_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/weight_streaming_benchmarks.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/core/weight_streaming_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/cost_optimizer.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/credential_prompt.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/entry_point.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/integrations/Terradev LOGO BLACK.png +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/integrations/Terradev LOGO WHITEW.png +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/integrations/__init__.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/integrations/databricks_integration.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/integrations/datadog_integration.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/integrations/helicone_integration.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/integrations/prometheus_integration.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/integrations/wandb_integration.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/k8s/terraform_wrapper.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/kubernetes/inferx-cost-optimized.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/kubernetes/inferx-infrastructure.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/kubernetes/inferx-models.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/kubernetes/inferx-platform.yaml +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/kubernetes/inferx_setup.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/mcp/__init__.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/mcp/new_feature_tools.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/__init__.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/agentic_serving.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/drift_retrain_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/dvc_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/guardrails_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/huggingface_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/kserve_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/kubernetes_enhanced.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/kubernetes_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/langchain_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/langfuse_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/langgraph_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/lmcache_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/lora_registry.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/lorax_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/mlflow_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/model_router.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/ollama_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/peft_import_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/phoenix_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/qdrant_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/ray_enhanced.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/ray_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/vllm_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/ml_services/wandb_enhanced.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/optimization/__init__.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/optimization/auto_optimizer.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/optimization/cuco_optimizer.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/LATITUDE_PROVIDER.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/__init__.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/alibaba_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/aws_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/azure_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/base_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/baseten_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/coreweave_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/crusoe_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/demo_mode.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/digitalocean_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/e2e_networks_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/fluidstack_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/gcp_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/gpu_catalog.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/hetzner_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/huggingface_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/hyperstack_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/inferx_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/lambda_labs_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/latitude_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/oracle_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/ovhcloud_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/provider_factory.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/provider_profiles.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/real_pricing.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/registry.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/runpod_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/siliconflow_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/tensordock_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/types.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/vastai_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/providers/yottalabs_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/requirements.txt +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/requirements_minimal.txt +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/main.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/__init__.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-aws/bootstrap.sh +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-aws/main.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-aws/outputs.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-aws/variables.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-aws/versions.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-hyperstack/bootstrap.sh +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-hyperstack/main.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-hyperstack/outputs.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-hyperstack/variables.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-hyperstack/versions.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-lambda/bootstrap.sh +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-lambda/main.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-lambda/outputs.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-lambda/variables.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-lambda/versions.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-vastai/bootstrap.sh +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-vastai/main.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-vastai/outputs.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-vastai/variables.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/gpu-node-vastai/versions.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/k8s-control-plane/join-script.tpl +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/k8s-control-plane/kubeconfig.tpl +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/k8s-control-plane/main.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/k8s-control-plane/outputs.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/k8s-control-plane/variables.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/k8s-control-plane/versions.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/networking/main.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/networking/outputs.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/networking/variables.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/modules/networking/versions.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/outputs.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/price-optimizer/optimal-allocation.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/providers.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/terraform/variables.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/test_summary.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/utils/__init__.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli/utils/formatters.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli.egg-info/dependency_links.txt +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli.egg-info/entry_points.txt +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terradev_cli.egg-info/top_level.txt +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform.tfvars.example +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_optimization/backend.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_optimization/error_handling.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_optimization/parallel_provisioning.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_optimization/storage_choice_matrix.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_optimization/test_error_handler.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_optimization/versions.tf +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_transparency/audit_demo/trail_3caed73ad5bf.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_transparency/audit_trail.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_transparency/audit_trails.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_transparency/decision_engine.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_transparency/decision_logs.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_transparency/operations.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_transparency/terraform_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_transparency/terraform_plans.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_transparency/transparency_demo.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/terraform_transparency/transparency_report.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/test +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/test_database_connection.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/CREDENTIAL_STRATEGY.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/INTEGRATION_STRATEGY.md +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/Makefile +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/_mcp_stub/mcp/__init__.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/_mcp_stub/mcp/client/__init__.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/_mcp_stub/mcp/client/session.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/_mcp_stub/mcp/client/stdio.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/_mcp_stub/mcp/server/__init__.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/_mcp_stub/mcp/server/models.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/_mcp_stub/mcp/server/sse.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/_mcp_stub/mcp/server/stdio.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/_mcp_stub/mcp/types.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/ci_pipeline.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/commands/conftest.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/commands/test_commands_compute.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/commands/test_commands_inference.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/commands/test_commands_k8s.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/commands/test_commands_mcp.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/commands/test_commands_ml.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/commands/test_commands_ml_smoke.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/commands/test_commands_mlops.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/commands/test_commands_platform.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/commands/test_commands_providers.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/commands/test_commands_training.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_async_config.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_auth.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_auto_lineage.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_cache_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_command_executor.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_config.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_config_validator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_core_imports.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_cost_scaler.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_cost_tracker.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_credential_vault.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_cuda_graph_integrator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_dag_executor.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_data_governance.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_database_connection.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_dataset_stager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_deployment_router.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_distributed_lock.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_drift_detector.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_egress_cost_monitor.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_egress_optimizer.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_enterprise_auth.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_evaluation_orchestrator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_event_system.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_gateway_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_gitops_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_gpu_discovery.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_hf_spaces.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_inference_router.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_inference_spot_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_job_state_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_kv_cache_checkpoint_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_kv_sharing.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_lora_consistency.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_lora_cost_attribution.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_lora_versioning.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_mig_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_migration_orchestrator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_mla_vram_estimator.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_monitoring.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_observe.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_oidc_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_optimization_config.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_parallel_provisioner.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_price_discovery.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_price_intelligence.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_provider_factory.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_public_ip_billing_tracker.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_quick_start.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_quota_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_rate_limiter.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_rust_telemetry.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_schedule.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_semantic_router.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_session_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_ssh_key_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_telemetry.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_trace_viewer.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_user_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_warm_pool_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/core/test_weight_streaming_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/ml_services/test_ml_services_smoke.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/ml_services/test_phoenix_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/ml_services/test_qdrant_service.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/root_tests/test_cli_ux_battle.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/root_tests/test_cli_ux_battle_fixed.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/root_tests/test_cli_ux_final.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/root_tests/test_final_integration.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/root_tests/test_integrated_optimization.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/root_tests/test_p10_production_failover.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/root_tests/test_sso_phase1.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/root_tests/test_vllm_optimization.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/simple_test.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/snapshots/mcp_tools.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/snapshots/provider_contracts/runpod_provision_payload.json +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_ai_integrations.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_base_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_checkpoint_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_cli_commands.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_cli_smoke.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_cli_utils.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_commands_help.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_core_components.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_core_smoke.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_cost_optimizer.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_cuco_optimizer.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_datadog_integration.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_demo_mode.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_flashoptim.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_formatters.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_gpu_catalog.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_helicone_integration.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_hf_smart_templates.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_integration.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_k8s_regression.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_latitude_provider.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_major_providers.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_mcp_all_tools.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_mcp_call_tool_compat.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_mcp_chaos.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_mcp_contract.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_mcp_handlers.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_mcp_server.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_mcp_snapshots.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_module_imports.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_new_providers.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_preflight_dataclasses.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_prometheus_integration.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_provider_api_contracts.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_provider_conformance.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_provider_profiles.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_provider_smoke.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_providers.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_real_pricing.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_root_dag_executor.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_root_job_state_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_root_provider_factory.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_root_semantic_router.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_root_session_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_root_ssh_key_manager.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_root_trace_viewer.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_sglang_optimization.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_terradev_engine.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_training_monitor.py +0 -0
- {terradev_cli-5.7.3 → terradev_cli-5.7.4}/tests/test_vllm_features.py +0 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
name: Test Suite
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
- develop
|
|
8
|
+
pull_request:
|
|
9
|
+
branches:
|
|
10
|
+
- main
|
|
11
|
+
- develop
|
|
12
|
+
|
|
13
|
+
env:
|
|
14
|
+
TERRADEV_SKIP_ONBOARDING: "1"
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
test:
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
strategy:
|
|
20
|
+
matrix:
|
|
21
|
+
python-version: ["3.11"]
|
|
22
|
+
steps:
|
|
23
|
+
- name: Checkout repository
|
|
24
|
+
uses: actions/checkout@v4
|
|
25
|
+
|
|
26
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
27
|
+
uses: actions/setup-python@v5
|
|
28
|
+
with:
|
|
29
|
+
python-version: ${{ matrix.python-version }}
|
|
30
|
+
cache: pip
|
|
31
|
+
|
|
32
|
+
- name: Install dependencies
|
|
33
|
+
run: |
|
|
34
|
+
python -m pip install --upgrade pip
|
|
35
|
+
pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
36
|
+
pip install pytest pytest-asyncio pytest-cov pytest-xdist
|
|
37
|
+
|
|
38
|
+
- name: CLI smoke test
|
|
39
|
+
run: |
|
|
40
|
+
terradev --version
|
|
41
|
+
terradev --help
|
|
42
|
+
|
|
43
|
+
- name: Run full test suite with coverage
|
|
44
|
+
run: >
|
|
45
|
+
pytest tests/
|
|
46
|
+
-q --tb=short
|
|
47
|
+
--cov=terradev_cli
|
|
48
|
+
--cov-report=xml
|
|
49
|
+
--cov-report=term
|
|
50
|
+
--cov-fail-under=30
|
|
51
|
+
--ignore=tests/test_mcp_handlers.py
|
|
52
|
+
--ignore=tests/test_integration.py
|
|
53
|
+
|
|
54
|
+
- name: Upload coverage report
|
|
55
|
+
uses: actions/upload-artifact@v4
|
|
56
|
+
if: always()
|
|
57
|
+
with:
|
|
58
|
+
name: coverage-report
|
|
59
|
+
path: |
|
|
60
|
+
coverage.xml
|
|
61
|
+
|
|
62
|
+
integration-mock:
|
|
63
|
+
runs-on: ubuntu-latest
|
|
64
|
+
needs: test
|
|
65
|
+
strategy:
|
|
66
|
+
matrix:
|
|
67
|
+
python-version: ["3.11"]
|
|
68
|
+
steps:
|
|
69
|
+
- name: Checkout repository
|
|
70
|
+
uses: actions/checkout@v4
|
|
71
|
+
|
|
72
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
73
|
+
uses: actions/setup-python@v5
|
|
74
|
+
with:
|
|
75
|
+
python-version: ${{ matrix.python-version }}
|
|
76
|
+
cache: pip
|
|
77
|
+
|
|
78
|
+
- name: Install dependencies
|
|
79
|
+
run: |
|
|
80
|
+
python -m pip install --upgrade pip
|
|
81
|
+
pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
82
|
+
|
|
83
|
+
- name: Run mock integration tests
|
|
84
|
+
run: |
|
|
85
|
+
python tests/test_integration.py --mock --suite providers
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# Terraform
|
|
2
|
+
*.tfstate
|
|
3
|
+
*.tfstate.*
|
|
4
|
+
.terraform/
|
|
5
|
+
.terraform.lock.hcl
|
|
6
|
+
terraform.tfvars
|
|
7
|
+
terraform.tfvars.backup
|
|
8
|
+
*.tfvars
|
|
9
|
+
|
|
10
|
+
# Python
|
|
11
|
+
__pycache__/
|
|
12
|
+
*.py[cod]
|
|
13
|
+
*$py.class
|
|
14
|
+
*.so
|
|
15
|
+
.Python
|
|
16
|
+
build/
|
|
17
|
+
develop-eggs/
|
|
18
|
+
dist/
|
|
19
|
+
downloads/
|
|
20
|
+
eggs/
|
|
21
|
+
.eggs/
|
|
22
|
+
lib/
|
|
23
|
+
lib64/
|
|
24
|
+
parts/
|
|
25
|
+
sdist/
|
|
26
|
+
var/
|
|
27
|
+
wheels/
|
|
28
|
+
*.egg-info/
|
|
29
|
+
.installed.cfg
|
|
30
|
+
*.egg
|
|
31
|
+
MANIFEST
|
|
32
|
+
|
|
33
|
+
# Virtual Environments
|
|
34
|
+
venv/
|
|
35
|
+
env/
|
|
36
|
+
ENV/
|
|
37
|
+
env.bak/
|
|
38
|
+
venv.bak/
|
|
39
|
+
test_env/
|
|
40
|
+
|
|
41
|
+
# Build artifacts
|
|
42
|
+
dist/
|
|
43
|
+
build/
|
|
44
|
+
*.egg-info/
|
|
45
|
+
__pycache__/
|
|
46
|
+
|
|
47
|
+
# Test cache
|
|
48
|
+
.pytest_cache/
|
|
49
|
+
|
|
50
|
+
# IDE
|
|
51
|
+
.vscode/
|
|
52
|
+
.idea/
|
|
53
|
+
*.swp
|
|
54
|
+
*.swo
|
|
55
|
+
*~
|
|
56
|
+
|
|
57
|
+
# OS
|
|
58
|
+
.DS_Store
|
|
59
|
+
.DS_Store?
|
|
60
|
+
._*
|
|
61
|
+
.Spotlight-V100
|
|
62
|
+
.Trashes
|
|
63
|
+
ehthumbs.db
|
|
64
|
+
Thumbs.db
|
|
65
|
+
|
|
66
|
+
# Logs
|
|
67
|
+
*.log
|
|
68
|
+
logs/
|
|
69
|
+
|
|
70
|
+
# Data Files
|
|
71
|
+
data/
|
|
72
|
+
datasets/
|
|
73
|
+
models/
|
|
74
|
+
checkpoints/
|
|
75
|
+
*.pkl
|
|
76
|
+
*.h5
|
|
77
|
+
*.pth
|
|
78
|
+
*.joblib
|
|
79
|
+
|
|
80
|
+
# Temporary Files
|
|
81
|
+
*.tmp
|
|
82
|
+
*.temp
|
|
83
|
+
.cache/
|
|
84
|
+
|
|
85
|
+
# AWS Credentials
|
|
86
|
+
.aws/
|
|
87
|
+
.aws/credentials
|
|
88
|
+
.aws/config
|
|
89
|
+
|
|
90
|
+
# Environment Variables — catch ALL .env variants
|
|
91
|
+
.env
|
|
92
|
+
.env.*
|
|
93
|
+
!.env.example
|
|
94
|
+
|
|
95
|
+
# Database files
|
|
96
|
+
*.db
|
|
97
|
+
*.sqlite
|
|
98
|
+
*.sqlite3
|
|
99
|
+
*.db-shm
|
|
100
|
+
*.db-wal
|
|
101
|
+
|
|
102
|
+
# Secrets / tokens / payment sessions
|
|
103
|
+
**/grafana_token*.json
|
|
104
|
+
payment_cs_*.json
|
|
105
|
+
*_secret_key*.json
|
|
106
|
+
*token_service*/*.json
|
|
107
|
+
.keyfile
|
|
108
|
+
|
|
109
|
+
# Jupyter Notebooks
|
|
110
|
+
.ipynb_checkpoints
|
|
111
|
+
|
|
112
|
+
# Documentation
|
|
113
|
+
docs/_build/
|
|
114
|
+
|
|
115
|
+
# Coverage reports
|
|
116
|
+
htmlcov/
|
|
117
|
+
.coverage
|
|
118
|
+
.coverage.*
|
|
119
|
+
coverage.xml
|
|
120
|
+
*.cover
|
|
121
|
+
.hypothesis/
|
|
122
|
+
.pytest_cache/
|
|
123
|
+
|
|
124
|
+
# mypy
|
|
125
|
+
.mypy_cache/
|
|
126
|
+
.dmypy.json
|
|
127
|
+
dmypy.json
|
|
128
|
+
|
|
129
|
+
# Security scan reports — generated as CI artifacts, must not be committed
|
|
130
|
+
bandit-report.json
|
|
131
|
+
safety-report.json
|
|
132
|
+
|
|
133
|
+
# Stripe and service credentials — never commit real keys
|
|
134
|
+
.env.stripe
|
|
135
|
+
.env.local
|
|
136
|
+
.env.*.local
|
|
137
|
+
|
|
138
|
+
# Ruff cache
|
|
139
|
+
.ruff_cache/
|
|
140
|
+
|
|
141
|
+
# Activations (local license data)
|
|
142
|
+
activations/
|
|
143
|
+
|
|
144
|
+
# MCP Registry auth tokens
|
|
145
|
+
.mcpregistry_*
|
|
146
|
+
|
|
147
|
+
# HuggingFace cache
|
|
148
|
+
hf_cache/
|
|
149
|
+
|
|
150
|
+
# Terraform lock (generated, not for CLI package)
|
|
151
|
+
.terraform.lock.hcl
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
# GitLab CI/CD Pipeline for Terradev
|
|
2
|
+
|
|
3
|
+
stages:
|
|
4
|
+
- lint
|
|
5
|
+
- test
|
|
6
|
+
- integration
|
|
7
|
+
- build
|
|
8
|
+
- security
|
|
9
|
+
- deploy
|
|
10
|
+
|
|
11
|
+
variables:
|
|
12
|
+
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
|
|
13
|
+
TERRADEV_SKIP_ONBOARDING: "1"
|
|
14
|
+
|
|
15
|
+
# Cache pip dependencies
|
|
16
|
+
cache:
|
|
17
|
+
paths:
|
|
18
|
+
- .cache/pip
|
|
19
|
+
- venv/
|
|
20
|
+
|
|
21
|
+
# === Linting ===
|
|
22
|
+
lint:
|
|
23
|
+
stage: lint
|
|
24
|
+
image: python:3.11
|
|
25
|
+
before_script:
|
|
26
|
+
- pip install mypy ruff
|
|
27
|
+
script:
|
|
28
|
+
# Flake8 disabled - 1000+ errors need cleanup
|
|
29
|
+
# - flake8 terradev_cli/ tests/ --max-line-length=120 --ignore=E203,W503
|
|
30
|
+
- mypy terradev_cli/ --ignore-missing-imports --no-strict-optional || true
|
|
31
|
+
- ruff check terradev_cli/ tests/ --ignore F401,F821,F841,E402,E501,F541,E712
|
|
32
|
+
only:
|
|
33
|
+
- main
|
|
34
|
+
- develop
|
|
35
|
+
- merge_requests
|
|
36
|
+
|
|
37
|
+
# === Command Test Suite (DI migration gate) ===
|
|
38
|
+
test-commands:
|
|
39
|
+
stage: test
|
|
40
|
+
image: python:3.11
|
|
41
|
+
before_script:
|
|
42
|
+
- python -m venv venv
|
|
43
|
+
- source venv/bin/activate
|
|
44
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
45
|
+
- pip install pytest pytest-asyncio
|
|
46
|
+
script:
|
|
47
|
+
- pytest tests/commands tests/test_cli_commands.py -v --tb=short
|
|
48
|
+
|
|
49
|
+
# === Modular command test jobs (DI extraction gate) ===
|
|
50
|
+
test-commands-inference:
|
|
51
|
+
stage: test
|
|
52
|
+
image: python:3.11
|
|
53
|
+
before_script:
|
|
54
|
+
- python -m venv venv
|
|
55
|
+
- source venv/bin/activate
|
|
56
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
57
|
+
- pip install pytest pytest-asyncio
|
|
58
|
+
script:
|
|
59
|
+
- pytest tests/commands/test_commands_inference.py -v --tb=short
|
|
60
|
+
|
|
61
|
+
test-commands-k8s:
|
|
62
|
+
stage: test
|
|
63
|
+
image: python:3.11
|
|
64
|
+
before_script:
|
|
65
|
+
- python -m venv venv
|
|
66
|
+
- source venv/bin/activate
|
|
67
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
68
|
+
- pip install pytest pytest-asyncio
|
|
69
|
+
script:
|
|
70
|
+
- pytest tests/commands/test_commands_k8s.py -v --tb=short
|
|
71
|
+
|
|
72
|
+
test-commands-ml:
|
|
73
|
+
stage: test
|
|
74
|
+
image: python:3.11
|
|
75
|
+
before_script:
|
|
76
|
+
- python -m venv venv
|
|
77
|
+
- source venv/bin/activate
|
|
78
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
79
|
+
- pip install pytest pytest-asyncio
|
|
80
|
+
script:
|
|
81
|
+
- pytest tests/commands/test_commands_ml.py -v --tb=short
|
|
82
|
+
|
|
83
|
+
test-commands-training:
|
|
84
|
+
stage: test
|
|
85
|
+
image: python:3.11
|
|
86
|
+
before_script:
|
|
87
|
+
- python -m venv venv
|
|
88
|
+
- source venv/bin/activate
|
|
89
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
90
|
+
- pip install pytest pytest-asyncio
|
|
91
|
+
script:
|
|
92
|
+
- pytest tests/commands/test_commands_training.py -v --tb=short
|
|
93
|
+
|
|
94
|
+
test-commands-infrastructure:
|
|
95
|
+
stage: test
|
|
96
|
+
image: python:3.11
|
|
97
|
+
before_script:
|
|
98
|
+
- python -m venv venv
|
|
99
|
+
- source venv/bin/activate
|
|
100
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
101
|
+
- pip install pytest pytest-asyncio
|
|
102
|
+
script:
|
|
103
|
+
- pytest tests/commands/test_commands_infrastructure.py -v --tb=short
|
|
104
|
+
|
|
105
|
+
test-commands-mlops:
|
|
106
|
+
stage: test
|
|
107
|
+
image: python:3.11
|
|
108
|
+
before_script:
|
|
109
|
+
- python -m venv venv
|
|
110
|
+
- source venv/bin/activate
|
|
111
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
112
|
+
- pip install pytest pytest-asyncio
|
|
113
|
+
script:
|
|
114
|
+
- pytest tests/commands/test_commands_mlops.py -v --tb=short
|
|
115
|
+
|
|
116
|
+
test-commands-platform:
|
|
117
|
+
stage: test
|
|
118
|
+
image: python:3.11
|
|
119
|
+
before_script:
|
|
120
|
+
- python -m venv venv
|
|
121
|
+
- source venv/bin/activate
|
|
122
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
123
|
+
- pip install pytest pytest-asyncio
|
|
124
|
+
script:
|
|
125
|
+
- pytest tests/commands/test_commands_platform.py -v --tb=short
|
|
126
|
+
|
|
127
|
+
# === MCP Server Tests ===
|
|
128
|
+
test-mcp:
|
|
129
|
+
stage: test
|
|
130
|
+
image: python:3.11
|
|
131
|
+
before_script:
|
|
132
|
+
- python -m venv venv
|
|
133
|
+
- source venv/bin/activate
|
|
134
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
135
|
+
- pip install pytest pytest-asyncio
|
|
136
|
+
script:
|
|
137
|
+
- pytest tests/test_mcp_*.py tests/commands/test_commands_mcp.py -v --tb=short
|
|
138
|
+
|
|
139
|
+
# === Unit Tests ===
|
|
140
|
+
test:
|
|
141
|
+
stage: test
|
|
142
|
+
image: python:3.11
|
|
143
|
+
before_script:
|
|
144
|
+
- python -m venv venv
|
|
145
|
+
- source venv/bin/activate
|
|
146
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
147
|
+
- pip install pytest pytest-asyncio pytest-cov pytest-xdist
|
|
148
|
+
script:
|
|
149
|
+
- terradev --version
|
|
150
|
+
- terradev --help
|
|
151
|
+
- pytest tests/ -v --tb=short --cov=terradev_cli --cov-report=xml --cov-report=html --cov-fail-under=30 --ignore=tests/test_mcp_handlers.py --ignore=tests/test_integration.py -n auto
|
|
152
|
+
coverage: '/TOTAL.*\s+(\d+%)$/'
|
|
153
|
+
artifacts:
|
|
154
|
+
reports:
|
|
155
|
+
coverage_report:
|
|
156
|
+
coverage_format: cobertura
|
|
157
|
+
path: coverage.xml
|
|
158
|
+
paths:
|
|
159
|
+
- htmlcov/
|
|
160
|
+
- coverage.xml
|
|
161
|
+
expire_in: 1 week
|
|
162
|
+
only:
|
|
163
|
+
- main
|
|
164
|
+
- develop
|
|
165
|
+
- merge_requests
|
|
166
|
+
|
|
167
|
+
# === Provider API Contract Tests (Snapshot) ===
|
|
168
|
+
provider-contracts:
|
|
169
|
+
stage: test
|
|
170
|
+
image: python:3.11
|
|
171
|
+
before_script:
|
|
172
|
+
- python -m venv venv
|
|
173
|
+
- source venv/bin/activate
|
|
174
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
175
|
+
- pip install pytest pytest-asyncio
|
|
176
|
+
script:
|
|
177
|
+
- pytest tests/test_provider_api_contracts.py -v --tb=short
|
|
178
|
+
only:
|
|
179
|
+
- main
|
|
180
|
+
- develop
|
|
181
|
+
- merge_requests
|
|
182
|
+
|
|
183
|
+
# === Integration Tests (Mock) ===
|
|
184
|
+
integration-mock:
|
|
185
|
+
stage: integration
|
|
186
|
+
image: python:3.11
|
|
187
|
+
before_script:
|
|
188
|
+
- python -m venv venv
|
|
189
|
+
- source venv/bin/activate
|
|
190
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
191
|
+
- pip install pytest pytest-asyncio
|
|
192
|
+
script:
|
|
193
|
+
- python tests/test_integration.py --mock --suite providers
|
|
194
|
+
only:
|
|
195
|
+
- main
|
|
196
|
+
- develop
|
|
197
|
+
- merge_requests
|
|
198
|
+
|
|
199
|
+
# === Integration Tests (Live - Manual) ===
|
|
200
|
+
integration-live:
|
|
201
|
+
stage: integration
|
|
202
|
+
image: python:3.11
|
|
203
|
+
before_script:
|
|
204
|
+
- python -m venv venv
|
|
205
|
+
- source venv/bin/activate
|
|
206
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
207
|
+
- pip install pytest pytest-asyncio
|
|
208
|
+
script:
|
|
209
|
+
- python tests/test_integration.py --suite providers
|
|
210
|
+
when: manual
|
|
211
|
+
only:
|
|
212
|
+
- main
|
|
213
|
+
- develop
|
|
214
|
+
|
|
215
|
+
# === Canary Provisioning (Live - Manual) ===
|
|
216
|
+
canary-live:
|
|
217
|
+
stage: integration
|
|
218
|
+
image: python:3.11
|
|
219
|
+
before_script:
|
|
220
|
+
- python -m venv venv
|
|
221
|
+
- source venv/bin/activate
|
|
222
|
+
- pip install -e ".[dev]" 2>/dev/null || pip install -e .
|
|
223
|
+
- pip install pytest pytest-asyncio
|
|
224
|
+
script:
|
|
225
|
+
- TERRADEV_CANARY_TEST=1 pytest tests/test_canary_provisioning.py -v --tb=short
|
|
226
|
+
when: manual
|
|
227
|
+
only:
|
|
228
|
+
- main
|
|
229
|
+
- develop
|
|
230
|
+
variables:
|
|
231
|
+
TERRADEV_CANARY_GPU: "RTX4090"
|
|
232
|
+
TERRADEV_CANARY_MAX_PRICE: "0.50"
|
|
233
|
+
TERRADEV_CANARY_TIMEOUT: "300"
|
|
234
|
+
|
|
235
|
+
# === Build Package ===
|
|
236
|
+
build:
|
|
237
|
+
stage: build
|
|
238
|
+
image: python:3.11
|
|
239
|
+
before_script:
|
|
240
|
+
- pip install build
|
|
241
|
+
script:
|
|
242
|
+
- python -m build
|
|
243
|
+
artifacts:
|
|
244
|
+
paths:
|
|
245
|
+
- dist/
|
|
246
|
+
expire_in: 1 week
|
|
247
|
+
only:
|
|
248
|
+
- main
|
|
249
|
+
- develop
|
|
250
|
+
- tags
|
|
251
|
+
|
|
252
|
+
# === Security Scanning ===
|
|
253
|
+
security:
|
|
254
|
+
stage: security
|
|
255
|
+
image: python:3.11
|
|
256
|
+
before_script:
|
|
257
|
+
- pip install bandit safety
|
|
258
|
+
script:
|
|
259
|
+
- bandit -r terradev_cli/ -f json -o bandit-report.json -lll || true
|
|
260
|
+
- bandit -r terradev_cli/ -lll --exit-zero
|
|
261
|
+
- safety check --json --output safety-report.json || true
|
|
262
|
+
artifacts:
|
|
263
|
+
paths:
|
|
264
|
+
- bandit-report.json
|
|
265
|
+
- safety-report.json
|
|
266
|
+
expire_in: 1 week
|
|
267
|
+
only:
|
|
268
|
+
- main
|
|
269
|
+
- develop
|
|
270
|
+
- merge_requests
|
|
271
|
+
|
|
272
|
+
# === Deploy to PyPI (Manual on Tags) ===
|
|
273
|
+
deploy:
|
|
274
|
+
stage: deploy
|
|
275
|
+
image: python:3.11
|
|
276
|
+
before_script:
|
|
277
|
+
- pip install build twine
|
|
278
|
+
script:
|
|
279
|
+
- python -m build
|
|
280
|
+
- twine upload dist/*
|
|
281
|
+
when: manual
|
|
282
|
+
only:
|
|
283
|
+
- tags
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: terradev-cli
|
|
3
|
-
Version: 5.7.
|
|
3
|
+
Version: 5.7.4
|
|
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>
|
|
@@ -97,6 +97,7 @@ Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
|
97
97
|
Requires-Dist: build>=0.10.0; extra == "dev"
|
|
98
98
|
Requires-Dist: twine>=4.0.0; extra == "dev"
|
|
99
99
|
Requires-Dist: maturin<2.0,>=1.4; extra == "dev"
|
|
100
|
+
Requires-Dist: hypothesis>=6.0.0; extra == "dev"
|
|
100
101
|
Provides-Extra: enterprise
|
|
101
102
|
Requires-Dist: python3-saml>=1.13.0; extra == "enterprise"
|
|
102
103
|
Requires-Dist: authlib>=1.2.0; extra == "enterprise"
|
|
@@ -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.4"
|
|
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"}
|
|
@@ -174,6 +174,7 @@ dev = [
|
|
|
174
174
|
"build>=0.10.0",
|
|
175
175
|
"twine>=4.0.0",
|
|
176
176
|
"maturin>=1.4,<2.0",
|
|
177
|
+
"hypothesis>=6.0.0",
|
|
177
178
|
]
|
|
178
179
|
enterprise = [
|
|
179
180
|
"python3-saml>=1.13.0",
|
|
@@ -195,6 +196,9 @@ markers = [
|
|
|
195
196
|
"unit: pure-function / no-I/O tests",
|
|
196
197
|
"integration: requires mocked external APIs",
|
|
197
198
|
"slow: full CLI CliRunner or live-service tests",
|
|
199
|
+
"canary: quick smoke tests for low-coverage modules",
|
|
200
|
+
"hypothesis: property-based / fuzz tests for low-coverage modules",
|
|
201
|
+
"deep: deep invariants and state tests for low-coverage modules",
|
|
198
202
|
]
|
|
199
203
|
filterwarnings = [
|
|
200
204
|
"ignore:.*Boto3 will no longer support Python 3.9.*:Warning",
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Rust
|
|
2
|
+
/target/
|
|
3
|
+
**/*.rs.bk
|
|
4
|
+
Cargo.lock
|
|
5
|
+
|
|
6
|
+
# Python
|
|
7
|
+
__pycache__/
|
|
8
|
+
*.py[cod]
|
|
9
|
+
*$py.class
|
|
10
|
+
*.so
|
|
11
|
+
.Python
|
|
12
|
+
build/
|
|
13
|
+
develop-eggs/
|
|
14
|
+
dist/
|
|
15
|
+
downloads/
|
|
16
|
+
eggs/
|
|
17
|
+
.eggs/
|
|
18
|
+
lib/
|
|
19
|
+
lib64/
|
|
20
|
+
parts/
|
|
21
|
+
sdist/
|
|
22
|
+
var/
|
|
23
|
+
wheels/
|
|
24
|
+
*.egg-info/
|
|
25
|
+
.installed.cfg
|
|
26
|
+
*.egg
|
|
27
|
+
|
|
28
|
+
# Maturin
|
|
29
|
+
*.whl
|
|
@@ -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.4"
|
|
12
12
|
|
|
13
13
|
__author__ = "Terradev Team"
|
|
14
14
|
__description__ = "Cross-cloud GPU infrastructure CLI for training, inference, and AI workload orchestration."
|
|
@@ -230,6 +230,15 @@ class TerradevAPI:
|
|
|
230
230
|
except Exception as e: # noqa: BLE001
|
|
231
231
|
print(f"ERROR: Failed to save credentials: {e}", file=sys.stderr)
|
|
232
232
|
|
|
233
|
+
def _save_provider_creds(self, provider_name: str, creds: Dict[str, str]) -> None:
|
|
234
|
+
"""Store/update credentials for a specific provider."""
|
|
235
|
+
if not isinstance(self.credentials, dict):
|
|
236
|
+
self.credentials = {}
|
|
237
|
+
self.credentials[provider_name] = {
|
|
238
|
+
k: str(v) if v is not None else "" for k, v in creds.items()
|
|
239
|
+
}
|
|
240
|
+
self.save_credentials()
|
|
241
|
+
|
|
233
242
|
def load_usage(self):
|
|
234
243
|
"""Load usage tracking"""
|
|
235
244
|
if self.usage_file.exists():
|