opsmith-cli 0.4.5b0__tar.gz → 0.4.6b0__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 (137) hide show
  1. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/PKG-INFO +17 -15
  2. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/models.py +26 -80
  3. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/repo_map.py +3 -2
  4. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/pyproject.toml +17 -15
  5. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/uv.lock +796 -793
  6. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/.flake8 +0 -0
  7. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/.github/workflows/python-publish.yml +0 -0
  8. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/.gitignore +0 -0
  9. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/.pre-commit-config.yaml +0 -0
  10. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/CONVENTIONS.md +0 -0
  11. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/LICENSE.txt +0 -0
  12. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/README.md +0 -0
  13. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/__init__.py +0 -0
  14. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/agent.py +0 -0
  15. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/cloud_providers/__init__.py +0 -0
  16. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/cloud_providers/aws.py +0 -0
  17. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/cloud_providers/base.py +0 -0
  18. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/cloud_providers/gcp.py +0 -0
  19. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/constants.py +0 -0
  20. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/deployment_strategies/__init__.py +0 -0
  21. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/deployment_strategies/base.py +0 -0
  22. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/deployment_strategies/monolithic.py +0 -0
  23. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/exceptions.py +0 -0
  24. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/git_repo.py +0 -0
  25. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/infra_provisioners/__init__.py +0 -0
  26. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/infra_provisioners/ansible_provisioner.py +0 -0
  27. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/infra_provisioners/base_provisioner.py +0 -0
  28. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/infra_provisioners/terraform_provisioner.py +0 -0
  29. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/main.py +0 -0
  30. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/prompts.py +0 -0
  31. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/README.md +0 -0
  32. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/arduino-tags.scm +0 -0
  33. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/c-tags.scm +0 -0
  34. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  35. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/chatito-tags.scm +0 -0
  36. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/commonlisp-tags.scm +0 -0
  37. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  38. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/csharp-tags.scm +0 -0
  39. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/d-tags.scm +0 -0
  40. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/dart-tags.scm +0 -0
  41. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  42. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  43. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/elm-tags.scm +0 -0
  44. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/gleam-tags.scm +0 -0
  45. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/go-tags.scm +0 -0
  46. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  47. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/java-tags.scm +0 -0
  48. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  49. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  50. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/lua-tags.scm +0 -0
  51. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  52. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  53. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/php-tags.scm +0 -0
  54. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/pony-tags.scm +0 -0
  55. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/properties-tags.scm +0 -0
  56. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/python-tags.scm +0 -0
  57. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/ql-tags.scm +0 -0
  58. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/r-tags.scm +0 -0
  59. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/racket-tags.scm +0 -0
  60. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  61. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/rust-tags.scm +0 -0
  62. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/scala-tags.scm +0 -0
  63. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/solidity-tags.scm +0 -0
  64. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/swift-tags.scm +0 -0
  65. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  66. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/queries/tree-sitter-languages/udev-tags.scm +0 -0
  67. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/service_detector.py +0 -0
  68. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/settings.py +0 -0
  69. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/cloud_storage_cleanup/aws/main.yml +0 -0
  70. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/cloud_storage_cleanup/gcp/main.yml +0 -0
  71. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/container_registry/aws/main.tf +0 -0
  72. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/container_registry/aws/outputs.tf +0 -0
  73. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/container_registry/aws/variables.tf +0 -0
  74. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/container_registry/gcp/main.tf +0 -0
  75. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/container_registry/gcp/outputs.tf +0 -0
  76. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/container_registry/gcp/variables.tf +0 -0
  77. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_build_push/aws/main.yml +0 -0
  78. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_build_push/gcp/main.yml +0 -0
  79. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_deploy/aws/inventory.yml +0 -0
  80. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_deploy/aws/main.yml +0 -0
  81. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_deploy/gcp/inventory.yml +0 -0
  82. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_deploy/gcp/main.yml +0 -0
  83. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_run/aws/inventory.yml +0 -0
  84. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_run/aws/main.yml +0 -0
  85. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_run/gcp/inventory.yml +0 -0
  86. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_run/gcp/main.yml +0 -0
  87. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_snippets/base.yml +0 -0
  88. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_snippets/elasticsearch.yml +0 -0
  89. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_snippets/kafka.yml +0 -0
  90. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_snippets/mongodb.yml +0 -0
  91. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_snippets/mysql.yml +0 -0
  92. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_snippets/postgresql.yml +0 -0
  93. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_snippets/rabbitmq.yml +0 -0
  94. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_snippets/redis.yml +0 -0
  95. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_snippets/services/backend_api.yml +0 -0
  96. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_snippets/services/backend_worker.yml +0 -0
  97. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_snippets/services/full_stack.yml +0 -0
  98. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_snippets/traefik.yml +0 -0
  99. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/docker_compose_snippets/weaviate.yml +0 -0
  100. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/dockerfiles/python_backend_api +0 -0
  101. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/dockerfiles/python_backend_worker +0 -0
  102. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/fetch_remote_files/aws/inventory.yml +0 -0
  103. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/fetch_remote_files/aws/main.yml +0 -0
  104. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/fetch_remote_files/gcp/inventory.yml +0 -0
  105. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/fetch_remote_files/gcp/main.yml +0 -0
  106. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_bucket_cert/aws/main.tf +0 -0
  107. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_bucket_cert/aws/outputs.tf +0 -0
  108. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_bucket_cert/aws/variables.tf +0 -0
  109. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_bucket_cert/gcp/main.tf +0 -0
  110. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_bucket_cert/gcp/outputs.tf +0 -0
  111. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_bucket_cert/gcp/variables.tf +0 -0
  112. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_cdn/aws/main.tf +0 -0
  113. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_cdn/aws/outputs.tf +0 -0
  114. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_cdn/aws/variables.tf +0 -0
  115. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_cdn/gcp/main.tf +0 -0
  116. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_cdn/gcp/outputs.tf +0 -0
  117. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_cdn/gcp/variables.tf +0 -0
  118. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_deploy/aws/main.yml +0 -0
  119. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/frontend_deploy/gcp/main.yml +0 -0
  120. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/virtual_machine/aws/main.tf +0 -0
  121. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/virtual_machine/aws/outputs.tf +0 -0
  122. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/virtual_machine/aws/variables.tf +0 -0
  123. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/virtual_machine/gcp/main.tf +0 -0
  124. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/virtual_machine/gcp/outputs.tf +0 -0
  125. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/virtual_machine/gcp/variables.tf +0 -0
  126. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/virtual_machine_setup/aws/inventory.yml +0 -0
  127. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/virtual_machine_setup/aws/main.yml +0 -0
  128. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/virtual_machine_setup/gcp/inventory.yml +0 -0
  129. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/templates/virtual_machine_setup/gcp/main.yml +0 -0
  130. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/tests/__init__.py +0 -0
  131. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/tests/test_service_detector.py +0 -0
  132. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/types.py +0 -0
  133. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/opsmith/utils.py +0 -0
  134. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/resources/deploy_demo.gif +0 -0
  135. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/resources/deploy_demo.svg +0 -0
  136. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/resources/setup_demo.gif +0 -0
  137. {opsmith_cli-0.4.5b0 → opsmith_cli-0.4.6b0}/resources/setup_demo.svg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opsmith-cli
