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

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