thothctl 0.18.1__tar.gz → 0.18.3__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.1 → thothctl-0.18.3}/PKG-INFO +1 -1
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/space_configuration.md +41 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/use_cases/space_management.md +39 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/check/commands/project/iac.py +12 -2
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/space/commands/update.py +11 -4
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/org_policy_loader.py +33 -1
- thothctl-0.18.3/src/thothctl/version.py +2 -0
- thothctl-0.18.1/src/thothctl/version.py +0 -2
- {thothctl-0.18.1 → thothctl-0.18.3}/.devcontainer/Dockerfile +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/.devcontainer/README.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/.devcontainer/devcontainer.json +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/.github/workflows/docs.yml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/.github/workflows/python-publish.yml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/.gitignore +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/.pre-commit-config.yaml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/.readthedocs.yaml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/Dockerfile +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/LICENSE +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/README.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/catalog/catalog-info.yaml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/dashboard/README.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/ai-review/README.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/ai-review/agent_specifications.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/ai-review/agentcore.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/check/blast-radius.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/check/check_environment.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/check/check_iac.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/check/check_overview.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/check/check_project_iac.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/check/check_space.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/check/cost-analysis-quick-reference.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/check/cost-analysis.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/check/customizing_rules.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/check/deps-advanced.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/check/deps.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/check/drift-detection.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/check/plan.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/document/customizing_docs.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/document/document_iac.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/document/document_overview.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/document/iac.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/document/use_cases.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/generate/generate_components.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/generate/generate_stacks.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/init/init.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/init/init_space.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/inventory/CHANGELOG.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/inventory/frameworks/terraform.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/inventory/frameworks/terragrunt.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/inventory/iac.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/inventory/inventory_iac.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/inventory/inventory_overview.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/list/list_overview.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/list/list_projects.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/list/list_spaces.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/mcp/mcp.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/project/iac.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/project/project_cleanup.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/project/project_convert.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/project/project_overview.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/project/project_upgrade.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/project/use_cases.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/remove/remove_overview.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/remove/remove_project.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/remove/remove_space.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/scan/iac.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/scan/scan_iac.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/scan/scan_overview.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/scan/use_cases.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/commands/upgrade/upgrade_overview.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/concepts.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/cross_platform_support.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/framework_architecture.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/infrasctructure_composition.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/policy_as_code.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/roadmap_fdi.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/software_architecture.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/use_cases/README.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/use_cases/ai_dlc.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/use_cases/check_command.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/use_cases/devsecops_quickstart.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/use_cases/devsecops_sdlc.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/use_cases/inventory_command.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/use_cases/platform_engineering_templates.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/framework/use_cases/tasks/create_template.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/iac_devsecops_use_case.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/automate_tasks_command.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/commnad_init.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/create_component.gif +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/create_inventory.gif +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/doc_command.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/document_project_code.gif +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/framework/thothforge-framework.svg +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/framework/thothfr.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/iacpeerbot_summary.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/icon-light.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/icon.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/init_project.gif +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/inventory_command.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/notification_img.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/report_dependencies.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/report_dependencies_summary.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/restore_inventory_version.gif +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/reuse_project_pattern.gif +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/scan_code.gif +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/scan_command.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/stable/scan_report_example.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/sync_wk_command.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/transform_command.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/update_inventory_version.gif +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/validate_command.png +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/validate_environment.gif +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/img/validate_project.gif +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/includes/abbreviations.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/index.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/installation/linux_installation.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/installation/windows_installation.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/javascripts/tablesort.js +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/mcp.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/navigation.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/quick_start.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/requirements.txt +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/stylesheets/extra-enhanced.css +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/stylesheets/extra.css +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/telemetry.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/template_engine/cli_commands_audit.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/template_engine/for_developers.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/template_engine/for_platform_engineers.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/template_engine/github_templates.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/template_engine/template_engine.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/troubleshooting/linux_troubleshooting.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/troubleshooting/macos_troubleshooting.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/troubleshooting/troubleshooting.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/docs/troubleshooting/windows_troubleshooting.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/mkdocs.yaml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/pyproject.toml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/scripts/run_mcp_server.sh +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/application/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/autocomplete.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/commands/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/commands/analyze.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/commands/apply_fix.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/commands/configure.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/commands/configure_decisions.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/commands/decide.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/commands/history.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/commands/improve.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/commands/orchestrate.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/commands/override.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/commands/report.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/commands/serve.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/check/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/check/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/check/commands/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/check/commands/environment.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/check/commands/iac.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/check/commands/project/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/check/commands/project.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/dashboard/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/dashboard/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/dashboard/commands/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/dashboard/commands/launch.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/document/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/document/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/document/commands/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/document/commands/iac.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/generate/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/generate/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/generate/commands/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/generate/commands/component.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/generate/commands/stacks.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/init/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/init/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/init/commands/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/init/commands/env.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/init/commands/project.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/init/commands/space.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/init/commands/template.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/inventory/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/inventory/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/inventory/commands/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/inventory/commands/check.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/inventory/commands/iac.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/list/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/list/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/list/commands/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/list/commands/projects.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/list/commands/spaces.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/mcp/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/mcp/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/mcp/commands/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/mcp/commands/register.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/mcp/commands/server.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/mcp/commands/status.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/mcp/commands/stop.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/project/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/project/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/project/commands/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/project/commands/bootstrap.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/project/commands/cleanup.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/project/commands/convert.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/project/commands/upgrade.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/remove/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/remove/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/remove/project.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/remove/space.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/scan/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/scan/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/scan/commands/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/scan/commands/iac.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/space/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/space/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/space/commands/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/space/commands/activate.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/space/commands/show.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/upgrade/cli.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/common/.thothcf.setup.toml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/common/.thothcf_home.toml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/common/.thothcf_module.toml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/common/.thothcf_project.toml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/common/.thothcf_template_parameters.toml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/common/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/common/common.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/common/terragrunt/.thothcf_project.toml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/config/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/config/constants.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/config/default_values.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/config/defaults.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/config/models.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/config/settings.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/config/template_config.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/config/template_configs.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/config/templates.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/config/validation.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/cli_ui.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/commands.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/config.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/integrations/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/integrations/azure_devops/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/integrations/azure_devops/get_azure_devops.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/integrations/azure_devops/pull_request_comments.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/integrations/github/get_github.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/integrations/github/pull_request_comments.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/integrations/integrate_messages_services/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/integrations/integrate_messages_services/microsoft_teams.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/integrations/integrate_messages_services/sent_message_teams.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/integrations/pattern_names.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/integrations/pr_comments/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/integrations/pr_comments/pr_comment_publisher.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/logger.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/telemetry.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/core/version_tools.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/domain/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/domain/interfaces/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/domain/models/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/mcp/README.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/mcp/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/mcp/server.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/agentcore/agentcore.json +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/ai_agent.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/analyzers/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/analyzers/code_reviewer.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/analyzers/context_builder.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/analyzers/report_analyzer.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/analyzers/risk_assessor.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/bedrock_agent_api.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/config/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/config/ai_settings.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/config/decision_rules.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/decision_engine.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/main.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/memory.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/orchestrator.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/pr_decision_publisher.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/providers/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/providers/azure_provider.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/providers/bedrock_agent_provider.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/providers/bedrock_provider.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/providers/ollama_provider.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/providers/openai_provider.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/safety/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/safety/safety_guard.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/strands_agent.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/tracing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/utils/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/utils/cost_tracker.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/utils/fix_patterns.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/utils/fix_prompts.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/utils/formatters.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/ai_review/utils/prompts.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/environment/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/environment/check_environment.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/blast_radius_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/check_origin_version.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/check_project_structure.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/cost_analyzer.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/models/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/models/cloudformation_mapper.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/models/cost_models.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/aws_pricing_client.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/base_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/apigateway_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/bedrock_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/cloudwatch_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/dynamodb_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/ebs_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/ec2_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/ecs_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/eip_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/eks_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/elb_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/free_resources_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/kms_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/lambda_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/msk_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/rds_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/s3_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/secrets_manager_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/pricing/providers/vpc_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/cost/unified_cost_report.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/drift/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/drift/drift_ai.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/drift/drift_history.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/drift/drift_policy.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/drift/drift_report.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/drift/drift_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/drift/models.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/risk_assessment.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/project/validate_project_structure.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/rule_merger.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/check/stack_optimizer/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/dashboard/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/dashboard/dashboard_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/dashboard/data_loader.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/document/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/document/create_documentation.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/document/files_content.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/document/files_scan.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/document/iac_documentation.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/document/iac_grunt_graph.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/document/iac_grunt_info.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_stacks/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_stacks/config_generator.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_stacks/remote_config_generation.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_stacks/stack_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_stacks/templates/terragrunt.hcl.j2 +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_template/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_template/config.yaml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_template/create_code.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_template/create_component.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_template/create_component_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_template/create_stacks.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_template/create_template.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_template/files_content.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_template/github_template_loader.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/generate/create_template/project_templates.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/init/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/init/environment/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/init/environment/install_tools.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/init/project/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/init/project/project.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/init/space/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/init/space/example_space.toml +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/init/space/local_registry.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/init/space/space.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/inventory/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/inventory/changelog_parser.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/inventory/inventory_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/inventory/models.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/inventory/module_compatibility_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/inventory/report_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/inventory/schema_compatibility_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/inventory/terragrunt_parser.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/inventory/update_versions.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/inventory/version_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/mcp/README.md +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/mcp/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/mcp/simple_http_server.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/mcp/stdio_server.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/bootstrap/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/bootstrap/bootstrap_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/cleanup/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/cleanup/clean_project.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/cleanup/clean_space.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/convert/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/convert/conversion_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/convert/get_project_data.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/convert/post_init.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/convert/project_converter.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/convert/project_defaults.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/convert/set_project_parameters.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/create_terramate/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/create_terramate/create_terramate_stacks.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/create_terramate/detect_changes_stacks.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/create_terramate/manage_terramate_stacks.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/upgrade/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/project/upgrade/upgrade_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/compliance_review.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/import_reports.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/models.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/report_parser.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/sarif_output.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/scan_history.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/scan_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/scanners/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/scanners/checkov.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/scanners/kics.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/scanners/opa.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/scanners/scan_reports.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/scanners/scanners.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/scanners/terraform_compliance.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/scanners/tfsec.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/services/scan/scanners/trivy.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/templates/reports/inventory_report.html +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/templates/reports/inventory_report.js +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/templates/unified_report_styles.css +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/banner.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/create_compliance_html_reports.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/create_html_reports.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/delete_directory.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/fix_report_styling.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/render_scan_report.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/report_html_utils.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/templates/dashboard.html +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/templates/index_report.html +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/templates/individual_report.html +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/templates/simple_report.html +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/templates/unified_report_styles.css +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/templates/unified_scan_report.html +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/templates/unified_simple_report.html +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/common/templates/xunit_report.html +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/crypto.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/manage_backend_resources/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/manage_backend_resources/manage_backend_resources.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/modules_ops/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/modules_ops/terraform_module_details.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/modules_ops/terraform_modules_fetcher.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/platform_utils.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/process_hcl/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/process_hcl/analyze_terraform_plan.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/process_hcl/graph_manager.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/process_hcl/graph_terragrunt_dependencies.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/process_hcl/process_terraform_file.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/process_hcl/risk_analyzing_terraform_plan.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/sync_workspaces/__init__.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/sync_workspaces/sync_terraform_workspaces.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/sync_workspaces/sync_terragrunt_workspaces.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/template_loader.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/utils/thoth_colors.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/wellcome_banner.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/conftest.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_agentcore_entrypoint.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_aws_pricing_client.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_azure_devops_pr_comments.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_bedrock_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_cdk_language_selection.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_context_steering.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_cost_analyzer.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_cost_models.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_cost_pr_comments.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_dashboard_loading_fix.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_dashboard_service.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_drift.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_drift_detection.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_ec2_pricing.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_github_pr_comments.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_iac_cost_integration.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_inventory_pr_comments.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_kics_scanner.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_mermaid_edge_labels.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_new_cost_providers.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_parallel_scan.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_platform_utils.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_pr_comment_publisher.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_provider_source_url_fix.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_provider_versions.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_scan_pr_comments.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_space_command.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_space_management.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_stack_optimizer.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_template_url_fix.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/tests/test_terragrunt_parser.py +0 -0
- {thothctl-0.18.1 → thothctl-0.18.3}/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.3
|
|
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
|
|
@@ -80,6 +80,47 @@ You can list all available spaces using the `thothctl list spaces` command:
|
|
|
80
80
|
thothctl list spaces
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
+
### Showing Space Details
|
|
84
|
+
|
|
85
|
+
View the full configuration summary of a space:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
thothctl space show my-space
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
This displays:
|
|
92
|
+
- Space name, description, status (active/inactive), and creation date
|
|
93
|
+
- Version control provider
|
|
94
|
+
- Terraform registry and authentication method
|
|
95
|
+
- Orchestration tool
|
|
96
|
+
- Governance policy repository (if configured)
|
|
97
|
+
- Associated projects
|
|
98
|
+
- Credentials status
|
|
99
|
+
|
|
100
|
+
### Activating a Space
|
|
101
|
+
|
|
102
|
+
Set a space as the active context (used as default for new projects):
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
thothctl space activate my-space
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Updating a Space
|
|
109
|
+
|
|
110
|
+
Update an existing space's configuration:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
thothctl space update my-space --vcs-provider github --orchestration-tool terragrunt
|
|
114
|
+
thothctl space update my-space --policy-repo https://github.com/myorg/iac-policies.git
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Available options:
|
|
118
|
+
- `-d, --description` — New description
|
|
119
|
+
- `-vcs, --vcs-provider` — Version control provider (`azure_repos`, `github`, `gitlab`)
|
|
120
|
+
- `-ot, --orchestration-tool` — Orchestration tool (`terragrunt`, `terramate`, `none`)
|
|
121
|
+
- `-tr, --terraform-registry` — Terraform registry URL
|
|
122
|
+
- `-pr, --policy-repo` — Git repository URL or local path for organization-level IaC policies
|
|
123
|
+
|
|
83
124
|
### Deleting a Space
|
|
84
125
|
|
|
85
126
|
You can delete a space using the `thothctl remove space` command:
|
|
@@ -60,6 +60,37 @@ Usage: thothctl list spaces
|
|
|
60
60
|
List all spaces managed by thothctl
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
+
### Show Space Configuration
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Usage: thothctl space show SPACE_NAME
|
|
67
|
+
|
|
68
|
+
Show space configuration summary
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Update Space Configuration
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
Usage: thothctl space update SPACE_NAME [OPTIONS]
|
|
75
|
+
|
|
76
|
+
Update an existing space's configuration
|
|
77
|
+
|
|
78
|
+
Options:
|
|
79
|
+
-d, --description TEXT New description for the space
|
|
80
|
+
-vcs, --vcs-provider [azure_repos|github|gitlab]
|
|
81
|
+
-ot, --orchestration-tool [terragrunt|terramate|none]
|
|
82
|
+
-tr, --terraform-registry TEXT Terraform registry URL
|
|
83
|
+
-pr, --policy-repo TEXT Git URL or path for IaC policies
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Activate a Space
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
Usage: thothctl space activate SPACE_NAME
|
|
90
|
+
|
|
91
|
+
Set a space as the active context
|
|
92
|
+
```
|
|
93
|
+
|
|
63
94
|
### List Projects with Space Information
|
|
64
95
|
|
|
65
96
|
```
|
|
@@ -97,6 +128,14 @@ thothctl list spaces
|
|
|
97
128
|
|
|
98
129
|
This displays a list of all spaces with their project counts.
|
|
99
130
|
|
|
131
|
+
### Showing Space Configuration
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
thothctl space show platform-team
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
This displays a full summary of the space including VCS provider, Terraform registry, orchestration tool, governance policies, associated projects, and credentials status.
|
|
138
|
+
|
|
100
139
|
### Listing Projects with Space Information
|
|
101
140
|
|
|
102
141
|
```bash
|
|
@@ -188,7 +188,7 @@ class CheckProjectIaCCommand(ClickCommand):
|
|
|
188
188
|
|
|
189
189
|
try:
|
|
190
190
|
# Run org policy check if source is provided
|
|
191
|
-
org_violations = self._check_org_policy(directory, project_type, org_policy)
|
|
191
|
+
org_violations = self._check_org_policy(directory, project_type, org_policy, skip_org=kwargs.get('skip_org_policy', False))
|
|
192
192
|
|
|
193
193
|
# Capture stdout to format it nicely
|
|
194
194
|
captured_output = io.StringIO()
|
|
@@ -245,8 +245,12 @@ class CheckProjectIaCCommand(ClickCommand):
|
|
|
245
245
|
self.logger.error(f"Failed to execute IaC project check: {str(e)}")
|
|
246
246
|
raise
|
|
247
247
|
|
|
248
|
-
def _check_org_policy(self, directory: str, project_type: str, org_policy=None):
|
|
248
|
+
def _check_org_policy(self, directory: str, project_type: str, org_policy=None, skip_org: bool = False):
|
|
249
249
|
"""Check project against organizational policy if available."""
|
|
250
|
+
if skip_org:
|
|
251
|
+
self.console.print("[dim]📜 Org policy check skipped (--skip-org-policy)[/dim]")
|
|
252
|
+
return None
|
|
253
|
+
|
|
250
254
|
from .....services.check.org_policy_loader import get_org_policy_path, resolve_rules_dir
|
|
251
255
|
from .....services.check.rule_merger import load_org_rules, merge_with_project, evaluate
|
|
252
256
|
|
|
@@ -355,4 +359,10 @@ cli = CheckProjectIaCCommand.as_click_command(
|
|
|
355
359
|
type=click.Choice(["soft", "hard"], case_sensitive=False),
|
|
356
360
|
default="soft",
|
|
357
361
|
),
|
|
362
|
+
click.option(
|
|
363
|
+
"--skip-org-policy",
|
|
364
|
+
is_flag=True,
|
|
365
|
+
default=False,
|
|
366
|
+
help="Skip organizational policy check (use when project has explicit exceptions)",
|
|
367
|
+
),
|
|
358
368
|
)
|
|
@@ -17,15 +17,15 @@ class UpdateSpaceCommand(ClickCommand):
|
|
|
17
17
|
super().__init__()
|
|
18
18
|
self.ui = CliUI()
|
|
19
19
|
|
|
20
|
-
def validate(self, space_name: str, description, vcs_provider, orchestration_tool, terraform_registry, **kwargs) -> bool:
|
|
20
|
+
def validate(self, space_name: str, description, vcs_provider, orchestration_tool, terraform_registry, policy_repo, **kwargs) -> bool:
|
|
21
21
|
spaces = list_spaces()
|
|
22
22
|
if space_name not in spaces:
|
|
23
23
|
raise ValueError(f"Space '{space_name}' does not exist")
|
|
24
|
-
if not any([description, vcs_provider, orchestration_tool, terraform_registry]):
|
|
25
|
-
raise ValueError("Provide at least one option to update (--description, --vcs-provider, --orchestration-tool, --terraform-registry)")
|
|
24
|
+
if not any([description, vcs_provider, orchestration_tool, terraform_registry, policy_repo]):
|
|
25
|
+
raise ValueError("Provide at least one option to update (--description, --vcs-provider, --orchestration-tool, --terraform-registry, --policy-repo)")
|
|
26
26
|
return True
|
|
27
27
|
|
|
28
|
-
def _execute(self, space_name: str, description, vcs_provider, orchestration_tool, terraform_registry, **kwargs) -> None:
|
|
28
|
+
def _execute(self, space_name: str, description, vcs_provider, orchestration_tool, terraform_registry, policy_repo, **kwargs) -> None:
|
|
29
29
|
config_path = Path.home() / ".thothcf" / "spaces.toml"
|
|
30
30
|
with open(config_path, mode="rt", encoding="utf-8") as fp:
|
|
31
31
|
config = toml.load(fp)
|
|
@@ -40,6 +40,8 @@ class UpdateSpaceCommand(ClickCommand):
|
|
|
40
40
|
space.setdefault("orchestration", {})["tool"] = orchestration_tool
|
|
41
41
|
if terraform_registry is not None:
|
|
42
42
|
space.setdefault("terraform", {})["registry"] = terraform_registry
|
|
43
|
+
if policy_repo is not None:
|
|
44
|
+
space.setdefault("governance", {})["policy_repo"] = policy_repo
|
|
43
45
|
|
|
44
46
|
space["updated_at"] = datetime.now().isoformat()
|
|
45
47
|
|
|
@@ -69,4 +71,9 @@ cli = UpdateSpaceCommand.as_click_command(help="Update an existing space's confi
|
|
|
69
71
|
help="Terraform registry URL",
|
|
70
72
|
default=None,
|
|
71
73
|
),
|
|
74
|
+
click.option(
|
|
75
|
+
"-pr", "--policy-repo",
|
|
76
|
+
help="Git repository URL or local path for organization-level IaC policies",
|
|
77
|
+
default=None,
|
|
78
|
+
),
|
|
72
79
|
)
|
|
@@ -16,12 +16,17 @@ def get_org_policy_path(org_policy: Optional[str] = None) -> Optional[str]:
|
|
|
16
16
|
Resolution:
|
|
17
17
|
1. Explicit --org-policy argument
|
|
18
18
|
2. THOTH_ORG_POLICY env var
|
|
19
|
-
3.
|
|
19
|
+
3. Active space's governance.policy_repo
|
|
20
|
+
4. None (no org policy)
|
|
20
21
|
|
|
21
22
|
Returns:
|
|
22
23
|
Absolute path to cached org policy repo, or None.
|
|
23
24
|
"""
|
|
24
25
|
source = org_policy or os.environ.get("THOTH_ORG_POLICY")
|
|
26
|
+
|
|
27
|
+
if not source:
|
|
28
|
+
source = _get_active_space_policy_repo()
|
|
29
|
+
|
|
25
30
|
if not source:
|
|
26
31
|
return None
|
|
27
32
|
|
|
@@ -36,6 +41,33 @@ def get_org_policy_path(org_policy: Optional[str] = None) -> Optional[str]:
|
|
|
36
41
|
return None
|
|
37
42
|
|
|
38
43
|
|
|
44
|
+
def _get_active_space_policy_repo() -> Optional[str]:
|
|
45
|
+
"""Load policy_repo from the active space configuration."""
|
|
46
|
+
try:
|
|
47
|
+
import toml
|
|
48
|
+
|
|
49
|
+
active_file = Path.home() / ".thothcf" / "active_space"
|
|
50
|
+
if not active_file.exists():
|
|
51
|
+
return None
|
|
52
|
+
|
|
53
|
+
space_name = active_file.read_text(encoding="utf-8").strip()
|
|
54
|
+
if not space_name:
|
|
55
|
+
return None
|
|
56
|
+
|
|
57
|
+
config_path = Path.home() / ".thothcf" / "spaces.toml"
|
|
58
|
+
if not config_path.exists():
|
|
59
|
+
return None
|
|
60
|
+
|
|
61
|
+
config = toml.load(config_path)
|
|
62
|
+
space = config.get("spaces", {}).get(space_name, {})
|
|
63
|
+
policy_repo = space.get("governance", {}).get("policy_repo", "")
|
|
64
|
+
|
|
65
|
+
return policy_repo if policy_repo else None
|
|
66
|
+
except Exception as e:
|
|
67
|
+
logger.debug(f"Failed to load active space policy repo: {e}")
|
|
68
|
+
return None
|
|
69
|
+
|
|
70
|
+
|
|
39
71
|
def resolve_rules_dir(org_path: str) -> Optional[str]:
|
|
40
72
|
"""Get the rules/ directory from an org policy repo."""
|
|
41
73
|
rules_dir = os.path.join(org_path, "rules")
|
|
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.1 → thothctl-0.18.3}/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.18.1 → thothctl-0.18.3}/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.1 → thothctl-0.18.3}/docs/framework/commands/inventory/frameworks/terraform.md
RENAMED
|
File without changes
|
{thothctl-0.18.1 → thothctl-0.18.3}/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.1 → thothctl-0.18.3}/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
|
|
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
|
|
File without changes
|
|
File without changes
|
{thothctl-0.18.1 → thothctl-0.18.3}/src/thothctl/commands/ai_review/commands/configure_decisions.py
RENAMED
|
File without changes
|
|
File without changes
|