terradev-cli 5.4.4__tar.gz → 5.4.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/PKG-INFO +24 -2
  2. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/README.md +23 -1
  3. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/pyproject.toml +1 -1
  4. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/cli.py +16 -2
  5. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli.egg-info/PKG-INFO +24 -2
  6. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/.env.example +0 -0
  7. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/.github/workflows/action.yml +0 -0
  8. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/.github/workflows/ci.yml +0 -0
  9. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/.github/workflows/release.yml +0 -0
  10. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/.github/workflows/static.yml +0 -0
  11. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/.terradev/custom_providers.example.yaml +0 -0
  12. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/CODEMAP.md +0 -0
  13. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Deployment Package/BNF_GRAMMAR.md +0 -0
  14. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Deployment Package/LIFECYCLES.md +0 -0
  15. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Deployment Package/architecture.md +0 -0
  16. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Deployment Package/overview.md +0 -0
  17. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Deployment Package/security.md +0 -0
  18. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Deployment Package/troubleshooting.md +0 -0
  19. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Dockerfile +0 -0
  20. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/Dockerfile.test +0 -0
  21. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/LICENSE +0 -0
  22. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/MANIFEST.in +0 -0
  23. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/agentic-template/helm/values-agentic.yaml +0 -0
  24. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/agentic-template/k8s/fleet-manifests.yaml +0 -0
  25. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/README.md +0 -0
  26. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/helm/values-glm5.yaml +0 -0
  27. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/hpa.yaml +0 -0
  28. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/model-cache-pvc.yaml +0 -0
  29. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/namespace.yaml +0 -0
  30. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/pdb.yaml +0 -0
  31. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/service.yaml +0 -0
  32. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/sglang-deployment.yaml +0 -0
  33. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/k8s/vllm-deployment.yaml +0 -0
  34. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/task.yaml +0 -0
  35. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/terraform/main.tf +0 -0
  36. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/terraform/outputs.tf +0 -0
  37. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/glm-5/terraform/variables.tf +0 -0
  38. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/llmd-template/README.md +0 -0
  39. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/llmd-template/helm/values-llmd.yaml +0 -0
  40. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/llmd-template/k8s/gateway.yaml +0 -0
  41. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/llmd-template/k8s/leaderworkerset.yaml +0 -0
  42. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/llmd-template/k8s/llminferenceservice.yaml +0 -0
  43. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/llmd-template/task.yaml +0 -0
  44. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/Chart.yaml +0 -0
  45. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/_helpers.tpl +0 -0
  46. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/deployment.yaml +0 -0
  47. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/pvc-adapter.yaml +0 -0
  48. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/pvc-registry.yaml +0 -0
  49. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/service.yaml +0 -0
  50. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/templates/serviceaccount.yaml +0 -0
  51. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/helm/values-lora.yaml +0 -0
  52. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/k8s/adapter-pvc.yaml +0 -0
  53. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/k8s/deployment.yaml +0 -0
  54. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/k8s/namespace.yaml +0 -0
  55. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/k8s/registry-pvc.yaml +0 -0
  56. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/k8s/service.yaml +0 -0
  57. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lora-template/k8s/serviceaccount.yaml +0 -0
  58. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/Chart.yaml +0 -0
  59. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/templates/_helpers.tpl +0 -0
  60. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/templates/deployment.yaml +0 -0
  61. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/templates/pvc.yaml +0 -0
  62. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/templates/service.yaml +0 -0
  63. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/templates/serviceaccount.yaml +0 -0
  64. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/lorax-template/helm/values-lorax.yaml +0 -0
  65. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/README.md +0 -0
  66. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/helm/values-moe.yaml +0 -0
  67. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/k8s/deployment.yaml +0 -0
  68. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/k8s/hpa.yaml +0 -0
  69. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/k8s/model-cache-pvc.yaml +0 -0
  70. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/k8s/namespace.yaml +0 -0
  71. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/k8s/pdb.yaml +0 -0
  72. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/k8s/service.yaml +0 -0
  73. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/task.yaml +0 -0
  74. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/terraform/main.tf +0 -0
  75. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/terraform/outputs.tf +0 -0
  76. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/moe-template/terraform/variables.tf +0 -0
  77. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/rag-template/README.md +0 -0
  78. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/rag-template/helm/values-rag.yaml +0 -0
  79. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/rag-template/k8s/deployment.yaml +0 -0
  80. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/clusters/rag-template/terraform/main.tf +0 -0
  81. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/demo/RECORDING_GUIDE.md +0 -0
  82. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/demo/generate_gif.py +0 -0
  83. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/demo/terradev-demo.gif +0 -0
  84. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/ADVANCED_FINANCIAL_INNOVATIONS.md +0 -0
  85. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/API_DOCUMENTATION.md +0 -0
  86. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/BingSiteAuth.xml +0 -0
  87. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/FINOPS_ATTRIBUTION_SYSTEM.md +0 -0
  88. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/LORA_COMMAND_LIFECYCLE.md +0 -0
  89. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/USER_GUIDE.md +0 -0
  90. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/VLLM_AUTO_OPTIMIZATION_GUIDE.md +0 -0
  91. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/VLLM_OPTIMIZATION_GUIDE.md +0 -0
  92. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/architecture.md +0 -0
  93. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/index.html +0 -0
  94. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/overview.md +0 -0
  95. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/robots.txt +0 -0
  96. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/sitemap.xml +0 -0
  97. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/docs/test_spot_provision.md +0 -0
  98. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/aws_ssm_starter.py +0 -0
  99. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/config.example.json +0 -0
  100. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/demo_k8s_config.yaml +0 -0
  101. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/direct_aws_starter.py +0 -0
  102. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/ec2_user_data_starter.py +0 -0
  103. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/example-pipeline.yaml +0 -0
  104. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/kubernetes_training_deployment.yaml +0 -0
  105. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/simple_ssm_starter.py +0 -0
  106. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/ssh_server_starter.py +0 -0
  107. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/examples/start_aws_servers.py +0 -0
  108. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/helm/terradev/Chart.yaml +0 -0
  109. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/helm/terradev/templates/_helpers.tpl +0 -0
  110. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/helm/terradev/templates/deployment.yaml +0 -0
  111. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/helm/terradev/values.yaml +0 -0
  112. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/infrastructure/bucket-policy.json +0 -0
  113. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/infrastructure/grafana_training_dashboard.json +0 -0
  114. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/infrastructure/kubernetes/microservices.yaml +0 -0
  115. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/infrastructure/terraform/main.tf +0 -0
  116. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/infrastructure/terraform/parallelism.tf +0 -0
  117. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/cli-tool.tf +0 -0
  118. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/cloud-management-widgets.tf +0 -0
  119. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/cloud-provider-apis.py +0 -0
  120. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/critical-widgets.tf +0 -0
  121. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/devops-cicd-widgets.tf +0 -0
  122. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/devops-essential-tools.tf +0 -0
  123. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/docker-integration.tf +0 -0
  124. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/kubernetes-operator.tf +0 -0
  125. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/integrations/mlflow-integration.tf +0 -0
  126. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/marketing/bare-metal-latitude-post.md +0 -0
  127. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/README.md +0 -0
  128. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/dashboard.tf +0 -0
  129. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/monitors.tf +0 -0
  130. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/outputs.tf +0 -0
  131. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/provider.tf +0 -0
  132. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/variables.tf +0 -0
  133. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/datadog/versions.tf +0 -0
  134. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/modules/prometheus_training_config.yml +0 -0
  135. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/Cargo.toml +0 -0
  136. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/INTEGRATION_GUIDE.md +0 -0
  137. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/PERFORMANCE_OPTIMIZATIONS.md +0 -0
  138. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/README.md +0 -0
  139. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-artifact-verification/Cargo.toml +0 -0
  140. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-artifact-verification/src/lib.rs +0 -0
  141. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-artifact-verification/src/types.rs +0 -0
  142. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-artifact-verification/src/verifier.rs +0 -0
  143. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-authentication/Cargo.toml +0 -0
  144. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-authentication/src/encoding.rs +0 -0
  145. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-authentication/src/hmac.rs +0 -0
  146. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-authentication/src/lib.rs +0 -0
  147. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-authentication/src/types.rs +0 -0
  148. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cache-eviction/Cargo.toml +0 -0
  149. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cache-eviction/src/cache.rs +0 -0
  150. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cache-eviction/src/lib.rs +0 -0
  151. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cache-eviction/src/types.rs +0 -0
  152. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-command-executor/Cargo.toml +0 -0
  153. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-command-executor/src/lib.rs +0 -0
  154. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-config-validator/Cargo.toml +0 -0
  155. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-config-validator/src/lib.rs +0 -0
  156. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-config-validator/src/types.rs +0 -0
  157. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-config-validator/src/validator.rs +0 -0
  158. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-connection-pool/Cargo.toml +0 -0
  159. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-connection-pool/src/lib.rs +0 -0
  160. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-connection-pool/src/pool.rs +0 -0
  161. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-connection-pool/src/types.rs +0 -0
  162. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cost-calculator/Cargo.toml +0 -0
  163. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cost-calculator/src/calculator.rs +0 -0
  164. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cost-calculator/src/lib.rs +0 -0
  165. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cost-calculator/src/types.rs +0 -0
  166. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cost-scaler/Cargo.toml +0 -0
  167. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-cost-scaler/src/lib.rs +0 -0
  168. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-credential-vault/Cargo.toml +0 -0
  169. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-credential-vault/src/lib.rs +0 -0
  170. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-credential-vault/src/types.rs +0 -0
  171. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-credential-vault/src/vault.rs +0 -0
  172. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-dag-executor/Cargo.toml +0 -0
  173. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-dag-executor/src/lib.rs +0 -0
  174. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-distributed-lock/Cargo.toml +0 -0
  175. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-distributed-lock/src/lib.rs +0 -0
  176. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-distributed-lock/src/lock.rs +0 -0
  177. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-distributed-lock/src/types.rs +0 -0
  178. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-egress-optimizer/Cargo.toml +0 -0
  179. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-egress-optimizer/src/graph.rs +0 -0
  180. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-egress-optimizer/src/lib.rs +0 -0
  181. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-egress-optimizer/src/types.rs +0 -0
  182. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-event-bus/Cargo.toml +0 -0
  183. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-event-bus/src/bus.rs +0 -0
  184. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-event-bus/src/lib.rs +0 -0
  185. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-event-bus/src/types.rs +0 -0
  186. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-governance/Cargo.toml +0 -0
  187. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-governance/src/lib.rs +0 -0
  188. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-gpu-discovery/Cargo.toml +0 -0
  189. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-gpu-discovery/src/lib.rs +0 -0
  190. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-gpu-topology/Cargo.toml +0 -0
  191. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-gpu-topology/src/lib.rs +0 -0
  192. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-gpu-topology/src/topology.rs +0 -0
  193. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-gpu-topology/src/types.rs +0 -0
  194. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-helm-generator/Cargo.toml +0 -0
  195. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-helm-generator/src/lib.rs +0 -0
  196. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-mcp-codec/Cargo.toml +0 -0
  197. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-mcp-codec/src/lib.rs +0 -0
  198. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-mcp-optimizer/Cargo.toml +0 -0
  199. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-mcp-optimizer/src/lib.rs +0 -0
  200. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-price-intelligence/Cargo.toml +0 -0
  201. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-price-intelligence/src/lib.rs +0 -0
  202. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-quota-manager/Cargo.toml +0 -0
  203. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-quota-manager/src/lib.rs +0 -0
  204. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-quota-manager/src/manager.rs +0 -0
  205. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-quota-manager/src/types.rs +0 -0
  206. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-resource-pool/Cargo.toml +0 -0
  207. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-resource-pool/src/lib.rs +0 -0
  208. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-resource-pool/src/pool.rs +0 -0
  209. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-resource-pool/src/types.rs +0 -0
  210. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-result-compressor/Cargo.toml +0 -0
  211. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-result-compressor/src/lib.rs +0 -0
  212. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-semantic-router/Cargo.toml +0 -0
  213. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-semantic-router/src/lib.rs +0 -0
  214. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-snapshot-manager/Cargo.toml +0 -0
  215. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-snapshot-manager/src/lib.rs +0 -0
  216. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-snapshot-manager/src/snapshot.rs +0 -0
  217. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-snapshot-manager/src/types.rs +0 -0
  218. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-state-machine/Cargo.toml +0 -0
  219. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-state-machine/src/lib.rs +0 -0
  220. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-state-machine/src/state.rs +0 -0
  221. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-state-machine/src/types.rs +0 -0
  222. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-telemetry/Cargo.toml +0 -0
  223. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-telemetry/src/lib.rs +0 -0
  224. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-telemetry/src/pipeline.rs +0 -0
  225. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-telemetry/src/types.rs +0 -0
  226. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-tool-registry/Cargo.toml +0 -0
  227. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-tool-registry/src/lib.rs +0 -0
  228. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-vram-estimator/Cargo.toml +0 -0
  229. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-vram-estimator/src/estimator.rs +0 -0
  230. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-vram-estimator/src/lib.rs +0 -0
  231. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-vram-estimator/src/types.rs +0 -0
  232. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-warm-pool/Cargo.toml +0 -0
  233. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/rust/terradev-warm-pool/src/lib.rs +0 -0
  234. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/scripts/action.py +0 -0
  235. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/scripts/gpu-check.sh +0 -0
  236. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/setup/Lambda Cloud API spec 1.8.3.json +0 -0
  237. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/setup/docker-compose.yml +0 -0
  238. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/setup/nginx.conf +0 -0
  239. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/setup/setup.sh +0 -0
  240. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/setup.cfg +0 -0
  241. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/CHANGELOG.md +0 -0
  242. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/COMPLETE_COMMAND_REFERENCE.md +0 -0
  243. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/COMPLETE_INTEGRATION_GUIDE.md +0 -0
  244. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/IMPLEMENTATION_SUMMARY.md +0 -0
  245. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/MAKING_SPOT_WORK_FOR_STATEFUL_WORKLOADS.md +0 -0
  246. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/README.md +0 -0
  247. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/SGLANG_COMMAND_GUIDE.md +0 -0
  248. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/TERRADEV_STACK_CHART.md +0 -0
  249. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/__init__.py +0 -0
  250. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/__main__.py +0 -0
  251. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/cli_hf_spaces.py +0 -0
  252. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/cli_karpenter.py +0 -0
  253. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/__init__.py +0 -0
  254. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/agentic_provisioner.py +0 -0
  255. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/agentic_topology.py +0 -0
  256. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/async_config.py +0 -0
  257. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/auth.py +0 -0
  258. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/auto_lineage.py +0 -0
  259. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/cache_manager.py +0 -0
  260. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/checkpoint_manager.py +0 -0
  261. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/command_executor.py +0 -0
  262. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/config.py +0 -0
  263. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/config_validator.py +0 -0
  264. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/cost_scaler.py +0 -0
  265. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/cost_tracker.py +0 -0
  266. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/credential_vault.py +0 -0
  267. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/cuda_graph_integrator.py +0 -0
  268. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/dag_executor.py +0 -0
  269. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/data_governance.py +0 -0
  270. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/dataset_stager.py +0 -0
  271. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/deployment_router.py +0 -0
  272. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/distributed_lock.py +0 -0
  273. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/drift_detector.py +0 -0
  274. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/egress_cost_monitor.py +0 -0
  275. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/egress_optimizer.py +0 -0
  276. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/evaluation_orchestrator.py +0 -0
  277. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/event_system.py +0 -0
  278. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/gitops_manager.py +0 -0
  279. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/gpu_discovery.py +0 -0
  280. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/gpu_topology.py +0 -0
  281. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/helm_generator.py +0 -0
  282. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/hf_cli_integration.py +0 -0
  283. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/hf_smart_templates.py +0 -0
  284. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/hf_spaces.py +0 -0
  285. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/inference_router.py +0 -0
  286. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/inference_spot_manager.py +0 -0
  287. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/job_state_manager.py +0 -0
  288. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/kv_cache_checkpoint_manager.py +0 -0
  289. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/kv_cache_checkpoint_tests.py +0 -0
  290. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/kv_sharing.py +0 -0
  291. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/lora_consistency.py +0 -0
  292. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/lora_cost_attribution.py +0 -0
  293. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/lora_versioning.py +0 -0
  294. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/manifest_cache.py +0 -0
  295. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/manifest_example.json +0 -0
  296. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/mig_manager.py +0 -0
  297. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/migration_orchestrator.py +0 -0
  298. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/mla_vram_estimator.py +0 -0
  299. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/mla_vram_tests.py +0 -0
  300. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/model_orchestrator.py +0 -0
  301. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/oidc_provider.py +0 -0
  302. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/optimization_config.py +0 -0
  303. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/parallel_provisioner.py +0 -0
  304. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/pd_transport.py +0 -0
  305. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/pipeline_schema.py +0 -0
  306. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/preflight_validator.py +0 -0
  307. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/price_discovery.py +0 -0
  308. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/price_intelligence.py +0 -0
  309. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/public_ip_billing_tracker.py +0 -0
  310. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/quick_start.py +0 -0
  311. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/quota_manager.py +0 -0
  312. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/rate_limiter.py +0 -0
  313. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/rust_telemetry.py +0 -0
  314. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_router.py +0 -0
  315. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/__init__.py +0 -0
  316. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/base_signal.py +0 -0
  317. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/complexity_signal.py +0 -0
  318. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/domain_signal.py +0 -0
  319. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/keyword_signal.py +0 -0
  320. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/language_signal.py +0 -0
  321. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/modality_signal.py +0 -0
  322. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/orchestrator.py +0 -0
  323. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/routing_policy.yaml +0 -0
  324. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/semantic_signals/safety_signal.py +0 -0
  325. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/session_manager.py +0 -0
  326. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/ssh_key_manager.py +0 -0
  327. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/telemetry.py +0 -0
  328. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/terradev_engine.py +0 -0
  329. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/trace_viewer.py +0 -0
  330. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/training_monitor.py +0 -0
  331. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/training_orchestrator.py +0 -0
  332. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/user_manager.py +0 -0
  333. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/warm_pool_manager.py +0 -0
  334. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/weight_streaming_benchmarks.py +0 -0
  335. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/core/weight_streaming_manager.py +0 -0
  336. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/cost_optimizer.py +0 -0
  337. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/credential_prompt.py +0 -0
  338. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/demo.py +0 -0
  339. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/entry_point.py +0 -0
  340. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/Terradev LOGO BLACK.png +0 -0
  341. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/Terradev LOGO WHITEW.png +0 -0
  342. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/__init__.py +0 -0
  343. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/databricks_integration.py +0 -0
  344. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/datadog_integration.py +0 -0
  345. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/helicone_integration.py +0 -0
  346. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/prometheus_integration.py +0 -0
  347. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/integrations/wandb_integration.py +0 -0
  348. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/k8s/terraform_wrapper.py +0 -0
  349. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/kubernetes/inferx-cost-optimized.yaml +0 -0
  350. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/kubernetes/inferx-infrastructure.yaml +0 -0
  351. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/kubernetes/inferx-models.yaml +0 -0
  352. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/kubernetes/inferx-platform.yaml +0 -0
  353. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/kubernetes/inferx_setup.py +0 -0
  354. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/mcp/__init__.py +0 -0
  355. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/mcp/server.py +0 -0
  356. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/__init__.py +0 -0
  357. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/agentic_serving.py +0 -0
  358. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/drift_retrain_service.py +0 -0
  359. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/dvc_service.py +0 -0
  360. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/guardrails_service.py +0 -0
  361. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/huggingface_service.py +0 -0
  362. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/kserve_service.py +0 -0
  363. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/kubernetes_enhanced.py +0 -0
  364. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/kubernetes_service.py +0 -0
  365. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/langchain_service.py +0 -0
  366. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/langfuse_service.py +0 -0
  367. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/langgraph_service.py +0 -0
  368. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/lmcache_service.py +0 -0
  369. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/lora_registry.py +0 -0
  370. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/lorax_service.py +0 -0
  371. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/mlflow_service.py +0 -0
  372. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/model_router.py +0 -0
  373. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/ollama_service.py +0 -0
  374. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/peft_import_service.py +0 -0
  375. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/phoenix_service.py +0 -0
  376. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/qdrant_service.py +0 -0
  377. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/ray_enhanced.py +0 -0
  378. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/ray_service.py +0 -0
  379. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/sglang_service.py +0 -0
  380. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/vllm_service.py +0 -0
  381. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/ml_services/wandb_enhanced.py +0 -0
  382. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/optimization/__init__.py +0 -0
  383. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/optimization/auto_optimizer.py +0 -0
  384. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/optimization/cuco_optimizer.py +0 -0
  385. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/LATITUDE_PROVIDER.md +0 -0
  386. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/__init__.py +0 -0
  387. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/alibaba_provider.py +0 -0
  388. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/aws_provider.py +0 -0
  389. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/azure_provider.py +0 -0
  390. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/base_provider.py +0 -0
  391. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/baseten_provider.py +0 -0
  392. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/coreweave_provider.py +0 -0
  393. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/crusoe_provider.py +0 -0
  394. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/demo_mode.py +0 -0
  395. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/digitalocean_provider.py +0 -0
  396. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/e2e_networks_provider.py +0 -0
  397. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/fluidstack_provider.py +0 -0
  398. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/gcp_provider.py +0 -0
  399. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/gpu_catalog.py +0 -0
  400. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/hetzner_provider.py +0 -0
  401. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/huggingface_provider.py +0 -0
  402. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/hyperstack_provider.py +0 -0
  403. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/inferx_provider.py +0 -0
  404. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/lambda_labs_provider.py +0 -0
  405. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/latitude_provider.py +0 -0
  406. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/oracle_provider.py +0 -0
  407. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/ovhcloud_provider.py +0 -0
  408. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/provider_factory.py +0 -0
  409. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/provider_profiles.py +0 -0
  410. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/real_pricing.py +0 -0
  411. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/registry.py +0 -0
  412. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/runpod_provider.py +0 -0
  413. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/siliconflow_provider.py +0 -0
  414. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/tensordock_provider.py +0 -0
  415. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/types.py +0 -0
  416. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/vastai_provider.py +0 -0
  417. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/providers/yottalabs_provider.py +0 -0
  418. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/requirements.txt +0 -0
  419. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/requirements_minimal.txt +0 -0
  420. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/main.tf +0 -0
  421. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/__init__.py +0 -0
  422. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-aws/bootstrap.sh +0 -0
  423. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-aws/main.tf +0 -0
  424. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-aws/outputs.tf +0 -0
  425. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-aws/variables.tf +0 -0
  426. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-aws/versions.tf +0 -0
  427. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/bootstrap.sh +0 -0
  428. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/main.tf +0 -0
  429. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/outputs.tf +0 -0
  430. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/variables.tf +0 -0
  431. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-hyperstack/versions.tf +0 -0
  432. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-lambda/bootstrap.sh +0 -0
  433. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-lambda/main.tf +0 -0
  434. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-lambda/outputs.tf +0 -0
  435. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-lambda/variables.tf +0 -0
  436. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-lambda/versions.tf +0 -0
  437. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-vastai/bootstrap.sh +0 -0
  438. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-vastai/main.tf +0 -0
  439. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-vastai/outputs.tf +0 -0
  440. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-vastai/variables.tf +0 -0
  441. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/gpu-node-vastai/versions.tf +0 -0
  442. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/k8s-control-plane/join-script.tpl +0 -0
  443. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/k8s-control-plane/kubeconfig.tpl +0 -0
  444. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/k8s-control-plane/main.tf +0 -0
  445. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/k8s-control-plane/outputs.tf +0 -0
  446. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/k8s-control-plane/variables.tf +0 -0
  447. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/k8s-control-plane/versions.tf +0 -0
  448. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/networking/main.tf +0 -0
  449. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/networking/outputs.tf +0 -0
  450. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/networking/variables.tf +0 -0
  451. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/modules/networking/versions.tf +0 -0
  452. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/outputs.tf +0 -0
  453. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/price-optimizer/optimal-allocation.py +0 -0
  454. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/providers.tf +0 -0
  455. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/terraform/variables.tf +0 -0
  456. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/test_summary.py +0 -0
  457. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/utils/__init__.py +0 -0
  458. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli/utils/formatters.py +0 -0
  459. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli.egg-info/SOURCES.txt +0 -0
  460. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli.egg-info/dependency_links.txt +0 -0
  461. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli.egg-info/entry_points.txt +0 -0
  462. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli.egg-info/requires.txt +0 -0
  463. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terradev_cli.egg-info/top_level.txt +0 -0
  464. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform.tfvars.example +0 -0
  465. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_optimization/backend.tf +0 -0
  466. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_optimization/error_handling.py +0 -0
  467. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_optimization/parallel_provisioning.tf +0 -0
  468. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_optimization/storage_choice_matrix.py +0 -0
  469. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_optimization/test_error_handler.py +0 -0
  470. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_optimization/versions.tf +0 -0
  471. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/audit_demo/trail_3caed73ad5bf.json +0 -0
  472. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/audit_trail.py +0 -0
  473. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/audit_trails.json +0 -0
  474. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/decision_engine.py +0 -0
  475. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/decision_logs.json +0 -0
  476. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/operations.json +0 -0
  477. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/terraform_manager.py +0 -0
  478. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/terraform_plans.json +0 -0
  479. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/transparency_demo.py +0 -0
  480. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/terraform_transparency/transparency_report.json +0 -0
  481. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/CREDENTIAL_STRATEGY.md +0 -0
  482. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/INTEGRATION_STRATEGY.md +0 -0
  483. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/Makefile +0 -0
  484. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/ci_pipeline.py +0 -0
  485. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/conftest.py +0 -0
  486. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_cli_ux_battle.py +0 -0
  487. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_cli_ux_battle_fixed.py +0 -0
  488. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_cli_ux_final.py +0 -0
  489. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_final_integration.py +0 -0
  490. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_integrated_optimization.py +0 -0
  491. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_p10_production_failover.py +0 -0
  492. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_sso_phase1.py +0 -0
  493. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/root_tests/test_vllm_optimization.py +0 -0
  494. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/simple_test.py +0 -0
  495. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_ai_integrations.py +0 -0
  496. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_checkpoint_manager.py +0 -0
  497. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_cli_smoke.py +0 -0
  498. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_dag_executor.py +0 -0
  499. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_flashoptim.py +0 -0
  500. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_integration.py +0 -0
  501. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_job_state_manager.py +0 -0
  502. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_k8s_regression.py +0 -0
  503. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_latitude_provider.py +0 -0
  504. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_major_providers.py +0 -0
  505. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_mcp_handlers.py +0 -0
  506. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_new_providers.py +0 -0
  507. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_provider_conformance.py +0 -0
  508. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_providers.py +0 -0
  509. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_semantic_router.py +0 -0
  510. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_sglang_optimization.py +0 -0
  511. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_ssh_key_manager.py +0 -0
  512. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_training_monitor.py +0 -0
  513. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_training_orchestrator.py +0 -0
  514. {terradev_cli-5.4.4 → terradev_cli-5.4.6}/tests/test_vllm_features.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: terradev-cli