3
- Version: 0.4.5b0
3
+ Version: 0.4.6b0
4
4
  Summary: Opsmith is an AI devops engineer in your terminal
5
5
  License-Expression: GPL-3.0-only
6
6
  License-File: LICENSE.txt
@@ -14,25 +14,27 @@ Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
15
  Classifier: Programming Language :: Python :: 3.13
16
16
  Classifier: Topic :: Software Development
17
- Requires-Python: >=3.11
18
- Requires-Dist: ansible==12.3.0
19
- Requires-Dist: gitpython==3.1.45
20
- Requires-Dist: google-api-python-client==2.187.0
21
- Requires-Dist: google-cloud-compute==1.40.0
22
- Requires-Dist: google-cloud-resource-manager==1.15.0
23
- Requires-Dist: google-cloud-storage==3.7.0
17
+ Requires-Python: >=3.12
18
+ Requires-Dist: ansible==14.1.0
19
+ Requires-Dist: gitpython==3.1.50
20
+ Requires-Dist: google-api-python-client==2.197.0
21
+ Requires-Dist: google-cloud-compute==1.48.0
22
+ Requires-Dist: google-cloud-resource-manager==1.17.0
23
+ Requires-Dist: google-cloud-storage==3.12.0
24
24
  Requires-Dist: grep-ast==0.9.0
