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.
- {thothctl-0.18.3 → thothctl-0.18.5}/PKG-INFO +1 -1
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/ai-review/README.md +65 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/check_project_iac.md +51 -6
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/inventory_iac.md +27 -37
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/analyze.py +3 -1
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/orchestrate.py +10 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/inventory/commands/iac.py +14 -6
- thothctl-0.18.5/src/thothctl/version.py +2 -0
- thothctl-0.18.3/src/thothctl/version.py +0 -2
- {thothctl-0.18.3 → thothctl-0.18.5}/.devcontainer/Dockerfile +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/.devcontainer/README.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/.devcontainer/devcontainer.json +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/.github/workflows/docs.yml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/.github/workflows/python-publish.yml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/.gitignore +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/.pre-commit-config.yaml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/.readthedocs.yaml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/Dockerfile +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/LICENSE +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/README.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/catalog/catalog-info.yaml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/dashboard/README.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/ai-review/agent_specifications.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/ai-review/agentcore.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/blast-radius.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/check_environment.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/check_iac.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/check_overview.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/check_space.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/cost-analysis-quick-reference.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/cost-analysis.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/customizing_rules.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/deps-advanced.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/deps.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/drift-detection.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/plan.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/document/customizing_docs.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/document/document_iac.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/document/document_overview.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/document/iac.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/document/use_cases.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/generate/generate_components.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/generate/generate_stacks.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/init/init.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/init/init_space.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/CHANGELOG.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/frameworks/terraform.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/frameworks/terragrunt.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/iac.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/inventory_overview.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/list/list_overview.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/list/list_projects.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/list/list_spaces.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/mcp/mcp.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/project/iac.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/project/project_cleanup.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/project/project_convert.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/project/project_overview.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/project/project_upgrade.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/project/use_cases.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/remove/remove_overview.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/remove/remove_project.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/remove/remove_space.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/scan/iac.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/scan/scan_iac.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/scan/scan_overview.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/scan/use_cases.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/upgrade/upgrade_overview.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/concepts.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/cross_platform_support.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/framework_architecture.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/infrasctructure_composition.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/policy_as_code.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/roadmap_fdi.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/software_architecture.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/space_configuration.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/README.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/ai_dlc.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/check_command.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/devsecops_quickstart.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/devsecops_sdlc.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/inventory_command.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/platform_engineering_templates.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/space_management.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/tasks/create_template.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/iac_devsecops_use_case.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/automate_tasks_command.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/commnad_init.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/create_component.gif +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/create_inventory.gif +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/doc_command.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/document_project_code.gif +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/framework/thothforge-framework.svg +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/framework/thothfr.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/iacpeerbot_summary.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/icon-light.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/icon.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/init_project.gif +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/inventory_command.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/notification_img.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/report_dependencies.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/report_dependencies_summary.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/restore_inventory_version.gif +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/reuse_project_pattern.gif +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/scan_code.gif +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/scan_command.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/stable/scan_report_example.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/sync_wk_command.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/transform_command.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/update_inventory_version.gif +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/validate_command.png +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/validate_environment.gif +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/img/validate_project.gif +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/includes/abbreviations.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/index.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/installation/linux_installation.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/installation/windows_installation.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/javascripts/tablesort.js +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/mcp.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/navigation.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/quick_start.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/requirements.txt +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/stylesheets/extra-enhanced.css +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/stylesheets/extra.css +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/telemetry.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/template_engine/cli_commands_audit.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/template_engine/for_developers.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/template_engine/for_platform_engineers.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/template_engine/github_templates.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/template_engine/template_engine.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/troubleshooting/linux_troubleshooting.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/troubleshooting/macos_troubleshooting.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/troubleshooting/troubleshooting.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/docs/troubleshooting/windows_troubleshooting.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/mkdocs.yaml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/pyproject.toml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/scripts/run_mcp_server.sh +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/application/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/autocomplete.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/apply_fix.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/configure.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/configure_decisions.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/decide.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/history.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/improve.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/override.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/report.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/ai_review/commands/serve.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/commands/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/commands/environment.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/commands/iac.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/commands/project/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/commands/project/iac.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/check/commands/project.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/dashboard/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/dashboard/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/dashboard/commands/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/dashboard/commands/launch.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/document/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/document/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/document/commands/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/document/commands/iac.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/generate/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/generate/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/generate/commands/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/generate/commands/component.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/generate/commands/stacks.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/commands/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/commands/env.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/commands/project.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/commands/space.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/init/commands/template.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/inventory/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/inventory/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/inventory/commands/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/inventory/commands/check.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/list/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/list/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/list/commands/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/list/commands/projects.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/list/commands/spaces.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/commands/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/commands/register.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/commands/server.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/commands/status.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/mcp/commands/stop.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/commands/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/commands/bootstrap.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/commands/cleanup.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/commands/convert.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/project/commands/upgrade.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/remove/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/remove/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/remove/project.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/remove/space.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/scan/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/scan/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/scan/commands/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/scan/commands/iac.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/space/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/space/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/space/commands/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/space/commands/activate.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/space/commands/show.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/space/commands/update.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/commands/upgrade/cli.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/.thothcf.setup.toml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/.thothcf_home.toml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/.thothcf_module.toml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/.thothcf_project.toml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/.thothcf_template_parameters.toml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/common.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/common/terragrunt/.thothcf_project.toml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/constants.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/default_values.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/defaults.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/models.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/settings.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/template_config.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/template_configs.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/templates.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/config/validation.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/cli_ui.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/commands.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/config.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/azure_devops/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/azure_devops/get_azure_devops.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/azure_devops/pull_request_comments.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/github/get_github.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/github/pull_request_comments.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/integrate_messages_services/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/integrate_messages_services/microsoft_teams.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/integrate_messages_services/sent_message_teams.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/pattern_names.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/pr_comments/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/integrations/pr_comments/pr_comment_publisher.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/logger.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/telemetry.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/core/version_tools.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/domain/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/domain/interfaces/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/domain/models/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/mcp/README.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/mcp/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/mcp/server.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/agentcore/agentcore.json +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/ai_agent.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/analyzers/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/analyzers/code_reviewer.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/analyzers/context_builder.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/analyzers/report_analyzer.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/analyzers/risk_assessor.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/bedrock_agent_api.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/config/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/config/ai_settings.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/config/decision_rules.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/decision_engine.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/main.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/memory.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/orchestrator.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/pr_decision_publisher.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/providers/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/providers/azure_provider.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/providers/bedrock_agent_provider.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/providers/bedrock_provider.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/providers/ollama_provider.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/providers/openai_provider.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/safety/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/safety/safety_guard.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/strands_agent.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/tracing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/utils/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/utils/cost_tracker.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/utils/fix_patterns.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/utils/fix_prompts.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/utils/formatters.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/ai_review/utils/prompts.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/environment/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/environment/check_environment.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/org_policy_loader.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/blast_radius_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/check_origin_version.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/check_project_structure.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/cost_analyzer.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/models/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/models/cloudformation_mapper.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/models/cost_models.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/aws_pricing_client.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/base_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/apigateway_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/bedrock_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/cloudwatch_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/dynamodb_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/ebs_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/ec2_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/ecs_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/eip_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/eks_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/elb_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/free_resources_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/kms_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/lambda_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/msk_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/rds_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/s3_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/secrets_manager_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/pricing/providers/vpc_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/cost/unified_cost_report.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/drift_ai.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/drift_history.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/drift_policy.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/drift_report.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/drift_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/drift/models.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/risk_assessment.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/project/validate_project_structure.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/rule_merger.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/check/stack_optimizer/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/dashboard/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/dashboard/dashboard_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/dashboard/data_loader.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/create_documentation.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/files_content.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/files_scan.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/iac_documentation.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/iac_grunt_graph.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/document/iac_grunt_info.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_stacks/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_stacks/config_generator.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_stacks/remote_config_generation.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_stacks/stack_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_stacks/templates/terragrunt.hcl.j2 +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/config.yaml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/create_code.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/create_component.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/create_component_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/create_stacks.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/create_template.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/files_content.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/github_template_loader.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/generate/create_template/project_templates.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/environment/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/environment/install_tools.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/project/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/project/project.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/space/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/space/example_space.toml +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/space/local_registry.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/init/space/space.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/changelog_parser.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/inventory_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/models.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/module_compatibility_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/report_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/schema_compatibility_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/terragrunt_parser.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/update_versions.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/inventory/version_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/mcp/README.md +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/mcp/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/mcp/simple_http_server.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/mcp/stdio_server.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/bootstrap/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/bootstrap/bootstrap_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/cleanup/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/cleanup/clean_project.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/cleanup/clean_space.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/conversion_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/get_project_data.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/post_init.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/project_converter.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/project_defaults.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/convert/set_project_parameters.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/create_terramate/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/create_terramate/create_terramate_stacks.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/create_terramate/detect_changes_stacks.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/create_terramate/manage_terramate_stacks.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/upgrade/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/project/upgrade/upgrade_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/compliance_review.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/import_reports.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/models.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/report_parser.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/sarif_output.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scan_history.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scan_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/checkov.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/kics.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/opa.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/scan_reports.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/scanners.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/terraform_compliance.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/tfsec.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/services/scan/scanners/trivy.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/templates/reports/inventory_report.html +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/templates/reports/inventory_report.js +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/templates/unified_report_styles.css +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/banner.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/create_compliance_html_reports.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/create_html_reports.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/delete_directory.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/fix_report_styling.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/render_scan_report.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/report_html_utils.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/dashboard.html +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/index_report.html +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/individual_report.html +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/simple_report.html +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/unified_report_styles.css +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/unified_scan_report.html +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/unified_simple_report.html +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/common/templates/xunit_report.html +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/crypto.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/manage_backend_resources/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/manage_backend_resources/manage_backend_resources.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/modules_ops/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/modules_ops/terraform_module_details.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/modules_ops/terraform_modules_fetcher.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/platform_utils.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/process_hcl/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/process_hcl/analyze_terraform_plan.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/process_hcl/graph_manager.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/process_hcl/graph_terragrunt_dependencies.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/process_hcl/process_terraform_file.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/process_hcl/risk_analyzing_terraform_plan.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/sync_workspaces/__init__.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/sync_workspaces/sync_terraform_workspaces.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/sync_workspaces/sync_terragrunt_workspaces.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/template_loader.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/utils/thoth_colors.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/src/thothctl/wellcome_banner.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/conftest.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_agentcore_entrypoint.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_aws_pricing_client.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_azure_devops_pr_comments.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_bedrock_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_cdk_language_selection.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_context_steering.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_cost_analyzer.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_cost_models.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_cost_pr_comments.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_dashboard_loading_fix.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_dashboard_service.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_drift.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_drift_detection.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_ec2_pricing.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_github_pr_comments.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_iac_cost_integration.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_inventory_pr_comments.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_kics_scanner.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_mermaid_edge_labels.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_new_cost_providers.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_parallel_scan.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_platform_utils.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_pr_comment_publisher.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_provider_source_url_fix.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_provider_versions.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_scan_pr_comments.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_space_command.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_space_management.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_stack_optimizer.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_template_url_fix.py +0 -0
- {thothctl-0.18.3 → thothctl-0.18.5}/tests/test_terragrunt_parser.py +0 -0
- {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
|
+
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.
|
|
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
|
-
#
|
|
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
|
-
- **🎯
|
|
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
|
-
-
|
|
24
|
-
|
|
25
|
-
--
|
|
26
|
-
|
|
27
|
-
|
|
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
|
|
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
|
|
57
|
+
### Create an Inventory with Version Checking
|
|
71
58
|
|
|
72
59
|
```bash
|
|
73
|
-
|
|
74
|
-
|
|
60
|
+
# Check module versions only
|
|
61
|
+
thothctl inventory iac -cv
|
|
75
62
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
-
|
|
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
|
|
122
|
+
thothctl inventory iac -cv -cpv --report-type cyclonedx
|
|
133
123
|
|
|
134
124
|
# Complete analysis with all formats including SBOM
|
|
135
|
-
thothctl inventory iac
|
|
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=
|
|
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
|
-
#
|
|
185
|
-
effective_check_providers = check_providers or
|
|
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=
|
|
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
|
|
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
|
|
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",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/ai-review/agent_specifications.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/check/cost-analysis-quick-reference.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/frameworks/terraform.md
RENAMED
|
File without changes
|
{thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/commands/inventory/frameworks/terragrunt.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thothctl-0.18.3 → thothctl-0.18.5}/docs/framework/use_cases/platform_engineering_templates.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|