3
- Version: 5.4.4
3
+ Version: 5.4.6
4
4
  Summary: An imperative command-line-interface for AI workload orchestration.
5
5
  Author-email: Terradev Team <team@terradev.com>
6
6
  Maintainer-email: Terradev Team <team@terradev.com>
@@ -93,7 +93,7 @@ Requires-Dist: redis>=5.0.0; extra == "enterprise"
93
93
  Requires-Dist: PyJWT>=2.8.0; extra == "enterprise"
94
94
  Dynamic: license-file
95
95
 
96
- # Terradev CLI v5.4.4
96
+ # Terradev CLI v5.4.6
97
97
 
98
98
  **An imperative command-line-interface for AI workload orchestration.**
99
99
 
@@ -111,6 +111,28 @@ Continued focus on lower cost, faster provisioning, and topology-aware execution
111
111
 
112
112
  Model agnostic. Dataset agnostic. GPU agnostic. Provider agnostic. The only thing Terradev is not agnostic about is correctness: it enforces topology, idempotency, and sequencing.
113
113
 
114
+ **NOTES ON 5.4.6**
115
+
116
+ Added **debug logging** to `_get_provider_quotes()` for troubleshooting credential and API issues:
117
+
118
+ - **Purpose**: Added stderr debug output to log credentials being passed to each provider and the number of quotes returned. This helps diagnose why `terradev quote` returns empty results.
119
+
120
+ - **Changes**:
121
+ - Added `print(f"[DEBUG] {provider_name} creds: {creds}", file=sys.stderr)` to log credentials
122
+ - Added `print(f"[DEBUG] {provider_name} returned {len(raw_quotes) if raw_quotes else 0} quotes", file=sys.stderr)` to log quote counts
123
+
124
+ - **Impact**: Debug output appears in stderr when running `terradev quote`, helping identify credential issues, API failures, or empty responses from providers.
125
+
126
+ **NOTES ON 5.4.5**
127
+
128
+ Fixed **nested credential detection bug** in `is_first_time_user()`:
129
+
130
+ - **Bug**: The `is_first_time_user()` function only checked top-level credential values, but credentials now use nested dict format `{"runpod": {"api_key": "rpa_..."}}` from `configure --provider`. When a value was a dict, it was skipped entirely, so the function always returned `True` (first time user) even when real credentials existed.
131
+
132
+ - **Fix**: Added recursion into dict values to check nested credentials. The loop now handles both flat format `{"runpod_api_key": "rpa_..."}` and nested format `{"runpod": {"api_key": "rpa_..."}}`.
133
+
134
+ - **Impact**: Users with nested credential format are now correctly identified as having real credentials, preventing unwanted onboarding prompts and enabling proper credential validation.
135
+
114
136
  **NOTES ON 5.4.4**