25
25
  Requires-Dist: inquirer==3.4.1
26
26
  Requires-Dist: jinja2==3.1.6
27
27
  Requires-Dist: networkx==3.6.1
28
- Requires-Dist: pick==2.4.0
29
- Requires-Dist: pydantic-ai==1.37.0
30
- Requires-Dist: pydantic==2.12.5
31
- Requires-Dist: python-dotenv==1.2.1
28
+ Requires-Dist: pick==2.6.0
29
+ Requires-Dist: pydantic-ai==1.107.0
30
+ Requires-Dist: pydantic==2.13.4
31
+ Requires-Dist: python-dotenv==1.2.2
32
32
  Requires-Dist: pyyaml==6.0.3
33
- Requires-Dist: tqdm==4.67.1
34
- Requires-Dist: tree-sitter-language-pack==0.13.0
35
- Requires-Dist: typer==0.20.1
33
+ Requires-Dist: rich==15.0.0
34
+ Requires-Dist: tqdm==4.68.3
35
+ Requires-Dist: tree-sitter-language-pack==1.9.1
36
+ Requires-Dist: tree-sitter==0.25.2
37
+ Requires-Dist: typer==0.26.7
36
38
  Description-Content-Type: text/markdown
37
39
 
38
40
  # Opsmith: An AI devops engineer in your terminal
@@ -3,10 +3,13 @@ import os
3
3
  from importlib.metadata import entry_points
4
4
  from typing import Dict, List, Optional, Tuple, Type
5
5
 
6
- from google.genai.types import ThinkingConfigDict
6
+ from google.genai.types import ThinkingConfigDict, ThinkingLevel
7
7
  from pydantic_ai.models.anthropic import AnthropicModelSettings
8
8
  from pydantic_ai.models.google import GoogleModelSettings
9
- from pydantic_ai.models.openai import OpenAIModelSettings
9
+ from pydantic_ai.models.openai import (
10
+ OpenAIChatModelSettings,
11
+ OpenAIResponsesModelSettings,
12
+ )
10
13
  from pydantic_ai.settings import ModelSettings
11
14
  from rich import print
12
15
 
@@ -100,13 +103,10 @@ class ModelRegistry:
100
103
  def _load_builtin_models(self):
101
104
  """Load built-in models"""
102
105
  for model_cls in [
103
- OpenAIGPT41,
104
- OpenAIGPTO3,
105
- OpenAIGPT5,
106
- AnthropicClaudeSonnet37,
107
- AnthropicClaudeSonnet4,
108
- AnthropicClaudeSonnet45,
109
- GoogleGlaGemini25Pro,
106
+ OpenAIGPT55,
107
+ OpenAIGPT55Pro,
108
+ AnthropicClaudeSonnet46,
109
+ AnthropicClaudeOpus48,
110
110
  GoogleGlaGemini3Pro,
111
111
  ]:
112
112
  self.register(model_cls)
@@ -127,10 +127,10 @@ class ModelRegistry:
127
127
  )
128
128
 
129
129
 
130
- class OpenAIGPT41(BaseAiModel):
130
+ class OpenAIGPT55(BaseAiModel):
131
131
  @classmethod
132
132
  def name(cls) -> str:
133
- return "gpt-4.1"
133
+ return "gpt-5.5"
134
134
 
135
135
  @classmethod
136
136
  def provider(cls) -> str:
@@ -143,17 +143,18 @@ class OpenAIGPT41(BaseAiModel):
143
143
  @classmethod
144
144
  def get_model_settings(cls) -> ModelSettings:
145
145
  """Returns model-specific settings."""
