thothctl 0.18.3__tar.gz → 0.18.5__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 (502) hide show
  1. {thothctl-0.18.3 → thothctl-0.18.5}/PKG-INFO +1 -1
  2. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/ai-review/README.md +65 -0
  3. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/check_project_iac.md +51 -6
  4. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/inventory_iac.md +27 -37
  5. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/analyze.py +3 -1
  6. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/orchestrate.py +10 -0
  7. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/inventory/commands/iac.py +14 -6
  8. thothctl-0.18.5/src/thothctl/version.py +2 -0
  9. thothctl-0.18.3/src/thothctl/version.py +0 -2
  10. {thothctl-0.18.3 → thothctl-0.18.5}/.devcontainer/Dockerfile +0 -0
  11. {thothctl-0.18.3 → thothctl-0.18.5}/.devcontainer/README.md +0 -0
  12. {thothctl-0.18.3 → thothctl-0.18.5}/.devcontainer/devcontainer.json +0 -0
  13. {thothctl-0.18.3 → thothctl-0.18.5}/.github/workflows/docs.yml +0 -0
  14. {thothctl-0.18.3 → thothctl-0.18.5}/.github/workflows/python-publish.yml +0 -0
  15. {thothctl-0.18.3 → thothctl-0.18.5}/.gitignore +0 -0
  16. {thothctl-0.18.3 → thothctl-0.18.5}/.pre-commit-config.yaml +0 -0
  17. {thothctl-0.18.3 → thothctl-0.18.5}/.readthedocs.yaml +0 -0
  18. {thothctl-0.18.3 → thothctl-0.18.5}/Dockerfile +0 -0
  19. {thothctl-0.18.3 → thothctl-0.18.5}/LICENSE +0 -0
  20. {thothctl-0.18.3 → thothctl-0.18.5}/README.md +0 -0
  21. {thothctl-0.18.3 → thothctl-0.18.5}/__init__.py +0 -0
  22. {thothctl-0.18.3 → thothctl-0.18.5}/docs/catalog/catalog-info.yaml +0 -0
  23. {thothctl-0.18.3 → thothctl-0.18.5}/docs/dashboard/README.md +0 -0
  24. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/ai-review/agent_specifications.md +0 -0
  25. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/ai-review/agentcore.md +0 -0
  26. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/blast-radius.md +0 -0
  27. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/check_environment.md +0 -0
  28. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/check_iac.md +0 -0
  29. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/check_overview.md +0 -0
  30. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/check_space.md +0 -0
  31. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/cost-analysis-quick-reference.md +0 -0
  32. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/cost-analysis.md +0 -0
  33. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/customizing_rules.md +0 -0
  34. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/deps-advanced.md +0 -0
  35. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/deps.md +0 -0
  36. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/drift-detection.md +0 -0
  37. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/plan.md +0 -0
  38. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/document/customizing_docs.md +0 -0
  39. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/document/document_iac.md +0 -0
  40. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/document/document_overview.md +0 -0
  41. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/document/iac.md +0 -0
  42. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/document/use_cases.md +0 -0
  43. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/generate/generate_components.md +0 -0
  44. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/generate/generate_stacks.md +0 -0
  45. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/init/init.md +0 -0
  46. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/init/init_space.md +0 -0
  47. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/CHANGELOG.md +0 -0
  48. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/frameworks/terraform.md +0 -0
  49. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/frameworks/terragrunt.md +0 -0
  50. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/iac.md +0 -0
  51. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/inventory_overview.md +0 -0
  52. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/list/list_overview.md +0 -0
  53. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/list/list_projects.md +0 -0
  54. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/list/list_spaces.md +0 -0
  55. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/mcp/mcp.md +0 -0
  56. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/project/iac.md +0 -0
  57. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/project/project_cleanup.md +0 -0
  58. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/project/project_convert.md +0 -0
  59. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/project/project_overview.md +0 -0
  60. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/project/project_upgrade.md +0 -0
  61. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/project/use_cases.md +0 -0
  62. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/remove/remove_overview.md +0 -0
  63. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/remove/remove_project.md +0 -0
  64. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/remove/remove_space.md +0 -0
  65. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/scan/iac.md +0 -0
  66. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/scan/scan_iac.md +0 -0
  67. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/scan/scan_overview.md +0 -0
  68. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/scan/use_cases.md +0 -0
  69. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/upgrade/upgrade_overview.md +0 -0
  70. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/concepts.md +0 -0
  71. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/cross_platform_support.md +0 -0
  72. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/framework_architecture.md +0 -0
  73. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/infrasctructure_composition.md +0 -0
  74. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/policy_as_code.md +0 -0
  75. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/roadmap_fdi.md +0 -0
  76. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/software_architecture.md +0 -0
  77. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/space_configuration.md +0 -0
  78. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/README.md +0 -0
  79. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/ai_dlc.md +0 -0
  80. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/check_command.md +0 -0
  81. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/devsecops_quickstart.md +0 -0
  82. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/devsecops_sdlc.md +0 -0
  83. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/inventory_command.md +0 -0
  84. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/platform_engineering_templates.md +0 -0
  85. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/space_management.md +0 -0
  86. {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/tasks/create_template.md +0 -0
  87. {thothctl-0.18.3 → thothctl-0.18.5}/docs/iac_devsecops_use_case.md +0 -0
  88. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/automate_tasks_command.png +0 -0
  89. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/commnad_init.png +0 -0
  90. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/create_component.gif +0 -0
  91. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/create_inventory.gif +0 -0
  92. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/doc_command.png +0 -0
  93. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/document_project_code.gif +0 -0
  94. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/framework/thothforge-framework.svg +0 -0
  95. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/framework/thothfr.png +0 -0
  96. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/iacpeerbot_summary.png +0 -0
  97. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/icon-light.png +0 -0
  98. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/icon.png +0 -0
  99. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/init_project.gif +0 -0
  100. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/inventory_command.png +0 -0
  101. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/notification_img.png +0 -0
  102. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/report_dependencies.png +0 -0
  103. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/report_dependencies_summary.png +0 -0
  104. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/restore_inventory_version.gif +0 -0
  105. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/reuse_project_pattern.gif +0 -0
  106. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/scan_code.gif +0 -0
  107. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/scan_command.png +0 -0
  108. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/stable/scan_report_example.png +0 -0
  109. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/sync_wk_command.png +0 -0
  110. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/transform_command.png +0 -0
  111. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/update_inventory_version.gif +0 -0
  112. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/validate_command.png +0 -0
  113. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/validate_environment.gif +0 -0
  114. {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/validate_project.gif +0 -0
  115. {thothctl-0.18.3 → thothctl-0.18.5}/docs/includes/abbreviations.md +0 -0
  116. {thothctl-0.18.3 → thothctl-0.18.5}/docs/index.md +0 -0
  117. {thothctl-0.18.3 → thothctl-0.18.5}/docs/installation/linux_installation.md +0 -0
  118. {thothctl-0.18.3 → thothctl-0.18.5}/docs/installation/windows_installation.md +0 -0
  119. {thothctl-0.18.3 → thothctl-0.18.5}/docs/javascripts/tablesort.js +0 -0
  120. {thothctl-0.18.3 → thothctl-0.18.5}/docs/mcp.md +0 -0
  121. {thothctl-0.18.3 → thothctl-0.18.5}/docs/navigation.md +0 -0
  122. {thothctl-0.18.3 → thothctl-0.18.5}/docs/quick_start.md +0 -0
  123. {thothctl-0.18.3 → thothctl-0.18.5}/docs/requirements.txt +0 -0
  124. {thothctl-0.18.3 → thothctl-0.18.5}/docs/stylesheets/extra-enhanced.css +0 -0
  125. {thothctl-0.18.3 → thothctl-0.18.5}/docs/stylesheets/extra.css +0 -0
  126. {thothctl-0.18.3 → thothctl-0.18.5}/docs/telemetry.md +0 -0
  127. {thothctl-0.18.3 → thothctl-0.18.5}/docs/template_engine/cli_commands_audit.md +0 -0
  128. {thothctl-0.18.3 → thothctl-0.18.5}/docs/template_engine/for_developers.md +0 -0
  129. {thothctl-0.18.3 → thothctl-0.18.5}/docs/template_engine/for_platform_engineers.md +0 -0
  130. {thothctl-0.18.3 → thothctl-0.18.5}/docs/template_engine/github_templates.md +0 -0
  131. {thothctl-0.18.3 → thothctl-0.18.5}/docs/template_engine/template_engine.md +0 -0
  132. {thothctl-0.18.3 → thothctl-0.18.5}/docs/troubleshooting/linux_troubleshooting.md +0 -0
  133. {thothctl-0.18.3 → thothctl-0.18.5}/docs/troubleshooting/macos_troubleshooting.md +0 -0
  134. {thothctl-0.18.3 → thothctl-0.18.5}/docs/troubleshooting/troubleshooting.md +0 -0
  135. {thothctl-0.18.3 → thothctl-0.18.5}/docs/troubleshooting/windows_troubleshooting.md +0 -0
  136. {thothctl-0.18.3 → thothctl-0.18.5}/mkdocs.yaml +0 -0
  137. {thothctl-0.18.3 → thothctl-0.18.5}/pyproject.toml +0 -0
  138. {thothctl-0.18.3 → thothctl-0.18.5}/scripts/run_mcp_server.sh +0 -0
  139. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/__init__.py +0 -0
  140. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/application/__init__.py +0 -0
  141. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/autocomplete.py +0 -0
  142. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/cli.py +0 -0
  143. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/__init__.py +0 -0
  144. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/__init__.py +0 -0
  145. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/cli.py +0 -0
  146. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/__init__.py +0 -0
  147. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/apply_fix.py +0 -0
  148. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/configure.py +0 -0
  149. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/configure_decisions.py +0 -0
  150. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/decide.py +0 -0
  151. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/history.py +0 -0
  152. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/improve.py +0 -0
  153. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/override.py +0 -0
  154. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/report.py +0 -0
  155. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/serve.py +0 -0
  156. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/__init__.py +0 -0
  157. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/cli.py +0 -0
  158. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/commands/__init__.py +0 -0
  159. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/commands/environment.py +0 -0
  160. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/commands/iac.py +0 -0
  161. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/commands/project/__init__.py +0 -0
  162. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/commands/project/iac.py +0 -0
  163. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/commands/project.py +0 -0
  164. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/dashboard/__init__.py +0 -0
  165. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/dashboard/cli.py +0 -0
  166. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/dashboard/commands/__init__.py +0 -0
  167. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/dashboard/commands/launch.py +0 -0
  168. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/document/__init__.py +0 -0
  169. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/document/cli.py +0 -0
  170. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/document/commands/__init__.py +0 -0
  171. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/document/commands/iac.py +0 -0
  172. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/generate/__init__.py +0 -0
  173. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/generate/cli.py +0 -0
  174. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/generate/commands/__init__.py +0 -0
  175. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/generate/commands/component.py +0 -0
  176. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/generate/commands/stacks.py +0 -0
  177. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/__init__.py +0 -0
  178. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/cli.py +0 -0
  179. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/commands/__init__.py +0 -0
  180. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/commands/env.py +0 -0
  181. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/commands/project.py +0 -0
  182. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/commands/space.py +0 -0
  183. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/commands/template.py +0 -0
  184. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/inventory/__init__.py +0 -0
  185. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/inventory/cli.py +0 -0
  186. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/inventory/commands/__init__.py +0 -0
  187. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/inventory/commands/check.py +0 -0
  188. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/list/__init__.py +0 -0
  189. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/list/cli.py +0 -0
  190. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/list/commands/__init__.py +0 -0
  191. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/list/commands/projects.py +0 -0
  192. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/list/commands/spaces.py +0 -0
  193. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/__init__.py +0 -0
  194. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/cli.py +0 -0
  195. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/commands/__init__.py +0 -0
  196. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/commands/register.py +0 -0
  197. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/commands/server.py +0 -0
  198. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/commands/status.py +0 -0
  199. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/commands/stop.py +0 -0
  200. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/__init__.py +0 -0
  201. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/cli.py +0 -0
  202. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/commands/__init__.py +0 -0
  203. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/commands/bootstrap.py +0 -0
  204. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/commands/cleanup.py +0 -0
  205. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/commands/convert.py +0 -0
  206. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/commands/upgrade.py +0 -0
  207. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/remove/__init__.py +0 -0
  208. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/remove/cli.py +0 -0
  209. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/remove/project.py +0 -0
  210. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/remove/space.py +0 -0
  211. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/scan/__init__.py +0 -0
  212. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/scan/cli.py +0 -0
  213. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/scan/commands/__init__.py +0 -0
  214. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/scan/commands/iac.py +0 -0
  215. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/space/__init__.py +0 -0
  216. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/space/cli.py +0 -0
  217. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/space/commands/__init__.py +0 -0
  218. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/space/commands/activate.py +0 -0
  219. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/space/commands/show.py +0 -0
  220. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/space/commands/update.py +0 -0
  221. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/upgrade/cli.py +0 -0
  222. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/.thothcf.setup.toml +0 -0
  223. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/.thothcf_home.toml +0 -0
  224. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/.thothcf_module.toml +0 -0
  225. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/.thothcf_project.toml +0 -0
  226. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/.thothcf_template_parameters.toml +0 -0
  227. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/__init__.py +0 -0
  228. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/common.py +0 -0
  229. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/terragrunt/.thothcf_project.toml +0 -0
  230. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/__init__.py +0 -0
  231. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/constants.py +0 -0
  232. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/default_values.py +0 -0
  233. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/defaults.py +0 -0
  234. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/models.py +0 -0
  235. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/settings.py +0 -0
  236. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/template_config.py +0 -0
  237. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/template_configs.py +0 -0
  238. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/templates.py +0 -0
  239. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/validation.py +0 -0
  240. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/__init__.py +0 -0
  241. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/cli_ui.py +0 -0
  242. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/commands.py +0 -0
  243. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/config.py +0 -0
  244. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/__init__.py +0 -0
  245. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/azure_devops/__init__.py +0 -0
  246. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/azure_devops/get_azure_devops.py +0 -0
  247. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/azure_devops/pull_request_comments.py +0 -0
  248. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/github/get_github.py +0 -0
  249. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/github/pull_request_comments.py +0 -0
  250. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/integrate_messages_services/__init__.py +0 -0
  251. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/integrate_messages_services/microsoft_teams.py +0 -0
  252. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/integrate_messages_services/sent_message_teams.py +0 -0
  253. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/pattern_names.py +0 -0
  254. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/pr_comments/__init__.py +0 -0
  255. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/pr_comments/pr_comment_publisher.py +0 -0
  256. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/logger.py +0 -0
  257. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/telemetry.py +0 -0
  258. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/version_tools.py +0 -0
  259. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/domain/__init__.py +0 -0
  260. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/domain/interfaces/__init__.py +0 -0
  261. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/domain/models/__init__.py +0 -0
  262. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/mcp/README.md +0 -0
  263. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/mcp/__init__.py +0 -0
  264. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/mcp/server.py +0 -0
  265. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/__init__.py +0 -0
  266. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/__init__.py +0 -0
  267. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/agentcore/agentcore.json +0 -0
  268. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/ai_agent.py +0 -0
  269. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/analyzers/__init__.py +0 -0
  270. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/analyzers/code_reviewer.py +0 -0
  271. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/analyzers/context_builder.py +0 -0
  272. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/analyzers/report_analyzer.py +0 -0
  273. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/analyzers/risk_assessor.py +0 -0
  274. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/bedrock_agent_api.py +0 -0
  275. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/config/__init__.py +0 -0
  276. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/config/ai_settings.py +0 -0
  277. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/config/decision_rules.py +0 -0
  278. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/decision_engine.py +0 -0
  279. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/main.py +0 -0
  280. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/memory.py +0 -0
  281. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/orchestrator.py +0 -0
  282. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/pr_decision_publisher.py +0 -0
  283. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/providers/__init__.py +0 -0
  284. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/providers/azure_provider.py +0 -0
  285. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/providers/bedrock_agent_provider.py +0 -0
  286. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/providers/bedrock_provider.py +0 -0
  287. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/providers/ollama_provider.py +0 -0
  288. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/providers/openai_provider.py +0 -0
  289. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/safety/__init__.py +0 -0
  290. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/safety/safety_guard.py +0 -0
  291. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/strands_agent.py +0 -0
  292. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/tracing.py +0 -0
  293. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/utils/__init__.py +0 -0
  294. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/utils/cost_tracker.py +0 -0
  295. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/utils/fix_patterns.py +0 -0
  296. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/utils/fix_prompts.py +0 -0
  297. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/utils/formatters.py +0 -0
  298. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/utils/prompts.py +0 -0
  299. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/__init__.py +0 -0
  300. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/environment/__init__.py +0 -0
  301. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/environment/check_environment.py +0 -0
  302. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/org_policy_loader.py +0 -0
  303. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/__init__.py +0 -0
  304. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/blast_radius_service.py +0 -0
  305. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/check_origin_version.py +0 -0
  306. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/check_project_structure.py +0 -0
  307. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/__init__.py +0 -0
  308. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/cost_analyzer.py +0 -0
  309. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/models/__init__.py +0 -0
  310. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/models/cloudformation_mapper.py +0 -0
  311. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/models/cost_models.py +0 -0
  312. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/__init__.py +0 -0
  313. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/aws_pricing_client.py +0 -0
  314. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/base_pricing.py +0 -0
  315. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/__init__.py +0 -0
  316. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/apigateway_pricing.py +0 -0
  317. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/bedrock_pricing.py +0 -0
  318. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/cloudwatch_pricing.py +0 -0
  319. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/dynamodb_pricing.py +0 -0
  320. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/ebs_pricing.py +0 -0
  321. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/ec2_pricing.py +0 -0
  322. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/ecs_pricing.py +0 -0
  323. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/eip_pricing.py +0 -0
  324. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/eks_pricing.py +0 -0
  325. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/elb_pricing.py +0 -0
  326. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/free_resources_pricing.py +0 -0
  327. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/kms_pricing.py +0 -0
  328. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/lambda_pricing.py +0 -0
  329. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/msk_pricing.py +0 -0
  330. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/rds_pricing.py +0 -0
  331. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/s3_pricing.py +0 -0
  332. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/secrets_manager_pricing.py +0 -0
  333. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/vpc_pricing.py +0 -0
  334. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/unified_cost_report.py +0 -0
  335. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/__init__.py +0 -0
  336. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/drift_ai.py +0 -0
  337. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/drift_history.py +0 -0
  338. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/drift_policy.py +0 -0
  339. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/drift_report.py +0 -0
  340. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/drift_service.py +0 -0
  341. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/models.py +0 -0
  342. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/risk_assessment.py +0 -0
  343. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/validate_project_structure.py +0 -0
  344. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/rule_merger.py +0 -0
  345. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/stack_optimizer/__init__.py +0 -0
  346. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/dashboard/__init__.py +0 -0
  347. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/dashboard/dashboard_service.py +0 -0
  348. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/dashboard/data_loader.py +0 -0
  349. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/__init__.py +0 -0
  350. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/create_documentation.py +0 -0
  351. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/files_content.py +0 -0
  352. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/files_scan.py +0 -0
  353. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/iac_documentation.py +0 -0
  354. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/iac_grunt_graph.py +0 -0
  355. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/iac_grunt_info.py +0 -0
  356. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/__init__.py +0 -0
  357. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_stacks/__init__.py +0 -0
  358. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_stacks/config_generator.py +0 -0
  359. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_stacks/remote_config_generation.py +0 -0
  360. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_stacks/stack_service.py +0 -0
  361. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_stacks/templates/terragrunt.hcl.j2 +0 -0
  362. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/__init__.py +0 -0
  363. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/config.yaml +0 -0
  364. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/create_code.py +0 -0
  365. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/create_component.py +0 -0
  366. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/create_component_service.py +0 -0
  367. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/create_stacks.py +0 -0
  368. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/create_template.py +0 -0
  369. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/files_content.py +0 -0
  370. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/github_template_loader.py +0 -0
  371. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/project_templates.py +0 -0
  372. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/__init__.py +0 -0
  373. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/environment/__init__.py +0 -0
  374. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/environment/install_tools.py +0 -0
  375. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/project/__init__.py +0 -0
  376. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/project/project.py +0 -0
  377. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/space/__init__.py +0 -0
  378. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/space/example_space.toml +0 -0
  379. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/space/local_registry.py +0 -0
  380. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/space/space.py +0 -0
  381. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/__init__.py +0 -0
  382. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/changelog_parser.py +0 -0
  383. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/inventory_service.py +0 -0
  384. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/models.py +0 -0
  385. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/module_compatibility_service.py +0 -0
  386. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/report_service.py +0 -0
  387. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/schema_compatibility_service.py +0 -0
  388. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/terragrunt_parser.py +0 -0
  389. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/update_versions.py +0 -0
  390. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/version_service.py +0 -0
  391. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/mcp/README.md +0 -0
  392. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/mcp/__init__.py +0 -0
  393. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/mcp/simple_http_server.py +0 -0
  394. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/mcp/stdio_server.py +0 -0
  395. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/__init__.py +0 -0
  396. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/bootstrap/__init__.py +0 -0
  397. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/bootstrap/bootstrap_service.py +0 -0
  398. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/cleanup/__init__.py +0 -0
  399. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/cleanup/clean_project.py +0 -0
  400. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/cleanup/clean_space.py +0 -0
  401. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/__init__.py +0 -0
  402. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/conversion_service.py +0 -0
  403. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/get_project_data.py +0 -0
  404. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/post_init.py +0 -0
  405. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/project_converter.py +0 -0
  406. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/project_defaults.py +0 -0
  407. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/set_project_parameters.py +0 -0
  408. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/create_terramate/__init__.py +0 -0
  409. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/create_terramate/create_terramate_stacks.py +0 -0
  410. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/create_terramate/detect_changes_stacks.py +0 -0
  411. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/create_terramate/manage_terramate_stacks.py +0 -0
  412. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/upgrade/__init__.py +0 -0
  413. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/upgrade/upgrade_service.py +0 -0
  414. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/__init__.py +0 -0
  415. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/compliance_review.py +0 -0
  416. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/import_reports.py +0 -0
  417. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/models.py +0 -0
  418. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/report_parser.py +0 -0
  419. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/sarif_output.py +0 -0
  420. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scan_history.py +0 -0
  421. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scan_service.py +0 -0
  422. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/__init__.py +0 -0
  423. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/checkov.py +0 -0
  424. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/kics.py +0 -0
  425. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/opa.py +0 -0
  426. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/scan_reports.py +0 -0
  427. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/scanners.py +0 -0
  428. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/terraform_compliance.py +0 -0
  429. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/tfsec.py +0 -0
  430. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/trivy.py +0 -0
  431. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/templates/reports/inventory_report.html +0 -0
  432. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/templates/reports/inventory_report.js +0 -0
  433. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/templates/unified_report_styles.css +0 -0
  434. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/__init__.py +0 -0
  435. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/banner.py +0 -0
  436. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/__init__.py +0 -0
  437. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/create_compliance_html_reports.py +0 -0
  438. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/create_html_reports.py +0 -0
  439. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/delete_directory.py +0 -0
  440. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/fix_report_styling.py +0 -0
  441. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/render_scan_report.py +0 -0
  442. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/report_html_utils.py +0 -0
  443. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/dashboard.html +0 -0
  444. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/index_report.html +0 -0
  445. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/individual_report.html +0 -0
  446. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/simple_report.html +0 -0
  447. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/unified_report_styles.css +0 -0
  448. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/unified_scan_report.html +0 -0
  449. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/unified_simple_report.html +0 -0
  450. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/xunit_report.html +0 -0
  451. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/crypto.py +0 -0
  452. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/manage_backend_resources/__init__.py +0 -0
  453. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/manage_backend_resources/manage_backend_resources.py +0 -0
  454. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/modules_ops/__init__.py +0 -0
  455. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/modules_ops/terraform_module_details.py +0 -0
  456. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/modules_ops/terraform_modules_fetcher.py +0 -0
  457. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/platform_utils.py +0 -0
  458. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/process_hcl/__init__.py +0 -0
  459. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/process_hcl/analyze_terraform_plan.py +0 -0
  460. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/process_hcl/graph_manager.py +0 -0
  461. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/process_hcl/graph_terragrunt_dependencies.py +0 -0
  462. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/process_hcl/process_terraform_file.py +0 -0
  463. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/process_hcl/risk_analyzing_terraform_plan.py +0 -0
  464. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/sync_workspaces/__init__.py +0 -0
  465. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/sync_workspaces/sync_terraform_workspaces.py +0 -0
  466. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/sync_workspaces/sync_terragrunt_workspaces.py +0 -0
  467. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/template_loader.py +0 -0
  468. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/thoth_colors.py +0 -0
  469. {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/wellcome_banner.py +0 -0
  470. {thothctl-0.18.3 → thothctl-0.18.5}/tests/conftest.py +0 -0
  471. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_agentcore_entrypoint.py +0 -0
  472. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_aws_pricing_client.py +0 -0
  473. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_azure_devops_pr_comments.py +0 -0
  474. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_bedrock_pricing.py +0 -0
  475. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_cdk_language_selection.py +0 -0
  476. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_context_steering.py +0 -0
  477. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_cost_analyzer.py +0 -0
  478. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_cost_models.py +0 -0
  479. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_cost_pr_comments.py +0 -0
  480. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_dashboard_loading_fix.py +0 -0
  481. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_dashboard_service.py +0 -0
  482. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_drift.py +0 -0
  483. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_drift_detection.py +0 -0
  484. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_ec2_pricing.py +0 -0
  485. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_github_pr_comments.py +0 -0
  486. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_iac_cost_integration.py +0 -0
  487. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_inventory_pr_comments.py +0 -0
  488. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_kics_scanner.py +0 -0
  489. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_mermaid_edge_labels.py +0 -0
  490. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_new_cost_providers.py +0 -0
  491. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_parallel_scan.py +0 -0
  492. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_platform_utils.py +0 -0
  493. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_pr_comment_publisher.py +0 -0
  494. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_provider_source_url_fix.py +0 -0
  495. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_provider_versions.py +0 -0
  496. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_scan_pr_comments.py +0 -0
  497. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_space_command.py +0 -0
  498. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_space_management.py +0 -0
  499. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_stack_optimizer.py +0 -0
  500. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_template_url_fix.py +0 -0
  501. {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_terragrunt_parser.py +0 -0
  502. {thothctl-0.18.3 → thothctl-0.18.5}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: thothctl
3
- Version: 0.18.3
3
+ Version: 0.18.5
4
4
  Summary: A CLI for Developer Control Plane. Accelerate your cloud IaC deployments.
5
5
  Project-URL: SourceCode, https://github.com/thothforge/thothctl
6
6
  Project-URL: HomePage, https://github.com/thothforge/thothctl
@@ -541,6 +541,71 @@ The `improve` command includes 13 built-in fix patterns that work without AI:
541
541
  | `CKV_AWS_116` | Add Lambda dead letter config |
542
542
  | `CKV_AWS_272` | Enable Lambda code signing |
543
543
 
544
+ ## Token Usage & Cost Tracking
545
+
546
+ Every AI interaction reports token consumption (input/output) and estimated cost in the command output:
547
+
548
+ ```
549
+ 💰 Today's AI cost: $0.0234 (3 requests, ↑12,450 in / ↓3,210 out tokens)
550
+ ```
551
+
552
+ ### Per-Command Output
553
+
554
+ | Command | Token Info Shown |
555
+ |---------|-----------------|
556
+ | `analyze` | Daily totals: cost, requests, input/output tokens |
557
+ | `orchestrate` | Per-run: cost, input/output tokens, model used |
558
+ | `report` | Full breakdown by period, provider, and model |
559
+
560
+ ### Cost Report
561
+
562
+ ```bash
563
+ # Daily summary
564
+ thothctl ai-review report --period daily
565
+
566
+ # Monthly breakdown
567
+ thothctl ai-review report --period monthly
568
+
569
+ # Export to JSON
570
+ thothctl ai-review report --period monthly --export costs.json
571
+ ```
572
+
573
+ Output:
574
+ ```
575
+ ┌────────────────────┬──────────────┐
576
+ │ Metric │ Value │
577
+ ├────────────────────┼──────────────┤
578
+ │ Total Cost │ $0.1240 │
579
+ │ Total Requests │ 12 │
580
+ │ Input Tokens │ 45,200 │
581
+ │ Output Tokens │ 8,340 │
582
+ └────────────────────┴──────────────┘
583
+ ```
584
+
585
+ ### Budget Controls
586
+
587
+ ```bash
588
+ # Set daily and monthly limits
589
+ thothctl ai-review configure --daily-limit 50 --monthly-budget 200
590
+ ```
591
+
592
+ | Control | Default | Description |
593
+ |---------|---------|-------------|
594
+ | Daily limit | $100 | Max spend per day |
595
+ | Monthly budget | $200 | Max spend per month |
596
+ | Auto fallback | true | Falls back to pattern-based fixes when budget exceeded |
597
+
598
+ Cost logs are stored at `.thothctl/ai_costs/<date>.jsonl` (one JSON record per API call).
599
+
600
+ ### Supported Pricing
601
+
602
+ | Provider | Tracked | Notes |
603
+ |----------|---------|-------|
604
+ | OpenAI | ✅ | GPT-3.5, GPT-4, GPT-4 Turbo |
605
+ | Bedrock | ✅ | Claude 3 Sonnet, Haiku |
606
+ | Azure OpenAI | ✅ | Same as OpenAI pricing |
607
+ | Ollama | ✅ (zero cost) | Local models — no API charges |
608
+
544
609
  ## MCP Integration
545
610
 
546
611
  The AI review is exposed as an MCP tool (`thothctl_ai_review`) for AI assistant interoperability:
@@ -19,6 +19,7 @@ Options:
19
19
  Project type: stack or module [default: stack]
20
20
  --org-policy TEXT Organization policy source (Git URL or local path)
21
21
  --enforcement [soft|hard] Enforcement mode: soft (report) or hard (fail pipeline)
22
+ --skip-org-policy Skip organizational policy check (project exceptions)
22
23
  --help Show this message and exit.
23
24
  ```
24
25
 
@@ -26,9 +27,52 @@ Options:
26
27
 
27
28
  ThothCTL can enforce organizational standards that projects **cannot override**. This ensures all projects in your organization follow the same structure, naming, and tagging rules — regardless of what individual `.thothcf.toml` files contain.
28
29
 
30
+ ### Policy Resolution Order
31
+
32
+ ThothCTL resolves the org policy source in this order:
33
+
34
+ | Priority | Source | Example |
35
+ |----------|--------|---------|
36
+ | 1 | `--org-policy` flag | `--org-policy https://github.com/myorg/policies.git` |
37
+ | 2 | `THOTH_ORG_POLICY` env var | `export THOTH_ORG_POLICY=https://github.com/myorg/policies.git` |
38
+ | 3 | **Active space's `governance.policy_repo`** | Set via `thothctl space update <name> --policy-repo <url>` |
39
+ | 4 | None (skip org policy) | No org rules applied |
40
+
41
+ ### Space Integration
42
+
43
+ When a space is active and has a `policy_repo` configured, organizational rules are loaded **automatically** — no flags or env vars needed:
44
+
45
+ ```bash
46
+ # 1. Configure your space with the org policy repo
47
+ thothctl space update platform-team --policy-repo https://github.com/myorg/org-policies.git
48
+
49
+ # 2. Activate the space
50
+ thothctl space activate platform-team
51
+
52
+ # 3. Run check — org rules load automatically
53
+ thothctl check project iac -p stack
54
+
55
+ # Output:
56
+ # 📜 Loading org policy from: /home/user/.thothcf/.policy_cache/abc123
57
+ # ✅ Organization policy check passed
58
+ ```
59
+
60
+ ### Skipping Org Policy (Project Exceptions)
61
+
62
+ Projects that have explicit exceptions from organizational rules can skip the check:
63
+
64
+ ```bash
65
+ thothctl check project iac -p stack --skip-org-policy
66
+ ```
67
+
68
+ This is useful for:
69
+ - Experimental/prototype projects not yet conforming to standards
70
+ - Legacy projects with approved exceptions
71
+ - Third-party imported projects
72
+
29
73
  ### How It Works
30
74
 
31
- 1. Set `THOTH_ORG_POLICY` to your org policy Git repo (or pass `--org-policy`)
75
+ 1. ThothCTL resolves the policy source (see resolution order above)
32
76
  2. The repo contains `rules/base.toml` + `rules/<project_type>.toml`
33
77
  3. ThothCTL merges org rules with project rules — **mandatory org rules cannot be weakened**
34
78
  4. Violations are reported with enforcement level (mandatory = fail, recommended = warn)
@@ -36,7 +80,11 @@ ThothCTL can enforce organizational standards that projects **cannot override**.
36
80
  ### Usage
37
81
 
38
82
  ```bash
39
- # Via env var (CI/CD recommended)
83
+ # Automatic via active space (preferred)
84
+ thothctl space activate platform-team
85
+ thothctl check project iac --enforcement hard
86
+
87
+ # Via env var (CI/CD)
40
88
  export THOTH_ORG_POLICY=https://github.com/myorg/org-policies.git
41
89
  thothctl check project iac --enforcement hard
42
90
 
@@ -44,11 +92,8 @@ thothctl check project iac --enforcement hard
44
92
  export THOTH_ORG_POLICY=https://github.com/myorg/org-policies.git@v1.0
45
93
  thothctl check project iac --enforcement hard
46
94
 
47
- # Via flag
95
+ # Via flag (explicit override)
48
96
  thothctl check project iac --org-policy /path/to/org-policies --enforcement hard
49
-
50
- # Local path (development)
51
- thothctl check project iac --org-policy ../org-iac-policies
52
97
  ```
53
98
 
54
99
  ### Enforcement Levels
@@ -6,10 +6,9 @@ The `thothctl inventory iac` command creates, updates, and manages an inventory
6
6
 
7
7
  ## Recent Improvements ✨
8
8
 
9
- - **🎯 Unified Version Checking**: Single `--check-versions` flag handles both module and provider version checking
9
+ - **🎯 Independent Version Checking**: Separate flags for module versions (`-cv`) and provider versions (`-cpv`) — check what you need
10
10
  - **🎨 Modern HTML Reports**: Professional styling with Inter font, gradients, and responsive design
11
11
  - **📊 Enhanced Provider Analysis**: Comprehensive provider version tracking with status indicators
12
- - **🚀 Intelligent Automation**: Automatic provider checking when version checking is enabled
13
12
  - **📱 Responsive Design**: Reports work perfectly on desktop, tablet, and mobile devices
14
13
 
15
14
  ## Command Options
@@ -20,33 +19,21 @@ Usage: thothctl inventory iac [OPTIONS]
20
19
  Create a inventory about IaC modules composition for terraform/tofu/terragrunt projects
21
20
 
22
21
  Options:
23
- -pj, --project-name TEXT Specify a custom project name for the
24
- inventory report
25
- --provider-tool [tofu|terraform]
26
- Tool to use for checking providers (default:
27
- tofu)
28
- --check-providers Check and report provider information for
29
- each stack (automatically enabled with
30
- --check-versions)
31
- --complete Include .terraform and .terragrunt-cache
32
- folders in analysis (complete analysis)
33
- -ft, --framework-type [auto|terraform|terragrunt|terraform-terragrunt]
34
- Framework type to analyze (auto for
35
- automatic detection)
22
+ -cv, --check-versions Check latest versions for modules
23
+ -cpv, --check-provider-versions Check latest versions for providers
24
+ --check-providers Check and report provider information for each stack
25
+ -ft, --framework-type [auto|terraform|terragrunt|terraform-terragrunt|module|cdkv2]
26
+ Framework type to analyze (auto for automatic detection)
36
27
  -r, --report-type [html|json|cyclonedx|all]
37
- Type of report to generate (cyclonedx
38
- generates OWASP CycloneDX SBOM format)
28
+ Type of report to generate
39
29
  -iact, --inventory-action [create|update|restore]
40
30
  Action for inventory tasks
41
- -auto, --auto-approve Use with --update_dependencies option for
42
- auto approve updating dependencies.
43
- -updep, --update-dependencies-path
44
- Pass the inventory json file path for
45
- updating dependencies.
46
- -cv, --check-versions Check latest versions for modules and
47
- providers (includes provider version
48
- checking)
49
31
  -iph, --inventory-path PATH Path for saving inventory reports
32
+ -pj, --project-name TEXT Custom project name for the report
33
+ --provider-tool [tofu|terraform]
34
+ Tool to use for checking providers (default: tofu)
35
+ --complete Include .terraform and .terragrunt-cache in analysis
36
+ -auto, --auto-approve Auto approve updating dependencies
50
37
  --post-to-pr Post inventory summary as a PR comment
51
38
  (Azure DevOps or GitHub)
52
39
  --vcs-provider [auto|azure_repos|github]
@@ -67,18 +54,21 @@ thothctl inventory iac
67
54
 
68
55
  This creates an inventory of all IaC components in the current directory and generates a **modern HTML report** in the default location (`./Reports/Inventory`).
69
56
 
70
- ### Create an Inventory with Version Checking (Recommended) 🚀
57
+ ### Create an Inventory with Version Checking
71
58
 
72
59
  ```bash
73
- thothctl inventory iac --check-versions
74
- ```
60
+ # Check module versions only
61
+ thothctl inventory iac -cv
75
62
 
76
- This creates a comprehensive inventory that:
77
- - Checks latest versions for all modules
78
- - ✅ Automatically enables provider checking
79
- - Analyzes provider versions against registries
80
- - Shows "Latest Version" and "Status" columns
81
- - ✅ Generates modern, professional HTML reports
63
+ # Check provider versions only
64
+ thothctl inventory iac -cpv
65
+
66
+ # Check both module and provider versions
67
+ thothctl inventory iac -cv -cpv
68
+
69
+ # Provider info without version lookup
70
+ thothctl inventory iac --check-providers
71
+ ```
82
72
 
83
73
  ### Generate Different Report Types
84
74
 
@@ -100,7 +90,7 @@ thothctl inventory iac --report-type all
100
90
 
101
91
  ```bash
102
92
  thothctl inventory iac \
103
- --check-versions \
93
+ -cv -cpv \
104
94
  --inventory-path ./docs/infrastructure \
105
95
  --project-name "Production Infrastructure"
106
96
  ```
@@ -129,10 +119,10 @@ ThothCTL now supports generating **CycloneDX Software Bill of Materials (SBOM)**
129
119
  ### Example:
130
120
  ```bash
131
121
  # Generate CycloneDX SBOM for security audit
132
- thothctl inventory iac --check-versions --report-type cyclonedx
122
+ thothctl inventory iac -cv -cpv --report-type cyclonedx
133
123
 
134
124
  # Complete analysis with all formats including SBOM
135
- thothctl inventory iac --check-versions --report-type all
125
+ thothctl inventory iac -cv -cpv --report-type all
136
126
  ```
137
127
 
138
128
  The CycloneDX report includes:
@@ -61,7 +61,9 @@ class AnalyzeCommand(ClickCommand):
61
61
  if cost_report["total_cost"] > 0:
62
62
  self.ui.print_info(
63
63
  f"💰 Today's AI cost: ${cost_report['total_cost']:.4f} "
64
- f"({cost_report['total_requests']} requests)"
64
+ f"({cost_report['total_requests']} requests, "
65
+ f"↑{cost_report['total_input_tokens']:,} in / "
66
+ f"↓{cost_report['total_output_tokens']:,} out tokens)"
65
67
  )
66
68
 
67
69
  except ImportError as e:
@@ -91,6 +91,16 @@ class OrchestrateCommand(ClickCommand):
91
91
  json.dump(data, f, indent=2, default=str)
92
92
  self.ui.print_success(f"Full results saved to {output}")
93
93
 
94
+ # Show token usage
95
+ if hasattr(result, 'cost') and result.cost:
96
+ cost = result.cost
97
+ self.ui.print_info(
98
+ f"💰 Usage: ${cost.get('total_cost', 0):.4f} | "
99
+ f"↑{cost.get('input_tokens', 0):,} in / "
100
+ f"↓{cost.get('output_tokens', 0):,} out tokens | "
101
+ f"Model: {cost.get('model', 'unknown')}"
102
+ )
103
+
94
104
  def _display_security(self, data):
95
105
  summary = data.get("summary", {})
96
106
  table = Table(title="🔒 Security Agent")
@@ -52,6 +52,7 @@ class IaCInvCommand(ClickCommand):
52
52
  framework_type: str = "auto",
53
53
  complete: bool = False,
54
54
  check_providers: bool = False,
55
+ check_provider_versions: bool = False,
55
56
  check_schema_compatibility: bool = False,
56
57
  provider_tool: str = "tofu",
57
58
  project_name: Optional[str] = None,
@@ -101,7 +102,7 @@ class IaCInvCommand(ClickCommand):
101
102
  framework_type=framework_type,
102
103
  complete=complete,
103
104
  check_providers=check_providers,
104
- check_provider_versions=check_versions, # Use unified flag for provider versions too
105
+ check_provider_versions=check_provider_versions,
105
106
  check_schema_compatibility=check_schema_compatibility,
106
107
  provider_tool=provider_tool,
107
108
  project_name=project_name,
@@ -181,8 +182,8 @@ class IaCInvCommand(ClickCommand):
181
182
  self.ui.print_info("🔍 Schema compatibility analysis enabled - this may take additional time")
182
183
 
183
184
  with self.ui.status_spinner("Creating infrastructure inventory..."):
184
- # When check_versions is enabled, automatically enable provider checking
185
- effective_check_providers = check_providers or check_versions
185
+ # Enable provider checking if provider versions are requested
186
+ effective_check_providers = check_providers or check_provider_versions
186
187
 
187
188
  inventory = await self.inventory_service.create_inventory(
188
189
  source_directory=source_dir,
@@ -192,7 +193,7 @@ class IaCInvCommand(ClickCommand):
192
193
  framework_type=framework_type,
193
194
  complete=complete,
194
195
  check_providers=effective_check_providers,
195
- check_provider_versions=check_versions,
196
+ check_provider_versions=check_provider_versions,
196
197
  check_schema_compatibility=check_schema_compatibility,
197
198
  provider_tool=provider_tool,
198
199
  project_name=project_name,
@@ -510,7 +511,7 @@ cli = IaCInvCommand.as_click_command(
510
511
  "--check-versions",
511
512
  is_flag=True,
512
513
  default=False,
513
- help="Check latest versions for modules and providers (includes provider version checking)",
514
+ help="Check latest versions for modules",
514
515
  ),
515
516
  click.option(
516
517
  "-updep",
@@ -557,7 +558,14 @@ cli = IaCInvCommand.as_click_command(
557
558
  "--check-providers",
558
559
  is_flag=True,
559
560
  default=False,
560
- help="Check and report provider information for each stack (automatically enabled with --check-versions)",
561
+ help="Check and report provider information for each stack",
562
+ ),
563
+ click.option(
564
+ "--check-provider-versions",
565
+ "-cpv",
566
+ is_flag=True,
567
+ default=False,
568
+ help="Check latest versions for providers (can be used independently or with --check-versions)",
561
569
  ),
562
570
  click.option(
563
571
  "--check-schema-compatibility",
@@ -0,0 +1,2 @@
1
+ """Version module."""
2
+ __version__ = "0.18.5"
@@ -1,2 +0,0 @@
1
- """Version module."""
2
- __version__ = "0.18.3"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes