thothctl 0.30.0__tar.gz → 0.30.2__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.30.0 → thothctl-0.30.2}/CHANGELOG.md +37 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/PKG-INFO +1 -1
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/mcp/mcp.md +33 -29
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/software_architecture.md +1 -1
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/mcp.md +36 -15
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/whats_new.md +35 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/init/environment/install_tools.py +33 -4
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/version.py +1 -1
- {thothctl-0.30.0 → thothctl-0.30.2}/.devcontainer/Dockerfile +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/.devcontainer/README.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/.devcontainer/devcontainer.json +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/.github/workflows/docs.yml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/.github/workflows/python-publish.yml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/.gitignore +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/.pre-commit-config.yaml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/.pydocstyle +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/.readthedocs.yaml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/CONTRIBUTING.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/Dockerfile +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/LICENSE +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/README.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/catalog/catalog-info.yaml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/dashboard/README.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/ai-review/README.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/ai-review/agent_specifications.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/ai-review/agentcore.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/check/blast-radius.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/check/check_environment.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/check/check_iac.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/check/check_overview.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/check/check_project_iac.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/check/check_space.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/check/cost-analysis-quick-reference.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/check/cost-analysis.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/check/customizing_rules.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/check/deps-advanced.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/check/deps.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/check/drift-detection.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/check/plan.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/dashboard/dashboard_overview.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/document/customizing_docs.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/document/document_iac.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/document/document_overview.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/document/iac.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/document/mermaid_examples.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/document/mermaid_quickref.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/document/use_cases.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/generate/generate_components.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/generate/generate_iac.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/generate/generate_stacks.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/init/init.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/init/init_space.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/inventory/CHANGELOG.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/inventory/frameworks/terraform.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/inventory/frameworks/terragrunt.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/inventory/iac.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/inventory/inventory_iac.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/inventory/inventory_overview.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/list/list_overview.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/list/list_projects.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/list/list_spaces.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/project/iac.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/project/project_cleanup.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/project/project_convert.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/project/project_overview.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/project/project_upgrade.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/project/use_cases.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/remove/remove_overview.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/remove/remove_project.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/remove/remove_space.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/scan/iac.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/scan/scan_iac.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/scan/scan_overview.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/scan/use_cases.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/space/space_overview.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/upgrade/upgrade_overview.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/workflow/workflow_devsecops.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/workflow/workflow_overview.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/concepts.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/cross_platform_support.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/framework_architecture.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/infrastructure_composition.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/policy_as_code.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/roadmap_fdi.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/space_configuration.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/specs/phase1.10_plan_validation.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/specs/phase1.9_composition_generation.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/specs/phase1_intent_to_iac.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/specs/phase2.5.1_autonomy_model.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/use_cases/README.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/use_cases/ai_dlc.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/use_cases/check_command.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/use_cases/devsecops_quickstart.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/use_cases/devsecops_sdlc.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/use_cases/inventory_command.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/use_cases/platform_engineering_templates.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/use_cases/space_management.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/use_cases/tasks/create_template.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/use_cases/tasks/workflow_implementation_plan.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/how_it_works.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/img/commnad_init.png +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/img/framework/thothforge-framework.svg +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/img/framework/thothfr.png +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/img/icon-light.png +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/img/icon.png +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/img/init_project.gif +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/img/stable/scan_report_example.png +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/includes/abbreviations.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/index.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/installation/devcontainer_setup.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/installation/linux_installation.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/installation/windows_installation.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/javascripts/tablesort.js +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/navigation.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/quick_start.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/requirements.txt +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/stylesheets/extra-enhanced.css +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/stylesheets/extra.css +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/telemetry.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/template_engine/cli_commands_audit.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/template_engine/for_developers.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/template_engine/for_platform_engineers.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/template_engine/github_templates.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/template_engine/template_engine.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/toolkit_overview.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/troubleshooting/linux_troubleshooting.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/troubleshooting/macos_troubleshooting.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/troubleshooting/troubleshooting.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/docs/troubleshooting/windows_troubleshooting.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/mkdocs.yaml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/pyproject.toml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/scripts/check_output_consistency.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/scripts/run_mcp_server.sh +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/application/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/autocomplete.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/commands/analyze.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/commands/apply_fix.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/commands/configure.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/commands/configure_decisions.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/commands/decide.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/commands/history.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/commands/improve.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/commands/orchestrate.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/commands/override.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/commands/report.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/ai_review/commands/serve.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/check/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/check/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/check/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/check/commands/config.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/check/commands/environment.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/check/commands/iac.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/check/commands/project/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/check/commands/project/iac.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/check/commands/project.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/check/commands/space.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/dashboard/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/dashboard/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/dashboard/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/dashboard/commands/launch.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/document/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/document/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/document/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/document/commands/iac.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/generate/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/generate/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/generate/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/generate/commands/component.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/generate/commands/iac.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/generate/commands/stacks.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/init/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/init/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/init/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/init/commands/env.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/init/commands/project.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/init/commands/space.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/init/commands/template.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/inventory/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/inventory/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/inventory/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/inventory/commands/check.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/inventory/commands/iac.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/list/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/list/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/list/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/list/commands/projects.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/list/commands/spaces.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/list/commands/templates.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/mcp/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/mcp/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/mcp/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/mcp/commands/register.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/mcp/commands/server.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/mcp/commands/status.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/mcp/commands/stop.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/project/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/project/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/project/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/project/commands/bootstrap.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/project/commands/cleanup.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/project/commands/convert.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/project/commands/upgrade.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/quickstart/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/quickstart/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/remove/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/remove/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/remove/project.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/remove/space.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/scan/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/scan/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/scan/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/scan/commands/iac.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/space/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/space/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/space/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/space/commands/activate.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/space/commands/deactivate.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/space/commands/export_space.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/space/commands/import_space.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/space/commands/show.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/space/commands/update.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/upgrade/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/workflow/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/workflow/cli.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/workflow/commands/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/workflow/commands/devsecops.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/commands/workflow/commands/run.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/common/.thothcf.setup.toml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/common/.thothcf_home.toml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/common/.thothcf_module.toml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/common/.thothcf_project.toml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/common/.thothcf_template_parameters.toml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/common/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/common/common.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/common/terragrunt/.thothcf_project.toml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/config/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/config/constants.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/config/default_values.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/config/defaults.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/config/models.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/config/settings.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/config/template_config.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/config/template_configs.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/config/templates.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/config/validation.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/cli_ui.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/commands.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/config.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/integrations/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/integrations/azure_devops/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/integrations/azure_devops/get_azure_devops.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/integrations/azure_devops/pull_request_comments.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/integrations/github/get_github.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/integrations/github/pull_request_comments.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/integrations/integrate_messages_services/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/integrations/integrate_messages_services/microsoft_teams.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/integrations/integrate_messages_services/sent_message_teams.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/integrations/pattern_names.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/integrations/pr_comments/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/integrations/pr_comments/pr_comment_publisher.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/logger.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/telemetry.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/core/version_tools.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/domain/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/domain/interfaces/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/domain/models/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/mcp/README.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/mcp/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/mcp/server.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/agentcore/agentcore.json +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/ai_agent.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/analyzers/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/analyzers/code_reviewer.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/analyzers/context_builder.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/analyzers/report_analyzer.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/analyzers/risk_assessor.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/bedrock_agent_api.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/config/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/config/ai_settings.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/config/autonomy.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/config/decision_rules.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/decision_engine.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/main.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/memory.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/orchestrator.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/pr_decision_publisher.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/providers/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/providers/azure_provider.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/providers/bedrock_agent_provider.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/providers/bedrock_provider.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/providers/kiro_provider.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/providers/ollama_provider.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/providers/openai_provider.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/safety/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/safety/safety_guard.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/strands_agent.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/tracing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/utils/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/utils/cost_tracker.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/utils/fix_patterns.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/utils/fix_prompts.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/utils/formatters.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/ai_review/utils/prompts.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/environment/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/environment/check_environment.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/org_policy_loader.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/blast_radius_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cfn_blast_radius_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/check_origin_version.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/check_project_structure.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/cost_analyzer.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/models/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/models/cloudformation_mapper.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/models/cost_models.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/aws_pricing_client.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/base_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/apigateway_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/bedrock_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/cloudwatch_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/dynamodb_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/ebs_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/ec2_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/ecr_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/ecs_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/eip_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/eks_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/elb_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/free_resources_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/kms_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/lambda_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/msk_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/rds_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/s3_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/secrets_manager_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/pricing/providers/vpc_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/cost/unified_cost_report.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/drift/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/drift/cfn_drift_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/drift/drift_ai.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/drift/drift_history.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/drift/drift_policy.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/drift/drift_report.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/drift/drift_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/drift/models.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/risk_assessment.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/project/validate_project_structure.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/rule_merger.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/rules_compiler.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/check/stack_optimizer/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/dashboard/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/dashboard/dashboard_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/dashboard/data_loader.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/document/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/document/architecture_renderer.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/document/create_documentation.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/document/files_content.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/document/files_scan.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/document/iac_documentation.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/document/iac_grunt_graph.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/document/iac_grunt_info.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/document/topology_generator.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_stacks/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_stacks/config_generator.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_stacks/remote_config_generation.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_stacks/stack_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_stacks/templates/terragrunt.hcl.j2 +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_stacks/terragrunt.hcl +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_template/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_template/config.yaml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_template/create_code.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_template/create_component.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_template/create_component_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_template/create_stacks.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_template/create_template.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_template/files_content.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_template/github_template_loader.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/create_template/project_templates.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/code_generator.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/composition_models.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/context_builder.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/generation_history.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/intent_decomposer.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/intent_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/models.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/parameter_resolver.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/plan_runner.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/plan_validator.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/project_assembler.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/prompts.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/scaffold_loader.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/state_resolver.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/generate/intent/validator.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/init/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/init/environment/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/init/environment/prerequisite_checker.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/init/environment/tool_packs.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/init/project/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/init/project/project.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/init/space/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/init/space/example_space.toml +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/init/space/export_import.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/init/space/inheritance.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/init/space/space.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/init/space/terraform_module_cache.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/cdk_parsers.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/cdk_sbom_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/changelog_parser.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/defectdojo_publisher.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/dtrack_publisher.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/inventory_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/models.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/module_compatibility_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/report_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/schema_compatibility_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/secobserve_publisher.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/terragrunt_parser.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/update_versions.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/inventory/version_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/mcp/README.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/mcp/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/mcp/simple_http_server.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/mcp/stdio_server.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/bootstrap/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/bootstrap/bootstrap_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/cleanup/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/cleanup/clean_project.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/cleanup/clean_space.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/convert/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/convert/conversion_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/convert/get_project_data.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/convert/post_init.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/convert/project_converter.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/convert/project_defaults.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/convert/set_project_parameters.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/create_terramate/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/create_terramate/create_terramate_stacks.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/create_terramate/detect_changes_stacks.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/create_terramate/manage_terramate_stacks.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/upgrade/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/project/upgrade/upgrade_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/compliance_review.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/import_reports.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/models.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/report_parser.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/sarif_output.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/scan_history.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/scan_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/scanners/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/scanners/checkov.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/scanners/kics.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/scanners/opa.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/scanners/scan_reports.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/scanners/scanners.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/scanners/terraform_compliance.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/scanners/tfsec.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/scan/scanners/trivy.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/workflow/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/workflow/custom_workflow_engine.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/workflow/models.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/workflow/phases/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/workflow/phases/base.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/workflow/phases/build.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/workflow/phases/deploy.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/workflow/phases/develop.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/workflow/phases/monitor.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/workflow/phases/plan.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/workflow/phases/secure.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/workflow/phases/test.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/services/workflow/workflow_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/templates/ai_reports/pr_comment.md +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/templates/reports/inventory_report.html +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/templates/reports/inventory_report.js +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/templates/unified_report_styles.css +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/banner.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/create_compliance_html_reports.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/create_html_reports.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/delete_directory.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/fix_report_styling.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/render_scan_report.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/report_html_utils.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/templates/dashboard.html +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/templates/index_report.html +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/templates/individual_report.html +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/templates/simple_report.html +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/templates/unified_report_styles.css +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/templates/unified_scan_report.html +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/templates/unified_simple_report.html +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/common/templates/xunit_report.html +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/crypto.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/git_changes.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/manage_backend_resources/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/manage_backend_resources/manage_backend_resources.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/modules_ops/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/modules_ops/terraform_module_details.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/modules_ops/terraform_modules_fetcher.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/platform_utils.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/process_hcl/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/process_hcl/analyze_terraform_plan.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/process_hcl/graph_manager.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/process_hcl/graph_terragrunt_dependencies.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/process_hcl/process_terraform_file.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/process_hcl/risk_analyzing_terraform_plan.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/sync_workspaces/__init__.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/sync_workspaces/sync_terraform_workspaces.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/sync_workspaces/sync_terragrunt_workspaces.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/template_loader.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/utils/thoth_colors.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/src/thothctl/wellcome_banner.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/conftest.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_agentcore_entrypoint.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_ai_apply_fix.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_ai_autonomy.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_ai_decision_engine.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_ai_fix_patterns.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_ai_memory.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_ai_orchestrator.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_ai_pr_decision.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_ai_safety_guard.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_aws_pricing_client.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_azure_devops_pr_comments.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_bedrock_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_cdk_inventory.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_cdk_language_selection.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_cfn_blast_radius.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_cfn_drift_detection.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_context_steering.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_cost_analyzer.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_cost_models.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_cost_policy_enforcement.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_cost_pr_comments.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_dashboard_loading_fix.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_dashboard_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_defectdojo_publisher.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_drift.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_drift_detection.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_dtrack_publisher.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_ec2_pricing.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_generate_iac_codegen.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_generate_iac_context.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_generate_iac_prompts.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_generate_iac_service.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_generate_iac_validator.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_github_pr_comments.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_iac_cost_integration.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_init_ai_tools.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_init_template_params.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_intent_quick_wins.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_intent_rules_integration.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_inventory_pr_comments.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_kics_scanner.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_kiro_provider.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_mermaid_edge_labels.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_new_cost_providers.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_opa_data_files.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_parallel_scan.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_plan_validation.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_platform_utils.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_pr_comment_publisher.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_provider_source_url_fix.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_provider_versions.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_rules_compiler.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_scan_cfn_support.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_scan_command.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_scan_pr_comments.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_space_command.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_space_management.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_stack_optimizer.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_template_url_fix.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_terragrunt_parser.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_topology_generator.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tests/test_workflow_integration.py +0 -0
- {thothctl-0.30.0 → thothctl-0.30.2}/tox.ini +0 -0
|
@@ -5,6 +5,43 @@ All notable changes to ThothCTL are documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.30.0] - 2026-09-22
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Intent-to-IaC plan validation** — per-stack plan validation is now skipped for
|
|
13
|
+
terragrunt projects when no `stack_path` is given (previously it wrote stray `.tf`
|
|
14
|
+
files into the project root and ran `terragrunt plan` against `root.hcl`).
|
|
15
|
+
Single-mode validation now routes `full-project` mode to `validate_full_project`.
|
|
16
|
+
- **HCL-aware block stripping** — `terraform {}` / `provider {}` removal now uses a
|
|
17
|
+
string/comment-aware brace scanner that correctly handles arbitrarily nested
|
|
18
|
+
blocks (e.g. `backend`, `assume_role`, `default_tags`) and braces inside strings
|
|
19
|
+
or comments, replacing the previous single-level regex.
|
|
20
|
+
- Added a missing module logger in `generate iac` CLI (undefined `logger` in the
|
|
21
|
+
history-save error handler).
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- **`--plan-filter` wiring** — the flag (plus `THOTH_PLAN_FILTER` env and
|
|
26
|
+
`[generation.plan].stack_filter`) is now honored end-to-end; `validate_full_project`
|
|
27
|
+
routes to `validate_filtered` when set.
|
|
28
|
+
- **Real dependency-graph diagrams** — composition-mode architecture diagrams now
|
|
29
|
+
render actual `depends_on` edges and layer subgraphs (new `_build_stack_diagram`)
|
|
30
|
+
instead of inferred/hardcoded edges.
|
|
31
|
+
- **Raw-response debugging** — the raw AI response is persisted to generation history
|
|
32
|
+
on parse failure (new `raw_response` column + idempotent migration) and surfaced in
|
|
33
|
+
the CLI.
|
|
34
|
+
- Single-mode `--mode project` now resolves `#{...}#` placeholders (previously only
|
|
35
|
+
the composition path did).
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- Unified self-correction into a shared loop (with stagnation detection) used by both
|
|
40
|
+
single and composition paths; deduplicated stack file processing.
|
|
41
|
+
- `generation_tokens` is now estimated consistently across single and composition modes.
|
|
42
|
+
- Removed dead scaffold helpers; added a public `ScaffoldLoader.scaffold_dir` property;
|
|
43
|
+
warn when scaffold examples are unavailable (missing `gh` CLI).
|
|
44
|
+
|
|
8
45
|
## [0.29.0] - 2026-09-15
|
|
9
46
|
|
|
10
47
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: thothctl
|
|
3
|
-
Version: 0.30.
|
|
3
|
+
Version: 0.30.2
|
|
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
|
|
@@ -82,7 +82,7 @@ thothctl mcp register
|
|
|
82
82
|
This command will internally use the correct MCP registration syntax:
|
|
83
83
|
|
|
84
84
|
```bash
|
|
85
|
-
|
|
85
|
+
kiro-cli mcp add --name thothctl --command "thothctl" --args "mcp" --args "server" --args "--stdio"
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
Register the MCP server running on a custom port:
|
|
@@ -209,7 +209,7 @@ This tool generates governed Infrastructure as Code from natural language. It su
|
|
|
209
209
|
|
|
210
210
|
**Example via AI Assistant**:
|
|
211
211
|
```
|
|
212
|
-
|
|
212
|
+
kiro-cli chat "Generate a VPC with 3 private subnets and NAT gateway for production in us-east-1 using terraform-terragrunt composition full mode"
|
|
213
213
|
```
|
|
214
214
|
|
|
215
215
|
## Integration with AI Assistants
|
|
@@ -217,7 +217,7 @@ q chat "Generate a VPC with 3 private subnets and NAT gateway for production in
|
|
|
217
217
|
After starting the MCP server and registering it with your AI assistant, you can interact with ThothCTL using natural language:
|
|
218
218
|
|
|
219
219
|
```bash
|
|
220
|
-
|
|
220
|
+
kiro-cli chat "List all ThothCTL projects"
|
|
221
221
|
```
|
|
222
222
|
|
|
223
223
|
Example interactions:
|
|
@@ -264,57 +264,61 @@ This typically means one of the following:
|
|
|
264
264
|
3. **Wrong command in registration**: Verify your registration command.
|
|
265
265
|
```bash
|
|
266
266
|
# List your registered MCP servers
|
|
267
|
-
|
|
267
|
+
kiro-cli mcp list
|
|
268
268
|
|
|
269
269
|
# Remove incorrect registration if needed
|
|
270
|
-
|
|
270
|
+
kiro-cli mcp remove --name thothctl
|
|
271
271
|
|
|
272
272
|
# Register correctly
|
|
273
|
-
|
|
273
|
+
kiro-cli mcp add --name thothctl --command "thothctl" --args "mcp" --args "server" --args "--stdio"
|
|
274
274
|
```
|
|
275
275
|
|
|
276
276
|
4. **MCP configuration file is missing or corrupted**: Your AI assistant stores MCP server configurations in JSON files.
|
|
277
277
|
|
|
278
|
-
**Configuration file locations**:
|
|
279
|
-
- Global Configuration: `~/.
|
|
280
|
-
- Workspace Configuration: `.
|
|
278
|
+
**Configuration file locations (Kiro CLI)**:
|
|
279
|
+
- Global Configuration: `~/.kiro/settings/mcp.json` - Applies to all workspaces
|
|
280
|
+
- Workspace Configuration: `.kiro/settings/mcp.json` - Specific to the current workspace (takes precedence over global)
|
|
281
|
+
|
|
282
|
+
For **Claude Desktop**, MCP servers are configured in:
|
|
283
|
+
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
284
|
+
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
281
285
|
|
|
282
286
|
```bash
|
|
283
|
-
# Check if the configuration files exist
|
|
284
|
-
ls -la ~/.
|
|
285
|
-
ls -la .
|
|
287
|
+
# Check if the configuration files exist (Kiro CLI)
|
|
288
|
+
ls -la ~/.kiro/settings/mcp.json # Global config (Linux/macOS)
|
|
289
|
+
ls -la .kiro/settings/mcp.json # Workspace config (Linux/macOS)
|
|
286
290
|
|
|
287
291
|
# View the current configuration
|
|
288
|
-
cat ~/.
|
|
289
|
-
cat .
|
|
292
|
+
cat ~/.kiro/settings/mcp.json # Global config (Linux/macOS)
|
|
293
|
+
cat .kiro/settings/mcp.json # Workspace config (Linux/macOS)
|
|
290
294
|
|
|
291
|
-
# If missing or corrupted, recreate it
|
|
292
|
-
|
|
293
|
-
|
|
295
|
+
# If missing or corrupted, recreate it (stdio is the default)
|
|
296
|
+
thothctl mcp register
|
|
297
|
+
# ...or register manually with the Kiro CLI (note the required --stdio flag)
|
|
298
|
+
kiro-cli mcp remove --name thothctl
|
|
299
|
+
kiro-cli mcp add --name thothctl --command "thothctl" --args "mcp" --args "server" --args "--stdio"
|
|
294
300
|
```
|
|
295
301
|
|
|
296
|
-
The MCP configuration file (`mcp.json`) should have the following structure
|
|
302
|
+
The MCP configuration file (`mcp.json`) should have the following structure.
|
|
303
|
+
The `--stdio` flag is required — Kiro CLI and Claude talk to the server over
|
|
304
|
+
stdin/stdout, so stdio mode must be enabled explicitly. Without it,
|
|
305
|
+
`thothctl mcp server` starts in HTTP mode and the assistant cannot connect:
|
|
297
306
|
```json
|
|
298
307
|
{
|
|
299
308
|
"mcpServers": {
|
|
300
309
|
"thothctl": {
|
|
301
310
|
"command": "thothctl",
|
|
302
|
-
"args": ["mcp", "server"]
|
|
303
|
-
"env": {},
|
|
304
|
-
"timeout": 60000
|
|
311
|
+
"args": ["mcp", "server", "--stdio"]
|
|
305
312
|
}
|
|
306
313
|
}
|
|
307
314
|
}
|
|
308
315
|
```
|
|
309
316
|
|
|
310
|
-
You can manually create or edit this file if needed, but it's recommended to use
|
|
317
|
+
You can manually create or edit this file if needed, but it's recommended to use `thothctl mcp register` (or `kiro-cli mcp add`) to ensure proper formatting.
|
|
311
318
|
|
|
312
|
-
5. **Detailed debugging**: Run with increased logging
|
|
319
|
+
5. **Detailed debugging**: Run with increased logging.
|
|
313
320
|
```bash
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
# Then check the logs
|
|
317
|
-
cat $TMPDIR/qchat/latest.log
|
|
321
|
+
kiro-cli chat --verbose "List ThothCTL projects"
|
|
318
322
|
```
|
|
319
323
|
|
|
320
324
|
#### Port Already in Use
|
|
@@ -334,8 +338,8 @@ thothctl mcp server -p 8081
|
|
|
334
338
|
And update your registration accordingly:
|
|
335
339
|
|
|
336
340
|
```bash
|
|
337
|
-
|
|
338
|
-
|
|
341
|
+
kiro-cli mcp remove --name thothctl
|
|
342
|
+
kiro-cli mcp add --name thothctl --command "thothctl" --args "mcp" --args "server" --args "-p" --args "8081"
|
|
339
343
|
```
|
|
340
344
|
|
|
341
345
|
## Architecture
|
|
@@ -36,16 +36,25 @@ This will start the MCP server on port 8080 (default).
|
|
|
36
36
|
|
|
37
37
|
### Registering with Kiro CLI
|
|
38
38
|
|
|
39
|
-
To use ThothCTL with Kiro CLI or Claude, you need to register the MCP server
|
|
39
|
+
To use ThothCTL with Kiro CLI or Claude, you need to register the MCP server.
|
|
40
|
+
The easiest way is the built-in command, which writes a stdio-mode config to
|
|
41
|
+
`~/.kiro/settings/mcp.json` (or `.kiro/settings/mcp.json` with `--scope workspace`):
|
|
40
42
|
|
|
41
43
|
```bash
|
|
42
|
-
|
|
44
|
+
thothctl mcp register
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Alternatively, register it directly with the Kiro CLI. Note the `--stdio` flag —
|
|
48
|
+
it is required so the server speaks MCP over stdin/stdout instead of HTTP:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
kiro-cli mcp add --name thothctl --command "thothctl" --args "mcp" --args "server" --args "--stdio"
|
|
43
52
|
```
|
|
44
53
|
|
|
45
54
|
Once registered, you can interact with ThothCTL through Kiro CLI using natural language:
|
|
46
55
|
|
|
47
56
|
```bash
|
|
48
|
-
kiro chat "List all ThothCTL projects using the MCP integration"
|
|
57
|
+
kiro-cli chat "List all ThothCTL projects using the MCP integration"
|
|
49
58
|
```
|
|
50
59
|
|
|
51
60
|
### Checking Server Status
|
|
@@ -88,29 +97,41 @@ This typically means one of the following:
|
|
|
88
97
|
```
|
|
89
98
|
|
|
90
99
|
3. **MCP configuration file is missing or corrupted**: Your AI assistant stores MCP server configurations in JSON files.
|
|
91
|
-
|
|
92
|
-
**Configuration file locations**:
|
|
93
|
-
- Global Configuration: `~/.
|
|
94
|
-
- Workspace Configuration: `.
|
|
95
|
-
|
|
96
|
-
|
|
100
|
+
|
|
101
|
+
**Configuration file locations (Kiro CLI)**:
|
|
102
|
+
- Global Configuration: `~/.kiro/settings/mcp.json` - Applies to all workspaces
|
|
103
|
+
- Workspace Configuration: `.kiro/settings/mcp.json` - Specific to the current workspace (takes precedence over global)
|
|
104
|
+
|
|
105
|
+
For **Claude Desktop**, MCP servers are configured in:
|
|
106
|
+
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
107
|
+
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
108
|
+
|
|
109
|
+
The MCP configuration file should have this structure. Note the `--stdio`
|
|
110
|
+
flag — Kiro CLI and Claude communicate with the server over stdin/stdout,
|
|
111
|
+
so stdio mode must be enabled explicitly (without it, `thothctl mcp server`
|
|
112
|
+
starts in HTTP mode and the assistant cannot connect):
|
|
97
113
|
```json
|
|
98
114
|
{
|
|
99
115
|
"mcpServers": {
|
|
100
116
|
"thothctl": {
|
|
101
117
|
"command": "thothctl",
|
|
102
|
-
"args": ["mcp", "server"]
|
|
103
|
-
"env": {},
|
|
104
|
-
"timeout": 60000
|
|
118
|
+
"args": ["mcp", "server", "--stdio"]
|
|
105
119
|
}
|
|
106
120
|
}
|
|
107
121
|
}
|
|
108
122
|
```
|
|
109
123
|
|
|
110
|
-
To recreate the configuration
|
|
124
|
+
To recreate the configuration, the simplest way is the built-in registration
|
|
125
|
+
command (stdio is the default and writes to `~/.kiro/settings/mcp.json`):
|
|
126
|
+
```bash
|
|
127
|
+
thothctl mcp register # global scope, stdio mode
|
|
128
|
+
thothctl mcp register --scope workspace # writes .kiro/settings/mcp.json
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Or register it manually via the Kiro CLI:
|
|
111
132
|
```bash
|
|
112
|
-
|
|
113
|
-
|
|
133
|
+
kiro-cli mcp remove --name thothctl
|
|
134
|
+
kiro-cli mcp add --name thothctl --command "thothctl" --args "mcp" --args "server" --args "--stdio"
|
|
114
135
|
```
|
|
115
136
|
|
|
116
137
|
For more detailed troubleshooting, see the [MCP Command Documentation](./framework/commands/mcp/mcp.md#troubleshooting).
|
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# What's New
|
|
2
2
|
|
|
3
|
+
## v0.30.0 — Intent-to-IaC Hardening (September 2026)
|
|
4
|
+
|
|
5
|
+
### Highlights
|
|
6
|
+
|
|
7
|
+
!!! success "Accurate dependency-graph diagrams for multi-stack generation"
|
|
8
|
+
Composition-mode diagrams now render the real stack dependency graph
|
|
9
|
+
(from each stack's `depends_on`) grouped by layer — no more inferred edges.
|
|
10
|
+
|
|
11
|
+
!!! success "Targeted plan validation with --plan-filter"
|
|
12
|
+
```bash
|
|
13
|
+
thothctl generate iac -i "add an RDS stack" \
|
|
14
|
+
--composition incremental \
|
|
15
|
+
--plan-validation full-project \
|
|
16
|
+
--plan-filter "stacks/platform/data/*"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
- **Safer plan validation** — per-stack plan validation no longer runs against the
|
|
20
|
+
terragrunt project root (`root.hcl`); single-stack + `full-project` mode is routed
|
|
21
|
+
correctly
|
|
22
|
+
- **`--plan-filter` wired end-to-end** — also settable via `THOTH_PLAN_FILTER` or
|
|
23
|
+
`[generation.plan].stack_filter`
|
|
24
|
+
- **HCL-aware block stripping** — `terraform {}` / `provider {}` blocks are removed
|
|
25
|
+
with a string/comment-aware scanner that handles nested blocks (`backend`,
|
|
26
|
+
`assume_role`, `default_tags`) reliably
|
|
27
|
+
- **Single-mode placeholder resolution** — `--mode project` now resolves `#{...}#`
|
|
28
|
+
placeholders for single-stack generation too
|
|
29
|
+
- **Raw-response debugging** — when the AI returns unparseable output, the raw
|
|
30
|
+
response is saved to generation history for troubleshooting
|
|
31
|
+
- **Unified self-correction** — single and composition paths now share the same
|
|
32
|
+
validate → fix → re-validate loop with stagnation detection
|
|
33
|
+
- Consistent `generation_tokens` metrics across modes; clearer warning when scaffold
|
|
34
|
+
examples are unavailable (missing `gh` CLI)
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
3
38
|
## v0.28.0 — Security Platform Integrations (August 2026)
|
|
4
39
|
|
|
5
40
|
### Highlights
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import logging
|
|
4
4
|
import os
|
|
5
|
+
import subprocess
|
|
5
6
|
import sys
|
|
6
7
|
|
|
7
8
|
import inquirer
|
|
@@ -220,14 +221,42 @@ def install_pre_commit(version):
|
|
|
220
221
|
|
|
221
222
|
|
|
222
223
|
def install_tflint():
|
|
223
|
-
"""Install tflint tool.
|
|
224
|
+
"""Install tflint tool.
|
|
225
|
+
|
|
226
|
+
The upstream ``install_linux.sh`` script was removed from the repository,
|
|
227
|
+
so the previous ``curl | bash`` approach piped a GitHub "404: Not Found"
|
|
228
|
+
page into bash (producing ``bash: line 1: 404:: command not found``).
|
|
229
|
+
|
|
230
|
+
Instead, download the latest release archive directly and install the
|
|
231
|
+
binary, matching the method documented in the tflint README. ``curl -fL``
|
|
232
|
+
fails on HTTP errors so a 404 surfaces as a real error instead of being
|
|
233
|
+
executed, and ``set -euo pipefail`` aborts the pipeline on any failure.
|
|
234
|
+
"""
|
|
224
235
|
print(f"{Fore.MAGENTA}Installing tflint {Fore.RESET}")
|
|
225
|
-
|
|
226
|
-
|
|
236
|
+
|
|
237
|
+
# Map Python machine arch to tflint release asset suffix.
|
|
238
|
+
machine = os.uname().machine.lower()
|
|
239
|
+
arch = "arm64" if machine in ("aarch64", "arm64") else "amd64"
|
|
240
|
+
asset = f"tflint_linux_{arch}.zip"
|
|
241
|
+
url = (
|
|
242
|
+
"https://github.com/terraform-linters/tflint/releases/latest/download/"
|
|
243
|
+
f"{asset}"
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
# Passed as a single argv element to bash -c, so there is no outer shell
|
|
247
|
+
# re-parsing and no nested-quote fragility. Cleanup is explicit (no trap).
|
|
248
|
+
script = (
|
|
249
|
+
"set -eu; "
|
|
250
|
+
'tmp="$(mktemp -d)"; '
|
|
251
|
+
f'curl -fsSL -o "$tmp/{asset}" "{url}" '
|
|
252
|
+
f'&& unzip -o "$tmp/{asset}" -d "$tmp" >/dev/null '
|
|
253
|
+
'&& sudo install -c -m 0755 "$tmp/tflint" /usr/local/bin/tflint; '
|
|
254
|
+
'rc=$?; rm -rf "$tmp"; exit $rc'
|
|
227
255
|
)
|
|
256
|
+
result = subprocess.run(["bash", "-c", script])
|
|
228
257
|
|
|
229
258
|
check_result(
|
|
230
|
-
result=
|
|
259
|
+
result=result.returncode,
|
|
231
260
|
tool="tflint",
|
|
232
261
|
)
|
|
233
262
|
|
|
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.30.0 → thothctl-0.30.2}/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
|
|
File without changes
|
{thothctl-0.30.0 → thothctl-0.30.2}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/commands/inventory/frameworks/terraform.md
RENAMED
|
File without changes
|
{thothctl-0.30.0 → thothctl-0.30.2}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/use_cases/platform_engineering_templates.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thothctl-0.30.0 → thothctl-0.30.2}/docs/framework/use_cases/tasks/workflow_implementation_plan.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|