146
- return OpenAIModelSettings()
146
+ return OpenAIChatModelSettings(openai_reasoning_effort="high")
147
147
 
148
148
 
149
- class OpenAIGPTO3(BaseAiModel):
149
+ class OpenAIGPT55Pro(BaseAiModel):
150
150
  @classmethod
151
151
  def name(cls) -> str:
152
- return "o3"
152
+ return "gpt-5.5-pro"
153
153
 
154
154
  @classmethod
155
155
  def provider(cls) -> str:
156
- return "openai"
156
+ # Pro reasoning models are only served via the OpenAI Responses API.
157
+ return "openai-responses"
157
158
 
158
159
  @classmethod
159
160
  def api_key_prefix(cls) -> str:
@@ -162,32 +163,13 @@ class OpenAIGPTO3(BaseAiModel):
162
163
  @classmethod
163
164
  def get_model_settings(cls) -> ModelSettings:
164
165
  """Returns model-specific settings."""
165
- return OpenAIModelSettings(openai_reasoning_effort="high")
166
+ return OpenAIResponsesModelSettings(openai_reasoning_effort="medium")
166
167
 
167
168
 
168
- class OpenAIGPT5(BaseAiModel):
169
+ class AnthropicClaudeSonnet46(BaseAiModel):
169
170
  @classmethod
170
171
  def name(cls) -> str:
171
- return "gpt-5"
172
-
173
- @classmethod
174
- def provider(cls) -> str:
175
- return "openai"
176
-
177
- @classmethod
178
- def api_key_prefix(cls) -> str:
179
- return "OPENAI"
180
-
181
- @classmethod
182
- def get_model_settings(cls) -> ModelSettings:
183
- """Returns model-specific settings."""
184
- return OpenAIModelSettings()
185
-
186
-
187
- class AnthropicClaudeSonnet37(BaseAiModel):
188
- @classmethod
189
- def name(cls) -> str:
190
- return "claude-3-7-sonnet-20250219"
172
+ return "claude-sonnet-4-6"
191
173
 
192
174
  @classmethod
193
175
  def provider(cls) -> str:
@@ -200,13 +182,13 @@ class AnthropicClaudeSonnet37(BaseAiModel):
200
182
  @classmethod
201
183
  def get_model_settings(cls) -> ModelSettings:
202
184
  """Returns model-specific settings."""
203
- return AnthropicModelSettings()
185
+ return AnthropicModelSettings(anthropic_effort="high")
204
186
 
205
187
 
206
- class AnthropicClaudeSonnet4(BaseAiModel):
188
+ class AnthropicClaudeOpus48(BaseAiModel):
207
189
  @classmethod
208
190
  def name(cls) -> str:
209
- return "claude-sonnet-4-20250514"
191
+ return "claude-opus-4-8"
210
192
 
211
193
  @classmethod
212
194
  def provider(cls) -> str:
@@ -219,45 +201,7 @@ class AnthropicClaudeSonnet4(BaseAiModel):
219
201
  @classmethod
220
202
  def get_model_settings(cls) -> ModelSettings:
221
203
  """Returns model-specific settings."""
222
- return AnthropicModelSettings()
223
-
224
-
225
- class AnthropicClaudeSonnet45(BaseAiModel):
226
- @classmethod
227
- def name(cls) -> str:
228
- return "claude-sonnet-4-5-20250929"
229
-
230
- @classmethod
231
- def provider(cls) -> str:
232
- return "anthropic"
233
-
234
- @classmethod
235
- def api_key_prefix(cls) -> str:
236
- return "ANTHROPIC"
237
-
238
- @classmethod
239
- def get_model_settings(cls) -> ModelSettings:
240
- """Returns model-specific settings."""
241
- return AnthropicModelSettings()
242
-
243
-
244
- class GoogleGlaGemini25Pro(BaseAiModel):
245
- @classmethod
246
- def name(cls) -> str:
247
- return "gemini-2.5-pro"
248
-
249
- @classmethod
250
- def provider(cls) -> str:
251
- return "google-gla"
252
-
253
- @classmethod
254
- def api_key_prefix(cls) -> str:
255
- return "GEMINI"
256
-
257
- @classmethod
258
- def get_model_settings(cls) -> ModelSettings:
259
- """Returns model-specific settings."""
260
- return GoogleModelSettings(google_thinking_config=ThinkingConfigDict(thinking_budget=-1))
204
+ return AnthropicModelSettings(anthropic_effort="medium")
261
205
 