115
137
 
116
138
  Fixed **case-sensitivity bug** in placeholder detection in `_provider_creds()`:
@@ -1,4 +1,4 @@
1
- # Terradev CLI v5.4.4
1
+ # Terradev CLI v5.4.6
2
2
 
3
3
  **An imperative command-line-interface for AI workload orchestration.**
4
4
 
@@ -16,6 +16,28 @@ Continued focus on lower cost, faster provisioning, and topology-aware execution
16
16
 
17
17
  Model agnostic. Dataset agnostic. GPU agnostic. Provider agnostic. The only thing Terradev is not agnostic about is correctness: it enforces topology, idempotency, and sequencing.
18
18
 
19
+ **NOTES ON 5.4.6**
20
+
21
+ Added **debug logging** to `_get_provider_quotes()` for troubleshooting credential and API issues:
22
+
23
+ - **Purpose**: Added stderr debug output to log credentials being passed to each provider and the number of quotes returned. This helps diagnose why `terradev quote` returns empty results.
24
+
25
+ - **Changes**:
26
+ - Added `print(f"[DEBUG] {provider_name} creds: {creds}", file=sys.stderr)` to log credentials
27
+ - Added `print(f"[DEBUG] {provider_name} returned {len(raw_quotes) if raw_quotes else 0} quotes", file=sys.stderr)` to log quote counts
28
+
29
+ - **Impact**: Debug output appears in stderr when running `terradev quote`, helping identify credential issues, API failures, or empty responses from providers.
30
+
31
+ **NOTES ON 5.4.5**
32
+
33
+ Fixed **nested credential detection bug** in `is_first_time_user()`:
34
+
35
+ - **Bug**: The `is_first_time_user()` function only checked top-level credential values, but credentials now use nested dict format `{"runpod": {"api_key": "rpa_..."}}` from `configure --provider`. When a value was a dict, it was skipped entirely, so the function always returned `True` (first time user) even when real credentials existed.
36
+
37
+ - **Fix**: Added recursion into dict values to check nested credentials. The loop now handles both flat format `{"runpod_api_key": "rpa_..."}` and nested format `{"runpod": {"api_key": "rpa_..."}}`.
38
+
39
+ - **Impact**: Users with nested credential format are now correctly identified as having real credentials, preventing unwanted onboarding prompts and enabling proper credential validation.
40
+
19
41
  **NOTES ON 5.4.4**