262
206
 
263
207
  class GoogleGlaGemini3Pro(BaseAiModel):
@@ -276,7 +220,9 @@ class GoogleGlaGemini3Pro(BaseAiModel):
276
220
  @classmethod
277
221
  def get_model_settings(cls) -> ModelSettings:
278
222
  """Returns model-specific settings."""
279
- return GoogleModelSettings(google_thinking_config=ThinkingConfigDict(thinking_level="HIGH"))
223
+ return GoogleModelSettings(
224
+ google_thinking_config=ThinkingConfigDict(thinking_level=ThinkingLevel.HIGH)
225
+ )
280
226
 
281
227
 
282
228
  MODEL_REGISTRY = ModelRegistry()
@@ -8,6 +8,7 @@ import typer
8
8
  from grep_ast import TreeContext, filename_to_lang
9
9
  from grep_ast.tsl import get_language, get_parser
10
10
  from tqdm import tqdm
11
+ from tree_sitter import Query, QueryCursor
11
12
 
12
13
  from opsmith.constants import ROOT_IMPORTANT_FILES
13
14
  from opsmith.git_repo import GitRepo
@@ -272,8 +273,8 @@ class RepoMap:
272
273
  return tags
273
274
 
274
275
  tree = parser_module.parse(bytes(code, "utf-8"))
275
- query = language_module.query(query_scm_content)
276
- captures = query.captures(tree.root_node)
276
+ query = Query(language_module, query_scm_content)
277
+ captures = QueryCursor(query).captures(tree.root_node)
277
278
 
278
279
  processed_tags = set() # To avoid duplicate tags from different patterns
279
280
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "opsmith-cli"
3
- version = "0.4.5b"
3
+ version = "0.4.6b"
4
4
  description = "Opsmith is an AI devops engineer in your terminal"
5
5
  readme = {file = "README.md", content-type = "text/markdown"}
6
6
  classifiers = [
@@ -16,26 +16,28 @@ classifiers = [
16
16
  "Topic :: Software Development",
17
17
  ]
18
18
  license = "GPL-3.0-only"
19
- requires-python = ">=3.11"
19
+ requires-python = ">=3.12"
20
20
  dependencies = [
21
- "ansible==12.3.0",
22
- "gitpython==3.1.45",
23
- "google-api-python-client==2.187.0",
24
- "google-cloud-compute==1.40.0",
25
- "google-cloud-resource-manager==1.15.0",
26
- "google-cloud-storage==3.7.0",
21
+ "ansible==14.1.0",
22
+ "gitpython==3.1.50",
23
+ "google-api-python-client==2.197.0",
24
+ "google-cloud-compute==1.48.0",
25
+ "google-cloud-resource-manager==1.17.0",
26
+ "google-cloud-storage==3.12.0",
27
27
  "grep-ast==0.9.0",
28
28
  "inquirer==3.4.1",
29
29
  "jinja2==3.1.6",
30
30
  "networkx==3.6.1",
31
- "pick==2.4.0",
32
- "pydantic==2.12.5",
33
- "pydantic-ai==1.37.0",
34
- "python-dotenv==1.2.1",
31
+ "pick==2.6.0",
32
+ "pydantic==2.13.4",
33
+ "pydantic-ai==1.107.0",
34
+ "python-dotenv==1.2.2",
35
35
  "pyyaml==6.0.3",
36
- "tqdm==4.67.1",
37
- "tree-sitter-language-pack==0.13.0",
38
- "typer==0.20.1",
36
+ "rich==15.0.0",
37
+ "tqdm==4.68.3",
38
+ "tree-sitter==0.25.2",
39
+ "tree-sitter-language-pack==1.9.1",
40
+ "typer==0.26.7",
39
41
  ]
40
42
 
41
43
  [project.scripts]