20
42
 
21
43
  Fixed **case-sensitivity bug** in placeholder detection in `_provider_creds()`:
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "terradev-cli"
7
- version = "5.4.4"
7
+ version = "5.4.6"
8
8
  description = "An imperative command-line-interface for AI workload orchestration."
9
9
  readme = "README.md"
10
10
  license = {text = "Apache-2.0"}
@@ -116,10 +116,18 @@ class TerradevAPI:
116
116
  # Check if all credentials are still placeholder values
117
117
  placeholder_patterns = ["your_", "example_", "test_", "placeholder_", "xxx"]
118
118
  for key, value in self.credentials.items():
119
- if value and isinstance(value, str) and not any(
119
+ if isinstance(value, dict):
120
+ # Check nested credentials (from configure --provider)
121
+ for nested_key, nested_value in value.items():
122
+ if nested_value and isinstance(nested_value, str) and not any(
123
+ pattern in nested_value.lower()
124
+ for pattern in placeholder_patterns
125
+ ):
126
+ return False # Found a real nested credential
127
+ elif value and isinstance(value, str) and not any(
120
128
  pattern in value.lower() for pattern in placeholder_patterns
121
129
  ):
122
- return False # Found a real credential
130
+ return False # Found a real flat credential
123
131
 
124
132
  return True # All credentials appear to be placeholders
125
133
 
@@ -479,9 +487,15 @@ class TerradevAPI:
479
487
 
480
488
  factory = ProviderFactory()
481
489
  creds = self._provider_creds(provider_name)
490
+
491
+ # Debug: log credentials for troubleshooting
492
+ import sys
493
+ print(f"[DEBUG] {provider_name} creds: {creds}", file=sys.stderr)
494
+
482
495
  provider = factory.create_provider(provider_name, creds)
483
496
  try:
484
497
  raw_quotes = await provider.get_instance_quotes(gpu_type)
498
+ print(f"[DEBUG] {provider_name} returned {len(raw_quotes) if raw_quotes else 0} quotes", file=sys.stderr)
485
499
  finally:
486
500
  # Close aiohttp session to avoid ResourceWarning
487
501
  if provider.session:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: terradev-cli
3
- Version: 5.4.4
3
+ Version: 5.4.6
4
4
  Summary: An imperative command-line-interface for AI workload orchestration.
5
5
  Author-email: Terradev Team <team@terradev.com>
6
6
  Maintainer-email: Terradev Team <team@terradev.com>
@@ -93,7 +93,7 @@ Requires-Dist: redis>=5.0.0; extra == "enterprise"
93
93
  Requires-Dist: PyJWT>=2.8.0; extra == "enterprise"
94
94
  Dynamic: license-file
95
95
 
96
- # Terradev CLI v5.4.4
96
+ # Terradev CLI v5.4.6
97
97
 
98
98
  **An imperative command-line-interface for AI workload orchestration.**
99
99
 
@@ -111,6 +111,28 @@ Continued focus on lower cost, faster provisioning, and topology-aware execution
111
111
 
112
112
  Model agnostic. Dataset agnostic. GPU agnostic. Provider agnostic. The only thing Terradev is not agnostic about is correctness: it enforces topology, idempotency, and sequencing.
113
113
 
114
+ **NOTES ON 5.4.6**
115
+
116
+ Added **debug logging** to `_get_provider_quotes()` for troubleshooting credential and API issues:
117
+
118
+ - **Purpose**: Added stderr debug output to log credentials being passed to each provider and the number of quotes returned. This helps diagnose why `terradev quote` returns empty results.
119
+
120
+ - **Changes**:
121
+ - Added `print(f"[DEBUG] {provider_name} creds: {creds}", file=sys.stderr)` to log credentials
122
+ - Added `print(f"[DEBUG] {provider_name} returned {len(raw_quotes) if raw_quotes else 0} quotes", file=sys.stderr)` to log quote counts
123
+
124
+ - **Impact**: Debug output appears in stderr when running `terradev quote`, helping identify credential issues, API failures, or empty responses from providers.
125
+
126
+ **NOTES ON 5.4.5**
127
+
128
+ Fixed **nested credential detection bug** in `is_first_time_user()`:
129
+
130
+ - **Bug**: The `is_first_time_user()` function only checked top-level credential values, but credentials now use nested dict format `{"runpod": {"api_key": "rpa_..."}}` from `configure --provider`. When a value was a dict, it was skipped entirely, so the function always returned `True` (first time user) even when real credentials existed.
131
+
132
+ - **Fix**: Added recursion into dict values to check nested credentials. The loop now handles both flat format `{"runpod_api_key": "rpa_..."}` and nested format `{"runpod": {"api_key": "rpa_..."}}`.
133
+
134
+ - **Impact**: Users with nested credential format are now correctly identified as having real credentials, preventing unwanted onboarding prompts and enabling proper credential validation.
135
+
114
136
  **NOTES ON 5.4.4**
115
137
 
116
138
  Fixed **case-sensitivity bug** in placeholder detection in `_provider_creds()`:
File without changes
File without changes
File without changes
File without changes
File without changes